/* Aura — homepage (Kintsugi funnel), dark espresso. Loaded only on the front page,
   AFTER base.css, so these win over the light base for the homepage. */

body.home{background:var(--espresso);color:#cdb9a0}
.home .page{position:relative;overflow:hidden}
.home main{position:relative}

/* homepage recolours base chrome tokens for the dark ground */
.home .eyebrow{color:var(--gold)}
.home .gold{color:var(--gold-lt);font-style:italic}

/* ---- global gold seam threading the page ---- */
.seam-track{position:absolute;top:0;bottom:0;left:50%;width:1.5px;transform:translateX(-50%);
  background:transparent;z-index:0}
.seam-fill{position:absolute;top:0;left:0;width:100%;height:0;
  background:linear-gradient(var(--gold-lt),var(--gold));box-shadow:0 0 5px rgba(191,161,95,.2);opacity:.55}
.seam-node{position:absolute;left:50%;top:0;width:11px;height:11px;
  transform:translate(-50%,-50%) rotate(45deg);background:var(--gold-lt);z-index:4;opacity:0;
  box-shadow:0 0 22px 5px rgba(191,161,95,.55);transition:opacity .55s ease}
.seam-node.lit{opacity:1}

/* Horizontal padding ONLY — a `padding:` shorthand here outranks the per-section
   rules below (.diff, .treat…) and would wipe all their vertical spacing. */
.home section{position:relative;z-index:2;padding-left:40px;padding-right:40px}
.home .wrap{max-width:1080px;margin:0 auto}
body.home h2.sec{font-family:var(--display);font-weight:400;color:var(--cream);
  font-size:clamp(34px,5.2vw,66px);line-height:1.05;letter-spacing:.01em;text-wrap:balance}

.reveal{opacity:0;transform:translateY(26px)}
.reveal.in{opacity:1;transform:none;transition:opacity .9s ease,transform 1s cubic-bezier(.16,.8,.26,1)}

/* ---- HERO ---- */
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;padding:9vh 40px}
.hero .inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.hero-smile{width:min(360px,74vw);height:auto;display:block;margin:18px auto 2px}
.h-eyebrow{margin-bottom:30px;opacity:0;transform:translateY(10px);animation:aRise 1s ease .3s forwards}
body.home h1.k-title{font-family:var(--display);font-weight:400;color:var(--cream);
  font-size:clamp(42px,7.2vw,94px);line-height:1.06;letter-spacing:.01em;max-width:15ch;text-wrap:balance}
h1.k-title .l{display:block;overflow:hidden;padding:.08em 0 .2em}
h1.k-title .l span{display:block;transform:translateY(105%);
  animation:aReveal 1.15s cubic-bezier(.16,.8,.26,1) forwards}
h1.k-title .l:nth-child(1) span{animation-delay:.5s}
h1.k-title .l:nth-child(2) span{animation-delay:.66s}
.k-sub{margin:32px auto 0;max-width:50ch;font-size:clamp(15px,1.5vw,18px);color:#cdb9a0;
  opacity:0;transform:translateY(12px);animation:aRise 1s ease 1.1s forwards}
.hero .cta{opacity:0;transform:translateY(12px);animation:aRise 1s ease 1.3s forwards}
.hero .cta .btn-ghost{color:var(--gold-lt);border-color:var(--gold)}
.hero .cta .btn-ghost:hover{background:rgba(191,161,95,.12);color:var(--gold-lt)}
.trust{margin-top:46px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center;
  font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:#9c856c;
  opacity:0;animation:aRise 1.2s ease 1.55s forwards}
.trust b{color:var(--gold);font-weight:600}.trust i{color:var(--gold-dk);font-style:normal}

/* ---- MIRROR ---- */
.mirror{padding-top:clamp(90px,22vh,220px);padding-bottom:clamp(80px,20vh,200px);text-align:center}
.mirror .q{font-family:var(--display);color:var(--cream);font-size:clamp(30px,4.6vw,58px);
  line-height:1.14;max-width:17ch;margin:0 auto}
.mirror .subs{margin:30px auto 0;max-width:34ch;font-size:18px;color:#9c856c}
.mirror .turn{margin-top:64px;font-family:var(--display);font-style:italic;color:var(--gold-lt);
  font-size:clamp(26px,3.6vw,40px)}

/* ---- DIFFERENCE ---- */
.diff{padding-top:clamp(72px,16vh,180px);padding-bottom:clamp(64px,14vh,150px)}
.diff .head{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);
  align-items:center;margin-bottom:60px}
.diff .head .eyebrow{display:block;margin-bottom:20px}
.diff .head-text{max-width:26ch}
.diff .head-note{margin:26px 0 0;max-width:44ch;font-size:15.5px;line-height:1.75;color:#9c856c}
.diff .head-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}
.diff .head-art svg{width:min(300px,80%);height:auto;display:block;
  filter:drop-shadow(0 10px 34px rgba(191,161,95,.18));animation:kFloat 12s ease-in-out infinite}
.diff .head-art .kseam{opacity:.95}
.diff .head-art .kfleck{opacity:.9;animation:kGlow 4.5s ease-in-out infinite}
.diff .head-art .kfleck:nth-of-type(2){animation-delay:.9s}
.diff .head-art .kfleck:nth-of-type(3){animation-delay:1.8s}
.diff .head-art .kfleck:nth-of-type(4){animation-delay:2.7s}
.diff .head-art-cap{margin:18px 0 0;font-family:var(--sans);font-size:11px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold-dk)}
@keyframes kFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(1.2deg)}}
@keyframes kGlow{0%,100%{opacity:.55}50%{opacity:1}}
@media (max-width:860px){
  .diff .head{grid-template-columns:1fr;gap:40px}
  .diff .head-text{max-width:none}
  .diff .head-art{order:-1}
  .diff .head-art svg{width:min(220px,60%)}
}
@media (prefers-reduced-motion:reduce){
  .diff .head-art svg,.diff .head-art .kfleck{animation:none}
}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;
  background:rgba(191,161,95,.16);border:1px solid rgba(191,161,95,.16)}
