/* Lantern Houses | House Church Network */
:root{--fd:"Familjen Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fb:"Newsreader", Georgia, "Times New Roman", serif;--fa:"DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--dw:600;--dw2:400;--dcase:none;--dls:-0.03em;--dlh:0.98;--dstyle:normal;--dfeat:normal;--bfs:18px;--blh:1.58;--bw:400;--bfeat:normal;--lab-f:var(--fa);--lab-case:uppercase;--lab-ls:0.12em;--lab-w:700;--r:18px;--r-lg:36px;--r-btn:999px;--bdw:1px;--maxw:1280px;--gut:28px;--space:1.0;--measure:64ch;--fs1:clamp(18.9px,1.587vw,22.9px);--fs2:clamp(20.9px,2.016vw,29.0px);--fs3:clamp(26.5px,2.560vw,36.9px);--fs4:clamp(27.2px,3.252vw,46.8px);--fs5:clamp(34.5px,4.130vw,59.5px);--fs6:clamp(43.8px,5.245vw,75.5px);--fs-hero:clamp(40px,6.667vw,96px);--bg:#E8ECEA;--surface:#F6F8F6;--ink:#182225;--muted:#525b5c;--line:#c7ccca;--brand:#1E5752;--on-brand:#ffffff;--accent:#E39A2C;--on-accent:#111111;--link:#1e5752;--soft:#d0dad8;--ink-fg:#E8ECEA;--ink-muted:#aaafaf;--ink-link:#E39A2C;--ink-card:#273033;--ink-btn:#E39A2C;--ink-btn-fg:#111111;--brand-muted:#c7d5d4;--brand-card:#346863;--brand-btn:#E39A2C;--brand-btn-fg:#111111;--acc-muted:#463318;--deep:#182225;--deep-fg:#E8ECEA;--deep-muted:#aaafaf;--deep-link:#E39A2C;--deep-card:#273033;--deep-btn:#E39A2C;--deep-btn-fg:#111111;color-scheme:light}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#0F171A;--surface:#162124;--ink:#E6ECE8;--muted:#999f9e;--line:#31393b;--brand:#71C3B4;--on-brand:#111111;--accent:#F2B24E;--on-accent:#111111;--link:#71c3b4;--soft:#1b2c2c;--ink-fg:#0F171A;--ink-muted:#505758;--ink-link:#806434;--ink-card:#d7ddda;--ink-btn:#0F171A;--ink-btn-fg:#E6ECE8;--brand-muted:#293e3a;--brand-card:#67b1a4;--brand-btn:#111111;--brand-btn-fg:#71C3B4;--acc-muted:#493920;--deep:#090e10;--deep-fg:#E6ECE8;--deep-muted:#a4a9a7;--deep-link:#F2B24E;--deep-card:#181e1f;--deep-btn:#F2B24E;--deep-btn-fg:#111111;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0F171A;--surface:#162124;--ink:#E6ECE8;--muted:#999f9e;--line:#31393b;--brand:#71C3B4;--on-brand:#111111;--accent:#F2B24E;--on-accent:#111111;--link:#71c3b4;--soft:#1b2c2c;--ink-fg:#0F171A;--ink-muted:#505758;--ink-link:#806434;--ink-card:#d7ddda;--ink-btn:#0F171A;--ink-btn-fg:#E6ECE8;--brand-muted:#293e3a;--brand-card:#67b1a4;--brand-btn:#111111;--brand-btn-fg:#71C3B4;--acc-muted:#493920;--deep:#090e10;--deep-fg:#E6ECE8;--deep-muted:#a4a9a7;--deep-link:#F2B24E;--deep-card:#181e1f;--deep-btn:#F2B24E;--deep-btn-fg:#111111;color-scheme:dark}
:root[data-theme="light"]{--bg:#E8ECEA;--surface:#F6F8F6;--ink:#182225;--muted:#525b5c;--line:#c7ccca;--brand:#1E5752;--on-brand:#ffffff;--accent:#E39A2C;--on-accent:#111111;--link:#1e5752;--soft:#d0dad8;--ink-fg:#E8ECEA;--ink-muted:#aaafaf;--ink-link:#E39A2C;--ink-card:#273033;--ink-btn:#E39A2C;--ink-btn-fg:#111111;--brand-muted:#c7d5d4;--brand-card:#346863;--brand-btn:#E39A2C;--brand-btn-fg:#111111;--acc-muted:#463318;--deep:#182225;--deep-fg:#E8ECEA;--deep-muted:#aaafaf;--deep-link:#E39A2C;--deep-card:#273033;--deep-btn:#E39A2C;--deep-btn-fg:#111111;color-scheme:light}
/* ===================== Greater Purpose engine v2 — base ===================== */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--fb);font-size:var(--bfs);line-height:var(--blh);font-weight:var(--bw);font-feature-settings:var(--bfeat);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:var(--c-link,var(--link));text-underline-offset:.18em;text-decoration-thickness:1px}
p,h1,h2,h3,h4,h5,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--ink);color:var(--bg);padding:10px 14px}
.skip:focus{left:8px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num,.tnum{font-variant-numeric:tabular-nums}
.onum{font-variant-numeric:oldstyle-nums proportional-nums}
.ic{width:1.15em;height:1.15em;flex:none}

/* default colour roles outside sections (header, panels) */
.site{--c-bg:var(--bg);--c-fg:var(--ink);--c-muted:var(--muted);--c-line:var(--line);--c-link:var(--link);--c-card:var(--surface);--c-btn:var(--brand);--c-btn-fg:var(--on-brand);--c-soft:var(--soft)}
.nv-split,.nv-rail,.utilbar{--c-btn:var(--brand-btn);--c-btn-fg:var(--brand-btn-fg)}
.nv-rail{--c-btn:var(--deep-btn);--c-btn-fg:var(--deep-btn-fg)}

/* ---------- type system ---------- */
.d,h1,h2,h3{font-family:var(--fd);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dls);line-height:var(--dlh);font-style:var(--dstyle);font-feature-settings:var(--dfeat);text-wrap:balance}
h1{font-size:var(--fs5)}
h2{font-size:var(--fs4)}
h3{font-size:var(--fs2);line-height:1.15}
h4{font-size:var(--fs1);line-height:1.25;font-weight:700}
.hx{font-size:var(--fs-hero);line-height:calc(var(--dlh) - .04)}
.d2{font-weight:var(--dw2)}
.label{font-family:var(--lab-f);font-size:.76rem;line-height:1.3;letter-spacing:var(--lab-ls);text-transform:var(--lab-case);font-weight:var(--lab-w);color:var(--c-link)}
.acc{font-family:var(--fa)}
.lead{font-size:var(--fs1);line-height:1.5;color:var(--c-muted);max-width:var(--measure)}
.muted{color:var(--c-muted)}
.measure{max-width:var(--measure)}
.prose{display:grid;gap:1em;max-width:var(--measure)}
.prose p{color:var(--c-muted)}
.dropcap::first-letter{font-family:var(--fd);font-weight:var(--dw);float:left;font-size:3.4em;line-height:.82;margin:.06em .1em 0 0;color:var(--c-link)}
.hang{hanging-punctuation:first}
.smallcaps{font-variant-caps:all-small-caps;letter-spacing:.06em}

/* ---------- layout ---------- */
.wrap{width:min(var(--maxw),calc(100% - 2*var(--gut)));margin-inline:auto}
.wrap.narrow{width:min(820px,calc(100% - 2*var(--gut)))}
.wrap.wide{width:min(1560px,calc(100% - 2*var(--gut)))}
.m{--c-bg:var(--bg);--c-fg:var(--ink);--c-muted:var(--muted);--c-line:var(--line);--c-link:var(--link);--c-card:var(--surface);--c-btn:var(--brand);--c-btn-fg:var(--on-brand);--c-soft:var(--soft);
   background:var(--c-bg);color:var(--c-fg);padding-block:calc(var(--space) * clamp(64px,8vw,124px));position:relative}
.m.tight,.m.v-tight{padding-block:calc(var(--space) * clamp(40px,5vw,72px))}
.tone-soft{--c-bg:var(--soft);--c-card:var(--surface)}
.tone-surface{--c-bg:var(--surface);--c-card:var(--bg);--c-soft:var(--soft)}
.tone-ink{--c-bg:var(--deep);--c-fg:var(--deep-fg);--c-muted:var(--deep-muted);--c-line:color-mix(in srgb,var(--deep-fg) 18%,transparent);--c-link:var(--deep-link);--c-card:var(--deep-card);--c-btn:var(--deep-btn);--c-btn-fg:var(--deep-btn-fg);--c-soft:var(--deep-card)}
.tone-brand{--c-bg:var(--brand);--c-fg:var(--on-brand);--c-muted:var(--brand-muted);--c-line:color-mix(in srgb,var(--on-brand) 24%,transparent);--c-link:var(--on-brand);--c-card:var(--brand-card);--c-btn:var(--brand-btn);--c-btn-fg:var(--brand-btn-fg);--c-soft:var(--brand-card)}
.tone-accent{--c-bg:var(--accent);--c-fg:var(--on-accent);--c-muted:var(--acc-muted);--c-line:color-mix(in srgb,var(--on-accent) 24%,transparent);--c-link:var(--on-accent);--c-card:color-mix(in srgb,var(--on-accent) 8%,var(--accent));--c-btn:var(--on-accent);--c-btn-fg:var(--accent);--c-soft:color-mix(in srgb,var(--on-accent) 8%,var(--accent))}
.head{display:grid;gap:14px;margin-bottom:clamp(32px,4vw,56px);max-width:760px}
.align-center .head,.head.c{margin-inline:auto;text-align:center;justify-items:center}
.head.split{max-width:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:24px 64px}
.cols{display:grid;gap:clamp(18px,2.4vw,32px)}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cols > *{min-width:0}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.stack{display:grid;gap:16px;align-content:start}
.rule{border:0;border-top:var(--bdw) solid var(--c-line);margin:0}
.rule-thick .rule{border-top-width:3px;border-color:var(--c-fg)}
.rule-double .rule{border-top:3px double var(--c-fg)}
.ratio-wide{aspect-ratio:16/9;object-fit:cover;width:100%}
.ratio-43{aspect-ratio:4/3;object-fit:cover;width:100%}
.ratio-port{aspect-ratio:4/5;object-fit:cover;width:100%}
.ratio-sq{aspect-ratio:1;object-fit:cover;width:100%}
.rounded{border-radius:var(--r-lg)}
.cap{font-size:.82rem;color:var(--c-muted);margin-top:10px;display:flex;gap:10px}
.cap::before{content:"";width:18px;height:1px;background:currentColor;margin-top:.7em;flex:none}

/* ---------- buttons ---------- */
.btn{--b:var(--c-btn);--f:var(--c-btn-fg);display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:.95em 1.5em;border-radius:var(--r-btn);background:var(--b);color:var(--f);border:var(--bdw) solid var(--b);
     font-family:var(--fb);font-weight:700;font-size:1rem;line-height:1;text-decoration:none;cursor:pointer;transition:transform .18s ease,background-color .18s,color .18s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn .ic{transition:transform .18s}
.btn:hover .ic{transform:translateX(3px)}
.btn.alt{background:transparent;color:var(--c-fg);border-color:currentColor}
.btn.ghost{background:transparent;color:var(--c-fg);border-color:transparent;padding-inline:.2em}
.btn-sm{padding:.7em 1.1em;font-size:.9rem}
.btn-underline .btn{background:transparent;color:var(--c-fg);border:0;border-bottom:2px solid currentColor;border-radius:0;padding:.35em 0;font-family:var(--fd);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dls);font-size:1.15rem}
.btn-underline .btn.btn-sm{font-size:1rem}
.btn-bracket .btn{background:transparent;color:var(--c-fg);border:var(--bdw) solid currentColor;border-radius:0;font-family:var(--lab-f);text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;padding:1.05em 1.4em}
.btn-bracket .btn:not(.alt):not(.ghost){background:var(--b);color:var(--f);border-color:var(--b)}
.btn-tab .btn{border-radius:var(--r) var(--r) 0 0;border-bottom-width:4px;border-bottom-color:color-mix(in srgb,var(--b) 60%,#000)}
.btn-tab .btn.alt{border-bottom-width:4px}
.tlink{display:inline-flex;align-items:center;gap:.5em;font-weight:700;color:var(--c-link);text-decoration:none;border-bottom:1px solid transparent}
.tlink:hover{border-bottom-color:currentColor}
.tlink .ic{transition:transform .18s}
.tlink:hover .ic{transform:translateX(3px)}

/* ---------- cards ---------- */
.card{background:var(--c-card);color:var(--c-fg);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;min-width:0;text-decoration:none}
.card-outline .card{background:transparent;border:var(--bdw) solid var(--c-line)}
.card-shadow .card{box-shadow:0 1px 2px rgba(0,0,0,.06),0 18px 40px -22px rgba(0,0,0,.35)}
.card-tint .card{background:var(--c-soft)}
.card-flat .card{background:var(--c-card)}
.card .cb{padding:clamp(18px,2vw,26px);display:grid;gap:10px;align-content:start}
.card .cb p{color:var(--c-muted)}
.card img{width:100%;object-fit:cover}

/* ---------- chips, tags, forms ---------- */
.chip{border:var(--bdw) solid var(--c-line);background:transparent;color:var(--c-fg);padding:.55em 1em;border-radius:999px;font-weight:600;font-size:.9rem;cursor:pointer}
.chip[aria-pressed=true]{background:var(--c-fg);color:var(--c-bg);border-color:var(--c-fg)}
.tag{display:inline-block;font-family:var(--lab-f);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35em .7em;border-radius:999px;background:var(--c-soft);color:var(--c-fg)}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:24px}
.filters .search{margin-left:auto;flex:1 1 220px;max-width:320px}
.empty{padding:32px;text-align:center;border:1.5px dashed var(--c-line);border-radius:var(--r);color:var(--c-muted)}
.count{font-size:.9rem;color:var(--c-muted)}
.form{display:grid;gap:16px}
.field{display:grid;gap:6px;min-width:0}
.field label,.fl{font-weight:650;font-size:.92rem}
.frow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
input,select,textarea{width:100%;padding:.85em 1em;border-radius:max(4px,calc(var(--r) * .6));border:var(--bdw) solid var(--c-line);background:var(--c-bg);color:var(--c-fg);font-size:1rem}
.tone-ink input,.tone-ink select,.tone-ink textarea,.tone-brand input,.tone-brand select,.tone-brand textarea{background:var(--c-card)}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-link);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-link) 25%,transparent)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--c-muted)}
.check input{width:20px;height:20px;flex:none;accent-color:var(--brand);margin-top:2px}
.fine{font-size:.82rem;color:var(--c-muted)}
.ok{display:grid;gap:10px;justify-items:start;padding:24px;border-radius:var(--r);background:var(--c-soft)}
.ok .ic{width:36px;height:36px;padding:8px;border-radius:50%;background:var(--c-btn);color:var(--c-btn-fg)}

