
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Public+Sans:wght@400;500;600&display=swap');
:root{--sea:#315c6b;--coral:#e0785f;--sun:#e8bd5a;--maquis:#75856d;--paper:#f8f5ee;--ink:#262b2b;--white:#fff;--line:#d8d4c8;--radius:22px}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:'Public Sans',sans-serif;background:var(--paper);color:var(--ink);line-height:1.65} a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button,input,textarea,select{font:inherit}
.sitebar{position:sticky;top:0;z-index:30;background:rgba(248,245,238,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.bar-inner{max-width:1320px;margin:auto;padding:13px 28px;display:flex;align-items:center;gap:28px}.brand{font-family:'Plus Jakarta Sans';font-weight:800;letter-spacing:-.04em}.nav{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.nav a{font-size:.88rem;padding:9px 12px;border-radius:999px}.nav a:hover,.nav a.active{background:var(--ink);color:white}.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--ink);padding:8px 12px;border-radius:999px}
.home-gate{min-height:78vh;display:grid;grid-template-columns:1fr 1fr;max-width:1500px;margin:auto}.gate-intro{padding:72px 6vw 48px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-family:'DM Mono';font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.gate-intro h1{font-family:'Plus Jakarta Sans';font-size:clamp(3.1rem,7vw,7.5rem);line-height:.92;letter-spacing:-.075em;margin:.22em 0}.gate-intro p{max-width:610px;font-size:1.12rem}.gate-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;min-height:78vh}.gate{padding:34px;display:flex;flex-direction:column;justify-content:space-between;transition:.35s transform,.35s filter;position:relative;overflow:hidden}.gate:hover{transform:scale(.985)}.gate:nth-child(1){background:var(--sea);color:#fff}.gate:nth-child(2){background:var(--sun)}.gate:nth-child(3){background:var(--maquis);color:#fff}.gate:nth-child(4){background:var(--coral)}.gate .num{font-family:'DM Mono';font-size:.8rem}.gate h2{font-family:'Plus Jakarta Sans';font-size:clamp(1.65rem,3.2vw,3rem);line-height:1;letter-spacing:-.05em;margin:0}.gate small{font-size:.95rem}
.ticker{overflow:hidden;border-block:1px solid var(--ink);padding:13px 0;background:#fff}.ticker-track{white-space:nowrap;display:inline-block;font-family:'DM Mono';animation:move 28s linear infinite}@keyframes move{to{transform:translateX(-50%)}}
.wrap{max-width:1180px;margin:auto;padding:82px 28px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:start}.title{font-family:'Plus Jakarta Sans';font-weight:800;letter-spacing:-.055em;line-height:1.02;font-size:clamp(2.5rem,5.2vw,5.3rem);margin:.15em 0}.lead{font-size:1.2rem;max-width:760px}.rule{border-top:1px solid var(--ink);margin:26px 0}.image-caption{font-family:'DM Mono';font-size:.76rem;margin-top:8px}.photo{border-radius:4px;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.landscape{aspect-ratio:16/9}.portrait{aspect-ratio:4/5}
.rhythms{display:grid;grid-template-columns:1.35fr .75fr 1fr;gap:10px}.rhythm{min-height:260px;padding:26px;border:1px solid var(--ink);display:flex;flex-direction:column;justify-content:flex-end}.rhythm:nth-child(1){background:#fff}.rhythm:nth-child(2){background:var(--sun)}.rhythm:nth-child(3){background:var(--sea);color:white}.rhythm h3{font-family:'Plus Jakarta Sans';font-size:1.65rem;margin:0 0 8px}
.signage{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink)}.sign{min-height:220px;padding:24px;border-right:1px solid var(--ink)}.sign:last-child{border-right:0}.sign b{font-family:'DM Mono';font-size:.8rem}.sign h3{font-family:'Plus Jakarta Sans';font-size:1.35rem;line-height:1.1}
.exit-panel{background:var(--ink);color:white;padding:72px 28px}.exit-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.exit-inner h2{font-family:'Plus Jakarta Sans';font-size:clamp(2.2rem,5vw,4.8rem);letter-spacing:-.055em;line-height:.98;margin:0}.plain-link{display:inline-flex;gap:10px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:5px}.plain-link:hover{gap:16px}
.page-head{padding:80px 28px 48px;max-width:1180px;margin:auto}.page-head .kicker{font-family:'DM Mono';text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.page-head h1{font-family:'Plus Jakarta Sans';font-size:clamp(3.2rem,7vw,6.7rem);letter-spacing:-.07em;line-height:.92;margin:.2em 0}.page-head p{max-width:760px;font-size:1.17rem}
.article{max-width:930px;margin:auto;padding:30px 28px 90px}.article h2{font-family:'Plus Jakarta Sans';font-size:2rem;letter-spacing:-.035em;margin-top:2.2em}.article h3{font-family:'Plus Jakarta Sans';font-size:1.25rem}.article p{font-size:1.04rem}.article .fact{border-left:5px solid var(--coral);padding:18px 24px;background:#fff;margin:30px 0}.article ul{padding-left:20px}
.choice-stack{display:grid;gap:8px;margin:36px 0}.choice{border:1px solid var(--ink);padding:20px 22px;display:grid;grid-template-columns:80px 1fr auto;gap:18px;align-items:center;background:#fff}.choice span:first-child{font-family:'DM Mono'}.choice strong{font-family:'Plus Jakarta Sans';font-size:1.25rem}.choice:hover{background:var(--sun)}
.info-board{max-width:1180px;margin:0 auto 90px;padding:0 28px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.info-card{padding:26px;background:#fff;border:1px solid var(--line)}.info-card strong{display:block;font-family:'DM Mono';font-size:.76rem;text-transform:uppercase;margin-bottom:8px}
.contact-box{max-width:880px;margin:auto;padding:20px 28px 100px}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px}.contact-form{display:grid;gap:14px}.contact-form label{font-size:.84rem;font-weight:600}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:14px;border:1px solid #aaa;background:#fff}.contact-form textarea{min-height:170px}.btn{border:0;background:var(--ink);color:white;padding:14px 18px;font-weight:700;cursor:pointer}.btn:hover{background:var(--sea)}
footer{border-top:1px solid var(--ink);padding:28px}.foot{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr auto;gap:20px}.foot small{color:#5d6361}.foot nav{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem}
@media(max-width:900px){.nav{display:none}.menu-btn{display:block}.nav.open{display:flex;position:absolute;top:59px;left:0;right:0;background:var(--paper);padding:20px 28px;flex-direction:column;border-bottom:1px solid var(--ink)}.home-gate{grid-template-columns:1fr}.gate-grid{min-height:620px}.split,.contact-grid{grid-template-columns:1fr}.rhythms{grid-template-columns:1fr}.signage{grid-template-columns:1fr 1fr}.sign:nth-child(2){border-right:0}.sign:nth-child(-n+2){border-bottom:1px solid var(--ink)}.exit-inner{grid-template-columns:1fr}.info-board{grid-template-columns:1fr}}
@media(max-width:560px){.bar-inner{padding-inline:18px}.home-gate{min-height:auto}.gate-intro{padding:55px 22px}.gate-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,180px)}.gate{padding:22px}.wrap,.page-head{padding-left:20px;padding-right:20px}.signage{grid-template-columns:1fr}.sign{border-right:0;border-bottom:1px solid var(--ink)}.choice{grid-template-columns:54px 1fr}.choice em{display:none}.foot{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
