/* ===================== AMPLIFY v3 ===================== */

/* Gold cursor ring (desktop only) */
.cursor-ring,.cursor-dot{position:fixed;top:0;left:0;z-index:300;pointer-events:none;border-radius:50%;opacity:0;transition:opacity .3s}
.cursor-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid rgba(241,213,149,.75);transition:opacity .3s,width .3s,height .3s,margin .3s,background .3s,border-color .3s}
.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--gold-300)}
body.has-cursor .cursor-ring,body.has-cursor .cursor-dot{opacity:1}
.cursor-ring.big{width:74px;height:74px;margin:-37px 0 0 -37px;background:rgba(226,183,102,.12);border-color:var(--gold-300)}
.cursor-ring.view::after{content:"VIEW";position:absolute;inset:0;display:grid;place-items:center;font:800 10px/1 var(--sans);letter-spacing:.18em;color:var(--gold-300)}

/* Page-change curtain */
.curtain{position:fixed;inset:0;z-index:250;pointer-events:none;background:var(--navy-950);display:grid;place-items:center;transform:translateY(0);transition:transform .75s cubic-bezier(.77,0,.18,1)}
.curtain::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold-grad)}
.curtain img{width:min(260px,55vw);opacity:.95}
.curtain.up{transform:translateY(-101%)}
.curtain.down{transform:translateY(0);transition-duration:.55s}
.curtain.from-below{transform:translateY(101%);transition:none}

/* Sliding gold underline in the menu */
.nav{position:relative}
.nav-ind{position:absolute;bottom:2px;height:2px;border-radius:2px;background:var(--gold-grad);transition:left .4s cubic-bezier(.2,.8,.2,1),width .4s cubic-bezier(.2,.8,.2,1),opacity .3s;opacity:0;pointer-events:none}

/* Home split: slow photo crossfade */
.split-panel .slide{opacity:0;animation:xfade 18s infinite}
.split-panel .slide.s2{animation-delay:6s}.split-panel .slide.s3{animation-delay:12s}
@keyframes xfade{0%{opacity:0}6%{opacity:1}33%{opacity:1}40%{opacity:0}100%{opacity:0}}
.split-panel .dots{display:flex;gap:6px;margin-top:22px}
.split-panel .dots i{width:26px;height:2px;background:rgba(255,255,255,.25);position:relative;overflow:hidden}
.split-panel .dots i::after{content:"";position:absolute;inset:0;background:var(--gold-300);transform:scaleX(0);transform-origin:left;animation:dotfill 18s linear infinite}
.split-panel .dots i:nth-child(2)::after{animation-delay:6s}.split-panel .dots i:nth-child(3)::after{animation-delay:12s}
@keyframes dotfill{0%{transform:scaleX(0)}33%{transform:scaleX(1)}34%,100%{transform:scaleX(0)}}

/* Pinned sideways gallery */
.hscroll{position:relative;background:var(--navy-950)}
.hscroll-pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.hscroll-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}
.hscroll-head h2{font-size:clamp(34px,4.4vw,60px);font-weight:800;margin-top:16px}
.hscroll-head h2 .serif{font-weight:600;font-style:italic}
.hcount{font:600 clamp(40px,4vw,64px)/1 var(--serif);color:var(--gold-300);white-space:nowrap}
.hcount small{font-size:.45em;color:var(--muted)}
.htrack{display:flex;gap:28px;padding-left:max(28px,calc((100vw - var(--wrap))/2 + 28px));will-change:transform}
.hpanel{position:relative;flex:0 0 min(500px,78vw);height:min(58vh,560px);border-radius:22px;overflow:hidden;isolation:isolate;display:flex;align-items:flex-end;border:1px solid var(--line)}
.hpanel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.15);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.hpanel:hover img{transform:scale(1.04)}
.hpanel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(3,11,24,.96) 8%,rgba(3,11,24,.35) 55%,rgba(3,11,24,.05))}
.hpanel-body{padding:34px}
.hpanel .kind{font:700 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-400)}
.hpanel h3{font:600 clamp(34px,3vw,46px)/1.05 var(--serif);margin:12px 0 12px}
.hpanel p{color:#c9d3e1;font-size:15.5px;max-width:420px;margin-bottom:20px}
.hpanel .num{position:absolute;top:22px;right:26px;font:600 58px/1 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(241,213,149,.6)}
.hbar{height:2px;background:rgba(255,255,255,.08);margin-top:44px;border-radius:2px;overflow:hidden}
.hbar i{display:block;height:100%;background:var(--gold-grad);transform-origin:left;transform:scaleX(0)}

/* Giant outlined words that slide with scroll */
.bigtype{overflow:hidden;padding:clamp(50px,7vw,90px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--navy-900)}
.bigtype .row{white-space:nowrap;font:600 clamp(56px,9vw,140px)/1.05 var(--serif);will-change:transform}
.bigtype .row span{color:transparent;-webkit-text-stroke:1px rgba(241,213,149,.45)}
.bigtype .row b{font-weight:600;font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .2em}

/* Stacking process cards */
.process.stack{display:block;max-width:1060px;margin:0 auto}
.stack .step{position:sticky;top:calc(130px + var(--i) * 26px);display:grid;grid-template-columns:1fr 1.1fr;gap:0;padding:0;overflow:hidden;min-height:340px;margin-bottom:34px;background:linear-gradient(120deg,#0d2546,#061328);box-shadow:0 -20px 50px -20px rgba(0,0,0,.8);transform-origin:center top;transition:transform .2s linear}
.stack .step::before{display:none}
.stack .step .txt{padding:46px 44px;display:flex;flex-direction:column;justify-content:center}
.stack .step .no{font:600 84px/1 var(--serif);margin-bottom:14px}
.stack .step h4{font-size:clamp(24px,2.4vw,32px);font-weight:800;margin-bottom:12px}
.stack .step p{font-size:17px}
.stack .step .pic{position:relative;overflow:hidden}
.stack .step .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stack .step .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081a33 0%,transparent 35%)}

/* County checker */
.checker{max-width:760px;margin:0 auto 70px;padding:34px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(120deg,rgba(15,43,82,.65),rgba(6,19,40,.95));box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.checker h3{font:600 30px/1.1 var(--serif);margin-bottom:6px}
.checker p{color:var(--muted);margin-bottom:20px}
.checker form{display:flex;gap:12px}
.checker input{flex:1}
.checker .btn{padding:16px 26px;flex:none}
.check-out{margin-top:18px;min-height:28px;font:600 16px/1.5 var(--sans)}
.check-out.yes{color:var(--gold-300)}
.check-out.no{color:#dfe6f1}
.check-out a{text-decoration:underline;color:var(--gold-300)}

@media (max-width:860px){
  .hscroll{height:auto!important}.hscroll-pin{position:static;height:auto;padding:80px 0}
  .htrack{overflow-x:auto;scroll-snap-type:x mandatory;padding:0 18px 10px;transform:none!important;scrollbar-width:none}
  .hpanel{scroll-snap-align:start;height:440px}
  .hbar{display:none}.hscroll-head{flex-direction:column;align-items:flex-start}
  .stack .step{position:relative;top:auto;grid-template-columns:1fr;min-height:0}
  .stack .step .pic{height:200px;order:-1}
  .stack .step .txt{padding:28px}
  .checker form{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){.curtain{display:none}.split-panel .slide{animation:none}}