/* ---------- preview bar ---------- */
.pv{grid-area:pv;background:var(--deep);color:var(--deep-fg);--ink-fg:var(--deep-fg);--ink:var(--deep);font-size:.8rem;line-height:1.35;position:relative;z-index:70}
.pv-in{display:flex;gap:8px 18px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:8px clamp(12px,2vw,24px)}
.pv b{font-weight:700}
.pv-a{display:flex;gap:16px;align-items:center}
.pv a{color:var(--ink-fg);font-weight:700}
.pv-notes{display:inline-flex;gap:6px;align-items:center;background:var(--ink-fg);color:var(--ink);border:0;border-radius:999px;padding:5px 12px 5px 9px;font-weight:700;font-size:.78rem;cursor:pointer}
.pv-notes .ic{width:15px;height:15px}

/* ---------- shell: shared ---------- */
.logo{display:inline-flex;align-items:center;gap:.6em;text-decoration:none;color:var(--c-fg,var(--ink));font-family:var(--fd);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dls);font-style:var(--dstyle);font-size:1.25rem;line-height:1;min-width:0}
.logo .lg-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lg-big{font-size:clamp(1.5rem,2.4vw,2.2rem)}
.lg-mark{flex:none;display:grid;place-items:center;width:1.7em;height:1.7em;color:var(--on-brand);background:var(--brand)}
.lg-initial{border-radius:var(--r);font-size:.8em}
.lg-dot{width:.7em;height:.7em;border-radius:50%;background:var(--accent)}
.lg-cross{background:none;color:var(--link)}
.lg-cross svg{width:100%;height:100%}
.lg-arch{background:none;color:var(--brand);width:1.1em;height:1.4em}
.lg-arch svg{width:100%;height:100%}
.lg-ring{width:1.1em;height:1.1em;border-radius:50%;background:none;border:.22em solid var(--brand)}
.lg-bar{width:.35em;height:1.4em;background:var(--accent)}
.ibtn{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:999px;border:var(--bdw) solid var(--line);background:transparent;color:inherit;cursor:pointer;flex:none}
.ibtn .ic{width:19px;height:19px}
.i-sun{display:none}
.is-dark .i-sun{display:block}
.is-dark .i-moon{display:none}
.langsw{display:inline-flex;border:var(--bdw) solid var(--line);border-radius:999px;padding:3px;gap:2px}
.langsw button{border:0;background:transparent;border-radius:999px;padding:6px 11px;font-size:.82rem;font-weight:700;cursor:pointer;color:inherit}
.langsw button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.menu-btn{display:inline-flex;align-items:center;gap:8px;border:var(--bdw) solid var(--line);background:transparent;color:inherit;border-radius:999px;padding:9px 14px;font-weight:700;cursor:pointer}
.menu-btn .ic{width:19px;height:19px}
.nv{--c-fg:var(--ink);color:var(--ink);background:var(--bg);z-index:60}
.nv-in{display:flex;align-items:center;gap:20px;min-height:72px}
.nv-links{display:flex;gap:2px;margin-left:auto}
.nv-links a{color:inherit;text-decoration:none;font-weight:600;font-size:.95rem;padding:.55em .8em;border-radius:var(--r);white-space:nowrap}
.nv-links a:hover{background:var(--soft)}
.nv-links a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.4em}
.nv-tools{display:flex;align-items:center;gap:8px;margin-left:auto}
.nv-links + .nv-tools{margin-left:12px}
.nv .menu-btn{display:none}
.nv-mobile{display:none}

/* top classic */
.nav-top-classic .nv-top{position:sticky;top:0;border-bottom:var(--bdw) solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px)}
/* utility */
.utilbar{background:var(--brand);color:var(--on-brand);font-size:.84rem;--line:color-mix(in srgb,var(--on-brand) 35%,transparent)}
.utilbar .langsw button[aria-pressed=true]{background:var(--on-brand);color:var(--brand)}
.ub-in{display:flex;justify-content:space-between;align-items:center;gap:10px 24px;min-height:44px;flex-wrap:wrap}
.ub-items{display:flex;gap:6px 22px;flex-wrap:wrap}
.ub-items span{display:inline-flex;gap:7px;align-items:center}
.ub-tools{display:flex;gap:8px;align-items:center}
.ub-tools .ibtn{width:34px;height:34px}
.nav-utility .nv-top{position:sticky;top:0;border-bottom:var(--bdw) solid var(--line)}
/* top centre */
.nv-center{border-bottom:var(--bdw) solid var(--line)}
.nv-center .nv-in{display:grid;grid-template-columns:1fr auto 1fr;padding-block:22px 14px}
.nv-center .nv-side{font-size:.85rem;color:var(--muted)}
.nv-center .nv-tools{justify-self:end}
.nv-row{display:flex;justify-content:center;align-items:center;gap:20px;border-top:var(--bdw) solid var(--line);padding-block:6px}
.nv-row .nv-links{margin:0}
.nav-top-center .nv-row{position:sticky;top:0}
/* sidebar */
@media (min-width:1025px){
 .nav-sidebar{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-areas:"pv pv" "side content"}
 .nav-sidebar .content{grid-area:content;min-width:0}
 .nv-sidebar{grid-area:side;position:sticky;top:0;height:100vh;border-right:var(--bdw) solid var(--line)}
 .sb-in{height:100%;display:flex;flex-direction:column;gap:28px;padding:28px 24px;overflow:auto}
 .sb-links{flex-direction:column;margin:0;gap:0}
 .sb-links a{font-family:var(--fd);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dls);font-size:1.35rem;padding:.4em 0;border-radius:0;border-bottom:var(--bdw) solid var(--line)}
 .sb-links a:hover{background:none;color:var(--link)}
 .sb-foot{margin-top:auto;display:grid;gap:12px;font-size:.85rem;color:var(--muted)}
 .sb-tools{display:flex;gap:8px;flex-wrap:wrap}
}
/* rail */
@media (min-width:1025px){
 .nav-rail{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"pv pv" "side content"}
 .nav-rail .content{grid-area:content;min-width:0}
 .nv-rail{grid-area:side;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;gap:18px;padding:20px 0;background:var(--deep);color:var(--deep-fg);--line:color-mix(in srgb,var(--deep-fg) 25%,transparent)}
 .rl-logo{writing-mode:vertical-rl;transform:rotate(180deg);text-decoration:none;color:inherit;font-family:var(--fd);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dls);font-size:1.5rem;white-space:nowrap;max-height:34vh;overflow:hidden}
 .rl-links{display:grid;gap:4px;margin-block:auto}
 .rl-links a{display:grid;justify-items:center;gap:4px;width:80px;padding:10px 4px;border-radius:var(--r);color:inherit;text-decoration:none;font-size:.7rem;font-weight:700;text-align:center;line-height:1.15}
 .rl-links a .ic{width:22px;height:22px}
 .rl-links a:hover,.rl-links a[aria-current=page]{background:color-mix(in srgb,var(--deep-fg) 12%,transparent)}
 .rl-links a[aria-current=page]{color:var(--deep-link)}
 .rl-tools{display:grid;gap:8px;justify-items:center}
 .rl-tools .langsw{flex-direction:column;border-radius:16px}
}
/* split panel */
@media (min-width:1025px){
 .nav-split-panel{display:grid;grid-template-columns:minmax(340px,38%) minmax(0,1fr);grid-template-areas:"pv pv" "side content"}
 .nav-split-panel .content{grid-area:content;min-width:0}
 .nv-split{grid-area:side;position:sticky;top:0;height:100vh;background:var(--brand);color:var(--on-brand);--c-fg:var(--on-brand);--line:color-mix(in srgb,var(--on-brand) 28%,transparent);--c-btn:var(--brand-btn);--c-btn-fg:var(--brand-btn-fg);--soft:color-mix(in srgb,var(--on-brand) 12%,transparent)}
 .nv-split .logo{color:var(--on-brand)}
 .nv-split .langsw button[aria-pressed=true]{background:var(--on-brand);color:var(--brand)}
 .sp-in{height:100%;display:flex;flex-direction:column;gap:22px;padding:clamp(28px,3vw,48px);overflow:auto}
 .sp-line{font-size:1.05rem;max-width:30ch;color:var(--brand-muted)}
 .sp-links{flex-direction:column;margin:auto 0 0;gap:0}
 .sp-links a{font-family:var(--fd);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dls);font-size:clamp(1.6rem,2.6vw,2.6rem);line-height:1.08;padding:.12em 0;border-radius:0}
 .sp-links a:hover{background:none;text-decoration:underline}
 .sp-foot{display:grid;gap:14px}
 .sp-meta{display:grid;font-size:.85rem;color:var(--brand-muted)}
 .sp-tools{display:flex;gap:8px}
}
/* overlay */
.nav-overlay .nv-overlay{position:sticky;top:0;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px)}
.nav-overlay .nv-overlay .menu-btn{display:inline-flex}
/* dock */
.nv-docktop{position:relative}
.dock{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:65;display:flex;gap:4px;padding:6px;border-radius:calc(var(--r) + 12px);background:color-mix(in srgb,var(--deep) 94%,transparent);color:var(--deep-fg);backdrop-filter:blur(14px);box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.dock a{display:grid;justify-items:center;gap:3px;min-width:76px;padding:9px 10px 7px;border-radius:calc(var(--r) + 6px);color:inherit;text-decoration:none;font-size:.72rem;font-weight:700}
.dock a .ic{width:21px;height:21px}
.dock a:hover{background:color-mix(in srgb,var(--deep-fg) 12%,transparent)}
.dock a[aria-current=page]{background:var(--deep-fg);color:var(--deep)}
.nav-dock .content{padding-bottom:92px}
/* corner */
.nv-corner .cn-logo{position:fixed;top:calc(var(--pvh,36px) + 14px);left:16px;z-index:66;background:var(--bg);padding:10px 14px;border-radius:var(--r);box-shadow:0 8px 24px -16px rgba(0,0,0,.5)}
.nv-corner .cn-tools{position:fixed;top:calc(var(--pvh,36px) + 14px);right:16px;z-index:66;display:flex;gap:8px;background:var(--bg);padding:6px;border-radius:999px;box-shadow:0 8px 24px -16px rgba(0,0,0,.5)}
.cn-menu{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:66;display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;background:var(--deep);color:var(--deep-fg);border-radius:999px;padding:16px 22px;font-weight:800;font-size:1rem;box-shadow:0 16px 40px -16px rgba(0,0,0,.6)}
.cn-menu .ic{width:20px;height:20px}
.nv-corner .cn-cta{position:fixed;left:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:66;box-shadow:0 16px 40px -16px rgba(0,0,0,.6)}
.btn-underline .nv-corner .cn-cta,.btn-bracket .nv-corner .cn-cta{background:var(--brand);color:var(--on-brand);border:0;padding:.95em 1.4em}
.nav-corner .pv{position:sticky;top:0}
.nav-corner .main > .m:first-child{padding-top:calc(var(--space) * clamp(96px,10vw,150px))}
.nav-corner .content{padding-bottom:84px}
/* index right */
@media (min-width:1181px){
 .nav-index-right{display:grid;grid-template-columns:minmax(0,1fr) 250px;grid-template-areas:"pv pv" "head head" "content toc"}
 .nav-index-right .nv-thin{grid-area:head}
 .nav-index-right .content{grid-area:content;min-width:0}
 .toc{grid-area:toc;align-self:stretch;background:var(--surface);border-left:var(--bdw) solid var(--line)}
 .toc-in{position:sticky;top:0;max-height:100vh;padding:36px 24px;display:flex;flex-direction:column;gap:14px;overflow:auto}
 .toc-h{font-family:var(--lab-f);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--muted)}
 .toc ol{display:grid;gap:2px;counter-reset:t}
 .toc ol a{display:block;padding:.4em 0 .4em 12px;border-left:2px solid var(--line);color:var(--muted);text-decoration:none;font-size:.92rem}
 .toc ol a[aria-current=true]{border-color:var(--brand);color:var(--ink);font-weight:700}
 .toc .btn{margin-top:12px;align-self:start}
}
@media (max-width:1180px){.toc{display:none}}
.nv-thin{border-bottom:var(--bdw) solid var(--line);position:sticky;top:0}
/* tabs */
.nv-tabshead .nv-in{min-height:64px}
.tabsbar{position:sticky;top:0;z-index:60;background:var(--bg);border-bottom:var(--bdw) solid var(--line)}
.tb-in{display:flex;gap:6px;overflow-x:auto;padding-block:8px;scrollbar-width:none}
.tb-in::-webkit-scrollbar{display:none}
.tb-in a{flex:none;padding:.6em 1.1em;border-radius:999px;color:var(--ink);text-decoration:none;font-weight:700;font-size:.92rem;background:var(--soft)}
.tb-in a[aria-current=page]{background:var(--ink);color:var(--bg)}

/* ---------- menu panel (all patterns on phones; overlay and corner everywhere) ---------- */
.menu-panel{position:fixed;inset:0;z-index:120;background:var(--deep);color:var(--deep-fg);overflow:auto;--line:color-mix(in srgb,var(--deep-fg) 22%,transparent);--c-fg:var(--deep-fg);--ink-fg:var(--deep-fg);--ink-link:var(--deep-link);--ink-muted:var(--deep-muted);--ink-btn:var(--deep-btn);--ink-btn-fg:var(--deep-btn-fg);--ink:var(--deep);animation:mpin .28s ease}
@keyframes mpin{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.mp-in{min-height:100%;display:flex;flex-direction:column;gap:28px;padding:calc(env(safe-area-inset-top,0px) + 20px) clamp(20px,5vw,64px) 32px}
.mp-top{display:flex;justify-content:space-between;align-items:center}
.mp-top .logo{color:var(--ink-fg)}
.mp-links{display:grid;margin-block:auto}
.mp-links a{font-family:var(--fd);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dls);font-style:var(--dstyle);font-size:clamp(2.2rem,6.4vw,5.6rem);line-height:1.02;color:var(--ink-fg);text-decoration:none;padding:.08em 0;border-bottom:var(--bdw) solid var(--line)}
.mp-links a:hover,.mp-links a[aria-current=page]{color:var(--ink-link)}
.mp-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:end}
.mp-info{color:var(--ink-muted);font-size:.95rem}
.mp-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.menu-panel .langsw button[aria-pressed=true]{background:var(--ink-fg);color:var(--ink)}
.menu-panel .btn{--b:var(--ink-btn);--f:var(--ink-btn-fg)}

