:root{
  --rose-100:#fff0f4;
  --rose-200:#f9ddea;
  --rose-300:#f8c6de;
  --rose-deep:#f2a7c8;
  --mauve:#e7e7f8;
  --mauve-2:#dbdbf7;

  --surface:#fdfefd;
  --surface-2:#fdf3f8;
  --surface-2:#ffe9f2;

  --primary:#ec4f98;
  --primary-600:#e1307c;
  --red:#fc5d74;
  --red-2:#fb4a61;
  --peach:#f97a3b;
  --peach-2:#f76823;
  --crimson:#fd4e5c;
  --periwinkle:#c9cdf2;

  --ink:#29262f;
  --ink-tint:#6d6273;
  --faint:#9894a0;
  --border:#f0d9e6;

  --contrast:#fdfefd;
  --white:#fdfefd;
  --success:#2faf67;
  --border-tint:rgba(253,254,253,.91);
  --surface-surface:rgba(253,254,253,.91);
  --veil:rgba(41,38,47,.5);
  --ft-surface:#29262f;
  --ft:#d7d4de;
  --ft-2:#fdfefd;
  --ft-tint:#a8a0b0;
  --ft-bd:rgba(253,254,253,.09);

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

  --sh-sm:0 6px 16px -8px rgba(236,79,152,.35);
  --sh-md:0 18px 38px -18px rgba(236,79,152,.38);
  --sh-lg:0 30px 60px -24px rgba(225,48,124,.41);

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

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

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(1200px 700px at 85% -8%, var(--rose-300) 0%, transparent 55%),
    radial-gradient(900px 600px at -10% 8%, var(--mauve) 0%, transparent 55%),
    linear-gradient(180deg, var(--rose-100) 0%, var(--surface-2) 40%, var(--rose-100) 100%);color:var(--ink);font-family:var(--type);background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;margin:0;
}
img{max-width:100%;display:block}
.section{padding-block:var(--vgap)}
.section--alt{background:var(--surface-2)}
svg{display:block}
.head-zone{margin:0 auto 44px;max-width:640px;text-align:center}
.story__para .button{margin-top:26px}
.form-small{font-weight:700}
.form-small--ticked{color:var(--success)}
.form-small--off{color:var(--primary-600)}

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

.contacts-row{display:grid;gap:22px;grid-template-columns:repeat(4,1fr)}
.story-section .breadcrumb{display:flex}.story-section .breadcrumb li{padding-left:0}.story-section .breadcrumb li::before{display:none}

