:root{
  --pinktint-100:#ffedf6;
  --pinktint-200:#fcddeb;
  --pinktint-300:#fac5dd;
  --pinktint-deep:#f3a6ca;
  --wisteria:#eae7f8;
  --wisteria-2:#d9dcf5;

  --panel:#fffefd;
  --panel-soft:#fef2f9;
  --panel-2:#fce7ee;

  --accent:#ed4d96;
  --accent-active:#e02f7a;
  --coral:#fc5d74;
  --coral-2:#f94a62;
  --sun:#fd783e;
  --sun-2:#f66a27;
  --heart:#ff4e5d;
  --cornflower:#c8ccf1;
  --call-active:linear-gradient(95deg,var(--sun),var(--coral) 55%,var(--accent));

  --ink:#292331;
  --ink-soft:#6a6472;
  --faint:#98919f;
  --rule:#f1d6e5;

  --contrast:#fffefd;
  --white:#fffefd;
  --positive:#90c7aa;
  --rule-soft:rgba(255,254,253,.9);
  --panel-back:rgba(255,254,253,.94);
  --veil:rgba(41,35,49,.5);
  --ft-back:#292331;
  --ft:#d8d3df;
  --ft-2:#fffefd;
  --ft-soft:#a8a0b2;
  --ft-edge:rgba(255,254,253,.09);

  --ro-sm:14px;
  --ro-md:20px;
  --ro-lg:28px;
  --ro-xl:36px;
  --ro-pill:999px;

  --sd-sm:0 6px 16px -8px rgba(237,77,150,.36);
  --sd-md:0 18px 38px -18px rgba(237,77,150,.42);
  --sd-lg:0 30px 60px -24px rgba(224,47,122,.4);

  --font-head:"Trebuchet MS","Segoe UI",system-ui,-apple-system,"Helvetica Neue",sans-serif;
  --font:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;

  --frame:1200px;
  --edge-x:10px;
  --block-y:clamp(56px,7vw,104px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  color:var(--ink);background:
    radial-gradient(1200px 700px at 85% -8%, var(--pinktint-300) 0%, transparent 55%),
    radial-gradient(900px 600px at -10% 8%, var(--wisteria) 0%, transparent 55%),
    linear-gradient(180deg, var(--pinktint-100) 0%, var(--panel-soft) 40%, var(--pinktint-100) 100%);background-attachment:fixed;font-family:var(--font);
  line-height:1.6;
  margin:0;-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
.core-nav{margin-left:auto;align-items:center;display:flex;gap:8px}
.block-head{max-width:640px;text-align:center;margin:0 auto 44px}
.block-head .btn{margin-top:24px}
:focus-visible{border-radius:6px;outline:3px solid var(--accent);outline-offset:2px}
.h2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}
button{font-family:inherit}

.wrapper{max-width:var(--frame);margin-inline:auto;padding-inline:var(--edge-x)}



.contacts-row{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}
.lead{font-size:1.06rem;color:var(--ink-soft);margin-top:14px}

.hamburger{cursor:pointer;z-index:1105;border:none;flex-direction:column;background:none;padding:6px;gap:5px;display:none}
.hamburger span{transition:transform .3s ease,opacity .3s ease;width:26px;display:block;height:3px;background:var(--ink);border-radius:2px}
.hamburger.current span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.hamburger.current span:nth-child(2){opacity:0}
.hamburger.current span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.id{font-family:var(--font-head);gap:11px;font-weight:800;display:flex;font-size:1.28rem;letter-spacing:-.02em;color:var(--ink);align-items:center}
.id:hover{color:var(--ink)}
.id__pic{color:var(--contrast);height:42px;display:inline-flex;justify-content:center;border-radius:14px;box-shadow:0 8px 18px -8px rgba(237,77,150,.79);width:42px;flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--coral) 55%,var(--sun));align-items:center}
.id__pic svg{height:22px;width:22px}
.overline{text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.8rem;margin-bottom:10px;color:var(--accent)}
ul{padding:0;margin:0;list-style:none}
.nav-entry{color:var(--ink);font-weight:600;border-radius:var(--ro-pill);font-size:.96rem;padding:9px 14px;transition:background .18s,color .18s}
.nav-entry:hover{color:var(--accent-active);background:var(--panel-2)}
.nav-glint{border:none;cursor:pointer;transition:background .18s ease,color .18s ease;padding:9px 12px;color:var(--ink);gap:7px;position:relative;background:none;border-radius:var(--ro-pill);font-weight:600;font-size:.96rem;align-items:center;display:inline-flex;text-decoration:none}
.nav-glint:hover{background:var(--panel-2);color:var(--accent-active)}
.nav-glint svg{color:var(--accent);width:20px;height:20px}
.nav-glint:hover svg{color:var(--accent-active)}
.nav-glint__copy{white-space:nowrap}
.nav-glint .dm-dot{top:auto;right:auto;position:static}
.nav-glint-small{background:none;width:100%;display:flex;text-align:left;border:none;border-bottom:1px solid var(--rule);gap:9px;align-items:center;padding:14px 2px;font-weight:600;color:var(--ink);font-size:15px;cursor:pointer;text-decoration:none}
.nav-glint-small:hover{color:var(--accent-active)}
.nav-glint-small svg{color:var(--accent);height:18px;width:18px}
.nav-veil{transition:opacity .3s ease;opacity:0;z-index:1090;inset:0;visibility:hidden;background:var(--veil);position:fixed}
.nav-veil.current{visibility:visible;opacity:1}
.breadcrumb a:hover{color:var(--accent-active)}
figure{margin:0}

