/* ===== SANCTUM ATHLETIC CLUB — shared styles ===== */
:root{
  --bg:#100d0b;--bg2:#15110e;--panel:#1b1612;--line:rgba(202,164,114,.18);
  --ink:#ece4d8;--ink-dim:#b3a895;--brass:#c6a06a;--brass-soft:#d8b888;--max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Jost',sans-serif;font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.12}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.eyebrow{font-family:'Jost';font-weight:400;letter-spacing:.42em;text-transform:uppercase;font-size:11px;color:var(--brass)}
.center{text-align:center}
.btn{display:inline-block;background:var(--brass);color:#16110b;font-family:'Jost';font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:12.5px;padding:17px 34px;border:none;border-radius:2px;cursor:pointer;transition:.25s;white-space:nowrap}
.btn:hover{background:var(--brass-soft);transform:translateY(-1px)}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--brass)}
.divider{width:46px;height:1px;background:var(--brass);margin:0 auto}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(10px);background:rgba(16,13,11,.82);transition:.3s}
nav.solid{background:rgba(16,13,11,.95);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--max);margin:0 auto;padding:13px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.nav-name{font-family:'Jost';letter-spacing:.3em;font-size:13px;white-space:nowrap}
.nav-name b{color:var(--brass);font-weight:400}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{font-family:'Jost';letter-spacing:.16em;text-transform:uppercase;font-size:11px;color:var(--ink-dim);transition:.2s}
.nav-links a:hover,.nav-links a.active{color:var(--brass-soft)}
nav .btn{padding:11px 22px;font-size:11px}
@media(max-width:900px){.nav-links{display:none}}

