@font-face{font-family:'Brygada 1918';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/brygada-1918-600-ro.woff2) format('woff2')}
@font-face{font-family:'Brygada 1918';font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/brygada-1918-600-italic-ro.woff2) format('woff2')}
@font-face{font-family:'Atkinson Hyperlegible Next';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/atkinson-hyperlegible-next-ro.woff2) format('woff2')}
:root{--ink:#1C1418;--brand:#8E1650;--paper:#FFFFFF;--blush:#FFF7FA;--tint:#FFF7FA;--line:#E6DFE2;--font-text:'Atkinson Hyperlegible Next',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--font-head:'Brygada 1918',Georgia,'Times New Roman',serif;--fs-body:1.125rem;--fs-small:1rem;--fs-h1:clamp(2.625rem,1.9rem + 3vw,4.5rem);--fs-h2:clamp(2rem,1.5rem + 2.1vw,3.25rem);--fs-h3:1.375rem;--pad:max(20px,env(safe-area-inset-left),env(safe-area-inset-right));--wrap:1200px;--text:38rem;--sec:clamp(56px,32px + 6.2vw,128px);--hdr:64px;--enter:cubic-bezier(.05,.7,.1,1);--exit:cubic-bezier(.3,0,.8,.15);--move:cubic-bezier(.2,0,0,1);--ease-out:cubic-bezier(.2,.8,.3,1);}
@media (min-width:60em){:root{--pad:max(40px,env(safe-area-inset-left),env(safe-area-inset-right))}}
@media (max-width:23.75em){:root{--fs-h2:1.8rem}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px);scroll-padding-bottom:96px}
html.is-locked,html:has(.menu[open]){overflow:hidden}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs-body)/1.6 var(--font-text);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg{display:block;max-width:100%}
svg{overflow:visible}
[hidden]{display:none!important}
h1,h2,h3{margin:0;font-family:var(--font-head);font-weight:600;text-wrap:balance}
h1{font-size:var(--fs-h1);line-height:1.05;letter-spacing:-.015em}
h2{font-size:var(--fs-h2);line-height:1.1;letter-spacing:-.01em}
h3{font-size:var(--fs-h3);line-height:1.2}
em{font-style:italic;font-weight:600}
p{margin:0 0 1em;text-wrap:pretty}
b,strong{font-weight:700}
a{color:inherit;text-decoration-thickness:1.5px;text-underline-offset:.2em}
@media (hover:hover){a:hover{text-decoration-thickness:3px}}
a,button,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--pad));margin-inline:auto;padding-inline:var(--pad)}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.nw{white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.ico{flex:none;width:22px;height:22px}
.skip{position:absolute;left:12px;top:-200px;z-index:100;background:var(--paper);color:var(--ink);padding:12px 18px;border:2px solid var(--ink);border-radius:8px;font-weight:700}
.skip:focus{top:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 28px;border:0;border-radius:999px;background:var(--brand);color:#fff;font:700 var(--fs-body)/1.3 var(--font-text);text-align:center;text-decoration:none;cursor:pointer}
@media (hover:hover){.btn:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.22em}}
.btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.btn--block{display:flex;width:100%}
.btn[aria-busy="true"]{cursor:progress}
.link-cta{display:inline-block;min-height:48px;padding:10px 0;font-weight:700;font-size:var(--fs-body);line-height:28px}
.hdr{position:sticky;top:0;z-index:40;height:var(--hdr);background:var(--paper);border-bottom:1px solid var(--line);transition:transform .32s var(--move)}
.hdr.is-hidden{transform:translateY(calc(-100% - 1px))}
.hdr__row{display:flex;align-items:center;gap:8px;height:100%}
.hdr__mark{display:flex;align-items:center;justify-content:center;min-width:48px;height:56px;margin:0 auto 0 -6px;padding:0 6px;border-radius:12px;transition:opacity .2s var(--move),visibility .2s}
html.hero-in .hdr__mark{opacity:0;visibility:hidden}
.mark{width:auto;height:44px}
.mark__hat{transform-box:fill-box;transform-origin:15% 100%}
@media (hover:hover){.intro-done .hdr__mark:hover .mark__hat{animation:doff .8s}}
.intro-done .hdr__mark.is-doffing .mark__hat{animation:doff .8s}
.hdr__nav{display:none}
.hdr__nav ul{display:flex;align-items:center;gap:8px;margin:0;padding:0;list-style:none}
.hdr__nav a{display:flex;align-items:center;min-height:48px;padding:0 12px;font-weight:700;font-size:1.0625rem;text-decoration:none;white-space:nowrap}
@media (hover:hover){.hdr__nav a:hover{text-decoration:underline;text-decoration-thickness:2px}}
.hdr__pill{display:none}
.hdr__call{display:grid;place-items:center;flex:none;width:48px;height:48px;border:2px solid var(--ink);border-radius:50%;color:var(--ink)}
@media (hover:hover){.hdr__call:hover{background:var(--blush)}}
.hdr__menu{display:none;flex:none;align-items:center;gap:10px;min-height:48px;padding:0 12px;margin-right:-12px;border:0;border-radius:12px;background:none;color:inherit;font:700 1rem/1 var(--font-text);white-space:nowrap;cursor:pointer}
.js .hdr__menu{display:flex}
.hdr__menu-nojs{display:flex;flex:none;align-items:center;min-height:48px;padding:0 8px;margin-right:-8px;font-weight:700}
.js .hdr__menu-nojs{display:none}
.burger,.burger::before,.burger::after{display:block;width:22px;height:2px;border-radius:1px;background:currentColor}
.burger{position:relative} .burger::before,.burger::after{content:"";position:absolute;left:0}
.burger::before{top:-7px} .burger::after{top:7px}
@media (min-width:75em){.hdr__nav{display:block;margin-right:8px}.hdr__pill{display:inline-block;flex:none;min-height:48px;padding:10px 22px;border:2px solid var(--ink);border-radius:999px;font-weight:700;line-height:24px;text-decoration:none;white-space:nowrap}.hdr__call,.js .hdr__menu,.hdr__menu-nojs{display:none}}
@media (min-width:75em) and (hover:hover){.hdr__pill:hover{background:var(--blush)}}
.menu{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:var(--blush);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
.menu::backdrop{background:transparent}
.menu__in{display:flex;flex-direction:column;min-height:100%;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.menu__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 8px;flex:none;min-height:var(--hdr)}
.menu__mark{display:flex;align-items:center;justify-content:center;flex:none;min-width:48px;height:56px;margin-left:-6px;padding:0 6px;border-radius:12px}
.menu__mark .mark{height:40px}
.menu__hi{margin-right:auto;font:italic 600 1.25rem/1.2 var(--font-head)}
.menu__close{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;margin:0 -12px 0 auto;border:0;border-radius:12px;background:none;color:inherit;font:700 1rem/1 var(--font-text);cursor:pointer}
.x{position:relative;display:block;width:22px;height:22px}
.x::before,.x::after{content:"";position:absolute;left:0;top:10px;width:22px;height:2px;border-radius:1px;background:currentColor}
.x::before{transform:rotate(45deg)} .x::after{transform:rotate(-45deg)}
.menu__list{margin:8px 0 32px;padding:0;list-style:none;border-top:1px solid var(--line)}
.menu__list li{padding-block:4px;border-bottom:1px solid var(--line)}
.menu__list a{display:flex;align-items:baseline;gap:16px;min-height:56px;padding:12px 0;font:600 2rem/1.1 var(--font-head);text-decoration:none}
@media (hover:hover){.menu__list a:hover{text-decoration:underline;text-decoration-thickness:2px}}
.menu__list a > span:last-child{min-width:0}
.menu__no{flex:none;width:2.25em;font:700 1rem/1 var(--font-text);letter-spacing:.12em;color:var(--brand);font-variant-numeric:tabular-nums}
.menu__call{margin-top:auto}
@media (min-width:45em){.menu__list,.menu__call{max-width:38rem}}
.menu[open]{animation:menu-in .28s var(--enter)}
.menu[open] .menu__list li,.menu[open] .menu__call{animation:menu-item .36s var(--enter) backwards}
.menu[open] .menu__list li:nth-child(2){animation-delay:60ms}
.menu[open] .menu__list li:nth-child(3){animation-delay:120ms}
.menu[open] .menu__list li:nth-child(4){animation-delay:180ms}
.menu[open] .menu__list li:nth-child(5){animation-delay:240ms}
.menu[open] .menu__list li:nth-child(6){animation-delay:300ms}
.menu[open] .menu__call{animation-delay:360ms}
.menu[open] .x::before{animation:x-a .25s var(--move) backwards}
.menu[open] .x::after{animation:x-b .25s var(--move) backwards}
.menu[open] .mark__hat{animation:mark-doff .6s .15s var(--move) backwards}
.menu[open] .menu__hi{animation:fade-in .25s .35s var(--enter) backwards}
.menu.is-closing{animation:menu-out .18s var(--exit) forwards}
@keyframes menu-in{from{opacity:0}}
@keyframes menu-out{to{opacity:0}}
@keyframes menu-item{from{opacity:0;transform:translateY(24px)}}
@keyframes x-a{from{transform:translateY(-7px)}}
@keyframes x-b{from{transform:translateY(7px)}}
.sec{padding-block:var(--sec)}
.sec--blush{background:var(--blush)}
.sec--ink{background:var(--ink);color:#fff}
.sec--ink :focus-visible{outline-color:#fff}
.sec__title{max-width:16em;margin-bottom:24px}
.sec__text{max-width:var(--text)}
.sec__quote{max-width:var(--text);margin:0 0 12px;font:italic 600 1.5rem/1.3 var(--font-head);color:var(--brand)}
.fears{max-width:var(--text);margin-bottom:32px;border-top:1px solid var(--line)}
.qa--fear summary{align-items:start;gap:0 16px}
.qa--fear summary > span{grid-column:1}
.qa--fear summary::after{grid-column:2;grid-row:1;margin-top:9px}
.fear__t{display:block;font:700 1.125rem/1.4 var(--font-text)}
.fear__q{display:block;margin-top:6px;padding-left:14px;border-left:2px solid var(--brand);font:italic 600 1.25rem/1.35 var(--font-head)}
.ph--p{max-width:var(--text)}
.fears + .ph--p{margin-bottom:32px}
@media (min-width:60em){.fears{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;align-items:start;max-width:64rem}.ph--p{max-width:52rem}}
@media (min-width:60em){.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0 64px;align-items:start}.split > .sec__title{position:sticky;top:calc(var(--hdr) + 32px)}}
.hero{padding-block:24px 0}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr)}
.hero h1{max-width:13em;margin-bottom:16px}
.hero__lede{max-width:var(--text);margin:0 0 24px}
.btn--hero{width:100%}
@media (min-width:45em){.btn--hero{width:auto;padding-inline:40px}.hero{padding-block:40px 0}}
.hero-media{position:relative;aspect-ratio:4/5;margin:32px calc(-1 * var(--pad)) 0;overflow:hidden;background:var(--paper)}
.hero-media picture,.hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.hero-media__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s var(--move)}
.hero-media.is-playing .hero-media__video{opacity:1}
@media (min-width:60em){.hero{padding-block:40px 96px}.hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:0 64px;align-items:center}.hero-media{margin:0;border-radius:16px;outline:1px solid var(--line);outline-offset:-1px}}
@media (min-width:60em){.hero__lede{font-size:1.25rem}}
@media (max-width:37.499em){.hero--offer{padding-top:16px}.hero--offer .hero-mark{margin-bottom:16px}.hero--offer h1{margin-bottom:12px}.hero--offer .hero__lede{margin-bottom:20px}.hero--offer .contact__actions{margin-top:8px}.hero--offer .hero-media{margin-top:16px}}
@media (max-width:23.75em){.hero--offer h1{font-size:2.25rem}}
.hero-mark{position:relative;width:100%;max-width:256px;aspect-ratio:548/156;margin-bottom:24px}
@media (min-width:45em){.hero-mark{max-width:384px}}
.hero-mark > svg,.hero-mark > video{position:absolute;inset:0;width:100%;height:100%}
.hero-mark > video{object-fit:contain}
.hero-mark__hello{position:absolute;left:14%;top:-4%;margin:0;font:600 clamp(1.125rem,.7rem + 1.8vw,1.75rem)/1 var(--font-head);white-space:nowrap;opacity:0;pointer-events:none}
.hero-mark .hat-fall,.hero-mark .hat-doff{transform-box:fill-box}
.hero-mark .hat-fall{transform-origin:50% 100%}
.hero-mark .hat-doff{transform-origin:15% 100%}
.intro-play .hero-mark .hat-fall{animation:mark-fall 1.7s backwards}
.intro-play .hero-mark .hat-doff{animation:mark-doff 1.4s 2.2s backwards}
.intro-play .hero-mark__hello{animation:mark-hello 2.4s 2.2s backwards}
@keyframes mark-fall{0%{transform:translateY(-140%) rotate(8deg);opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.45)}8%{opacity:1}76.47%{transform:none;animation-timing-function:cubic-bezier(.2,.7,.4,1)}88.24%{transform:translateY(-6%);animation-timing-function:cubic-bezier(.6,0,.8,.5)}100%{transform:none}}
@keyframes mark-doff{0%{transform:none;animation-timing-function:cubic-bezier(.3,0,.2,1)}28.57%{transform:translate(4%,-42%) rotate(-17deg)}71.43%{transform:translate(4%,-42%) rotate(-17deg);animation-timing-function:cubic-bezier(.5,0,.7,.4)}90%{transform:translateY(3%)}100%{transform:none}}
@keyframes mark-hello{0%{opacity:0;transform:translateY(6px)}12.5%{opacity:1;transform:none}87.5%{opacity:1;transform:none}100%{opacity:0;transform:none}}
.timeline{position:relative;display:grid;grid-template-columns:minmax(0,1fr);max-width:var(--text);margin:0;padding:0;list-style:none}
.timeline > .step{grid-column:1}
.step:nth-child(2){grid-row:1}.step:nth-child(3){grid-row:2}.step:nth-child(4){grid-row:3}.step:nth-child(5){grid-row:4}.step:nth-child(6){grid-row:5}.step:nth-child(7){grid-row:6}
.tl-rail{grid-row:1 / 6;grid-column:1;position:relative;z-index:2;pointer-events:none}
.tl-ride{position:absolute;inset:0}
.tl-hat{position:absolute;left:22px;bottom:4px;width:28px;height:auto;aspect-ratio:74/50}
.step{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:0 16px;padding-bottom:20px}
.step:last-child{padding-bottom:0}
.step:nth-child(7){padding-top:20px}
.step:not(:last-child)::after{content:"";position:absolute;left:35px;top:80px;bottom:8px;width:2px;border-radius:1px;background:var(--brand)}
.step__art{width:72px;height:72px}
.step__head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 4px;line-height:1.4}
.step__head > *{min-width:0;max-width:100%}
.step__text{margin:0}
.chip{display:inline-block;padding:3px 10px;border:1.5px solid var(--ink);border-radius:999px;font:700 var(--fs-small)/1.25 var(--font-text)}
.chip--you{border:2px solid var(--brand);color:var(--brand)}
.chip:not(.chip--you){border:0;padding:0;font:italic 600 1.125rem/1.25 var(--font-head);color:#5E5359}
.where{width:auto;max-width:var(--text);margin:24px 0 0 88px;padding:4px 0 4px 16px;border:0;border-left:2px solid var(--brand);border-radius:0;background:none;font-weight:400}
@media (min-width:60em){.step{grid-template-columns:88px minmax(0,1fr);padding-bottom:32px}.step:not(:last-child)::after{left:43px;top:96px}.tl-hat{left:30px;bottom:8px}.step__art{width:88px;height:88px}.where{margin-left:104px}}
.filter__title{font-size:clamp(1.3rem,1.15rem + .7vw,1.6rem);line-height:1.14;letter-spacing:-.01em}
.filter__title{margin-bottom:12px}
.filter__more{margin:20px 0 0}
.hats + .filter__title{margin-top:40px}
.hats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px clamp(6px,1.6vw,14px);max-width:520px;margin-top:24px}
.hat{display:block;padding-top:6px;border-bottom:2px solid var(--ink)}
.hat svg{width:100%;height:auto;aspect-ratio:74/50;transform-origin:50% 100%}
.hat.s svg{transform-origin:15% 100%}
.hat.f svg{transform:translateY(8%) rotate(var(--r,12deg));opacity:.3}
.hat:nth-child(1){--r:-12deg;--d:.2s}
.hat:nth-child(2){--r:10deg;--d:.4s}
.hat:nth-child(3){--r:-14deg;--d:.8s}
.hat:nth-child(5){--r:13deg;--d:.6s}
.hat:nth-child(6){--r:-9deg;--d:.4s}
.hat:nth-child(7){--r:11deg;--d:.2s}
.hat:nth-child(8){--r:-13deg;--d:.6s}
.hat:nth-child(9){--r:15deg;--d:.4s}
.hat:nth-child(10){--r:-10deg;--d:.2s}
.hat:nth-child(11){--r:12deg;--d:.4s}
.hat:nth-child(12){--r:-15deg;--d:.2s}
@media (max-width:37.499em){.hat:nth-child(n+7){display:none}}
.motion .hats:not(.play) .hat.f svg{transform:none;opacity:1}
.motion .hats.play:not(.done) .hat.f svg{animation:hat-fall .45s var(--d) cubic-bezier(.5,0,.9,.6) backwards}
.motion .hats.play:not(.done) .hat.s svg{animation:doff .8s 1s backwards}
@keyframes hat-fall{from{transform:none;opacity:1}}
.ph{margin:0}
.ph img{display:block;width:100%;height:auto}
.ph--inset img{border-radius:16px}
.sec--media-top{padding-top:0}
.ph--bleed{margin-bottom:40px}
.ph--v{margin-bottom:32px}
@media (min-width:60em){.ph--bleed{margin-bottom:64px}.ph--v{max-width:28rem}}
.motion .ph[data-play]:not(.play) picture{opacity:0;clip-path:inset(8%)}
.motion .ph[data-play].play:not(.done) picture{animation:ph-in .6s var(--enter) backwards}
@keyframes ph-in{from{opacity:0;clip-path:inset(8%)}}
.band{padding-block:48px var(--sec);background:var(--brand);color:#fff}
.band__in{display:grid;grid-template-columns:minmax(0,1fr)}
.band__char{justify-self:end;width:120px;height:120px;margin-bottom:8px}
.band__title{max-width:20em;margin-bottom:16px;font-size:1.75rem;line-height:1.15}
.band__big{margin:16px 0 8px;font:600 min(clamp(5.5rem,2rem + 14vw,12.5rem),26vw)/.9 var(--font-head);letter-spacing:-.03em}
.band__small{max-width:var(--text);margin:0;font-size:var(--fs-body)}
.band__small + .band__small{margin-top:12px}
.qa--band{max-width:var(--text);margin-top:24px;border-top:1px solid rgb(255 255 255/.35);border-bottom-color:rgb(255 255 255/.35)}
.qa--band .qa__a{padding-bottom:8px}
.band__list{margin:0;padding:0;list-style:none}
.band__list li{padding:12px 0;border-top:1px solid rgb(255 255 255/.3)}
.qa--band + .band__small{margin-top:24px}
.band__pay{max-width:var(--text);margin:40px 0 12px;padding-top:32px;border-top:1px solid rgb(255 255 255/.35);font:600 1.5rem/1.2 var(--font-head)}
.band :focus-visible{outline-color:#fff}
@media (min-width:45em){.band{padding-top:var(--sec)}.band__in{grid-template-columns:minmax(0,1fr) 120px;column-gap:48px}.band__char{grid-column:2;grid-row:1 / span 2;align-self:start;margin:0}.band__title{font-size:var(--fs-h2);line-height:1.1}.band__head,.band__body{grid-column:1}}
@media (min-width:60em){.band__in{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:64px;align-items:start}.band__head{grid-row:1}.band__char{grid-column:1;grid-row:2;justify-self:start;margin-top:24px}.band__body{grid-column:2;grid-row:1 / span 2;padding-top:6px}.band__big{font-size:clamp(5.5rem,1rem + 8vw,8.5rem)}}
.nots{max-width:var(--text);margin:0 0 32px;padding:0;list-style:none}
.nots li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;padding:8px 0;font-size:1.25rem;line-height:1.4;font-weight:700}
.nots li::before{content:"";align-self:start;height:1.5px;margin-top:.7em;background:#fff}
@media (min-width:60em){.sec--ink .split > div{padding-top:8px}}
.faq{max-width:46rem;border-top:1px solid var(--line)}
.qa{padding-block:4px;border-bottom:1px solid var(--line)}
.qa summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:56px;padding:12px 0;list-style:none;cursor:pointer;font:600 var(--fs-h3)/1.25 var(--font-head)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:10px;height:10px;margin-right:6px;border:solid currentColor;border-width:0 2.5px 2.5px 0;transform:translateY(-3px) rotate(45deg);transition:transform .2s var(--move)}
.qa[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.qa__a{padding:0 0 24px}
.qa__a p{max-width:var(--text);margin:0}
.motion .qa[open] .qa__a{animation:fade-in .2s var(--enter)}
@keyframes fade-in{from{opacity:0}}
.letter{max-width:34rem;padding:28px 20px 24px;background:var(--paper);border:1px solid var(--line);border-radius:4px}
.letter > p{margin:0 0 16px}
.letter > p:last-of-type{margin-bottom:24px}
.letter__sign{display:flex;align-items:center;justify-content:space-between;gap:12px}
.letter__close{margin:0}
.letter__close > span{display:block}
.letter__names{overflow-wrap:anywhere;margin-top:4px;font:italic 600 1.5rem/1.2 var(--font-head)}
.letter__seal{flex:none;width:64px;height:64px}
.letter__names > span{display:block}
@media (max-width:23.75em){.letter__names{font-size:1.25rem}}
@media (min-width:45em){.letter{padding:48px}}
.contact{max-width:var(--text)}
.contact__actions{display:flex;flex-direction:column;gap:12px;margin:24px 0 0}
.contact__actions .btn{width:100%}
@media (min-width:45em){.contact__actions{flex-direction:row;flex-wrap:wrap}.contact__actions .btn{width:auto}}
.contact .contact__actions + p{margin-top:24px}
.btn--ghost{padding-block:12px;background:var(--paper);color:var(--ink);border:2px solid var(--ink)}
.contact__lede{max-width:var(--text);margin:0 0 24px}
.contact__hours{max-width:var(--text);margin:0 0 8px}
.contact__num{display:block;width:max-content;max-width:100%;margin-bottom:12px;font:600 2.5rem/1.2 var(--font-head);font-variant-numeric:lining-nums tabular-nums;text-decoration-thickness:2px;text-decoration-color:var(--brand);text-underline-offset:.14em;white-space:nowrap}
.ftr{padding-block:56px calc(56px + env(safe-area-inset-bottom));background:var(--blush);border-top:1px solid var(--line)}
.ftr__art{height:160px;margin:0 calc(-1 * var(--pad)) 32px;overflow:hidden}
.ftr__art > svg{width:640px;height:160px;margin-left:calc(50% - 267px)}
.ftr__art > img{width:100%;height:160px;object-fit:cover;object-position:35% 100%}
@media (min-width:45em){.ftr__art{height:auto;max-width:56rem;margin-inline:0;overflow:visible}.ftr__art > svg,.ftr__art > img{width:100%;height:auto;margin-left:0;aspect-ratio:4/1}}
.ftr__mark{width:auto;height:56px}
.ftr__signoff{margin:16px 0 24px;font:600 var(--fs-h3)/1.25 var(--font-head)}
.ftr__nav ul{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0 0 16px;padding:0;list-style:none}
.ftr__nav a{display:inline-flex;align-items:center;min-height:48px;font-weight:700}
.ftr__legal{margin:0;font-size:var(--fs-small)}
.fab{position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:12px;pointer-events:none}
.fab > a{pointer-events:auto;transform:translateY(calc(100% + 32px));visibility:hidden;transition:transform .2s var(--exit),visibility 0s .2s}
.fab > a.is-on{transform:none;visibility:visible;transition:transform .3s var(--enter)}
.fab > a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.pill{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 24px 0 20px;border-radius:999px;background:var(--brand);color:#fff;font:700 var(--fs-body)/1 var(--font-text);text-decoration:none;white-space:nowrap;box-shadow:0 0 0 2px #fff,0 6px 20px rgba(28,20,24,.22)}
.wa{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);box-shadow:0 0 0 2px #fff,0 6px 20px rgba(28,20,24,.18)}
@media (min-width:75em){.fab{display:none}}
.vig{display:block}
.vig > *{display:block;width:100%;height:100%}
/*! MERGED: lab/design/art/art-motion.css, byte for byte (qa/tools/strip-comments.mjs leaves this block alone) */
/* ==========================================================================
   Cumsecade vignettes · motion for art/inline/*.svg
   Trigger contract (site JS): the wrapper .vig gets .play when it scrolls into
   view and .done when the act is over; html gets .motion only when motion is
   allowed. No classes = the finished drawing.
     start state  .motion .vig:not(.play) ...
     the act      .motion .vig.play:not(.done) ...
   Timing (founder, 2026-11-04: "the second they appear, the animation is
   already gone"): each act 2.35-3.0 s including its 0.15 s delay, and the key
   pose is HELD inside the keyframes. Totals: anunțul 2.55 · telefoanele 2.65 ·
   actele 2.75 · în scris 2.35 · vizionarea 2.75 · semnătura 3.0 · band 2.55 ·
   seal 2.35 · footer walk 2.75. Add .done after the total, not before.
   Transform, opacity and stroke-dashoffset only. Steps 1-5 move only the prop
   (the hat stays still); step 6 and the band carry the one hat moment.
   ========================================================================== */
@media (prefers-reduced-motion: no-preference) {

/* the step-6 hat lifts above the box and the seal starts larger than it: let them show */
.motion .vig-semnatura,.motion .vig-seal{overflow:visible}

/* 1 · anunțul — 2.4 s: the sign rises out of the ground (clipped at the ground line),
   HOLDS at full height, then settles onto its stake */
.motion .vig:not(.play) .vig-anuntul .vig-prop{transform:translateY(100px)}
.motion .vig.play:not(.done) .vig-anuntul .vig-prop{animation:vig-rise 2.4s .15s both}
@keyframes vig-rise{
  0%{transform:translateY(100px);animation-timing-function:cubic-bezier(.22,.6,.3,1)}
  40%{transform:translateY(-6px)}
  62%{transform:translateY(-6px);animation-timing-function:cubic-bezier(.45,0,.55,1)}
  80%{transform:translateY(1.5px);animation-timing-function:cubic-bezier(.45,0,.55,1)}
  100%{transform:none}}

/* 2 · telefoanele — 2.4 s: two rings, spaced like a real phone (rattle away from the hat),
   the arcs pulse with each ring and stay */
.vig-telefoanele .vig-prop{transform-box:fill-box;transform-origin:80% 100%}
.vig-telefoanele .vig-ring{transform-box:fill-box;transform-origin:-21% 110%}
.motion .vig:not(.play) .vig-telefoanele .vig-ring{opacity:0}
.motion .vig.play:not(.done) .vig-telefoanele .vig-prop{animation:vig-rattle 2.4s .15s both}
.motion .vig.play:not(.done) .vig-telefoanele .vig-ring1{animation:vig-pulse 2.4s .15s both}
.motion .vig.play:not(.done) .vig-telefoanele .vig-ring2{animation:vig-pulse 2.4s .25s both}
@keyframes vig-rattle{
  0%,24%,42%,66%,100%{transform:none}
  6%,48%{transform:rotate(7deg)}
  12%,54%{transform:rotate(1deg)}
  18%,60%{transform:rotate(6deg)}}
@keyframes vig-pulse{
  0%{opacity:0;transform:scale(.4)}
  12%{opacity:1;transform:none}
  30%{opacity:0;transform:scale(1.2)}
  31%,42%{opacity:0;transform:scale(.4)}
  54%,100%{opacity:1;transform:none}}

/* 3 · actele — 2.6 s: the lens drifts in from the right across the document, stops over the c,
   PAUSES while the magnified view comes up inside it */
.motion .vig:not(.play) .vig-actele .vig-prop{transform:translateX(90px);opacity:0}
.motion .vig:not(.play) .vig-actele .vig-zoom{opacity:0}
.motion .vig:not(.play) .vig-actele .vig-plain{opacity:1}
.motion .vig.play:not(.done) .vig-actele .vig-prop{animation:vig-slide 2.6s .15s both}
.motion .vig.play:not(.done) .vig-actele .vig-zoom{animation:vig-in 2.6s .15s both}
.motion .vig.play:not(.done) .vig-actele .vig-plain{animation:vig-out 2.6s .15s both}
@keyframes vig-slide{
  0%{transform:translateX(90px);opacity:0;animation-timing-function:cubic-bezier(.25,.55,.3,1)}
  10%{opacity:1}
  50%,100%{transform:none;opacity:1}}
@keyframes vig-in{0%,50%{opacity:0}70%,100%{opacity:1}}
@keyframes vig-out{0%,50%{opacity:1}70%,100%{opacity:0}}

/* 4 · în scris — the bubble opens from its tail (0.8 s), then the tick draws slowly (1.2 s) */
.vig-in-scris .vig-prop{transform-box:fill-box;transform-origin:17% 100%}
.motion .vig:not(.play) .vig-in-scris .vig-prop{opacity:0;transform:scale(.9)}
.motion .vig:not(.play) .vig-in-scris .vig-tick{stroke-dasharray:1 1.1;stroke-dashoffset:1.05}
.motion .vig.play:not(.done) .vig-in-scris .vig-prop{animation:vig-pop .8s .15s both}
.motion .vig.play:not(.done) .vig-in-scris .vig-tick{stroke-dasharray:1 1.1;animation:vig-draw 1.2s 1.15s both cubic-bezier(.45,.05,.4,1)}
@keyframes vig-pop{
  0%{opacity:0;transform:scale(.9);animation-timing-function:cubic-bezier(.3,.6,.4,1)}
  55%{opacity:1;transform:scale(1.02);animation-timing-function:ease-in-out}
  100%{opacity:1;transform:none}}
@keyframes vig-draw{0%{stroke-dashoffset:1.05}100%{stroke-dashoffset:0}}

/* 5 · vizionarea — 2.6 s: the door swings open, a touch past, settles and HOLDS open while the
   light fades in. scaleX on the leaf at the hinge; the free edge + knob translate on the same
   keyframes (x = -14 (s-1)), so the upright stroke never fattens */
.vig-vizionarea .vig-leaf{transform-box:fill-box;transform-origin:100% 50%}
.motion .vig:not(.play) .vig-vizionarea .vig-leaf{transform:scaleX(4)}
.motion .vig:not(.play) .vig-vizionarea .vig-leaf-edge{transform:translateX(-42px)}
.motion .vig:not(.play) .vig-vizionarea .vig-light{opacity:0}
.motion .vig.play:not(.done) .vig-vizionarea .vig-leaf{animation:vig-swing 2.6s .15s both}
.motion .vig.play:not(.done) .vig-vizionarea .vig-leaf-edge{animation:vig-swing-edge 2.6s .15s both}
.motion .vig.play:not(.done) .vig-vizionarea .vig-light{animation:vig-light 2.6s .15s both}
@keyframes vig-swing{
  0%{transform:scaleX(4);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  50%{transform:scaleX(.9);animation-timing-function:ease-in-out}
  64%,100%{transform:none}}
@keyframes vig-swing-edge{
  0%{transform:translateX(-42px);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  50%{transform:translateX(1.4px);animation-timing-function:ease-in-out}
  64%,100%{transform:none}}
@keyframes vig-light{0%,46%{opacity:0}76%,100%{opacity:1}}

/* 6 · semnătura — the pen writes at a readable pace (1.4 s), then the site's doff (1.4 s)
   with a clear 0.6 s hold at the top */
.vig-semnatura .vig-hat{transform-box:fill-box;transform-origin:15% 100%}
.motion .vig:not(.play) .vig-semnatura .vig-pen-line{stroke-dasharray:1 1.1;stroke-dashoffset:1.05}
.motion .vig.play:not(.done) .vig-semnatura .vig-pen-line{stroke-dasharray:1 1.1;animation:vig-draw 1.4s .15s both cubic-bezier(.35,.1,.65,.9)}
.motion .vig.play:not(.done) .vig-semnatura .vig-hat{animation:vig-doff 1.4s 1.6s both}
@keyframes vig-doff{
  0%{transform:none;animation-timing-function:cubic-bezier(.3,0,.2,1)}
  25%{transform:translate(4%,-42%) rotate(-17deg)}
  68%{transform:translate(4%,-42%) rotate(-17deg);animation-timing-function:cubic-bezier(.5,0,.7,.4)}
  88%{transform:translateY(3%)}
  100%{transform:none}}

/* band — 2.4 s: the hat doffs from the seat, HOLDS a little higher, then settles into the
   greeting pose. That pose is the hat's transform attribute; transform:none (start) seats it,
   the act ends on the same pose in CSS. */
.motion .vig:not(.play) .vig-band .vig-hat{transform:none}
.motion .vig:not(.play) .vig-band .vig-swish{opacity:0}
.motion .vig.play:not(.done) .vig-band .vig-hat{transform-box:view-box;transform-origin:0 0;animation:vig-doff-up 2.4s .15s both}
.motion .vig.play:not(.done) .vig-band .vig-swish{animation:vig-swish 2.4s .15s both}
@keyframes vig-doff-up{
  0%{transform:none;animation-timing-function:cubic-bezier(.3,0,.2,1)}
  32%{transform:translate(3.6px,-23px) translate(.21px,-52.13px) rotate(-20deg) translate(-.21px,52.13px)}
  62%{transform:translate(3.6px,-23px) translate(.21px,-52.13px) rotate(-20deg) translate(-.21px,52.13px);animation-timing-function:ease-in-out}
  100%{transform:translate(3.08px,-19.33px) translate(.21px,-52.13px) rotate(-17deg) translate(-.21px,52.13px)}}
@keyframes vig-swish{0%,12%{opacity:0}30%,100%{opacity:1}}

/* seal — 2.2 s: a stamp press. Down from 1.15 and a 4° turn, HELD pressed, a small release, settle */
.vig-seal .vig-prop{transform-box:fill-box;transform-origin:50% 50%}
.motion .vig:not(.play) .vig-seal .vig-prop{opacity:0;transform:scale(1.15) rotate(-4deg)}
.motion .vig.play:not(.done) .vig-seal .vig-prop{animation:vig-press 2.2s .15s both}
@keyframes vig-press{
  0%{opacity:0;transform:scale(1.15) rotate(-4deg);animation-timing-function:cubic-bezier(.5,0,.75,.35)}
  38%{opacity:1;transform:scale(.97) rotate(0deg)}
  56%{transform:scale(.97);animation-timing-function:ease-out}
  76%{transform:scale(1.012);animation-timing-function:ease-in-out}
  100%{opacity:1;transform:none}}

/* f-blocks — 2.6 s: the c-hat strolls the last 120 px along the pavement, a small bob per step,
   then stands */
.motion .vig:not(.play) .vig-blocks .vig-walker{transform:translateX(-120px)}
.motion .vig.play:not(.done) .vig-blocks .vig-walker{animation:vig-walk 2.6s .15s both linear}
@keyframes vig-walk{
  0%{transform:translateX(-120px)}
  11%{transform:translate(-105px,-3px)}
  22%{transform:translate(-90px,0)}
  33%{transform:translate(-75px,-3px)}
  44%{transform:translate(-60px,0)}
  55%{transform:translate(-45px,-3px)}
  66%{transform:translate(-30px,0)}
  77%{transform:translate(-15px,-3px);animation-timing-function:ease-out}
  90%,100%{transform:none}}
}

@media (prefers-reduced-motion: reduce) {
  .vig .vig-art *{animation:none!important}
}
/*! /MERGED */
@keyframes doff{0%{transform:none;animation-timing-function:cubic-bezier(.3,0,.2,1)}30%{transform:translate(4%,-42%) rotate(-17deg)}68%{transform:translate(4%,-42%) rotate(-17deg);animation-timing-function:cubic-bezier(.5,0,.7,.4)}88%{transform:translateY(3%)}100%{transform:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@keyframes tl-ride{from{transform:translateY(-100%)}to{transform:none}}
@supports (animation-timeline: view()){@media (prefers-reduced-motion:no-preference){.js .timeline{view-timeline-name:--tl-run}.js .tl-ride{animation:tl-ride auto linear both;animation-timeline:--tl-run;animation-range:entry 20% exit 60%}}}
