:root{
  --u-blush-100:#fdf0f3;
  --u-blush-200:#fbdde7;
  --u-blush-300:#fac5db;
  --u-blush-deep:#f5a5ca;
  --u-lavender:#e8e5f8;
  --u-lavender-deep:#d8daf7;

  --u-panel:#fffeff;
  --u-panel-soft:#fdf2f7;
  --u-panel-deep:#fee7f0;

  --u-rose:#ee4f96;
  --u-rose-active:#df2d7c;
  --u-flush:#fa5d74;
  --u-flush-deep:#fb4c64;
  --u-tangerine:#fd783c;
  --u-tangerine-deep:#f76923;
  --u-crimson:#fe4e5f;
  --u-indigo:#c9cbf3;

  --u-copy:#2b262e;
  --u-copy-soft:#6a6474;
  --u-subtle:#9a939f;
  --u-divider:#f3d6e2;

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

  --u-elev-sm:0 6px 16px -8px rgba(238,79,150,.35);
  --u-elev-md:0 18px 38px -18px rgba(238,79,150,.4);
  --u-elev-lg:0 30px 60px -24px rgba(223,45,124,.4);

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

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

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--u-sans);line-height:1.6;background:
    radial-gradient(1200px 700px at 85% -8%, var(--u-blush-300) 0%, rgba(250,197,219,0) 55%),
    radial-gradient(900px 600px at -10% 8%, var(--u-lavender) 0%, rgba(232,229,248,0) 55%),
    linear-gradient(180deg, var(--u-blush-100) 0%, var(--u-panel-soft) 40%, var(--u-blush-100) 100%);margin:0;
  -webkit-font-smoothing:antialiased;
  color:var(--u-copy);background-attachment:fixed;
}
img{display:block;max-width:100%}

