:root{
  --ui-rose-100:#ffedf6;
  --ui-rose-200:#fbdde7;
  --ui-rose-300:#f7c8da;
  --ui-rose-deep:#f6a7ca;
  --ui-lav:#eae4f8;
  --ui-lav-strong:#d8daf5;

  --ui-panel:#fdfeff;
  --ui-panel-soft:#fef3fa;
  --ui-panel-strong:#fbe8f1;

  --ui-primary:#eb4d96;
  --ui-primary-600:#e1307d;
  --ui-salmon:#fd5c75;
  --ui-salmon-strong:#f84961;
  --ui-amber:#fc793e;
  --ui-amber-strong:#f46a26;
  --ui-crimson:#ff4f5e;
  --ui-peri:#c8cdf3;

  --ui-text:#282732;
  --ui-text-soft:#6b6272;
  --ui-dim:#9992a1;
  --ui-rule:#f1d8e6;

  --ui-invert:#fdfeff;
  --ui-blank:#fdfeff;
  --ui-positive:#2eac66;
  --ui-rule-soft:rgba(253,254,255,.89);
  --ui-panel-fill:rgba(253,254,255,.9);
  --ui-overlay:rgba(40,39,50,.48);
  --ui-foot-fill:#282732;
  --ui-foot:#d8d2db;
  --ui-foot-strong:#fdfeff;
  --ui-foot-soft:#a7a1af;
  --ui-foot-line:rgba(253,254,255,.09);

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

  --ui-shadow-sm:0 6px 16px -8px rgba(235,77,150,.34);
  --ui-shadow-md:0 18px 38px -18px rgba(235,77,150,.4);
  --ui-shadow-lg:0 30px 60px -24px rgba(225,48,125,.4);

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

  --ui-shell:1200px;
  --ui-gap:24px;
  --ui-section-y:clamp(56px,7vw,104px);
}

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

.action{
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;align-items:center;gap:9px;cursor:pointer;
  white-space:nowrap;font-weight:700;display:inline-flex;justify-content:center;
  text-align:center;padding:14px 26px;border:1.5px solid transparent;border-radius:var(--ui-rnd-pill);
  font-size:1rem;
}
.action svg{width:18px;height:18px}
.action-mini{font-size:.9rem;padding:10px 18px}
.action-large{padding:17px 32px;font-size:1.06rem}
.action-wide{width:100%}
.action-cta{box-shadow:0 14px 26px -12px rgba(248,73,97,.77);color:var(--ui-invert);background:linear-gradient(95deg,var(--ui-amber),var(--ui-salmon) 55%,var(--ui-primary))}
.action-cta:hover{box-shadow:0 20px 34px -12px rgba(248,73,97,.85);transform:translateY(-2px);color:var(--ui-invert)}
.action-secondary{background:var(--ui-panel);border-color:var(--ui-rule);color:var(--ui-primary)}
.action-secondary:hover{background:var(--ui-panel-strong);color:var(--ui-primary-600);transform:translateY(-2px)}
.action-clear{color:var(--ui-primary-600);background:var(--ui-blank)}
.action-clear:hover{box-shadow:var(--ui-shadow-md);transform:translateY(-2px);color:var(--ui-primary-600)}
:focus-visible{outline:3px solid var(--ui-primary);border-radius:6px;outline-offset:2px}
.sign,.bar-link,.sidebar-mob a,.action,.path a,.web-footer a,.places-nav a,.contact-messenger{text-decoration:none}
h1,h2,h3,h4{font-family:var(--ui-headline);letter-spacing:-.01em;color:var(--ui-text);margin:0;line-height:1.12}
.section{padding-block:var(--ui-section-y)}
.section-second{background:var(--ui-panel-strong)}

