:root{--red:#C8102E;--deep:#8E0C20;--ink:#111111;--bg:#FFFFFF;--grey:#F6F5F3;--line:#E4E2DE;--muted:#5A5856}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--red);text-decoration:none}a:hover{color:var(--deep)}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;padding:8px 14px;z-index:9}
header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}
.nav{display:flex;align-items:center;justify-content:space-between;height:84px}
.nav img{height:46px;width:auto;display:block}
.nav ul{list-style:none;display:flex;gap:34px;margin:0;padding:0;align-items:center}
.nav ul a{color:var(--ink);font-size:14px;font-weight:500;letter-spacing:.02em;padding:6px 0;border-bottom:1px solid transparent}
.nav ul a:hover,.nav ul a[aria-current]{color:var(--red);border-bottom-color:var(--red)}
.nav ul a.cta{border:1px solid var(--ink);padding:10px 20px}.nav ul a.cta:hover{background:var(--red);border-color:var(--red);color:#fff}
.menu{display:none;background:none;border:1px solid var(--line);font:inherit;font-size:14px;padding:8px 14px;cursor:pointer}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin:0 0 22px;display:flex;align-items:center;gap:14px}
.eyebrow:before{content:"";width:32px;height:1px;background:var(--red)}
h1,h2,h3{font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:0}
h1{font-size:clamp(44px,6.4vw,84px);max-width:16ch}
h2{font-size:clamp(32px,3.6vw,48px);max-width:20ch}
h3{font-size:22px;letter-spacing:-.01em;line-height:1.3}
.lede{font-size:clamp(19px,1.6vw,23px);color:var(--muted);max-width:40em;margin:32px 0 0;font-weight:400}
.hero{padding:130px 0 120px;border-bottom:1px solid var(--line)}
.page-hero{padding:110px 0 90px;border-bottom:1px solid var(--line)}
section{padding:110px 0}.alt{background:var(--grey)}
.btn{display:inline-block;background:var(--red);color:#fff;padding:17px 34px;font-size:15px;font-weight:600;letter-spacing:.02em;margin-top:44px;transition:background .2s}
.btn:hover{background:var(--deep);color:#fff}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink);margin-left:12px}.btn.ghost:hover{border-color:var(--red);color:var(--red)}
.grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.grid a.card{color:var(--ink);display:block;padding:48px 48px 52px 0;border-bottom:1px solid var(--line)}
.grid a.card:nth-child(even){padding-left:48px;padding-right:0;border-left:1px solid var(--line)}
.card .num{font-size:13px;color:var(--red);font-weight:600;letter-spacing:.1em}
.card h3{margin:18px 0 12px;font-size:28px}.card p{color:var(--muted);margin:0}
.card .more{display:inline-block;margin-top:24px;font-size:14px;font-weight:600;color:var(--red)}
.card:hover h3{color:var(--red)}
.split{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
.split p{margin:0 0 20px}
.tag{font-size:clamp(30px,3.4vw,46px);font-weight:600;letter-spacing:-.025em;line-height:1.15}
.tag em{font-style:normal;color:var(--red)}
.listing{border-top:1px solid var(--ink);margin-top:56px}
.item{display:grid;grid-template-columns:4fr 3fr 4fr;gap:40px;padding:34px 0;border-bottom:1px solid var(--line)}
.item h3{font-size:21px}.item .loc{color:var(--muted);font-size:15px}.item p{margin:0;font-size:16px;color:#333}
.item a.link{display:inline-block;margin-top:10px;font-size:14px;font-weight:600}
.cat{margin-top:72px}.cat h3.cath{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:6px}
.note{margin-top:40px;font-size:16px;color:var(--muted)}
.book{display:grid;grid-template-columns:320px 1fr;gap:80px;align-items:center}
.book img{width:100%;height:auto;box-shadow:0 30px 60px -20px rgba(17,17,17,.3);display:block}
.chips{list-style:none;padding:0;margin:40px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.chips li{border:1px solid var(--line);padding:12px 22px;font-size:15px;background:#fff}
form{display:grid;gap:22px}label{font-size:13px;font-weight:600;letter-spacing:.04em;display:block;margin-bottom:8px}
input,select,textarea{width:100%;font:inherit;font-size:16px;padding:14px 16px;border:1px solid var(--line);background:#fff;color:var(--ink)}
input:disabled,select:disabled,textarea:disabled{background:#FAFAF9;cursor:not-allowed}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.notice{border-left:2px solid var(--red);background:var(--grey);padding:18px 22px;font-size:15px;margin-bottom:8px}
button[disabled]{background:#BDBAB6;color:#fff;border:0;padding:17px 34px;font:inherit;font-weight:600;font-size:15px;cursor:not-allowed;justify-self:start}
footer{border-top:1px solid var(--line);padding:72px 0 48px;font-size:14px;color:var(--muted)}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
footer img{height:30px}footer ul{list-style:none;padding:0;margin:0}footer li{margin:6px 0}footer a{color:var(--ink)}
.fine{border-top:1px solid var(--line);margin-top:56px;padding-top:24px;display:flex;justify-content:space-between}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(max-width:900px){.wrap{padding:0 24px}.menu{display:block}.nav ul{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:16px 24px 28px;gap:16px;border-bottom:1px solid var(--line)}.nav ul.open{display:flex}
.grid,.split,.book,.fgrid,.row2{grid-template-columns:1fr}.grid a.card,.grid a.card:nth-child(even){padding:36px 0;border-left:0}.split{gap:32px}.book{gap:40px}.book img{max-width:260px}
.item{grid-template-columns:1fr;gap:6px}.hero{padding:80px 0}.page-hero{padding:70px 0 60px}section{padding:72px 0}.btn.ghost{margin-left:0}.fine{flex-direction:column;gap:8px}}
.join{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#fff}
.join>div{padding:56px 56px 60px}.join>div+div{border-left:1px solid var(--line)}
.join h3{font-size:30px;margin:14px 0 14px}.join p{color:var(--muted);margin:0}.join .btn{margin-top:32px}
.invite{display:flex;justify-content:space-between;align-items:center;gap:40px;border:1px solid var(--line);border-left:3px solid var(--red);background:#fff;padding:40px 48px;margin-top:56px}
.invite h3{font-size:26px;margin:0 0 6px}.invite p{margin:0;color:var(--muted)}.invite .btn{margin:0;white-space:nowrap}
@media(max-width:900px){.join{grid-template-columns:1fr}.join>div{padding:40px 28px}.join>div+div{border-left:0;border-top:1px solid var(--line)}.invite{flex-direction:column;align-items:flex-start;padding:32px 28px}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid var(--ink)}
.step{padding:40px 40px 0 0}.step+.step{padding-left:40px;border-left:1px solid var(--line)}
.step h3{margin:16px 0 12px;font-size:24px}.step p{margin:0;color:var(--muted);font-size:16px}
@media(max-width:900px){.steps{grid-template-columns:1fr}.step,.step+.step{padding:32px 0;border-left:0;border-bottom:1px solid var(--line)}}
@media(max-width:900px){.menu{margin-left:auto}.nav>nav{width:0}}
.finder{margin-bottom:72px;background:#fff;border:1px solid var(--line);border-top:3px solid #C8102E;padding:36px;margin-top:40px;box-shadow:0 18px 40px rgba(17,17,17,.06)}
.finder form{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.finder label{width:100%;font-weight:600;font-size:14px}
.finder input{flex:1;min-width:180px;max-width:260px;font:inherit;font-size:18px;padding:14px 16px;border:1px solid #bbb;border-radius:4px;letter-spacing:.08em}
.finder input:focus{outline:2px solid #C8102E;outline-offset:1px}
.finder button{font:inherit;font-weight:600;background:#C8102E;color:#fff;border:0;padding:14px 30px;border-radius:4px;cursor:pointer}.finder button:hover{background:#8E0C20}
.zmsg{margin:22px 0 0;color:#333}.zres{display:flex;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.zres h3{font-size:20px;margin:0}
.sphoto{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:none;border:3px solid #fff;box-shadow:0 0 0 2px #C8102E;display:inline-flex;align-items:center;justify-content:center;background:#f6e7ea;font-size:40px}
.item .shead{display:flex;gap:18px;align-items:center}

.npv{display:inline-block;margin:6px 0 4px;padding:4px 12px;border:1px solid #C8102E;border-radius:999px;color:#8E0C20;font-size:13px;font-weight:600;letter-spacing:.02em;background:#fff5f6}
