:root{
  --bg:#F6F7F9; --surface:#FFFFFF; --ink:#14213D; --ink-soft:#4F5B73; --line:#E1E5EC;
  --red:#F25C63; --red-d:#E4474F; --teal:#5FC4B4; --sun:#F4C05A;
  --t-red:#FCE9EA; --t-teal:#E3F4F1; --t-sun:#FDF3DC; --t-violet:#ECEAF7; --t-blue:#E9F0F8;
  --on:#14213D;
  --display:"Newsreader",Georgia,"Times New Roman",serif;
  --body:"Atkinson Hyperlegible","Segoe UI",system-ui,sans-serif;
  color-scheme:light; box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#101828; --surface:#182235; --ink:#F2E9E1; --ink-soft:#C3C9D5; --line:#2A3650;
  --t-red:#3A2433; --t-teal:#173A3E; --t-sun:#3A3324; --t-violet:#272A4A; --t-blue:#1C2C46; color-scheme:dark;}}
:root[data-theme="dark"]{
  --bg:#101828; --surface:#182235; --ink:#F2E9E1; --ink-soft:#C3C9D5; --line:#2A3650;
  --t-red:#3A2433; --t-teal:#173A3E; --t-sun:#3A3324; --t-violet:#272A4A; --t-blue:#1C2C46; color-scheme:dark;}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 124px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.05rem/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--surface)}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:8px}
.wrap{width:min(1160px,100% - 2.4rem);margin-inline:auto}
h1,h2,h3,h4{font-family:var(--display);margin:0;line-height:1.1;letter-spacing:-.01em;font-weight:600}
h2{font-size:clamp(1.9rem,4vw,2.8rem)}
h3{font-size:1.3rem}
p{margin:0}
.sub{color:var(--ink-soft);max-width:62ch;margin-top:.7rem;font-size:1.08rem}
.center{text-align:center}.center .sub{margin-inline:auto}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:700 .98rem/1 var(--body);padding:.85rem 1.25rem;border-radius:12px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;color:var(--on);transition:background .2s,border-color .2s,transform .2s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-red{background:var(--red)}
.btn-red:hover{background:var(--red-d)}
.btn-sun{background:var(--t-sun);border-color:var(--sun);color:var(--ink)}
.btn-teal{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-teal:hover{background:var(--t-blue)}
.btn svg{width:17px;height:17px;flex:none}

.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--surface);border-bottom:1px solid var(--line)}
.top-row{display:flex;align-items:center;gap:1rem;min-height:70px}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.logo-mark{width:42px;height:42px;flex:none}
.logo b{display:block;font:600 1.3rem/1 var(--display)}
.logo small{display:block;font-size:.8rem;color:var(--ink-soft);margin-top:.25rem}
.top-cta{margin-left:auto;display:flex;gap:.6rem}
.top-cta .btn{padding:.7rem 1rem;font-size:.94rem}
.pills{display:flex;gap:.45rem;padding:.1rem 0 .75rem;overflow-x:auto;scrollbar-width:none}
.pills::-webkit-scrollbar{display:none}
.pill{flex:none;text-decoration:none;font-weight:700;font-size:.9rem;padding:.45rem .95rem;border-radius:999px;border:1px solid transparent;transition:border-color .2s}
.pill:hover{border-color:var(--ink-soft)}
.pill:nth-child(1){background:var(--t-red)}.pill:nth-child(2){background:var(--t-teal)}.pill:nth-child(3){background:var(--t-sun)}
.pill:nth-child(4){background:var(--t-violet)}.pill:nth-child(5){background:var(--t-blue)}.pill:nth-child(6){background:var(--t-red)}
@media (max-width:760px){.top-cta{display:none}.logo small{display:none}}

.hero{position:relative;overflow:hidden;background:#1d2a44}
.slides{display:grid}
.slide{grid-area:1/1;position:relative;min-height:clamp(500px,70vh,620px);display:flex;align-items:center;transform:translateX(100%);transition:transform 1s cubic-bezier(.65,0,.35,1);will-change:transform}
.slide.on{transform:translateX(0)}
.topbar.status{display:block;color:#14213D;font-size:.95rem;transition:background .4s}
.topbar.open{background:#DCF3E6}
.topbar.closed{background:#FCE3E4}
.topbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem 1.6rem;padding:.55rem 0}
.tb-main{display:inline-flex;align-items:center;gap:.55rem}
.tb-main b{font-weight:700}
@media (max-width:760px){.tb-extra{display:none}.topbar-row{justify-content:center}}
.photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide.on .photo{animation:kb 12s ease-out both}
.ph{background:var(--ph);display:flex;align-items:flex-start;justify-content:flex-end;padding:1.2rem}
.ph-label{background:rgba(255,255,255,.88);color:#14213D;font-size:.85rem;font-weight:700;padding:.45rem .75rem;border-radius:8px}
.card{position:relative;z-index:2;background:var(--surface);border-radius:18px;border:1px solid var(--line);padding:clamp(1.4rem,3vw,2.2rem);max-width:500px;margin-left:max(1.2rem,calc((100% - 1160px)/2));box-shadow:0 24px 60px -24px rgba(20,33,61,.55);transform:translateY(16px);opacity:0;transition:transform .7s .2s ease,opacity .7s .2s ease}
.slide.on .card{transform:none;opacity:1}
.card.right{margin-left:auto;margin-right:max(1.2rem,calc((100% - 1160px)/2))}
@media (max-width:760px){.hero{background:var(--bg)}.hero::after{display:none}.card.right{margin:-36px 1rem 4.8rem}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,33,61,.18),transparent 55%);pointer-events:none;z-index:1}
.tag{display:inline-block;font-weight:700;font-size:.85rem;padding:.3rem .7rem;border-radius:999px;background:var(--t-red);margin-bottom:.9rem}
.card h1,.card h2{font-size:clamp(2rem,4.2vw,3.05rem)}
.card p{margin-top:.8rem;color:var(--ink-soft);font-size:1.08rem}
.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.ctrl{position:absolute;z-index:5;bottom:1.2rem;right:max(1.2rem,calc((100% - 1160px)/2));display:flex;align-items:center;gap:.5rem}
.arrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.arrow:hover{border-color:var(--ink)}
.arrow svg{width:18px;height:18px}
.dots{display:flex;gap:.4rem;background:var(--surface);padding:.55rem .75rem;border-radius:999px;border:1px solid var(--line)}
.dot{width:9px;height:9px;border-radius:999px;border:0;background:var(--line);cursor:pointer;padding:0;transition:width .3s ease,background .3s}
.dot[aria-current="true"]{width:26px;background:var(--red)}
@media (max-width:760px){
  .slide{flex-direction:column;align-items:stretch;min-height:0}
  .photo{position:relative;height:260px;inset:auto}
  .card{margin:-36px 1rem 4.8rem;max-width:none}
  .ctrl{left:50%;right:auto;transform:translateX(-50%);bottom:1.1rem}
}

.perks{display:grid;grid-template-columns:repeat(4,1fr);padding:1.6rem 0}
.perk{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:.98rem;padding:0 1.2rem;border-left:1px solid var(--line)}
.perk:first-child{border-left:0;padding-left:0}
.perk a{font-weight:400;color:var(--ink-soft)}
.perk i{font-style:normal;font-size:1.2rem;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--t-blue)}
@media (max-width:860px){.perks{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.2rem}.perk{padding:0 .7rem;min-width:0}.perk:nth-child(odd){border-left:0;padding-left:0}}

section.block{padding:clamp(3.5rem,7vw,5.5rem) 0}

.hub{background:var(--t-blue)}
.hub-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:1.4rem;margin-top:2rem;align-items:start}
@media (max-width:960px){.hub-grid{grid-template-columns:1fr}}
.mapbox{background:var(--surface);border-radius:18px;padding:1rem;border:1px solid var(--line)}
.map{width:100%;height:auto;display:block}
.map .r{cursor:pointer;opacity:.85;transition:opacity .25s ease;stroke:var(--surface);stroke-width:.6}
.map .r:hover{opacity:1}
.map .r.sel{opacity:1;stroke:var(--red);stroke-width:1.6}
.map .r.home,.map .r.other{cursor:default}
.arc{fill:none;stroke:var(--red);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:5 7;animation:dash 1s linear infinite}
.pin{fill:var(--red)}
.ping{fill:none;stroke:var(--red);stroke-width:2.5;transform-box:fill-box;transform-origin:center;animation:ping 2s ease-out infinite}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}
.chip{font:700 .9rem/1 var(--body);padding:.6rem .9rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:.45rem}
.chip i{width:10px;height:10px;border-radius:50%;flex:none}
.chip:hover{border-color:var(--ink-soft)}
.chip[aria-pressed="true"]{border-color:var(--red);background:var(--t-red)}
.panel{background:var(--surface);border-radius:18px;padding:1.6rem;border:1px solid var(--line)}
.panel h3{font-size:1.7rem}
.panel .eg{color:var(--ink-soft);margin-top:.3rem}
.vlist{list-style:none;padding:0;margin:1.1rem 0}
.vlist li{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--line);font-weight:700;animation:pop .45s ease both}
.badge{font-size:.8rem;padding:.3rem .65rem;border-radius:999px;white-space:nowrap;color:var(--on)}
.b-req{background:#F9D3D5}.b-usual{background:#FBE1CB}.b-rec{background:#CDEDE6}.b-check{background:#FBEBC0}.b-discuss{background:#E3DEF6}
.note{background:var(--t-sun);border-radius:12px;padding:.95rem 1rem;font-size:.97rem}
.note a{font-weight:700}
.panel .actions{margin-top:1.2rem}
.fine{font-size:.9rem;color:var(--ink-soft);margin-top:1.2rem}

.vgrid{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.9rem;margin-top:2rem}
.vac{background:var(--surface);border-radius:16px;border:1px solid var(--line);transition:border-color .2s}
.vac:hover{border-color:var(--ink-soft)}
.vac[open]{grid-column:1/-1;border-color:var(--ink)}
.vac summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem}
.vac summary::-webkit-details-marker{display:none}
.vac summary i{font-style:normal;font-size:1.4rem;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;flex:none}
.vac summary b{font:600 1.15rem/1.15 var(--display);display:block}
.vac summary small{color:var(--ink-soft);font-size:.88rem}
.vac summary::after{content:"+";margin-left:auto;font:400 1.5rem/1 var(--body);color:var(--ink-soft);transition:transform .25s}
.vac[open] summary::after{transform:rotate(45deg)}
.vbody{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;padding:0 1.1rem 1.2rem;animation:pop .35s ease both}
.vbody div{background:var(--bg);border-radius:12px;padding:1rem}
.vbody h4{margin:0 0 .3rem;font-size:1.05rem}
.vbody p{font-size:.96rem;color:var(--ink-soft)}
.vbody .more{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.vbody .more a{font-weight:700}
@media (max-width:760px){.vbody{grid-template-columns:1fr}}
.c1{background:var(--t-red)}.c2{background:var(--t-teal)}.c3{background:var(--t-sun)}.c4{background:var(--t-violet)}.c5{background:var(--t-blue)}

.how{background:var(--surface);border-block:1px solid var(--line)}
.steps{list-style:none;padding:0;margin:2.4rem 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;position:relative}
.steps::before{content:"";position:absolute;top:38px;left:12%;right:12%;border-top:2px dashed var(--line)}
.steps li{position:relative;text-align:center}
.steps .ico{width:76px;height:76px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;font-size:1.9rem;position:relative}
.steps li:nth-child(1) .ico{background:var(--t-red)}.steps li:nth-child(2) .ico{background:var(--t-teal)}.steps li:nth-child(3) .ico{background:var(--t-sun)}.steps li:nth-child(4) .ico{background:var(--t-violet)}
.steps .ico::after{content:attr(data-n);position:absolute;top:-2px;right:-2px;width:26px;height:26px;border-radius:50%;background:var(--surface);border:1px solid var(--ink);color:var(--ink);font:700 .85rem/24px var(--body)}
.steps b{font:600 1.2rem/1.2 var(--display);display:block}
.steps span{color:var(--ink-soft);display:block;margin-top:.35rem;max-width:30ch;margin-inline:auto}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}.steps::before{display:none}}

