/* KEPT — white edition · functional minimal */
@font-face{font-family:'SG';src:url(assets/fonts/space-grotesk-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:block}
@font-face{font-family:'SG';src:url(assets/fonts/space-grotesk-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:block}
@font-face{font-family:'SG';src:url(assets/fonts/space-grotesk-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:block}
@font-face{font-family:'IN';src:url(assets/fonts/inter-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:block}
@font-face{font-family:'IN';src:url(assets/fonts/inter-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:block}

:root{
  --ink:#131210; --mute:#787165;
  --yel:#FFC629; --blue:#1B4DFF;
  --paper:#FFFFFF; --warm:#F7F4EC;
  --hair:rgba(19,18,16,.12);
}
*{margin:0;padding:0;box-sizing:border-box}
::selection{background:var(--yel);color:var(--ink)}
body{background:var(--paper);color:var(--ink);font-family:'IN',system-ui,sans-serif;line-height:1.7;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(22px,4.5vw,60px)}

/* ---------- NAV — transparent, sticky ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;transition:background .4s,backdrop-filter .4s}
nav.on{background:rgba(255,255,255,.88);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--hair)}
.navin{max-width:1460px;margin:0 auto;padding:18px clamp(22px,3.5vw,48px);display:flex;align-items:center;gap:48px}
.brand img{height:52px;transition:height .35s}
nav.on .brand img{height:42px}
.brand .lb{display:none}
nav.on .brand .lw{display:none}
nav.on .brand .lb{display:block}
.links{display:flex;gap:36px;margin-left:auto}
.links a{font-family:'SG';font-weight:500;font-size:12px;letter-spacing:.24em;color:#fff;transition:opacity .2s,color .2s;opacity:.85}
.links a:hover{opacity:1}
nav.on .links a{color:var(--ink);opacity:.7}
nav.on .links a:hover{opacity:1}
.cta{font-family:'SG';font-weight:700;font-size:12px;letter-spacing:.18em;color:var(--ink);background:var(--yel);padding:12px 24px;border-radius:999px;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .25s}
.cta:hover{transform:translateY(-2px);background:#FFD45C}

/* ---------- BUTTONS ---------- */
.pillbtn{display:inline-flex;align-items:center;gap:12px;font-family:'SG';font-weight:700;font-size:13px;letter-spacing:.18em;background:var(--yel);color:var(--ink);padding:18px 36px;border-radius:999px;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .25s}
.pillbtn:hover{transform:translateY(-3px);background:#FFD45C}
.pillbtn i{font-style:normal;transition:transform .3s}
.pillbtn:hover i{transform:translateX(5px)}
.ghostbtn{display:inline-flex;align-items:center;font-family:'SG';font-weight:700;font-size:13px;letter-spacing:.18em;color:#fff;border:1.5px solid rgba(255,255,255,.55);padding:17px 32px;border-radius:999px;transition:border-color .25s,color .25s,transform .3s}
.ghostbtn:hover{border-color:var(--yel);color:var(--yel);transform:translateY(-2px)}
.ghostbtn.dark{color:var(--ink);border-color:rgba(19,18,16,.3)}
.ghostbtn.dark:hover{border-color:var(--ink);color:var(--ink)}

/* ---------- HERO — full-bleed to top ---------- */
.hero{position:relative;height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero-media{position:absolute;inset:0}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,8,.34),transparent 38%,rgba(10,9,8,.74))}
.hero-copy{position:relative;width:100%;max-width:1460px;margin:0 auto;padding:0 clamp(22px,3.5vw,48px) clamp(52px,8vh,92px)}
.overline{font-family:'SG';font-weight:500;font-size:11.5px;letter-spacing:.42em;color:#E4DFD3;margin-bottom:22px}
.hero h1{font-family:'SG';font-weight:700;font-size:clamp(38px,5.8vw,80px);line-height:1.04;letter-spacing:-.015em;max-width:900px}
.hero h1 em{font-style:normal;color:var(--yel)}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:38px}

/* ---------- SECTIONS ---------- */
.sec{padding:clamp(60px,8.5vh,104px) 0}
.slabel{font-family:'SG';font-weight:700;font-size:11px;letter-spacing:.4em;color:var(--mute);margin-bottom:26px;padding-bottom:14px;border-bottom:1px solid var(--hair)}
.h2{font-family:'SG';font-weight:700;font-size:clamp(30px,4.4vw,54px);letter-spacing:-.015em;line-height:1.06}
.sub{font-size:16.5px;color:var(--mute);margin-top:16px;max-width:600px}
.grid2{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,90px);align-items:center;margin-top:18px}
.ph{border-radius:18px;overflow:hidden}
.ph img{transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.ph:hover img{transform:scale(1.035)}

/* ---------- MEMBERSHIP ---------- */
.club{background:var(--warm)}
.pricing{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin:28px 0 6px}
.was{font-family:'SG';font-weight:500;font-size:clamp(20px,2.6vw,30px);color:var(--mute);text-decoration:line-through;text-decoration-thickness:2.5px;text-decoration-color:var(--blue)}
.now{font-family:'SG';font-weight:700;font-size:clamp(52px,7.5vw,96px);letter-spacing:-.03em;line-height:1}
.per{font-family:'SG';font-weight:500;font-size:12px;letter-spacing:.18em;color:var(--mute)}
.perks{list-style:none;margin:26px 0 38px;border-top:1px solid var(--hair)}
.perks li{padding:15px 0;border-bottom:1px solid var(--hair);font-size:15.5px;display:flex;gap:15px}
.perks li:before{content:"—";font-family:'SG';font-weight:700;color:var(--blue)}
.tiny{margin-top:20px;font-size:13.5px;color:var(--mute)}

/* ---------- COAT ---------- */
.coatgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:40px}
.pc{border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--hair);display:flex;flex-direction:column}
.pc .im{aspect-ratio:1.25;overflow:hidden;background:#0B0A08}
.pc .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.pc:hover .im img{transform:scale(1.05)}
.pc .body{padding:clamp(24px,3vw,38px);flex:1}
.pc.dark{background:#131210;border-color:#131210;color:#F2EEE4}
.chead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}
.pc h3{font-family:'SG';font-weight:700;font-size:clamp(24px,2.6vw,34px)}
.cpill{font-family:'SG';font-weight:700;font-size:15px;letter-spacing:.18em;padding:12px 26px;border-radius:999px;white-space:nowrap}
.coatvid{width:100%;height:100%;object-fit:cover;display:block}
.cpill.blue{background:var(--blue);color:#fff}
.cpill.yel{background:var(--yel);color:var(--ink)}
.crows{border-top:1px solid var(--hair)}
.pc.dark .crows{border-color:rgba(255,255,255,.14)}
.crow{display:flex;gap:18px;padding:13px 0;border-bottom:1px solid var(--hair);font-size:14.5px}
.pc.dark .crow{border-color:rgba(255,255,255,.14)}
.crow b{font-family:'SG';font-weight:700;font-size:10px;letter-spacing:.22em;color:var(--mute);min-width:110px;padding-top:4px}
.pc.dark .crow b{color:#A39C8E}
.crow.price span{font-family:'SG';font-weight:700;font-size:19px}
.pc.dark .crow.price span{color:var(--yel)}
.crow.price em{font-style:normal;font-family:'SG';font-weight:500;font-size:11px;letter-spacing:.14em;color:var(--mute);margin-left:8px}

/* ---------- SERVICES ---------- */
.menu{margin-top:38px;border-top:1px solid var(--hair)}
.mrow{display:grid;grid-template-columns:1fr auto auto 60px;align-items:center;gap:clamp(16px,4vw,60px);padding:30px 6px;border-bottom:1px solid var(--hair);transition:background .3s,padding .3s}
.mrow:hover{background:var(--warm);padding-left:22px}
.mname{font-family:'SG';font-weight:700;font-size:clamp(20px,2.4vw,29px)}
.mname span{display:block;font-family:'IN';font-weight:400;font-size:13.5px;color:var(--mute);margin-top:5px}
.mtime{font-family:'SG';font-weight:500;font-size:11px;letter-spacing:.24em;color:var(--mute)}
.mprice{font-family:'SG';font-weight:700;font-size:clamp(18px,2vw,25px);text-align:right}
.mprice span{display:block;font-family:'IN';font-weight:400;font-size:11.5px;color:var(--mute)}
.mar{font-size:22px;color:var(--mute);text-align:right;transition:transform .3s,color .3s}
.mrow:hover .mar{transform:translateX(8px);color:var(--ink)}
.sizeline{margin-top:28px;font-size:13px;color:var(--mute)}

/* ---------- VISIT ---------- */
.loc{background:var(--warm)}
.giant{font-family:'SG';font-weight:700;font-size:clamp(70px,11vw,150px);line-height:.92;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.5px var(--ink);margin-bottom:22px}
.lrow{display:flex;gap:22px;padding:15px 0;border-bottom:1px solid var(--hair);font-size:15px}
.lrow b{font-family:'SG';font-weight:700;font-size:10px;letter-spacing:.26em;color:var(--blue);min-width:92px;padding-top:5px}
.locctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--hair);padding:64px 20px 40px;text-align:center;background:#fff}
.flogo{height:80px;margin:0 auto 22px}
.ftag{font-family:'SG';font-weight:500;font-size:clamp(14px,1.9vw,18px);color:var(--mute)}
.fmeta{margin-top:38px;font-family:'SG';font-weight:500;font-size:10px;letter-spacing:.3em;color:#A29B8D}

/* ---------- REVEALS ---------- */
.rv{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.js .rv{opacity:0;transform:translateY(26px)}
.js .rv.on{opacity:1;transform:none}

@media(max-width:900px){
  .links{display:none}
  .grid2{grid-template-columns:1fr}
  .coatgrid{grid-template-columns:1fr}
  .mrow{grid-template-columns:1fr auto;row-gap:6px}
  .mtime,.mar{display:none}
}
@media (prefers-reduced-motion:reduce){
  .rv{transition:none!important;opacity:1!important;transform:none!important}
}