.btn{
  gap:9px;align-items:center;cursor:pointer;display:inline-flex;
  padding:14px 26px;border:1.5px solid transparent;text-align:center;font-weight:700;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;border-radius:var(--ro-pill);white-space:nowrap;font-size:1rem;
  justify-content:center;
}
.btn svg{width:18px;height:18px}
.btn--sm{font-size:.9rem;padding:10px 18px}
.btn--full{width:100%}
.btn--primary{color:var(--contrast);box-shadow:0 14px 26px -12px rgba(249,74,98,.76);background:linear-gradient(95deg,var(--sun),var(--coral) 55%,var(--accent))}
.btn--primary:hover{background:var(--call-active);transform:translateY(-2px);box-shadow:0 20px 34px -12px rgba(249,74,98,.85);color:var(--contrast)}
.btn--ghost{border-color:var(--rule);background:var(--panel);color:var(--accent)}
.btn--ghost:hover{color:var(--accent-active);transform:translateY(-2px);background:var(--panel-2)}
.btn--plain{background:var(--white);color:var(--accent-active)}
.btn--plain:hover{transform:translateY(-2px);color:var(--accent-active);box-shadow:var(--sd-md)}
.zone{padding-block:var(--block-y)}
.zone--second{background:var(--panel-2)}
.pic-ticked svg{fill:currentColor;stroke:none}
::selection{background:rgba(237,77,150,.21)}
.contact-box{cursor:pointer;overflow:hidden;border-radius:var(--ro-lg);background:var(--panel);position:relative;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;border:1px solid var(--rule-soft)}
.contact-box:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--sd-lg);z-index:3}
.contact__portrait{background:linear-gradient(160deg,var(--pinktint-200),var(--wisteria-2));display:block;overflow:hidden;position:relative;aspect-ratio:3/4}
.contact__portrait img{height:100%;width:100%;display:block;transition:transform .5s ease,filter .3s ease;object-fit:cover}
.contact-box:hover .contact__portrait img{transform:scale(1.1);filter:brightness(.7)}
.contact__dot{font-weight:800;border:1px solid #599ad8;letter-spacing:.05em;color:#e9f3ff;gap:6px;background:linear-gradient(135deg,#102d4c,#0a1e31);top:10px;z-index:3;border-radius:var(--ro-pill);align-items:center;position:absolute;display:inline-flex;right:10px;box-shadow:0 2px 8px rgba(0,2,1,.16);font-size:.68rem;padding:5px 9px}
.contact__dot .led{background:var(--positive);height:8px;width:8px;position:relative;border-radius:50%;font-size:0;box-shadow:0 0 6px rgba(144,199,170,.68);color:transparent}
.contact__dot .led::after{inset:0;animation:shimmer 1.8s ease-out infinite;border-radius:50%;position:absolute;background:var(--positive);content:""}
.contact__body{padding:20px 15px 15px;left:0;text-align:left;background:linear-gradient(to top,rgba(0,2,1,.95),rgba(0,2,1,.68) 55%,rgba(0,2,1,.01));right:0;position:absolute;bottom:0;z-index:2;transition:opacity .3s ease}
.contact-box:hover .contact__body{opacity:0}
.contact__deck{font-size:.68rem;margin-bottom:8px;color:#edfbf7;background:rgba(21,48,41,.94);gap:5px;display:inline-flex;padding:4px 9px;box-shadow:0 2px 8px rgba(0,2,1,.16);border-radius:var(--ro-pill);letter-spacing:.02em;font-weight:700;align-items:center;border:1px solid rgba(75,120,107,.9)}
.contact__deck svg{width:14px;color:#a5e3d1;height:14px}
.contact__label{font-family:var(--font-head);font-weight:800;line-height:1.2;font-size:1.32rem;color:#fffefd}
.contact__label span{color:rgba(255,254,253,.81);font-weight:600;font-size:.86rem}
.contact__place{gap:6px;font-size:.82rem;color:rgba(255,254,253,.9);align-items:center;margin-top:3px;display:flex}
.contact__place .pin svg{color:#fffefd;width:14px;height:14px}
.contact__veil{inset:0;display:flex;transition:opacity .3s ease,visibility .3s ease;align-items:flex-end;z-index:4;padding:20px;opacity:0;background:linear-gradient(to bottom,rgba(0,2,1,.09),rgba(0,2,1,.9));justify-content:center;visibility:hidden;position:absolute}
.contact-box:hover .contact__veil{visibility:visible;opacity:1}
.contact__wrap{width:100%;transform:translateY(20px);transition:transform .4s cubic-bezier(.175,.885,.32,1.275);text-align:center}
.contact-box:hover .contact__wrap{transform:translateY(0)}
.contact__copy{line-height:1.4;text-shadow:0 2px 4px rgba(0,2,1,.79);-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#fffefd;margin:0 0 12px;font-size:.85rem;display:-webkit-box;overflow:hidden}
.contact__dm{height:50px;width:50px;box-shadow:0 4px 15px rgba(0,2,1,.31);align-items:center;transition:transform .3s ease,box-shadow .3s ease;color:var(--contrast);display:inline-flex;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--coral));justify-content:center}
.contact__dm svg{height:22px;width:22px}
.contact__dm:hover{transform:scale(1.1);box-shadow:var(--sd-md)}
.contact__glint{top:10px;transition:transform .2s ease,background .2s ease,color .2s ease;left:10px;box-shadow:0 2px 8px rgba(0,2,1,.29);display:grid;height:34px;cursor:pointer;color:#fffefd;place-items:center;width:34px;z-index:6;border-radius:50%;position:absolute;background:rgba(0,2,1,.4);border:none}
.contact__glint svg{height:18px;width:18px}
.contact__glint:hover{transform:scale(1.1);background:rgba(0,2,1,.59)}
.contact__glint.ticked{color:var(--contrast);background:var(--coral)}
.contact__glint.ticked svg{fill:currentColor}

.dot-tag{color:var(--accent);background:var(--panel);gap:8px;align-items:center;font-weight:700;font-size:.82rem;letter-spacing:.06em;padding:8px 16px;display:inline-flex;border:1px solid var(--rule);box-shadow:var(--sd-sm);border-radius:var(--ro-pill)}
.dot-tag svg{color:var(--coral);height:16px;width:16px}
.sidebar-small{z-index:1100;height:100vh;position:fixed;top:0;box-shadow:-6px 0 30px rgba(41,35,49,.19);max-width:320px;background:var(--panel);width:80%;height:100dvh;transition:right .3s ease;overflow-y:auto;padding:84px 22px 22px;right:-100%}
.sidebar-small.current{right:0}
.sidebar-small nav{flex-direction:column;display:flex}
.sidebar-small a:not(.btn){font-weight:600;color:var(--ink);border-bottom:1px solid var(--rule);font-size:15px;padding:14px 2px}
.sidebar-small a:not(.btn):hover{color:var(--accent-active)}
.sidebar-small a.btn{margin-top:22px}
svg{display:block}
.pop{background:linear-gradient(92deg,var(--accent),var(--coral) 60%,var(--sun));-webkit-background-clip:text;color:transparent;background-clip:text}
.id,.nav-entry,.sidebar-small a,.btn,.breadcrumb a,.web-ground a,.towns-nav a,.contact__dm{text-decoration:none}
p{margin:0}
h1,h2,h3,h4{line-height:1.12;color:var(--ink);margin:0;letter-spacing:-.01em;font-family:var(--font-head)}

.web-appbar{z-index:60;top:0;background:var(--panel);border-bottom:1px solid var(--rule);position:sticky}
.web-appbar__body{padding-block:12px;justify-content:space-between;min-height:74px;gap:20px;display:flex;align-items:center}
@media(max-width:768px){.contact__veil{opacity:1;visibility:visible;inset:auto 7px 8px auto;width:auto;height:auto;padding:0;background:none}.contact__wrap{width:auto;transform:none}.contact__copy{display:none}.contact__dm{width:34px;height:34px}.contact__dm svg{width:16px;height:16px}.contact__glint{top:8px;left:8px;width:30px;height:30px}.contact__glint svg{width:16px;height:16px}.contact__dot{top:8px;right:8px;gap:4px;padding:3px 7px;font-size:9.5px;letter-spacing:.03em}.contact__dot .led{width:6px;height:6px}.contact-box .contact__body{padding:10px 9px 9px}.contact__deck{gap:3px;margin-bottom:5px;padding:3px 6px;font-size:9.5px}.contact__deck svg{width:12px;height:12px}.contact__label{font-size:.92rem;line-height:1.2;padding-right:40px}.contact__label span{font-size:.72rem;white-space:nowrap}.contact__place{font-size:.72rem;gap:4px;margin-top:2px;padding-right:40px}.contact__place .pin svg{width:12px;height:12px}}
@keyframes shimmer{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}
.breadcrumb{color:var(--faint);font-size:.86rem;gap:6px;justify-content:flex-start;margin-bottom:14px;display:flex;flex-wrap:wrap}
.reel-frame{display:block;object-fit:cover;background:#000201;pointer-events:none;width:100%;height:100%}
.reel-led{place-items:center;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;position:absolute;line-height:1;box-shadow:var(--sd-sm);top:50%;padding-left:2px;background:rgba(0,2,1,.53);height:28px;left:50%;display:grid;color:#fffefd;width:28px;font-size:.64rem}
.reel-dot{color:#fffefd;gap:4px;position:absolute;align-items:center;font-weight:700;bottom:12px;left:12px;font-size:.7rem;z-index:2;letter-spacing:.02em;display:inline-flex;box-shadow:var(--sd-sm);border-radius:var(--ro-pill);background:rgba(0,2,1,.6);padding:5px 9px}
.gains-list{margin-top:14px;gap:10px;display:grid}
.gains-list li{color:var(--ink);padding-left:24px;position:relative}
.gains-list li::before{width:10px;position:absolute;content:"";left:0;height:10px;background:var(--coral);top:.5em;border-radius:50%}

.page-splash{padding-block:clamp(40px,6vw,80px) 20px}
.page-splash h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.page-splash p{font-size:1.08rem;color:var(--ink-soft);margin:16px auto 0}

.led{font-size:.6rem;line-height:1;color:var(--positive)}

.post{display:grid;align-items:center;gap:clamp(28px,4vw,56px);grid-template-columns:1fr 1fr}
.post__copy>p:not(.overline){color:var(--ink-soft);font-size:1.04rem;margin-top:16px}
.post__deck{font-family:var(--font-head);color:var(--accent-active);margin-top:22px;font-size:1.1rem;font-weight:800}

.skeleton{padding-block:clamp(60px,10vw,140px);text-align:center}
.skeleton__no{font-family:var(--font-head);line-height:.9;font-weight:800;font-size:clamp(6rem,20vw,13rem)}
.skeleton__part{justify-content:center;flex-wrap:wrap;display:flex;gap:14px;margin-top:30px}

.post-zone h1{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.post-zone h2{font-size:1.35rem;margin-top:34px;font-weight:800;color:var(--accent-active)}
.post-zone p{font-size:1.04rem;margin-top:14px;color:var(--ink-soft)}
.post-zone p a{font-weight:600}
.post-zone ul{gap:10px;margin-top:14px;display:grid}
.post-zone li{position:relative;color:var(--ink-soft);padding-left:24px}
.post-zone li::before{width:10px;background:var(--coral);height:10px;position:absolute;content:"";left:0;top:.5em;border-radius:50%}

.facts{grid-template-columns:1.2fr 1fr;gap:clamp(28px,4vw,48px);display:grid;align-items:start}
.facts-stats{gap:16px;grid-template-columns:1fr 1fr;display:grid}

.request-wrap{max-width:640px}
.request-skeleton{left:-9999px;height:1px;position:absolute;width:1px;overflow:hidden}
.contact-reel-watch{color:#fffefd;width:78px;height:78px;place-items:center;top:50%;background:rgba(0,2,1,.5);line-height:1;left:50%;cursor:pointer;transition:transform .15s ease,background .15s ease;box-shadow:var(--sd-md);transform:translate(-50%,-50%);font-size:1.9rem;position:absolute;border-radius:50%;border:none;z-index:3;padding-left:6px;display:grid}
.contact-reel-watch:hover{background:rgba(0,2,1,.68);transform:translate(-50%,-50%) scale(1.07)}
.contact-sidebar{position:sticky;top:96px}
.contact-header{display:flex;margin-top:14px;gap:12px;align-items:center;flex-wrap:wrap}
.contact-header .dot-tag{flex:none}
.contact-lead{font-family:var(--font-head);line-height:1.1;font-weight:800;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.contact-lead span{font-weight:600;color:var(--faint);font-size:.62em}
.contact-mention{align-items:center;color:var(--ink-soft);gap:7px;margin-top:10px;font-size:1.02rem;display:flex}
.contact-mention .pin svg{color:var(--accent);width:18px;height:18px}
.contact-mention a{border-bottom:1px solid transparent;color:var(--accent-active);font-weight:600;transition:border-color .15s ease;text-decoration:none}
.contact-mention a:hover{border-bottom-color:currentColor}
.contact-stats{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.contact-sidebar .lead{margin-top:18px}
.contact-list{margin-top:24px;flex-wrap:wrap;gap:12px;display:flex}

.towns{display:flex;flex-direction:column;gap:32px}
.towns-part h2{font-size:1.15rem;color:var(--ink);font-weight:800;margin-bottom:16px}
.towns-nav{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid;gap:12px}
.towns-nav a{color:var(--ink);justify-content:space-between;font-size:.92rem;transition:transform .14s,box-shadow .14s,color .14s;gap:10px;box-shadow:var(--sd-sm);display:flex;border:1px solid var(--rule);align-items:center;background:var(--panel);font-weight:600;padding:13px 16px;border-radius:var(--ro-md)}
.towns-nav a:hover{box-shadow:var(--sd-md);transform:translateY(-3px);color:var(--accent-active)}
.towns-nav a .pin{flex:none;display:grid;color:var(--accent);place-items:center}
.towns-nav a .pin svg{width:16px;height:16px}
.plan-box{position:relative;border-radius:var(--ro-lg);overflow:hidden;aspect-ratio:4/3;background:var(--wisteria);border:1px solid var(--rule-soft);box-shadow:var(--sd-md)}
.plan-box.plan-later{cursor:pointer}
.plan-skeleton{position:absolute;gap:10px;background:linear-gradient(160deg,var(--wisteria-2),var(--panel-2));inset:0;padding:20px;display:grid;place-items:center;text-align:center}
.plan-skeleton p{font-weight:700;color:var(--ink)}
.plan-pin{filter:drop-shadow(0 10px 12px rgba(249,74,98,.5));color:var(--coral)}
.plan-pin svg{width:40px;height:40px;stroke:none;fill:currentColor}
.plan-box iframe{width:100%;border:0;position:absolute;inset:0;height:100%}
.plan-box.loaded .plan-skeleton{display:none}
.stat{padding:14px 16px;display:flex;align-items:center;background:var(--panel);border-radius:var(--ro-md);gap:12px;border:1px solid var(--rule-soft);box-shadow:var(--sd-sm)}
.stat-pic{flex:none;height:40px;width:40px;place-items:center;color:var(--accent);border-radius:12px;display:grid;background:var(--panel-2)}
.stat-pic svg{width:18px;height:18px}
.stat-copy dt{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-size:.78rem}
.stat-copy dd{font-family:var(--font-head);margin:2px 0 0;font-weight:800;font-size:.98rem}
.hour{font-size:.9rem;color:var(--ink-soft);justify-content:space-between;display:flex;gap:12px}
.post-zone .breadcrumb{display:flex}.post-zone .breadcrumb li{padding-left:0}.post-zone .breadcrumb li::before{display:none}


.action__zone{position:relative;overflow:hidden;box-shadow:var(--sd-lg);display:flex;background:linear-gradient(100deg,var(--accent-active),var(--coral) 60%,var(--sun));border-radius:var(--ro-xl);padding:clamp(38px,5vw,64px);justify-content:space-between;align-items:center;gap:30px;color:var(--contrast);flex-wrap:wrap}
.action__blob{right:-90px;position:absolute;top:-120px;width:320px;border-radius:50%;height:320px;background:rgba(255,254,253,.14)}
.action__copy{position:relative;z-index:2}
.action__copy h2{color:var(--contrast);max-width:16ch}
.action__copy p{margin-top:10px;max-width:46ch;color:rgba(255,254,253,.94)}
.action__zone .btn{position:relative;z-index:2}
.facts-cityhall{padding:24px;border-radius:var(--ro-lg);border:1px solid var(--rule-soft);box-shadow:var(--sd-md);background:var(--panel)}
.post-zone .breadcrumb,.breadcrumb:has(+ .block-head){justify-content:center}
.ground-row{display:grid;gap:40px;grid-template-columns:1.6fr 1fr 1fr}
.ground-id{font-family:var(--font-head);align-items:center;font-weight:800;gap:10px;font-size:1.2rem;color:var(--ft-2);display:flex;margin-bottom:12px}
.ground-col>p:not(.ground-label){color:var(--ft-soft);font-size:.94rem;max-width:34ch}
.ground-label{font-size:1rem;font-weight:800;color:var(--ft-2);margin-bottom:14px}
.ground-nav{display:grid;font-size:.94rem;gap:10px}

.query-request{background:var(--panel);border-radius:var(--ro-pill);gap:12px;box-shadow:var(--sd-md);display:flex;border:1px solid var(--rule-soft);margin:0 auto;padding:12px}
.query-request .fld{background:transparent;font-size:1.06rem;border:none;box-shadow:none}
.query-request .fld:focus{box-shadow:none}
.query-request+.towns{margin-top:40px}

.fab-tab{right:22px;color:var(--contrast);justify-content:center;border-radius:50%;bottom:22px;align-items:center;height:60px;box-shadow:var(--sd-lg);text-decoration:none;width:60px;position:fixed;background:linear-gradient(135deg,var(--accent),var(--coral));cursor:pointer;border:none;display:flex;z-index:80}
.fab-tab svg{width:26px;height:26px;stroke:none;fill:currentColor}
.fab-tab--copy{width:auto;font-family:var(--font-head);font-weight:800;gap:9px;font-size:.95rem;height:auto;border-radius:var(--ro-pill);max-width:calc(100vw - 44px);padding:13px 20px}
.fab-tab--copy svg{width:20px;height:20px}
.fab-copy{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fld-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}
.fld{border-radius:var(--ro-sm);font-family:inherit;width:100%;color:var(--ink);border:1.5px solid var(--rule);font-size:1rem;background:var(--panel-soft);padding:13px 16px;transition:border-color .16s,box-shadow .16s}
.fld:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(237,77,150,.17)}
textarea.fld{min-height:140px;resize:vertical}
.post__copy .btn{margin-top:26px}

.web-ground{background:var(--ft-back);color:var(--ft)}
.web-ground .wrapper{padding-block:56px 22px}
.web-ground a{color:var(--ft)}
.web-ground a:hover{color:var(--ft-2)}
.copyright{padding-top:22px;border-top:1px solid var(--ft-edge);margin-top:34px;color:var(--ft-soft);font-size:.86rem}
.request-mention{font-weight:700}
.request-mention--ticked{color:var(--positive)}
.request-mention--shut{color:var(--accent-active)}

.request{border-radius:var(--ro-lg);box-shadow:var(--sd-md);padding:clamp(24px,3vw,40px);border:1px solid var(--rule-soft);background:var(--panel)}
.request-cell{display:grid;margin-bottom:18px;gap:7px}
.request-cell label{font-weight:700;font-size:.92rem}
.contact-frame__glint{top:14px;right:14px;height:46px;width:46px}
.contact-frame__glint svg{height:21px;width:21px}
.contact-row{gap:clamp(24px,4vw,52px);margin-top:22px;display:grid;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.contact-col{min-width:0}
.contact-frame{border-radius:var(--ro-lg);position:relative;margin:0;background:linear-gradient(160deg,var(--pinktint-200),var(--wisteria-2));overflow:hidden;box-shadow:var(--sd-md)}
.contact-frame img{display:block;object-fit:cover;height:auto;width:100%;aspect-ratio:4/5}
.contact-arrows{border-radius:50%;background:var(--panel-back);color:var(--accent-active);position:absolute;z-index:2;box-shadow:var(--sd-md);transition:transform .15s ease,background .15s ease;border:none;top:50%;transform:translateY(-50%);cursor:pointer;display:grid;place-items:center;width:44px;height:44px}
.contact-arrows:hover{background:var(--panel-back);transform:translateY(-50%) scale(1.07)}
.contact-arrows svg{height:22px;width:22px}
.contact-prev{left:12px}
.contact-next{right:12px}
.contact-strip{gap:10px;display:flex;flex-wrap:wrap;margin-top:12px}
.contact-cell{border:2px solid transparent;transition:transform .15s ease,border-color .15s ease;overflow:hidden;aspect-ratio:3/4;flex:0 0 auto;padding:0;width:72px;box-shadow:var(--sd-sm);cursor:pointer;background:var(--panel-2);border-radius:var(--ro-sm)}
.contact-cell img{object-fit:cover;display:block;width:100%;height:100%}
.contact-cell:hover{transform:translateY(-2px)}
.contact-cell.ticked{border-color:var(--accent)}
.contact-col [hidden]{display:none!important}
.contact-reel{object-fit:contain;display:block;height:auto;background:#000201;width:100%;max-height:70vh}
.contact-cell--reel{position:relative}
.cityhall-label{margin-bottom:14px;font-family:var(--font-head);font-weight:800}
.cityhall-row{align-items:flex-start;font-size:.94rem;gap:10px;margin-top:10px;color:var(--ink-soft);display:flex}
.cityhall-row .pin{color:var(--accent);flex:none}
.cityhall-row .pin svg{height:16px;width:16px}
.times{gap:4px;display:grid;margin-top:10px}

.dm-dot{top:-3px;border-radius:var(--ro-pill);border:2px solid var(--panel);display:grid;right:-3px;color:var(--contrast);padding:0 6px;background:var(--heart);place-items:center;line-height:1;min-width:22px;position:absolute;font-size:.72rem;font-weight:800;height:22px;box-shadow:var(--sd-sm)}
.dm-dot[hidden]{display:none}
.breadcrumb li:not(:last-child)::after{margin-left:6px;color:var(--faint);content:"\00203a"}
.breadcrumb a{color:var(--ink-soft)}

@media (max-width:980px){
  .contacts-row{grid-template-columns:repeat(3,1fr)}
  .contact-row{grid-template-columns:1fr}
  .contact-frame{width:100%;max-width:380px;justify-self:start}
  .contact-sidebar{position:static}
  .post,.facts{grid-template-columns:1fr}
  .ground-row{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .core-nav{display:none}
  .hamburger{display:flex;position:fixed;top:22px;right:18px}
}
@media (min-width:861px){
  .sidebar-small,.nav-veil{display:none}
}
@media (max-width:600px){
  :root{--block-y:clamp(30px,7vw,48px);--edge-x:8px}
  .ground-row,.fld-row{grid-template-columns:1fr}
  .contacts-row{grid-template-columns:repeat(2,1fr);gap:5px}
  .contact-box{border-radius:var(--ro-sm)}
  .contact__body{padding:16px 10px}
  .action__zone{flex-direction:column;align-items:stretch;padding:32px 24px}
  .action__zone .btn{width:100%;white-space:normal}
  .query-request{flex-direction:column;border-radius:var(--ro-lg)}
  .query-request .btn{width:100%}
  .zone--contact{padding-top:0}
  .contact-frame img{aspect-ratio:1/1;max-height:46vh}
  .contact-row{margin-top:0}
  .contact-sidebar{display:flex;flex-direction:column;margin-top:14px}
  .contact-header{order:1;margin-top:0}
  .contact-mention{order:2}
  .contact-list{order:3;margin-top:16px;gap:10px}
  .contact-list .btn{flex:1 1 auto}
  .contact-strip{display:none}
  .contact-stats{order:4}
  .contact-sidebar .lead{order:5}
  .facts-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .stat{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .stat-pic{width:34px;height:34px}
  .stat-copy{min-width:0}
  .stat-copy dd{font-size:.92rem;overflow-wrap:anywhere}
}