.request{padding:clamp(24px,3vw,40px);background:var(--ui-panel);box-shadow:var(--ui-shadow-md);border-radius:var(--ui-rnd-lg);border:1px solid var(--ui-rule-soft)}
.request-block{margin-bottom:18px;gap:7px;display:grid}
.request-block label{font-weight:700;font-size:.92rem}
.contact-box{box-shadow:var(--ui-shadow-md);border-radius:var(--ui-rnd-lg);transition:transform .2s ease,box-shadow .2s ease;position:relative;border:1px solid var(--ui-rule-soft);background:var(--ui-panel);overflow:hidden}
.contact-box:hover{box-shadow:var(--ui-shadow-lg);transform:translateY(-6px)}
.contact-avatar{aspect-ratio:1/1;position:relative;overflow:hidden;background:linear-gradient(160deg,var(--ui-rose-200),var(--ui-lav-strong))}
.contact-avatar img{height:100%;object-fit:cover;display:block;width:100%}
.contact-dot{border-radius:var(--ui-rnd-pill);font-weight:700;top:12px;padding:5px 10px;display:inline-flex;align-items:center;gap:6px;z-index:2;left:12px;font-size:.72rem;color:var(--ui-positive);position:absolute;box-shadow:var(--ui-shadow-sm);background:var(--ui-panel-fill)}

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

.hamburger{background:none;border:none;z-index:1105;cursor:pointer;display:none;padding:6px;gap:5px;flex-direction:column}
.hamburger span{display:block;border-radius:2px;background:var(--ui-text);transition:transform .3s ease,opacity .3s ease;width:26px;height:3px}
.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)}

.web-head{z-index:60;border-bottom:1px solid var(--ui-rule);top:0;background:var(--ui-panel);position:sticky}
.web-head-core{align-items:center;display:flex;padding-block:12px;min-height:74px;gap:20px;justify-content:space-between}
.credits{font-size:.86rem;color:var(--ui-foot-soft);border-top:1px solid var(--ui-foot-line);margin-top:34px;padding-top:22px}
.ttl{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}
button{font-family:inherit}
::selection{background:rgba(235,77,150,.21)}
.overline{font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;font-size:.8rem;color:var(--ui-primary)}

