/* ── BRAND TOKENS ── */
:root {
  --taupe:        #c4b9ad;
  --silver:       #d3d3d3;
  --ink:          #2b2a2a;
  --ivory:        #f8f5f1;
  --ivory-warm:   #f3ede6;
  --ivory-deep:   #ede6dd;
  --silver-light: #ebebeb;
  --taupe-dark:   #a89b8c;
  --taupe-mid:    #b8ad9f;
  --taupe-pale:   #ddd5cc;
  --text-body:    #5a534c;
  --text-muted:   #9a9087;
  --border:       rgba(196,185,173,0.28);
  --border-mid:   rgba(196,185,173,0.48);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;}
body{
  font-family:'Josefin Sans',sans-serif;
  font-weight:300;
  letter-spacing:.03em;
  background:var(--ivory);
  color:#1e1d1c;
  overflow-x:hidden;
}

.nav-logo-combo{display:flex;align-items:center;gap:14px;text-decoration:none;}
.nav-icon{height:44px;width:auto;display:block;flex-shrink:0;}
.nav-text-stack{display:flex;flex-direction:column;gap:2px;}
.nav-name{font-family:'Josefin Sans',sans-serif;font-size:1rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);line-height:1;}
.nav-sub{font-family:'Josefin Sans',sans-serif;font-size:.48rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:#8f7a67;line-height:1;}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 64px;
  background:rgba(248,245,241,0.94);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border);
}
.nav-logo img{height:22px;display:block;}
.nav-links{display:flex;gap:48px;list-style:none;}
.nav-links a{
  font-family:'Josefin Sans',sans-serif;font-weight:200;
  font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;
  text-decoration:none;color:var(--text-body);
  position:relative;padding-bottom:3px;transition:color .3s;
}
.nav-links a::after{content:'';position:absolute;bottom:0;left:50%;right:50%;height:1px;background:var(--taupe);transition:left .4s,right .4s;}
.nav-links a:hover{color:var(--ink);}
.nav-links a:hover::after{left:0;right:0;}

/* ── HERO ── */
.hero{
  display:grid;grid-template-columns:46fr 54fr;
  min-height:100vh;overflow:hidden;
}
.hero-l{
  background:var(--ivory-warm);
  display:flex;flex-direction:column;justify-content:center;
  padding:0 72px;
  position:relative;
}
.hero-l::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 50% at 15% 85%,rgba(196,185,173,.18) 0%,transparent 70%);
  pointer-events:none;
}
.h-eye{
  display:flex;align-items:center;gap:16px;
  font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;
  color:#8f7a67;margin-bottom:32px;font-weight:400;
}
.h-eye-line{width:36px;height:1px;background:var(--taupe);flex-shrink:0;}
.h-title{
  font-family:'EB Garamond',serif;
  font-size:clamp(3rem,4.6vw,5.4rem);
  font-weight:400;line-height:1.4;
  color:var(--ink);
}
.h-title em{font-style:italic;color:var(--taupe-dark);}
.h-sub{
  margin-top:26px;font-size:.94rem;line-height:2;
  color:#4a4540;max-width:390px;font-weight:300;
}
.h-ctas{
  margin-top:48px;display:flex;align-items:center;gap:28px;
}
.btn-solid{
  display:inline-block;text-decoration:none;
  font-family:'Josefin Sans',sans-serif;font-weight:200;
  font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;
  padding:16px 42px;background:var(--ink);color:var(--ivory);
  transition:background .4s,transform .2s;
}
.btn-solid:hover{background:#3d3a36;transform:translateY(-1px);}
.btn-link{
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:#8f7a67;text-decoration:none;font-weight:400;
  display:flex;align-items:center;gap:9px;transition:color .3s;
}
.btn-link span{transition:transform .3s;}
.btn-link:hover{color:var(--ink);}
.btn-link:hover span{transform:translateX(4px);}

.hero-r{position:relative;overflow:hidden;background:var(--ivory-deep);}
.hero-r img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.hero-r-cap{
  position:absolute;bottom:40px;right:40px;
  font-size:.46rem;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(43,42,42,.4);writing-mode:vertical-rl;
}

@keyframes rUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

/* ── MARQUEE ── */
.mq{border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;padding:15px 0;background:var(--ivory);}
.mq-track{display:flex;white-space:nowrap;animation:mqScroll 38s linear infinite;}
.mq-item{flex-shrink:0;padding:0 48px;font-family:'Josefin Sans',sans-serif;font-weight:300;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:#8f7a67;display:flex;align-items:center;gap:48px;}
.mq-item::after{content:'✦';font-size:.36rem;color:var(--taupe-pale);}
@keyframes mqScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(26px);transition:opacity .95s ease,transform .95s cubic-bezier(.25,.46,.45,.94);}
.rv.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.32s;}.d4{transition-delay:.44s;}.d5{transition-delay:.56s;}

