/* =========================================================
   CIAO Travels · contact.html  (page-scoped, prefix .ct-)
   v2: hero = Captain CIAO on the phone behind the live HQ desk
   (split-flap status + Verona/Colombo clocks; v3: no bubble) · one
   straight cape · the switchboard (v3: no header, the giant
   WhatsApp number is the opener) · a clean editorial form with
   a live message preview (op-bubble cameo) · 3-question FAQ
   (op-side) · the HQ visit + map ends the page (op-photo).
   No finale, no luggage tags, no boarding pass, no stamps.
   ========================================================= */

/* ---------- 1 · HERO (ink) ---------- */
.ct-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--white);
  padding:calc(var(--hdr) + clamp(16px,2vw,28px)) 0 clamp(48px,5vw,72px)}
.ct-hero__bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.ct-hero__bg::before{content:"";position:absolute;inset:0;
  background:radial-gradient(48% 62% at 78% 30%,rgba(253,182,28,.2),transparent 62%),
             radial-gradient(38% 44% at 4% 104%,rgba(253,182,28,.09),transparent 70%)}
.ct-hero__bg::after{content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(253,182,28,.2) 1.2px,transparent 1.5px);background-size:16px 16px;
  -webkit-mask:linear-gradient(115deg,transparent 34%,#000 78%);mask:linear-gradient(115deg,transparent 34%,#000 78%);opacity:.5}
.ct-hero__grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(28px,4vw,64px);align-items:end}
.ct-hero .phero__crumb{color:var(--white)}

.ct-hero__title{font-weight:900;text-transform:uppercase;letter-spacing:-.055em;line-height:.84;font-size:clamp(3.6rem,9.6vw,9.4rem);margin:.08em 0 .3em}
.ct-l{display:block;overflow:hidden;padding:.02em .04em .06em 0;margin-bottom:-.06em}
.ct-l>span{display:inline-block}
.ct-l--y{color:var(--y)}
.ct-l--s{font-family:var(--f-script);font-weight:400;text-transform:none;letter-spacing:0;color:var(--y);font-size:.38em;line-height:1.1;
  margin:0 0 .02em .12em;transform:rotate(-4deg);transform-origin:0 100%;overflow:visible}