.messenger-dot{top:-3px;background:var(--ui-crimson);font-size:.72rem;color:var(--ui-invert);right:-3px;height:22px;border-radius:var(--ui-rnd-pill);box-shadow:var(--ui-shadow-sm);place-items:center;position:absolute;min-width:22px;padding:0 6px;font-weight:800;border:2px solid var(--ui-panel);display:grid;line-height:1}
.messenger-dot[hidden]{display:none}
.bar-link{transition:background .18s,color .18s;font-weight:600;padding:9px 14px;color:var(--ui-text);border-radius:var(--ui-rnd-pill);font-size:.96rem}
.bar-link:hover{background:var(--ui-panel-strong);color:var(--ui-primary-600)}
.bar-sparkle{text-decoration:none;font-weight:600;padding:9px 12px;align-items:center;border:none;transition:background .18s ease,color .18s ease;gap:7px;display:inline-flex;color:var(--ui-text);font-size:.96rem;border-radius:var(--ui-rnd-pill);background:none;cursor:pointer;position:relative}
.bar-sparkle:hover{color:var(--ui-primary-600);background:var(--ui-panel-strong)}
.bar-sparkle svg{color:var(--ui-primary);height:20px;width:20px}
.bar-sparkle:hover svg{color:var(--ui-primary-600)}
.bar-sparkle-body{white-space:nowrap}
.bar-sparkle .messenger-dot{position:static;top:auto;right:auto}
.bar-sparkle-mob{display:flex;text-align:left;text-decoration:none;border:none;width:100%;padding:14px 2px;border-bottom:1px solid var(--ui-rule);font-weight:600;gap:9px;cursor:pointer;background:none;color:var(--ui-text);font-size:15px;align-items:center}
.bar-sparkle-mob:hover{color:var(--ui-primary-600)}
.bar-sparkle-mob svg{width:18px;height:18px;color:var(--ui-primary)}
.head-zone{max-width:640px;text-align:center;margin:0 auto 44px}
.icon-on svg{stroke:none;fill:currentColor}
.info{align-items:center;gap:12px;border-radius:var(--ui-rnd-md);padding:14px 16px;box-shadow:var(--ui-shadow-sm);background:var(--ui-panel);display:flex;border:1px solid var(--ui-rule-soft)}
.info-icon{border-radius:12px;height:40px;display:grid;flex:none;color:var(--ui-primary);width:40px;background:var(--ui-panel-strong);place-items:center}
.info-icon svg{height:18px;width:18px}
.info-body dt{color:var(--ui-dim);letter-spacing:.05em;text-transform:uppercase;font-size:.78rem}
.info-body dd{font-family:var(--ui-headline);font-weight:800;font-size:.98rem;margin:2px 0 0}
.reasons-list{gap:10px;display:grid;margin-top:14px}
.reasons-list li{position:relative;color:var(--ui-text);padding-left:24px}
.reasons-list li::before{content:"";width:10px;left:0;position:absolute;top:.5em;height:10px;background:var(--ui-salmon);border-radius:50%}
.editorial-body .action{margin-top:26px}
.contact-video-play{font-size:1.9rem;place-items:center;top:50%;border-radius:50%;border:none;transform:translate(-50%,-50%);box-shadow:var(--ui-shadow-md);z-index:3;height:78px;transition:transform .15s ease,background .15s ease;line-height:1;padding-left:6px;left:50%;background:rgba(0,0,2,.48);cursor:pointer;display:grid;color:#fdfeff;width:78px;position:absolute}
.contact-video-play:hover{background:rgba(0,0,2,.72);transform:translate(-50%,-50%) scale(1.07)}
.contact-sidebar{position:sticky;top:96px}
.contact-top{gap:12px;display:flex;margin-top:14px;align-items:center;flex-wrap:wrap}
.contact-top .dot-pill{flex:none}
.contact-intro{font-family:var(--ui-headline);line-height:1.1;font-weight:800;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.contact-intro span{font-weight:600;font-size:.62em;color:var(--ui-dim)}
.contact-small{gap:7px;margin-top:10px;align-items:center;display:flex;color:var(--ui-text-soft);font-size:1.02rem}
.contact-small .locator svg{width:18px;height:18px;color:var(--ui-primary)}
.contact-small a{border-bottom:1px solid transparent;transition:border-color .15s ease;color:var(--ui-primary-600);font-weight:600;text-decoration:none}
.contact-small a:hover{border-bottom-color:currentColor}
.contact-infos{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.contact-sidebar .intro{margin-top:18px}
.contact-list{margin-top:24px;gap:12px;flex-wrap:wrap;display:flex}
.sign{display:flex;font-family:var(--ui-headline);color:var(--ui-text);font-weight:800;gap:11px;align-items:center;font-size:1.28rem;letter-spacing:-.02em}
.sign:hover{color:var(--ui-text)}
.sign-logo{box-shadow:0 8px 18px -8px rgba(235,77,150,.8);color:var(--ui-invert);display:inline-flex;width:42px;justify-content:center;align-items:center;background:linear-gradient(135deg,var(--ui-primary),var(--ui-salmon) 55%,var(--ui-amber));border-radius:14px;flex-shrink:0;height:42px}
.sign-logo svg{height:22px;width:22px}

.dot-pill{box-shadow:var(--ui-shadow-sm);padding:8px 16px;font-weight:700;border:1px solid var(--ui-rule);font-size:.82rem;border-radius:var(--ui-rnd-pill);letter-spacing:.06em;background:var(--ui-panel);gap:8px;align-items:center;color:var(--ui-primary);display:inline-flex}
.dot-pill svg{height:16px;color:var(--ui-salmon);width:16px}
.fld-line{gap:18px;grid-template-columns:1fr 1fr;display:grid}
.fld{border-radius:var(--ui-rnd-sm);padding:13px 16px;border:1.5px solid var(--ui-rule);transition:border-color .16s,box-shadow .16s;color:var(--ui-text);font-family:inherit;width:100%;font-size:1rem;background:var(--ui-panel-soft)}
.fld:focus{outline:none;box-shadow:0 0 0 3px rgba(235,77,150,.15);border-color:var(--ui-primary)}
textarea.fld{resize:vertical;min-height:140px}
.topics-block{margin-bottom:14px;border-radius:var(--ui-rnd-md);box-shadow:var(--ui-shadow-sm);overflow:hidden;background:var(--ui-panel);border:1px solid var(--ui-rule)}
.topics-block summary{gap:16px;align-items:center;cursor:pointer;font-family:var(--ui-headline);display:flex;font-weight:800;padding:20px 22px;justify-content:space-between;font-size:1.05rem;color:var(--ui-text);list-style:none}
.topics-block summary::-webkit-details-marker{display:none}
.topics-block summary::after{flex:none;width:30px;height:30px;display:grid;background:var(--ui-panel-strong);content:"+";transition:transform .25s ease;border-radius:50%;place-items:center;font-size:1.2rem;color:var(--ui-primary)}
.topics-block[open] summary::after{background:var(--ui-primary);transform:rotate(45deg);color:var(--ui-invert)}
.topics-reply{padding:0 22px 20px;color:var(--ui-text-soft)}
.bar-backdrop{visibility:hidden;transition:opacity .3s ease;background:var(--ui-overlay);z-index:1090;position:fixed;inset:0;opacity:0}
.bar-backdrop.current{visibility:visible;opacity:1}
.intro{font-size:1.06rem;margin-top:14px;color:var(--ui-text-soft)}

.prompt-panel{color:var(--ui-invert);align-items:center;flex-wrap:wrap;display:flex;background:linear-gradient(100deg,var(--ui-primary-600),var(--ui-salmon) 60%,var(--ui-amber));border-radius:var(--ui-rnd-xl);position:relative;box-shadow:var(--ui-shadow-lg);padding:clamp(38px,5vw,64px);overflow:hidden;gap:30px;justify-content:space-between}
.prompt-glob{width:320px;right:-90px;height:320px;background:rgba(253,254,255,.14);top:-120px;position:absolute;border-radius:50%}
.prompt-body{z-index:2;position:relative}
.prompt-body h2{color:var(--ui-invert);max-width:16ch}
.prompt-body p{color:rgba(253,254,255,.9);max-width:46ch;margin-top:10px}
.prompt-panel .action{z-index:2;position:relative}
p{margin:0}

.widget-prompt{border-radius:var(--ui-rnd-lg);box-shadow:var(--ui-shadow-lg);width:300px;background:var(--ui-panel);border:1px solid var(--ui-rule-soft);position:fixed;padding:20px;max-width:calc(100vw - 44px);right:22px;bottom:22px;z-index:80}
.widget-x{border-radius:50%;height:28px;top:12px;position:absolute;color:var(--ui-text-soft);border:none;place-items:center;display:grid;background:var(--ui-panel-strong);width:28px;cursor:pointer;font-size:1.1rem;line-height:1;padding:0;right:12px}
.widget-x:hover{color:var(--ui-invert);background:var(--ui-primary)}
.widget-title{font-family:var(--ui-headline);font-weight:800;font-size:1.04rem;padding-right:26px}
.widget-body{margin-top:4px;color:var(--ui-text-soft);margin-bottom:14px;font-size:.86rem}
.widget-launcher{border-radius:50%;cursor:pointer;display:none;height:60px;right:22px;box-shadow:var(--ui-shadow-lg);justify-content:center;position:fixed;color:var(--ui-invert);border:none;background:linear-gradient(135deg,var(--ui-primary),var(--ui-salmon));bottom:22px;z-index:80;align-items:center;width:60px}
.widget-launcher svg{fill:currentColor;stroke:none;width:26px;height:26px}

.editorial{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:1fr 1fr;align-items:center}
.editorial-body>p:not(.overline){margin-top:16px;font-size:1.04rem;color:var(--ui-text-soft)}
.editorial-sub{margin-top:22px;font-family:var(--ui-headline);font-size:1.1rem;color:var(--ui-primary-600);font-weight:800}
.details-town-hall{border-radius:var(--ui-rnd-lg);box-shadow:var(--ui-shadow-md);background:var(--ui-panel);padding:24px;border:1px solid var(--ui-rule-soft)}
.video-shot{height:100%;background:#000002;object-fit:cover;width:100%;pointer-events:none;display:block}
.video-round{top:50%;place-items:center;display:grid;padding-left:2px;pointer-events:none;line-height:1;left:50%;position:absolute;background:rgba(0,0,2,.57);width:28px;box-shadow:var(--ui-shadow-sm);transform:translate(-50%,-50%);height:28px;border-radius:50%;font-size:.64rem;color:#fdfeff}
.video-dot{font-weight:700;display:inline-flex;bottom:12px;font-size:.7rem;background:rgba(0,0,2,.63);color:#fdfeff;border-radius:var(--ui-rnd-pill);position:absolute;letter-spacing:.02em;box-shadow:var(--ui-shadow-sm);padding:5px 9px;left:12px;z-index:2;gap:4px;align-items:center}
.map-box{overflow:hidden;box-shadow:var(--ui-shadow-md);position:relative;border-radius:var(--ui-rnd-lg);aspect-ratio:4/3;background:var(--ui-lav);border:1px solid var(--ui-rule-soft)}
.map-box.map-later{cursor:pointer}
.map-placeholder{padding:20px;gap:10px;inset:0;place-items:center;background:linear-gradient(160deg,var(--ui-lav-strong),var(--ui-panel-strong));display:grid;position:absolute;text-align:center}
.map-placeholder p{color:var(--ui-text);font-weight:700}
.map-locator{filter:drop-shadow(0 10px 12px rgba(248,73,97,.48));color:var(--ui-salmon)}
.map-locator svg{width:40px;fill:currentColor;height:40px;stroke:none}
.map-box iframe{height:100%;position:absolute;inset:0;width:100%;border:0}
.map-box.ready .map-placeholder{display:none}

.details{gap:clamp(28px,4vw,48px);grid-template-columns:1.2fr 1fr;align-items:start;display:grid}
.details-infos{grid-template-columns:1fr 1fr;display:grid;gap:16px}
.editorial-section .path{display:flex}.editorial-section .path li{padding-left:0}.editorial-section .path li::before{display:none}
.request-small{font-weight:700}
.request-small-on{color:var(--ui-positive)}
.request-small-off{color:var(--ui-primary-600)}

.screen-splash{padding-block:clamp(40px,6vw,80px) 20px}
.screen-splash h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.screen-splash p{font-size:1.08rem;margin:16px auto 0;color:var(--ui-text-soft)}
.town-hall-title{font-family:var(--ui-headline);font-weight:800;margin-bottom:14px}
.town-hall-line{margin-top:10px;font-size:.94rem;color:var(--ui-text-soft);align-items:flex-start;display:flex;gap:10px}
.town-hall-line .locator{flex:none;color:var(--ui-primary)}
.town-hall-line .locator svg{height:16px;width:16px}

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

.placeholder{padding-block:clamp(60px,10vw,140px);text-align:center}
.placeholder-num{font-family:var(--ui-headline);font-weight:800;line-height:.9;font-size:clamp(6rem,20vw,13rem)}
.placeholder-part{justify-content:center;gap:14px;flex-wrap:wrap;display:flex;margin-top:30px}
.footer-cols{gap:40px;display:grid;grid-template-columns:1.6fr 1fr 1fr}
.footer-sign{font-family:var(--ui-headline);gap:10px;display:flex;align-items:center;margin-bottom:12px;font-weight:800;color:var(--ui-foot-strong);font-size:1.2rem}
.footer-col>p:not(.footer-title){max-width:34ch;font-size:.94rem;color:var(--ui-foot-soft)}
.footer-title{color:var(--ui-foot-strong);font-size:1rem;margin-bottom:14px;font-weight:800}
.footer-nav{display:grid;font-size:.94rem;gap:10px}

.wrapper{margin-inline:auto;padding-inline:var(--ui-gap);max-width:var(--ui-shell)}
.round{font-size:.6rem;color:var(--ui-positive);line-height:1}
figure{margin:0}

.contacts-cols{gap:22px;grid-template-columns:repeat(4,1fr);display:grid}
.main-bar{align-items:center;gap:8px;margin-left:auto;display:flex}
.hours{display:grid;margin-top:10px;gap:4px}
.sidebar-mob{background:var(--ui-panel);width:80%;height:100vh;padding:84px 22px 22px;overflow-y:auto;max-width:320px;top:0;transition:right .3s ease;z-index:1100;height:100dvh;box-shadow:-6px 0 30px rgba(40,39,50,.21);position:fixed;right:-100%}
.sidebar-mob.current{right:0}
.sidebar-mob nav{flex-direction:column;display:flex}
.sidebar-mob a:not(.action){font-weight:600;border-bottom:1px solid var(--ui-rule);color:var(--ui-text);padding:14px 2px;font-size:15px}
.sidebar-mob a:not(.action):hover{color:var(--ui-primary-600)}
.sidebar-mob a.action{margin-top:22px}

.web-footer{color:var(--ui-foot);background:var(--ui-foot-fill)}
.web-footer .wrapper{padding-block:56px 22px}
.web-footer a{color:var(--ui-foot)}
.web-footer a:hover{color:var(--ui-foot-strong)}
.path{display:flex;color:var(--ui-dim);gap:6px;font-size:.86rem;flex-wrap:wrap;justify-content:flex-start;margin-bottom:14px}
ul{margin:0;padding:0;list-style:none}
.path li:not(:last-child)::after{margin-left:6px;color:var(--ui-dim);content:"\00203a"}
.path a{color:var(--ui-text-soft)}
svg{display:block}
.path a:hover{color:var(--ui-primary-600)}

.browse-request{margin:0 auto;box-shadow:var(--ui-shadow-md);padding:12px;background:var(--ui-panel);display:flex;border-radius:var(--ui-rnd-pill);gap:12px;border:1px solid var(--ui-rule-soft)}
.browse-request .fld{box-shadow:none;background:transparent;font-size:1.06rem;border:none}
.browse-request .fld:focus{box-shadow:none}
.browse-request+.places{margin-top:40px}
.moment{color:var(--ui-text-soft);justify-content:space-between;font-size:.9rem;gap:12px;display:flex}
.contact-sparkle{border-radius:50%;place-items:center;height:36px;position:absolute;transition:transform .16s,background .16s,color .16s;background:var(--ui-panel-fill);box-shadow:var(--ui-shadow-sm);cursor:pointer;z-index:2;width:36px;top:12px;color:var(--ui-salmon);right:12px;border:none;display:grid}
.contact-sparkle svg{height:18px;width:18px}
.contact-sparkle:hover{transform:scale(1.08)}
.contact-sparkle.on{background:var(--ui-salmon);color:var(--ui-invert)}
.contact-sparkle.on svg{fill:currentColor}
.contact-shot-sparkle{width:46px;top:14px;height:46px;right:14px}
.contact-shot-sparkle svg{width:21px;height:21px}
.contact-core{padding:16px 18px}
.contact-title{font-family:var(--ui-headline);font-weight:800;font-size:1.12rem}
.contact-title a{outline-offset:3px;text-decoration:none;color:inherit}
.contact-title a::after{inset:0;content:"";position:absolute;z-index:1}
.contact-title span{font-weight:600;color:var(--ui-dim)}
.contact-place{margin-top:4px;align-items:center;display:flex;font-size:.88rem;gap:6px;color:var(--ui-text-soft)}
.contact-place .locator svg{height:14px;width:14px;color:var(--ui-primary)}
.contact-messenger{align-items:center;border-radius:var(--ui-rnd-pill);z-index:2;margin-top:12px;transition:transform .16s ease,box-shadow .16s ease;padding:9px 14px;background:linear-gradient(135deg,var(--ui-primary),var(--ui-salmon));box-shadow:var(--ui-shadow-sm);color:var(--ui-invert);position:relative;width:100%;gap:7px;justify-content:center;font-weight:700;display:inline-flex;font-size:.9rem}
.contact-messenger svg{width:16px;height:16px}
.contact-messenger:hover{box-shadow:var(--ui-shadow-md);transform:translateY(-1px)}
.contact-cols{display:grid;gap:clamp(24px,4vw,52px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:22px;align-items:start}
.contact-col{min-width:0}
.contact-shot{margin:0;border-radius:var(--ui-rnd-lg);overflow:hidden;background:linear-gradient(160deg,var(--ui-rose-200),var(--ui-lav-strong));position:relative;box-shadow:var(--ui-shadow-md)}
.contact-shot img{aspect-ratio:4/5;width:100%;display:block;height:auto;object-fit:cover}
.contact-arrows{display:grid;position:absolute;z-index:2;border-radius:50%;width:44px;box-shadow:var(--ui-shadow-md);transform:translateY(-50%);place-items:center;background:var(--ui-panel-fill);transition:transform .15s ease,background .15s ease;color:var(--ui-primary-600);border:none;height:44px;top:50%;cursor:pointer}
.contact-arrows:hover{background:var(--ui-panel-fill);transform:translateY(-50%) scale(1.07)}
.contact-arrows svg{height:22px;width:22px}
.contact-prev{left:12px}
.contact-fwd{right:12px}
.contact-strip{gap:10px;flex-wrap:wrap;display:flex;margin-top:12px}
.contact-block{background:var(--ui-panel-strong);flex:0 0 auto;overflow:hidden;aspect-ratio:3/4;box-shadow:var(--ui-shadow-sm);width:72px;border:2px solid transparent;transition:transform .15s ease,border-color .15s ease;border-radius:var(--ui-rnd-sm);cursor:pointer;padding:0}
.contact-block img{width:100%;object-fit:cover;display:block;height:100%}
.contact-block:hover{transform:translateY(-2px)}
.contact-block.on{border-color:var(--ui-primary)}
.contact-col [hidden]{display:none!important}
.contact-video{height:auto;background:#000002;max-height:70vh;object-fit:contain;display:block;width:100%}
.contact-block-video{position:relative}

.places{display:flex;gap:32px;flex-direction:column}
.places-part h2{font-size:1.15rem;margin-bottom:16px;color:var(--ui-text);font-weight:800}
.places-nav{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}
.places-nav a{display:flex;gap:10px;align-items:center;font-size:.92rem;font-weight:600;background:var(--ui-panel);padding:13px 16px;justify-content:space-between;border:1px solid var(--ui-rule);border-radius:var(--ui-rnd-md);transition:transform .14s,box-shadow .14s,color .14s;color:var(--ui-text);box-shadow:var(--ui-shadow-sm)}
.places-nav a:hover{box-shadow:var(--ui-shadow-md);transform:translateY(-3px);color:var(--ui-primary-600)}
.places-nav a .locator{display:grid;place-items:center;flex:none;color:var(--ui-primary)}
.places-nav a .locator svg{height:16px;width:16px}

@media (max-width:980px){
  .contacts-cols{grid-template-columns:repeat(3,1fr)}
  .contact-cols{grid-template-columns:1fr}
  .contact-shot{width:100%;max-width:380px;justify-self:start}
  .contact-sidebar{position:static}
  .editorial,.details{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .main-bar{display:none}
  .hamburger{display:flex;position:fixed;top:22px;right:18px}
}
@media (min-width:861px){
  .sidebar-mob,.bar-backdrop{display:none}
}
@media (max-width:600px){
  :root{--ui-section-y:clamp(30px,7vw,48px)}
  .footer-cols,.fld-line{grid-template-columns:1fr}
  .contacts-cols{grid-template-columns:repeat(2,1fr);gap:12px}
  .contact-core{padding:16px 10px}
  .prompt-panel{flex-direction:column;align-items:stretch;padding:32px 24px}
  .prompt-panel .action{width:100%;white-space:normal}
  .browse-request{flex-direction:column;border-radius:var(--ui-rnd-lg)}
  .browse-request .action{width:100%}
  .section-contact{padding-top:0}
  .contact-shot img{aspect-ratio:1/1;max-height:46vh}
  .contact-cols{margin-top:0}
  .contact-sidebar{display:flex;flex-direction:column;margin-top:14px}
  .contact-top{order:1;margin-top:0}
  .contact-small{order:2}
  .contact-list{order:3;margin-top:16px;gap:10px}
  .contact-list .action{flex:1 1 auto}
  .contact-strip{display:none}
  .contact-infos{order:4}
  .contact-sidebar .intro{order:5}
  .details-infos{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .info{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .info-icon{width:34px;height:34px}
  .info-body{min-width:0}
  .info-body dd{font-size:.92rem;overflow-wrap:anywhere}
}
