:root{

  --black:#0E0E0D;       /* primary page/section background (body, hero, nav) */
  --smoke:#050504;       /* alternate section background for visual separation (why, philosophy, testimonials, select options); matches --hero-black */
  --smoke2:#222220;      /* card/panel background sitting on top of --smoke sections */
  --bone:#E8E2D6;        /* primary text color (body copy, headings, buttons) */
  --bone-dim:#A8A296;    /* secondary/muted text (nav links, subtext, labels) */
  --bronze:#9C7A45;      /* primary accent color (CTA buttons, borders, index numbers) */
  --bronze-light:#C9A766;/* lighter accent for hover states and emphasized/italic text */
  --hairline:#3A3935;    /* subtle border/divider color between sections and elements */


  --hero-black:#050504;        /* darker-than-normal background used only on the hero */
  --white:#F4F1EA;              /* background for "light" alternating sections */
  --ink:#17140F;                /* dark body text used on light sections (replaces --bone) */
  --ink-dim:#5B5448;            /* dark muted text used on light sections (replaces --bone-dim) */
  --hairline-on-light:#D9D3C4;  /* divider color used on light sections (replaces --hairline) */
  --bronze-on-light:#7C5C31;    /* darker bronze for readable accent text on light sections */
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);color:var(--bone);
  font-family:'Inter',sans-serif;
  overflow-x:hidden;font-weight:300;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;}
img{max-width:100%;display:block;}

nav{
  position:fixed;top:0;width:100%;z-index:100;
  background:rgba(14,14,13,0.88);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--hairline);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 6%;height:84px;
}
.nav-logo{
  font-family:'Fraunces',serif;font-size:1.3rem;font-weight:500;
  letter-spacing:0.04em;text-decoration:none;color:var(--bone);
}
.logo-mark{display:block;height:66px;width:auto;}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{
  text-decoration:none;font-size:0.72rem;font-weight:400;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--bone-dim);
  transition:color 0.25s;
}
.nav-links a:hover{color:var(--bronze-light);}
.nav-cta{
  border:1px solid var(--bronze);color:var(--bronze-light);
  padding:0.65rem 1.6rem;font-size:0.72rem;font-weight:500;
  text-decoration:none;letter-spacing:0.15em;text-transform:uppercase;
  transition:background 0.25s,color 0.25s;
}
.nav-cta:hover{background:var(--bronze);color:var(--black);}

.hero{
  min-height:100vh;display:flex;flex-direction:column;justify-content:center;
  align-items:center;text-align:center;padding:140px 6% 80px;
  position:relative;
  background:
    radial-gradient(ellipse at 50% 30%, rgba(156,122,69,0.08) 0%, transparent 60%),
    var(--hero-black); /* was var(--black); revert this line to restore the original hero shade */
}
.hero-eyebrow{
  font-size:0.72rem;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--bronze-light);margin-bottom:2rem;font-weight:400;
}
.hero h1{
  font-family:'Fraunces',serif;font-weight:400;
  font-size:clamp(3rem,8vw,6.5rem);line-height:1.02;
  letter-spacing:-0.01em;max-width:1000px;
  font-style:normal;
}
.hero h1 em{font-style:italic;color:var(--bronze-light);font-weight:300;}
.hero-rule{width:1px;height:70px;background:var(--bronze);margin:2.5rem 0;}
.hero-sub{font-size:1rem;color:var(--bone-dim);line-height:1.9;max-width:520px;font-weight:300;margin-bottom:3rem;}
.hero-actions{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center;}
.btn-bronze,.btn-ghost,.btn{
  font-family:'IBM Plex Mono',monospace;
  font-size:0.78rem;font-weight:500;text-transform:uppercase;letter-spacing:0.12em;
  text-decoration:none;transition:background 0.25s,color 0.25s,border-color 0.25s;
}
.btn-bronze{background:var(--bronze);color:var(--black);padding:1rem 2.4rem;}
.btn-bronze:hover{background:var(--bronze-light);}
.btn-ghost{border:1px solid var(--hairline);color:var(--bone);padding:1rem 2.4rem;}
.btn-ghost:hover{border-color:var(--bronze);color:var(--bronze-light);}
.hero-stats{display:flex;gap:5rem;margin-top:5rem;padding-top:2.5rem;border-top:1px solid var(--hairline);}
.stat-val{font-family:'Fraunces',serif;font-size:2.2rem;font-weight:400;color:var(--bronze-light);}
.stat-lbl{font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--bone-dim);margin-top:0.4rem;}

