.m-hero{padding:clamp(48px,7vw,96px) 0 24px}
.m-hero .big{max-width:14ch}
.m-sec{padding:0 0 clamp(56px,8vw,112px)}
.m-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:clamp(20px,3vw,40px);align-items:stretch}
.m-stage{position:relative;border-radius:var(--r);background:radial-gradient(120% 90% at 70% 10%,#1b2a38 0%,#121B24 60%);border:1px solid rgba(234,240,240,.14);overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.m-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(234,240,240,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(234,240,240,.05) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.m-stage svg{display:block;width:100%;height:auto;position:relative}
.m-contour{fill:none;stroke:rgba(234,240,240,.16);stroke-width:1.2;stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 3.2s var(--ease) forwards}
.m-contour:nth-child(2){animation-delay:.2s}.m-contour:nth-child(3){animation-delay:.4s}.m-contour:nth-child(4){animation-delay:.6s}.m-contour:nth-child(5){animation-delay:.8s}
@keyframes draw{to{stroke-dashoffset:0}}
.m-road{fill:none;stroke:rgba(234,240,240,.38);stroke-width:2.4;stroke-linecap:round}
.m-road.hw{stroke:var(--coral);stroke-width:3;stroke-dasharray:2 11;animation:flow 1.4s linear infinite;opacity:.9}
@keyframes flow{to{stroke-dashoffset:-26}}
.m-river{fill:none;stroke:rgba(234,240,240,.22);stroke-width:5;stroke-linecap:round}
.m-basin{fill:rgba(234,240,240,.05);stroke:rgba(234,240,240,.16);stroke-dasharray:3 6}
.m-ctx{font:600 13px Barlow,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;fill:rgba(234,240,240,.4)}
.m-ctx.sm{font-size:11px}
.m-node{cursor:pointer;outline:none}
.m-node .hit{fill:transparent}
.m-node .halo{fill:rgba(255,102,94,.18);transform-box:fill-box;transform-origin:center;animation:ping 2.8s ease-out infinite}
.m-node:nth-of-type(2) .halo{animation-delay:.7s}.m-node:nth-of-type(3) .halo{animation-delay:1.4s}.m-node:nth-of-type(4) .halo{animation-delay:2.1s}
@keyframes ping{0%{transform:scale(.5);opacity:.9}100%{transform:scale(2.4);opacity:0}}
.m-node .ring{fill:var(--ink);stroke:var(--coral);stroke-width:3;transition:r .3s var(--ease),fill .3s}
.m-node .core{fill:var(--coral);transition:r .3s var(--ease)}
.m-node .lab{font:800 22px Barlow,Arial,sans-serif;fill:var(--white);paint-order:stroke;stroke:#121B24;stroke-width:6px;stroke-linejoin:round;letter-spacing:-.01em}
.m-node .under{stroke:var(--coral);stroke-width:4;stroke-linecap:round;stroke-dasharray:var(--len,120);stroke-dashoffset:var(--len,120);transition:stroke-dashoffset .6s var(--ease)}
.m-node:hover .under,.m-node.on .under,.m-node:focus-visible .under{stroke-dashoffset:0}
.m-node:hover .ring,.m-node.on .ring,.m-node:focus-visible .ring{fill:var(--coral)}
.m-node:hover .core,.m-node.on .core{fill:var(--ink)}
.m-node:focus-visible .ring{stroke:var(--white)}
.m-side{display:flex;flex-direction:column;gap:12px}
.m-list{display:flex;flex-direction:column;gap:10px}
.m-btn{appearance:none;text-align:left;font:inherit;display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:16px 18px;border-radius:var(--r);background:rgba(18,27,36,.04);border:2px solid rgba(18,27,36,.14);color:var(--ink);cursor:pointer;font-family:var(--head);font-weight:800;font-size:20px;transition:background .25s,border-color .25s,transform .25s var(--ease)}
.m-btn:hover{transform:translateX(4px);border-color:var(--ink)}
.m-btn[aria-pressed=true]{background:var(--ink);color:var(--white);border-color:var(--ink)}
.m-btn i{font-style:normal;color:var(--coral);font-size:22px;line-height:1}
.m-card{margin-top:4px;padding:22px;border-radius:var(--r);background:var(--ink);color:var(--white);flex:1;min-height:210px;display:flex;flex-direction:column;gap:12px}
.m-card h3{font-size:26px;letter-spacing:-.02em;line-height:1.05}
.m-card p{font-size:17px}
.m-card .tag{font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}
.m-card .link{color:var(--white);margin-top:auto;align-self:flex-start}
.m-note{margin-top:14px;font-size:14px;opacity:.7}
.m-wide{padding:clamp(48px,6vw,88px) 0}
.m-wide .lead{max-width:52ch}
@media(max-width:860px){.m-grid{grid-template-columns:1fr}.m-node .lab{font-size:30px}.m-ctx{font-size:16px}.m-ctx.sm{display:none}.m-stage{margin:0 -4px}}
@media(prefers-reduced-motion:reduce){.m-contour{animation:none;stroke-dashoffset:0}.m-road.hw,.m-node .halo{animation:none}}
.m-btn{background:rgba(234,240,240,.06);border-color:rgba(234,240,240,.22);color:var(--white)}
.m-btn:hover{border-color:var(--coral)}
.m-btn[aria-pressed=true]{background:var(--coral);color:var(--ink);border-color:var(--coral)}
.m-btn[aria-pressed=true] i{color:var(--ink)}
.m-card{background:var(--ice);color:var(--ink)}
.m-card .link{color:var(--ink)}
.m-card .tag{color:#c93f37}
.m-hero .bar-mark{transform:scaleX(1)}
.m-hero .mark{background-size:100% .42em}
.m-hint{display:none;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;padding:10px 16px 0;opacity:.6}
@media(max-width:860px){.m-stage{overflow-x:auto;-webkit-overflow-scrolling:touch}.m-stage svg{min-width:760px}.m-node .lab{font-size:24px}.m-ctx{font-size:13px}.m-ctx.sm{display:block}.m-hint{display:block}}
@media(max-width:860px){.m-stage svg{min-width:540px}.m-node .lab{font-size:32px;stroke-width:8px}.m-ctx{font-size:18px}.m-hint{display:none}.m-node .ring{r:17px}.m-node .core{r:7px}}
@media(max-width:860px){.m-stage{overflow:hidden}.m-stage svg{min-width:0}.m-node .lab{font-size:38px;stroke-width:9px}.m-ctx{font-size:22px}.m-ctx.sm{font-size:20px}.m-node .ring{r:20px}.m-node .core{r:8px}}
.m-ocean{fill:rgba(255,102,94,.05);stroke:rgba(234,240,240,.14)}
.m-pt .d{fill:rgba(234,240,240,.55);transition:fill .3s}
.m-pt .pl{font:600 15px Barlow,Arial,sans-serif;fill:rgba(234,240,240,.78);paint-order:stroke;stroke:#121B24;stroke-width:5px;letter-spacing:.02em}
.m-also{margin-top:28px;font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}
.m-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:0}
.m-chips li{padding:8px 14px;border:1px solid rgba(234,240,240,.25);border-radius:999px;font-weight:600;font-size:15px}
@media(max-width:860px){.m-pt .pl{display:none}.m-pt .d{r:8px}.m-ctx.sm{display:none}.m-ctx{font-size:24px}.m-node .lab{font-size:42px}}
@media(max-width:860px){.m-node .lab{font-size:32px}.m-node .under{display:none}.m-stage svg{margin-top:18px}}
.m-mk{font-size:clamp(30px,4vw,52px);margin-bottom:0}
.m-hero .big{max-width:18ch}
#san-diego{padding-top:clamp(40px,6vw,72px)}
.m-chips li.more{background:var(--coral);border-color:var(--coral);color:var(--ink);font-weight:800}
.m-sec .bar-mark{transform:scaleX(1)}
.m-hero{padding-bottom:clamp(32px,5vw,64px)}
.m-stage svg{overflow:visible}
.site-footer nav{grid-auto-flow:column;grid-template-rows:repeat(9,auto);column-gap:48px}@media(max-width:520px){.site-footer nav{column-gap:28px}}
.m-card:has(.cardlink){padding:0;transition:background .2s,transform .2s,box-shadow .2s}
.m-card .cardlink{display:flex;flex-direction:column;gap:12px;padding:22px;flex:1;color:inherit;text-decoration:none;border-radius:var(--r)}
.m-card:has(.cardlink):hover{background:#fff;transform:translateY(-2px);box-shadow:0 10px 28px rgba(16,24,32,.22)}
.m-card .cardlink:focus-visible{outline:3px solid var(--coral);outline-offset:-3px}