@media (prefers-reduced-motion:no-preference){
  .ct-l>span{animation:ctSlot 1.05s var(--ease) both}
  .ct-l:nth-child(2)>span{animation-delay:.09s}
  .ct-l:nth-child(3)>span{animation-delay:.18s}
  .ct-l--s>span{animation-name:ctSlotS}
}
@keyframes ctSlot{from{transform:translateY(108%)}}
@keyframes ctSlotS{from{transform:translateY(30%) rotate(-6deg);clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

.ct-hero__lead{font-size:clamp(1.02rem,1.3vw,1.2rem);line-height:1.6;color:#CFCFD6;max-width:46ch}
.ct-hero__lead .si{color:var(--y);font-weight:400}
.ct-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ct-hero__cta .btn--ghost{--fg:var(--white)}
.ct-hero__formlink{display:inline-flex;align-items:center;gap:8px;margin-top:20px;min-height:44px;font-weight:700;font-size:.92rem;color:var(--y);border-bottom:2px solid transparent;transition:border-color .25s}
.ct-hero__formlink .icon{width:18px;height:18px;transform:rotate(90deg);transition:transform .3s var(--ease)}
.ct-hero__formlink:hover{border-color:var(--y)}
.ct-hero__formlink:hover .icon{transform:rotate(90deg) translateX(4px)}

/* stage: Captain CIAO takes the call standing behind the HQ desk (the panel hides him from the hips down) */
.ct-hero__stage{position:relative;padding-top:clamp(8px,1.4vw,18px)}
/* no bubble (v3): he stands centred behind the desk, like an anchor at the news desk */
.ct-hero__capwrap{position:relative;z-index:1;width:min(56%,322px);margin:0 auto -41%}
.ct-hero__cap{width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.55))}

/* the HQ desk: black, with the brand's comic hard shadow (no glass) */
.ct-hq{position:relative;z-index:2;border-radius:var(--r-l);padding:18px clamp(18px,2vw,26px) 16px;
  background:linear-gradient(180deg,#1C1C20,#121214);border:2px solid #2E2E35;
  box-shadow:8px 8px 0 var(--y),0 40px 80px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.07)}
.ct-hq::before{content:"";position:absolute;left:28px;right:28px;top:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--y),transparent);opacity:.7}
.ct-hq__top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--mist)}
.ct-hq__live{display:inline-flex;align-items:center;gap:7px;color:var(--white)}
.ct-hq__live i{width:8px;height:8px;border-radius:50%;background:#FF4D4D;box-shadow:0 0 0 0 rgba(255,77,77,.6)}
@media (prefers-reduced-motion:no-preference){.ct-hq__live i{animation:ctLive 1.6s infinite}}
@keyframes ctLive{70%{box-shadow:0 0 0 8px rgba(255,77,77,0)}100%{box-shadow:0 0 0 0 rgba(255,77,77,0)}}
.ct-hq__row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.ct-hq__dot{flex:none;width:22px;height:22px;border-radius:50%;background:#5A5A63;box-shadow:inset 0 -3px 0 rgba(0,0,0,.35)}
.ct-hq__dot.is-open{background:#2BD46B;box-shadow:0 0 18px rgba(43,212,107,.7),inset 0 -3px 0 rgba(0,0,0,.25)}
.ct-hq__status{margin-top:12px;font-weight:800;font-size:clamp(.98rem,1.2vw,1.08rem);line-height:1.35;color:var(--white);text-wrap:balance}
.ct-hq__today{margin-top:4px;font-size:.84rem;color:var(--mist)}
.ct-hq__clocks{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-top:14px;padding-top:16px;border-top:2px dashed rgba(255,255,255,.12)}
.ct-hq__diff{display:grid;justify-items:center;gap:6px;color:var(--y);padding-bottom:44px}
.ct-hq__diff .plane{width:26px;height:26px}
.ct-hq__diff b{font-weight:900;font-size:1.05rem;letter-spacing:-.01em;padding:.25rem .55rem;border:1.5px dashed rgba(253,182,28,.5);border-radius:999px}
.ct-hq__note{margin-top:10px;font-size:.82rem;line-height:1.45;color:var(--mist);text-align:center;text-wrap:balance}
.ct-hq__note b{color:var(--white)}

/* split-flap status board (real 3D flaps): the page's one flap moment, showing live data */
.ct-board{display:flex;gap:5px;perspective:420px;font-size:clamp(1.8rem,2.9vw,2.6rem)}
.ct-fl{--fd:70ms;position:relative;display:block;width:.8em;height:1.2em;font-weight:800;line-height:1.2em;text-align:center;color:var(--y);text-transform:uppercase;border-radius:7px;background:#232328;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 6px 10px -4px rgba(0,0,0,.6)}
.ct-board.is-closed .ct-fl{color:var(--white)}
.ct-fl>span{position:absolute;left:0;right:0;height:50%;overflow:hidden;background:linear-gradient(180deg,#2A2A30,#202025);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.ct-fl>span::before{content:attr(data-c);position:absolute;left:0;right:0;height:1.2em;line-height:1.2em;text-align:center}
.ct-fl__t,.ct-fl__ft{top:0;border-radius:7px 7px 0 0;transform-origin:50% 100%}
.ct-fl__b,.ct-fl__fb{bottom:0;border-radius:0 0 7px 7px;transform-origin:50% 0;background:linear-gradient(180deg,#1C1C21,#18181C)!important}
.ct-fl__b::before,.ct-fl__fb::before{top:-.6em}
.ct-fl::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;margin-top:-.5px;background:rgba(0,0,0,.7);z-index:3}
.ct-fl__ft,.ct-fl__fb{visibility:hidden;z-index:2}
.ct-fl__fb{transform:rotateX(90deg)}
.ct-fl.is-flip .ct-fl__ft,.ct-fl.is-flip .ct-fl__fb{visibility:visible}
.ct-fl.is-flip .ct-fl__ft{animation:ctFlT var(--fd) ease-in forwards}
.ct-fl.is-flip .ct-fl__fb{animation:ctFlB var(--fd) ease-out var(--fd) both}
@keyframes ctFlT{from{transform:rotateX(0)}to{transform:rotateX(-90deg)}}
@keyframes ctFlB{from{transform:rotateX(90deg)}to{transform:rotateX(0)}}

/* station clocks */
.ct-clock{display:grid;justify-items:center;gap:8px;text-align:center;min-width:0}
.ct-clock__dial{width:clamp(92px,7.6vw,112px);aspect-ratio:1;border-radius:50%;box-shadow:0 14px 28px -12px rgba(0,0,0,.8)}
.ct-clock svg{display:block;width:100%;height:100%;overflow:visible}
.ct-clock .cf{fill:#141417;stroke:#34343B;stroke-width:3}
.ct-clock .ck{stroke:rgba(255,255,255,.4);stroke-width:1.2}
.ct-clock .ck--h{stroke:var(--white);stroke-width:3.4}
.ct-clock .cc{font:800 9px var(--f);letter-spacing:.14em;fill:var(--mist);text-anchor:middle}
.ct-clock .chh,.ct-clock .cmh{stroke:var(--white);stroke-linecap:round}
.ct-clock .chh{stroke-width:5.4}.ct-clock .cmh{stroke-width:3.6}
.ct-clock .csh line{stroke:var(--y);stroke-width:1.7}
.ct-clock .csh circle{fill:var(--y)}
.ct-clock .cpin{fill:var(--y)}
.ct-clock--y .cf{fill:var(--y);stroke:var(--y-600)}
.ct-clock--y .ck{stroke:rgba(11,11,12,.45)}
.ct-clock--y .ck--h{stroke:var(--ink)}
.ct-clock--y .cc{fill:var(--y-ink)}
.ct-clock--y .chh,.ct-clock--y .cmh{stroke:var(--ink)}
.ct-clock--y .csh line{stroke:var(--sl-maroon)}
.ct-clock--y .csh circle,.ct-clock--y .cpin{fill:var(--sl-maroon)}
.ct-clock figcaption{display:grid;gap:1px;line-height:1.25}
.ct-clock figcaption b{font-weight:900;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}
.ct-clock__time{font-weight:900;font-size:clamp(1.25rem,1.7vw,1.55rem);letter-spacing:-.02em;color:var(--y)}
.ct-clock figcaption small{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:.72rem;font-weight:600;color:var(--mist)}
.ct-clock figcaption small svg{width:14px;height:14px;color:var(--y)}

/* the page's one cape: straight diagonal, ink over yellow */
.ct-cape{color:var(--ink);background:var(--y)}

/* ---------- 2 · CHANNELS: the switchboard (yellow) ---------- */
.ct-ways{padding-top:clamp(36px,4.4vw,64px);padding-bottom:clamp(56px,7vw,112px)}
/* no opener: the giant WhatsApp number is the first thing on the yellow; a quiet footer line closes the board */
.ct-ways__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;margin-top:clamp(30px,3.6vw,48px);padding-top:clamp(20px,2.2vw,28px);border-top:2px dashed rgba(11,11,12,.35)}
.ct-ways__note{max-width:64ch;font-size:.98rem;line-height:1.5;color:var(--y-ink);text-wrap:pretty}
/* desktop: the vCard leads the line, away from the dock corner */
@media (min-width:641px){.ct-ways__foot{justify-content:flex-start}.ct-ways__foot .ct-vcard{order:-1}}
.ct-ways__note b{font-weight:900;color:var(--ink)}
.ct-vcard small{font-size:.72rem;font-weight:800;letter-spacing:.06em;opacity:.6}

.ct-dir{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3vw,48px)}
.ct-ch{position:relative;display:flex;flex-direction:column;min-width:0;padding:16px 0 6px;border-top:3px solid var(--ink)}
.ct-ch__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ct-ch__k{display:flex;align-items:center;gap:10px;min-width:0;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.ct-ch__k svg{flex:none;width:34px;height:34px;padding:7px;box-sizing:border-box;border-radius:50%;background:var(--ink);color:var(--y)}
.ct-dir .ct-ch__v{margin-top:14px;font-weight:900;font-size:clamp(1.3rem,1.9vw,1.85rem);letter-spacing:-.035em;line-height:1.05;overflow-wrap:anywhere;color:var(--ink)}
.ct-dir .ct-ch__n{margin-top:8px;max-width:38ch;font-size:.95rem;line-height:1.5;color:var(--y-ink);flex:1}
.ct-ch__acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
/* WhatsApp + mobile: the number the whole agency lives on, set as a poster line */
.ct-ch--main{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:clamp(24px,4vw,64px);padding:22px 0 clamp(36px,4vw,56px)}
.ct-ch--main .ct-ch__top{grid-column:1/-1}
.ct-dir .ct-ch--main .ct-ch__v{grid-column:1/-1;margin-top:clamp(14px,1.6vw,22px);font-size:clamp(2.1rem,8.6vw,8.2rem);letter-spacing:-.055em;line-height:.88;white-space:nowrap}
.ct-ch--main .ct-ch__k svg{background:var(--white);color:var(--ink);border:2px solid var(--ink)}
.ct-ch--main .ct-ch__k svg path:first-child{fill:var(--wa);stroke:var(--wa)}
.ct-ch--main .ct-ch__k svg path:nth-child(2){stroke:var(--white)}
.ct-dir .ct-ch--main .ct-ch__n{max-width:44ch;font-size:1.02rem;margin-top:14px}
.ct-ch--main .ct-ch__acts{margin-top:14px;justify-content:flex-end}
.ct-copy{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--ink);color:var(--ink);transition:background .2s,color .2s,transform .25s var(--ease-back)}
.ct-copy svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ct-copy:hover{background:var(--ink);color:var(--y);transform:rotate(-8deg)}
.ct-copy.is-done{background:var(--wa);color:#06321a;border-color:#06321a}

/* ---------- 3 · SMART FORM (paper) ---------- */
.ct-form__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0 clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(30px,4vw,52px)}
.ct-form__head .op-bubble{margin-bottom:0}
.ct-form__lead{max-width:44ch;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.6;color:var(--steel);text-wrap:pretty;padding-bottom:.3em}
/* round avatar: the page's own pose, cropped on the face and the phone */
.ct-av{--av-x:-104%;--av-y:-10%;--av-w:372%}

/* the sheet: white paper with an ink frame; the live preview is the dark right column */
.ct-sheet{display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,29vw,390px);background:var(--white);border:3px solid var(--ink);border-radius:28px;box-shadow:10px 10px 0 var(--ink);overflow:hidden}
.ct-sheet__main{min-width:0}
.ct-sheet.is-done{grid-template-columns:minmax(0,1fr)}
.ct-sheet.is-done .ct-prev{display:none}
.ct-f{padding:clamp(24px,3.2vw,40px) clamp(20px,3.2vw,40px) clamp(24px,3vw,34px)}
.ct-f__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 24px}
.ct-f__full{grid-column:1/-1}
.ct-f__cell{align-content:start}
.ct-f .field>label,.ct-f .label{display:block;color:var(--ink)}
.ct-f .label small,.ct-opt{font-weight:600;letter-spacing:.02em;text-transform:none;opacity:.6}
/* background-color only: the shorthand would wipe the .select chevron */
.ct-f .input,.ct-f .select,.ct-f .textarea{background-color:var(--paper)}
.ct-f .input:focus,.ct-f .select:focus,.ct-f .textarea:focus{background-color:var(--white);box-shadow:4px 4px 0 var(--ink)}
.ct-f [aria-invalid="true"]{border-color:var(--sl-maroon);background-color:#FFF5F7;box-shadow:4px 4px 0 rgba(141,21,58,.22)}
.ct-hint{font-size:.78rem;color:var(--steel)}
.ct-count{text-align:right;margin-top:-2px}
/* inline hint under the service select (phones/tablets, where the preview column is hidden) */
.ct-svc-hint{padding:12px 14px;border-radius:14px;background:var(--ink);color:var(--white);font-size:.84rem;line-height:1.45}
.ct-svc-hint .ct-stub{margin:0}
.ct-svc-hint a{color:var(--y);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.ct-svc-hint :focus-visible{outline-color:var(--y)}
.ct-svc-hint.has-stub{padding:0;background:none}
@media (min-width:1025px){.ct-svc-hint{display:none!important}}
.ct-err{display:flex;align-items:flex-start;gap:7px;font-size:.84rem;font-weight:700;color:var(--sl-maroon);line-height:1.35}
.ct-err::before{content:"!";flex:none;display:grid;place-items:center;width:18px;height:18px;margin-top:1px;border-radius:50%;background:var(--sl-maroon);color:var(--white);font-size:.72rem;font-weight:900}
.ct-errsum{margin-bottom:22px;padding:16px 18px;border:2.5px solid var(--sl-maroon);border-left-width:8px;border-radius:14px;background:#FFF5F7;color:var(--sl-maroon)}
.ct-errsum b{display:block;font-weight:800;margin-bottom:6px}
.ct-errsum ul{list-style:none;display:grid;gap:4px}
.ct-errsum a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ct-f__pax{display:flex;flex-wrap:wrap;gap:16px 34px;align-items:flex-start}
.ct-step{display:grid;gap:8px}
.ct-step .stepper button{background:var(--white);border-color:var(--ink)}
.ct-step .stepper button:disabled{opacity:.3;cursor:not-allowed}
.ct-step .stepper output{min-width:2.2ch}
.ct-fs{border:0;min-width:0}
.ct-fs legend{margin-bottom:10px;padding:0}
.ct-chips{display:flex;flex-wrap:wrap;gap:8px}
.ct-chip{position:relative;cursor:pointer}
.ct-chip input,.ct-via__opt input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ct-chip span{display:inline-flex;align-items:center;min-height:44px;padding:.55rem 1.05rem;border-radius:999px;border:2px solid var(--ink);font-weight:700;font-size:.88rem;background:var(--white);transition:background .2s,color .2s,transform .2s var(--ease-back)}
.ct-chip:hover span{background:var(--y-100)}
.ct-chip input:checked+span{background:var(--ink);color:var(--y);transform:translateY(-2px)}
.ct-chip input:focus-visible+span,.ct-via__opt input:focus-visible+.ct-via__box{outline:3px solid var(--ink);outline-offset:3px}
.ct-via{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ct-via__opt{cursor:pointer;min-width:0}
.ct-via__box{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;min-height:74px;padding:14px 16px;border:2px solid var(--ink);border-radius:18px;background:var(--white);transition:background .2s,box-shadow .2s,transform .2s}
.ct-via__box svg{grid-row:1/3;width:30px;height:30px;padding:6px;box-sizing:content-box;border-radius:50%;background:var(--paper);border:2px solid var(--ink)}
.ct-via__box b{font-weight:800}
.ct-via__box small{font-size:.78rem;color:var(--steel);overflow-wrap:anywhere}
.ct-via__opt:hover .ct-via__box{background:var(--y-100)}
.ct-via__opt input:checked+.ct-via__box{background:var(--y);box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}
.ct-via__opt input:checked+.ct-via__box svg{background:var(--white)}
.ct-via__opt input:checked+.ct-via__box small{color:var(--y-ink)}
.ct-f__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:30px;padding-top:24px;border-top:2px solid var(--line)}
.ct-f__privacy{display:flex;align-items:flex-start;gap:9px;max-width:46ch;font-size:.82rem;color:var(--steel)}
.ct-f__privacy svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--ink)}
.ct-f__submit{min-width:min(100%,280px)}
.ct-f__ico{display:grid;flex:none}
.ct-f__ico:empty{display:none}

/* live preview column (ink) */
.ct-prev{position:relative;background:var(--ink);color:var(--white);min-width:0}
.ct-prev__in{position:sticky;top:calc(var(--hdr-offset,0px) + 20px);display:grid;gap:16px;padding:clamp(22px,2.4vw,30px) clamp(18px,2vw,26px)}
.ct-prev__head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.ct-prev__t{color:var(--y)}
.ct-prev__state{display:inline-flex;align-items:center;gap:7px;color:var(--mist);white-space:nowrap}
.ct-prev__state::before{content:"";width:8px;height:8px;border-radius:50%;background:#6B6B75}
.ct-prev__state.is-ready{color:var(--white)}
.ct-prev__state.is-ready::before{background:#2BD46B;box-shadow:0 0 10px rgba(43,212,107,.7)}
.ct-prev__msg{display:grid;gap:8px}
.ct-prev__msg pre{margin:0;max-height:min(46vh,400px);overflow:auto;padding:16px 16px 14px;border-radius:18px 18px 4px 18px;background:var(--ink-3);border:1px solid var(--ink-4);
  white-space:pre-wrap;overflow-wrap:anywhere;font:500 .84rem/1.6 var(--f);color:#E9E9EE;scrollbar-width:thin}
.ct-prev__msg pre .is-empty{color:#7C7C86}
.ct-prev__via{justify-self:end;font:700 .66rem ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--mist)}
.ct-prev__hint{font-size:.86rem;line-height:1.5;color:#D6D6DC}
.ct-prev__hint:empty{display:none}
.ct-prev__hint p{padding:14px 16px;border-radius:14px;border:1.5px dashed var(--ink-4)}
.ct-prev__hint a{color:var(--y);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.ct-prev :focus-visible{outline-color:var(--y)}

/* the one stub accent: the indicative price of the chosen tour (a price = the ticket motif) */
.ct-stub{position:relative;display:grid;gap:8px;padding:16px 20px 14px;border-radius:14px;background:var(--y);color:var(--ink);
  -webkit-mask:radial-gradient(circle 9px at 0 50%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,#0000 97%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 9px at 0 50%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,#0000 97%,#000) right/51% 100% no-repeat}
.ct-stub__t{font-weight:800;font-size:.95rem;line-height:1.25}
.ct-stub .price__from,.ct-stub .price__pp{color:var(--y-ink)}
.ct-stub__big{font-weight:900;font-size:1.5rem;letter-spacing:-.03em;line-height:1}
.ct-stub__d{font-size:.8rem;line-height:1.4;color:var(--y-ink);padding-top:8px;border-top:2px dashed rgba(11,11,12,.25)}
.ct-stub__d small{display:block;margin-top:3px;font-size:.72rem;opacity:.85}

/* success state */
.ct-done{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,2.6vw,32px);align-items:start;padding:clamp(28px,4vw,52px) clamp(22px,3.4vw,48px)}
.ct-done__ok{display:grid;place-items:center;width:clamp(64px,6vw,84px);aspect-ratio:1;border-radius:50%;background:var(--y);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}
.ct-done__ok svg{width:46%;height:46%;stroke-width:3}
#ctDoneH:focus{outline:none}
.ct-done .h2{font-size:clamp(1.9rem,3.6vw,3.2rem)}
.ct-done__p{margin-top:12px;color:var(--steel);max-width:58ch}
.ct-done__acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ct-done__links{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:14px}
.ct-done__msg{grid-column:1/-1;margin-top:4px;border-radius:18px;background:var(--ink);color:var(--white);overflow:hidden}
.ct-done__msg figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--ink-4);font:700 .66rem/1.2 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--y)}
.ct-done__msg figcaption i{font-style:normal;color:var(--mist);text-align:right}
.ct-done__msg pre{margin:0;padding:16px 18px 18px;max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:500 .86rem/1.6 var(--f);color:#E9E9EE}
.ct-done__msg pre:focus-visible{outline:3px solid var(--y);outline-offset:-3px}
.ct-link{min-height:44px;font-weight:700;font-size:.9rem;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;text-decoration-color:var(--y-600)}
.ct-link:hover{text-decoration-color:var(--ink)}
@media (prefers-reduced-motion:no-preference){.ct-done:not([hidden]){animation:ctIn .7s var(--ease) both}}
@keyframes ctIn{from{opacity:0;transform:translateY(24px)}}

/* ---------- 4 · FAQ (white, hard straight cut from the paper form) ---------- */
.ct-faq{border-top:3px solid var(--ink)}
.ct-faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,88px);align-items:start}
.ct-faq__head{position:sticky;top:calc(var(--hdr-offset,0px) + 28px)}
.ct-faq__head .h2{max-width:9ch}
.ct-faq__more{display:inline-flex;align-items:center;gap:8px;margin-top:26px;min-height:44px;font-weight:800;border-bottom:2px solid var(--ink)}
.ct-faq__more svg{width:18px;height:18px;flex:none}
.ct-faq__more:hover{background:var(--y)}
.ct-faq .acc{border-top-width:3px}
.ct-faq .acc summary{font-size:clamp(1.05rem,1.4vw,1.25rem);font-weight:800}
.ct-faq .acc__body{color:var(--steel);max-width:60ch}
.ct-faq .acc__body p{padding-bottom:22px}

/* ---------- 5 · VISIT (ink): the HQ + map end the page ---------- */
.ct-visit{padding-bottom:clamp(64px,8vw,120px)}
.ct-visit__photo{--op-pos:50% 62%;min-height:clamp(360px,62vh,640px)}
.ct-visit__photo .h1{font-size:clamp(2.6rem,6.4vw,6rem);max-width:none}
.ct-visit__photo .script{display:inline-block;color:var(--y);font-size:.82em;line-height:1;transform:rotate(-4deg);margin-left:.08em}
.ct-visit__photo p:not(.op-photo__k){max-width:40ch;font-size:clamp(1.02rem,1.3vw,1.2rem);text-wrap:balance}
.ct-visit__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(36px,5vw,88px);align-items:stretch}
.ct-addr{font-style:normal;display:grid;gap:6px}
.ct-addr b{font-weight:900;font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.035em;line-height:1;color:var(--white)}
.ct-addr span{color:var(--mist);font-weight:600}
.ct-visit__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.ct-visit__cta .btn--ghost{--fg:var(--white)}
.ct-hours{margin-top:clamp(30px,3.6vw,46px);padding:18px clamp(14px,2vw,22px);border-radius:var(--r);background:var(--ink-2);border:1px solid var(--line-l)}
.ct-hours__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:0 4px 10px;font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.ct-hours__t{color:var(--y)}
.ct-hours__tz{color:var(--mist)}
.ct-tbl{width:100%;border-collapse:separate;border-spacing:0 6px;font:700 .9rem/1.2 ui-monospace,"SF Mono",Menlo,monospace}
.ct-tbl th,.ct-tbl td{padding:.72rem .8rem;background:var(--ink-3);text-align:left;white-space:nowrap}
.ct-tbl thead th{background:none;padding-block:.2rem;font:800 .62rem var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}
.ct-tbl tbody th{border-radius:10px 0 0 10px;color:var(--white);letter-spacing:.08em}
.ct-tbl abbr{text-decoration:none;border:0;cursor:help}
.ct-tbl tbody td:last-child{border-radius:0 10px 10px 0}
.ct-tbl td{color:var(--y)}
.ct-tbl td.is-off{color:var(--mist)}
.ct-tbl td small{font:600 .72rem var(--f);color:var(--mist);margin-left:6px}
.ct-tbl tr.is-today th,.ct-tbl tr.is-today td{background:var(--y);color:var(--ink)}
.ct-tbl tr.is-today td small{color:var(--y-ink)}
.ct-tbl tr.is-today td.is-off{color:var(--ink)}
.ct-tbl .ct-today{display:inline-block;margin-left:8px;padding:.18rem .45rem;border-radius:6px;background:var(--ink);color:var(--y);font:800 .6rem var(--f);letter-spacing:.12em;vertical-align:middle}
.sec--ink .ct-hours__status{margin-top:8px;padding:0 4px;color:var(--white)}

.ct-map{position:relative;min-height:520px;border-radius:var(--r-l);overflow:hidden;border:3px solid var(--y);box-shadow:12px 12px 0 var(--y);background:var(--ink-3)}
.ct-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.55) contrast(1.05);transition:filter .5s}
.ct-map:hover iframe,.ct-map:focus-within iframe{filter:none}
.ct-map:focus-within{outline:3px solid var(--white);outline-offset:4px}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .ct-sheet{grid-template-columns:minmax(0,1fr) 320px}
}
@media (max-width:1024px){
  .ct-hero__grid{grid-template-columns:1fr;align-items:start}
  .ct-hero__stage{max-width:620px;width:100%;margin-inline:auto}
  .ct-form__head{grid-template-columns:1fr;gap:18px}
  .ct-sheet{grid-template-columns:1fr}
  .ct-prev{display:none}
  .ct-faq__grid{display:flex;flex-direction:column;gap:28px}
  .ct-faq__head{display:contents}
  .ct-faq__head .h2{max-width:none}
  .ct-faq__more{order:3;align-self:flex-start;margin-top:0}
  .ct-visit__grid{grid-template-columns:1fr}
  .ct-map{min-height:0;aspect-ratio:16/11}
}
@media (max-width:900px){
  .ct-dir{grid-template-columns:1fr}
  .ct-ch{padding-bottom:22px}
  .ct-ch--main{grid-template-columns:1fr}
  .ct-ch--main .ct-ch__acts{justify-content:flex-start}
}
@media (max-width:640px){
  .ct-hero__title{font-size:clamp(3.3rem,17vw,5rem)}
  .ct-l--s{font-size:.46em}
  .ct-hero__cta .btn{width:100%}
  .ct-hero__capwrap{width:54%;margin:0 auto -40%}
  .ct-hq{padding:18px 14px 18px}
  .ct-board{gap:4px;font-size:clamp(1.7rem,9vw,2.3rem)}
  .ct-hq__clocks{gap:4px}
  .ct-hq__diff{padding-bottom:50px}
  .ct-hq__diff b{font-size:.92rem;padding:.2rem .45rem}
  .ct-clock__dial{width:min(28vw,112px)}
  .ct-dir .ct-ch--main .ct-ch__v{font-size:clamp(2rem,10.6vw,3rem)}
  .ct-ch--main .ct-ch__acts{gap:8px}
  .ct-f__grid{grid-template-columns:1fr}
  .ct-f__pax{gap:16px 20px}
  .ct-via{grid-template-columns:1fr}
  .ct-f__submit{width:100%;padding-inline:1rem;font-size:.94rem}
  .ct-sheet{border-radius:22px;box-shadow:6px 6px 0 var(--ink)}
  .ct-done{grid-template-columns:1fr}
  .ct-done__msg figcaption{letter-spacing:.08em;padding-inline:14px}
  .ct-tbl{font-size:.8rem}
  .ct-tbl th,.ct-tbl td{padding:.62rem .55rem}
  .ct-tbl td small{display:block;margin:2px 0 0}
  .ct-map{aspect-ratio:1/1.08;box-shadow:8px 8px 0 var(--y)}
}
