:root{
  --pinktint-100:#130b0d;
  --pinktint-200:#1a0d14;
  --pinktint-300:#280f1a;
  --pinktint-deep:#34121e;
  --lav:#150912;
  --lav-strong:#1d1221;

  --card:#1a0e16;
  --card-light:#21131f;
  --card-strong:#291b25;

  --accent:#f4347c;
  --accent-dark:#ff2c70;
  --flush:#fe4d5f;
  --flush-strong:#ff394f;
  --peach:#ff7c3b;
  --peach-strong:#fe6a27;
  --crimson:#ff3d4a;
  --periwinkle:#989fe1;

  --text:#f6eeef;
  --text-light:#b7a7b1;
  --quiet:#887b83;
  --divider:#382733;

  --inverse:#fdfdff;
  --light:#fdfdff;
  --success:#33c673;
  --divider-light:rgba(253,253,255,.07);
  --card-fill:rgba(20,9,16,.8);
  --veil:rgba(0,1,1,.62);
  --ft-fill:#0e0909;
  --ft:#c8bac4;
  --ft-strong:#f6eeef;
  --ft-light:#887c87;
  --ft-line:rgba(253,253,255,.08);

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

  --sh-sm:0 6px 16px -8px rgba(0,1,1,.55);
  --sh-md:0 18px 38px -18px rgba(0,1,1,.6);
  --sh-lg:0 30px 60px -24px rgba(0,1,1,.65);

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

  --maxw:1200px;
  --gutter:24px;
  --sy:clamp(56px,7vw,104px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  line-height:1.6;color:var(--text);margin:0;background:
    radial-gradient(1200px 700px at 85% -8%, var(--pinktint-300) 0%, transparent 55%),
    radial-gradient(900px 600px at -10% 8%, var(--lav) 0%, transparent 55%),
    linear-gradient(180deg, var(--pinktint-100) 0%, var(--card-light) 40%, var(--pinktint-100) 100%);
  font-family:var(--ff);
  -webkit-font-smoothing:antialiased;background-attachment:fixed;
}
img{display:block;max-width:100%}

.form{background:var(--card);border-radius:var(--ro-lg);box-shadow:var(--sh-md);border:1px solid var(--divider-light);padding:clamp(24px,3vw,40px)}
.formItem{margin-bottom:18px;display:grid;gap:7px}
.formItem label{font-weight:700;font-size:.92rem}

.formBox{max-width:640px}
.formEmpty{width:1px;overflow:hidden;position:absolute;height:1px;left:-9999px}

.markerChip{padding:8px 16px;display:inline-flex;background:var(--card);letter-spacing:.06em;font-weight:700;border:1px solid var(--divider);gap:8px;box-shadow:var(--sh-sm);font-size:.82rem;align-items:center;border-radius:var(--ro-pill);color:var(--accent)}
.markerChip svg{color:var(--flush);height:16px;width:16px}
.breadcrumb{gap:6px;flex-wrap:wrap;display:flex;margin-bottom:14px;font-size:.86rem;justify-content:flex-start;color:var(--quiet)}
.title,.linksA,.asideMobile a,.button,.breadcrumb a,.appBase a,.placesLinks a,.contactTalk{text-decoration:none}
.townHallLabel{font-family:var(--heading);font-weight:800;margin-bottom:14px}
.townHallEntry{color:var(--text-light);align-items:flex-start;font-size:.94rem;gap:10px;margin-top:10px;display:flex}
.townHallEntry .locator{flex:none;color:var(--accent)}
.townHallEntry .locator svg{width:16px;height:16px}
p{margin:0}
.breadcrumb li:not(:last-child)::after{color:var(--quiet);margin-left:6px;content:"\00203a"}
.breadcrumb a{color:var(--text-light)}
.hours{display:grid;gap:4px;margin-top:10px}

.viewBanner{padding-block:clamp(40px,6vw,80px) 20px}
.viewBanner h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.viewBanner p{font-size:1.08rem;margin:16px auto 0;color:var(--text-light)}
.inputEntry{grid-template-columns:1fr 1fr;display:grid;gap:18px}
.input{font-family:inherit;padding:13px 16px;width:100%;color:var(--text);transition:border-color .16s,box-shadow .16s;font-size:1rem;border-radius:var(--ro-sm);background:var(--card-light);border:1.5px solid var(--divider)}
.input:focus{box-shadow:0 0 0 3px rgba(236,77,152,.16);outline:none;border-color:var(--accent)}
textarea.input{resize:vertical;min-height:140px}
button{font-family:inherit}
.round{font-size:.6rem;line-height:1;color:var(--success)}
.editorialPara .button{margin-top:26px}
.bodyLinks{align-items:center;gap:8px;margin-left:auto;display:flex}
.linksA{color:var(--text);font-weight:600;border-radius:var(--ro-pill);font-size:.96rem;padding:9px 14px;transition:background .18s,color .18s}
.linksA:hover{background:var(--card-strong);color:var(--accent-dark)}
.linksSparkle{font-weight:600;text-decoration:none;display:inline-flex;padding:9px 12px;border:none;background:none;border-radius:var(--ro-pill);align-items:center;transition:background .18s ease,color .18s ease;cursor:pointer;font-size:.96rem;color:var(--text);gap:7px;position:relative}
.linksSparkle:hover{color:var(--accent-dark);background:var(--card-strong)}
.linksSparkle svg{width:20px;color:var(--accent);height:20px}
.linksSparkle:hover svg{color:var(--accent-dark)}
.linksSparklePara{white-space:nowrap}
.linksSparkle .talkMarker{top:auto;position:static;right:auto}
.linksSparkleMobile{border:none;text-align:left;display:flex;font-weight:600;align-items:center;gap:9px;border-bottom:1px solid var(--divider);text-decoration:none;background:none;padding:14px 2px;color:var(--text);cursor:pointer;font-size:15px;width:100%}
.linksSparkleMobile:hover{color:var(--accent-dark)}
.linksSparkleMobile svg{color:var(--accent);width:18px;height:18px}
.iconLit svg{stroke:none;fill:currentColor}

.talkMarker{place-items:center;line-height:1;min-width:22px;border-radius:var(--ro-pill);display:grid;position:absolute;height:22px;color:var(--inverse);border:2px solid var(--card);font-size:.72rem;box-shadow:var(--sh-sm);top:-3px;font-weight:800;padding:0 6px;background:var(--crimson);right:-3px}
.talkMarker[hidden]{display:none}
.linksBackdrop{inset:0;background:var(--veil);opacity:0;visibility:hidden;z-index:1090;position:fixed;transition:opacity .3s ease}
.linksBackdrop.active{opacity:1;visibility:visible}

.editorialBlock h1{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.editorialBlock h2{color:var(--accent-dark);font-size:1.35rem;font-weight:800;margin-top:34px}
.editorialBlock p{font-size:1.04rem;margin-top:14px;color:var(--text-light)}
.editorialBlock p a{font-weight:600}
.editorialBlock ul{gap:10px;display:grid;margin-top:14px}
.editorialBlock li{padding-left:24px;position:relative;color:var(--text-light)}
.editorialBlock li::before{position:absolute;height:10px;width:10px;left:0;border-radius:50%;content:"";top:.5em;background:var(--flush)}
.editorialQna>.wrap>h2{text-align:center;margin-bottom:28px}

.editorial{gap:clamp(28px,4vw,56px);display:grid;align-items:center;grid-template-columns:1fr 1fr}
.editorialPara>p:not(.topline){color:var(--text-light);margin-top:16px;font-size:1.04rem}
.editorialSecond{font-family:var(--heading);color:var(--accent-dark);font-size:1.1rem;font-weight:800;margin-top:22px}
.block{padding-block:var(--sy)}
.blockSecond{background:var(--card-strong)}

.contactsLayout{grid-template-columns:repeat(4,1fr);gap:22px;display:grid}

.stickyPromo{background:var(--card);border-radius:var(--ro-lg);right:22px;position:fixed;width:300px;max-width:calc(100vw - 44px);padding:20px;z-index:80;border:1px solid var(--divider-light);bottom:22px;box-shadow:var(--sh-lg)}
.stickyX{top:12px;border-radius:50%;cursor:pointer;right:12px;background:var(--card-strong);width:28px;display:grid;position:absolute;font-size:1.1rem;border:none;padding:0;line-height:1;color:var(--text-light);height:28px;place-items:center}
.stickyX:hover{background:var(--accent);color:var(--inverse)}
.stickyLabel{font-family:var(--heading);font-weight:800;font-size:1.04rem;padding-right:26px}
.stickyPara{color:var(--text-light);margin-top:4px;font-size:.86rem;margin-bottom:14px}
.stickyOpener{background:linear-gradient(135deg,var(--accent),var(--flush));justify-content:center;cursor:pointer;color:var(--inverse);right:22px;height:60px;box-shadow:var(--sh-lg);display:none;border-radius:50%;width:60px;border:none;bottom:22px;align-items:center;z-index:80;position:fixed}
.stickyOpener svg{fill:currentColor;stroke:none;width:26px;height:26px}

.appBase{background:var(--ft-fill);color:var(--ft)}
.appBase .wrap{padding-block:56px 22px}
.appBase a{color:var(--ft)}
.appBase a:hover{color:var(--ft-strong)}

.button{
  padding:14px 26px;border:1.5px solid transparent;gap:9px;align-items:center;
  white-space:nowrap;display:inline-flex;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);text-align:center;cursor:pointer;justify-content:center;
  font-size:1rem;
}
.button svg{width:18px;height:18px}
.buttonMini{padding:10px 18px;font-size:.9rem}
.buttonBig{padding:17px 32px;font-size:1.06rem}
.buttonBlock{width:100%}
.buttonPrimary{box-shadow:0 14px 26px -12px rgba(252,73,97,.77);background:linear-gradient(95deg,var(--peach),var(--flush) 55%,var(--accent));color:var(--inverse)}
.buttonPrimary:hover{transform:translateY(-2px);color:var(--inverse);box-shadow:0 20px 34px -12px rgba(252,73,97,.86)}
.buttonSoft{color:var(--accent);background:var(--card);border-color:var(--divider)}
.buttonSoft:hover{transform:translateY(-2px);color:var(--accent-dark);background:var(--card-strong)}
.buttonPlain{background:var(--light);color:var(--accent-dark)}
.buttonPlain:hover{transform:translateY(-2px);color:var(--accent-dark);box-shadow:var(--sh-md)}
::selection{background:rgba(236,77,152,.24)}
.reelWindow{display:block;height:100%;background:#000101;object-fit:cover;width:100%;pointer-events:none}
.reelRound{padding-left:2px;height:28px;pointer-events:none;box-shadow:var(--sh-sm);color:#fdfdff;top:50%;position:absolute;left:50%;display:grid;font-size:.64rem;background:rgba(0,1,1,.55);place-items:center;width:28px;border-radius:50%;transform:translate(-50%,-50%);line-height:1}
.reelMarker{padding:5px 9px;align-items:center;bottom:12px;display:inline-flex;gap:4px;font-weight:700;left:12px;position:absolute;font-size:.7rem;z-index:2;border-radius:var(--ro-pill);letter-spacing:.02em;background:rgba(0,1,1,.62);box-shadow:var(--sh-sm);color:#fdfdff}
.hook{font-size:1.06rem;margin-top:14px;color:var(--text-light)}
.contactSparkle{box-shadow:var(--sh-sm);color:var(--flush);width:36px;position:absolute;background:var(--card-fill);place-items:center;border-radius:50%;top:12px;z-index:2;border:none;right:12px;cursor:pointer;transition:transform .16s,background .16s,color .16s;height:36px;display:grid}
.contactSparkle svg{width:18px;height:18px}
.contactSparkle:hover{transform:scale(1.08)}
.contactSparkle.lit{background:var(--flush);color:var(--inverse)}
.contactSparkle.lit svg{fill:currentColor}
.contactWindowSparkle{height:46px;top:14px;right:14px;width:46px}
.contactWindowSparkle svg{width:21px;height:21px}
.contactIn{padding:16px 18px}
.contactLabel{font-family:var(--heading);font-weight:800;font-size:1.12rem}
.contactLabel a{outline-offset:3px;text-decoration:none;color:inherit}
.contactLabel a::after{z-index:1;position:absolute;content:"";inset:0}
.contactLabel span{font-weight:600;color:var(--quiet)}
.contactLoc{color:var(--text-light);margin-top:4px;align-items:center;display:flex;gap:6px;font-size:.88rem}
.contactLoc .locator svg{height:14px;color:var(--accent);width:14px}
.contactTalk{border-radius:var(--ro-pill);color:var(--inverse);gap:7px;background:linear-gradient(135deg,var(--accent),var(--flush));font-weight:700;font-size:.9rem;display:inline-flex;margin-top:12px;align-items:center;box-shadow:var(--sh-sm);z-index:2;justify-content:center;transition:transform .16s ease,box-shadow .16s ease;padding:9px 14px;position:relative;width:100%}
.contactTalk svg{height:16px;width:16px}
.contactTalk:hover{transform:translateY(-1px);box-shadow:var(--sh-md)}
.contactLayout{display:grid;align-items:start;gap:clamp(24px,4vw,52px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:22px}
.contactColumn{min-width:0}
.contactWindow{overflow:hidden;box-shadow:var(--sh-md);margin:0;border-radius:var(--ro-lg);position:relative;background:linear-gradient(160deg,var(--pinktint-200),var(--lav-strong))}
.contactWindow img{display:block;height:auto;aspect-ratio:4/5;width:100%;object-fit:cover}
.contactPager{z-index:2;transform:translateY(-50%);width:44px;display:grid;background:var(--card-fill);border-radius:50%;border:none;position:absolute;color:var(--accent-dark);box-shadow:var(--sh-md);place-items:center;height:44px;cursor:pointer;transition:transform .15s ease,background .15s ease;top:50%}
.contactPager:hover{transform:translateY(-50%) scale(1.07);background:var(--card-fill)}
.contactPager svg{height:22px;width:22px}
.contactPrev{left:12px}
.contactNext{right:12px}
.contactTrack{gap:10px;display:flex;flex-wrap:wrap;margin-top:12px}
.contactItem{transition:transform .15s ease,border-color .15s ease;overflow:hidden;cursor:pointer;aspect-ratio:3/4;border:2px solid transparent;padding:0;box-shadow:var(--sh-sm);flex:0 0 auto;border-radius:var(--ro-sm);width:72px;background:var(--card-strong)}
.contactItem img{width:100%;height:100%;object-fit:cover;display:block}
.contactItem:hover{transform:translateY(-2px)}
.contactItem.lit{border-color:var(--accent)}
.contactColumn [hidden]{display:none!important}
.contactReel{display:block;height:auto;background:#000101;width:100%;max-height:70vh;object-fit:contain}
.contactItemReel{position:relative}

.wrap{max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}
.baseLayout{grid-template-columns:1.6fr 1fr 1fr;display:grid;gap:40px}
.baseTitle{align-items:center;font-family:var(--heading);display:flex;font-weight:800;margin-bottom:12px;font-size:1.2rem;color:var(--ft-strong);gap:10px}
.baseColumn>p:not(.baseLabel){font-size:.94rem;color:var(--ft-light);max-width:34ch}
.baseLabel{margin-bottom:14px;font-size:1rem;font-weight:800;color:var(--ft-strong)}
.baseLinks{font-size:.94rem;display:grid;gap:10px}
.time{color:var(--text-light);font-size:.9rem;gap:12px;justify-content:space-between;display:flex}
.editorialBlock .breadcrumb{display:flex}.editorialBlock .breadcrumb li{padding-left:0}.editorialBlock .breadcrumb li::before{display:none}
.title{align-items:center;font-family:var(--heading);display:flex;letter-spacing:-.02em;color:var(--text);font-weight:800;font-size:1.28rem;gap:11px}
.title:hover{color:var(--text)}
.titleLogo{align-items:center;flex-shrink:0;width:42px;border-radius:14px;box-shadow:0 8px 18px -8px rgba(236,77,152,.79);background:linear-gradient(135deg,var(--accent),var(--flush) 55%,var(--peach));height:42px;justify-content:center;display:inline-flex;color:var(--inverse)}
.titleLogo svg{height:22px;width:22px}
.heading2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}
.pop{background:linear-gradient(92deg,var(--accent),var(--flush) 60%,var(--peach));-webkit-background-clip:text;color:transparent;background-clip:text}
.asideMobile{transition:right .3s ease;top:0;z-index:1100;max-width:320px;background:var(--card);height:100vh;padding:84px 22px 22px;right:-100%;box-shadow:-6px 0 30px rgba(44,39,46,.19);overflow-y:auto;position:fixed;height:100dvh;width:80%}
.asideMobile.active{right:0}
.asideMobile nav{flex-direction:column;display:flex}
.asideMobile a:not(.button){font-weight:600;color:var(--text);border-bottom:1px solid var(--divider);font-size:15px;padding:14px 2px}
.asideMobile a:not(.button):hover{color:var(--accent-dark)}
.asideMobile a.button{margin-top:22px}

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

.locateForm{gap:12px;display:flex;border-radius:var(--ro-pill);border:1px solid var(--divider-light);padding:12px;box-shadow:var(--sh-md);background:var(--card);margin:0 auto}
.locateForm .input{box-shadow:none;border:none;background:transparent;font-size:1.06rem}
.locateForm .input:focus{box-shadow:none}
.locateForm+.places{margin-top:40px}
.contactReelWatch{top:50%;border-radius:50%;width:78px;transform:translate(-50%,-50%);z-index:3;background:rgba(0,1,1,.49);line-height:1;transition:transform .15s ease,background .15s ease;border:none;padding-left:6px;font-size:1.9rem;color:#fdfdff;cursor:pointer;display:grid;height:78px;place-items:center;position:absolute;left:50%;box-shadow:var(--sh-md)}
.contactReelWatch:hover{background:rgba(0,1,1,.7);transform:translate(-50%,-50%) scale(1.07)}
.contactAside{position:sticky;top:96px}
.contactIntro{gap:12px;display:flex;flex-wrap:wrap;align-items:center;margin-top:14px}
.contactIntro .markerChip{flex:none}
.contactHook{font-family:var(--heading);line-height:1.1;font-weight:800;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.contactHook span{font-weight:600;color:var(--quiet);font-size:.62em}
.contactNote{font-size:1.02rem;gap:7px;color:var(--text-light);display:flex;margin-top:10px;align-items:center}
.contactNote .locator svg{width:18px;height:18px;color:var(--accent)}
.contactNote a{transition:border-color .15s ease;border-bottom:1px solid transparent;text-decoration:none;font-weight:600;color:var(--accent-dark)}
.contactNote a:hover{border-bottom-color:currentColor}
.contactFigures{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.contactAside .hook{margin-top:18px}
.contactItems{margin-top:24px;flex-wrap:wrap;gap:12px;display:flex}
.contactBox{transition:transform .2s ease,box-shadow .2s ease;border-radius:var(--ro-lg);box-shadow:var(--sh-md);position:relative;overflow:hidden;border:1px solid var(--divider-light);background:var(--card)}
.contactBox:hover{box-shadow:var(--sh-lg);transform:translateY(-6px)}
.contactFace{overflow:hidden;position:relative;aspect-ratio:1/1;background:linear-gradient(160deg,var(--pinktint-200),var(--lav-strong))}
.contactFace img{height:100%;display:block;width:100%;object-fit:cover}
.contactMarker{color:var(--success);align-items:center;display:inline-flex;gap:6px;position:absolute;top:12px;border-radius:var(--ro-pill);background:var(--card-fill);padding:5px 10px;box-shadow:var(--sh-sm);z-index:2;left:12px;font-weight:700;font-size:.72rem}
ul{margin:0;list-style:none;padding:0}

.appHead{border-bottom:1px solid var(--divider);z-index:60;background:var(--card);position:sticky;top:0}
.appHeadIn{justify-content:space-between;align-items:center;min-height:74px;display:flex;gap:20px;padding-block:12px}
:focus-visible{border-radius:6px;outline:3px solid var(--accent);outline-offset:2px}
.notice{padding-top:22px;border-top:1px solid var(--ft-line);margin-top:34px;font-size:.86rem;color:var(--ft-light)}
.topline{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:10px;font-weight:800;font-size:.8rem}

.promoBox{padding:clamp(38px,5vw,64px);gap:30px;justify-content:space-between;border-radius:var(--ro-xl);align-items:center;overflow:hidden;display:flex;position:relative;flex-wrap:wrap;color:var(--inverse);background:linear-gradient(100deg,var(--accent-dark),var(--flush) 60%,var(--peach));box-shadow:var(--sh-lg)}
.promoSplash{right:-90px;position:absolute;background:rgba(253,253,255,.1);border-radius:50%;width:320px;top:-120px;height:320px}
.promoPara{position:relative;z-index:2}
.promoPara h2{color:var(--inverse);max-width:16ch}
.promoPara p{margin-top:10px;max-width:46ch;color:rgba(253,253,255,.92)}
.promoBox .button{position:relative;z-index:2}
.breadcrumb a:hover{color:var(--accent-dark)}
.perksItems{margin-top:14px;gap:10px;display:grid}
.perksItems li{color:var(--text);padding-left:24px;position:relative}
.perksItems li::before{position:absolute;content:"";left:0;height:10px;top:.5em;background:var(--flush);border-radius:50%;width:10px}
svg{display:block}
figure{margin:0}

.places{flex-direction:column;gap:32px;display:flex}
.placesBlock h2{font-size:1.15rem;font-weight:800;margin-bottom:16px;color:var(--text)}
.placesLinks{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}
.placesLinks a{border:1px solid var(--divider);display:flex;box-shadow:var(--sh-sm);color:var(--text);transition:transform .14s,box-shadow .14s,color .14s;justify-content:space-between;font-size:.92rem;font-weight:600;align-items:center;background:var(--card);border-radius:var(--ro-md);gap:10px;padding:13px 16px}
.placesLinks a:hover{box-shadow:var(--sh-md);transform:translateY(-3px);color:var(--accent-dark)}
.placesLinks a .locator{color:var(--accent);place-items:center;display:grid;flex:none}
.placesLinks a .locator svg{width:16px;height:16px}
.sectionHead{margin:0 auto 44px;max-width:640px;text-align:center}

.navToggle{gap:5px;z-index:1105;cursor:pointer;background:none;padding:6px;display:none;flex-direction:column;border:none}
.navToggle span{height:3px;display:block;transition:transform .3s ease,opacity .3s ease;background:var(--text);border-radius:2px;width:26px}
.navToggle.active span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.navToggle.active span:nth-child(2){opacity:0}
.navToggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.qnaItem{box-shadow:var(--sh-sm);margin-bottom:14px;border-radius:var(--ro-md);background:var(--card);overflow:hidden;border:1px solid var(--divider)}
.qnaItem summary{font-family:var(--heading);list-style:none;color:var(--text);display:flex;font-weight:800;gap:16px;font-size:1.05rem;cursor:pointer;align-items:center;padding:20px 22px;justify-content:space-between}
.qnaItem summary::-webkit-details-marker{display:none}
.qnaItem summary::after{width:30px;display:grid;font-size:1.2rem;height:30px;place-items:center;content:"+";transition:transform .25s ease;background:var(--card-strong);border-radius:50%;flex:none;color:var(--accent)}
.qnaItem[open] summary::after{transform:rotate(45deg);background:var(--accent);color:var(--inverse)}
.qnaReply{color:var(--text-light);padding:0 22px 20px}

.empty{padding-block:clamp(60px,10vw,140px);text-align:center}
.emptyRank{line-height:.9;font-family:var(--heading);font-weight:800;font-size:clamp(6rem,20vw,13rem)}
.emptyBlock{flex-wrap:wrap;gap:14px;justify-content:center;display:flex;margin-top:30px}
.locateBox{background:var(--lav);position:relative;aspect-ratio:4/3;border-radius:var(--ro-lg);border:1px solid var(--divider-light);box-shadow:var(--sh-md);overflow:hidden}
.locateBox.locateAsync{cursor:pointer}
.locateEmpty{background:linear-gradient(160deg,var(--lav-strong),var(--card-strong));display:grid;text-align:center;gap:10px;place-items:center;position:absolute;padding:20px;inset:0}
.locateEmpty p{color:var(--text);font-weight:700}
.locateLocator{filter:drop-shadow(0 10px 12px rgba(252,73,97,.49));color:var(--flush)}
.locateLocator svg{height:40px;width:40px;stroke:none;fill:currentColor}
.locateBox iframe{height:100%;width:100%;inset:0;border:0;position:absolute}
.locateBox.isReady .locateEmpty{display:none}
h1,h2,h3,h4{font-family:var(--heading);letter-spacing:-.01em;color:var(--text);margin:0;line-height:1.12}
.figure{align-items:center;background:var(--card);box-shadow:var(--sh-sm);gap:12px;padding:14px 16px;border-radius:var(--ro-md);display:flex;border:1px solid var(--divider-light)}
.figureIcon{flex:none;color:var(--accent);display:grid;height:40px;width:40px;border-radius:12px;place-items:center;background:var(--card-strong)}
.figureIcon svg{height:18px;width:18px}
.figurePara dt{font-size:.78rem;letter-spacing:.05em;color:var(--quiet);text-transform:uppercase}
.figurePara dd{font-family:var(--heading);font-weight:800;font-size:.98rem;margin:2px 0 0}
.infosTownHall{border-radius:var(--ro-lg);box-shadow:var(--sh-md);border:1px solid var(--divider-light);background:var(--card);padding:24px}
.formNote{font-weight:700}
.formNoteLit{color:var(--success)}
.formNoteHidden{color:var(--accent-dark)}

@media (max-width:980px){
  .contactsLayout{grid-template-columns:repeat(3,1fr)}
  .contactLayout{grid-template-columns:1fr}
  .contactWindow{width:100%;max-width:380px;justify-self:start}
  .contactAside{position:static}
  .editorial,.infos{grid-template-columns:1fr}
  .baseLayout{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .bodyLinks{display:none}
  .navToggle{display:flex;position:fixed;top:22px;right:18px}
}
@media (min-width:861px){
  .asideMobile,.linksBackdrop{display:none}
}
@media (max-width:600px){
  :root{--sy:clamp(30px,7vw,48px)}
  .baseLayout,.inputEntry{grid-template-columns:1fr}
  .contactsLayout{grid-template-columns:repeat(2,1fr);gap:12px}
  .contactIn{padding:16px 10px}
  .promoBox{flex-direction:column;align-items:stretch;padding:32px 24px}
  .promoBox .button{width:100%;white-space:normal}
  .locateForm{flex-direction:column;border-radius:var(--ro-lg)}
  .locateForm .button{width:100%}
  .blockContact{padding-top:0}
  .contactWindow img{aspect-ratio:1/1;max-height:46vh}
  .contactLayout{margin-top:0}
  .contactAside{display:flex;flex-direction:column;margin-top:14px}
  .contactIntro{order:1;margin-top:0}
  .contactNote{order:2}
  .contactItems{order:3;margin-top:16px;gap:10px}
  .contactItems .button{flex:1 1 auto}
  .contactTrack{display:none}
  .contactFigures{order:4}
  .contactAside .hook{order:5}
  .infosFigures{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .figure{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .figureIcon{width:34px;height:34px}
  .figurePara{min-width:0}
  .figurePara dd{font-size:.92rem;overflow-wrap:anywhere}
}