.track{position:relative;margin-top:2.4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.track::before{content:"";position:absolute;left:0;right:0;top:24px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--teal),var(--sun),var(--red))}
.track .plane{position:absolute;top:8px;left:0;width:36px;height:36px;animation:slide-plane 12s ease-in-out infinite;z-index:2}
.stop{position:relative;padding-top:3.8rem}
.stop::before{content:"";position:absolute;top:16px;left:0;width:20px;height:20px;border-radius:50%;background:var(--surface);border:4px solid var(--ink)}
.stop b{font:600 1.5rem/1 var(--display);display:block}
.stop p{color:var(--ink-soft);margin-top:.4rem}
.stop a{font-weight:700}
@media (max-width:760px){.track{grid-template-columns:1fr 1fr;row-gap:2rem}.track .plane{display:none}}

.faq{max-width:860px;margin:2rem auto 0}
.faq details{background:var(--surface);border-radius:14px;margin-bottom:.6rem;border:1px solid var(--line)}
.faq details[open]{border-color:var(--ink-soft)}
.faq summary{cursor:pointer;list-style:none;padding:1.05rem 1.2rem;font:600 1.12rem/1.3 var(--display);display:flex;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-left:auto;width:30px;height:30px;flex:none;border-radius:50%;background:var(--t-red);display:grid;place-items:center;font:400 1.3rem/1 var(--body);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 1.2rem 1.15rem;color:var(--ink-soft);animation:pop .3s ease both}
.faq details p a{font-weight:700}