/* ---------- notes drawer ---------- */
.notes{position:fixed;inset:0 0 0 auto;width:min(560px,100vw);z-index:130;background:var(--surface);color:var(--ink);box-shadow:-30px 0 80px -30px rgba(0,0,0,.6);overflow:auto;animation:ndin .25s ease;font-family:var(--fb)}
@keyframes ndin{from{transform:translateX(40px)}to{transform:none}}
.nd-in{padding:24px clamp(20px,4vw,40px) 48px;display:grid;gap:22px}
.nd-top{display:flex;justify-content:space-between;align-items:center}
.nd-eyebrow{font-family:var(--lab-f);font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--link)}
.notes h2{font-size:clamp(1.7rem,3vw,2.3rem)}
.nd-lead{font-size:1.05rem;color:var(--muted)}
.nd-facts{display:grid;gap:0;border-top:1px solid var(--line)}
.nd-facts div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.93rem}
.nd-facts dt{font-weight:700}
.nd-facts dd{color:var(--muted)}
.notes section{display:grid;gap:8px}
.notes h3{font-family:var(--fb);text-transform:none;letter-spacing:0;font-style:normal;font-size:1.02rem;font-weight:800}
.notes section p{color:var(--muted);font-size:.95rem}
.nd-type{display:grid;gap:12px}
.nd-type li{display:grid;gap:2px;padding:14px;border:1px solid var(--line);border-radius:10px}
.nd-k{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--muted)}
.nd-f{font-size:1.7rem;line-height:1.1}
.nd-w{font-size:.9rem;color:var(--muted)}
.nd-pal{display:grid;gap:10px;margin-top:10px}
.nd-pal h4{font-size:.9rem}
.nd-sws{display:flex;gap:6px}
.nd-sw{width:36px;height:36px;border-radius:8px;border:1px solid var(--line)}
.nd-tbl{width:100%;border-collapse:collapse;font-size:.84rem}
.nd-tbl th{text-align:left;font-weight:700;color:var(--muted);padding:6px 4px;border-bottom:1px solid var(--line)}
.nd-tbl td{padding:6px 4px;border-bottom:1px solid var(--line)}
.nd-chip{display:inline-grid;place-items:center;width:34px;height:24px;border-radius:5px;font-weight:700;font-size:.8rem;border:1px solid var(--line)}
.nd-foot{font-size:.82rem;color:var(--muted)}

/* ---------- footers ---------- */
.ft{--c-bg:var(--deep);--c-fg:var(--deep-fg);--c-muted:var(--deep-muted);--c-line:color-mix(in srgb,var(--deep-fg) 20%,transparent);--c-link:var(--deep-link);--c-btn:var(--deep-btn);--c-btn-fg:var(--deep-btn-fg);
    background:var(--c-bg);color:var(--c-fg);padding-block:clamp(56px,7vw,96px) 28px;font-size:.95rem}
.ft a{color:var(--c-fg);text-decoration:none}
.ft a:hover{text-decoration:underline}
.ft .logo{color:var(--c-fg)}
.ft ul{display:grid;gap:6px}
.ft li{color:var(--c-muted)}
.ft li a{color:var(--c-fg)}
.ft-h{font-family:var(--lab-f);font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--c-muted);margin-bottom:12px;font-style:normal}
.ft-blurb{color:var(--c-muted);max-width:40ch;margin-top:14px}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.4fr;gap:clamp(24px,4vw,56px)}
.ft-soc{display:flex;gap:8px;margin-top:18px}
.ft-soc a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--c-line)}
.ft-news{display:grid;gap:8px}
.ft-news label{font-weight:700}
.ft-news div{display:flex;gap:8px}
.ft-news input{background:transparent;border-color:var(--c-line);color:var(--c-fg)}
.ft-news input::placeholder{color:var(--c-muted)}
.ft-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:clamp(36px,5vw,64px);padding-top:20px;border-top:1px solid var(--c-line);font-size:.84rem;color:var(--c-muted)}
.ft-notes{background:none;border:0;color:var(--c-fg);text-decoration:underline;cursor:pointer;font-size:.84rem;padding:0}
.ft-giant{font-family:var(--fd);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dls);font-size:min(13rem,calc((100vw - 2*var(--gut)) / (var(--n,8) * .6)));line-height:1.05;padding-top:.08em;margin-top:40px;white-space:nowrap;overflow:hidden;color:var(--c-fg)}

.ft-wordmark .ft-grid{grid-template-columns:1.6fr 1fr 1.2fr 1fr}
.ft-wordmark .ft-news{margin-top:28px;max-width:460px}
.ft-minimal{padding-block:40px 24px}
.ft-row{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.ft-inline{display:flex!important;flex-wrap:wrap;gap:6px 18px}
.ft-card{background:var(--bg);color:var(--ink);--c-bg:var(--bg);--c-fg:var(--ink);--c-muted:var(--muted);--c-line:var(--line);--c-link:var(--link);--c-btn:var(--brand);--c-btn-fg:var(--on-brand)}
.ft-card .ft-cardin{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:clamp(24px,4vw,56px);padding:clamp(24px,4vw,48px);border:var(--bdw) solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ft-card .ft-hours{margin-top:10px}
.ft-card .ft-inline{margin-top:18px}
.ft-statement .ft-say{font-family:var(--fd);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dls);font-style:var(--dstyle);font-size:var(--fs4);line-height:1.08;max-width:22ch;margin-bottom:clamp(36px,5vw,64px);text-wrap:balance}

/* ---------- texture ---------- */
.tex-grain::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:150;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.is-dark.tex-grain::after{mix-blend-mode:screen;opacity:.05}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:no-preference){
 .rise{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
 .rise.d1{animation-delay:.08s}.rise.d2{animation-delay:.16s}.rise.d3{animation-delay:.24s}
 @keyframes rise{from{transform:translateY(14px)}to{transform:none}}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* ---------- responsive ---------- */
@media (max-width:1180px){
 .nav-top-classic .nv-links,.nav-utility .nv-links,.nav-index-right .nv-links{display:none}
 .nav-top-classic .nv .menu-btn,.nav-utility .nv .menu-btn,.nav-index-right .nv .menu-btn{display:inline-flex}
}
@media (max-width:1024px){
 .nv-sidebar,.nv-rail,.nv-split{display:none}
 .nv-mobile{display:block;position:sticky;top:0;border-bottom:var(--bdw) solid var(--line)}
 .nv-mobile .menu-btn{display:inline-flex}
 .nav-top-center .nv-row{display:none}
 .nv-center .nv-in{grid-template-columns:auto 1fr;padding-block:12px}
 .nv-center .nv-side{display:none}
 .nv-center .menu-btn{display:inline-flex}
 .nv-center .lg-big{font-size:1.35rem}
 .cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ft-grid,.ft-wordmark .ft-grid,.ft-card .ft-cardin{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
 .cols-2,.cols-3,.head.split{grid-template-columns:1fr}
 .nv-tools .btn{display:none}
 .nv-docktop .nv-tools .btn{display:inline-flex}
}
@media (max-width:640px){
 :root{--gut:18px}
 .pv-x{display:none}
 .cols-4,.frow{grid-template-columns:1fr}
 .ft-grid,.ft-wordmark .ft-grid,.ft-card .ft-cardin{grid-template-columns:1fr}
 .dock{left:8px;right:8px;transform:none;justify-content:space-between;border-radius:18px}
 .dock a{min-width:0;flex:1;padding:8px 2px 6px;font-size:.64rem}
 .dock a span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .nv-docktop .nv-tools .btn{display:none}
 .nv-in{gap:10px;min-height:62px}
 .logo{font-size:1.08rem}
 .nv-tools .langsw button{padding:5px 8px}
 .cn-menu{padding:14px 18px}
 .nv-corner .cn-logo{left:10px}
 .nv-corner .cn-tools{right:10px}
 .ibtn{width:38px;height:38px}
 .menu-btn{padding:8px 11px}
 .menu-btn span{display:none}
}
.pv-ed{background:var(--accent);color:var(--on-accent)!important;padding:4px 11px;border-radius:999px;text-decoration:none}

/* split panel logo + mark legibility */
.nv-split .logo{justify-content:flex-start;text-align:left}
.nv-split .lg-initial{background:var(--on-brand);color:var(--brand)}
.nv-split .lg-cross,.nv-split .lg-arch{color:var(--on-brand)}
.nv-split .lg-ring{border-color:var(--on-brand)}
.nv-split .lg-dot,.nv-split .lg-bar{background:var(--accent)}
/* footer wordmark fits its own column */
.ft-wordmark .wrap{container-type:inline-size}
.ft-giant{font-size:min(13rem,calc(100cqi / (var(--n,8) * .66)))!important}
/* small screens: language switch moves into the menu when a menu exists */
@media (max-width:640px){.nv-in:has(.menu-btn) .langsw{display:none}}
/* module beliefs */

.bl-ref{font-family:var(--lab-f);font-size:.76rem;letter-spacing:.06em;color:var(--c-link);font-weight:700}
.bl-p{color:var(--c-muted);max-width:58ch}
/* a */
.bl-a{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:32px clamp(40px,7vw,120px);align-items:start}
.bl-al{display:grid;gap:22px;position:sticky;top:110px}
.bl-al .head{margin-bottom:0}
.bl-list{display:grid;border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.bl-art{display:grid;grid-template-columns:clamp(56px,6vw,92px) minmax(0,1fr);gap:clamp(12px,2vw,28px);padding-block:clamp(20px,2.6vw,34px);border-bottom:var(--bdw) solid var(--c-line)}
.bl-num{font-size:var(--fs3);line-height:1;color:var(--c-link);font-variant-numeric:lining-nums;text-transform:none}
.bl-ab{display:grid;gap:10px}
.bl-a .bl-h{font-size:var(--fs3)}
.bl-a .bl-p{font-size:1.06rem}
/* b */
.bl-b{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,6vw,96px)}
.bl-i{display:grid;gap:10px;align-content:start;padding-block:clamp(20px,2.4vw,30px);border-top:var(--bdw) solid var(--c-line)}
.bl-i .bl-h{font-size:var(--fs2)}
.bl-i0{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px clamp(32px,6vw,96px);border-top:calc(var(--bdw)*2) solid var(--c-fg);padding-bottom:clamp(28px,3.4vw,44px)}
.bl-i0 .bl-h{font-size:var(--fs4)}
.bl-i0 .bl-p{font-size:var(--fs1);line-height:1.5;color:var(--c-fg);max-width:46ch}
.bl-i0 .bl-ref{grid-column:2}
.bl-foot{margin-top:28px}
/* c */
.bl-c{display:grid;gap:clamp(28px,4vw,48px)}
.bl-ch{display:flex;justify-content:space-between;align-items:end;gap:20px 48px;flex-wrap:wrap}
.bl-ch .head{margin-bottom:0}
.bl-acc{border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.bl-d{border-bottom:var(--bdw) solid var(--c-line)}
.bl-d summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:clamp(48px,7vw,110px) minmax(0,1fr) 28px;gap:12px;align-items:baseline;padding:clamp(16px,2vw,24px) 0}
.bl-d summary::-webkit-details-marker{display:none}
.bl-d summary:hover .bl-h{color:var(--c-link)}
.bl-rn{font-family:var(--lab-f);font-weight:700;font-size:.82rem;letter-spacing:.1em;color:var(--c-muted)}
.bl-d .bl-h{font-size:var(--fs3);line-height:1.05;transition:color .15s}
.bl-x{width:22px;height:22px;position:relative;align-self:center}
.bl-x::before,.bl-x::after{content:"";position:absolute;left:3px;right:3px;top:10px;height:2px;background:currentColor;transition:transform .2s}
.bl-x::after{transform:rotate(90deg)}
.bl-d[open] .bl-x::after{transform:rotate(0)}
.bl-dd{display:grid;gap:10px;padding:0 0 26px clamp(60px,calc(7vw + 12px),122px)}
.bl-dd .bl-p{font-size:1.06rem}
@media (max-width:860px){
 .bl-a{grid-template-columns:1fr}.bl-al{position:static}
 .bl-b{grid-template-columns:1fr}.bl-i0{grid-template-columns:1fr}.bl-i0 .bl-ref{grid-column:1}
 .bl-dd{padding-left:0}
}

/* module contact_block */

.cb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,6vw,96px);align-items:start}
.cb-list{display:grid;gap:14px;margin-top:8px}
.cb-list li{display:flex;gap:14px;align-items:flex-start}
.cb-list .ic{width:22px;height:22px;color:var(--c-link);margin-top:3px}
.cb-list span{display:grid}
.cb-list b{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-muted)}
.cb-form{padding:clamp(20px,2.6vw,32px);border-radius:var(--r-lg);background:var(--c-card);border:var(--bdw) solid var(--c-line)}
@media (max-width:900px){.cb{grid-template-columns:1fr}}

/* module cta_band */

.cbn-a{display:grid;gap:18px;justify-items:start}
.cbn-a h2{font-size:var(--fs5);max-width:18ch}
.align-center .cbn-a{justify-items:center;text-align:center}
.cbn-p{color:var(--c-muted);max-width:52ch;font-size:var(--fs1)}
.cbn-b{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px 64px;align-items:center}
.cbn-big{display:inline-flex;align-items:baseline;gap:.25em;font-size:var(--fs6);line-height:1;color:var(--c-fg);text-decoration:none;border-bottom:calc(var(--bdw)*3) solid currentColor;padding-bottom:.08em;max-width:100%}
.cbn-big .ic{width:.7em;height:.7em;flex:none;transition:transform .2s}
.cbn-big:hover .ic{transform:translate(4px,-4px)}
.m-cta_band.v-c .cbn-p{margin-top:20px}
@media (max-width:860px){.cbn-b{grid-template-columns:1fr}}

/* module faq */

.faq-w{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:24px clamp(32px,6vw,96px)}
.faq-l details{border-top:var(--bdw) solid var(--c-line)}
.faq-l details:last-child{border-bottom:var(--bdw) solid var(--c-line)}
.faq-l summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:18px 0;font-weight:700;font-size:1.08rem}
.faq-l summary::-webkit-details-marker{display:none}
.faq-l summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--c-link);transition:transform .2s}
.faq-l details[open] summary::after{transform:rotate(45deg)}
.faq-l details p{color:var(--c-muted);padding-bottom:18px;max-width:62ch}
@media (max-width:860px){.faq-w{grid-template-columns:1fr}}

/* module feature_split */