section{padding:140px 6%;position:relative;}

.section-light{
  background:var(--white);
  color:var(--ink); /* covers text that inherits color rather than referencing var(--bone) directly */
  --black:var(--white);
  --bone:var(--ink);
  --bone-dim:var(--ink-dim);
  --hairline:var(--hairline-on-light);
  --bronze-light:var(--bronze-on-light);
}

.eyebrow{font-size:0.72rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--bronze-light);margin-bottom:1.5rem;}
.sec-title{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1.05;margin-bottom:2rem;max-width:700px;}
.sec-title em{font-style:italic;color:var(--bronze-light);}
.lede{font-size:1.02rem;color:var(--bone-dim);line-height:1.85;max-width:560px;font-weight:300;}

.services{border-top:1px solid var(--hairline);}
.service-list{margin-top:4rem;}
.service-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:2rem;padding:2.8rem 0;border-bottom:1px solid var(--hairline);align-items:baseline;transition:padding-left 0.3s;}
.service-row:hover{padding-left:1rem;}
.service-row:first-child{border-top:1px solid var(--hairline);}
.service-index{font-family:'Fraunces',serif;font-style:italic;font-size:1rem;color:var(--bronze);}
.service-name{font-family:'Fraunces',serif;font-size:1.7rem;font-weight:400;color:var(--bone);}
.service-desc{font-size:0.9rem;color:var(--bone-dim);line-height:1.8;font-weight:300;}

.why{background:var(--smoke);border-top:1px solid var(--hairline);}
.why-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:5rem;align-items:start;}
.why-quote{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(2rem,4vw,3.4rem);line-height:1.18;max-width:12ch;
  color:var(--bone);
}
.why-quote span{color:var(--bronze-light);}
.why-list{display:flex;flex-direction:column;}
.why-item{
  padding-bottom:1.75rem;margin-bottom:1.75rem;
  border-bottom:1px solid var(--hairline);
}
.why-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.why-item h4{
  font-family:'Fraunces',serif;font-weight:400;font-size:1.2rem;margin-bottom:0.8rem;
  border-left:2px solid var(--bronze);padding-left:0.9rem;
}
.why-item p{font-size:0.95rem;color:var(--bone-dim);line-height:1.75;padding-left:0.9rem;}

.philosophy{background:var(--smoke);border-top:1px solid var(--hairline);}
blockquote.pull{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(26px,3.4vw,40px);font-weight:300;max-width:18ch;line-height:1.28;color:var(--bone);margin-bottom:70px;}
blockquote.pull span{color:var(--bronze-light);}
.phil-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);}
.phil-card{background:var(--smoke2);padding:32px 26px;}
.phil-card .eyebrow{margin-bottom:16px;}
.phil-card h4{font-family:'Fraunces',serif;font-weight:400;font-size:19px;margin-bottom:10px;}
.phil-card p{font-size:13.5px;color:var(--bone-dim);}

.areas{border-top:1px solid var(--hairline);text-align:center;}
.areas .eyebrow,.areas .sec-title,.areas .lede{margin-left:auto;margin-right:auto;}
.area-row{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin-top:3.5rem;}
.area-name{font-family:'Fraunces',serif;font-size:1.1rem;font-style:italic;color:var(--bone-dim);padding:0.5rem 1.5rem;border-right:1px solid var(--hairline);transition:color 0.25s;}
.area-name:last-child{border-right:none;}
.area-name:hover{color:var(--bronze-light);}