/* ── SECTION LABEL ── */
.lbl{display:flex;align-items:center;gap:14px;font-family:'Josefin Sans',sans-serif;font-size:.62rem;font-weight:400;letter-spacing:.34em;text-transform:uppercase;color:#8f7a67;margin-bottom:14px;}
.lbl::before{content:'';width:26px;height:1px;background:var(--taupe);flex-shrink:0;}
.hdg{font-family:'EB Garamond',serif;font-size:clamp(2.2rem,3.6vw,4rem);font-weight:400;line-height:1.1;color:var(--ink);}
.hdg em{font-style:italic;}

/* ── ABOUT ── */
.about{padding:140px 64px;display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;background:var(--ivory);}
.about-frame{aspect-ratio:3/4;overflow:hidden;position:relative;}
.about-frame img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease;}
.about-frame:hover img{transform:scale(1.04);}
.about-box{position:absolute;bottom:-26px;right:-26px;width:160px;height:160px;border:1px solid var(--border-mid);z-index:-1;}
.about-badge{position:absolute;bottom:-26px;right:-26px;background:var(--ink);width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2;}
.about-badge-bottom{position:absolute;bottom:0;left:0;right:0;background:rgba(43,42,42,0.82);backdrop-filter:blur(8px);padding:18px 28px;display:flex;align-items:center;gap:16px;}
.about-badge-bottom .ab-num{font-family:'EB Garamond',serif;font-size:2rem;font-weight:400;line-height:1;color:var(--taupe);}
.about-badge-bottom .ab-lbl{font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(248,245,241,.55);line-height:1.5;}
.ab-num{font-family:'EB Garamond',serif;font-size:2.6rem;font-weight:400;line-height:1;color:var(--taupe);}
.ab-lbl{font-size:.46rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(248,245,241,.45);margin-top:6px;line-height:1.6;}
.about-text{margin-top:28px;font-size:.96rem;line-height:2.05;color:#3e3830;letter-spacing:.02em;font-weight:300;}
.about-text p+p{margin-top:16px;}
.about-rule{width:40px;height:1px;background:var(--taupe);margin:36px 0;}
.about-creds{display:grid;grid-template-columns:1fr 1fr;gap:24px 36px;}
.cr-h{font-size:.58rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:#8f7a67;margin-bottom:7px;}
.cr-b{font-size:.82rem;line-height:1.85;color:#5a5048;}

/* ── PHILOSOPHY ── */
.phil{background:var(--ink);padding:120px 64px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.phil-q{font-family:'EB Garamond',serif;font-size:clamp(1.7rem,2.8vw,2.8rem);font-weight:400;font-style:italic;line-height:1.55;color:var(--ivory);}
.phil-q::before{content:'"  ';font-size:4.5rem;line-height:.7;color:rgba(196,185,173,.2);font-style:normal;display:block;margin-bottom:10px;}
.phil-r{border-left:1px solid rgba(196,185,173,.15);padding-left:72px;}
.phil-body{font-size:.9rem;line-height:2.05;color:rgba(248,245,241,.68);font-weight:300;}
.phil-body p+p{margin-top:16px;}
.phil-attr{margin-top:36px;font-size:.5rem;letter-spacing:.26em;text-transform:uppercase;color:#8f7a67;}
/* logo in phil */
.phil-logo{margin-bottom:40px;opacity:.25;}
.phil-logo img{height:16px;}

/* ── SERVICES ── */
.svcs{padding:140px 64px;background:var(--ivory-warm);}
.svcs-hd{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:80px;}
.svcs-intro-txt{font-size:.92rem;line-height:2.05;color:#3e3830;max-width:400px;margin-top:20px;font-weight:300;}
.svcs-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border-mid);border-left:1px solid var(--border-mid);}
.stile{border-bottom:1px solid var(--border-mid);border-right:1px solid var(--border-mid);padding:48px 40px;position:relative;overflow:hidden;transition:background .5s;cursor:default;}
.stile::after{content:'';position:absolute;inset:0;background:var(--ivory-deep);opacity:0;transition:opacity .5s;}
.stile:hover::after{opacity:1;}
.stile-in{position:relative;z-index:1;}
.t-num{font-family:'EB Garamond',serif;font-size:3.8rem;font-weight:400;color:rgba(196,185,173,.18);line-height:1;margin-bottom:22px;transition:color .4s;}
.stile:hover .t-num{color:rgba(196,185,173,.32);}
.t-name{font-family:'EB Garamond',serif;font-size:1.4rem;font-weight:400;line-height:1.2;color:var(--ink);margin-bottom:14px;}
.t-line{width:24px;height:1px;background:var(--taupe);margin-bottom:18px;transition:width .4s;}
.stile:hover .t-line{width:40px;}
.t-desc{font-size:.84rem;line-height:1.95;color:#3e3830;font-weight:300;}
.t-tag{margin-top:24px;font-size:.58rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:#8f7a67;opacity:0;transition:opacity .3s;}
.stile:hover .t-tag{opacity:1;}

/* ── GALLERY ── */
.gal{background:var(--ink);padding-bottom:3px;}
.gal-hd{padding:96px 64px 56px;display:flex;justify-content:space-between;align-items:flex-end;}
.gal-note{font-size:.76rem;line-height:1.85;color:rgba(211,211,211,.55);max-width:260px;text-align:right;font-style:italic;font-weight:300;}
.gal-grid{display:grid;grid-template-columns:3fr 2fr 2fr;grid-template-rows:420px 340px;gap:3px;}
.gc{position:relative;overflow:hidden;background:var(--ink);}
.gc.tall{grid-row:1/3;}
.gc img{width:100%;height:100%;object-fit:cover;display:block;opacity:.78;transition:transform .9s ease,opacity .5s;}
.gc:hover img{transform:scale(1.05);opacity:.92;}
.gc-ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(145deg,#252422 0%,#1c1b1a 100%);}
.gc-ph-ring{width:40px;height:40px;border-radius:50%;border:1px solid rgba(196,185,173,.15);display:flex;align-items:center;justify-content:center;}
.gc-ph-ring::after{content:'✦';font-size:.4rem;color:rgba(196,185,173,.3);}
.gc-ph-txt{font-size:.44rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(196,185,173,.2);text-align:center;line-height:2;}
.gc-lbl{position:absolute;bottom:18px;left:22px;font-size:.44rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(248,245,241,.3);}
/* logo watermark in gallery header */
.gal-logo{opacity:.12;}
.gal-logo img{height:14px;filter:brightness(0) invert(1);}

/* ── EXPERIENCE ── */
.exp{padding:140px 64px;background:var(--ivory);display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;}
.exp-frame{aspect-ratio:4/5;overflow:hidden;position:relative;}
.exp-frame img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease;}
.exp-frame:hover img{transform:scale(1.04);}
.exp-float{position:absolute;bottom:-20px;left:-20px;background:var(--ivory-deep);padding:28px 32px;border:1px solid var(--border-mid);}
.exp-float-txt{font-family:'EB Garamond',serif;font-size:1rem;font-style:italic;line-height:1.55;color:var(--ink);max-width:190px;}
.pillars{margin-top:40px;display:flex;flex-direction:column;}
.pill{padding:22px 0;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:24px;transition:padding-left .3s;cursor:default;}
.pill:first-child{border-top:1px solid var(--border);}
.pill:hover{padding-left:7px;}
.pill-num{font-family:'EB Garamond',serif;font-size:1.2rem;color:var(--taupe-pale);flex-shrink:0;line-height:1.2;}
.pill-h{font-family:'Josefin Sans',sans-serif;font-weight:400;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#1e1d1c;margin-bottom:6px;}
.pill-d{font-size:.86rem;line-height:1.95;color:#4a4540;font-weight:300;}
.exp-cta{margin-top:44px;}

/* ── TESTIMONIALS ── */
.testi{background:var(--ivory-deep);padding:120px 64px;}
.testi-in{max-width:860px;margin:0 auto;text-align:center;}
.testi-in .lbl{justify-content:center;}
.testi-in .lbl::before{display:none;}
.testi-in .lbl::after{content:'';width:26px;height:1px;background:var(--taupe);flex-shrink:0;}
.t-items{margin-top:64px;}
.t-item{display:none;flex-direction:column;align-items:center;gap:24px;animation:tFade .6s ease;}
.t-item.on{display:flex;}
@keyframes tFade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.t-stars{display:flex;gap:5px;color:var(--taupe);}
.t-body{font-family:'EB Garamond',serif;font-size:clamp(1.2rem,2.1vw,1.75rem);font-style:italic;line-height:1.7;color:var(--ink);max-width:680px;}
.t-auth{font-size:.6rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:#8f7a67;}
.t-dots{display:flex;justify-content:center;gap:9px;margin-top:48px;}
.t-dot{width:5px;height:5px;border-radius:50%;background:var(--silver);border:none;transition:background .3s,transform .3s;cursor:pointer;}
.t-dot.on{background:var(--taupe);transform:scale(1.4);}

/* ── POST-OP ── */
.postop{background:var(--ink);display:grid;grid-template-columns:1fr 1fr;min-height:640px;}
.postop-img{position:relative;overflow:hidden;}
.postop-img img{width:100%;height:100%;object-fit:cover;opacity:.65;transition:transform .9s ease;}
.postop-img:hover img{transform:scale(1.04);opacity:.75;}
.postop-c{padding:96px 80px;display:flex;flex-direction:column;justify-content:center;}
.postop-c .lbl{color:#d4c0ae;}
.postop-c .lbl::before{background:var(--taupe);}
.postop-c .hdg{color:var(--ivory);margin-top:6px;}
.postop-body{margin-top:24px;font-size:.88rem;line-height:2.05;color:rgba(248,245,241,.68);font-weight:300;}
.postop-list{margin-top:32px;list-style:none;display:flex;flex-direction:column;gap:12px;}
.postop-list li{display:flex;align-items:center;gap:14px;font-size:.84rem;color:rgba(248,245,241,.82);font-weight:300;}
.postop-list li::before{content:'';width:16px;height:1px;background:var(--taupe);flex-shrink:0;}
.postop-cta{margin-top:44px;}
.btn-taupe{display:inline-block;text-decoration:none;font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;padding:15px 40px;background:var(--taupe);color:var(--ink);transition:background .35s;}
.btn-taupe:hover{background:var(--taupe-pale);}

/* ── AREAS ── */
.areas{padding:130px 64px;background:var(--ivory-warm);display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;}
.area-cards{display:flex;flex-direction:column;gap:3px;}
.area-c{background:var(--ivory);padding:28px 34px;border:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;transition:border-color .3s,transform .3s,background .3s;cursor:default;}
.area-c:hover{border-color:var(--taupe);transform:translateX(5px);background:var(--ivory-deep);}
.area-name{font-family:'EB Garamond',serif;font-size:1.45rem;font-weight:400;color:#1e1d1c;}
.area-sub{font-size:.58rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:#8f7a67;margin-top:4px;}
.area-arr{color:var(--taupe);font-size:1rem;opacity:.5;transition:opacity .3s;}
.area-c:hover .area-arr{opacity:1;}
.areas-txt{font-size:.92rem;line-height:2.05;color:#3e3830;margin-top:26px;font-weight:300;}
.areas-txt p+p{margin-top:14px;}

/* ── FINAL CTA ── */
.fcta{padding:150px 64px;background:var(--ivory);text-align:center;position:relative;overflow:hidden;}
.fcta::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(196,185,173,.08) 0%,transparent 70%);pointer-events:none;}
.fcta-logo{margin-bottom:44px;}
.fcta-logo img{height:24px;margin:0 auto;display:block;}
.fcta-eyebrow{font-size:.6rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:#8f7a67;margin-bottom:24px;display:block;}
.fcta-h{font-family:'EB Garamond',serif;font-size:clamp(2.2rem,4.5vw,5rem);font-weight:400;line-height:1.08;color:var(--ink);}
.fcta-h em{font-style:italic;display:block;}
.fcta-sub{margin:24px auto 0;max-width:460px;font-size:.92rem;line-height:2.05;color:#3e3830;font-weight:300;}
.fcta-btns{margin-top:52px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap;}
.btn-outline{display:inline-block;text-decoration:none;font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;padding:15px 40px;border:1px solid var(--ink);color:var(--ink);transition:background .35s,color .35s;}
.btn-outline:hover{background:var(--ink);color:var(--ivory);}
.fcta-note{margin-top:32px;font-size:.6rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:#8f7a67;}

/* ── FOOTER ── */
footer{background:var(--ink);padding:80px 64px 44px;}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;padding-bottom:56px;border-bottom:1px solid rgba(196,185,173,.1);}
.f-logo-wrap{margin-bottom:18px;}
.f-logo-wrap img{height:18px;opacity:.55;}
.f-desc{font-size:.78rem;line-height:1.95;color:rgba(211,211,211,.5);max-width:250px;font-weight:300;}
.f-col-h{font-size:.5rem;letter-spacing:.26em;text-transform:uppercase;color:var(--taupe-mid);margin-bottom:22px;}
.f-links{list-style:none;display:flex;flex-direction:column;gap:12px;}
.f-links li{font-size:.78rem;color:rgba(211,211,211,.55);font-weight:300;}
.f-links a{color:inherit;text-decoration:none;transition:color .3s;}
.f-links a:hover{color:rgba(248,245,241,.75);}
.f-bot{margin-top:36px;display:flex;justify-content:space-between;align-items:center;}
.f-copy{font-size:.5rem;letter-spacing:.1em;color:rgba(211,211,211,.18);}
.f-lic{font-size:.46rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(211,211,211,.15);}

/* ── MOBILE ── */
@media(max-width:960px){
  /* Nav */
  nav{padding:14px 16px;}
  .nav-links{display:none;}
  .nav-name{font-size:.8rem;letter-spacing:.24em;}
  .nav-sub{font-size:.4rem;}
  .nav-icon{height:36px;}
  nav .btn-solid{font-size:.48rem !important;padding:10px 20px !important;white-space:nowrap;}
  /* Hero */
  .hero{grid-template-columns:1fr;}
  .hero-r{height:52vh;}
  .hero-l{padding:90px 28px 48px;}
  .h-eye{font-size:.46rem;gap:8px;margin-bottom:20px;letter-spacing:.18em;}
  .h-eye-line{display:none;}
  .h-title{font-size:clamp(2.4rem,8vw,3.2rem);line-height:1.3;}
  .h-sub{font-size:.88rem;margin-top:20px;}
  .h-ctas{margin-top:32px;}
  .hero-r-cap{display:none;}
  /* Sections */
  .about,.exp,.phil,.areas{grid-template-columns:1fr;gap:56px;padding:88px 28px;}
  .about-creds{grid-template-columns:1fr;}
  .postop{grid-template-columns:1fr;}
  .postop-img{height:50vh;}
  .postop-c{padding:60px 28px;}
  .svcs,.testi,.fcta{padding:88px 28px;}
  .svcs-hd{flex-direction:column;gap:20px;align-items:flex-start;}
  .svcs-grid{grid-template-columns:1fr;border:none;gap:1px;}
  .stile{border:1px solid var(--border-mid);}
  /* Gallery */
  .gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 240px;}
  .gc.tall{grid-row:auto;}
  .gal-hd{padding:72px 28px 40px;flex-direction:column;gap:18px;align-items:flex-start;}
  .gal-note{text-align:left;}
  /* Philosophy */
  .phil-r{border-left:none;padding-left:0;border-top:1px solid rgba(196,185,173,.12);padding-top:44px;}
  /* Experience */
  .exp-float{display:none;}
  /* About */
  .about-badge{display:none;}
  .about-box{display:none;}
  /* Footer */
  footer{padding:60px 28px 36px;}
  .f-grid{grid-template-columns:1fr 1fr;gap:36px;}
  .f-bot{flex-direction:column;gap:12px;text-align:center;}
  /* CTA */
  .fcta{padding:72px 28px;}
}

/* ── CONTACT ── */
.contact{padding:140px 64px 120px;display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start;background:var(--ivory);min-height:100vh;}
.contact-body{margin-top:28px;font-size:.94rem;line-height:2.05;color:#3e3830;font-weight:300;max-width:400px;}
.contact-alt{margin-top:48px;}
.contact-alt-h{font-size:.58rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:#8f7a67;margin-bottom:16px;}
.contact-alt-links{display:flex;flex-direction:column;gap:10px;}
.contact-link{font-size:.88rem;color:var(--ink);text-decoration:none;font-weight:300;transition:color .3s;}
.contact-link:hover{color:#8f7a67;}
.contact-form{display:flex;flex-direction:column;gap:28px;}
.form-group{display:flex;flex-direction:column;gap:8px;}
.form-group label{font-size:.58rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:#8f7a67;}
.form-opt{font-weight:300;letter-spacing:.14em;color:var(--text-muted);}
.form-group input,.form-group textarea{
  font-family:'Josefin Sans',sans-serif;font-size:.88rem;font-weight:300;
  padding:14px 0;background:none;border:none;border-bottom:1px solid var(--border-mid);
  color:var(--ink);outline:none;transition:border-color .3s;
}
.form-group input:focus,.form-group textarea:focus{border-color:var(--taupe);}
.form-group textarea{resize:vertical;min-height:120px;}
.contact-form .btn-solid{align-self:flex-start;}
.form-msg{padding:16px 0;font-size:.88rem;font-weight:300;}
.form-msg-ok{color:#4a7c59;}
.form-msg-err{color:#9c4040;}

@media(max-width:960px){
  .contact{grid-template-columns:1fr;gap:56px;padding:120px 28px 88px;}
}

/* ── TREATMENT TOGGLE ── */
.toggle-nav{
  display:flex; align-items:center; gap:0;
  margin-bottom:72px; border-bottom:1px solid var(--border-mid);
  position:relative;
}
.toggle-btn{
  font-family:'Josefin Sans',sans-serif;
  font-size:.72rem; font-weight:300; letter-spacing:.32em; text-transform:uppercase;
  color:var(--text-muted); background:none; border:none;
  padding:0 0 20px; margin-right:52px;
  position:relative; cursor:pointer;
  transition:color .4s;
}
.toggle-btn::after{
  content:''; position:absolute; bottom:-1px; left:0; right:0;
  height:2px; background:#8f7a67;
  transform:scaleX(0); transform-origin:left;
  transition:transform .5s cubic-bezier(.76,0,.24,1);
}
.toggle-btn.active{ color:#1e1d1c; font-weight:400; }
.toggle-btn.active::after{ transform:scaleX(1); }
.toggle-btn:hover{ color:#3e3830; }

.treatment-panel{ display:none; }
.treatment-panel.active{ display:block; animation:panelIn .5s ease; }
@keyframes panelIn{
  from{ opacity:0; transform:translateY(14px); }
  to  { opacity:1; transform:translateY(0); }
}