.band{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr}
.band-text{padding:clamp(2rem,5vw,3.2rem);align-self:center}
.band h2{max-width:16ch}
.band p{margin-top:.8rem;font-size:1.08rem;color:var(--ink-soft);max-width:44ch}
.band .ph,.band .photo{position:relative;min-height:300px;inset:auto}
@media (max-width:860px){.band{grid-template-columns:1fr}.band .ph,.band .photo{min-height:220px}}

.find-top{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2rem}
.find-top .shop{position:relative;border-radius:18px;overflow:hidden;min-height:280px;border:1px solid var(--line)}
.find-top .shop .ph,.find-top .shop .photo{position:absolute;inset:0;width:100%;height:100%}
@media (max-width:860px){.find-top{grid-template-columns:1fr}}
.find{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.find > div{background:var(--surface);border-radius:18px;padding:1.5rem;border:1px solid var(--line)}
.find h3{margin-bottom:.7rem}
.find address{font-style:normal;font-size:1.08rem}
.hours{width:100%;border-collapse:collapse}
.hours td{padding:.45rem 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right;font-weight:700}
.find ul{list-style:none;padding:0;margin:0}
.find li{padding:.45rem 0;border-bottom:1px solid var(--line)}
@media (max-width:860px){.find{grid-template-columns:1fr}}

.localmap{display:block;position:relative;border-radius:18px;overflow:hidden;text-decoration:none;border:1px solid var(--line)}
.localmap svg{display:block;width:100%;height:auto;min-height:240px}
.localmap .open{position:absolute;right:1.1rem;bottom:1.1rem}
.lm-pin{animation:bob 3s ease-in-out infinite}

.sources{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem;margin-top:2rem}
.src{display:block;text-decoration:none;background:var(--surface);border-radius:14px;padding:1.15rem;border:1px solid var(--line);border-left:4px solid var(--teal);transition:border-color .2s}
.src:hover{border-color:var(--ink-soft)}
.src:nth-child(3n+2){border-left-color:var(--red)}.src:nth-child(3n){border-left-color:var(--sun)}
.src b{display:block;font:600 1.1rem/1.25 var(--display)}
.src small{display:block;color:var(--ink-soft);margin-top:.15rem;font-weight:700}
.src p{color:var(--ink-soft);margin-top:.5rem;font-size:.95rem}

footer{padding:2.5rem 0 3rem;color:var(--ink-soft);font-size:.92rem;border-top:1px solid var(--line)}
footer .wrap{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between}
footer a{font-weight:700}

.bar{display:none}
@media (max-width:760px){
  .bar{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface);padding:.7rem .8rem calc(.7rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
  .bar .btn{padding:.9rem .6rem}
  body{padding-bottom:84px}
}


.alert{background:var(--t-red);border:1px solid #F3B8BB;border-radius:12px;padding:.75rem 1rem;font-weight:700;font-size:.97rem}
.alert a{font-weight:700}
.svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem;margin-top:2rem}
.svc{display:flex;gap:.9rem;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.1rem}
.svc i{font-style:normal;font-size:1.4rem;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;flex:none}
.svc b{font:600 1.15rem/1.2 var(--display);display:block}
.svc p{color:var(--ink-soft);font-size:.96rem;margin-top:.25rem}
.svc a{font-weight:700}
.how .fine a{font-weight:700}
.pays{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.pay{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.5rem}
.pay i{font-style:normal;font-size:1.6rem;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--t-blue);margin-bottom:.9rem}
.pay p{color:var(--ink-soft);margin-top:.5rem}
.pay a,.sub a{font-weight:700}
@media (max-width:860px){.pays{grid-template-columns:1fr}}
.find .fine{margin-top:.7rem}
@media (max-width:1040px){.top-cta .btn{padding:.6rem .75rem;font-size:.88rem}.logo small{display:none}}
.pill:nth-child(7){background:var(--t-teal)}
.statusbar{background:var(--surface);border-bottom:1px solid var(--line)}
.statusrow{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;align-items:center;padding:.8rem 0;font-size:.98rem}
.statusrow a{font-weight:700}
.status{display:inline-flex;align-items:center;gap:.5rem;margin:0}
.sdot{width:12px;height:12px;border-radius:50%;background:#9AA3B2;flex:none}
.status.open .sdot{background:#22A06B;animation:glow 2s infinite}
.status.closed .sdot{background:var(--red)}
#st2{margin-bottom:.6rem}
@keyframes glow{0%{box-shadow:0 0 0 0 rgba(34,160,107,.55)}100%{box-shadow:0 0 0 10px rgba(34,160,107,0)}}
.hours tr.today td{background:var(--t-sun);font-weight:700}
.hours tr.today td:first-child{padding-left:.5rem;border-radius:8px 0 0 8px}
.hours tr.today td:last-child{padding-right:.5rem;border-radius:0 8px 8px 0}
.langs{background:var(--t-teal)}
.lbtns{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.lbtn{font:700 1rem/1 var(--body);padding:.7rem 1.05rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.lbtn:hover{border-color:var(--ink-soft)}
.lbtn[aria-pressed="true"]{border-color:var(--red);background:var(--t-red)}
.lcard{margin-top:1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.6rem;max-width:780px;animation:pop .35s ease both}
.lcard h3{font-size:1.6rem}
.lcard ul{list-style:none;padding:0;margin:1rem 0 0}
.lcard li{display:flex;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:1.08rem}
.lcard .hint{margin-top:1rem;color:var(--ink-soft);font-size:.95rem}
footer .fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem;padding-bottom:1.6rem}
.fgrid b{display:block;font:600 1.15rem/1.2 var(--display);color:var(--ink);margin-bottom:.6rem}
.fgrid p{margin-bottom:.4rem}
.fgrid ul{list-style:none;padding:0;margin:0}
.fgrid li{padding:.25rem 0}
.fgrid .emerg{margin-top:.6rem;font-weight:700;color:var(--ink)}
footer .fbase{border-top:1px solid var(--line);padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}
@media (max-width:760px){footer .fgrid{grid-template-columns:1fr}.bar{grid-template-columns:1fr 1fr 1fr!important}}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
.wave{animation:wave 8s linear infinite}

@keyframes kb{from{transform:scale(1.07)}to{transform:scale(1)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes wave{from{transform:translateX(0)}to{transform:translateX(-80px)}}
@keyframes dash{to{stroke-dashoffset:-24}}
@keyframes ping{0%{transform:scale(.4);opacity:1}100%{transform:scale(2.4);opacity:0}}
@keyframes pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes slide-plane{0%{left:0}50%{left:calc(100% - 36px)}50.01%{left:calc(100% - 36px);transform:scaleX(-1)}100%{left:0;transform:scaleX(-1)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}.rv{opacity:1;transform:none}
}

picture{display:contents}
.page-hero{padding:clamp(2.2rem,5vw,4rem) 0;background:var(--t-blue)}
.ph-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.ph-grid h1{font-size:clamp(2.1rem,4.6vw,3.3rem)}
.crumbs{font-size:.92rem;color:var(--ink-soft);margin-bottom:1rem}
.crumbs a{font-weight:700}
.ph-img{border-radius:20px;overflow:hidden;aspect-ratio:4/3;border:1px solid var(--line);background:var(--surface)}
.ph-img img{width:100%;height:100%;object-fit:cover;display:block}
.facts{list-style:none;padding:0;margin:1.4rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.facts li{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.45rem .85rem;font-weight:700;font-size:.92rem}
.prose-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.prose h2{font-size:clamp(1.5rem,3vw,2rem);margin:2.2rem 0 .6rem}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--ink-soft);margin:.6rem 0;font-size:1.06rem}
.prose ul{padding-left:1.2rem;color:var(--ink-soft);margin:.6rem 0}
.prose li{margin:.4rem 0}
.prose li b{color:var(--ink)}
.prose a{font-weight:700;color:var(--ink)}
.keylist{list-style:none;padding:0!important}
.keylist li{display:flex;gap:.7rem;padding:.55rem 0;border-bottom:1px solid var(--line);margin:0!important;color:var(--ink)}
.side-card{position:sticky;top:160px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.4rem}
.side-card h3{margin-bottom:.6rem}
.side-card p{margin:.5rem 0}
.side-card .actions{flex-direction:column}
.side-card .btn{width:100%}
@media (max-width:900px){.ph-grid,.prose-grid{grid-template-columns:1fr}.side-card{position:static}}
.glinks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem;margin-top:1.8rem}
.gcard{display:block;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.2rem;transition:border-color .2s,transform .2s}
.gcard:hover{border-color:var(--ink-soft);transform:translateY(-2px)}
.gcard i{font-style:normal;font-size:1.5rem}
.gcard b{display:block;font:600 1.15rem/1.25 var(--display);margin-top:.5rem}
.gcard span{display:block;color:var(--ink-soft);font-size:.95rem;margin-top:.3rem}
.qfaq{max-width:860px;margin:1.6rem 0 0}
footer .fgrid4{grid-template-columns:1.3fr 1fr 1fr 1fr}
.flangs{display:flex;flex-wrap:wrap;gap:.4rem 1rem;padding:0 0 1.2rem}
.flangs a{font-weight:700}
@media (max-width:900px){footer .fgrid4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){footer .fgrid4{grid-template-columns:1fr}}
