/* =====================================================================
   ORAA — Social & Wellness Club
   Main stylesheet (shared by every page)
   Fonts: Outfit (Google Fonts) · Brand colours below as CSS variables
   ===================================================================== */


html{scroll-behavior:smooth}
body{margin:0;background:#FFFFFF}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
:root{--breath:8s;--ink:#231C17;--body:#3B322B;--muted:#6B5D52;--stone:#F6F1EB;--line:#E6DCD1;--cocoa:#4A3426;--logo:#5B5652}
.wrap{max-width:1320px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.h1{font-weight:500;text-transform:uppercase;letter-spacing:.03em;line-height:1.04;font-size:clamp(40px,6.4vw,92px);margin:0}
.h2{font-weight:400;text-transform:uppercase;letter-spacing:.05em;line-height:1.12;font-size:clamp(30px,3.6vw,52px);margin:0}
.h3{font-weight:500;text-transform:uppercase;letter-spacing:.06em;line-height:1.25;font-size:18px;margin:0}
.lead{font-size:clamp(17px,1.35vw,20px);line-height:1.7;color:var(--body);margin:0}
.p{font-size:16px;line-height:1.7;color:var(--body);margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 30px;border-radius:999px;font-family:inherit;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);cursor:pointer;transition:background .35s ease,color .35s ease,border-color .35s ease,transform .25s ease}
.btn:active{transform:scale(.97)}
.btn-dark{background:var(--ink);color:#FFFFFF}.btn-dark:hover{background:var(--cocoa);border-color:var(--cocoa)}
.btn-light{background:#FFFFFF;color:var(--ink);border-color:#FFFFFF}.btn-light:hover{background:transparent;color:#FFFFFF}
.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:#FFFFFF}
.btn-ghost-light{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.7)}.btn-ghost-light:hover{background:#FFFFFF;color:var(--ink)}
.tlink{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid currentColor;padding:12px 0 6px;transition:gap .4s ease}
.tlink:hover{gap:16px}
.nl{position:relative;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.nl::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:right .45s ease}
.nl:hover::after{right:0}
.desk{display:flex}.mob{display:none}
.hero-in{padding-bottom:clamp(48px,8vw,96px)}
.foot{padding-bottom:40px}
@media (max-width:900px){.desk{display:none !important}.mob{display:flex}.hero-in{padding-bottom:104px}.foot{padding-bottom:104px}}
.field{width:100%;min-height:52px;border:0;border-bottom:1px solid rgba(255,255,255,.5);background:transparent;font-family:inherit;font-size:17px;color:#FFFFFF;padding:12px 0;outline:none;border-radius:0;transition:border-color .3s ease}
.field:focus{border-bottom-color:#FFFFFF}
.field::placeholder{color:rgba(255,255,255,.65)}
.flabel{display:flex;flex-direction:column;gap:2px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#E9DED2}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px clamp(20px,4vw,56px) 12px;scroll-padding:0 clamp(20px,4vw,56px);scroll-behavior:smooth}
.rail::-webkit-scrollbar{display:none}
.card{flex:0 0 auto;width:clamp(260px,24vw,340px);scroll-snap-align:start;display:flex;flex-direction:column;gap:14px}
.card .ph{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:4px;background:#EFE7DE}
.card .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.2,.7,.1,1)}
.card:hover .ph img{transform:scale(1.06)}
.arrow{width:48px;height:48px;border-radius:50%;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .3s ease,color .3s ease}
.arrow:hover{background:var(--ink);color:#FFFFFF}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,5vw,80px);align-items:center}
.ph-w{position:relative;overflow:hidden;border-radius:4px;background:#EFE7DE}
.ph-w img{width:100%;height:100%;object-fit:cover;display:block}

/* logo */
.lg{display:inline-block;flex:none;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.lg-word{aspect-ratio:1400/449;-webkit-mask-image:url(../images/oraa-wordmark.png);mask-image:url(../images/oraa-wordmark.png)}
.lg-full{aspect-ratio:1400/649;-webkit-mask-image:url(../images/oraa-logo-full.png);mask-image:url(../images/oraa-logo-full.png)}
.lg-icon{aspect-ratio:600/731;-webkit-mask-image:url(../images/oraa-icon.png);mask-image:url(../images/oraa-icon.png)}

@keyframes rise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1.02)}}
@keyframes line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes inhale{0%,100%{opacity:.2;transform:scale(.92)}42%,55%{opacity:.9;transform:scale(1.08)}}
@keyframes veil{0%,100%{opacity:.5}42%,55%{opacity:.1}}
@keyframes pulseLine{0%,100%{transform:scaleX(.18);opacity:.5}42%,55%{transform:scaleX(1);opacity:1}}
@keyframes swell{0%,100%{scale:1}42%,55%{scale:1.012}}
@keyframes glowB{0%,100%{opacity:0}42%,55%{opacity:1}}
@keyframes ringB{0%,100%{transform:scale(.97);opacity:.3}42%,55%{transform:scale(1.05);opacity:.8}}
@keyframes sheet{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes swap{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.r{opacity:0;animation:rise 1.2s cubic-bezier(.2,.7,.1,1) var(--d0,0s) forwards}
.d1{animation-delay:calc(var(--d0,0s) + .15s)}.d2{animation-delay:calc(var(--d0,0s) + .3s)}.d3{animation-delay:calc(var(--d0,0s) + .45s)}.d4{animation-delay:calc(var(--d0,0s) + .6s)}
.kb{animation:kb 3.2s cubic-bezier(.2,.7,.1,1) var(--d0,0s) both}
.veil{position:fixed;inset:0;z-index:35;pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(ellipse 85% 70% at 50% 45%,rgba(255,255,255,0) 58%,rgba(222,198,170,.45) 100%);animation:veil var(--breath) ease-in-out infinite}
.pulse{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#B8946A,transparent);animation:pulseLine var(--breath) ease-in-out infinite}
.breathe{transform-origin:center;animation:swell var(--breath) ease-in-out infinite}
.glow::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse 90% 60% at 50% 15%,rgba(255,238,214,.34),rgba(255,238,214,0) 65%);animation:glowB var(--breath) ease-in-out infinite}
.aura{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(214,186,150,.5) 0%,rgba(232,214,192,.2) 42%,rgba(255,255,255,0) 70%);filter:blur(8px);animation:inhale var(--breath) ease-in-out infinite}
.ring{position:absolute;border-radius:50%;border:1px solid rgba(156,131,109,.45);pointer-events:none;animation:ringB var(--breath) ease-in-out infinite}
.sheet{animation:sheet .6s cubic-bezier(.7,0,.2,1) both}
.swap{animation:swap .7s cubic-bezier(.2,.7,.1,1) both}

/* entrance */

/* cursor (mouse only) */
@keyframes curB{0%,100%{scale:1}42%,55%{scale:1.14}}
.cur{position:fixed;left:0;top:0;z-index:100;pointer-events:none;opacity:0;transition:opacity .4s ease;will-change:transform}
.cur.on{opacity:1}
.cur-ring{width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;border:1px solid rgba(91,65,48,.6);box-shadow:0 0 0 1px rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;animation:curB var(--breath) ease-in-out infinite;transition:width .55s cubic-bezier(.2,.7,.1,1),height .55s cubic-bezier(.2,.7,.1,1),margin .55s cubic-bezier(.2,.7,.1,1),background-color .45s ease,border-color .45s ease}
.cur-o{height:24px;color:#5B5652;opacity:0;transform:scale(.2);transition:opacity .35s ease,transform .55s cubic-bezier(.2,.7,.1,1)}
.cur-dot{position:absolute;left:-2.5px;top:-2.5px;width:5px;height:5px;border-radius:50%;background:#5B4130;transition:opacity .3s ease,transform .3s ease}
.cur.hov .cur-ring{width:52px;height:52px;margin:-26px 0 0 -26px;background-color:rgba(246,241,235,.92);border-color:rgba(246,241,235,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cur.hov .cur-o{opacity:1;transform:scale(1)}
.cur.hov .cur-dot{opacity:0;transform:scale(0)}
.cur.press .cur-ring{width:44px;height:44px;margin:-22px 0 0 -22px}
@media (hover:hover) and (pointer:fine){a,button,a *,button *{cursor:none !important}}
@media (hover:none),(pointer:coarse){.cur{display:none}}


/* ===== subtle motion layer ===== */
@keyframes lineUp{to{transform:translateY(0)}}
@keyframes tick{to{transform:translateX(-50%)}}
@keyframes heroPar{to{transform:translateY(14%) scale(1.04)}}
@keyframes totopIn{from{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:none}}
@keyframes dotPulse{0%,100%{transform:scale(.6);opacity:.4}42%,55%{transform:scale(1);opacity:1}}
.ln{display:block;overflow:hidden;padding-bottom:.06em}
.ln > span{display:block;transform:translateY(108%);animation:lineUp 1.25s cubic-bezier(.2,.7,.1,1) forwards}
.ln.l1 > span{animation-delay:calc(var(--d0,0s) + .12s)}
.ln.l2 > span{animation-delay:calc(var(--d0,0s) + .26s)}
.ticker{overflow:hidden;border-top:1px solid #E6DCD1;border-bottom:1px solid #E6DCD1;padding:18px 0;margin-bottom:clamp(64px,8vw,110px)}
.tk{display:flex;width:max-content;animation:tick 42s linear infinite}
.tk span{display:inline-flex;align-items:center;gap:clamp(22px,3vw,44px);padding-right:clamp(22px,3vw,44px);font-size:clamp(22px,2.6vw,36px);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#CDBDAE;white-space:nowrap}
.tk i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#B8946A;animation:dotPulse var(--breath) ease-in-out infinite}
.btn .ar{display:inline-block;transition:transform .4s ease}
.btn:hover .ar{transform:translateX(4px)}
.totop{position:fixed;right:clamp(14px,2.4vw,32px);bottom:clamp(14px,2.4vw,32px);z-index:45;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #D9CCBE;color:#231C17;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(35,28,23,.12);transition:background .3s ease,color .3s ease,border-color .3s ease}
.totop:hover{background:#231C17;color:#FFFFFF;border-color:#231C17}
.totop::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(184,148,106,.45);animation:ringB var(--breath) ease-in-out infinite;pointer-events:none}
.totop svg{width:18px;height:18px}
@media (max-width:900px){.totop{bottom:18px;width:46px;height:46px}}
/* image curtains + settle (added by the scroll observer) */
.ph-w,.card .ph{position:relative}
.io .ph-w.rev::before,.io .rev .ph-w::before,.io .rail.rev .ph::before{content:"";position:absolute;inset:0;z-index:3;background:#EFE7DE;transform-origin:top;transform:scaleY(1);transition:transform 1.25s cubic-bezier(.7,0,.2,1) .1s}
.io .ph-w.rev.in::before,.io .rev.in .ph-w::before,.io .rail.rev.in .ph::before{transform:scaleY(0)}
.io .ph-w.rev img,.io .rev .ph-w img{transform:scale(1.14);transition:transform 1.9s cubic-bezier(.2,.7,.1,1)}
.io .ph-w.rev.in img,.io .rev.in .ph-w img{transform:scale(1)}
.io .rail.rev{opacity:1;transform:none}
.io .rail.rev .card{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.2,.7,.1,1),transform 1s cubic-bezier(.2,.7,.1,1)}
.io .rail.rev.in .card{opacity:1;transform:none}
.io .rail.rev .card:nth-child(2),.io .rail.rev .card:nth-child(2) .ph::before{transition-delay:.12s}
.io .rail.rev .card:nth-child(3),.io .rail.rev .card:nth-child(3) .ph::before{transition-delay:.24s}
.io .rail.rev .card:nth-child(4),.io .rail.rev .card:nth-child(4) .ph::before{transition-delay:.36s}
.io .rail.rev .card:nth-child(5),.io .rail.rev .card:nth-child(5) .ph::before{transition-delay:.48s}
.io .rev .eyebrow{opacity:0;letter-spacing:.32em;transition:opacity 1.2s ease .15s,letter-spacing 1.4s cubic-bezier(.2,.7,.1,1) .15s}
.io .rev.in .eyebrow{opacity:1;letter-spacing:.2em}
@supports (animation-timeline: scroll()){
  .hero-par{animation:heroPar linear both;animation-timeline:scroll(root);animation-range:0 100vh}
  .totop{animation:totopIn linear both;animation-timeline:scroll(root);animation-range:300px 700px}
}


/* ===== image motion ===== */
@keyframes imgBreath{0%,100%{scale:1}42%,55%{scale:1.035}}
@keyframes heroFade{0%{opacity:0}6%{opacity:1}33%{opacity:1}39%{opacity:0}100%{opacity:0}}
@keyframes heroDrift{0%{scale:1.12;translate:0 0}100%{scale:1.02;translate:-1.5% 1%}}
@keyframes bandPan{0%{scale:1.1;translate:-2% 0}100%{scale:1.1;translate:2% -1.5%}}
@keyframes imgPar{from{translate:0 -5%}to{translate:0 5%}}
.ph img,.ph-w img{animation:imgBreath var(--breath) ease-in-out infinite;transform-origin:center}
.hs{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;animation:heroFade 21s ease-in-out infinite,heroDrift 21s ease-out infinite}
.hs.h2{animation-delay:7s,7s}.hs.h3{animation-delay:14s,14s}
.band{animation:bandPan 26s ease-in-out infinite alternate}
@supports (animation-timeline: view()){
  .ph-w img{height:112%;margin-top:-6%;animation:imgBreath var(--breath) ease-in-out infinite,imgPar linear both;animation-timeline:auto,view()}
}
@media (prefers-reduced-motion:reduce){.hs.h2,.hs.h3{display:none}}


/* ===== round-2 additions ===== */
.annc{position:relative;z-index:41;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;padding:10px 16px;background:#231C17;color:#F1E7DC;font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-align:center}
.annc a{color:#FFFFFF;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:2px;font-weight:500}
.annc-dot{width:5px;height:5px;border-radius:50%;background:#B8946A;animation:dotPulse var(--breath) ease-in-out infinite}
.hvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
.strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;padding:16px clamp(20px,4vw,56px);background:#F6F1EB;border-bottom:1px solid #E6DCD1;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#4A4038}
.strip i{flex:1;height:1px;background:#D9CCBE;min-width:20px}
.trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(24px,4vw,56px);margin-top:clamp(56px,7vw,88px);text-align:left}
.trio > div{display:flex;flex-direction:column;gap:10px;border-top:1px solid #E6DCD1;padding-top:22px}
.tn{font-size:13px;font-weight:500;letter-spacing:.2em;color:#B8946A}
.fsel{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#FFFFFF 50%),linear-gradient(135deg,#FFFFFF 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 8px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:28px}
.fsel option{color:#231C17}
.agree{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;color:#F4ECE3;cursor:pointer}
.agree input{margin-top:3px;width:18px;height:18px;accent-color:#B8946A;flex:none}
.agree a{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:18px 28px;width:100%}
.vk{display:block;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#6B5D52;margin-bottom:6px}
.terms{display:none;position:fixed;inset:0;z-index:90;background:#FFFFFF;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.terms:target{display:block}
.terms.open{display:block}
.tc-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 clamp(20px,4vw,56px);background:rgba(255,255,255,.95);border-bottom:1px solid #EFE7DE}
.tc-x{position:relative;width:44px;height:44px;display:block;color:#231C17}
.tc-x span{position:absolute;left:8px;top:21px;width:28px;height:1.5px;background:currentColor;transform:rotate(45deg)}
.tc-x span + span{transform:rotate(-45deg)}
.tc-in{max-width:820px;margin:0 auto;padding:44px clamp(20px,4vw,40px) 90px}
.tc-intro p{margin:0 0 24px;font-size:17px;line-height:1.7;color:#3B322B}
.tc-s{border-top:1px solid #E6DCD1}
.tc-s:last-child{border-bottom:1px solid #E6DCD1}
.tc-s summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:14px 0;cursor:pointer;font-size:15px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#231C17}
.tc-s summary::-webkit-details-marker{display:none}
.tc-s summary span{font-size:24px;font-weight:300;color:#B8946A;transition:transform .35s ease}
.tc-s[open] summary span{transform:rotate(45deg)}
.tc-b{padding:0 0 22px;font-size:15px;line-height:1.7;color:#3B322B}
.tc-b ol,.tc-b ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.tc-b p{margin:0}
.tc-b ol ol{margin-top:8px}
.tc-tw{overflow-x:auto;margin:6px 0}
.tc-b table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px}
.tc-b th,.tc-b td{text-align:left;padding:10px 12px;border-bottom:1px solid #E6DCD1}
.tc-b th{font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:12px;color:#6B5D52;background:#F6F1EB}
.tc-foot{margin:28px 0 16px;font-size:13px;line-height:1.6;color:#6B5D52}
@media (max-width:900px){.strip{justify-content:center}.strip i{display:none}.annc{font-size:11px;letter-spacing:.08em}}


/* ===== multi-page additions ===== */
.navw{gap:28px}
.navw .nl{font-size:12px;letter-spacing:.1em}
@media (max-width:1180px){.navw{gap:18px}.navw .nl{font-size:11px;letter-spacing:.06em}}
.nl.on::after{right:0}
.phero{position:relative;min-height:min(78vh,760px);display:flex;align-items:flex-end;overflow:hidden;color:#FFFFFF;background:#2A1E16}
.crumb{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#E9DED2}
.crumb a{color:#FFFFFF;border-bottom:1px solid rgba(255,255,255,.5)}
/* tiers */
.tiers{background:#231C17;color:#FFFFFF;padding:clamp(80px,10vw,140px) 0}
.tgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);align-items:stretch}
.tier{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:clamp(90px,9vw,140px) clamp(18px,2.4vw,34px) clamp(30px,3vw,40px);border:1px solid rgba(201,170,130,.55);border-radius:1000px 1000px 6px 6px;color:#F6F1EB}
.tier.hi{background:#EADFD2;border-color:#EADFD2;color:#231C17;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.tier.hi::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse 80% 50% at 50% 10%,rgba(255,246,232,.6),rgba(255,246,232,0) 70%);animation:glowB var(--breath) ease-in-out infinite}
.tier-eb{font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:#C9AA82}
.tier.hi .tier-eb{color:#8E6E52}
.tier-nm{margin:6px 0 4px;font-size:clamp(44px,4.6vw,70px);font-weight:300;letter-spacing:.01em;line-height:1}
.tier ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:clamp(16px,1.3vw,19px);line-height:1.4;flex:1}
.tier-ln{width:120px;height:1px;background:currentColor;opacity:.35;margin:10px 0 4px}
.tier-rt{margin:0;font-size:clamp(16px,1.3vw,19px);font-weight:300;font-style:italic;letter-spacing:.02em;opacity:.92}
.tier-btn{margin-top:12px;min-height:46px;padding:0 22px;font-size:12px}
@media (max-width:900px){.tgrid{grid-template-columns:1fr;gap:16px}.tier{padding-top:clamp(110px,30vw,150px)}}
/* request */
.req{position:relative;overflow:hidden;color:#FFFFFF;background:#1E1610;padding:clamp(80px,10vw,140px) 20px}
.req.req-full{min-height:calc(100vh - 68px)}
.req-bg{position:absolute;inset:0}
.req-bg img{width:100%;height:100%;object-fit:cover;display:block;opacity:.42;filter:grayscale(.3)}
.req::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(30,22,16,.55),rgba(30,22,16,.85))}
.req-in{position:relative;z-index:2;max-width:600px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:22px}
.req-t{margin:0;font-size:clamp(46px,6vw,80px);font-weight:300;line-height:1;text-align:center;letter-spacing:.005em}
.req-f{width:100%;display:flex;flex-direction:column;gap:22px;margin-top:10px}
/* inner pages */
.phd{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;border-radius:4px;color:#8E7E70;background:repeating-linear-gradient(135deg,#EFE8E0 0 14px,#F4EEE7 14px 28px);border:1px dashed #CDBDAE;width:100%}
.phd .lg{height:40px;color:#C9B9A8}
.phd b{font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#6B5D52}
.phd small{font-size:13px;color:#8E7E70}
.ctab{background:#231C17;padding:clamp(56px,7vw,90px) 0}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(20px,3vw,40px)}
.fact{display:flex;flex-direction:column;gap:10px;border-top:1px solid #DCCFC2;padding-top:20px}
.spgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:22px}
.sp{display:flex;flex-direction:column;gap:12px}
.cmp{overflow-x:auto;border:1px solid #E6DCD1;border-radius:6px}
.cmp table{width:100%;min-width:560px;border-collapse:collapse;font-size:16px}
.cmp th,.cmp td{padding:16px 18px;text-align:center;border-bottom:1px solid #EFE7DE}
.cmp thead th{font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;background:#F6F1EB}
.cmp thead th.hi{background:#EADFD2}
.cmp tbody th{text-align:left;font-weight:400;color:#3B322B}
.cmp tbody td:nth-child(3){background:#FBF7F2}
.fnav{display:grid;grid-template-columns:repeat(3,minmax(0,auto));gap:20px 56px}
.fnav div{display:flex;flex-direction:column;gap:10px}
.fnav a,.fnav .fx{font-size:14px;color:#3B322B}
.fnav a:hover{color:#5B4130}
@media (max-width:700px){.fnav{grid-template-columns:1fr 1fr}}


/* ===== round 3: calm motion layer ===== */
.aura-tag{display:flex;align-items:center;gap:14px;margin:2px 0 0;font-size:clamp(18px,1.7vw,24px);font-weight:300;letter-spacing:.06em;color:#F6EEE5}
.at-ln{display:inline-block;width:42px;height:1px;background:#C9AA82;transform-origin:left;animation:line 1.4s cubic-bezier(.7,0,.2,1) calc(var(--d0,0s) + .5s) both}
.flogo{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.ftag{margin:0;font-size:16px;font-weight:300;letter-spacing:.08em;color:#5B4130}
/* page arrival veil (inner pages) */
@keyframes veilOut{0%{opacity:1}60%{opacity:1}100%{opacity:0;visibility:hidden}}
@keyframes veilDot{0%{transform:scale(.6);opacity:0}40%{opacity:1}100%{transform:scale(1.1);opacity:0}}
.pveil{position:fixed;inset:0;z-index:70;background:#F6F1EB;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:veilOut 1.1s cubic-bezier(.7,0,.2,1) forwards}
.pveil span{height:38px;color:#5B5652;animation:veilDot 1.1s ease forwards}
/* header: soft shadow once scrolled, tucks away on scroll down */
header{transition:transform .5s cubic-bezier(.2,.7,.1,1),box-shadow .5s ease,background .5s ease}
.scrolled header{box-shadow:0 10px 30px rgba(35,28,23,.06)}
.hdr-hide header{transform:translateY(-100%)}
/* scroll progress */
.sprog{position:fixed;left:0;top:0;height:2px;width:100%;z-index:60;background:linear-gradient(90deg,#C9AA82,#5B4130);transform-origin:left;transform:scaleX(var(--sp,0));pointer-events:none;opacity:.85}
/* headings unveil from below */
.io .rev .h2,.io .rev .mt,.io .rev .req-t{clip-path:inset(0 0 100% 0);transform:translateY(14px);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1) .1s,transform 1.2s cubic-bezier(.2,.7,.1,1) .1s}
.io .rev.in .h2,.io .rev.in .mt,.io .rev.in .req-t{clip-path:inset(-10% 0 -10% 0);transform:none}
.io .req-t.rev{clip-path:inset(0 0 100% 0)}
.io .req-t.rev.in{clip-path:inset(-10% 0 -10% 0)}
/* staggered grids */
.fgrid .fact:nth-child(2),.spgrid .sp:nth-child(2),.trio > div:nth-child(2){transition-delay:.1s}
.fgrid .fact:nth-child(3),.spgrid .sp:nth-child(3),.trio > div:nth-child(3){transition-delay:.2s}
.fgrid .fact:nth-child(4),.spgrid .sp:nth-child(4){transition-delay:.3s}
.fgrid .fact:nth-child(5),.spgrid .sp:nth-child(5){transition-delay:.4s}
.fgrid .fact:nth-child(6),.spgrid .sp:nth-child(6){transition-delay:.5s}
.spgrid .sp:nth-child(7){transition-delay:.6s}
/* number accents draw in */
.io .rev .tn,.io .fact.rev .tn,.io .trio .rev .tn{display:inline-block;opacity:0;transform:translateX(-8px);transition:opacity .9s ease .25s,transform .9s ease .25s}
.io .rev.in .tn,.io .fact.rev.in .tn,.io .trio .rev.in .tn{opacity:1;transform:none}
/* calm hovers */
.btn{position:relative;overflow:hidden}
.btn:hover{transform:translateY(-2px)}
.ph-w img{transition:transform 1.6s cubic-bezier(.2,.7,.1,1)}
@media (hover:hover){.ph-w:hover img{transform:scale(1.05)}.sp:hover .h3,.card:hover .h3{letter-spacing:.1em}}
.h3{transition:letter-spacing .6s ease}
.tier{transition:transform .7s cubic-bezier(.2,.7,.1,1),border-color .5s ease,box-shadow .7s ease}
@media (hover:hover){.tier:hover{transform:translateY(-8px);border-color:rgba(201,170,130,.95);box-shadow:0 30px 70px rgba(0,0,0,.28)}}
.io .tier.rev{transform:translateY(46px)}
.io .tier.rev.in{transform:none}
@media (hover:hover){.io .tier.rev.in:hover{transform:translateY(-8px)}}
.fact{transition:border-color .5s ease}
.fact:hover{border-color:#B8946A}
/* footer links underline */
.fnav a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s ease;align-self:flex-start;padding-bottom:2px}
.fnav a:hover{background-size:100% 1px}
/* fixes */
@media (max-width:900px){
  #top{min-height:calc(100svh - 68px - 36px) !important}
  .hero-in{padding-bottom:112px !important}
  .aura-tag{font-size:18px}
}
@media (max-width:1100px) and (min-width:901px){.tier-nm{font-size:44px}.tier{padding-left:14px;padding-right:14px}.tier ul{font-size:15px}}
.nl,.btn{white-space:nowrap}
@media (max-width:1100px){header .navw{display:none !important}header .mob{display:flex !important}}
.annc .a-long{display:inline}
@media (max-width:700px){.annc{flex-wrap:nowrap;gap:10px;font-size:10.5px;letter-spacing:.06em;padding:9px 12px}.annc .a-long,.annc .annc-dot{display:none}}
@media (prefers-reduced-motion:reduce){.pveil{display:none}.sprog{display:none}.io .rev .h2,.io .rev .mt,.io .rev .req-t,.io .req-t.rev{clip-path:none !important;transform:none !important}}


/* ===== terms page (open layout) ===== */
.tc-hero{padding:clamp(56px,7vw,96px) 0 clamp(28px,4vw,44px);border-bottom:1px solid #E6DCD1;margin-bottom:clamp(32px,4vw,52px)}
.tc-page .tc-intro p{font-size:18px;line-height:1.75;color:#3B322B;margin:0 0 clamp(28px,4vw,44px);max-width:820px}
.tc-sec{padding:clamp(24px,3vw,36px) 0;border-top:1px solid #E6DCD1}
.tc-h{margin:0 0 18px;font-size:clamp(17px,1.5vw,20px);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#231C17}
.tc-sec .tc-b{font-size:16px;line-height:1.75;color:#3B322B;padding:0}
.tc-sec ol{list-style:none;counter-reset:n;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.tc-sec ol>li{counter-increment:n;position:relative;padding-left:46px}
.tc-sec ol>li::before{content:counter(n,decimal-leading-zero) ".";position:absolute;left:0;top:0;font-weight:500;color:#B8946A;letter-spacing:.04em}
.tc-sec ol ol{counter-reset:a;margin-top:10px}
.tc-sec ol ol>li{counter-increment:a;padding-left:32px}
.tc-sec ol ol>li::before{content:"(" counter(a,lower-alpha) ")";color:#8E7E70}
.tc-sec p{margin:0 0 10px}
.tc-sec ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.tc-page .tc-foot{margin:36px 0 18px;font-size:15px;color:#6B5D52}

/* scroll reveals (observer adds .in) */
.io .rev{opacity:0;transform:translateY(36px);transition:opacity 1.1s cubic-bezier(.2,.7,.1,1),transform 1.1s cubic-bezier(.2,.7,.1,1)}
.io .rev.in{opacity:1;transform:none}
.io .grow{transform:scaleX(0);transform-origin:left;transition:transform 1.3s cubic-bezier(.7,0,.2,1)}
.io .grow.in{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){
  .intro{display:none !important}
  .io .rev,.io .grow,.io .rail.rev .card,.io .rev .eyebrow{opacity:1 !important;transform:none !important}
  .io .ph-w.rev::before,.io .rev .ph-w::before,.io .rail.rev .ph::before{display:none}
  .ln > span{transform:none !important}
  *,*::before,*::after{animation:none !important;transition:none !important}
  .r{opacity:1}
}

/* real map */
.map{position:relative;border-radius:6px;overflow:hidden;background:#EDE6DE;height:clamp(300px,36vw,460px);margin-top:clamp(40px,5vw,64px);border:1px solid #E6DCD1}
.map .mfb{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;color:#3B322B}
.map .pin{width:14px;height:14px;border-radius:50%;background:#5B4130;box-shadow:0 0 0 8px rgba(91,65,48,.15),0 0 0 18px rgba(91,65,48,.07)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.55) sepia(.12) contrast(.96)}


/* ===== added for the static build ===== */
/* mobile menu */
.msheet{display:none}
.menu-open .msheet{display:flex}
.menu-open .hb span:nth-child(1){transform:translateY(4.25px) rotate(45deg) !important}
.menu-open .hb span:nth-child(2){width:28px !important;transform:translateY(-4.25px) rotate(-45deg) !important}
.msheet a.ml{display:flex;align-items:center;min-height:56px;border-bottom:1px solid #E6DCD1;font-size:24px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#231C17;opacity:0;animation:rise .8s cubic-bezier(.2,.7,.1,1) forwards}
.msheet a.ml.on{color:#9C6B45}
/* interest chips */
.chip{min-height:44px;padding:0 18px;border-radius:999px;font-family:inherit;font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:1px solid rgba(255,255,255,.45);background:transparent;color:#FFFFFF;transition:background .3s ease,color .3s ease,border-color .3s ease}
.chip[aria-pressed="true"]{background:#FFFFFF;color:#231C17;border-color:#FFFFFF}
/* form thank-you */
.req-thanks{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:30px 0}
.req-thanks[hidden]{display:none}
.rt-h{margin:0;font-size:26px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.req-f.sending{opacity:.6;pointer-events:none}


/* Anti-spam honeypot: keep this field out of the visible layout. */
.form-hp {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}