.contacts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
p{margin:0}
.accent{background:linear-gradient(92deg,var(--u-rose),var(--u-flush) 60%,var(--u-tangerine));color:transparent;-webkit-background-clip:text;background-clip:text}
.round{font-size:.6rem;color:#31ae68;line-height:1}
.pic-lit svg{stroke:none;fill:currentColor}
.links-a{transition:background .18s,color .18s;font-weight:600;border-radius:var(--u-radius-pill);padding:9px 14px;color:var(--u-copy);font-size:.96rem}
.links-a:hover{color:var(--u-rose-active);background:var(--u-panel-deep)}
.links-star{text-decoration:none;padding:9px 12px;border:none;gap:7px;transition:background .18s ease,color .18s ease;align-items:center;display:inline-flex;border-radius:var(--u-radius-pill);cursor:pointer;font-weight:600;background:none;font-size:.96rem;position:relative;color:var(--u-copy)}
.links-star:hover{background:var(--u-panel-deep);color:var(--u-rose-active)}
.links-star svg{width:20px;color:var(--u-rose);height:20px}
.links-star:hover svg{color:var(--u-rose-active)}
.links-star-text{white-space:nowrap}
.links-star .chat-flag{top:auto;position:static;right:auto}
.links-star-mob{width:100%;background:none;padding:14px 2px;color:var(--u-copy);text-align:left;cursor:pointer;align-items:center;border:none;font-weight:600;display:flex;text-decoration:none;font-size:15px;border-bottom:1px solid var(--u-divider);gap:9px}
.links-star-mob:hover{color:var(--u-rose-active)}
.links-star-mob svg{color:var(--u-rose);height:18px;width:18px}
.links-backdrop{inset:0;transition:opacity .3s ease;background:rgba(43,38,46,.48);opacity:0;visibility:hidden;z-index:1090;position:fixed}
.links-backdrop.shown{visibility:visible;opacity:1}
svg{display:block}
.chat{overflow:hidden;border-radius:var(--u-radius-lg);box-shadow:var(--u-elev-lg);display:flex;flex-direction:column;border:1px solid rgba(255,254,255,.88);max-width:600px;background:var(--u-panel);margin:0 auto}
.chat-header{background:var(--u-panel);align-items:center;padding:15px 20px;border-bottom:1px solid var(--u-divider);display:flex;gap:14px}
.chat-col{align-items:center;display:flex;flex:1;gap:12px;min-width:0;color:inherit;text-decoration:none}
.chat-face{border-radius:50%;background:linear-gradient(160deg,var(--u-blush-200),var(--u-lavender-deep));width:52px;height:52px;position:relative;box-shadow:var(--u-elev-sm);overflow:hidden;flex:none}
.chat-face img{height:100%;object-fit:cover;width:100%}
.chat-face::after{width:13px;height:13px;background:#31ae68;right:1px;border-radius:50%;bottom:1px;content:"";border:2px solid var(--u-panel);position:absolute}
.chat-label{line-height:1.15;display:block;color:var(--u-copy);font-family:var(--u-heading);font-weight:800;font-size:1.06rem}
.chat-label span{font-weight:600;color:var(--u-subtle);font-size:.84em}
.chat-tagline{margin-top:2px;display:block;color:var(--u-copy-soft);font-size:.82rem}
.chat-header .flag-pill{flex:none}
.chat-header .flag-pill .round{color:#31ae68}
.chat-band{max-height:56vh;overflow-y:auto;flex-direction:column;display:flex;background:linear-gradient(180deg,var(--u-panel-soft),var(--u-blush-100));min-height:360px;gap:12px;padding:24px 20px}
.chat-empty{align-self:center;margin:auto 0;text-align:center;color:var(--u-subtle);font-size:.92rem}
.chat-unit{display:flex;max-width:82%;align-self:flex-start}
.chat-unit[hidden]{display:none}
.chat-unit-inv{justify-content:flex-end;align-self:flex-end}
.chat-box{position:relative;word-break:break-word;box-shadow:var(--u-elev-sm);color:var(--u-copy);padding:11px 15px 8px;border:1px solid var(--u-divider);background:var(--u-panel);border-radius:20px;line-height:1.5;font-size:.98rem;border-bottom-left-radius:7px}
.chat-unit-inv .chat-box{border-color:transparent;border-radius:20px;border-bottom-right-radius:7px;background:linear-gradient(135deg,var(--u-flush),var(--u-rose));color:#fffeff}
.chat-when{text-align:right;margin-top:4px;color:var(--u-subtle);display:block;font-size:.66rem}
.chat-unit-inv .chat-when{color:rgba(255,254,255,.81)}
.chat-defer{display:inline-flex;padding:15px 17px;gap:5px;align-items:center}
.chat-defer span{width:8px;animation:bobble 1.2s infinite ease-in-out;height:8px;border-radius:50%;background:var(--u-blush-deep)}
.chat-defer span:nth-child(2){animation-delay:.18s}
.chat-defer span:nth-child(3){animation-delay:.36s}

.inner{margin-inline:auto;max-width:var(--u-maxw);padding-inline:var(--u-gutter)}
h1,h2,h3,h4{color:var(--u-copy);margin:0;font-family:var(--u-heading);letter-spacing:-.01em;line-height:1.12}
.brand,.links-a,.aside-mob a,.button,.trail a,.web-bottombar a,.zones-menu a,.contact-chat{text-decoration:none}

.block.chat-doc{padding-block:clamp(18px,3vw,38px)}
.eyebrow{font-weight:800;letter-spacing:.1em;font-size:.8rem;color:var(--u-rose);text-transform:uppercase;margin-bottom:10px}
.contact-star{top:12px;background:rgba(255,254,255,.93);transition:transform .16s,background .16s,color .16s;box-shadow:var(--u-elev-sm);color:var(--u-flush);cursor:pointer;border-radius:50%;height:36px;display:grid;position:absolute;border:none;place-items:center;right:12px;z-index:2;width:36px}
.contact-star svg{width:18px;height:18px}
.contact-star:hover{transform:scale(1.08)}
.contact-star.lit{background:var(--u-flush);color:#fffeff}
.contact-star.lit svg{fill:currentColor}
.contact-view-star{height:46px;width:46px;top:14px;right:14px}
.contact-view-star svg{width:21px;height:21px}
.contact-body{padding:16px 18px}
.contact-label{font-family:var(--u-heading);font-weight:800;font-size:1.12rem}
.contact-label a{outline-offset:3px;color:inherit;text-decoration:none}
.contact-label a::after{content:"";position:absolute;z-index:1;inset:0}
.contact-label span{color:var(--u-subtle);font-weight:600}
.contact-place{gap:6px;font-size:.88rem;margin-top:4px;display:flex;color:var(--u-copy-soft);align-items:center}
.contact-place .locator svg{color:var(--u-rose);height:14px;width:14px}
.contact-chat{padding:9px 14px;margin-top:12px;background:linear-gradient(135deg,var(--u-rose),var(--u-flush));font-weight:700;z-index:2;display:inline-flex;transition:transform .16s ease,box-shadow .16s ease;position:relative;justify-content:center;align-items:center;border-radius:var(--u-radius-pill);font-size:.9rem;width:100%;color:#fffeff;gap:7px;box-shadow:var(--u-elev-sm)}
.contact-chat svg{height:16px;width:16px}
.contact-chat:hover{transform:translateY(-1px);box-shadow:var(--u-elev-md)}
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid;margin-top:22px;gap:clamp(24px,4vw,52px);align-items:start}
.contact-col{min-width:0}
.contact-view{margin:0;box-shadow:var(--u-elev-md);border-radius:var(--u-radius-lg);background:linear-gradient(160deg,var(--u-blush-200),var(--u-lavender-deep));position:relative;overflow:hidden}
.contact-view img{height:auto;width:100%;object-fit:cover;aspect-ratio:4/5;display:block}
.contact-nav{transform:translateY(-50%);z-index:2;place-items:center;display:grid;width:44px;border-radius:50%;top:50%;transition:transform .15s ease,background .15s ease;background:rgba(255,254,255,.93);height:44px;border:none;position:absolute;box-shadow:var(--u-elev-md);cursor:pointer;color:var(--u-rose-active)}
.contact-nav:hover{transform:translateY(-50%) scale(1.07);background:#fffeff}
.contact-nav svg{height:22px;width:22px}
.contact-back{left:12px}
.contact-next{right:12px}
.contact-band{gap:10px;margin-top:12px;display:flex;flex-wrap:wrap}
.contact-unit{background:var(--u-panel-deep);padding:0;transition:transform .15s ease,border-color .15s ease;border:2px solid transparent;cursor:pointer;width:72px;overflow:hidden;box-shadow:var(--u-elev-sm);aspect-ratio:3/4;flex:0 0 auto;border-radius:var(--u-radius-sm)}
.contact-unit img{object-fit:cover;display:block;width:100%;height:100%}
.contact-unit:hover{transform:translateY(-2px)}
.contact-unit.lit{border-color:var(--u-rose)}
.contact-aside{top:96px;position:sticky}
.contact-header{align-items:center;margin-top:14px;display:flex;flex-wrap:wrap;gap:12px}
.contact-header .flag-pill{flex:none}
.contact-lead{font-family:var(--u-heading);font-weight:800;line-height:1.1;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.contact-lead span{font-weight:600;color:var(--u-subtle);font-size:.62em}
.contact-hint{display:flex;font-size:1.02rem;margin-top:10px;gap:7px;color:var(--u-copy-soft);align-items:center}
.contact-hint .locator svg{width:18px;height:18px;color:var(--u-rose)}
.contact-hint a{border-bottom:1px solid transparent;color:var(--u-rose-active);text-decoration:none;transition:border-color .15s ease;font-weight:600}
.contact-hint a:hover{border-bottom-color:currentColor}
.contact-facts{gap:8px;flex-wrap:wrap;margin-top:16px;display:flex}
.contact-aside .lead{margin-top:18px}
.contact-items{gap:12px;flex-wrap:wrap;margin-top:24px;display:flex}
ul{list-style:none;margin:0;padding:0}
.core-links{align-items:center;display:flex;gap:8px;margin-left:auto}

.web-appbar{z-index:60;position:sticky;border-bottom:1px solid var(--u-divider);background:var(--u-panel);top:0}
.web-appbar-body{min-height:74px;display:flex;gap:20px;padding-block:12px;align-items:center;justify-content:space-between}
::selection{background:rgba(238,79,150,.21)}
.block{padding-block:var(--u-sy)}
.block-inv{background:var(--u-panel-deep)}
.contact-box{box-shadow:var(--u-elev-md);border-radius:var(--u-radius-lg);background:var(--u-panel);overflow:hidden;position:relative;border:1px solid rgba(255,254,255,.88);transition:transform .2s ease,box-shadow .2s ease}
.contact-box:hover{box-shadow:var(--u-elev-lg);transform:translateY(-6px)}
.contact-face{background:linear-gradient(160deg,var(--u-blush-200),var(--u-lavender-deep));position:relative;aspect-ratio:1/1;overflow:hidden}
.contact-face img{height:100%;width:100%;display:block;object-fit:cover}
.contact-flag{position:absolute;padding:5px 10px;border-radius:var(--u-radius-pill);top:12px;left:12px;background:rgba(255,254,255,.93);gap:6px;box-shadow:var(--u-elev-sm);display:inline-flex;z-index:2;color:#31ae68;align-items:center;font-weight:700;font-size:.72rem}
.brand{gap:11px;font-family:var(--u-heading);letter-spacing:-.02em;align-items:center;display:flex;color:var(--u-copy);font-weight:800;font-size:1.28rem}
.brand:hover{color:var(--u-copy)}
.brand-pic{justify-content:center;display:inline-flex;height:42px;align-items:center;color:#fffeff;background:linear-gradient(135deg,var(--u-rose),var(--u-flush) 55%,var(--u-tangerine));box-shadow:0 8px 18px -8px rgba(238,79,150,.81);border-radius:14px;flex-shrink:0;width:42px}
.brand-pic svg{height:22px;width:22px}

.hamburger{z-index:1105;padding:6px;display:none;border:none;cursor:pointer;flex-direction:column;background:none;gap:5px}
.hamburger span{transition:transform .3s ease,opacity .3s ease;background:var(--u-copy);display:block;width:26px;height:3px;border-radius:2px}
.hamburger.shown span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.hamburger.shown span:nth-child(2){opacity:0}
.hamburger.shown span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
button{font-family:inherit}
.trail a:hover{color:var(--u-rose-active)}
.heading-2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}

.button{
  border:1.5px solid transparent;font-weight:700;display:inline-flex;text-align:center;
  padding:14px 26px;font-size:1rem;justify-content:center;white-space:nowrap;
  gap:9px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;align-items:center;cursor:pointer;
  border-radius:var(--u-radius-pill);
}
.button svg{height:18px;width:18px}
.button-mini{font-size:.9rem;padding:10px 18px}
.button-lg{padding:17px 32px;font-size:1.06rem}
.button-wide{width:100%}
.button-cta{color:#fffeff;background:linear-gradient(95deg,var(--u-tangerine),var(--u-flush) 55%,var(--u-rose));box-shadow:0 14px 26px -12px rgba(251,76,100,.76)}
.button-cta:hover{box-shadow:0 20px 34px -12px rgba(251,76,100,.84);color:#fffeff;transform:translateY(-2px)}
.button-ghost{color:var(--u-rose);background:var(--u-panel);border-color:var(--u-divider)}
.button-ghost:hover{color:var(--u-rose-active);transform:translateY(-2px);background:var(--u-panel-deep)}
.button-white{background:#fffeff;color:var(--u-rose-active)}
.button-white:hover{color:var(--u-rose-active);box-shadow:var(--u-elev-md);transform:translateY(-2px)}
.lead{font-size:1.06rem;margin-top:14px;color:var(--u-copy-soft)}

.flag-pill{color:var(--u-rose);gap:8px;align-items:center;box-shadow:var(--u-elev-sm);display:inline-flex;font-weight:700;background:var(--u-panel);border:1px solid var(--u-divider);letter-spacing:.06em;border-radius:var(--u-radius-pill);padding:8px 16px;font-size:.82rem}
.flag-pill svg{color:var(--u-flush);width:16px;height:16px}
.head-zone{max-width:640px;margin:0 auto 44px;text-align:center}
:focus-visible{border-radius:6px;outline:3px solid var(--u-rose);outline-offset:2px}
figure{margin:0}
.aside-mob{top:0;height:100vh;overflow-y:auto;height:100dvh;z-index:1100;transition:right .3s ease;background:var(--u-panel);right:-100%;max-width:320px;position:fixed;width:80%;padding:84px 22px 22px;box-shadow:-6px 0 30px rgba(43,38,46,.2)}
.aside-mob.shown{right:0}
.aside-mob nav{flex-direction:column;display:flex}
.aside-mob a:not(.button){color:var(--u-copy);font-weight:600;padding:14px 2px;font-size:15px;border-bottom:1px solid var(--u-divider)}
.aside-mob a:not(.button):hover{color:var(--u-rose-active)}
.aside-mob a.button{margin-top:22px}
@keyframes bobble{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}
.chat-ask{border-top:1px solid var(--u-divider);display:flex;align-items:center;padding:12px 16px;background:var(--u-panel);gap:10px}
.chat-fld{flex:1;border:1.5px solid var(--u-divider);background:var(--u-panel-soft);border-radius:var(--u-radius-pill);font-family:inherit;padding:12px 16px;min-width:0;transition:border-color .16s,box-shadow .16s;font-size:1rem;color:var(--u-copy)}
.chat-fld:focus{outline:none;box-shadow:0 0 0 3px rgba(238,79,150,.13);border-color:var(--u-rose)}
.chat-button{transition:transform .15s ease,opacity .15s ease;color:#fffeff;flex:none;background:linear-gradient(135deg,var(--u-flush),var(--u-rose));place-items:center;border-radius:50%;display:grid;cursor:pointer;height:46px;box-shadow:0 10px 20px -10px rgba(251,76,100,.81);width:46px;border:none}
.chat-button:hover{transform:translateY(-2px)}
.chat-button:disabled{opacity:.5;transform:none;cursor:default}
.chat-button svg{height:18px;width:18px;stroke:none;fill:currentColor}
.chat-hint{text-align:center;color:var(--u-subtle);font-size:.8rem;padding:2px 20px 16px}
.chat-backdrop{background:var(--u-panel);display:none;gap:14px;text-align:center;border-top:1px solid var(--u-divider);padding:20px 22px 24px;align-items:center;flex-direction:column}
.chat-backdrop-text{font-size:.94rem;line-height:1.5;max-width:440px;margin:0;color:var(--u-copy-soft)}
.chat-dialog{-webkit-backdrop-filter:blur(3px);position:fixed;z-index:130;align-items:center;justify-content:center;inset:0;backdrop-filter:blur(3px);padding:20px;background:rgba(26,12,26,.53);display:none}
.chat-dialog-box{border:1px solid var(--u-divider);max-width:420px;text-align:center;padding:32px 26px 28px;border-radius:22px;background:var(--u-panel);box-shadow:var(--u-elev-lg);position:relative;width:100%}
.chat-dialog-close{font-size:1.6rem;top:10px;position:absolute;color:var(--u-subtle);right:14px;cursor:pointer;background:none;border:none;padding:0;line-height:1}
.chat-dialog-label{font-family:var(--u-heading);margin:0 0 10px;font-weight:800;color:var(--u-copy);font-size:1.22rem}
.chat-dialog-text{margin:0 0 20px;font-size:.96rem;color:var(--u-copy-soft);line-height:1.5}
.chat-quick{color:#fffeff;background:linear-gradient(135deg,var(--u-rose),var(--u-flush));right:22px;text-decoration:none;box-shadow:var(--u-elev-lg);height:60px;position:fixed;transition:transform .16s ease;place-items:center;z-index:80;bottom:22px;display:grid;border-radius:50%;width:60px}
.chat-quick[hidden]{display:none}
.chat-quick:hover{transform:translateY(-2px)}
.chat-quick svg{width:26px;height:26px}
.chat-flag{font-size:.72rem;padding:0 6px;background:var(--u-crimson);min-width:22px;display:grid;color:#fffeff;top:-3px;box-shadow:var(--u-elev-sm);line-height:1;height:22px;right:-3px;border-radius:var(--u-radius-pill);border:2px solid var(--u-panel);place-items:center;position:absolute;font-weight:800}
.chat-flag[hidden]{display:none}
.chat-quick-wide{gap:9px;padding:14px 22px;display:inline-flex;align-items:center;border-radius:var(--u-radius-pill);height:auto;width:auto}
.chat-quick-wide svg{height:20px;width:20px}
.chat-quick-text{font-family:var(--u-heading);white-space:nowrap;font-weight:800;font-size:.98rem}
.chat-menu{flex-direction:column;margin-top:4px;overflow-y:auto;gap:4px;display:flex;max-height:52vh}
.chat-line{padding:9px 8px;border-radius:var(--u-radius-sm);gap:11px;text-decoration:none;align-items:center;transition:background .14s ease;display:flex;color:var(--u-copy)}
.chat-line:hover{background:var(--u-panel-deep)}
.chat-pic{background:linear-gradient(160deg,var(--u-blush-200),var(--u-lavender-deep));border-radius:50%;flex:none;overflow:hidden;width:42px;height:42px}
.chat-pic img{width:100%;object-fit:cover;height:100%}
.chat-body{min-width:0;flex:1}
.chat-body strong{font-family:var(--u-heading);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.96rem;font-weight:800}
.chat-body span{overflow:hidden;color:var(--u-copy-soft);font-size:.82rem;display:block;white-space:nowrap;text-overflow:ellipsis}
.chat-line small{flex:none;color:var(--u-subtle);font-size:.7rem;align-self:flex-start}
.leave-modal{position:fixed;align-items:center;z-index:1200;display:none;inset:0;justify-content:center;padding:20px;background:rgba(43,38,46,.53);backdrop-filter:blur(3px)}
.leave-modal.is-on{display:flex}
.leave-modal-box{grid-template-columns:.82fr 1fr;color:var(--u-copy);display:grid;width:100%;background:var(--u-panel);max-width:860px;box-shadow:var(--u-elev-lg);overflow:hidden;border-radius:var(--u-radius-xl);position:relative}
.leave-modal-aside{position:relative;display:flex;align-items:flex-start;flex-direction:column;padding:clamp(24px,4vw,40px);color:#fffeff;background:linear-gradient(160deg,var(--u-rose),var(--u-flush) 60%,var(--u-tangerine));overflow:hidden;gap:8px;justify-content:center}
.leave-modal-aside::after{content:"";right:-28%;height:86%;width:86%;border-radius:50%;bottom:-28%;position:absolute;border:20px solid rgba(255,254,255,.12)}
.leave-modal-aside img{border-radius:var(--u-radius-lg);width:100%;border:3px solid rgba(255,254,255,.48);box-shadow:var(--u-elev-md);aspect-ratio:3/4;max-width:200px;position:relative;object-fit:cover}
.leave-modal-aside .pic-lit svg{width:64px;stroke:none;fill:currentColor;height:64px}
.leave-modal-aside p{font-size:1rem;position:relative;font-weight:700;max-width:200px}
.leave-modal-no{font-family:var(--u-heading);position:relative;font-weight:800;line-height:.85;font-size:clamp(52px,8vw,88px)}
.leave-modal-core{position:relative;padding:clamp(24px,4vw,40px)}
.leave-modal-core .lead{margin-top:10px}
.leave-modal-core .button{margin-top:20px}
.leave-modal-core .chat-menu{margin-top:18px;max-height:236px}
.leave-modal-close{z-index:2;position:absolute;color:var(--u-subtle);top:14px;border-radius:50%;width:38px;cursor:pointer;right:14px;border:1px solid var(--u-divider);padding:0;background:var(--u-panel);place-items:center;display:grid;height:38px}
.leave-modal-close svg{height:15px;width:15px}
.leave-modal-close:hover{color:#fffeff;background:var(--u-rose);border-color:transparent}
.leave-modal-later{font-size:.84rem;border:0;cursor:pointer;max-width:100%;width:fit-content;display:block;color:var(--u-subtle);text-decoration:underline;margin:14px 0 0;background:none}
@media (max-width:600px){.leave-modal{padding:12px}.leave-modal-box{grid-template-columns:1fr}.leave-modal-aside{display:none}.leave-modal-core{padding:26px 22px}.leave-modal-core .button{width:100%}}

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

.zones{gap:32px;display:flex;flex-direction:column}
.zones-part h2{font-size:1.15rem;font-weight:800;color:var(--u-copy);margin-bottom:16px}
.zones-menu{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}
.zones-menu a{justify-content:space-between;font-size:.92rem;align-items:center;color:var(--u-copy);transition:transform .14s,box-shadow .14s,color .14s;display:flex;background:var(--u-panel);border:1px solid var(--u-divider);padding:13px 16px;font-weight:600;gap:10px;border-radius:var(--u-radius-md);box-shadow:var(--u-elev-sm)}
.zones-menu a:hover{box-shadow:var(--u-elev-md);transform:translateY(-3px);color:var(--u-rose-active)}
.zones-menu a .locator{display:grid;place-items:center;color:var(--u-rose);flex:none}
.zones-menu a .locator svg{height:16px;width:16px}
.notice{font-size:.86rem;color:#a9a0af;border-top:1px solid rgba(255,254,255,.09);margin-top:34px;padding-top:22px}

.quick-promo{border-radius:var(--u-radius-lg);box-shadow:var(--u-elev-lg);position:fixed;max-width:calc(100vw - 44px);padding:20px;background:#fffeff;right:22px;border:1px solid rgba(255,254,255,.88);width:300px;z-index:80;bottom:22px}
.quick-close{background:var(--u-panel-deep);display:grid;cursor:pointer;padding:0;position:absolute;top:12px;border-radius:50%;width:28px;font-size:1.1rem;line-height:1;right:12px;color:var(--u-copy-soft);height:28px;place-items:center;border:none}
.quick-close:hover{background:var(--u-rose);color:#fffeff}
.quick-label{padding-right:26px;font-family:var(--u-heading);font-weight:800;font-size:1.04rem}
.quick-text{margin-top:4px;font-size:.86rem;margin-bottom:14px;color:var(--u-copy-soft)}
.quick-tab{border-radius:50%;border:none;cursor:pointer;position:fixed;z-index:80;box-shadow:var(--u-elev-lg);right:22px;height:60px;align-items:center;display:none;bottom:22px;width:60px;background:linear-gradient(135deg,var(--u-rose),var(--u-flush));justify-content:center;color:#fffeff}
.quick-tab svg{width:26px;stroke:none;height:26px;fill:currentColor}
.perks-items{display:grid;margin-top:14px;gap:10px}
.perks-items li{position:relative;padding-left:24px;color:var(--u-copy)}
.perks-items li::before{background:var(--u-flush);height:10px;width:10px;position:absolute;left:0;top:.5em;content:"";border-radius:50%}
.times{margin-top:10px;gap:4px;display:grid}
.read-text .button{margin-top:26px}
.cityhall-label{font-family:var(--u-heading);font-weight:800;margin-bottom:14px}
.cityhall-line{color:var(--u-copy-soft);gap:10px;font-size:.94rem;margin-top:10px;display:flex;align-items:flex-start}
.cityhall-line .locator{color:var(--u-rose);flex:none}
.cityhall-line .locator svg{width:16px;height:16px}
.fact{box-shadow:var(--u-elev-sm);border-radius:var(--u-radius-md);background:var(--u-panel);align-items:center;border:1px solid rgba(255,254,255,.88);display:flex;padding:14px 16px;gap:12px}
.fact-pic{place-items:center;background:var(--u-panel-deep);width:40px;flex:none;height:40px;display:grid;border-radius:12px;color:var(--u-rose)}
.fact-pic svg{height:18px;width:18px}
.fact-text dt{font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--u-subtle)}
.fact-text dd{font-family:var(--u-heading);font-weight:800;font-size:.98rem;margin:2px 0 0}
.locate-box{box-shadow:var(--u-elev-md);background:var(--u-lavender);position:relative;aspect-ratio:4/3;border-radius:var(--u-radius-lg);border:1px solid rgba(255,254,255,.88);overflow:hidden}
.locate-box.locate-defer{cursor:pointer}
.locate-empty{text-align:center;padding:20px;inset:0;place-items:center;background:linear-gradient(160deg,var(--u-lavender-deep),var(--u-panel-deep));display:grid;gap:10px;position:absolute}
.locate-empty p{font-weight:700;color:var(--u-copy)}
.locate-locator{filter:drop-shadow(0 10px 12px rgba(251,76,100,.48));color:var(--u-flush)}
.locate-locator svg{height:40px;stroke:none;fill:currentColor;width:40px}
.locate-box iframe{position:absolute;border:0;height:100%;width:100%;inset:0}
.locate-box.is-on .locate-empty{display:none}
.specs-cityhall{background:var(--u-panel);box-shadow:var(--u-elev-md);border-radius:var(--u-radius-lg);border:1px solid rgba(255,254,255,.88);padding:24px}

.promo-box{background:linear-gradient(100deg,var(--u-rose-active),var(--u-flush) 60%,var(--u-tangerine));box-shadow:var(--u-elev-lg);align-items:center;position:relative;padding:clamp(38px,5vw,64px);color:#fffeff;gap:30px;display:flex;border-radius:var(--u-radius-xl);justify-content:space-between;flex-wrap:wrap;overflow:hidden}
.promo-glob{width:320px;position:absolute;border-radius:50%;right:-90px;top:-120px;background:rgba(255,254,255,.13);height:320px}
.promo-text{position:relative;z-index:2}
.promo-text h2{color:#fffeff;max-width:16ch}
.promo-text p{margin-top:10px;color:rgba(255,254,255,.93);max-width:46ch}
.promo-box .button{position:relative;z-index:2}
.bottombar-grid{grid-template-columns:1.6fr 1fr 1fr;display:grid;gap:40px}
.bottombar-brand{align-items:center;margin-bottom:12px;font-family:var(--u-heading);font-weight:800;gap:10px;display:flex;font-size:1.2rem;color:#fffeff}
.bottombar-col>p:not(.bottombar-label){max-width:34ch;color:#a9a0af;font-size:.94rem}
.bottombar-label{font-size:1rem;margin-bottom:14px;color:#fffeff;font-weight:800}
.bottombar-menu{font-size:.94rem;gap:10px;display:grid}

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

.web-bottombar{color:#d7d4dd;background:#2b262e}
.web-bottombar .inner{padding-block:56px 22px}
.web-bottombar a{color:#d7d4dd}
.web-bottombar a:hover{color:#fffeff}

.doc-top{padding-block:clamp(40px,6vw,80px) 20px}
.doc-top h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.doc-top p{margin:16px auto 0;color:var(--u-copy-soft);font-size:1.08rem}
.faq-unit{border-radius:var(--u-radius-md);border:1px solid var(--u-divider);margin-bottom:14px;box-shadow:var(--u-elev-sm);background:var(--u-panel);overflow:hidden}
.faq-unit summary{cursor:pointer;font-family:var(--u-heading);color:var(--u-copy);padding:20px 22px;justify-content:space-between;display:flex;align-items:center;font-weight:800;gap:16px;font-size:1.05rem;list-style:none}
.faq-unit summary::-webkit-details-marker{display:none}
.faq-unit summary::after{background:var(--u-panel-deep);height:30px;place-items:center;border-radius:50%;transition:transform .25s ease;content:"+";font-size:1.2rem;display:grid;color:var(--u-rose);flex:none;width:30px}
.faq-unit[open] summary::after{color:#fffeff;background:var(--u-rose);transform:rotate(45deg)}
.faq-a{color:var(--u-copy-soft);padding:0 22px 20px}
.when{justify-content:space-between;color:var(--u-copy-soft);gap:12px;font-size:.9rem;display:flex}

.read{display:grid;align-items:center;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px)}
.read-text>p:not(.eyebrow){color:var(--u-copy-soft);margin-top:16px;font-size:1.04rem}
.read-tagline{color:var(--u-rose-active);font-family:var(--u-heading);font-size:1.1rem;margin-top:22px;font-weight:800}
.trail{margin-bottom:14px;color:var(--u-subtle);flex-wrap:wrap;display:flex;gap:6px;font-size:.86rem;justify-content:flex-start}
/* Fil d'Ariane robot placé dans l'article SEO : neutraliser les styles de liste de l'article (grille, retrait, puce). */
.read-block .trail{display:flex}.read-block .trail li{padding-left:0}.read-block .trail li::before{display:none}
.trail li:not(:last-child)::after{content:"\00203a";margin-left:6px;color:var(--u-subtle)}
.trail a{color:var(--u-copy-soft)}

.ask{background:#fffeff;border-radius:var(--u-radius-lg);box-shadow:var(--u-elev-md);border:1px solid rgba(255,254,255,.88);padding:clamp(24px,3vw,40px)}
.ask-unit{display:grid;gap:7px;margin-bottom:18px}
.ask-unit label{font-weight:700;font-size:.92rem}
.fld-line{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fld{width:100%;padding:13px 16px;border-radius:var(--u-radius-sm);border:1.5px solid var(--u-divider);background:var(--u-panel-soft);font-family:inherit;font-size:1rem;color:var(--u-copy);transition:border-color .16s,box-shadow .16s}
.fld:focus{outline:none;border-color:var(--u-rose);box-shadow:0 0 0 3px rgba(238,79,150,.13)}
textarea.fld{min-height:140px;resize:vertical}
.ask-hint{font-weight:700}
.ask-hint-lit{color:#31ae68}
.ask-hint-closed{color:var(--u-rose-active)}

.query-ask{margin:0 auto;display:flex;gap:12px;background:#fffeff;padding:12px;border-radius:var(--u-radius-pill);box-shadow:var(--u-elev-md);border:1px solid rgba(255,254,255,.88)}
.query-ask .fld{border:none;background:transparent;box-shadow:none;font-size:1.06rem}
.query-ask .fld:focus{box-shadow:none}
.query-ask+.zones{margin-top:40px}

.ask-box{max-width:640px}
.ask-empty{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

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

@media (max-width:980px){
  .contacts-grid{grid-template-columns:repeat(3,1fr)}
  .contact-grid{grid-template-columns:1fr}
  .contact-view{width:100%;max-width:380px;justify-self:start}
  .contact-aside{position:static}
  .read,.specs{grid-template-columns:1fr}
  .bottombar-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .core-links{display:none}
  .hamburger{display:flex;position:fixed;top:22px;right:18px}
}
@media (min-width:861px){
  .aside-mob,.links-backdrop{display:none}
}
@media (max-width:600px){
  :root{--u-sy:clamp(30px,7vw,48px)}
  .bottombar-grid,.fld-line{grid-template-columns:1fr}
  .contacts-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .contact-body{padding:16px 10px}
  .promo-box{flex-direction:column;align-items:stretch;padding:32px 24px}
  .promo-box .button{width:100%;white-space:normal}
  .query-ask{flex-direction:column;border-radius:var(--u-radius-lg)}
  .query-ask .button{width:100%}
  .block-contact{padding-top:0}
  .contact-view img{aspect-ratio:1/1;max-height:46vh}
  .contact-grid{margin-top:0}
  .contact-aside{display:flex;flex-direction:column;margin-top:14px}
  .contact-header{order:1;margin-top:0}
  .contact-hint{order:2}
  .contact-items{order:3;margin-top:16px;gap:10px}
  .contact-items .button{flex:1 1 auto}
  .contact-band{display:none}
  .contact-facts{order:4}
  .contact-aside .lead{order:5}
  .specs-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .fact{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .fact-pic{width:34px;height:34px}
  .fact-text{min-width:0}
  .fact-text dd{font-size:.92rem;overflow-wrap:anywhere}
}