.m-feature_split{container-type:inline-size}
.m-feature_split .fs-txt{display:grid;gap:18px;align-content:center;min-width:0}
.m-feature_split .fs-txt h2{max-width:16ch}
.m-feature_split .fs-prose p:first-child{color:var(--c-fg);font-size:var(--fs1);line-height:1.5}
.fs-list{display:grid;border-top:var(--bdw) solid var(--c-line);margin-top:6px;max-width:var(--measure)}
.fs-list li{position:relative;padding:12px 0 12px 34px;border-bottom:var(--bdw) solid var(--c-line);font-weight:600}
.fs-list li::before{content:"";position:absolute;left:2px;top:1.32em;width:18px;height:calc(var(--bdw) + 1px);background:var(--c-link)}
.fs-act{margin-top:10px;gap:14px 26px}
.m-feature_split figure{margin:0;position:relative;min-width:0}
/* a: bleed */
.m-feature_split.v-a{padding-block:0}
.fs-a{--edge:max(var(--gut),calc((100cqw - var(--maxw)) / 2));display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:clamp(560px,52vw,780px)}
.fs-a .fs-fig{min-height:100%}
.fs-a .fs-im{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fs-a .fs-txt{padding-block:calc(var(--space)*clamp(64px,8vw,124px));padding-left:clamp(32px,5.5vw,96px);padding-right:var(--edge)}
.fs-a.fs-flip .fs-fig{order:2}
.fs-a.fs-flip{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.fs-a.fs-flip .fs-txt{padding-left:var(--edge);padding-right:clamp(32px,5.5vw,96px)}
.fs-ov{position:absolute;left:0;right:0;bottom:0;padding:60px clamp(20px,3vw,36px) clamp(18px,2.4vw,28px);color:#fff;font-size:.9rem;line-height:1.45;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.66));display:grid;gap:4px;max-width:none}
.fs-ov{padding-right:max(clamp(20px,3vw,36px),30%)}
.fs-ovk{font-family:var(--lab-f);text-transform:var(--lab-case);letter-spacing:var(--lab-ls);font-size:.72rem;font-weight:700;opacity:.85}
/* b: inset card */
.fs-b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,8vw,128px);align-items:center}
.fs-b .fs-fig{padding-bottom:40px}
.fs-b .fs-im{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg)}
.fs-card{position:absolute;right:calc(-1 * clamp(20px,4vw,64px));bottom:0;width:min(320px,72%);padding:clamp(18px,2vw,26px);background:var(--c-card);color:var(--c-fg);border-radius:var(--r);display:grid;gap:8px;box-shadow:0 24px 50px -28px rgba(0,0,0,.45);border:var(--bdw) solid var(--c-line)}
.fs-card p:last-child{font-size:.95rem;line-height:1.5}
.fs-b.fs-flip .fs-fig{order:2}
.fs-b.fs-flip .fs-card{right:auto;left:calc(-1 * clamp(20px,4vw,64px))}
/* c: stacked pair */
.fs-c{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(40px,7vw,112px);align-items:center}
.fs-stack{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
.fs-p1{grid-column:1 / 10;grid-row:1;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.fs-p2{grid-column:6 / 13;grid-row:1;margin-top:42%;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);outline:clamp(6px,.8vw,12px) solid var(--c-bg);position:relative}
.fs-cap2{grid-column:1 / 6;grid-row:1;align-self:end;margin:0 16px 4px 0;max-width:26ch}
.fs-c.fs-flip .fs-stack{order:2}
@media (max-width:1024px){.fs-card{right:-12px}.fs-b.fs-flip .fs-card{left:-12px}}
@media (max-width:860px){
 .fs-a,.fs-a.fs-flip{grid-template-columns:1fr;min-height:0}
 .fs-a .fs-fig{aspect-ratio:4/3;min-height:0}.fs-a.fs-flip .fs-fig{order:0}
 .fs-a .fs-txt,.fs-a.fs-flip .fs-txt{padding:calc(var(--space)*56px) var(--gut)}
 .fs-ov{padding-right:clamp(20px,3vw,36px)}
 .fs-b,.fs-c{grid-template-columns:1fr}
 .fs-b.fs-flip .fs-fig,.fs-c.fs-flip .fs-stack{order:0}
 .fs-b .fs-fig{padding-bottom:0}
 .fs-card,.fs-b.fs-flip .fs-card{position:relative;right:auto;left:auto;margin:-64px 14px 0 auto;width:auto;max-width:340px}
 .fs-cap2{grid-column:1 / -1;grid-row:2;margin-top:14px}
}

/* module hero_form */

.m-hero_form{padding-block:clamp(36px,5vw,88px)}
.m-hero_form{container:hb/inline-size}
.hfm-h{font-size:clamp(38px,6.2cqi,96px);line-height:1.02;max-width:13ch}
.hfm-rs{display:grid;gap:0;border-top:var(--bdw) solid var(--c-line)}
.hfm-rs li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:var(--bdw) solid var(--c-line);font-weight:550}
.hfm-rs .ic{width:20px;height:20px;color:var(--c-link);margin-top:2px}
.hfm-ph{display:flex;gap:10px;align-items:center;color:var(--c-muted)}
.hfm-ph .ic{color:var(--c-link)}
.hfm-ph a{font-weight:700;white-space:nowrap}
.hfm-box{background:var(--c-card);color:var(--c-fg);border:var(--bdw) solid var(--c-line);border-radius:var(--r-lg);padding:clamp(20px,2.6vw,36px)}
.card-shadow .hfm-box{box-shadow:0 1px 2px rgba(0,0,0,.06),0 24px 60px -30px rgba(0,0,0,.45)}
.hfm-ft{font-size:var(--fs3);line-height:1.05}
.hfm-fields{display:flex;flex-wrap:wrap;gap:14px}
.hfm-fields > *{flex:1 1 100%;min-width:0}
.hfm-fields > .hfm-half{flex:1 1 calc(50% - 7px);min-width:180px}
.hfm-opt{font-weight:400;color:var(--c-muted);font-size:.85em}
.hfm-fs{border:0;padding:0;margin:0}
.hfm-fs legend{padding:0;margin-bottom:6px}
.hfm-rads{display:flex;flex-wrap:wrap;gap:8px}
.hfm-rad{position:relative;cursor:pointer}
.hfm-rad input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.hfm-rad span{display:block;padding:.6em 1em;border:var(--bdw) solid var(--c-line);border-radius:var(--r-btn);font-weight:600;font-size:.94rem}
.hfm-rad input:checked + span{background:var(--c-fg);color:var(--c-bg);border-color:var(--c-fg)}
.hfm-rad input:focus-visible + span{outline:3px solid var(--c-link);outline-offset:2px}
.hfm-act{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.hfm-form textarea{min-height:84px}
.btn-underline .hfm-go,.btn-bracket .hfm-go{background:var(--c-btn);color:var(--c-btn-fg);border:0;padding:1em 1.4em}
.hfm-ok h3{font-size:var(--fs3)}
.hfm-img{width:100%;object-fit:cover;display:block}
/* a */
.hfm-a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5cqi,80px);align-items:start}
.hfm-l{display:grid;gap:22px;align-content:start}
.hfm-afig{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden}
.hfm-afig .hfm-img{aspect-ratio:16/9}
.hfm-afig::after{content:"";position:absolute;inset:0 0 auto 0;height:45%;background:linear-gradient(rgba(0,0,0,.55),transparent)}
.hfm-afig .cap{position:absolute;top:14px;left:18px;right:18px;margin:0;color:#fff;z-index:1}
.hfm-r{display:grid}
.hfm-a .hfm-box{margin:calc(-1 * clamp(48px,7cqi,110px)) clamp(12px,2.4cqi,32px) 0;position:relative;z-index:1;box-shadow:0 1px 2px rgba(0,0,0,.06),0 24px 60px -30px rgba(0,0,0,.45)}
@container hb (max-width:860px){
 .hfm-a{grid-template-columns:1fr}
 .hfm-a .hfm-box{margin:-40px 10px 0}
}
/* b */
.m-hero_form.v-b{padding:0}
.hfm-b{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:min(94vh,940px)}
.hfm-photo{position:relative;isolation:isolate;display:flex;align-items:flex-end;color:#fff;min-height:420px}
.hfm-photo .hfm-img{position:absolute;inset:0;height:100%;z-index:-2}
.hfm-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.78))}
.hfm-over{display:grid;gap:16px;padding:clamp(24px,5cqi,72px)}
.hfm-over .label{color:#fff}
.hfm-over .hfm-h{color:#fff}
.hfm-olead{color:#fff;opacity:.9;font-size:var(--fs1);line-height:1.5;max-width:40ch}
.hfm-panel{display:grid;gap:22px;align-content:center;padding:clamp(24px,4cqi,72px)}
.hfm-b .hfm-box{border:0;padding:0;background:transparent;border-radius:0}
.hfm-b .hfm-rs{margin-top:6px}
@container hb (max-width:880px){
 .hfm-b{grid-template-columns:1fr;min-height:0}
 .hfm-photo{min-height:min(78vh,560px)}
 .hfm-panel{padding:28px clamp(18px,5cqi,40px) 48px}
}
/* c */
.hfm-ctop{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,5cqi,80px);align-items:end}
.hfm-cfig .hfm-img{aspect-ratio:5/4;border-radius:var(--r-lg)}
.hfm-bar{margin-top:clamp(28px,4cqi,48px);background:var(--c-card);border:var(--bdw) solid var(--c-line);border-top:calc(var(--bdw)*4) solid var(--c-fg);border-radius:0 0 var(--r-lg) var(--r-lg);padding:clamp(18px,2.4cqi,30px)}
.hfm-bar .hfm-form{grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:14px 24px;display:grid}
.hfm-bar .hfm-ft{font-size:var(--fs2);align-self:center;max-width:9ch}
.hfm-bar .hfm-fields{flex-wrap:wrap}
.hfm-bar .hfm-fields > *{flex:1 1 160px}
.hfm-bar .hfm-fields > .hfm-fs{flex:2 1 260px}
.hfm-bar .hfm-fields textarea{min-height:0;height:3.1em}
.hfm-bar .hfm-act{flex-direction:column;align-items:stretch;gap:6px}
.hfm-bar .fine{text-align:center}
.hfm-cfoot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 40px;margin-top:20px;align-items:center}
.hfm-c .hfm-rs{display:flex;flex-wrap:wrap;gap:6px 26px;border:0}
.hfm-c .hfm-rs li{border:0;padding:4px 0;font-size:.95rem}
@container hb (max-width:1000px){.hfm-bar .hfm-form{grid-template-columns:1fr}.hfm-bar .hfm-ft{max-width:none}.hfm-bar .hfm-act{flex-direction:row;align-items:center}}
@container hb (max-width:760px){.hfm-ctop{grid-template-columns:1fr}.hfm-cfig .hfm-img{aspect-ratio:16/10}}

/* module hero_map */

.m-hero_map{padding-block:clamp(36px,5vw,80px)}
.m-hero_map{container:hb/inline-size}
.hmp-h{font-size:clamp(34px,5.4cqi,88px);line-height:1.02;max-width:13ch}
.hmp-map{position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;border:var(--bdw) solid var(--c-line);--land:color-mix(in srgb,var(--c-fg) 9%,var(--c-bg));--road:var(--c-bg)}
.hmp-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.hmp-land{fill:var(--land)}
.hmp-park{fill:color-mix(in srgb,var(--c-link) 24%,var(--land))}
.hmp-water{fill:none;stroke:color-mix(in srgb,var(--c-link) 40%,var(--land));stroke-width:20px;stroke-linecap:round;vector-effect:non-scaling-stroke}
.hmp-st{fill:none;stroke:var(--road);stroke-width:2px;vector-effect:non-scaling-stroke;opacity:.95}
.hmp-avc{fill:none;stroke:color-mix(in srgb,var(--c-fg) 18%,var(--land));stroke-width:9px;vector-effect:non-scaling-stroke;stroke-linecap:round}
.hmp-av{fill:none;stroke:var(--road);stroke-width:6px;vector-effect:non-scaling-stroke;stroke-linecap:round}
.hmp-hw{stroke:color-mix(in srgb,var(--c-link) 30%,var(--road));stroke-width:7px}
.hmp-route{fill:none;stroke:var(--c-link);stroke-width:3.5px;stroke-dasharray:2 7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hmp-pin{position:absolute;transform:translate(-50%,calc(-100% - 6px));transform-origin:50% 120%;z-index:2;cursor:pointer;transition:transform .2s ease,opacity .2s}
.hmp-pin b{position:relative;isolation:isolate;display:grid;place-items:center;width:34px;height:34px;color:var(--c-btn-fg);font-family:var(--fb);font-weight:800;font-size:.95rem;line-height:1}
.hmp-pin b::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50% 50% 50% 3px;transform:rotate(-45deg);background:var(--c-btn);box-shadow:0 0 0 3px var(--c-bg),0 8px 18px -8px rgba(0,0,0,.5);transition:box-shadow .2s}
.hmp-tip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);background:var(--c-fg);color:var(--c-bg);font-size:.8rem;font-weight:700;padding:.35em .7em;border-radius:var(--r);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.hmp-pin.is-on{transform:translate(-50%,calc(-100% - 6px)) scale(1.22);z-index:3}
.hmp-pin.is-on b::before{box-shadow:0 0 0 3px var(--c-bg),0 0 0 9px color-mix(in srgb,var(--c-btn) 35%,transparent)}
.hmp-pin.is-on .hmp-tip{opacity:1}
.hmp.has-on .hmp-pin:not(.is-on){opacity:.55}
.hmp-n{position:absolute;right:14px;top:14px;display:grid;justify-items:center;gap:0;color:var(--c-fg);font-size:.72rem;font-weight:800}
.hmp-n svg{width:14px;height:18px;fill:currentColor}
.hmp-scale{position:absolute;right:14px;bottom:12px;display:grid;gap:3px;justify-items:end;font-size:.72rem;font-weight:700;color:var(--c-muted)}
.hmp-scale i{display:block;width:64px;height:6px;border:2px solid var(--c-fg);border-top:0}
.hmp-area{position:absolute;left:14px;bottom:12px;font-family:var(--lab-f);text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:700;color:var(--c-fg);background:var(--c-bg);padding:.4em .7em;border-radius:var(--r)}
.hmp-list{display:grid}
.hmp-li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-content:start;padding:14px 0;border-bottom:var(--bdw) solid var(--c-line);transition:background-color .2s}
.hmp-num{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:calc(var(--bdw)*2) solid var(--c-fg);font-weight:800;font-size:.95rem;transition:background-color .2s,color .2s}
.hmp-li.is-on .hmp-num{background:var(--c-btn);border-color:var(--c-btn);color:var(--c-btn-fg)}
.hmp-body{display:grid;gap:3px;align-content:start;grid-template-columns:minmax(0,1fr) auto;align-items:baseline}
.hmp-body > *{grid-column:1}
.hmp-name{font-size:var(--fs1);line-height:1.2}
.hmp-when{display:flex;gap:6px;align-items:center;font-weight:650;font-size:.95rem}
.hmp-when .ic{color:var(--c-link);width:16px;height:16px}
.hmp-addr,.hmp-note{color:var(--c-muted);font-size:.92rem}
.hmp-dir{grid-column:2;grid-row:1;display:inline-flex;gap:4px;align-items:center;font-size:.85rem;font-weight:700;text-decoration:none;color:var(--c-link);white-space:nowrap}
.hmp-dir:hover{text-decoration:underline}
.hmp-dir .ic{width:14px;height:14px}
.hmp-side{display:grid;gap:18px;align-content:start}
.hmp-side .hmp-list{border-top:calc(var(--bdw)*2) solid var(--c-fg);margin-top:6px}
/* a */
.hmp-a{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,5cqi,72px);align-items:start}
.hmp-a .hmp-map{position:sticky;top:96px;aspect-ratio:1}
/* b */
.hmp-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px clamp(24px,5cqi,80px);align-items:end;margin-bottom:clamp(20px,3cqi,40px)}
.hmp-b .hmp-map{aspect-ratio:21/8}
.hmp-b .hmp-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 24px;margin-top:22px;border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.hmp-b .hmp-li{grid-template-columns:1fr;gap:10px;border-bottom:0;padding:16px 0}
.hmp-b .hmp-body{grid-template-columns:1fr}
.hmp-b .hmp-dir{grid-column:1;grid-row:auto;margin-top:4px}
/* c */
.hmp-c{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,5cqi,72px);align-items:start}
.hmp-c .hmp-map{aspect-ratio:4/5;position:sticky;top:96px}
.hmp-c .hmp-list{border-top:0}
.hmp-c .hmp-li{border-bottom:0;position:relative;padding:10px 0 18px}
.hmp-c .hmp-li::before{content:"";position:absolute;left:15px;top:44px;bottom:-10px;border-left:3px dotted var(--c-link)}
.hmp-c .hmp-li:last-child::before{display:none}
.hmp-c .hmp-num{background:var(--c-bg);position:relative;z-index:1}
@container hb (max-width:860px){
 .hmp-a,.hmp-c,.hmp-head{grid-template-columns:1fr}
 .hmp-a .hmp-map,.hmp-c .hmp-map{position:relative;top:0}
 .hmp-c .hmp-map{aspect-ratio:4/3;order:-1}
 .hmp-b .hmp-map{aspect-ratio:4/3}
}
@container hb (max-width:480px){.hmp-body{grid-template-columns:1fr}.hmp-dir{grid-column:1;grid-row:auto}.hmp-pin b{width:28px;height:28px;font-size:.82rem}.hmp-scale{display:none}}