/* hero variants */
.hero-logo{background:#cdbfa6;line-height:0}
.hero-logo img{width:100%;display:block}
.hero-img{position:relative;min-height:74vh;display:flex;align-items:flex-end;background-size:cover;background-position:center;overflow:hidden}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,13,11,.45),transparent 35%,rgba(16,13,11,.55) 70%,rgba(16,13,11,.96))}
.hero-img .hero-in{position:relative;z-index:2;padding:0 0 70px;width:100%}
.page-copy{background:linear-gradient(180deg,#15110e,var(--bg));text-align:center;padding:60px 24px 78px;border-bottom:1px solid var(--line)}
.page-copy .eyebrow{display:block;margin-bottom:18px}
.page-copy h1{font-size:clamp(32px,5.5vw,58px);font-weight:400;margin:0 0 16px}
.page-copy h1 em{font-style:italic;color:var(--brass-soft)}
.page-copy p.lede{font-size:clamp(16px,2.2vw,19px);color:var(--ink-dim);max-width:600px;margin:0 auto 30px}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.scarcity{margin-top:24px;font-family:'Jost';letter-spacing:.3em;text-transform:uppercase;font-size:11px;color:var(--brass)}
.scarcity .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--brass);margin-right:9px;vertical-align:middle;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
/* simple page banner hero (interior pages) */
.banner{padding:140px 24px 70px;text-align:center;background:linear-gradient(180deg,#15110e,var(--bg));border-bottom:1px solid var(--line)}
.banner h1{font-size:clamp(34px,6vw,62px);font-weight:400;margin:14px 0 14px}
.banner h1 em{font-style:italic;color:var(--brass-soft)}
.banner p{color:var(--ink-dim);font-size:17px;max-width:600px;margin:0 auto}

section{padding:92px 0;position:relative}
.sec-head{text-align:center;max-width:680px;margin:0 auto 54px}
.sec-head h2{font-size:clamp(30px,4.5vw,46px);margin:14px 0 16px}
.sec-head p{color:var(--ink-dim);font-size:17px}
.tone{background:linear-gradient(180deg,var(--bg2),var(--bg));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.intro{text-align:center}
.intro h2{font-size:clamp(32px,5vw,54px);max-width:880px;margin:0 auto 20px}
.intro h2 em{font-style:italic;color:var(--brass-soft)}
.intro p{color:var(--ink-dim);font-size:18px;max-width:620px;margin:0 auto}
.stat-row{display:flex;gap:38px;justify-content:center;flex-wrap:wrap;margin-top:34px;font-family:'Jost';letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--brass-soft)}
.stat-row .sep{color:var(--brass)}

/* image band */
.band{padding:0;line-height:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band img{width:100%;display:block}

/* worlds / cards */
.worlds{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:820px){.worlds{grid-template-columns:1fr}}
.world{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--panel);transition:.3s;display:block}
.world:hover{border-color:rgba(202,164,114,.4);transform:translateY(-3px)}
.world .img{height:210px;background-size:cover;background-position:center}
.world .body{padding:28px 26px}
.world h3{font-size:25px;margin-bottom:9px}
.world p{color:var(--ink-dim);font-size:14.5px}
.world .more{display:inline-block;margin-top:14px;font-family:'Jost';letter-spacing:.16em;text-transform:uppercase;font-size:10.5px;color:var(--brass)}

/* feature lists */
.flist{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 40px;max-width:820px;margin:0 auto}
@media(max-width:680px){.flist{grid-template-columns:1fr}}
.flist li{list-style:none;padding:16px 0 16px 30px;position:relative;border-bottom:1px solid rgba(202,164,114,.1)}
.flist li::before{content:"";position:absolute;left:0;top:22px;width:9px;height:9px;border:1px solid var(--brass);transform:rotate(45deg)}
.flist li b{display:block;font-family:'Jost';font-weight:400;color:var(--ink);font-size:15px;letter-spacing:.02em}
.flist li span{color:var(--ink-dim);font-size:14px}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border:1px solid var(--line);border-radius:6px;overflow:hidden}
@media(max-width:820px){.split{grid-template-columns:1fr}}
.split .pic{min-height:400px;background-size:cover;background-position:center}
.split .txt{padding:52px 46px;display:flex;flex-direction:column;justify-content:center;background:var(--panel)}
.split .txt h2{font-size:clamp(28px,4vw,42px);margin:12px 0 16px}
.split .txt h2 em{font-style:italic;color:var(--brass-soft)}
.split .txt p{color:var(--ink-dim);font-size:16px;margin-bottom:14px}
.split .txt .mini{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;font-family:'Jost';font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-soft)}

/* comparison */
.ctable{max-width:760px;margin:0 auto;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.crow{display:grid;grid-template-columns:1.5fr 1fr 1fr;border-bottom:1px solid rgba(202,164,114,.12)}
.crow:last-child{border-bottom:none}
.crow>div{padding:18px 20px;font-size:14.5px}
.crow .lab{color:var(--ink);font-family:'Jost';font-weight:400}
.crow .big{color:var(--ink-dim);text-align:center}
.crow .san{color:var(--brass-soft);text-align:center;background:rgba(198,160,106,.05)}
.crow.head>div{font-family:'Jost';letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--brass);padding:16px 20px}
.crow.total{background:rgba(198,160,106,.08)}
.crow.total>div{font-family:'Cormorant Garamond';font-size:24px;padding:22px 20px}
.crow.total .san{font-weight:600;color:var(--brass-soft)}
.compare-note{text-align:center;color:var(--ink-dim);font-size:13px;margin-top:22px}

/* ladder */
.counter{max-width:560px;margin:0 auto 44px;text-align:center}
.counter-label{font-family:'Jost';letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:var(--brass);margin-bottom:13px}
.counter-label b{color:var(--ink);font-size:15px;font-weight:500}
.bar{height:8px;background:#0f0c0a;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--brass),var(--brass-soft));width:0;transition:width 1.1s ease}
.ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:780px;margin:0 auto}
@media(max-width:620px){.ladder{grid-template-columns:1fr}}
.rung{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:24px 18px;text-align:center;position:relative}
.rung.active{border-color:var(--brass);background:linear-gradient(180deg,#1f1813,var(--panel))}
.rung.active::after{content:"You're here";position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--brass);color:#16110b;font-family:'Jost';font-weight:500;letter-spacing:.13em;text-transform:uppercase;font-size:9px;padding:4px 12px;border-radius:2px}
.rung-tag{display:block;font-family:'Jost';letter-spacing:.13em;text-transform:uppercase;font-size:10px;color:var(--brass)}
.rung-price{display:block;font-family:'Cormorant Garamond';font-size:38px;margin:7px 0 2px}
.rung-sub{display:block;font-size:12px;color:var(--ink-dim)}
.ladder-note{text-align:center;color:var(--ink-dim);font-size:13.5px;margin:28px auto 0;max-width:580px}

/* tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
@media(max-width:820px){.tiers{grid-template-columns:1fr;max-width:420px;margin:0 auto}}
.tier{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:34px 28px;display:flex;flex-direction:column}
.tier.feature{border-color:var(--brass);position:relative;background:linear-gradient(180deg,#1f1813,var(--panel))}
.tier.feature .ribbon{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--brass);color:#16110b;font-family:'Jost';font-weight:500;letter-spacing:.16em;text-transform:uppercase;font-size:10px;padding:5px 16px;border-radius:2px;white-space:nowrap}
.tier h3{font-size:25px;margin-bottom:4px}
.tier .tprice{font-family:'Cormorant Garamond';font-size:46px;margin:12px 0 2px}
.tier .tprice small{font-size:17px;color:var(--ink-dim)}
.tier .twas{color:var(--ink-dim);text-decoration:line-through;font-size:13px}
.tier ul{list-style:none;margin:22px 0 26px;flex:1}
.tier li{padding:9px 0 9px 22px;position:relative;font-size:14.5px;color:var(--ink-dim);border-bottom:1px solid rgba(255,255,255,.04)}
.tier li::before{content:"—";position:absolute;left:0;color:var(--brass)}
.tier .btn{width:100%;text-align:center}

/* form */
.form-box{max-width:640px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:46px 40px}
@media(max-width:560px){.form-box{padding:34px 24px}}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.form-row{grid-template-columns:1fr}}
label{display:block;font-family:'Jost';letter-spacing:.16em;text-transform:uppercase;font-size:10.5px;color:var(--brass);margin:18px 0 7px}
input,select{width:100%;background:#0f0c0a;border:1px solid var(--line);border-radius:3px;color:var(--ink);font-family:'Jost';font-weight:300;font-size:15px;padding:14px 15px}
input:focus,select:focus{outline:none;border-color:var(--brass)}
.form-box .btn{width:100%;margin-top:26px;padding:18px}
.addon{display:flex;align-items:flex-start;gap:11px;margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:3px;background:#0f0c0a;cursor:pointer}
.addon input{width:18px;height:18px;min-width:18px;margin-top:2px;accent-color:var(--brass)}
.addon span{font-family:'Jost';font-size:14px;color:var(--ink);line-height:1.45}
.addon span small{display:block;color:var(--ink-dim);font-size:12.5px}
.fineprint{text-align:center;color:var(--ink-dim);font-size:12.5px;margin-top:16px;line-height:1.5}

/* faq */
.faq{max-width:780px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{padding:24px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:'Cormorant Garamond';font-size:22px}
.faq-q .pm{color:var(--brass);font-family:'Jost';font-weight:300;font-size:24px;transition:.3s}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;color:var(--ink-dim);font-size:15.5px}
.faq-a p{padding:0 0 24px}
.faq-item.open .faq-a{max-height:300px}
.faq-item.open .pm{transform:rotate(45deg)}

/* cta band */
.cta-band{text-align:center;background:linear-gradient(180deg,var(--bg2),var(--bg))}
.cta-band h2{font-size:clamp(30px,4.5vw,48px);margin-bottom:14px}
.cta-band h2 em{font-style:italic;color:var(--brass-soft)}
.cta-band p{color:var(--ink-dim);font-size:17px;max-width:560px;margin:0 auto 28px}

/* footer */
footer{background:#0b0908;border-top:1px solid var(--line);padding:56px 0 40px}
.foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;max-width:var(--max);margin:0 auto;padding:0 28px}
.foot-brand .fname{font-family:'Jost';letter-spacing:.3em;font-size:15px}
.foot-brand .fname b{color:var(--brass);font-weight:400}
.foot-brand .fsub{font-family:'Jost';letter-spacing:.3em;font-size:10px;color:var(--ink-dim);text-transform:uppercase;margin-top:5px}
.foot-brand .loc{color:var(--ink-dim);font-size:13px;margin-top:14px}
.foot-links{display:flex;gap:50px;flex-wrap:wrap}
.foot-col h4{font-family:'Jost';font-weight:400;letter-spacing:.16em;text-transform:uppercase;font-size:11px;color:var(--brass);margin-bottom:14px}
.foot-col a{display:block;color:var(--ink-dim);font-size:13.5px;margin-bottom:9px;transition:.2s}
.foot-col a:hover{color:var(--brass-soft)}
.legal{color:#6b6055;font-size:11.5px;margin:34px auto 0;max-width:var(--max);padding:24px 28px 0;line-height:1.7;border-top:1px solid var(--line)}

/* ===== Journal / blog (TWD format: hero image + 760px reading column + spacing) ===== */
.post-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;background-size:cover;background-position:center;overflow:hidden}
.post-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,13,11,.5),transparent 28%,rgba(16,13,11,.6) 64%,rgba(16,13,11,.97))}
.post-hero .ph-in{position:relative;z-index:2;width:100%;padding:0 0 52px}
.post-hero .breadcrumbs{font-family:'Jost';font-size:12px;letter-spacing:.06em;color:var(--ink-dim);margin-bottom:14px}
.post-hero .breadcrumbs a{color:var(--brass-soft)}
.post-hero h1{font-size:clamp(30px,5vw,52px);font-weight:400;margin:10px 0 16px;max-width:900px}
.post-hero h1 em{font-style:italic;color:var(--brass-soft)}
.post-meta{display:flex;flex-wrap:wrap;gap:20px;color:var(--ink-dim);font-family:'Jost';font-size:13px;letter-spacing:.04em}
.post-meta b{color:var(--brass-soft);font-weight:400}
.post-body{max-width:760px;margin:0 auto;padding:64px 28px 36px}
.post-body p,.post-body li{font-size:18px;line-height:1.78;color:var(--ink-dim);margin-bottom:1.3rem}
.post-body .lead{font-size:20px;line-height:1.7;color:var(--ink)}
.post-body h2{font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(26px,3.6vw,34px);color:var(--ink);margin:48px 0 16px}
.post-body h3{font-family:'Cormorant Garamond';font-weight:500;font-size:24px;color:var(--ink);margin:34px 0 12px}
.post-body img{width:100%;height:auto;border-radius:6px;margin:28px 0;border:1px solid var(--line)}
.post-body ul,.post-body ol{padding-left:22px;margin-bottom:1.3rem}
.post-body li{margin-bottom:8px}
.post-body a:not(.btn){color:var(--brass-soft);border-bottom:1px solid var(--line)}
.post-body strong{color:var(--ink);font-weight:400}
.post-callout{background:var(--panel);border-left:2px solid var(--brass);padding:20px 24px;margin:34px 0;border-radius:4px}
.post-callout p{margin:0;color:var(--ink);font-size:16px}
.post-faq{max-width:760px;margin:0 auto;padding:8px 28px 36px}
.post-faq h2{font-family:'Cormorant Garamond';font-size:30px;text-align:center;margin-bottom:18px}
.post-faq details{border-bottom:1px solid var(--line)}
.post-faq summary{padding:22px 0;cursor:pointer;font-family:'Cormorant Garamond';font-size:21px;color:var(--ink);list-style:none}
.post-faq summary::-webkit-details-marker{display:none}
.post-faq details[open] summary{color:var(--brass-soft)}
.post-faq p{padding:0 0 22px;color:var(--ink-dim);font-size:16px;line-height:1.7;margin:0}
.post-cta{max-width:760px;margin:16px auto 0;padding:36px 28px 80px}
.post-cta .inner{background:linear-gradient(180deg,#1f1813,var(--panel));border:1px solid var(--brass);border-radius:8px;padding:46px 36px;text-align:center}
.post-cta h2{font-family:'Cormorant Garamond';font-size:clamp(26px,4vw,38px);margin-bottom:12px}
.post-cta h2 em{font-style:italic;color:var(--brass-soft)}
.post-cta p{color:var(--ink-dim);margin-bottom:24px}
/* journal index */
.journal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
@media(max-width:760px){.journal-grid{grid-template-columns:1fr}}
.jcard{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel);transition:.3s;display:block}
.jcard:hover{border-color:rgba(202,164,114,.4);transform:translateY(-3px)}
.jcard .img{height:210px;background-size:cover;background-position:center}
.jcard .jb{padding:26px 24px}
.jcard .cat{font-family:'Jost';letter-spacing:.16em;text-transform:uppercase;font-size:10px;color:var(--brass)}
.jcard h3{font-size:25px;margin:9px 0 9px}
.jcard p{color:var(--ink-dim);font-size:14.5px}
.jcard .more{display:inline-block;margin-top:13px;font-family:'Jost';letter-spacing:.16em;text-transform:uppercase;font-size:10.5px;color:var(--brass)}