.testimonials{background:var(--smoke);border-top:1px solid var(--hairline);}
.testi-track{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:4rem;}
.testi{border-top:1px solid var(--bronze);padding-top:1.8rem;}
.testi-featured{grid-column:1 / -1;max-width:none;width:100%;}
.testi-text{font-family:'Fraunces',serif;font-style:italic;font-size:1.15rem;line-height:1.6;color:var(--bone);margin-bottom:1.5rem;font-weight:300;}
.testi-detail{font-size:0.95rem;line-height:1.8;color:var(--bone-dim);margin-bottom:1rem;}
.testi-author{font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--bronze-light);}
.testi-loc{font-size:0.75rem;color:var(--bone-dim);margin-top:0.2rem;}
.testimonial-actions{display:flex;justify-content:center;margin-top:2.5rem;}
.testimonial-actions .btn-ghost{display:inline-flex;align-items:center;justify-content:center;}

.testimonials-archive{padding:120px 6% 80px;}
.archive-intro{max-width:760px;margin:0 auto 3rem;}
.archive-list{display:grid;gap:2rem;margin-top:2rem;}
.full-testimonial{padding:2rem;border:1px solid var(--hairline);background:rgba(255,255,255,0.015);}
.full-testimonial .testi-author{margin-top:1.25rem;}
.full-testimonial .testi-loc{margin-top:0.35rem;}
.full-testimonial p + p{margin-top:1rem;}
.testimonials-archive .nav-cta{display:inline-block;margin-top:1.5rem;}

.contact{border-top:1px solid var(--hairline);}
.contact-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:6rem;margin-top:4rem;}
.c-detail{margin-top:1.6rem;}
.c-detail .eyebrow{margin-bottom:0.45rem;}
.c-detail a,.c-detail span{font-size:1rem;line-height:1.7;text-decoration:none;}
.c-detail a{border-bottom:1px solid var(--hairline);padding-bottom:2px;}
.c-detail a:hover{border-color:var(--bronze);}
.form-stack{display:flex;flex-direction:column;gap:1.6rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;}
label{display:block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-dim);margin-bottom:8px;}
input,select,textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--hairline);color:var(--bone);font-family:'Inter',sans-serif;font-size:15px;padding:10px 2px;font-weight:300;}
select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%23C9C0AE'/></svg>");background-repeat:no-repeat;background-position:right 4px center;}
select option{background:var(--smoke);color:var(--bone);}
textarea{resize:vertical;min-height:100px;}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--bronze);}
input::placeholder,textarea::placeholder{color:var(--bone-dim);}
.submit-row{margin-top:10px;}
button.submit,.submit-btn{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:var(--bronze);color:var(--black);border:none;padding:15px 30px;cursor:pointer;transition:background .2s;}
button.submit:hover,.submit-btn:hover{background:var(--bronze-light);}
footer{border-top:1px solid var(--hairline);padding:34px 6%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
.footer-logo{font-family:'Fraunces',serif;font-size:1.1rem;color:var(--bone);}
.logo-mark-footer{height:42px;}
.footer-copy{font-size:0.72rem;color:var(--bone-dim);letter-spacing:0.04em;}
.footer-links{display:flex;gap:22px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
.footer-links a{text-decoration:none;color:var(--bone-dim);}
.footer-links a:hover{color:var(--bronze-light);}

@media (max-width:900px){.why-grid,.contact-grid{grid-template-columns:1fr;gap:3rem;}.phil-grid{grid-template-columns:1fr 1fr;}.service-row{grid-template-columns:1fr;gap:0.8rem;}.testi-track{grid-template-columns:1fr;gap:2.5rem;}.area-name{border-right:none;border-bottom:1px solid var(--hairline);width:100%;}}
@media (max-width:560px){.phil-grid{grid-template-columns:1fr;}}
@media (max-width:820px){nav .nav-links{display:none;}}
@media (max-width:768px){nav{padding:0 5%;height:70px;}.logo-mark{height:62px;}section{padding:90px 5%;}.hero{padding:110px 5% 60px;}.hero-stats{gap:2.5rem;flex-wrap:wrap;justify-content:center;}.form-row{grid-template-columns:1fr;}}