/* module locations */

.m-locations .fx-split{align-items:end}
.m-locations .fx-hl{display:grid;gap:14px;align-content:end}
.m-locations .fx-hr{display:grid;gap:14px;justify-items:start;align-content:end}
.m-locations .fx-hr .lead{max-width:48ch}

.m-locations .mp{position:relative;overflow:hidden;min-width:0;isolation:isolate;border-radius:var(--r-lg);background:color-mix(in srgb,var(--c-fg) 8%,var(--c-bg));min-height:320px}
.m-locations .mp-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.m-locations .mp-svg *{vector-effect:non-scaling-stroke}
.m-locations .mp-park{fill:color-mix(in srgb,var(--c-link) 15%,var(--c-bg));stroke:color-mix(in srgb,var(--c-link) 30%,var(--c-bg));stroke-width:1;stroke-dasharray:3 3}
.m-locations .mp-blk{fill:color-mix(in srgb,var(--c-fg) 4%,var(--c-bg))}
.m-locations .mp-st line{stroke:var(--c-bg);stroke-width:5;stroke-linecap:square}
.m-locations .mp-maj{stroke:var(--c-card);stroke-width:11;fill:none}
.m-locations .mp-maj-edge{stroke:color-mix(in srgb,var(--c-fg) 16%,var(--c-bg));stroke-width:14;fill:none}
.m-locations .mp-water{stroke:color-mix(in srgb,var(--c-btn) 30%,var(--c-bg));stroke-width:30;fill:none;stroke-linecap:round}
.m-locations .mp-lbl{position:absolute;z-index:1;font-family:var(--lab-f);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--c-muted);white-space:nowrap;pointer-events:none}
.m-locations .mp-lbl.v{transform:rotate(-90deg);transform-origin:left top}
.m-locations .mp-pin{position:absolute;z-index:2;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .2s ease}
.m-locations .mp-pin b{display:grid;place-items:center;width:38px;height:38px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--c-btn);color:var(--c-btn-fg);box-shadow:0 8px 18px -8px rgba(0,0,0,.55);border:2px solid var(--c-card)}
.m-locations .mp-pin b span{transform:rotate(45deg);font-weight:800;font-size:.95rem;line-height:1}
.m-locations .mp-pin em{font-style:normal;font-size:.78rem;font-weight:700;background:var(--c-card);color:var(--c-fg);padding:.3em .65em;border-radius:999px;box-shadow:0 4px 14px -6px rgba(0,0,0,.35);white-space:nowrap;order:2}
.m-locations .mp-pin.on{transform:translate(-50%,-100%) scale(1.12);z-index:3}
.m-locations .mp-pin.on b{background:var(--c-fg);color:var(--c-bg)}
.m-locations .mp-pin.pulse b::after{content:"";position:absolute;inset:-8px;border-radius:50% 50% 50% 0;border:2px solid var(--c-btn);opacity:.5}
@media (prefers-reduced-motion:no-preference){.m-locations .mp-pin.pulse b::after{animation:fxping 2.4s ease-out infinite}}
@keyframes fxping{0%{transform:scale(.8);opacity:.7}100%{transform:scale(1.5);opacity:0}}
.m-locations .mp-scale{position:absolute;right:14px;bottom:12px;z-index:1;display:flex;align-items:center;gap:8px;font-size:.68rem;color:var(--c-muted);font-weight:700;letter-spacing:.08em}
.m-locations .mp-scale i{display:block;width:56px;height:6px;border:1.5px solid currentColor;border-top:0}
.m-locations .mp-n{position:absolute;left:14px;bottom:12px;z-index:1;font-family:var(--fd);font-weight:var(--dw);font-size:1rem;color:var(--c-muted)}