.inner{margin-inline:auto;padding-inline:var(--gutter);max-width:var(--frame)}
.footage-window{pointer-events:none;height:100%;display:block;width:100%;object-fit:cover;background:#020100}
.footage-bullet{display:grid;font-size:.64rem;pointer-events:none;padding-left:2px;border-radius:50%;box-shadow:var(--sh-sm);color:#fdfefd;place-items:center;background:rgba(2,1,0,.54);height:28px;width:28px;top:50%;line-height:1;transform:translate(-50%,-50%);left:50%;position:absolute}
.footage-badge{bottom:12px;font-weight:700;border-radius:var(--ro-pill);font-size:.7rem;box-shadow:var(--sh-sm);letter-spacing:.02em;gap:4px;left:12px;z-index:2;display:inline-flex;position:absolute;background:rgba(2,1,0,.62);align-items:center;padding:5px 9px;color:#fdfefd}
ul{list-style:none;padding:0;margin:0}
.sidebar-small{z-index:1100;width:80%;position:fixed;top:0;height:100vh;transition:right .3s ease;height:100dvh;right:-100%;overflow-y:auto;max-width:320px;background:var(--surface);padding:84px 22px 22px;box-shadow:-6px 0 30px rgba(41,38,47,.22)}
.sidebar-small.shown{right:0}
.sidebar-small nav{display:flex;flex-direction:column}
.sidebar-small a:not(.button){font-weight:600;padding:14px 2px;border-bottom:1px solid var(--border);font-size:15px;color:var(--ink)}
.sidebar-small a:not(.button):hover{color:var(--primary-600)}
.sidebar-small a.button{margin-top:22px}
.main-nav{align-items:center;display:flex;margin-left:auto;gap:8px}
.contact-footage-run{z-index:3;font-size:1.9rem;display:grid;border-radius:50%;box-shadow:var(--sh-md);transition:transform .15s ease,background .15s ease;transform:translate(-50%,-50%);border:none;top:50%;color:#fdfefd;left:50%;line-height:1;position:absolute;width:78px;padding-left:6px;place-items:center;cursor:pointer;height:78px;background:rgba(2,1,0,.5)}
.contact-footage-run:hover{transform:translate(-50%,-50%) scale(1.07);background:rgba(2,1,0,.71)}
.contact-sidebar{position:sticky;top:96px}
.contact-intro{margin-top:14px;flex-wrap:wrap;gap:12px;display:flex;align-items:center}
.contact-intro .badge-tag{flex:none}
.contact-tagline{font-family:var(--font-display);line-height:1.1;font-weight:800;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.contact-tagline span{color:var(--faint);font-weight:600;font-size:.62em}
.contact-small{margin-top:10px;align-items:center;font-size:1.02rem;color:var(--ink-tint);display:flex;gap:7px}
.contact-small .tack svg{height:18px;color:var(--primary);width:18px}
.contact-small a{font-weight:600;transition:border-color .15s ease;text-decoration:none;border-bottom:1px solid transparent;color:var(--primary-600)}
.contact-small a:hover{border-bottom-color:currentColor}
.contact-figures{flex-wrap:wrap;margin-top:16px;gap:8px;display:flex}
.contact-sidebar .tagline{margin-top:18px}
.contact-items{display:flex;margin-top:24px;gap:12px;flex-wrap:wrap}

.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;margin:16px auto 0;color:var(--ink-tint)}
.contact-box{box-shadow:var(--sh-md);transition:transform .2s ease,box-shadow .2s ease;overflow:hidden;position:relative;background:var(--surface);border-radius:var(--ro-lg);border:1px solid var(--border-tint)}
.contact-box:hover{box-shadow:var(--sh-lg);transform:translateY(-6px)}
.contact__avatar{overflow:hidden;aspect-ratio:1/1;position:relative;background:linear-gradient(160deg,var(--rose-200),var(--mauve-2))}
.contact__avatar img{object-fit:cover;display:block;width:100%;height:100%}
.contact__badge{align-items:center;background:var(--surface-surface);font-weight:700;top:12px;color:var(--success);box-shadow:var(--sh-sm);display:inline-flex;left:12px;position:absolute;font-size:.72rem;gap:6px;border-radius:var(--ro-pill);z-index:2;padding:5px 10px}
.nav-a{padding:9px 14px;transition:background .18s,color .18s;border-radius:var(--ro-pill);color:var(--ink);font-weight:600;font-size:.96rem}
.nav-a:hover{color:var(--primary-600);background:var(--surface-2)}
.nav-glint{position:relative;gap:7px;transition:background .18s ease,color .18s ease;cursor:pointer;padding:9px 12px;display:inline-flex;border:none;border-radius:var(--ro-pill);font-weight:600;font-size:.96rem;align-items:center;color:var(--ink);text-decoration:none;background:none}
.nav-glint:hover{background:var(--surface-2);color:var(--primary-600)}
.nav-glint svg{height:20px;width:20px;color:var(--primary)}
.nav-glint:hover svg{color:var(--primary-600)}
.nav-glint__para{white-space:nowrap}
.nav-glint .chat-badge{top:auto;position:static;right:auto}
.nav-glint-small{padding:14px 2px;display:flex;gap:9px;border:none;font-weight:600;color:var(--ink);width:100%;background:none;text-align:left;align-items:center;font-size:15px;text-decoration:none;cursor:pointer;border-bottom:1px solid var(--border)}
.nav-glint-small:hover{color:var(--primary-600)}
.nav-glint-small svg{height:18px;color:var(--primary);width:18px}
.breadcrumb{gap:6px;display:flex;justify-content:flex-start;font-size:.86rem;margin-bottom:14px;flex-wrap:wrap;color:var(--faint)}

.chat-badge{color:var(--contrast);box-shadow:var(--sh-sm);background:var(--crimson);border-radius:var(--ro-pill);padding:0 6px;font-size:.72rem;font-weight:800;top:-3px;place-items:center;height:22px;border:2px solid var(--surface);position:absolute;right:-3px;display:grid;line-height:1;min-width:22px}
.chat-badge[hidden]{display:none}
.bullet{color:var(--success);line-height:1;font-size:.6rem}

.story{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:1fr 1fr;align-items:center}
.story__para>p:not(.kicker){color:var(--ink-tint);font-size:1.04rem;margin-top:16px}
.story__subtitle{font-family:var(--font-display);font-size:1.1rem;color:var(--primary-600);font-weight:800;margin-top:22px}
.qna-item{border-radius:var(--ro-md);background:var(--surface);box-shadow:var(--sh-sm);border:1px solid var(--border);overflow:hidden;margin-bottom:14px}
.qna-item summary{cursor:pointer;padding:20px 22px;align-items:center;display:flex;font-family:var(--font-display);font-weight:800;list-style:none;justify-content:space-between;color:var(--ink);font-size:1.05rem;gap:16px}
.qna-item summary::-webkit-details-marker{display:none}
.qna-item summary::after{transition:transform .25s ease;border-radius:50%;content:"+";height:30px;font-size:1.2rem;place-items:center;width:30px;background:var(--surface-2);color:var(--primary);flex:none;display:grid}
.qna-item[open] summary::after{background:var(--primary);color:var(--contrast);transform:rotate(45deg)}
.qna-ans{padding:0 22px 20px;color:var(--ink-tint)}

.story-section h1{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.story-section h2{font-size:1.35rem;margin-top:34px;font-weight:800;color:var(--primary-600)}
.story-section p{margin-top:14px;color:var(--ink-tint);font-size:1.04rem}
.story-section p a{font-weight:600}
.story-section ul{margin-top:14px;gap:10px;display:grid}
.story-section li{position:relative;padding-left:24px;color:var(--ink-tint)}
.story-section li::before{width:10px;left:0;background:var(--red);height:10px;content:"";top:.5em;border-radius:50%;position:absolute}
.story-qna>.inner>h2{margin-bottom:28px;text-align:center}
.rights{font-size:.86rem;color:var(--ft-tint);padding-top:22px;border-top:1px solid var(--ft-bd);margin-top:34px}

.hamburger{background:none;cursor:pointer;flex-direction:column;gap:5px;display:none;border:none;z-index:1105;padding:6px}
.hamburger span{width:26px;background:var(--ink);height:3px;display:block;border-radius:2px;transition:transform .3s ease,opacity .3s ease}
.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)}
.contact__glint{place-items:center;background:var(--surface-surface);cursor:pointer;top:12px;border-radius:50%;display:grid;z-index:2;border:none;color:var(--red);position:absolute;box-shadow:var(--sh-sm);height:36px;transition:transform .16s,background .16s,color .16s;right:12px;width:36px}
.contact__glint svg{width:18px;height:18px}
.contact__glint:hover{transform:scale(1.08)}
.contact__glint.ticked{background:var(--red);color:var(--contrast)}
.contact__glint.ticked svg{fill:currentColor}
.contact-window__glint{width:46px;top:14px;right:14px;height:46px}
.contact-window__glint svg{height:21px;width:21px}
.contact__core{padding:16px 18px}
.contact__name{font-family:var(--font-display);font-weight:800;font-size:1.12rem}
.contact__name a{text-decoration:none;color:inherit;outline-offset:3px}
.contact__name a::after{inset:0;position:absolute;z-index:1;content:""}
.contact__name span{color:var(--faint);font-weight:600}
.contact__loc{font-size:.88rem;align-items:center;margin-top:4px;color:var(--ink-tint);gap:6px;display:flex}
.contact__loc .tack svg{height:14px;width:14px;color:var(--primary)}
.contact__chat{justify-content:center;align-items:center;gap:7px;position:relative;padding:9px 14px;margin-top:12px;font-weight:700;box-shadow:var(--sh-sm);background:linear-gradient(135deg,var(--primary),var(--red));display:inline-flex;transition:transform .16s ease,box-shadow .16s ease;font-size:.9rem;width:100%;z-index:2;color:var(--contrast);border-radius:var(--ro-pill)}
.contact__chat svg{width:16px;height:16px}
.contact__chat:hover{transform:translateY(-1px);box-shadow:var(--sh-md)}
.contact-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:22px;display:grid;align-items:start;gap:clamp(24px,4vw,52px)}
.contact-side{min-width:0}
.contact-window{border-radius:var(--ro-lg);box-shadow:var(--sh-md);margin:0;overflow:hidden;background:linear-gradient(160deg,var(--rose-200),var(--mauve-2));position:relative}
.contact-window img{object-fit:cover;display:block;height:auto;aspect-ratio:4/5;width:100%}
.contact-pager{cursor:pointer;z-index:2;background:var(--surface-surface);display:grid;top:50%;transform:translateY(-50%);width:44px;position:absolute;transition:transform .15s ease,background .15s ease;border-radius:50%;color:var(--primary-600);box-shadow:var(--sh-md);border:none;place-items:center;height:44px}
.contact-pager:hover{transform:translateY(-50%) scale(1.07);background:var(--surface-surface)}
.contact-pager svg{height:22px;width:22px}
.contact-left{left:12px}
.contact-fwd{right:12px}
.contact-rail{gap:10px;flex-wrap:wrap;margin-top:12px;display:flex}
.contact-item{aspect-ratio:3/4;flex:0 0 auto;border:2px solid transparent;background:var(--surface-2);transition:transform .15s ease,border-color .15s ease;width:72px;padding:0;overflow:hidden;box-shadow:var(--sh-sm);cursor:pointer;border-radius:var(--ro-sm)}
.contact-item img{object-fit:cover;width:100%;display:block;height:100%}
.contact-item:hover{transform:translateY(-2px)}
.contact-item.ticked{border-color:var(--primary)}
.contact-side [hidden]{display:none!important}
.contact-footage{width:100%;height:auto;display:block;max-height:70vh;object-fit:contain;background:#020100}
.contact-item--footage{position:relative}
h1,h2,h3,h4{line-height:1.12;font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0}
.identity,.nav-a,.sidebar-small a,.button,.breadcrumb a,.site-base a,.towns-nav a,.contact__chat{text-decoration:none}

.site-base{background:var(--ft-surface);color:var(--ft)}
.site-base .inner{padding-block:56px 22px}
.site-base a{color:var(--ft)}
.site-base a:hover{color:var(--ft-2)}

.site-heading{border-bottom:1px solid var(--border);top:0;background:var(--surface);position:sticky;z-index:60}
.site-heading__core{min-height:74px;padding-block:12px;align-items:center;justify-content:space-between;display:flex;gap:20px}
.tagline{font-size:1.06rem;margin-top:14px;color:var(--ink-tint)}
.identity{color:var(--ink);font-family:var(--font-display);font-weight:800;align-items:center;letter-spacing:-.02em;font-size:1.28rem;gap:11px;display:flex}
.identity:hover{color:var(--ink)}
.identity__pic{width:42px;display:inline-flex;color:var(--contrast);box-shadow:0 8px 18px -8px rgba(236,79,152,.79);border-radius:14px;flex-shrink:0;align-items:center;background:linear-gradient(135deg,var(--primary),var(--red) 55%,var(--peach));justify-content:center;height:42px}
.identity__pic svg{height:22px;width:22px}
.breadcrumb a:hover{color:var(--primary-600)}
p{margin:0}
.heading-2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}
.breadcrumb li:not(:last-child)::after{content:"\00203a";margin-left:6px;color:var(--faint)}
.breadcrumb a{color:var(--ink-tint)}
.em{color:transparent;background:linear-gradient(92deg,var(--primary),var(--red) 60%,var(--peach));-webkit-background-clip:text;background-clip:text}
::selection{background:rgba(236,79,152,.24)}
.pros-items{gap:10px;display:grid;margin-top:14px}
.pros-items li{padding-left:24px;color:var(--ink);position:relative}
.pros-items li::before{border-radius:50%;height:10px;position:absolute;background:var(--red);left:0;width:10px;top:.5em;content:""}
.base-row{display:grid;gap:40px;grid-template-columns:1.6fr 1fr 1fr}
.base-identity{gap:10px;font-family:var(--font-display);display:flex;align-items:center;font-weight:800;color:var(--ft-2);font-size:1.2rem;margin-bottom:12px}
.base-side>p:not(.base-name){font-size:.94rem;color:var(--ft-tint);max-width:34ch}
.base-name{font-size:1rem;color:var(--ft-2);font-weight:800;margin-bottom:14px}
.base-nav{font-size:.94rem;display:grid;gap:10px}
.kicker{letter-spacing:.1em;text-transform:uppercase;font-weight:800;font-size:.8rem;margin-bottom:10px;color:var(--primary)}
.council-name{margin-bottom:14px;font-family:var(--font-display);font-weight:800}
.council-row{color:var(--ink-tint);margin-top:10px;gap:10px;display:flex;font-size:.94rem;align-items:flex-start}
.council-row .tack{color:var(--primary);flex:none}
.council-row .tack svg{height:16px;width:16px}
figure{margin:0}
.figure{display:flex;border-radius:var(--ro-md);gap:12px;border:1px solid var(--border-tint);background:var(--surface);padding:14px 16px;box-shadow:var(--sh-sm);align-items:center}
.figure-ic{height:40px;border-radius:12px;background:var(--surface-2);place-items:center;flex:none;width:40px;display:grid;color:var(--primary)}
.figure-ic svg{height:18px;width:18px}
.figure-para dt{letter-spacing:.05em;color:var(--faint);font-size:.78rem;text-transform:uppercase}
.figure-para dd{font-family:var(--font-display);font-weight:800;margin:2px 0 0;font-size:.98rem}

.badge-tag{font-weight:700;font-size:.82rem;box-shadow:var(--sh-sm);gap:8px;letter-spacing:.06em;border:1px solid var(--border);border-radius:var(--ro-pill);align-items:center;padding:8px 16px;background:var(--surface);color:var(--primary);display:inline-flex}
.badge-tag svg{height:16px;color:var(--red);width:16px}

.hook__panel{gap:30px;flex-wrap:wrap;box-shadow:var(--sh-lg);position:relative;padding:clamp(38px,5vw,64px);border-radius:var(--ro-xl);justify-content:space-between;overflow:hidden;display:flex;background:linear-gradient(100deg,var(--primary-600),var(--red) 60%,var(--peach));align-items:center;color:var(--contrast)}
.hook__blob{right:-90px;background:rgba(253,254,253,.14);position:absolute;height:320px;width:320px;border-radius:50%;top:-120px}
.hook__para{z-index:2;position:relative}
.hook__para h2{color:var(--contrast);max-width:16ch}
.hook__para p{color:rgba(253,254,253,.91);margin-top:10px;max-width:46ch}
.hook__panel .button{position:relative;z-index:2}

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

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

.specs{grid-template-columns:1.2fr 1fr;align-items:start;display:grid;gap:clamp(28px,4vw,48px)}
.specs-figures{grid-template-columns:1fr 1fr;display:grid;gap:16px}
.time{font-size:.9rem;justify-content:space-between;gap:12px;display:flex;color:var(--ink-tint)}

.button{
  cursor:pointer;justify-content:center;font-weight:700;font-size:1rem;
  align-items:center;padding:14px 26px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;border:1.5px solid transparent;
  white-space:nowrap;text-align:center;display:inline-flex;gap:9px;
  border-radius:var(--ro-pill);
}
.button svg{width:18px;height:18px}
.button--mini{font-size:.9rem;padding:10px 18px}
.button--large{padding:17px 32px;font-size:1.06rem}
.button--block{width:100%}
.button--main{color:var(--contrast);box-shadow:0 14px 26px -12px rgba(251,74,97,.73);background:linear-gradient(95deg,var(--peach),var(--red) 55%,var(--primary))}
.button--main:hover{box-shadow:0 20px 34px -12px rgba(251,74,97,.86);color:var(--contrast);transform:translateY(-2px)}
.button--ghost{background:var(--surface);color:var(--primary);border-color:var(--border)}
.button--ghost:hover{transform:translateY(-2px);background:var(--surface-2);color:var(--primary-600)}
.button--pale{color:var(--primary-600);background:var(--white)}
.button--pale:hover{color:var(--primary-600);transform:translateY(-2px);box-shadow:var(--sh-md)}
.hours{display:grid;margin-top:10px;gap:4px}
.nav-backdrop{inset:0;transition:opacity .3s ease;position:fixed;visibility:hidden;background:var(--veil);opacity:0;z-index:1090}
.nav-backdrop.shown{opacity:1;visibility:visible}

.find-form{margin:0 auto;display:flex;background:var(--surface);border-radius:var(--ro-pill);padding:12px;border:1px solid var(--border-tint);gap:12px;box-shadow:var(--sh-md)}
.find-form .input{background:transparent;border:none;box-shadow:none;font-size:1.06rem}
.find-form .input:focus{box-shadow:none}
.find-form+.towns{margin-top:40px}
:focus-visible{outline:3px solid var(--primary);border-radius:6px;outline-offset:2px}
.specs-council{box-shadow:var(--sh-md);border-radius:var(--ro-lg);padding:24px;border:1px solid var(--border-tint);background:var(--surface)}

.empty{text-align:center;padding-block:clamp(60px,10vw,140px)}
.empty__no{font-family:var(--font-display);line-height:.9;font-weight:800;font-size:clamp(6rem,20vw,13rem)}
.empty__block{justify-content:center;display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.area-box{aspect-ratio:4/3;background:var(--mauve);border-radius:var(--ro-lg);position:relative;overflow:hidden;box-shadow:var(--sh-md);border:1px solid var(--border-tint)}
.area-box.area-later{cursor:pointer}
.area-empty{text-align:center;padding:20px;gap:10px;inset:0;position:absolute;display:grid;background:linear-gradient(160deg,var(--mauve-2),var(--surface-2));place-items:center}
.area-empty p{color:var(--ink);font-weight:700}
.area-tack{filter:drop-shadow(0 10px 12px rgba(251,74,97,.5));color:var(--red)}
.area-tack svg{height:40px;width:40px;fill:currentColor;stroke:none}
.area-box iframe{height:100%;inset:0;width:100%;border:0;position:absolute}
.area-box.loaded .area-empty{display:none}
.ic-ticked svg{stroke:none;fill:currentColor}
.input-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}
.input{transition:border-color .16s,box-shadow .16s;border-radius:var(--ro-sm);color:var(--ink);font-family:inherit;border:1.5px solid var(--border);font-size:1rem;padding:13px 16px;background:var(--surface-2);width:100%}
.input:focus{outline:none;box-shadow:0 0 0 3px rgba(236,79,152,.17);border-color:var(--primary)}
textarea.input{min-height:140px;resize:vertical}
button{font-family:inherit}

.dock-hook{width:300px;background:var(--surface);position:fixed;padding:20px;z-index:80;max-width:calc(100vw - 44px);border-radius:var(--ro-lg);box-shadow:var(--sh-lg);right:22px;bottom:22px;border:1px solid var(--border-tint)}
.dock-x{cursor:pointer;display:grid;height:28px;width:28px;color:var(--ink-tint);top:12px;padding:0;position:absolute;line-height:1;background:var(--surface-2);right:12px;font-size:1.1rem;border-radius:50%;place-items:center;border:none}
.dock-x:hover{color:var(--contrast);background:var(--primary)}
.dock-name{font-family:var(--font-display);font-weight:800;padding-right:26px;font-size:1.04rem}
.dock-para{color:var(--ink-tint);font-size:.86rem;margin-top:4px;margin-bottom:14px}
.dock-trigger{box-shadow:var(--sh-lg);z-index:80;width:60px;color:var(--contrast);right:22px;justify-content:center;cursor:pointer;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--red));height:60px;bottom:22px;position:fixed;align-items:center;display:none;border:none}
.dock-trigger svg{width:26px;stroke:none;fill:currentColor;height:26px}

