:root{--ink:#24121f;--berry:#2a0c1e;--wine:#541a3b;--gold:#c8a46a;--cream:#f7f2eb;--paper:#fffdf9;--line:rgba(42,12,30,.14);--sans:"DM Sans",system-ui,sans-serif;--serif:"Playfair Display",Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:17px;line-height:1.75}
a{color:inherit}
img{display:block;max-width:100%}
.site-header{position:absolute;z-index:20;top:0;left:0;right:0;height:96px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18);color:#fff}
.brand img{width:clamp(175px,19vw,270px);height:62px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
.site-nav{display:flex;gap:28px;align-items:center;font-size:14px;letter-spacing:.04em}
.site-nav a{text-decoration:none;opacity:.86}.site-nav a:hover,.site-nav a.active{opacity:1;color:#f3d79e}
.site-nav .nav-cta{border:1px solid rgba(255,255,255,.7);padding:9px 18px;border-radius:100px}
.menu-toggle{display:none;border:0;background:none}.menu-toggle span{display:block;width:26px;height:1px;background:#fff;margin:7px}
.hero,.page-hero{position:relative;color:#fff;background-color:var(--berry);overflow:hidden}
.hero-full{min-height:100svh;min-height:100vh;background-image:linear-gradient(100deg,rgba(24,5,16,.87),rgba(40,8,28,.48),rgba(20,3,14,.68)),var(--hero-image);background-position:center;background-size:cover;display:grid;place-items:center}
.hero-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,transparent,rgba(16,1,10,.28))}
.hero-content{position:relative;z-index:2;width:min(1000px,calc(100% - 40px));margin:auto;text-align:center;padding:135px 0 90px}
.eyebrow{display:block;color:var(--gold);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12}
.hero h1{margin:0 auto;max-width:920px;font-size:clamp(48px,5.4vw,82px);letter-spacing:-.04em;text-wrap:balance}
.hero-deck{max-width:700px;margin:26px auto 0;color:rgba(255,255,255,.84);font-size:clamp(17px,2vw,21px);line-height:1.6}
.hero-actions{margin-top:38px;display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:55px;padding:0 28px;border-radius:100px;text-decoration:none;font-weight:600}
.button-gold{background:var(--gold);color:#220c18;box-shadow:0 18px 45px rgba(0,0,0,.18)}.button-gold:hover{background:#ddbc84;transform:translateY(-1px)}
.text-link{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding:10px 0}.text-link span{margin-left:6px}
.trust-row{display:flex;justify-content:center;gap:34px;margin-top:54px;color:rgba(255,255,255,.64);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.trust-row span:before{content:"◆";color:var(--gold);font-size:7px;margin-right:10px}
.scroll-cue{position:absolute;z-index:2;bottom:24px;left:50%;width:28px;height:42px;border:1px solid rgba(255,255,255,.4);border-radius:20px}.scroll-cue span{position:absolute;width:3px;height:7px;border-radius:3px;background:#fff;top:9px;left:12px;animation:scroll 1.8s infinite}
@keyframes scroll{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(13px)}}
.page-hero{padding:170px 20px 86px;background:linear-gradient(135deg,#210715,#541a3b)}
.page-hero .hero-content{padding:0;text-align:left;width:min(1120px,100%)}
.page-hero h1{font-size:clamp(44px,6vw,76px);max-width:900px;margin:0;letter-spacing:-.03em;text-wrap:balance}
.page-hero .hero-deck{margin:24px 0 0;max-width:760px}
.city-section{padding:110px clamp(20px,6vw,90px);background:var(--cream)}
.city-section>.eyebrow,.city-section>h2{max-width:1240px;margin-left:auto;margin-right:auto}
.city-section h2{font-size:clamp(42px,5vw,70px);margin-top:0;margin-bottom:48px}
.city-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.city-card{position:relative;min-height:340px;grid-column:span 4;overflow:hidden;border-radius:2px;color:#fff;text-decoration:none;padding:26px;display:flex;flex-direction:column;justify-content:flex-end}
.city-card:nth-child(1),.city-card:nth-child(5){grid-column:span 8}
.city-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.city-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(20,5,15,.82))}
.city-card span,.city-card small{position:relative;z-index:1}.city-card span{font-family:var(--serif);font-size:34px}.city-card small{color:#e8cf9f}.city-card:hover img{transform:scale(1.035)}
.article-shell{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:110px 0 130px;display:grid;grid-template-columns:250px minmax(0,780px);gap:clamp(55px,9vw,130px);justify-content:center}
.article-aside{position:sticky;top:28px;align-self:start;border-top:1px solid var(--gold);padding-top:22px;font-size:14px;color:#695d65}.article-aside span{color:var(--berry);font-weight:600}.article-aside a{color:var(--wine);font-weight:600}
.prose{min-width:0}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:#887982;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:30px}.breadcrumbs a{text-decoration:none}
.editorial-image{margin:0 0 58px}.editorial-image img{width:100%;aspect-ratio:16/9;object-fit:cover}
.prose h2{font-size:clamp(34px,4vw,52px);margin:80px 0 22px;letter-spacing:-.025em;color:var(--berry)}.prose h2:first-of-type{margin-top:20px}
.prose h3{font-size:27px;margin:46px 0 14px;color:var(--wine)}
.prose p{margin:0 0 22px}.prose a{color:#7a1f51;text-decoration-thickness:1px;text-underline-offset:3px}
.prose strong{color:#391229}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:9px 0}
.prose blockquote{margin:36px 0;padding:8px 0 8px 28px;border-left:2px solid var(--gold);font-family:var(--serif);font-size:21px;color:#59434f}
.prose hr{border:0;border-top:1px solid var(--line);margin:68px 0}
.prose table{width:100%;border-collapse:collapse;margin:34px 0;font-size:15px}.prose th,.prose td{padding:14px;border-bottom:1px solid var(--line);text-align:left}.prose th{background:var(--cream)}
.prose>p>a[href="#join-now"]{display:inline-flex;background:var(--berry);color:#fff;text-decoration:none;padding:13px 24px;border-radius:100px;font-weight:600}
.join-panel{margin:0 clamp(16px,4vw,56px) 56px;padding:clamp(42px,6vw,86px);background:linear-gradient(135deg,#250817,#551739);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.join-panel h2{font-size:clamp(40px,5vw,68px);margin:0 0 18px}.join-panel p{color:rgba(255,255,255,.7);max-width:500px}
.join-action{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.join-action small{color:rgba(255,255,255,.55)}.join-action .button{min-width:250px}
.join-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.join-form label{display:grid;gap:6px}.join-form label:nth-child(3){grid-column:1/-1}.join-form label span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#e5ca99}
.join-form input,.join-form select{width:100%;height:52px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;border-radius:0;padding:0 14px;font:inherit}.join-form select option{color:#111}
.join-form button{grid-column:1/-1;border:0;height:55px;background:var(--gold);color:#26101d;font:600 15px var(--sans);cursor:pointer}.join-form button span{margin-left:8px}.join-form small{grid-column:1/-1;color:rgba(255,255,255,.5)}
.join-page-form{margin:42px 0;padding:34px;background:var(--berry);color:#fff}.join-page-form small{color:rgba(255,255,255,.58)}
.site-footer{background:#16040f;color:rgba(255,255,255,.68);padding:76px clamp(24px,6vw,90px) 28px}
.footer-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px}.footer-brand img{width:245px;height:70px;object-fit:contain;object-position:left;filter:brightness(0) invert(1)}.footer-brand p{max-width:350px}
.site-footer h2{font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#d8b77c;margin:0 0 20px}.site-footer a{display:block;text-decoration:none;margin:8px 0;font-size:14px}.site-footer a:hover{color:#fff}
.footer-bottom{max-width:1240px;margin:60px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;font-size:12px}
@media(max-width:900px){
 .site-header{height:78px;padding:0 20px}.brand img{width:190px;height:52px}.menu-toggle{display:block;position:relative;z-index:4}.site-nav{display:none;position:absolute;inset:0 0 auto;background:#210715;padding:100px 24px 34px;flex-direction:column;align-items:flex-start}.site-nav.open{display:flex}.site-nav a{font-size:18px}.hero-content{padding-top:112px}.hero h1{font-size:clamp(44px,13vw,72px)}.trust-row{gap:12px;flex-wrap:wrap}.trust-row span{font-size:10px}
 .city-card,.city-card:nth-child(1),.city-card:nth-child(5){grid-column:span 6}.article-shell{grid-template-columns:1fr;padding:72px 0 90px}.article-aside{display:none}.join-panel{grid-template-columns:1fr;gap:30px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}
@media(max-width:600px){
 body{font-size:16px}.hero-full{min-height:100svh}.hero-content{width:calc(100% - 32px)}.hero h1{font-size:clamp(42px,13vw,62px)}.hero-deck{font-size:16px}.hero-actions{flex-direction:column;gap:12px}.button{width:100%}.trust-row{margin-top:38px}.scroll-cue{display:none}
 .page-hero{padding:130px 20px 64px}.page-hero h1{font-size:40px}.city-section{padding:72px 16px}.city-section h2{font-size:40px}.city-grid{display:block}.city-card{min-height:280px;margin-bottom:14px}
 .article-shell{width:calc(100% - 32px)}.prose h2{font-size:34px;margin-top:60px}.prose h3{font-size:25px}.prose table{display:block;overflow-x:auto}
 .join-panel{margin:0;padding:56px 20px}.join-form{grid-template-columns:1fr}.join-form label:nth-child(3),.join-form button,.join-form small{grid-column:auto}.footer-grid{grid-template-columns:1fr;gap:36px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}
}