.m-locations .lc-kind{font-family:var(--lab-f);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--c-link)}
.m-locations h3{font-size:var(--fs3)}
.m-locations .lc-addr{display:flex;gap:8px;align-items:flex-start;font-weight:600}
.m-locations .lc-addr .ic{width:18px;height:18px;margin-top:3px;color:var(--c-muted)}
.m-locations .lc-times{display:grid;border-top:var(--bdw) solid var(--c-line)}
.m-locations .lc-times li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:var(--bdw) dotted var(--c-line);font-size:.93rem}
.m-locations .lc-times span{color:var(--c-muted)}
.m-locations .lc-times b{text-align:right}
.m-locations .lc-note{font-size:.88rem;color:var(--c-muted)}
.m-locations .lc-acts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:4px}
.m-locations .lc-acts .ic{width:16px;height:16px}
/* a */
.m-locations .lc-a{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(16px,2vw,28px)}
.m-locations .lc-a.n1{grid-template-columns:1fr}
.m-locations .lc-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);border-radius:var(--r-lg);overflow:hidden;background:var(--c-card);border:var(--bdw) solid var(--c-line)}
.m-locations .lc-img{width:100%;height:100%;object-fit:cover;min-height:220px}
.m-locations .lc-cb{display:grid;gap:12px;padding:clamp(18px,2vw,28px);align-content:start}
.m-locations .lc-main{grid-row:span 2;grid-template-columns:1fr;grid-template-rows:1fr auto}
.m-locations .lc-main .lc-img{height:100%;min-height:320px}
.m-locations .lc-main h3{font-size:var(--fs4)}
.m-locations .lc-a.n2 .lc-main{grid-row:auto}
.m-locations .lc-a.n2 .lc-card:not(.lc-main){grid-template-columns:1fr;grid-template-rows:auto 1fr}
.m-locations .lc-a.n2 .lc-card:not(.lc-main) .lc-img{aspect-ratio:16/10;height:auto}
.m-locations .lc-a.n4 .lc-card:nth-child(n+4){grid-column:span 1}
/* b */
.m-locations .lc-b{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.m-locations .lc-mapcol{position:sticky;top:96px;min-width:0}
.m-locations .lc-mapcol .mp{aspect-ratio:5/6;min-height:420px;max-height:calc(100vh - 140px);width:100%}
.m-locations .lc-list{display:grid;border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.m-locations .lc-li{display:grid;grid-template-columns:40px minmax(0,1fr) 112px;gap:18px;padding:22px 0;border-bottom:var(--bdw) solid var(--c-line);transition:background-color .2s;outline:none}
.m-locations .lc-li.on{background:linear-gradient(90deg,var(--c-soft),transparent)}
.m-locations .lc-key{width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;background:var(--c-btn);color:var(--c-btn-fg);font-weight:800}
.m-locations .lc-key span{transform:rotate(45deg)}
.m-locations .lc-lb{display:grid;gap:8px;min-width:0}
.m-locations .lc-thumb{width:112px;aspect-ratio:1;object-fit:cover;border-radius:var(--r)}
@media (max-width:1024px){.m-locations .lc-li{grid-template-columns:40px minmax(0,1fr);row-gap:14px}.m-locations .lc-key{grid-column:1;grid-row:1}.m-locations .lc-thumb{grid-column:2;grid-row:1;width:100%;aspect-ratio:16/9}.m-locations .lc-lb{grid-column:2;grid-row:2}}
@media (max-width:900px){.m-locations .lc-a{grid-template-columns:1fr}.m-locations .lc-main{grid-row:auto}.m-locations .lc-main .lc-img{aspect-ratio:16/10;height:auto;min-height:0}
 .m-locations .lc-b{grid-template-columns:1fr}.m-locations .lc-mapcol{position:static}.m-locations .lc-mapcol .mp{aspect-ratio:4/3;min-height:0;max-height:none}}
@media (max-width:640px){.m-locations .lc-card{grid-template-columns:1fr}.m-locations .lc-img{aspect-ratio:16/10;height:auto;min-height:0}}

/* module page_head */

.m-page_head{padding-block:calc(var(--space)*clamp(56px,7vw,104px)) calc(var(--space)*clamp(36px,4vw,64px))}
.ph-t{font-size:var(--fs6);max-width:16ch}
.ph-a{display:grid;gap:22px}
.ph-a .rule{margin-top:8px}
.ph-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px 64px}
.ph-note{color:var(--c-muted);font-size:.95rem;border-left:var(--bdw) solid var(--c-line);padding-left:18px}
.ph-b{display:grid;gap:18px;justify-items:center;text-align:center}
.ph-b .ph-t{max-width:18ch}.ph-b .lead{margin-inline:auto}
.ph-c{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.ph-img{width:100%;aspect-ratio:5/4;object-fit:cover}
.m-page_head.v-d{padding:0}
.ph-d{position:relative;isolation:isolate;min-height:clamp(340px,48vh,520px);display:grid;align-items:end;color:#fff}
.ph-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ph-d::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.72))}
.ph-dt{display:grid;gap:14px;padding-block:clamp(40px,6vw,72px)}
.ph-d .label,.ph-d .lead{color:#fff}.ph-d .lead{opacity:.92}
@media (max-width:860px){.ph-row,.ph-c{grid-template-columns:1fr}}

/* module program_cards */

.m-program_cards{container-type:inline-size}
.m-program_cards .sc-row{--edge:max(var(--gut),calc((100cqw - var(--maxw)) / 2));display:flex;gap:clamp(14px,2vw,28px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
  padding-inline:var(--edge);scroll-padding-inline:var(--edge);padding-bottom:22px;scrollbar-width:thin;scrollbar-color:var(--c-line) transparent}
.m-program_cards .sc-row > *{flex:none;scroll-snap-align:start}
.m-program_cards .sc-row:focus-visible{outline-offset:-3px}
.m-program_cards .sc-ctrl{display:flex;gap:8px;flex:none}
.m-program_cards .sc-b{width:48px;height:48px;display:grid;place-items:center;border-radius:999px;border:var(--bdw) solid var(--c-line);background:transparent;color:var(--c-fg);cursor:pointer;transition:background-color .18s,border-color .18s}
.m-program_cards .sc-b:hover:not(:disabled){border-color:var(--c-fg)}
.m-program_cards .sc-b:disabled{opacity:.35;cursor:default}
.m-program_cards .sc-b .ic{width:20px;height:20px}
.m-program_cards .sc-prev .ic{transform:rotate(180deg)}
.m-program_cards .sc-top{display:flex;justify-content:space-between;align-items:end;gap:24px}
.m-program_cards .sc-top .head{margin-bottom:0}
@media (max-width:640px){.m-program_cards .sc-ctrl{display:none}}

.m-program_cards .pc-k{margin-bottom:2px}
.m-program_cards .pc-t{font-size:var(--fs2);line-height:1.1}
.m-program_cards .pc-t a{color:inherit;text-decoration:none}
.m-program_cards .pc-t a::after{content:"";position:absolute;inset:0;z-index:2}
.m-program_cards .pc-t a:focus-visible{outline:none}
.m-program_cards article:has(.pc-t a:focus-visible){outline:3px solid var(--accent);outline-offset:4px}
.m-program_cards article{position:relative;min-width:0}
.m-program_cards .pc-d{color:var(--c-muted);font-size:.98rem;max-width:46ch}
.m-program_cards .pc-more{display:inline-flex;align-items:center;gap:.5em;font-weight:700;font-size:.92rem;color:var(--c-link);margin-top:4px}
.m-program_cards .pc-more .ic{transition:transform .2s}
.m-program_cards article:hover .pc-more .ic{transform:translateX(4px)}
.m-program_cards .pc-b{display:grid;gap:8px;align-content:start}
.m-program_cards img{width:100%;object-fit:cover;border-radius:var(--r)}
/* a */
.pc-ha{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,52px)}
.pc-ha .head{margin-bottom:0}
.pc-a{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:stretch}
.pc-big{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;isolation:isolate;min-height:clamp(440px,52vw,720px);color:#fff}
.pc-big .pc-bim{position:absolute;inset:0;height:100%;border-radius:0;z-index:-2;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pc-big:hover .pc-bim{transform:scale(1.03)}
.pc-big::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(0,0,0,.78))}
.pc-bb{margin-top:auto;padding:clamp(22px,3vw,40px);display:grid;gap:10px}
.pc-big .pc-tb{font-size:var(--fs4);line-height:1;color:#fff;max-width:14ch}
.pc-big .label,.pc-big .pc-more{color:#fff}
.pc-big .pc-d{color:#fff;opacity:.9;font-size:1.05rem}
.pc-rest{display:grid;gap:clamp(24px,3vw,40px);align-content:space-between}
.pc-sm{display:grid;gap:14px;padding-bottom:clamp(20px,2.4vw,32px);border-bottom:var(--bdw) solid var(--c-line)}
.pc-sm:last-child{border-bottom:0;padding-bottom:0}
.pc-sm .pc-im{aspect-ratio:16/9}
.pc-many .pc-rest{grid-template-columns:1fr 1fr;align-content:start;column-gap:clamp(16px,2vw,28px)}
.pc-many .pc-sm{border-bottom:0;padding-bottom:0}
.pc-many .pc-sm .pc-im{aspect-ratio:4/3}
.pc-many .pc-sm .pc-t{font-size:var(--fs1)}
.pc-many .pc-sm .pc-d{font-size:.92rem}
/* b */
.m-program_cards .pc-wrapb .sc-top{margin-bottom:clamp(28px,4vw,52px)}
.pc-row{align-items:start}
.pc-s{width:clamp(250px,26vw,360px);display:grid;gap:16px}
.pc-s:nth-child(even){margin-top:clamp(28px,4vw,64px)}
.pc-s .pc-im{aspect-ratio:4/5;border-radius:var(--r-lg)}
.pc-foot{margin-top:18px}
/* c */
.pc-hc{max-width:none;grid-template-columns:minmax(0,1fr) auto;align-items:end}
.pc-hc > :not(.tlink){grid-column:1}
.pc-hc .tlink{grid-column:2;grid-row:1 / span 3;align-self:end}
.pc-list{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(28px,5vw,80px);border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.rule-hair .pc-list{border-top-width:var(--bdw)}
.pc-r{display:grid;grid-template-columns:clamp(96px,11vw,150px) minmax(0,1fr);gap:clamp(16px,2vw,28px);padding-block:clamp(20px,2.4vw,30px);border-bottom:var(--bdw) solid var(--c-line)}
.pc-r .pc-sq{aspect-ratio:1;border-radius:calc(var(--r) * .7)}
.pc-r .pc-t{font-size:var(--fs2)}
@media (max-width:1024px){.pc-many .pc-rest{grid-template-columns:1fr}.pc-many .pc-sm .pc-im{aspect-ratio:16/9}}
@media (max-width:860px){
 .pc-a{grid-template-columns:1fr}.pc-big{min-height:460px}.pc-many .pc-rest{grid-template-columns:1fr 1fr}
 .pc-list{grid-template-columns:1fr}
 .pc-hc{grid-template-columns:1fr}.pc-hc .tlink{grid-column:1;grid-row:auto}
}
@media (max-width:560px){.pc-many .pc-rest{grid-template-columns:1fr}.pc-s{width:78vw}.pc-s:nth-child(even){margin-top:0}}

/* module quote_band */

.m-quote_band{container-type:inline-size}
.m-quote_band figure{margin:0}
.qb-q{font-size:var(--fs5);line-height:1.08;text-wrap:balance;text-indent:-.4em}
.qb-q::before{content:"\201C"}
.qb-q::after{content:"\201D"}
.qb-att{display:grid;gap:2px;font-size:.95rem}
.qb-att b{font-weight:700}
.qb-att span{color:var(--c-muted)}
/* a */
.m-quote_band.v-a,.m-quote_band.v-b{padding-block:0}
.qb-a{--edge:max(var(--gut),calc((100cqw - var(--maxw)) / 2));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:clamp(480px,48vw,720px)}
.qb-ph{position:relative;min-height:100%}
.qb-im{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qb-txt{display:grid;gap:clamp(20px,2.4vw,32px);align-content:center;padding-block:calc(var(--space)*clamp(64px,8vw,120px));padding-left:clamp(32px,5.5vw,96px);padding-right:var(--edge)}
.qb-txt .qb-q{font-size:var(--fs4)}
.qb-txt .qb-q::before{color:var(--c-link)}
.qb-txt .qb-att{padding-top:14px;border-top:var(--bdw) solid var(--c-line);max-width:360px}
.qb-flip .qb-ph{order:2}
.qb-flip .qb-txt{padding-left:var(--edge);padding-right:clamp(32px,5.5vw,96px)}
/* b */
.qb-b{position:relative;isolation:isolate;display:grid;align-items:end;min-height:clamp(520px,72vh,780px);color:#fff}
.qb-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.qb-b::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,.12) 100%),linear-gradient(0deg,rgba(0,0,0,.45),rgba(0,0,0,0) 50%)}
.qb-bin{display:grid;gap:clamp(20px,2.6vw,32px);padding-block:calc(var(--space)*clamp(72px,9vw,140px))}
.qb-b .qb-q{max-width:20ch;color:#fff}
.qb-b .label,.qb-b .qb-att span{color:#fff}
.qb-b .qb-att span{opacity:.82}
.qb-b .qb-att{padding-left:16px;border-left:3px solid #fff}
/* c */
.qb-c{display:grid;gap:clamp(24px,3vw,40px)}
.qb-c .qb-q{font-size:var(--fs6);line-height:1.02;max-width:22ch}
.qb-c .qb-q::before,.qb-c .qb-q::after{color:var(--c-link)}
.qb-catt{display:flex;align-items:center;gap:16px;margin-left:clamp(0px,12vw,220px)}
.qb-av{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}
.qb-ct{display:grid;gap:2px}
.align-center .qb-c{justify-items:center;text-align:center}
.align-center .qb-catt{margin-left:0;text-align:left}
@media (max-width:860px){
 .qb-a{grid-template-columns:1fr;min-height:0}
 .qb-ph{aspect-ratio:4/3;min-height:0}.qb-flip .qb-ph{order:0}
 .qb-txt,.qb-flip .qb-txt{padding:calc(var(--space)*56px) var(--gut)}
 .qb-b::before{background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.8) 60%)}
 .qb-catt{margin-left:0}
}

/* module resources */

.m-resources .fx-split{align-items:end}
.m-resources .fx-hl{display:grid;gap:14px;align-content:end}
.m-resources .fx-hr{display:grid;gap:14px;justify-items:start;align-content:end}
.m-resources .fx-hr .lead{max-width:48ch}

.m-resources .fx-bar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding-bottom:18px;margin-bottom:clamp(20px,2.4vw,32px);border-bottom:var(--bdw) solid var(--c-line)}
.m-resources .fx-chips{display:flex;flex-wrap:wrap;gap:6px}
.m-resources .fx-tools{display:flex;gap:14px;align-items:center;flex:1 1 260px;justify-content:flex-end;min-width:0}
.m-resources .fx-search{position:relative;flex:1 1 200px;max-width:320px;min-width:0}
.m-resources .fx-search .ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--c-muted);pointer-events:none;width:18px;height:18px}
.m-resources .fx-search input{padding:.7em 1em .7em 42px;border-radius:999px;background:var(--c-card)}
.m-resources .fx-count{font-size:.86rem;color:var(--c-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.m-resources .chip:focus-visible,.m-resources button:focus-visible,.m-resources a:focus-visible{outline:3px solid var(--c-link);outline-offset:2px}
@media (max-width:640px){.m-resources .fx-tools{justify-content:space-between;flex-basis:100%}.m-resources .fx-search{max-width:none}}

.m-resources .rs-file{position:relative;flex:none;display:grid;place-items:end start;width:48px;height:60px;padding:6px;border-radius:4px 14px 4px 4px;background:var(--c-card);border:var(--bdw) solid var(--c-line);box-shadow:inset -12px 12px 0 -10px var(--c-line)}
.m-resources .rs-file::before{content:"";position:absolute;right:-1px;top:-1px;width:14px;height:14px;background:linear-gradient(225deg,var(--c-bg) 50%,var(--c-line) 50%);border-radius:0 0 0 3px}
.m-resources .rs-file b{font-size:.62rem;font-weight:800;letter-spacing:.06em;padding:.2em .4em;border-radius:3px;background:var(--c-btn);color:var(--c-btn-fg)}
.m-resources .rs-file[data-type=docx] b,.m-resources .rs-file[data-type=doc] b{background:var(--c-link);color:var(--c-bg)}
.m-resources .rs-file[data-type=mp3] b,.m-resources .rs-file[data-type=zip] b,.m-resources .rs-file[data-type=xlsx] b{background:var(--c-fg);color:var(--c-bg)}
.m-resources .rs-d{color:var(--c-muted);font-size:.93rem}
.m-resources .rs-m{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:.8rem;color:var(--c-muted);font-weight:600}
.m-resources .rs-sep{opacity:.5}
.m-resources .rs-sz{font-size:.86rem;color:var(--c-muted);white-space:nowrap}
.m-resources .rs-dl .ic{width:16px;height:16px}
.m-resources .fx-bar{border-bottom:0;padding-bottom:0}
/* a */
.m-resources .rs-list{display:grid;border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.m-resources .rs-row{display:grid;grid-template-columns:48px minmax(0,1fr) 90px auto;gap:20px;align-items:center;padding:18px 0;border-bottom:var(--bdw) solid var(--c-line)}
.m-resources .rs-rb{display:grid;gap:4px;min-width:0}
.m-resources .rs-rb h3{font-size:1.2rem;line-height:1.2}
.m-resources .rs-row .rs-sz{text-align:right}
.m-resources .rs-row:hover .rs-file{transform:translateY(-2px)}
.m-resources .rs-file{transition:transform .2s}
/* b */
.m-resources .rs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,2.6vw,36px) clamp(14px,2vw,24px)}
.m-resources .rs-card{display:grid;grid-template-rows:auto 1fr;gap:14px;min-width:0}
.m-resources .rs-wide{grid-column:span 2}
.m-resources .rs-cover{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;display:grid;align-content:start;gap:10px;padding:18px;border:var(--bdw) solid var(--c-line)}
.m-resources .rs-wide .rs-cover{aspect-ratio:auto;height:100%;min-height:100%}
.m-resources .rs-paper{background:var(--c-card);box-shadow:6px 6px 0 -1px var(--c-bg),6px 6px 0 0 var(--c-line)}
.m-resources .rs-paper.t1{background:color-mix(in srgb,var(--c-link) 12%,var(--c-card))}
.m-resources .rs-paper.t2{background:var(--c-fg);color:var(--c-bg);border-color:var(--c-fg)}
.m-resources .rs-paper.t2 .rs-pk{color:inherit;opacity:.7}
.m-resources .rs-pk{font-family:var(--lab-f);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--c-link)}
.m-resources .rs-ct{font-size:var(--fs3);line-height:1.02;max-width:12ch}
.m-resources .rs-lines{display:grid;gap:7px;margin-top:auto;padding-right:56px}
.m-resources .rs-paper{grid-template-rows:auto auto 1fr}
.m-resources .rs-lines i{display:block;height:3px;border-radius:3px;background:currentColor;opacity:.12}
.m-resources .rs-lines i:nth-child(2){width:86%}.m-resources .rs-lines i:nth-child(3){width:92%}.m-resources .rs-lines i:nth-child(5){width:55%}
.m-resources .rs-lines{align-self:end}
.m-resources .rs-cover .rs-file{position:absolute;right:14px;bottom:14px;width:40px;height:50px}
.m-resources .rs-photo{padding:0;align-content:end;color:#fff;border:0}
.m-resources .rs-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.m-resources .rs-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.7))}
.m-resources .rs-photo .rs-ct{position:relative;z-index:1;font-size:var(--fs4);max-width:16ch;padding:clamp(18px,2.4vw,30px);padding-right:80px;color:#fff}
.m-resources .rs-photo .rs-file{z-index:1}
.m-resources .rs-card:hover .rs-img{transform:scale(1.03)}
.m-resources .rs-cb{display:grid;gap:8px;align-content:start}
.m-resources .rs-wide{grid-template-rows:1fr auto}
.m-resources .rs-wide .rs-cover{min-height:300px}
.m-resources .rs-cf{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;border-top:var(--bdw) solid var(--c-line)}
@media (max-width:1100px){.m-resources .rs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.m-resources .rs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.m-resources .rs-row{grid-template-columns:44px minmax(0,1fr);gap:8px 16px}
 .m-resources .rs-row .rs-file{grid-row:span 2;width:44px;height:56px;align-self:start}.m-resources .rs-row .rs-sz{display:none}.m-resources .rs-row .rs-dl{grid-column:2;justify-self:start}}
@media (max-width:560px){.m-resources .rs-grid{grid-template-columns:1fr}.m-resources .rs-wide{grid-column:auto}.m-resources .rs-wide .rs-cover{aspect-ratio:4/3;min-height:0}
 .m-resources .rs-card:not(.rs-wide){grid-template-columns:110px minmax(0,1fr);grid-template-rows:auto}.m-resources .rs-card:not(.rs-wide) .rs-ct{font-size:1rem}.m-resources .rs-card:not(.rs-wide) .rs-cover{aspect-ratio:3/4}
 .m-resources .rs-card:not(.rs-wide) .rs-lines,.m-resources .rs-card:not(.rs-wide) .rs-cover .rs-file{display:none}.m-resources .rs-card:not(.rs-wide) .rs-cover{padding:12px}}

/* module schedule_table */

.m-schedule_table .fx-split{align-items:end}
.m-schedule_table .fx-hl{display:grid;gap:14px;align-content:end}
.m-schedule_table .fx-hr{display:grid;gap:14px;justify-items:start;align-content:end}
.m-schedule_table .fx-hr .lead{max-width:48ch}

.m-schedule_table .c0{--cc:var(--c-btn)}
.m-schedule_table .c1{--cc:color-mix(in srgb,var(--c-btn) 40%,var(--c-bg))}
.m-schedule_table .c2{--cc:var(--c-fg)}
.m-schedule_table .c3{--cc:color-mix(in srgb,var(--c-fg) 35%,var(--c-bg))}
.m-schedule_table .st-scroll{overflow-x:auto;border-top:calc(var(--bdw)*2) solid var(--c-fg);scrollbar-width:thin}
.m-schedule_table .st-scroll:focus-visible{outline:3px solid var(--c-link);outline-offset:4px}
.m-schedule_table .st-tbl{width:100%;min-width:820px;border-collapse:collapse;table-layout:fixed}
.m-schedule_table .st-tbl thead th{padding:14px 10px;text-align:left;font-family:var(--lab-f);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--c-muted);border-bottom:var(--bdw) solid var(--c-line)}
.m-schedule_table .st-tbl abbr{text-decoration:none}
.m-schedule_table .st-c0{width:24%}
.m-schedule_table .st-tbl tbody th{text-align:left;font-weight:400;padding:16px 16px 16px 14px;position:sticky;left:0;background:var(--c-bg);z-index:1;box-shadow:inset 4px 0 0 var(--cc)}
.m-schedule_table .st-tbl tbody tr{border-bottom:var(--bdw) solid var(--c-line)}
.m-schedule_table .st-rt{display:block;font-family:var(--fd);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dls);font-size:1.18rem;line-height:1.15}
.m-schedule_table .st-rw{display:block;font-size:.84rem;color:var(--c-muted);margin-top:2px}
.m-schedule_table .st-tbl td{padding:10px 6px;vertical-align:middle}
.m-schedule_table .st-cell{display:block;padding:.55em .6em;border-radius:calc(var(--r) * .7);background:color-mix(in srgb,var(--cc) 14%,var(--c-bg));border-left:3px solid var(--cc);font-size:.84rem;font-weight:700;line-height:1.25;font-variant-numeric:tabular-nums}
.m-schedule_table .st-e{color:var(--c-line);padding-left:.6em}
.m-schedule_table .st-tbl .is-today{background:var(--c-soft)}
.m-schedule_table thead .is-today{color:var(--c-fg);box-shadow:inset 0 -3px 0 var(--c-btn)}
.m-schedule_table .st-leg{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;font-size:.86rem;color:var(--c-muted)}
.m-schedule_table .st-leg li{display:inline-flex;gap:8px;align-items:center}
.m-schedule_table .st-leg i{width:12px;height:12px;border-radius:3px;background:var(--cc)}
/* b: tabs */
.m-schedule_table .st-tabs{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:start}
.m-schedule_table .st-tl{display:grid;gap:2px;position:sticky;top:96px;border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.m-schedule_table [role=tab]{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 12px;border:0;border-bottom:var(--bdw) solid var(--c-line);background:transparent;color:var(--c-muted);text-align:left;cursor:pointer;font-weight:700;border-radius:0}
.m-schedule_table [role=tab]:hover{color:var(--c-fg)}
.m-schedule_table .st-tk{font-family:var(--fd);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dls);font-size:1.3rem}
.m-schedule_table .st-tn{font-size:.78rem;min-width:26px;height:26px;display:grid;place-items:center;border-radius:999px;border:var(--bdw) solid var(--c-line)}
.m-schedule_table [role=tab][aria-selected=true]{color:var(--c-btn-fg);background:var(--c-btn)}
.m-schedule_table [role=tab][aria-selected=true] .st-tn{border-color:currentColor}
.m-schedule_table [role=tab].is-today .st-tk::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-left:8px;vertical-align:middle}
.m-schedule_table .st-panel{outline:none}
.m-schedule_table .st-panel:focus-visible{outline:3px solid var(--c-link);outline-offset:6px}
.m-schedule_table .st-ph{font-size:var(--fs5);display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:calc(var(--bdw)*2) solid var(--c-fg)}
.m-schedule_table .st-today{display:none;font-family:var(--lab-f);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--c-link)}
.m-schedule_table .st-panel.is-today .st-today{display:inline}
.m-schedule_table .st-items{display:grid}
.m-schedule_table .st-it{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr) 130px;gap:8px 28px;align-items:baseline;padding:20px 0;border-bottom:var(--bdw) solid var(--c-line)}
.m-schedule_table .st-time{font-size:var(--fs2);line-height:1.1}
.m-schedule_table .st-ib h4{font-size:var(--fs1)}
.m-schedule_table .st-ib p{color:var(--c-muted);font-size:.92rem}
.m-schedule_table .st-cat{justify-self:end;display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted)}
.m-schedule_table .st-cat::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--cc)}
.m-schedule_table .st-none{padding:28px 0;color:var(--c-muted)}
@media (max-width:860px){.m-schedule_table .st-tabs{grid-template-columns:1fr}
 .m-schedule_table .st-tl{position:static;display:flex;overflow-x:auto;gap:6px;border:0;padding-bottom:4px;scrollbar-width:none}
 .m-schedule_table [role=tab]{flex:none;border:var(--bdw) solid var(--c-line);border-radius:999px;padding:8px 14px}
 .m-schedule_table .st-tk{font-size:1rem}.m-schedule_table .st-tn{min-width:22px;height:22px}
 .m-schedule_table .st-it{grid-template-columns:minmax(0,1fr) auto}.m-schedule_table .st-cat{align-self:start;margin-top:4px}.m-schedule_table .st-time{grid-column:1 / -1;font-size:1.15rem}
 .m-schedule_table .st-c0{width:150px}.m-schedule_table .st-tbl{min-width:900px}.m-schedule_table .st-rt{font-size:1.02rem}.m-schedule_table .st-tbl tbody th{padding:12px 10px 12px 12px}}

