@font-face{font-family:"Outfit";src:url(/assets/fonts/outfit.woff2) format("woff2");font-weight:500 800;font-display:swap}
@font-face{font-family:"Jakarta";src:url(/assets/fonts/jakarta.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{--ink:#0b1f3a;--ink2:#132c4f;--cream:#fff8f1;--paper:#fff;--text:#1d2a3d;--muted:#55627a;--line:#eadfd3;
--coral:#087482;--pink:#3d5be0;--violet:#7a1fe8;--teal:#14ead9;--sun:#2ee6d6;--turq:#14ead9;
--grad:linear-gradient(100deg,#087482 0%,#3d5be0 50%,#7a1fe8 100%);--grad-bright:linear-gradient(100deg,#14ead9 0%,#22bfe0 40%,#5a6cf0 72%,#8a26f6 100%);
--r:22px;--shadow:0 1px 2px rgba(11,31,58,.06),0 12px 40px -12px rgba(11,31,58,.22);
--disp:"Outfit","Jakarta",system-ui,sans-serif;--sans:"Jakarta",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--text);background:var(--cream);line-height:1.6;font-size:1.0625rem;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:#087482;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;color:var(--ink);line-height:1.08;letter-spacing:-.025em;margin:0 0 .5em}
h2{font-size:clamp(2rem,4.6vw,3.4rem)}h3{font-size:clamp(1.4rem,2.4vw,1.9rem)}
:focus-visible{outline:3px solid #7a1fe8;outline-offset:3px;border-radius:6px}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:var(--ink);padding:10px 14px;border-radius:10px;font-weight:700}
.skip:focus{left:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font:700 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--coral);margin:0 0 14px;display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--grad);border-radius:2px}
.gt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font:700 1rem/1 var(--sans);padding:16px 24px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;transition:transform .25s,box-shadow .25s,background-position .5s}
.btn-grad{background:var(--grad);background-size:160% 100%;color:#fff;box-shadow:0 10px 30px -10px rgba(61,91,224,.6)}
.btn-grad:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 16px 36px -12px rgba(61,91,224,.75)}
.btn-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.btn-ghost:hover{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1.5px #fff}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{transform:translateY(-2px);background:var(--ink2)}
.btn .arr{transition:transform .25s}.btn:hover .arr{transform:translateX(4px)}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(11,31,58,.9);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.hdr .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:16px}
.brand{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font:800 1.32rem/1 var(--disp);letter-spacing:-.02em}
.brand img{transition:transform .4s cubic-bezier(.2,.9,.3,1.4)}
.brand:hover img{transform:translateY(-1px) scale(1.02)}
.nav{display:flex;align-items:center}
.nav>ul{list-style:none;display:flex;align-items:center;gap:4px;margin:0;padding:0}
.nav a.top,.nav .ddbtn{display:inline-flex;align-items:center;gap:6px;color:#e8edf6;text-decoration:none;font:600 .98rem/1 var(--sans);padding:12px 14px;border-radius:999px;background:none;border:0;cursor:pointer}
.nav a.top:hover,.nav .ddbtn:hover,.nav .ddbtn[aria-expanded=true],.nav a[aria-current=page]{color:#fff;background:rgba(255,255,255,.09)}
.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--coral)}
.nav .cta{background:var(--grad)!important;color:#fff!important;margin-left:8px}
.ddbtn svg{width:12px;height:12px;transition:transform .25s}.ddbtn[aria-expanded=true] svg{transform:rotate(180deg)}
.dd{position:static}
.mega{position:absolute;right:clamp(18px,4vw,40px);top:calc(100% - 4px);width:min(1060px,calc(100vw - 2 * clamp(18px,4vw,40px)));background:#fff;border-radius:24px;box-shadow:0 30px 80px -20px rgba(11,31,58,.5);padding:26px;display:none;color:var(--text)}
.mega::before{content:"";position:absolute;inset:-14px 0 auto;height:14px}
.dd.open .mega{display:block;animation:pop .22s cubic-bezier(.2,.9,.3,1.2)}
.no-js .dd:hover .mega,.no-js .dd:focus-within .mega{display:block}
@keyframes pop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 22px}
.mega h3{font:800 .74rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;padding-bottom:10px;border-bottom:2px solid;border-image:var(--cg) 1}
.mega h3 a{color:inherit;text-decoration:none}.mega h3 a:hover{color:var(--ink)}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.mega li a,.mega li span.soonitem{display:flex;gap:10px;align-items:flex-start;padding:9px;border-radius:12px;text-decoration:none;color:var(--ink);transition:background .2s}
.mega li a:hover,.mega li a:focus-visible{background:#fbf1e8}
.mono{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--a,#333);color:#fff;font:800 .68rem/1 var(--disp);letter-spacing:-.03em}
.mega b{display:block;font-size:.95rem;line-height:1.2}.mega small{display:block;color:var(--muted);font-size:.78rem}
.mega .soontag{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#efe9ff;color:#5b3fe0;padding:2px 7px;border-radius:99px;margin-top:3px}
.mega-foot{margin-top:18px;padding-top:16px;border-top:1px solid #f0e6dc;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.92rem}
.mega-foot a{font-weight:700;color:var(--ink);text-decoration:none}.mega-foot a:hover{color:var(--coral)}
.burger{display:none;width:46px;height:46px;border-radius:14px;border:0;background:rgba(255,255,255,.09);color:#fff;cursor:pointer;place-items:center}
.burger span,.burger span::before,.burger span::after{display:block;width:20px;height:2px;background:#fff;border-radius:2px;position:relative;transition:transform .3s,background .3s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded=true] span{background:transparent}.burger[aria-expanded=true] span::before{transform:translateY(6px) rotate(45deg)}.burger[aria-expanded=true] span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:940px){
 .burger{display:grid}
 .js .nav{position:absolute;left:0;right:0;top:100%;background:var(--ink);max-height:calc(100vh - 72px);overflow:auto;display:none;padding:10px clamp(18px,4vw,40px) 24px;border-top:1px solid rgba(255,255,255,.08)}
 .js .nav.open{display:block}
 .no-js .hdr .wrap{flex-wrap:wrap}.no-js .burger{display:none}.no-js .nav{width:100%;overflow:auto}
 .nav>ul{flex-direction:column;align-items:stretch;gap:2px}
 .nav a.top,.nav .ddbtn{width:100%;justify-content:space-between;padding:16px 12px;font-size:1.06rem;border-radius:14px}
 .nav .cta{justify-content:center!important;margin:10px 0 0}
 .mega{position:static;transform:none;width:auto;right:auto;box-shadow:none;padding:6px 0 12px;background:transparent;color:#fff;border-radius:0}
 .dd.open .mega{animation:none}
 .mega-grid{grid-template-columns:1fr 1fr;gap:6px 14px}
 .mega h3{color:#9fb0c9;margin:12px 0 4px}
 .mega li a,.mega li span.soonitem{color:#fff;padding:8px}.mega li a:hover{background:rgba(255,255,255,.07)}
 .mega small{color:#9fb0c9}.mega-foot{border-color:rgba(255,255,255,.12)}.mega-foot a{color:#fff}
}
@media (max-width:520px){.mega-grid{grid-template-columns:1fr}}
/* hero */
.hero{position:relative;background:var(--ink);color:#d9e2f0;overflow:hidden;isolation:isolate}
.aurora{position:absolute;inset:-20%;z-index:-1;filter:blur(70px);opacity:.75}
.aurora i{position:absolute;border-radius:50%;mix-blend-mode:screen;animation:drift 22s ease-in-out infinite alternate}
.aurora i:nth-child(1){width:46vw;height:46vw;left:-6%;top:6%;background:#14ead9;opacity:.4}
.aurora i:nth-child(2){width:40vw;height:40vw;left:30%;top:48%;background:#3d5be0;opacity:.5;animation-duration:28s}
.aurora i:nth-child(3){width:50vw;height:50vw;right:-10%;top:-10%;background:#8a26f6;opacity:.55;animation-duration:34s}
@keyframes drift{to{transform:translate3d(6vw,-4vw,0) scale(1.15)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(transparent 0,rgba(11,31,58,.55) 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M40 0H0v40' fill='none' stroke='%23ffffff' stroke-opacity='.05'/%3E%3C/svg%3E")}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;min-height:min(760px,calc(100vh - 72px));padding-top:56px;padding-bottom:56px}
.hero h1{color:#fff;font-size:clamp(2.6rem,5.4vw,4.6rem);font-weight:700;margin:0 0 22px;line-height:1.02;letter-spacing:-.035em;max-width:12ch;text-wrap:balance}
.gw{background:linear-gradient(100deg,#2ee6d6 0%,#3fc6f0 38%,#7d8bff 68%,#b48cff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap;padding-right:.04em}
.topics{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:0 0 22px;padding:0}
.topics a{display:inline-block;font:600 .82rem/1 var(--sans);color:#dbe6f5;text-decoration:none;padding:8px 11px;border-radius:99px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(46,230,214,.32);transition:background .2s,box-shadow .2s,color .2s}
.topics a:hover{background:rgba(46,230,214,.14);box-shadow:inset 0 0 0 1px #2ee6d6;color:#fff}
.heyebrow{flex-wrap:wrap;row-gap:6px}
.hero .lead{font-size:clamp(1.08rem,1.6vw,1.25rem);max-width:44ch;color:#c9d4e6;margin:0 0 30px}
.hero .eyebrow{color:var(--sun)}
.ctas{display:flex;gap:14px;flex-wrap:wrap}
.stats{list-style:none;display:flex;gap:30px;flex-wrap:wrap;margin:40px 0 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.12)}
.stats li{font-size:.92rem;color:#a9b8cf}.stats b{display:block;font:800 2.2rem/1 var(--disp);color:#fff;margin-bottom:6px}
.hero-art{position:relative;height:640px;perspective:1600px;-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent)}
.tilt{position:absolute;inset:-10% -14% -10% 0;display:grid;grid-template-columns:1fr 1fr;gap:20px;transform:rotateX(18deg) rotateY(-16deg) rotateZ(6deg);transform-style:preserve-3d}
.col{display:flex;flex-direction:column;gap:20px;animation:up 46s linear infinite}
.col.c2{animation-duration:58s;animation-direction:reverse;margin-top:-140px}
@keyframes up{to{transform:translateY(-50%)}}
.hero-art:hover .col{animation-play-state:paused}
.tile{border-radius:14px;overflow:hidden;background:#1b2f52;box-shadow:0 24px 50px -18px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08)}
.tile .bar,.frame .bar{display:flex;align-items:center;gap:6px;height:24px;padding:0 10px;background:#eef1f6}
.tile .bar i,.frame .bar i{width:8px;height:8px;border-radius:50%;background:#ff5f57}.tile .bar i+i,.frame .bar i+i{background:#febc2e}.tile .bar i+i+i,.frame .bar i+i+i{background:#28c840}
.tile .bar span,.frame .bar span{margin-left:8px;font-size:.66rem;color:#6b7686;font-weight:600}
.hero-strip{display:none}
/* marquee band */
.band{background:var(--grad);color:#fff;overflow:hidden;padding:18px 0;transform:rotate(-1.2deg);margin:-14px -10px 0;position:relative;z-index:2;box-shadow:0 14px 40px -16px rgba(61,91,224,.5)}
.band-track{display:flex;width:max-content;animation:slide 40s linear infinite}
.band span{font:800 clamp(1.4rem,2.6vw,2.1rem)/1 var(--disp);white-space:nowrap;padding:0 22px;display:inline-flex;align-items:center;gap:44px}
.band span::after{content:"✦";font-size:.7em;opacity:.8}
@keyframes slide{to{transform:translateX(-50%)}}
/* sections */
.sec{padding:clamp(72px,10vw,130px) 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:34px}
.sec-head p.sub{max-width:46ch;color:var(--muted);margin:0}
.catnav{position:sticky;top:72px;z-index:20;background:rgba(255,248,241,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 0;margin-bottom:24px;border-bottom:1px solid var(--line)}
.catnav ul{list-style:none;display:flex;gap:10px;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.catnav a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:10px 16px;border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font-weight:700;font-size:.92rem;box-shadow:inset 0 0 0 1px var(--line);transition:all .2s}
.catnav a::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--cg)}
.catnav a:hover,.catnav a.on{background:var(--ink);color:#fff;box-shadow:none}
.cat{padding:34px 0 26px;scroll-margin-top:150px}
.cat-head{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;align-items:baseline;margin-bottom:26px}
.cat-num{font:800 3.6rem/1 var(--disp);background:var(--cg);-webkit-background-clip:text;background-clip:text;color:transparent;grid-row:span 2}
.cat-head h3{margin:0}.cat-head p{margin:0;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr));gap:28px}
.card{position:relative;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;transition:transform .45s cubic-bezier(.2,.9,.3,1),box-shadow .45s;display:flex;flex-direction:column}
.card:hover,.card:focus-within{transform:translateY(-8px);box-shadow:0 2px 4px rgba(11,31,58,.06),0 34px 60px -24px rgba(11,31,58,.38)}
.card-top{position:relative;padding:26px 26px 0;background:radial-gradient(120% 90% at 0 0,color-mix(in srgb,var(--accent) 30%,#fff) 0,transparent 60%),linear-gradient(160deg,color-mix(in srgb,var(--accent) 16%,#fff),#fff 80%)}
.frame{border-radius:14px 14px 0 0;overflow:hidden;box-shadow:0 18px 40px -20px rgba(11,31,58,.5),0 0 0 1px rgba(11,31,58,.08);background:#eef1f6;transition:transform .6s cubic-bezier(.2,.9,.3,1)}
.frame img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%}
.card:hover .frame{transform:scale(1.02)}
.phone{position:absolute;right:22px;bottom:-26px;width:22%;max-width:118px;border-radius:18px;padding:5px;background:#0d1626;box-shadow:0 22px 40px -14px rgba(0,0,0,.55);transform:rotate(5deg);transition:transform .6s cubic-bezier(.2,.9,.3,1.3)}
.phone img{border-radius:13px;aspect-ratio:9/17.1;object-fit:cover;object-position:top;width:100%}
.card:hover .phone{transform:rotate(0) translateY(-10px)}
.card-body{padding:26px 26px 26px;display:flex;flex-direction:column;gap:10px;flex:1;border-top:1px solid #f1ebe4;position:relative;z-index:1;background:#fff}
.tag{align-self:flex-start;font:800 .7rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--cg);padding:6px 10px;border-radius:99px}
.card h4{font-size:1.65rem;margin:4px 0 0}
.card h4 a{color:var(--ink);text-decoration:none}
.card h4 a::after{content:"";position:absolute;inset:0;z-index:2}
.card p{margin:0;color:var(--muted)}
.visit{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--ink)}
.visit .arr{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on,#fff);transition:transform .3s}
.card:hover .visit .arr{transform:rotate(-45deg)}
.card.soon .frame{display:grid;place-items:center;aspect-ratio:16/10.4;background:repeating-linear-gradient(135deg,#2b1d6b 0 16px,#33237d 16px 32px);color:#fff;text-align:center}
.soon-badge{position:absolute;top:18px;right:18px;z-index:3;background:var(--sun);color:var(--ink);font:800 .74rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;border-radius:99px;box-shadow:0 8px 20px -8px rgba(0,0,0,.4)}
.soon-art{display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px}
.soon-art img{width:84px;height:84px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.4));animation:bob 4s ease-in-out infinite}
.soon-art strong{font:800 1.5rem/1 var(--disp)}
@keyframes bob{50%{transform:translateY(-8px) rotate(-4deg)}}
/* hometown photo band */
.hometown{position:relative;border-radius:32px;overflow:hidden;color:#fff;min-height:520px;display:flex;align-items:flex-end;box-shadow:var(--shadow);isolation:isolate}
.hometown picture,.hometown picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hometown::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,31,58,.92) 0,rgba(11,31,58,.6) 45%,rgba(11,31,58,.05) 80%)}
.hometown .in{padding:clamp(28px,5vw,64px);max-width:640px}
.hometown h2{color:#fff}.hometown p{color:#dbe4f2;font-size:1.1rem}
.credit{position:absolute;right:14px;bottom:10px;font-size:.72rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9);background:rgba(11,31,58,.55);padding:3px 8px;border-radius:6px}
.credit a{color:inherit}
/* duo + promo */
.duo{display:grid;grid-template-columns:1.2fr 1fr;gap:28px}
.promo{position:relative;border-radius:28px;padding:clamp(28px,4vw,48px);overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.promo h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:0}
.promo p{margin:0 0 10px;max-width:44ch}
.promo.dark{background:var(--ink);color:#c9d4e6}.promo.dark h2{color:#fff}
.promo.dark::before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-160px;border-radius:50%;background:var(--grad);filter:blur(30px);opacity:.55;z-index:-1}
.promo.light{background:#fff;box-shadow:var(--shadow)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 8px;padding:0;list-style:none}
.chips li{font-size:.82rem;font-weight:700;padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.1);color:#fff}
.promo.light .chips li{background:#fbf1e8;color:var(--ink)}
/* inner pages */
.phero{position:relative;background:var(--ink);color:#c9d4e6;overflow:hidden;isolation:isolate;padding:clamp(60px,9vw,110px) 0 clamp(80px,10vw,130px)}
.phero h1{color:#fff;font-size:clamp(2.4rem,6vw,4.4rem);margin:0 0 14px;max-width:18ch}
.phero p{max-width:56ch;font-size:1.15rem;margin:0}
.phero .aurora{opacity:.55}
.sheet{position:relative;z-index:2;margin-top:clamp(-70px,-7vw,-50px);background:#fff;border-radius:28px;box-shadow:var(--shadow);padding:clamp(26px,5vw,60px)}
.prose{max-width:72ch}
.prose h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:1.6em 0 .5em}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#33415a}.prose ul{padding-left:1.2em}.prose li{margin:.4em 0}
.prose li::marker{color:var(--coral)}
.side{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(24px,5vw,60px);align-items:start}
.side aside{background:var(--cream);border-radius:20px;padding:26px}
.side aside h2{font-size:1.25rem;margin:0 0 12px}
.mailbig{display:inline-flex;align-items:center;gap:14px;font:800 clamp(1.2rem,3.4vw,2rem)/1.2 var(--disp);color:var(--ink);text-decoration:none;padding:20px 26px;border-radius:20px;background:var(--cream);box-shadow:inset 0 0 0 2px var(--line);word-break:break-all;transition:all .25s}
.mailbig:hover{box-shadow:inset 0 0 0 2px var(--coral);transform:translateY(-2px)}
.minisites{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.minisites a{display:flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none;font-weight:700;padding:6px;border-radius:12px}
.minisites a:hover{background:#fff}
.pic{border-radius:20px;overflow:hidden;margin:26px 0 8px}
.pic+small{color:var(--muted);font-size:.8rem}
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0;list-style:none;padding:0}
.ways li{background:var(--cream);border-radius:18px;padding:20px;margin:0}
.ways strong{display:block;font:800 1.15rem/1.2 var(--disp);color:var(--ink);margin-bottom:6px}
.ways li::before{content:"";display:block;width:36px;height:6px;border-radius:6px;background:var(--grad);margin-bottom:14px}
/* partners */
.disclose{display:flex;gap:14px;align-items:flex-start;background:#fff6e0;border:1px solid #f6dc9c;border-radius:16px;padding:16px 18px;color:#5b4a1a;font-size:.95rem;margin:0 0 30px}
.disclose svg{flex:none;width:22px;height:22px;margin-top:2px}
.pgroup{margin:0 0 44px}
.pgroup h2{display:flex;align-items:center;gap:12px;font-size:clamp(1.4rem,2.6vw,1.9rem)}
.pgroup h2::before{content:"";width:14px;height:14px;border-radius:5px;background:var(--grad)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px}
.pcard{position:relative;display:flex;flex-direction:column;gap:12px;background:#fff;border-radius:20px;padding:24px;box-shadow:inset 0 0 0 1px var(--line);transition:transform .35s,box-shadow .35s}
.pcard:hover{transform:translateY(-5px);box-shadow:inset 0 0 0 1px transparent,var(--shadow)}
.pcard .pm{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;color:#fff;font:800 1.15rem/1 var(--disp);background:var(--pg)}
.pcard h3{font-size:1.3rem;margin:0}
.pcard p{margin:0;color:var(--muted);font-size:.96rem}
.pcard .on{font-size:.8rem;color:var(--muted)}.pcard .on b{color:var(--ink)}
.pcard .go{margin-top:auto;align-self:flex-start;padding:12px 18px;font-size:.92rem}
.pcard .pill{margin-top:auto;align-self:flex-start;font:800 .72rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:#efe9ff;color:#5b3fe0;padding:9px 12px;border-radius:99px}
.pending{background:var(--ink);border-radius:28px;padding:clamp(26px,4vw,44px);color:#c9d4e6;position:relative;overflow:hidden;isolation:isolate}
.pending::before{content:"";position:absolute;width:380px;height:380px;left:-120px;bottom:-200px;border-radius:50%;background:var(--grad);filter:blur(40px);opacity:.45;z-index:-1}
.pending h2{color:#fff;font-size:clamp(1.5rem,2.8vw,2.1rem)}
.pending h3{font:800 .74rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#9fb0c9;margin:20px 0 10px}
.pending ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.pending li{padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font-weight:700;font-size:.92rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.empty{text-align:center;padding:60px 20px;border-radius:24px;background:var(--cream)}
.empty .dots{display:inline-flex;gap:8px;margin-bottom:16px}.empty .dots i{width:12px;height:12px;border-radius:50%;background:var(--grad);animation:bob 1.6s infinite}
.empty .dots i:nth-child(2){animation-delay:.2s}.empty .dots i:nth-child(3){animation-delay:.4s}
.empty h2{font-size:clamp(1.5rem,3vw,2.2rem)}
.rg{font-size:.85rem;color:var(--muted);margin:10px 0 0}
.geo-note{font-size:.86rem;color:var(--muted);margin:-14px 0 30px}
/* footer */
.ftr{background:var(--ink);color:#a9b8cf;margin-top:clamp(60px,7vw,100px);position:relative;font-size:.95rem}
.ftr::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad-bright)}
.ftr-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding-top:64px;padding-bottom:40px}
.ftr p{margin:14px 0}
.ftr h2{font:800 .76rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:6px 0 16px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ftr a{color:#d4ddeb;text-decoration:none}.ftr a:hover{color:#fff;text-decoration:underline}
.ftr-base{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:22px;padding-bottom:30px;border-top:1px solid rgba(255,255,255,.1)}
.ftr-base ul{display:flex;gap:20px;flex-wrap:wrap}
/* reveal */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.9,.3,1)}
.js .rv.in{opacity:1;transform:none}
/* responsive */
@media (min-width:941px) and (max-width:1100px){.mega-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:1080px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:940px){
 .hero-grid{grid-template-columns:minmax(0,1fr);min-height:0;padding-top:44px;padding-bottom:34px}
 .hero-art{display:none}
 .hero-strip{display:block;overflow:hidden;margin:34px calc(-1*clamp(18px,4vw,40px)) 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
 .strip-track{display:flex;gap:14px;width:max-content;animation:slide 36s linear infinite}
 .strip-track .ph{width:132px;border-radius:16px;padding:4px;background:#0d1626;box-shadow:0 14px 30px -10px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.1)}
 .strip-track .ph img{border-radius:12px;aspect-ratio:9/17.1;object-fit:cover;object-position:top}
 .duo,.side{grid-template-columns:1fr}.ways{grid-template-columns:1fr}
 .cat-num{font-size:2.6rem}
}
@media (max-width:560px){
 .hero h1{font-size:clamp(2.3rem,10.4vw,2.75rem);max-width:none}
 .heyebrow{letter-spacing:.13em}.heyebrow .sep{display:none}.heyebrow .loc{flex-basis:100%;padding-left:38px;color:#c9d6ea}
 .topics a{font-size:.8rem;padding:7px 11px}.phero h1{font-size:clamp(2rem,9vw,2.8rem)}
 body{font-size:1rem}.stats{gap:20px}.stats b{font-size:1.8rem}
 .card-top{padding:18px 18px 0}.card-body{padding:22px 18px}.phone{right:14px;width:26%}
 .ftr-grid{grid-template-columns:1fr 1fr;gap:30px}.ftr-grid>div:first-child{grid-column:1/-1}
 .hometown{min-height:460px}.hometown::before{background:linear-gradient(0deg,rgba(11,31,58,.95) 0,rgba(11,31,58,.55) 60%,rgba(11,31,58,.1))}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .js .rv{opacity:1;transform:none}
 .col.c2{margin-top:0}
}

.cards.one{grid-template-columns:1fr}
.cards.one .card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.cards.one .card-top{padding:30px 30px 0}
.cards.one .card-body{border-top:0;border-left:1px solid #f1ebe4;justify-content:center;padding:34px}
.cards.one .card h4{font-size:2rem}
.home-last{padding-bottom:0}
@media (max-width:860px){.cards.one .card{display:flex}.cards.one .card-body{border-left:0;border-top:1px solid #f1ebe4;padding:26px}.cards.one .card-top{padding:26px 26px 0}}
@media (max-width:560px){.cards.one .card-top{padding:18px 18px 0}.cards.one .card-body{padding:22px 18px}}
/* featured (MainStreetReady always #2) */
.featbadge{position:absolute;top:18px;right:18px;z-index:3;background:linear-gradient(135deg,#087482,#5b21b6);color:#fff;font:800 .74rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;border-radius:99px;box-shadow:0 8px 20px -8px rgba(0,0,0,.4)}
.mega li.feat a{background:linear-gradient(135deg,rgba(20,234,217,.12),rgba(138,38,246,.08));box-shadow:inset 3px 0 0 #14b8b0}
.mega .feattag{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#d9f7f4;color:#065f69;padding:2px 7px;border-radius:99px;margin:3px 0 2px}
.mega li.feat small{display:block}
@media (max-width:940px){.mega li.feat a{background:rgba(20,234,217,.14)}.mega .feattag{background:#087482;color:#fff}}
@media (min-width:1101px){.cards.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}

.hero :focus-visible,.hdr :focus-visible,.ftr :focus-visible,.dark :focus-visible,.promo.dark :focus-visible{outline-color:#2ee6d6}
.brand img{height:42px;width:auto;display:block}
@media (max-width:640px){.brand img{height:36px}}