.tile{background:var(--espresso);padding:38px 32px}
.tile .n{font-family:var(--sans);font-size:11px;letter-spacing:.2em;color:var(--gold);
  text-transform:uppercase;font-weight:600}
.tile h3{font-family:var(--display);font-weight:400;color:var(--cream);font-size:26px;margin:16px 0 12px}
.tile p{font-size:15px;color:#cdb9a0}

/* ---- TREATMENTS ---- */
.treat{padding-top:clamp(72px,16vh,180px);padding-bottom:clamp(64px,14vh,150px)}
.treat .head{margin-bottom:40px}
.treat .head .eyebrow{display:block;margin-bottom:20px}
.trow{display:flex;align-items:baseline;gap:28px;padding:30px 8px;border-top:1px solid rgba(191,161,95,.16);
  cursor:pointer;text-decoration:none;transition:padding-left .3s ease}
.trow:last-child{border-bottom:1px solid rgba(191,161,95,.16)}
.trow:hover{padding-left:22px}
.trow .idx{font-family:var(--sans);font-size:12px;color:var(--gold-dk);letter-spacing:.1em;min-width:34px}
.trow .name{font-family:var(--display);color:var(--cream);font-size:clamp(26px,3.4vw,42px);
  flex:1;transition:color .3s ease}
.trow:hover .name{color:var(--gold-lt)}
.trow .desc{color:#9c856c;font-size:15px;max-width:28ch;text-align:right}
.trow .arw{color:var(--gold);font-size:22px;transition:transform .3s ease}
.trow:hover .arw{transform:translateX(8px)}
@media(max-width:720px){.trow .desc{display:none}}

/* ---- PROOF: mend slider ---- */
.proof{padding-top:clamp(72px,16vh,180px);padding-bottom:clamp(64px,14vh,150px);text-align:center}
.proof .head{margin-bottom:48px}
.proof .head .eyebrow{display:block;margin-bottom:20px}
.mend{max-width:760px;margin:0 auto;position:relative;border:1px solid rgba(191,161,95,.28);
  border-radius:14px;overflow:hidden;background:#20140c;touch-action:none;user-select:none}
.mend svg{display:block;width:100%;height:auto}
.mend .lbl{position:absolute;top:16px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#9c856c}
.mend .lbl.b{left:20px}.mend .lbl.a{right:20px;color:var(--gold-lt)}
.mend .handle{position:absolute;top:0;bottom:0;width:2px;background:var(--gold);left:50%;
  box-shadow:0 0 12px rgba(191,161,95,.6)}
.mend .handle::after{content:"";position:absolute;top:50%;left:50%;width:38px;height:38px;
  transform:translate(-50%,-50%);border:1.5px solid var(--gold);border-radius:50%;background:rgba(27,17,9,.6)}
.mend .handle::before{content:"\25C2 \25B8";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  color:var(--gold);font-size:11px;letter-spacing:1px;z-index:2}
.mhint{margin-top:20px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#9c856c}
.stats{display:flex;flex-wrap:wrap;justify-content:center;gap:60px;margin-top:clamp(56px,9vh,96px)}
.stat .num{font-family:var(--display);color:var(--gold-lt);font-size:clamp(44px,6vw,72px);line-height:1}
.stat .cap{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#9c856c;margin-top:12px}

/* ---- SPECIALISTS ---- */
.team{padding-top:clamp(72px,16vh,180px);padding-bottom:clamp(64px,14vh,150px);text-align:center}
.team .head{margin-bottom:56px}
.team .head .eyebrow{display:block;margin-bottom:20px}
.mono{display:flex;flex-wrap:wrap;justify-content:center;gap:30px}
.doc{width:150px}
.doc .ini{width:96px;height:96px;margin:0 auto 18px;border:1px solid var(--gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-family:var(--display);color:var(--gold-lt);font-size:34px}
.doc .nm{color:var(--cream);font-size:16px}
.doc .ro{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#9c856c;margin-top:6px}

/* ---- CLOSE ---- */
.close{padding-top:clamp(80px,18vh,190px);padding-bottom:clamp(90px,24vh,220px);text-align:center}
.close .big{font-family:var(--display);color:var(--cream);font-size:clamp(38px,6vw,84px);
  line-height:1.02;max-width:16ch;margin:24px auto 0;text-wrap:balance}
.close .sub{margin:28px auto 0;max-width:46ch;color:#cdb9a0}
.close .cta{justify-content:center}
.close .cta .btn-ghost{color:var(--gold-lt);border-color:var(--gold)}
.close .cta .btn-ghost:hover{background:rgba(191,161,95,.12);color:var(--gold-lt)}
.close .contact{margin-top:40px;display:flex;gap:26px;flex-wrap:wrap;justify-content:center;
  font-size:13px;letter-spacing:.06em;color:#9c856c}
.close .contact a{color:var(--gold-lt);text-decoration:none}
.bloom{width:9px;height:9px;margin:70px auto 0;transform:rotate(45deg);background:var(--gold);
  box-shadow:0 0 26px 6px rgba(191,161,95,.5)}

@keyframes aRise{to{opacity:1;transform:none}}
@keyframes aReveal{to{transform:none}}
@media (prefers-reduced-motion:reduce){
  .home *{animation:none!important}
  .reveal{opacity:1;transform:none}
  h1.k-title .l span,.h-eyebrow,.k-sub,.hero .cta,.trust{opacity:1;transform:none}
}