/* module stats_ledger */

.m-stats_ledger{container-type:inline-size}
.m-stats_ledger .sl-sup{font-size:.62em;line-height:0;vertical-align:super;margin-left:.15em;font-family:var(--fb);font-weight:700;letter-spacing:0}
.m-stats_ledger .sl-sup a{color:var(--c-link);text-decoration:none}
.m-stats_ledger .sl-per{font-family:var(--lab-f);font-size:.8rem;letter-spacing:.06em;color:var(--c-muted);padding-top:12px;border-top:var(--bdw) solid var(--c-line)}
.sl-foot{font-size:.9rem;color:var(--c-muted);max-width:44ch}
.sl-notes{display:grid;gap:8px;font-size:.84rem;color:var(--c-muted);counter-reset:none}
.sl-notes li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:6px;max-width:62ch}
.sl-notes li span:first-child{font-weight:700;color:var(--c-link)}
.sl-notes li:target{color:var(--c-fg)}
/* a: ledger */
.sl-a{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:32px clamp(40px,7vw,120px);align-items:start}
.sl-al{display:grid;gap:18px;position:sticky;top:110px}
.sl-al .head{margin-bottom:0}
.sl-ar{display:grid;gap:28px}
.sl-led{border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.rule-double .sl-led{border-top:3px double var(--c-fg)}
.sl-led li{display:flex;align-items:baseline;gap:12px;padding:clamp(14px,1.8vw,22px) 0;border-bottom:var(--bdw) solid var(--c-line)}
.sl-k{font-size:1.05rem;font-weight:600;max-width:30ch}
.sl-dots{flex:1;min-width:24px;border-bottom:2px dotted var(--c-muted);opacity:.55;transform:translateY(-.3em)}
.sl-v{font-size:var(--fs3);line-height:1;white-space:nowrap}
/* b: numerals */
.sl-bh{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 48px;align-items:end;margin-bottom:clamp(28px,4vw,56px)}
.sl-bh .head{margin-bottom:0}
.sl-bh .sl-per{border:0;padding:0}
.sl-nums{border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.sl-rest{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.sl-n{padding:clamp(18px,2.4vw,32px) clamp(16px,2vw,28px);border-bottom:var(--bdw) solid var(--c-line);border-left:var(--bdw) solid var(--c-line);display:grid;gap:10px;align-content:start}
@media (min-width:861px){.sl-rest .sl-lead{border-left:0;padding-left:0}}
.sl-n1{border-left:0;padding-left:0;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:12px clamp(24px,4vw,56px)}
.sl-big{font-size:var(--fs5);overflow-wrap:anywhere;line-height:.9;letter-spacing:calc(var(--dls) - .01em)}
.sl-rest .sl-big{font-size:min(var(--fs5),calc((100cqw / var(--n) - 64px) / 5.2))}
.sl-n1 .sl-big{font-size:min(clamp(72px,13vw,200px),19cqw);line-height:.82}
.sl-big .sl-sup{font-size:max(.24em,15px);vertical-align:top;line-height:1;position:relative;top:.1em;margin-left:.08em}
.sl-nk{color:var(--c-muted);font-size:1rem;max-width:28ch}
.sl-n1 .sl-nk{font-size:var(--fs1);color:var(--c-fg);max-width:22ch;padding-bottom:.5em}
.sl-bf{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px clamp(32px,6vw,96px);margin-top:clamp(24px,3vw,40px);align-items:start}
/* c: table */
.sl-ch-h{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 48px;align-items:end;margin-bottom:clamp(24px,3vw,44px)}
.sl-ch-h .head{margin-bottom:0}
.sl-ch-h .sl-per{border:0;padding:0}
.sl-tw{max-width:100%;overflow-x:auto}
.sl-t{width:100%;border-collapse:collapse;font-size:1rem}
.sl-t thead th{font-family:var(--lab-f);text-transform:var(--lab-case);letter-spacing:var(--lab-ls);font-size:.74rem;font-weight:700;color:var(--c-muted);text-align:right;padding:0 0 12px 16px;border-bottom:calc(var(--bdw)*2) solid var(--c-fg);white-space:nowrap}
.sl-t thead th:first-child{text-align:left;padding-left:0}
.sl-t tbody th{text-align:left;font-weight:600;padding:16px 16px 16px 0;border-bottom:var(--bdw) solid var(--c-line)}
.sl-t td{text-align:right;padding:16px 0 16px 16px;border-bottom:var(--bdw) solid var(--c-line);white-space:nowrap}
.sl-was{color:var(--c-muted)}
.sl-now{font-family:var(--fd);font-weight:var(--dw);font-size:var(--fs2);letter-spacing:var(--dls)}
.sl-ch{font-weight:700;font-size:.92rem}
.sl-ch.up{color:var(--c-link)}
@media (max-width:860px){
 .sl-a,.sl-bf{grid-template-columns:1fr}.sl-al{position:static}
 .sl-bh,.sl-ch-h{grid-template-columns:1fr}
 .sl-rest{--n:2!important;grid-template-columns:1fr 1fr!important}
 .sl-rest .sl-n{border-left:0;padding-left:0}
 .sl-rest .sl-n:nth-child(even){padding-left:clamp(16px,3vw,28px);border-left:var(--bdw) solid var(--c-line)}
 .sl-n1{grid-template-columns:1fr}
}
@media (max-width:560px){
 .sl-led li{flex-wrap:wrap;gap:4px}.sl-dots{display:none}.sl-k{flex:1 1 100%}.sl-v{font-size:var(--fs4)}
 .sl-t{font-size:.92rem}.sl-t thead th:nth-child(2),.sl-t td.sl-was{display:none}
 .sl-t tbody th{padding-right:10px}.sl-t td{padding-left:10px}
}

/* module steps */

.m-steps .st-t{font-size:var(--fs2);line-height:1.12}
.m-steps .st-d{color:var(--c-muted);max-width:42ch}
.m-steps .st-n{font-size:clamp(56px,6.4vw,96px);line-height:.8;color:var(--c-link);letter-spacing:-.02em;text-transform:none}
/* a */
.st-ah{display:flex;justify-content:space-between;align-items:end;gap:20px 48px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,60px)}
.st-ah .head{margin-bottom:0}
.st-a{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column;gap:clamp(20px,3vw,44px)}
.st-h{display:grid;gap:12px;align-content:start;min-width:0}
.st-top{display:flex;align-items:flex-end;gap:14px;margin-bottom:10px}
.st-line{flex:1;position:relative;height:0;border-top:calc(var(--bdw) + 1px) solid var(--c-line);margin-bottom:.3em;margin-right:calc(-1 * clamp(14px,2.2vw,32px))}
.st-line::after{content:"";position:absolute;right:-1px;top:calc(-5px - var(--bdw) / 2);width:9px;height:9px;border-top:calc(var(--bdw) + 1px) solid var(--c-muted);border-right:calc(var(--bdw) + 1px) solid var(--c-muted);transform:rotate(45deg)}
.st-h:last-child .st-line{visibility:hidden;margin-right:0}
/* b */
.st-b{display:grid;position:relative}
.st-v{display:grid;grid-template-columns:clamp(64px,8vw,120px) minmax(0,1fr) minmax(0,1.05fr);gap:16px clamp(20px,4vw,64px);padding-block:clamp(24px,3vw,44px);position:relative;align-items:start}
.st-v::before{content:"";position:absolute;left:calc(clamp(64px,8vw,120px) / 2 - 1px);top:calc(clamp(24px,3vw,44px) + clamp(56px,6.4vw,96px) + 14px);bottom:-14px;border-left:calc(var(--bdw)*2) solid var(--c-line)}
.st-v:last-child::before{display:none}
.st-v .st-n{justify-self:center;align-self:start}
.st-vb{display:grid;gap:12px;align-content:start;padding-top:.35em}
.st-v .st-t{font-size:var(--fs3)}
.st-of{color:var(--c-muted)}
.st-im{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}
.st-v:nth-child(even) .st-im{aspect-ratio:16/10}
.st-foot{margin-top:24px;padding-left:calc(clamp(64px,8vw,120px) + clamp(20px,4vw,64px))}
@media (max-width:860px){
 .st-a{grid-auto-flow:row;grid-template-columns:1fr;gap:0}
 .st-h{grid-template-columns:64px minmax(0,1fr);column-gap:16px;padding-bottom:28px;position:relative}
 .st-h > :not(.st-top){grid-column:2}
 .st-top{grid-row:1 / span 3;flex-direction:column;align-items:center;margin:0;height:100%}
 .m-steps .st-n{font-size:56px}
 .st-line{border-top:0;border-left:calc(var(--bdw) + 1px) solid var(--c-line);margin:8px 0 0;width:0;flex:1}
 .st-line::after{display:none}
 .st-h:last-child .st-line{display:none}
 .st-v{grid-template-columns:56px minmax(0,1fr);row-gap:16px}
 .st-v .st-im{grid-column:2}
 .st-v::before{left:27px;top:calc(clamp(24px,3vw,44px) + 64px)}
 .st-foot{padding-left:0}
}

/* module team */

.m-team .tm-ct{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:.88rem}
.m-team .tm-ct a{color:var(--c-link);text-decoration:none;border-bottom:1px solid transparent;overflow-wrap:anywhere}
.m-team .tm-ct a:hover{border-bottom-color:currentColor}
/* a */
.tm-a{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3vw,48px) clamp(16px,2vw,28px)}
.tm-p{display:grid;gap:4px;align-content:start;min-width:0}
.tm-im{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);margin-bottom:12px;filter:grayscale(.15)}
.tm-pn{font-size:var(--fs2);line-height:1.1}
.tm-pr{color:var(--c-muted);font-size:.95rem}
.tm-p .tm-ct{margin-top:6px}
@media (min-width:1025px){.tm-p:nth-child(4n+2),.tm-p:nth-child(4n+4){transform:translateY(clamp(24px,3vw,48px))}.tm-a{padding-bottom:clamp(24px,3vw,48px)}}
/* b */
.tm-b{display:grid;border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.tm-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:12px clamp(24px,4vw,64px);padding-block:clamp(18px,2.4vw,30px);border-bottom:var(--bdw) solid var(--c-line)}
.tm-gh{font-family:var(--lab-f);font-size:.76rem;padding-top:.5em}
.tm-dir{display:grid}
.tm-dir li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.2fr);gap:4px 24px;align-items:baseline;padding:12px 0;border-top:var(--bdw) solid var(--c-line)}
.tm-dir li:first-child{border-top:0;padding-top:0}
.tm-n{font-size:var(--fs2);line-height:1.15}
.tm-r{color:var(--c-muted)}
.tm-dir .tm-ct{flex-direction:column;align-items:flex-start}
/* c */
.tm-c{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.tm-feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:end}
.tm-fim{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg)}
.tm-fb{display:grid;gap:14px;padding-bottom:8px}
.tm-fn{font-size:var(--fs4);line-height:1}
.tm-bio{color:var(--c-muted)}
.tm-list{display:grid;border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.tm-list li{display:grid;grid-template-columns:60px minmax(0,1fr);gap:16px;align-items:center;padding:14px 0;border-bottom:var(--bdw) solid var(--c-line)}
.tm-th{width:60px;height:60px;object-fit:cover;border-radius:50%}
.tm-ln{font-weight:700;line-height:1.25}
.tm-lr{color:var(--c-muted);font-size:.9rem}
.tm-list .tm-ct{font-size:.84rem;margin-top:2px}
@media (max-width:1024px){.tm-a{grid-template-columns:repeat(3,minmax(0,1fr))}.tm-c{grid-template-columns:1fr}}
@media (max-width:860px){.tm-g{grid-template-columns:1fr}.tm-dir li{grid-template-columns:1fr 1fr}.tm-dir .tm-ct{grid-column:1 / -1;flex-direction:row}}
@media (max-width:640px){.tm-a{grid-template-columns:1fr 1fr}.tm-feat{grid-template-columns:1fr}.tm-fim{max-width:340px}.tm-dir li{grid-template-columns:1fr}}

/* module text_intro */

.ti{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px clamp(32px,6vw,96px)}
.ti-l{display:grid;gap:14px;align-content:start}
.ti-r{display:grid;gap:22px;align-content:start}
.ti-r .prose p:first-child{color:var(--c-fg);font-size:var(--fs1);line-height:1.5}
.ti-note{border-top:var(--bdw) solid var(--c-line);padding-top:14px;font-size:.92rem;color:var(--c-muted);max-width:44ch}
.align-center .ti{grid-template-columns:1fr;max-width:820px;text-align:center;justify-items:center}
@media (max-width:860px){.ti{grid-template-columns:1fr}}

/* module timeline */

.m-timeline{container-type:inline-size}
.m-timeline .sc-row{--edge:max(var(--gut),calc((100cqw - var(--maxw)) / 2));display:flex;gap:clamp(14px,2vw,28px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
  padding-inline:var(--edge);scroll-padding-inline:var(--edge);padding-bottom:22px;scrollbar-width:thin;scrollbar-color:var(--c-line) transparent}
.m-timeline .sc-row > *{flex:none;scroll-snap-align:start}
.m-timeline .sc-row:focus-visible{outline-offset:-3px}
.m-timeline .sc-ctrl{display:flex;gap:8px;flex:none}
.m-timeline .sc-b{width:48px;height:48px;display:grid;place-items:center;border-radius:999px;border:var(--bdw) solid var(--c-line);background:transparent;color:var(--c-fg);cursor:pointer;transition:background-color .18s,border-color .18s}
.m-timeline .sc-b:hover:not(:disabled){border-color:var(--c-fg)}
.m-timeline .sc-b:disabled{opacity:.35;cursor:default}
.m-timeline .sc-b .ic{width:20px;height:20px}
.m-timeline .sc-prev .ic{transform:rotate(180deg)}
.m-timeline .sc-top{display:flex;justify-content:space-between;align-items:end;gap:24px}
.m-timeline .sc-top .head{margin-bottom:0}
@media (max-width:640px){.m-timeline .sc-ctrl{display:none}}

.m-timeline .tl-t{font-size:var(--fs2);line-height:1.12}
.m-timeline .tl-d{color:var(--c-muted);max-width:48ch}
/* a */
.tl-a{position:relative;display:grid}
.tl-v{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.1fr) minmax(0,.9fr);gap:12px clamp(24px,4vw,64px);padding-block:clamp(24px,3vw,40px);border-top:var(--bdw) solid var(--c-line);position:relative}
.tl-v:last-child{border-bottom:var(--bdw) solid var(--c-line)}
.tl-v .tl-y{font-size:var(--fs6);line-height:.85;color:var(--c-link);align-self:start;position:sticky;top:110px;letter-spacing:calc(var(--dls) - .02em)}
.tl-vb{display:grid;gap:10px;align-content:start;padding-left:clamp(18px,2vw,28px);border-left:calc(var(--bdw)*2) solid var(--c-fg)}
.tl-vim{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
/* b */
.m-timeline [data-sc] .sc-top{margin-bottom:clamp(28px,4vw,52px)}
.tl-row{list-style:none;align-items:start}
.tl-h{width:clamp(250px,25vw,340px);display:grid;gap:12px;align-content:start;position:relative}
.tl-im{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.tl-h .tl-y{font-size:var(--fs4);line-height:1;padding-top:16px;margin-top:8px;border-top:calc(var(--bdw)*2) solid var(--c-fg);position:relative}
.tl-h .tl-y::before{content:"";position:absolute;left:0;top:-7px;width:12px;height:12px;border-radius:50%;background:var(--c-link);border:2px solid var(--c-bg)}
.tl-h:not(:last-child) .tl-y::after{content:"";position:absolute;left:100%;top:calc(-1 * var(--bdw) * 2);width:clamp(14px,2vw,28px);border-top:calc(var(--bdw)*2) solid var(--c-fg)}
@media (max-width:860px){
 .tl-v{grid-template-columns:minmax(0,1fr);gap:10px}
 .tl-v .tl-y{position:static;font-size:var(--fs5)}
 .tl-vb{padding-left:16px}
 .tl-vim{max-width:420px}
}

/* module visit_expect */

.m-visit_expect .fx-split{align-items:end}
.m-visit_expect .fx-hl{display:grid;gap:14px;align-content:end}
.m-visit_expect .fx-hr{display:grid;gap:14px;justify-items:start;align-content:end}
.m-visit_expect .fx-hr .lead{max-width:48ch}

.m-visit_expect h4{font-size:1.05rem}
/* a: timeline */
.m-visit_expect .ve-a{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.m-visit_expect .ve-tlh{margin-bottom:22px}
.m-visit_expect .ve-tl{display:grid;position:relative}
.m-visit_expect .ve-tl::before{content:"";position:absolute;left:110px;top:12px;bottom:12px;width:calc(var(--bdw)*2);background:var(--c-line)}
.m-visit_expect .ve-step{display:grid;grid-template-columns:minmax(86px,max-content) 48px minmax(0,1fr);align-items:start;padding-bottom:clamp(28px,3.4vw,44px)}
.m-visit_expect .ve-step:last-child{padding-bottom:0}
.m-visit_expect .ve-time{font-size:var(--fs3);line-height:1;text-align:right}
.m-visit_expect .ve-node{justify-self:center;width:16px;height:16px;margin-top:6px;border-radius:50%;background:var(--c-bg);border:3px solid var(--c-fg);position:relative;z-index:1}
.m-visit_expect .ve-step:first-child .ve-node{background:var(--c-btn);border-color:var(--c-btn)}
.m-visit_expect .ve-sb{display:grid;gap:8px}
.m-visit_expect .ve-sb h3{font-size:var(--fs2)}
.m-visit_expect .ve-sb p{color:var(--c-muted);max-width:52ch}
.m-visit_expect .ve-simg{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);margin-top:8px}
.m-visit_expect .ve-step:nth-child(even) .ve-simg{width:72%}
.m-visit_expect .ve-side{position:sticky;top:96px;padding-top:6px}
.m-visit_expect .ve-qs{display:grid;border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.m-visit_expect .ve-q{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:var(--bdw) solid var(--c-line)}
.m-visit_expect .ve-q p{color:var(--c-muted);font-size:.93rem;margin-top:3px}
.m-visit_expect .ve-qimg{width:56px;height:56px;object-fit:cover;border-radius:var(--r)}
.m-visit_expect .ve-qic{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--r);background:var(--c-soft);color:var(--c-link)}
.m-visit_expect .ve-qic .ic{width:26px;height:26px}
/* b: grid */
.m-visit_expect .ve-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row dense;gap:clamp(14px,1.8vw,24px)}
.m-visit_expect .ve-tile{display:grid;gap:10px;align-content:start;padding:clamp(20px,2.2vw,30px);border-radius:var(--r-lg);border:var(--bdw) solid var(--c-line);background:var(--c-card)}
.m-visit_expect .ve-big .ic{width:44px;height:44px;stroke-width:1.4;color:var(--c-link)}
.m-visit_expect .ve-big{margin-bottom:8px}
.m-visit_expect .ve-tk{display:flex;gap:8px;align-items:center;font-family:var(--fd);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dls);font-size:var(--fs2);line-height:1.1}
.m-visit_expect .ve-ta{color:var(--c-muted)}
.m-visit_expect .ve-ph{padding:0;overflow:hidden;grid-row:span 2;grid-template-rows:1fr auto;border:0;background:var(--c-fg);color:var(--c-bg)}
.m-visit_expect .ve-ph .ve-timg{width:100%;height:100%;min-height:220px;object-fit:cover}
.m-visit_expect .ve-ph .ve-tb{display:grid;gap:8px;padding:clamp(18px,2vw,26px)}
.m-visit_expect .ve-ph .ve-ta{color:inherit;opacity:.82}
.m-visit_expect .ve-ph .ve-tk .ic{width:22px;height:22px}
.m-visit_expect .ve-strip{margin-top:clamp(40px,5vw,72px)}
.m-visit_expect .ve-strip .label{margin-bottom:18px}
.m-visit_expect .ve-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:24px;position:relative}
.m-visit_expect .ve-track::before{content:"";position:absolute;left:0;right:0;top:calc(var(--fs3) + 17px);height:calc(var(--bdw)*2);background:var(--c-line)}
.m-visit_expect .ve-track li{display:grid;gap:8px;align-content:start}
.m-visit_expect .ve-track time{font-size:var(--fs3);line-height:1}
.m-visit_expect .ve-dot{width:14px;height:14px;border-radius:50%;background:var(--c-bg);border:3px solid var(--c-fg);position:relative;z-index:1;margin:4px 0 6px}
.m-visit_expect .ve-track li:first-child .ve-dot{background:var(--c-btn);border-color:var(--c-btn)}
.m-visit_expect .ve-track p{color:var(--c-muted);font-size:.92rem}
@media (max-width:1024px){.m-visit_expect .ve-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.m-visit_expect .ve-a{grid-template-columns:1fr}.m-visit_expect .ve-side{position:static}
 .m-visit_expect .ve-track{grid-auto-flow:row;grid-auto-columns:auto;gap:0}.m-visit_expect .ve-track::before{left:6px;right:auto;top:8px;bottom:8px;width:calc(var(--bdw)*2);height:auto}
 .m-visit_expect .ve-track li{grid-template-columns:28px 84px minmax(0,1fr);column-gap:10px;padding-bottom:22px}
 .m-visit_expect .ve-track li .ve-dot{grid-column:1;grid-row:1;margin:4px 0 0}.m-visit_expect .ve-track time{grid-column:2;grid-row:1;font-size:1.3rem}
 .m-visit_expect .ve-track h4{grid-column:3;grid-row:1}.m-visit_expect .ve-track p{grid-column:3}}