@media (max-width:980px){
  .contacts-row{grid-template-columns:repeat(3,1fr)}
  .contact-row{grid-template-columns:1fr}
  .contact-window{width:100%;max-width:380px;justify-self:start}
  .contact-sidebar{position:static}
  .story,.specs{grid-template-columns:1fr}
  .base-row{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .main-nav{display:none}
  .hamburger{display:flex;position:fixed;top:22px;right:18px}
}
@media (min-width:861px){
  .sidebar-small,.nav-backdrop{display:none}
}
@media (max-width:600px){
  :root{--vgap:clamp(30px,7vw,48px)}
  .base-row,.input-row{grid-template-columns:1fr}
  .contacts-row{grid-template-columns:repeat(2,1fr);gap:12px}
  .contact__core{padding:16px 10px}
  .hook__panel{flex-direction:column;align-items:stretch;padding:32px 24px}
  .hook__panel .button{width:100%;white-space:normal}
  .find-form{flex-direction:column;border-radius:var(--ro-lg)}
  .find-form .button{width:100%}
  .section--contact{padding-top:0}
  .contact-window img{aspect-ratio:1/1;max-height:46vh}
  .contact-row{margin-top:0}
  .contact-sidebar{display:flex;flex-direction:column;margin-top:14px}
  .contact-intro{order:1;margin-top:0}
  .contact-small{order:2}
  .contact-items{order:3;margin-top:16px;gap:10px}
  .contact-items .button{flex:1 1 auto}
  .contact-rail{display:none}
  .contact-figures{order:4}
  .contact-sidebar .tagline{order:5}
  .specs-figures{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .figure{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .figure-ic{width:34px;height:34px}
  .figure-para{min-width:0}
  .figure-para dd{font-size:.92rem;overflow-wrap:anywhere}
}