@media (max-width:640px){.m-visit_expect .ve-grid{grid-template-columns:1fr}.m-visit_expect .ve-ph{grid-row:auto}.m-visit_expect .ve-ph .ve-timg{aspect-ratio:16/10;min-height:0}
 .m-visit_expect .ve-tl::before{left:15px}.m-visit_expect .ve-step{grid-template-columns:32px minmax(0,1fr);row-gap:4px}
 .m-visit_expect .ve-node{grid-column:1;grid-row:1}.m-visit_expect .ve-time{grid-column:2;grid-row:1;text-align:left;font-size:1.4rem}.m-visit_expect .ve-sb{grid-column:2}
 .m-visit_expect .ve-step:nth-child(even) .ve-simg{width:100%}
 .m-visit_expect .ve-track li{grid-template-columns:28px minmax(0,1fr);row-gap:4px}.m-visit_expect .ve-track time{grid-column:2;grid-row:1}.m-visit_expect .ve-track h4{grid-column:2;grid-row:2}.m-visit_expect .ve-track p{grid-column:2;grid-row:3}}

/* module voices */

.m-voices figure{margin:0;min-width:0}
.vo-att{display:grid;gap:2px;font-size:.92rem}
.vo-att b{font-weight:700}
.vo-att span{color:var(--c-muted)}
/* a */
.vo-a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:clamp(32px,6vw,104px);align-items:end}
.vo-big{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg)}
.vo-aq{display:grid;gap:clamp(20px,3vw,36px);padding-bottom:clamp(0px,2vw,24px)}
.vo-aq blockquote{font-size:var(--fs5);line-height:1.06;text-indent:-.42em;text-wrap:pretty}
.vo-aq blockquote::before{content:"\201C";color:var(--c-link)}
.vo-aq blockquote::after{content:"\201D";color:var(--c-link)}
.vo-aq .vo-att{padding-top:16px;border-top:var(--bdw) solid var(--c-line);font-size:1rem;max-width:420px}
/* b */
.vo-b{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);align-items:start}
.vo-c{display:flex;flex-direction:column;gap:20px}
.vo-pt{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.vo-c:nth-child(2){flex-direction:column-reverse;margin-top:clamp(0px,5vw,80px)}
.vo-c:nth-child(2) .vo-pt{aspect-ratio:1}
.vo-cb{display:grid;gap:16px;padding-top:16px;border-top:calc(var(--bdw)*2) solid var(--c-fg)}
.vo-c:nth-child(2) .vo-cb{border-top:0;padding-top:0}
.vo-cb blockquote{font-family:var(--fd);font-weight:var(--dw2);font-size:var(--fs2);line-height:1.22;letter-spacing:var(--dls);font-style:var(--dstyle)}
/* c */
.vo-wall{columns:3 280px;column-gap:clamp(24px,4vw,64px)}
.vo-w{break-inside:avoid;display:grid;gap:12px;padding:22px 0 26px;border-top:var(--bdw) solid var(--c-line)}
.vo-w blockquote{font-size:1.08rem;line-height:1.5}
.vo-w0 blockquote,.vo-w3 blockquote{font-family:var(--fd);font-weight:var(--dw);letter-spacing:var(--dls);font-size:var(--fs3);line-height:1.08;font-style:var(--dstyle)}
.vo-w2 blockquote{font-family:var(--fd);font-weight:var(--dw2);font-style:italic;font-size:var(--fs2);line-height:1.25}
.vo-w4 blockquote{font-size:1.18rem;color:var(--c-fg)}
.vo-w0{border-top:calc(var(--bdw)*3) solid var(--c-link)}
.vo-w .vo-att{grid-template-columns:auto 1fr;gap:10px;align-items:baseline;font-size:.86rem}
.vo-w .vo-att b::after{content:" ·";color:var(--c-muted);font-weight:400}
@media (max-width:860px){
 .vo-a{grid-template-columns:1fr}.vo-ap{max-width:300px}
 .vo-b{grid-template-columns:1fr}.vo-c:nth-child(2){flex-direction:column;margin-top:0}.vo-c:nth-child(2) .vo-cb{border-top:calc(var(--bdw)*2) solid var(--c-fg);padding-top:16px}
 .vo-c{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;align-items:start}
 .vo-c .vo-pt,.vo-c:nth-child(2) .vo-pt{aspect-ratio:4/5}
}
