@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2190-2193,U+00D7;src:url(../fonts/eb-garamond-400-normal-lat.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0100-017F;src:url(../fonts/eb-garamond-400-normal-pl.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2190-2193,U+00D7;src:url(../fonts/eb-garamond-600-normal-lat.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0100-017F;src:url(../fonts/eb-garamond-600-normal-pl.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2190-2193,U+00D7;src:url(../fonts/eb-garamond-500-normal-lat.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0100-017F;src:url(../fonts/eb-garamond-500-normal-pl.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2190-2193,U+00D7;src:url(../fonts/eb-garamond-400-italic-lat.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;unicode-range:U+0100-017F;src:url(../fonts/eb-garamond-400-italic-pl.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2190-2193,U+00D7;src:url(../fonts/eb-garamond-500-italic-lat.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:500;font-display:swap;unicode-range:U+0100-017F;src:url(../fonts/eb-garamond-500-italic-pl.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2190-2193,U+00D7;src:url(../fonts/montserrat-500-normal-lat.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0100-017F;src:url(../fonts/montserrat-500-normal-pl.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2190-2193,U+00D7;src:url(../fonts/montserrat-600-normal-lat.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0100-017F;src:url(../fonts/montserrat-600-normal-pl.woff2) format('woff2')}
/* go-kart: corner drive-in after a booking click, pop-up on the map after a choice there */
.ride{position:fixed;inset:0;z-index:45;pointer-events:none;overflow:hidden}
.ride .ride-kart{position:absolute;right:max(10px,env(safe-area-inset-right,0px));bottom:calc(6px + env(safe-area-inset-bottom,0px));height:min(30vh,250px);width:auto;max-width:none;transform:translateX(120%);animation:ride-side 2.9s cubic-bezier(.3,.75,.35,1) forwards;filter:drop-shadow(0 14px 18px rgba(0,0,0,.35))}
.ride .ride-say{position:absolute;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(min(30vh,250px) + 16px + env(safe-area-inset-bottom,0px));max-width:min(320px,calc(100vw - 28px));opacity:0;animation:ride-say 2.9s ease forwards}
@keyframes ride-side{0%{transform:translateX(120%) rotate(0)}34%{transform:translateX(-4%) rotate(-1.5deg)}42%{transform:translateX(1%) rotate(1deg)}50%{transform:translateX(0) rotate(0)}82%{transform:translateX(0)}100%{transform:translateX(125%)}}
@keyframes ride-say{0%,34%{opacity:0;transform:translateY(8px)}46%{opacity:1;transform:none}84%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-6px)}}
.ride-pin{position:absolute;width:0;height:0;z-index:25;pointer-events:none}
.ride-pin .ride-kart{position:absolute;left:0;bottom:0;height:var(--kh,160px);width:auto;max-width:none;transform-origin:50% 100%;transform:translateX(-50%) scale(.1);opacity:0;animation:ride-pop 2.5s cubic-bezier(.3,.8,.3,1) forwards;filter:drop-shadow(0 10px 14px rgba(0,0,0,.35))}
.ride-pin .ride-say{position:absolute;left:0;bottom:calc(var(--kh,160px) + 8px);transform:translateX(calc(-50% + var(--bx,0px)));white-space:nowrap;opacity:0;animation:ride-pin-say 2.5s ease forwards}
@keyframes ride-pop{0%{transform:translateX(-50%) translateY(18%) scale(.1);opacity:0}16%{transform:translateX(-50%) translateY(0) scale(1.08);opacity:1}24%{transform:translateX(-50%) scale(.96)}30%{transform:translateX(-50%) scale(1)}84%{transform:translateX(-50%) scale(1);opacity:1}100%{transform:translateX(-50%) translateY(12%) scale(.55);opacity:0}}
@keyframes ride-pin-say{0%,18%{opacity:0;transform:translateX(calc(-50% + var(--bx,0px))) translateY(6px)}30%{opacity:1;transform:translateX(calc(-50% + var(--bx,0px)))}86%{opacity:1;transform:translateX(calc(-50% + var(--bx,0px)))}100%{opacity:0;transform:translateX(calc(-50% + var(--bx,0px))) translateY(-4px)}}
.ride-say{padding:10px 18px;border-radius:999px;background:var(--ride-bg,var(--surface));color:var(--ride-fg,var(--fg));border:1.5px solid var(--ride-line,var(--accent));box-shadow:0 10px 26px rgba(0,0,0,.25);font:700 1rem/1.3 var(--font-label);text-align:center}
@media(prefers-reduced-motion:reduce){.ride .ride-kart,.ride-pin .ride-kart{display:none}.ride .ride-say{bottom:calc(24px + env(safe-area-inset-bottom,0px));animation:ride-fade 2.2s ease forwards}.ride-pin .ride-say{bottom:12px;animation:ride-fade 2.2s ease forwards}@keyframes ride-fade{0%{opacity:0}15%{opacity:1}80%{opacity:1}100%{opacity:0}}}

/* Mateusz Tomczak, private aviation. Layout: cream paper, navy ink, gold rules; hero = open cabin door as the invitation. Light-first, navy dark theme. */
:root{
  --bg:#f7f3ea;--surface:#fbf8f1;--surface2:#efe8d8;--fg:#23252a;--ink:#1b2a4a;--muted:#5c6170;
  --accent:#1b2a4a;--accent-hover:#2d4472;--accent-ink:#fbf8f1;--accent-soft:rgba(27,42,74,.1);--accent-text:#8a6a2f;--gold:#b5924c;
  --line:#e2d6bb;--line-strong:#c9b98f;--focus:#1b2a4a;--danger:#a3261e;--danger-bg:rgba(163,38,30,.08);--bg-translucent:rgba(247,243,234,.9);
  --font-display:'EB Garamond',Garamond,'Times New Roman',serif;--font-body:'EB Garamond',Garamond,'Times New Roman',serif;--font-label:'Montserrat','Helvetica Neue',Arial,sans-serif;
  --navy:#1b2a4a;--radius:6px;--radius-lg:14px;color-scheme:light
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0f1829;--surface:#15213a;--surface2:#1b2945;--fg:#e3e7ef;--ink:#f2f4f8;--muted:#a3aec4;
  --accent:#d8c08a;--accent-hover:#e8d4a6;--accent-ink:#0f1829;--accent-soft:rgba(216,192,138,.16);--accent-text:#d8c08a;--gold:#d8c08a;
  --line:#2a3a5c;--line-strong:#4a5c84;--focus:#d8c08a;--danger:#ff9d94;--danger-bg:rgba(255,157,148,.12);--bg-translucent:rgba(15,24,41,.88);color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0f1829;--surface:#15213a;--surface2:#1b2945;--fg:#e3e7ef;--ink:#f2f4f8;--muted:#a3aec4;
  --accent:#d8c08a;--accent-hover:#e8d4a6;--accent-ink:#0f1829;--accent-soft:rgba(216,192,138,.16);--accent-text:#d8c08a;--gold:#d8c08a;
  --line:#2a3a5c;--line-strong:#4a5c84;--focus:#d8c08a;--danger:#ff9d94;--danger-bg:rgba(255,157,148,.12);--bg-translucent:rgba(15,24,41,.88);color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:400 1.15rem/1.55 var(--font-body);overflow-x:hidden}
img,video,svg{max-width:100%;height:auto;display:block}
h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:600;line-height:1.1;text-wrap:balance;color:var(--ink)}
h2{font-size:clamp(1.8rem,3.6vw,2.5rem);letter-spacing:-.005em}
h3{font-size:1.3rem}
p{margin:0}
a{color:var(--accent-text)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;padding:.6em 1em;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius)}
.skip:focus{left:16px}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
section{padding-block:clamp(56px,8vw,104px)}
.sec-head{display:grid;gap:12px;max-width:64ch;margin-bottom:clamp(24px,4vw,40px)}
.sec-head p{color:var(--muted);font-size:1.15rem}
.lbl-caps{font:600 .74rem/1.4 var(--font-label);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.rule{height:1px;background:var(--line);border:0;margin:0}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--bg-translucent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:31;background:var(--bg)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px}
.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}
.brand svg.mark{width:44px;height:44px;flex:0 0 auto;--line:var(--ink);--fill:var(--bg);--lgold:var(--surface2);--gold:var(--gold)}
.brand-name{font:600 .95rem/1.1 var(--font-label);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
@media(min-width:900px){.brand svg.mark{width:54px;height:54px}.brand-name{font-size:1.18rem;letter-spacing:.24em}}
@media(min-width:1180px){.brand svg.mark{width:60px;height:60px}.brand-name{font-size:1.3rem;letter-spacing:.26em}.top .wrap{min-height:72px}}
@media(min-width:900px){.nav a{white-space:nowrap;padding:.5em .55em;font-size:.78rem}}
@media(min-width:1180px){.nav a{font-size:.82rem;padding:.5em .65em}}
@media(max-width:1399px){.nav a.hide-lg{display:none}}
.brand-name{letter-spacing:.16em}
.nav{display:flex;align-items:center;gap:2px}
.nav a{padding:.5em .7em;border-radius:var(--radius);color:var(--ink);font:600 .82rem var(--font-label);text-decoration:none}
.nav a:hover{background:var(--surface2)}
.nav a.lang{border:1.5px solid var(--line-strong);margin-left:6px}
.foot nav{align-items:center}
@media(max-width:720px){.nav a.hide-sm{display:none}.brand span{white-space:nowrap}}
@media(max-width:420px){.brand{font-size:1rem;gap:8px}.nav a{padding:.5em .55em;font-size:.76rem}}

/* hero */
.hero{position:relative;padding-block:0;overflow:hidden;background:var(--ink)}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,42,74,.08) 0%,rgba(27,42,74,.55) 26%,rgba(15,24,41,.9) 44%,rgba(15,24,41,.96) 100%)}   /* on a phone the map's gold lines sit on the photo: navy behind them from a third of the way down (23.10.2026) */
.hero .wrap{position:relative;z-index:1;min-height:min(88svh,760px);display:flex;flex-direction:column;justify-content:flex-end;padding-block:72px 32px}
.hero-text{position:relative;z-index:1;display:grid;gap:16px;max-width:44ch;color:#f2f4f8}
.who{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.who .emblem-hero{width:96px;height:auto;margin-left:auto;flex:0 0 auto;--line:#fbf8f1;--fill:#1b2a4a;--lgold:#3a4866;--gold:#d8c08a}
.hero .why{font-size:1.05rem;line-height:1.5;color:#e3e7ef}
.who img{width:112px;height:112px;border-radius:50%;object-fit:cover;object-position:50% 40%;border:2px solid #d8c08a;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.who span{display:grid;font:500 .78rem/1.35 var(--font-label);letter-spacing:.04em;color:#f2f4f8}
.who b{font:600 1.05rem/1.2 var(--font-display);letter-spacing:0;color:#fbf8f1}
.hero-line{margin:14px 0 18px;max-width:58ch;font-size:1.02rem;line-height:1.55;color:#fbf8f1;opacity:.9}
.hero h1{font-size:clamp(2.6rem,9vw,4.6rem);font-weight:500;font-style:italic;letter-spacing:-.01em;line-height:1;color:#fbf8f1}
.hero .lead{font-size:clamp(1.15rem,2.2vw,1.4rem);line-height:1.45;color:#f2f4f8;text-wrap:pretty}
.hero .lead b{font-weight:600}
.hero .avail{font:500 italic clamp(1.2rem,2.4vw,1.5rem)/1.3 var(--font-display);color:#d8c08a}
.hero .pos{font:500 .86rem/1.5 var(--font-label);color:#f2f4f8;opacity:.9}
.doors{display:grid;grid-template-columns:1fr;gap:10px;margin-top:4px}
.doors-more{font:400 .98rem/1.5 var(--font-body);color:#d9deea}
.doors-more a{color:#d8c08a;text-underline-offset:.2em}
.doors .btn{padding:.6em .8em;font-size:.9rem;text-align:center}
@media(min-width:900px){.doors{display:flex;flex-wrap:wrap;gap:12px}.doors .btn{padding:.7em 1.3em;font-size:1rem}}
.hero .btn{color:#fbf8f1;border-color:rgba(251,248,241,.5)}
.hero .btn:hover{border-color:#d8c08a;color:#d8c08a}
.hero .btn-primary{background:#d8c08a;border-color:#d8c08a;color:#0f1829}
.hero .btn-primary:hover{background:#e8d4a6;border-color:#e8d4a6;color:#0f1829}
@media(min-width:900px){
  .hero{background:var(--bg);padding-block:40px 0}
  .hero-media{position:relative;inset:auto;order:2;width:min(40vw,440px);aspect-ratio:3/4;max-height:76vh;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 30px 60px rgba(27,42,74,.25);flex:0 0 auto;align-self:center}
  .hero-media::after{background:linear-gradient(180deg,rgba(27,42,74,0) 70%,rgba(27,42,74,.25) 100%)}
  .hero .wrap{flex-direction:row;align-items:center;justify-content:space-between;gap:56px;min-height:0;padding-block:24px 48px}
  .hero-text{gap:10px}
  .hero-text{max-width:none;flex:1 1 auto;color:var(--fg)}
  .who img{width:156px;height:156px;border-color:var(--gold);box-shadow:0 8px 20px rgba(27,42,74,.2)}
  .who .emblem-hero{width:128px;margin-left:24px;--line:var(--ink);--fill:var(--bg);--lgold:var(--surface2);--gold:var(--gold)}
  .hero .why{color:var(--muted)}
  .doors-more{color:var(--muted)}
  .doors-more a{color:var(--accent-text)}
  .who span{color:var(--muted)}
  .who b{color:var(--ink)}
  .hero h1{color:var(--ink);font-size:clamp(3.2rem,6vw,5.2rem)}
  .hero-line{color:var(--fg);opacity:1}
  .hero .lead{color:var(--fg);max-width:38ch}
  .hero .avail{color:var(--accent-text)}
  .hero .pos{color:var(--muted);opacity:1}
  .hero .btn{color:var(--ink);border-color:var(--line-strong)}
  .hero .btn:hover{color:var(--accent-text);border-color:var(--gold)}
  .hero .btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
  .hero .btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}
}

/* crew section */
.crew{background:var(--surface)}
.two{display:grid;gap:32px}
@media(min-width:900px){.two{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:start}}
.ready{list-style:none;margin:0;padding:0;display:grid}
.ready li{padding:14px 0;border-top:1px solid var(--line);display:grid;gap:4px}
.ready li.amen b,.ready li.amen span{grid-column:2}
.ready li:last-child{border-bottom:1px solid var(--line)}
.ready li.amen{grid-template-columns:64px 1fr;column-gap:14px}
.ready li.amen .emblem-small{width:64px;height:auto;grid-row:1/3;--line:var(--ink);--fill:var(--bg);--lgold:var(--surface2);--gold:var(--gold)}
.ready b{font-weight:600;color:var(--ink)}
.ready span{color:var(--muted);font-size:1.05rem}
.cabin-pics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cabin-pics figure{margin:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface2)}
.cabin-pics img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}
.cabin-pics figcaption{font:500 .78rem/1.4 var(--font-label);color:var(--muted);padding:8px 2px 0}

/* timeline */
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:t}
@media(min-width:760px){.timeline{grid-template-columns:repeat(4,1fr);gap:18px}}
.timeline li{counter-increment:t;display:grid;gap:8px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg)}
.timeline .when{font:600 .74rem/1.4 var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.timeline h3{font-size:1.2rem}
.timeline p{color:var(--muted);font-size:1.05rem}

/* plates */
.plates{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:640px){.plates{grid-template-columns:repeat(4,1fr)}}
.plates figure{margin:0;display:grid;gap:6px}
.plates img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius)}
.plates figcaption{font:500 .78rem/1.35 var(--font-label);color:var(--muted)}
.plates figcaption b{display:block;font-weight:600;color:var(--fg)}
.plates-note{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;align-items:baseline;margin-bottom:18px}
.plates-note p{color:var(--muted);font-style:italic}

/* credentials + quote */
.creds{display:grid;gap:28px}
@media(min-width:900px){.creds{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}}
.cred-list{margin:0;display:grid}
.cred-list div{display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.cred-list div:last-child{border-bottom:1px solid var(--line)}
.cred-list dt{font-weight:500;color:var(--fg)}
.cred-list dd{margin:0;font:500 .78rem/1.6 var(--font-label);color:var(--muted);text-align:right;white-space:nowrap}
.cred-pics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.cred-pics figure{margin:0;display:grid;gap:6px;align-content:start}
.cred-pics img,.cred-pics video{width:100%;border-radius:var(--radius);object-fit:cover;aspect-ratio:3/4;background:var(--surface2)}
.cred-pics figure:first-child{grid-column:1/-1}
.cred-pics figure:first-child img{aspect-ratio:2/1;object-position:50% 45%}
.cred-pics figcaption{font:500 .76rem/1.4 var(--font-label);color:var(--muted)}
.quote{display:grid;gap:14px;padding:28px;border-radius:var(--radius-lg);background:var(--navy);color:#f2f4f8}
.quote blockquote{margin:0;font:400 1.35rem/1.4 var(--font-display);font-style:italic;color:#fbf8f1}
.quote cite{font:500 .76rem/1.5 var(--font-label);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:#d8c08a}
.quote .ref{font-size:1rem;color:#c9d0de}
.tiles{display:grid;gap:14px;margin-top:28px}
@media(min-width:640px) and (max-width:899px){.tiles{grid-template-columns:1fr 1fr 1fr}}
.tile{display:grid;gap:8px;padding:22px;border-top:2px solid var(--gold);background:var(--bg)}
.tile h3{font-size:1.2rem}
.tile p{color:var(--muted);font-size:1.05rem}

/* passengers */
.services{display:grid;gap:14px}
@media(min-width:800px){.services{grid-template-columns:repeat(3,1fr);gap:18px}}
.service{display:grid;gap:10px;align-content:start;padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}
.service p{color:var(--muted);font-size:1.05rem}
.service .btn{justify-self:start;margin-top:6px}
.service.is-lead{border-color:var(--gold);background:var(--bg);box-shadow:inset 0 3px 0 var(--gold)}
.service .legal{font-size:.95rem;color:var(--muted);border-left:2px solid var(--line-strong);padding-left:12px}
@media(min-width:800px){.services{grid-template-columns:1fr 1.25fr 1fr}}
.operator-note{margin-top:22px;padding:16px 20px;border-left:2px solid var(--gold);color:var(--fg);max-width:72ch}

/* sales */
.sales .two{align-items:start}
.sales-points{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sales-points li{padding:12px 0;border-top:1px solid var(--line);color:var(--fg)}
.sales-points li:last-child{border-bottom:1px solid var(--line)}
.sales-points b{font-weight:600;color:var(--ink);display:block}
.sales-cta{display:flex;flex-wrap:wrap;gap:10px}

/* about */
.about .two{align-items:center}
.about-pics{position:relative;max-width:460px;padding:0 0 60px 0}
.about figure{margin:0;border-radius:var(--radius-lg);overflow:hidden}
.about img{width:100%;aspect-ratio:3/4;object-fit:cover}
.about .p1{width:68%;position:relative;z-index:1}
.about .p2{width:62%;margin:-42% 0 0 auto;position:relative;z-index:2;box-shadow:0 20px 40px rgba(27,42,74,.25);border:4px solid var(--bg)}
.about-text{display:grid;gap:14px;max-width:58ch}
.about-text p:first-of-type{font-size:1.3rem;line-height:1.45}
.socrates{margin:6px 0 0;padding:0 0 0 18px;border-left:2px solid var(--gold);font:500 italic 1.45rem/1.3 var(--font-display);color:var(--ink)}
.socrates cite{display:block;margin-top:6px;font:600 .72rem/1.4 var(--font-label);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--accent-text)}

/* mentoring */
.mentor{background:var(--navy);color:#f2f4f8}
.mentor h2,.mentor h3{color:#fbf8f1}
.mentor .sec-head p{color:#c9d0de}
.mentor .lbl-caps{color:#d8c08a}
.mentor-note{font-style:italic;color:#fbf8f1;border-left:2px solid #d8c08a;padding-left:14px}
.mentor-h{font-size:clamp(2rem,4.2vw,2.9rem)}
.mentor-lead{font-size:1.2rem}
.mentor-phases{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}
@media(min-width:720px){.mentor-phases li{grid-template-columns:200px 1fr;gap:18px;align-items:baseline}}
.mentor-phases li{display:grid;gap:4px;padding:12px 0 0;border-top:1px solid rgba(216,192,138,.5)}
.mentor-phases b{font-weight:600;font-size:1.15rem;color:#fbf8f1}
.mentor-phases span{color:#c9d0de;font-size:1.02rem}
.mentor-grid{display:grid;gap:28px}
@media(min-width:900px){.mentor-grid{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:56px;align-items:start}}
.mentor-card{display:grid;gap:12px;padding:26px;border:1px solid rgba(216,192,138,.45);border-radius:var(--radius-lg)}
.mentor-card p{color:#c9d0de;font-size:1.05rem}
.mentor-card .btn{justify-self:start;background:#d8c08a;border-color:#d8c08a;color:#0f1829}
.mentor-card .btn:hover{background:#e8d4a6;border-color:#e8d4a6;color:#0f1829}

/* portfolio gate */
.gate{background:var(--surface)}
.gate-grid{display:grid;gap:32px}
@media(min-width:900px){.gate-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}}
.paper{position:relative;max-width:420px;padding:28px 28px 34px;background:#fdfbf6;color:#23252a;border:1px solid #e6dcc3;box-shadow:0 20px 40px rgba(27,42,74,.14);transform:rotate(-1.2deg)}
.paper .ph{display:flex;gap:18px;align-items:center}
.paper img{width:120px;height:150px;object-fit:cover;border-radius:3px}
.paper .nm{font:600 1.3rem/1.1 var(--font-display);color:#1b2a4a}
.paper .rl{font:600 .68rem/1.5 var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:#8a6a2f}
.paper .obj{margin-top:18px;font-style:italic}
.paper .lines{display:grid;gap:9px;margin-top:20px}
.paper .lines i{display:block;height:9px;border-radius:2px;background:linear-gradient(90deg,#e6dcc3,#efe8d8)}
.paper .lines i:nth-child(2n){width:92%}.paper .lines i:nth-child(3n){width:78%}.paper .lines i:last-child{width:46%}
.paper .unlock{margin-top:24px;text-align:center;font:600 1.05rem/1.3 var(--font-display);color:#1b2a4a}
.gate-form{display:grid;gap:16px}
.gate-form .check,.sheet-form .check{display:flex;gap:10px;align-items:flex-start;font-size:1rem;line-height:1.4}
.gate-form .check input,.sheet-form .check input{width:22px;height:22px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--accent)}
.gate-form .fine{font-size:.95rem;color:var(--muted)}
.gate-done{display:grid;gap:14px;padding:24px;border:1.5px solid var(--accent);border-radius:var(--radius-lg);background:var(--bg)}
.gate-done h3{font-size:1.4rem}

/* booking (site-specific bits) */
.booking{border-top:1px solid var(--line)}
.booking .sec-head{max-width:none}
.book-panel form{display:grid;gap:24px}
.book-panel .after{display:grid;gap:16px}
.book-panel .submit{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.book-panel .submit small{color:var(--muted)}
.book-panel .check{display:flex;gap:10px;align-items:flex-start;font-size:1rem;line-height:1.4}
.book-panel .check input{width:22px;height:22px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--accent)}
.book-panel .fine{font-size:.95rem;color:var(--muted)}
.lhs{display:grid;gap:18px}

/* airfield picker */
.pk-top{display:grid;grid-template-columns:1fr auto;gap:8px}
.pk-top input{width:100%;min-height:48px;padding:.65em .85em;border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--fg);font:400 1rem/1.4 var(--font-body)}
.pk-msg{margin:6px 0 0;font-size:.95rem;color:var(--muted)}
.pk-msg:empty{display:none}
.pk-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.pk-list button,.pk-sel>div{display:grid;gap:2px;width:100%;text-align:left;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--fg);font:400 .95rem/1.35 var(--font-label);cursor:pointer}
.pk-list button:hover{border-color:var(--gold)}
.pk-list b,.pk-sel b{font-weight:600;font-size:1rem}
.pk-list span,.pk-sel span{color:var(--muted);font-size:.86rem}
.pk-list .fit,.pk-sel .fit{color:var(--accent-text)}
.pk-map{margin-top:12px;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:10px}
.pk-map svg{width:100%;height:auto;display:block}
.pk-pl{fill:var(--surface2);stroke:var(--line-strong);stroke-width:1.2}
.pk-dot{cursor:pointer;stroke:var(--surface);stroke-width:1}
.pk-dot.k-hub{fill:var(--ink)}
.pk-dot.k-field{fill:var(--gold)}
.pk-dot.k-heli{fill:var(--muted)}
.pk-dot:hover,.pk-dot:focus-visible{stroke:var(--accent-hover);stroke-width:3;outline:none}
.pk-dot.is-sel{stroke:var(--danger);stroke-width:4}
.pk-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0 0;font:500 .78rem/1.4 var(--font-label);color:var(--muted)}
.pk-legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.pk-legend .l-hub::before{background:var(--ink)}.pk-legend .l-field::before{background:var(--gold)}.pk-legend .l-heli::before{background:var(--muted)}
.pk-sel{margin-top:12px;display:grid;gap:6px}
.pk-sel>div{cursor:default;border-color:var(--gold)}
.pk-chosen{font:600 .78rem/1.4 var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.pk-src{margin:8px 0 0;font-size:.85rem;color:var(--muted)}

/* confident bits */
.why-me{margin-top:10px;padding:14px 18px;border-left:2px solid var(--gold);background:var(--surface);font-size:1.1rem}
.why-me b{color:var(--ink)}
.iwant{font-family:var(--font-display)!important;font-size:1.5rem!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important}

/* rise-in */
html.js [data-rise],html.js .rise{transform:translateY(28px);opacity:.35;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .7s ease}
html.js [data-rise].is-in,html.js .rise.is-in{transform:none;opacity:1}
@media(prefers-reduced-motion:reduce){html.js [data-rise],html.js .rise{transform:none;opacity:1;transition:none}}

/* entry sheet */
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:40;max-height:70vh;overflow:auto;padding:22px max(16px,env(safe-area-inset-right,0px)) calc(22px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:var(--surface);border-top:2px solid var(--gold);box-shadow:0 -20px 50px rgba(27,42,74,.25);transform:translateY(100%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.sheet.is-open{transform:none}
.sheet[hidden]{display:none}
.sheet-eb{margin:0 0 4px;font:600 .72rem/1.4 var(--font-label);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.sheet h2{font-size:1.9rem;margin-bottom:12px}
.sheet-chips{display:flex;flex-wrap:wrap;gap:8px;max-width:1148px}
.sheet-chips .btn{min-height:44px;padding:.5em 1em;font-size:.95rem}
.sheet-note{margin:12px 0 0;color:var(--muted);font-size:1rem}
.sheet-x{position:absolute;top:10px;right:max(12px,env(safe-area-inset-right,0px));width:40px;height:40px;border:0;border-radius:50%;background:var(--surface2);color:var(--fg);font-size:1.5rem;line-height:1;cursor:pointer}
@media(min-width:900px){.sheet{left:auto;right:24px;bottom:24px;width:min(560px,calc(100vw - 48px));border:1.5px solid var(--gold);border-radius:var(--radius-lg);transform:translateY(40px);opacity:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s}.sheet.is-open{opacity:1}}
@media(prefers-reduced-motion:reduce){.sheet{transition:none}}

/* big emblem in footer */
.foot-brand{display:grid;justify-items:center;gap:14px;text-align:center;padding:12px 0 8px}
.foot-brand .emblem-foot{width:min(260px,60vw);height:auto}
.foot-brand .fb-name{font:600 1.5rem/1.2 var(--font-display);color:var(--ink)}
.foot-brand .fb-role{font:500 .8rem/1.5 var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}

/* footer */
footer{padding-block:40px 32px;border-top:1px solid var(--line);font-size:1rem}
.foot{display:grid;gap:18px}
.foot .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;align-items:center}
.foot nav{display:flex;flex-wrap:wrap;gap:4px 18px;font:500 .86rem var(--font-label)}
.foot a{color:var(--ink)}
.foot .fine{color:var(--muted);font-size:.95rem}
.monkeys{font:400 italic 1.15rem/1.5 var(--font-display);color:var(--fg);max-width:60ch}
.monkeys span{font-style:normal;margin-right:6px}
.emblem-foot{width:56px;height:auto}

/* hero: mind map of what I do */
.map{display:grid;gap:4px;margin-top:10px;max-width:42ch}
.map a{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fbf8f1;text-decoration:none;border-bottom:1px solid rgba(251,248,241,.22);padding:.5em 0}
.map .map-main{font:500 clamp(1.35rem,4.8vw,1.95rem)/1.12 var(--font-display)}
.map .map-main small{display:block;font:600 .55em/1.2 var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:#d8c08a;margin-top:.15em}
.map i{font-style:normal;color:#d8c08a;flex:0 0 auto;transition:transform .25s}
.map a:hover i,.map a:focus-visible i{transform:translateX(6px)}
.map-branch{display:grid}
.map-sub{list-style:none;margin:4px 0 6px 12px;padding:0 0 0 18px;border-left:2px solid #d8c08a;display:grid;gap:0}
.map-sub li{position:relative}
.map-sub li::before{content:"";position:absolute;left:-18px;top:50%;width:12px;height:2px;background:#d8c08a}
.map-sub a{font:500 1.05rem/1.3 var(--font-label);border-bottom-color:rgba(251,248,241,.12);padding:.42em 0}
@media(min-width:900px){.map{max-width:48ch;gap:2px}.map .map-main{font-size:1.55rem}.map a{color:var(--ink);border-bottom-color:var(--line);padding:.42em 0}.map-sub a{padding:.3em 0}.map-sub{margin:2px 0 4px 12px}.map i,.map .map-main small{color:var(--accent-text)}.map-sub{border-left-color:var(--gold)}.map-sub li::before{background:var(--gold)}}

/* intro: the "second page" */
.intro{padding-block:clamp(56px,8vw,104px)}
.intro .wrap{display:grid;gap:14px}
.intro .lead{font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.45;max-width:48ch;text-wrap:pretty}
.intro .lead b{font-weight:600}
.intro .why{font-size:1.1rem;line-height:1.5;color:var(--muted);max-width:52ch}
.intro .avail{font:500 italic clamp(1.25rem,2.4vw,1.6rem)/1.3 var(--font-display);color:var(--accent-text)}

/* stay-in-touch form in the entry sheet */
.sheet-form{display:grid;gap:12px;margin-top:14px;max-width:680px}
.sheet-form .send-row{display:flex;flex-wrap:wrap;gap:10px}
.sheet-form .check{font-size:.95rem;color:var(--muted)}
.sheet-form .fields-2{display:grid;gap:10px}
@media(min-width:600px){.sheet-form .fields-2{grid-template-columns:1fr 1fr}}
.sheet-form .fine,.sheet-done p{margin:0}
.sheet-done{margin-top:12px}
.sheet-done h3{font-size:1.4rem;margin-bottom:6px}

/* intro: three branches */
.branches{display:grid;gap:18px;margin:26px 0 10px}
@media(min-width:900px){.branches{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}
.branch{display:grid;gap:10px;align-content:start;padding:22px 20px 20px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius-lg)}
.branch h3{font:600 1.45rem/1.2 var(--font-display);color:var(--ink)}
.branch p{margin:0;line-height:1.5}
.branch .lbl-caps{margin:0}
.branch-line{font:500 italic 1.05rem/1.4 var(--font-display);color:var(--accent-text)}
.branch-line a{color:var(--accent-text);text-underline-offset:.2em}
.more{border-top:1px dashed var(--line);padding-top:8px}
.more summary{cursor:pointer;font:600 .8rem/1.4 var(--font-label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);list-style:none;display:flex;align-items:center;gap:8px}
.more summary::-webkit-details-marker{display:none}
.more summary::after{content:"+";margin-left:auto;font-size:1.1rem;color:var(--accent-text)}
.more[open] summary::after{content:"–"}
.more ul{margin:8px 0 0;padding-left:18px;display:grid;gap:6px;font-size:.98rem;line-height:1.45}
.branch-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:4px}
.branch-cta .btn{padding:.6em 1em;font-size:.9rem}
.btn-link{background:none;border:0;padding:0;color:var(--accent-text);font:600 .92rem var(--font-label);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.intro .avail{margin-top:18px}

/* mind map: one quiet hint line under the map, filled on hover or focus */
.map-hint{min-height:1.5em;margin-top:6px;font:500 italic 1.02rem/1.5 var(--font-display);color:#d8c08a;opacity:0;transition:opacity .25s}
.map-hint.is-on{opacity:1}
@media(min-width:900px){.map-hint{color:var(--accent-text)}}
@media(min-width:900px) and (hover:hover){.hero-media .look{transition:transform .4s ease-out;will-change:transform}}

/* "on my way": after a booking click the go-kart drives up to the visitor, then off */

/* booking header with the concierge figure: he reacts to what the visitor picks (desktop) */
.booking-head{display:grid;gap:12px}
.peek{display:none}
@media(min-width:900px){
  .booking .sec-head.booking-head{grid-template-columns:minmax(0,1fr) 470px;align-items:end;gap:24px}
  .peek{display:block;position:relative;height:290px;margin-bottom:-8px}
  .peek img{position:absolute;right:0;bottom:0;height:290px;width:auto;max-width:none;filter:drop-shadow(0 12px 18px rgba(27,42,74,.28));transform:translateY(18px);opacity:0;transition:transform .7s cubic-bezier(.2,.7,.2,1) .1s,opacity .7s .1s}
  .booking.is-in .peek img{transform:none;opacity:1}
  .peek-bubble{position:absolute;right:204px;top:18px;width:250px;padding:12px 16px;background:var(--surface);border:1.5px solid var(--gold);border-radius:16px 16px 4px 16px;box-shadow:0 12px 30px rgba(27,42,74,.16);font:400 .98rem/1.42 var(--font-body);color:var(--fg);opacity:0;transform:translateY(8px);transition:opacity .5s .55s,transform .5s .55s}
  .peek-bubble::after{content:"";position:absolute;right:-9px;bottom:16px;width:14px;height:14px;background:var(--surface);border-right:1.5px solid var(--gold);border-top:1.5px solid var(--gold);transform:rotate(45deg)}
  .booking.is-in .peek-bubble{opacity:1;transform:none}
  .peek-bubble.is-new{animation:peek-pop .5s cubic-bezier(.2,.7,.2,1)}
  @keyframes peek-pop{0%{transform:translateY(10px) scale(.96);opacity:.3}100%{transform:none;opacity:1}}
}
@media(prefers-reduced-motion:reduce){.peek img,.peek-bubble{transition:none}.peek-bubble.is-new{animation:none}}

/* the same figure keeps the stay-in-touch card company on wide screens */
.sheet-fig{display:none}
@media(min-width:1100px){
  .sheet-fig{display:block;position:fixed;right:600px;bottom:24px;z-index:40;visibility:hidden;opacity:0;transform:translateY(40px);filter:drop-shadow(0 16px 26px rgba(15,24,41,.4));transition:transform .5s cubic-bezier(.2,.7,.2,1) .15s,opacity .5s .15s,visibility 0s .7s;pointer-events:none}
  .sheet-fig.is-open{visibility:visible;opacity:1;transform:none;transition-delay:.15s,.15s,0s}
  .sheet-fig img{height:310px;width:auto;max-width:none}
}
@media(prefers-reduced-motion:reduce){.sheet-fig{transition:none}}

/* picker: counters, destination route and a time estimate */
.pk-stats{margin:0 0 10px;font:500 .86rem/1.5 var(--font-label);color:var(--muted)}
.pk-stats b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.pk-route line{stroke:var(--danger);stroke-width:2;stroke-linecap:round;stroke-dasharray:7 6;animation:pk-dash 1.1s linear infinite}
.pk-route .pk-dest{fill:none;stroke:var(--danger);stroke-width:2.5}
@keyframes pk-dash{to{stroke-dashoffset:-26}}
@media(prefers-reduced-motion:reduce){.pk-route line{animation:none}}
.pk-est{margin:10px 0 0;padding:10px 12px;border:1.5px solid var(--gold);border-radius:var(--radius);background:var(--surface);font-size:.98rem;line-height:1.45;color:var(--fg)}
.pk-est b{font-weight:600;color:var(--ink)}
.pk-est span{display:block;margin-top:2px;color:var(--muted);font-size:.86rem}
.pk-est[hidden]{display:none}

/* picker: Poland / Europe tabs and the Europe map */
.pk-scope{display:flex;gap:6px;margin:0 0 10px}
.pk-scope button{min-height:38px;padding:.4em 1em;border:1.5px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--fg);font:600 .86rem/1.2 var(--font-label);letter-spacing:.04em;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.pk-scope button:hover{border-color:var(--gold)}
.pk-scope button.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.pk-map[hidden]{display:none}
.pk-loading{margin:0;padding:40px 12px;text-align:center;color:var(--muted);font-size:.95rem}
.pk-inset{fill:none;stroke:var(--line-strong);stroke-width:1;stroke-dasharray:3 2}
#pkMapEU .pk-dot{stroke-width:.8}
#pkMapEU .pk-dot:hover,#pkMapEU .pk-dot:focus-visible{stroke-width:2.5}
#pkMapEU .pk-dot.is-sel{stroke-width:3}
#pkMapEU .pk-route line{stroke-width:1.6;stroke-dasharray:5 4}
/* thousands of places on one path (world map, heliports of Europe): the nearest one answers a tap or a hover */
.pk-map{position:relative}
.pk-dd{stroke:none}
.pk-dd.k-hub{fill:var(--ink)}.pk-dd.k-field{fill:var(--gold)}.pk-dd.k-heli{fill:var(--muted);opacity:.8}
.pk-selm{fill:none;stroke:var(--danger);stroke-width:2.2;pointer-events:none}
.pk-route path{fill:none;stroke:var(--danger);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:5 4;animation:pk-dash 1.1s linear infinite}
@media(prefers-reduced-motion:reduce){.pk-route path{animation:none}}
#pkMapW .pk-dest{stroke-width:2}
#pkMapW .pk-dd{opacity:.82}
.pk-tip{position:absolute;z-index:3;transform:translate(-50%,calc(-100% - 10px));max-width:min(320px,80%);padding:5px 9px;border-radius:8px;background:var(--ink);color:var(--surface);font:500 .78rem/1.3 var(--font-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.pk-tip[hidden]{display:none}
/* the interactive map (MapLibre): as tall as the screen allows, leaving room to scroll past it; a globe when zoomed out */
.pk-glwrap{margin-top:12px}
.pk-gl{position:relative;height:clamp(300px,62vh,720px);border:1.5px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(ellipse at 50% 45%,var(--surface) 0%,var(--surface2) 100%)}
@supports(height:1svh){.pk-gl{height:clamp(300px,62svh,720px)}}
@media(min-width:900px){.pk-gl{height:clamp(380px,66svh,760px)}}
@media(orientation:landscape) and (max-height:520px){.pk-gl{height:clamp(240px,78svh,420px)}}
.pk-gl.is-loading::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);background-size:220% 100%;animation:pk-shine 1.4s linear infinite;pointer-events:none}
@keyframes pk-shine{from{background-position:120% 0}to{background-position:-120% 0}}
@media(prefers-reduced-motion:reduce){.pk-gl.is-loading::after{animation:none}}
.pk-gl .maplibregl-canvas:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.pk-gl .maplibregl-ctrl-group{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 8px rgba(27,42,74,.12)}
.pk-gl .maplibregl-ctrl-group button{width:36px;height:36px}
.pk-gl .maplibregl-ctrl-group button+button{border-top-color:var(--line)}
.pk-gl .maplibregl-ctrl-attrib{font:400 11px/1.4 var(--font-label);background:var(--bg-translucent);color:var(--muted)}
.pk-gl .maplibregl-ctrl-attrib a{color:var(--muted)}
.pk-gl .maplibregl-ctrl-attrib.maplibregl-compact{background:var(--surface)}
.pk-pop{pointer-events:none}
.pk-pop .maplibregl-popup-content{padding:7px 11px;border-radius:9px;background:var(--ink);color:var(--surface);box-shadow:0 6px 18px rgba(0,0,0,.2);font:500 .8rem/1.35 var(--font-label)}
.pk-pop .maplibregl-popup-content b{display:block;font-weight:600}
.pk-pop .maplibregl-popup-content span{display:block;opacity:.8;font-size:.74rem}
.pk-pop.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--ink)}
.pk-pop.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:var(--ink)}
.pk-pop.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--ink)}
.pk-pop.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--ink)}
.pk-legend .l-size::before{width:6px;height:6px;margin-right:2px;background:var(--gold);box-shadow:9px 0 0 2px var(--gold);margin-right:16px;vertical-align:1px}
.pk-hint{margin:4px 0 0;font:400 .8rem/1.45 var(--font-label);color:var(--muted)}
@media(hover:none){.pk-hint{font-size:.84rem}}
/* dark pages: the map's buttons in light ink */
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .pk-gl .maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert(1) brightness(1.6)}}
:root[data-theme="dark"] .pk-gl .maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert(1) brightness(1.6)}

/* city links under the flight cards: the towns people type into Google */
.cities-line{margin-top:18px;font-size:.95rem;line-height:1.7;color:var(--muted)}
.cities-line b{color:var(--ink);font-weight:600}
.cities-line a{color:var(--accent-text);text-decoration:none;border-bottom:1px solid var(--line-strong)}
.cities-line a:hover{border-bottom-color:var(--gold)}

/* ---- about: story, values, papers and proof in rows (21 Oct 2026) ---- */
.about .about-row{align-items:center}
@media(min-width:900px){.about .about-row{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}
.about-text{max-width:62ch}
.values{display:grid;gap:14px;margin-top:clamp(36px,5vw,56px)}
@media(min-width:640px){.values{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.values{grid-template-columns:repeat(4,minmax(0,1fr))}}
.values .tile{background:var(--surface);align-content:start}
/* Documents and training: the same sheet of paper as the CV tile below it (round 16: no dates, the list reads like a
   page of the portfolio, not a table) */
.papers{position:relative;display:grid;gap:18px;margin-top:clamp(40px,6vw,64px);padding:26px 28px 30px;background:#fdfbf6;color:#23252a;border:1px solid #e6dcc3;box-shadow:0 20px 40px rgba(27,42,74,.14);transform:rotate(.5deg)}
.papers-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 24px}
.papers-head h3{font:600 1.5rem/1.1 var(--font-display);color:#1b2a4a}
.papers-head p{margin:0;color:#5c6170;font-style:italic}
.papers .cred-list div{grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:9px 0;border-top:1px solid #e6dcc3}
.papers .cred-list div::before{content:"";width:9px;height:9px;margin-top:.5em;border-radius:2px;background:#b5924c;flex:0 0 auto}
.papers .cred-list div:last-child,.papers .cred-rows div:nth-child(5){border-bottom:1px solid #e6dcc3}
.papers .cred-list dt{color:#23252a;font-weight:500}
.papers .cred-pics figcaption{color:#5c6170}
.cred-rows{column-gap:48px}
@media(min-width:900px){
  .cred-rows{grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,auto);grid-auto-flow:column}
  .cred-rows div:nth-child(5){border-bottom:1px solid #e6dcc3}
}
.about .cred-pics{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.about .cred-pics figure{flex:var(--ar) 1 0;min-width:0;margin:0;grid-column:auto}
.about .cred-pics figure > img,.about .cred-pics figure > video{width:100%;height:auto;aspect-ratio:var(--ar);object-fit:cover;border-radius:var(--radius)}
.about .cred-pics figure:first-child img{aspect-ratio:var(--ar)}
@media(max-width:639px){.about .cred-pics figure:first-child{flex-basis:100%}}
.about-end{display:grid;gap:24px;margin-top:clamp(36px,5vw,56px);align-items:center}
@media(min-width:900px){.about-end{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px}}
.about-cta{display:grid;gap:14px}
.about-cta h3{font-size:clamp(1.35rem,2.6vw,1.75rem)}
.cta-col{display:grid;gap:10px;justify-items:start}
/* interview prep: the phases read as rows */
.mentor-phases li{display:grid;gap:4px}
.mentor-cred{color:#c9d0de}
.mentor-card .fine{font-size:.9rem;color:#aab3c5}
/* calendar next to a section, and the booking panel docked under it */
.head-dock{display:grid;gap:24px;margin-bottom:clamp(24px,4vw,40px)}
.head-dock .sec-head{margin-bottom:0}
@media(min-width:900px){.head-dock{grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:48px;align-items:start}}
.dock-teaser{display:grid;gap:8px;align-content:start}
.dock-teaser[hidden],.dock-slot[hidden]{display:none}
.dock-t{margin:0;font:600 .76rem/1.4 var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.dock-teaser .cal-live{margin-top:2px}
.mentor .dock-t{color:#d8c08a}
.mentor .dock-teaser .cal-live{color:#c9d0de}
.mentor .dock-teaser .cal-live.is-set{color:#fbf8f1}
.mentor .cal h3,.mentor .dock-slot h3,.mentor .dock-slot h4{color:var(--ink)}
.mentor .cal-clear{color:#d8c08a}
.dock-slot{scroll-margin-top:84px;margin:8px 0 clamp(24px,4vw,40px)}
.mentor .dock-slot{margin:32px 0 0;padding:clamp(16px,3vw,28px);border-radius:var(--radius-lg);background:var(--bg);color:var(--fg)}
.dock-bar{display:flex;justify-content:flex-end;margin:0 0 6px}
.mentor .dock-slot .btn-link{color:var(--accent-text)}
.dock-teaser .cal{padding:10px}
.dock-teaser .cal-day,.dock-teaser .cal-pad{min-height:34px}
.dock-teaser .cal-nav{width:36px;height:36px;font-size:1.3rem}
.dock-teaser .cal-grid,.dock-teaser .cal-days{gap:3px}
.dock-teaser .cal-live{font-size:.9rem}
@media(min-width:900px) and (min-height:980px){.mentor-card{position:sticky;top:96px}}
@media(max-width:480px){
  .dock-slot .cal{padding:8px}
  .dock-slot .cal-day,.dock-slot .cal-pad{min-height:36px}
  .dock-slot .cal-grid,.dock-slot .cal-days{gap:3px}
  .mentor .dock-slot{padding:12px}
}

/* About: the DJ line is a quiet aside */
.about-text .about-aside{font-style:italic;font-size:1rem;line-height:1.5;color:var(--muted)}

/* pay-first checkout: prices on the cards, packages, the order summary, the pay button */
.pkg-menu{list-style:none;margin:2px 0 4px;padding:0;display:grid;gap:8px}
.pkg-menu button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;align-items:center;text-align:left;padding:12px 14px;border:1px solid rgba(216,192,138,.45);border-radius:var(--radius);background:rgba(255,255,255,.04);color:#fbf8f1;font:inherit;cursor:pointer;transition:background .2s,border-color .2s}
.pkg-menu button:hover{background:rgba(216,192,138,.12);border-color:#d8c08a}
.pkg-menu button:focus-visible{outline:3px solid #d8c08a;outline-offset:2px}
.pkg-menu .is-best{border-color:#d8c08a;background:rgba(216,192,138,.1)}
.pm-n{grid-column:1;font:600 1.12rem/1.25 var(--font-display)}
.pm-n i{display:inline-block;margin-left:6px;padding:3px 7px;border-radius:999px;font:600 .6rem/1.1 var(--font-label);font-style:normal;letter-spacing:.12em;text-transform:uppercase;vertical-align:3px;background:#d8c08a;color:#0f1829}
.pm-d{grid-column:1;font-size:.93rem;line-height:1.35;color:#c9d0de}
.pm-p{grid-column:2;grid-row:1 / span 2;font:600 1.3rem/1 var(--font-display);color:#d8c08a;white-space:nowrap}
.pkgset{border:0;padding:0;margin:0;min-width:0}
.pkgset legend{padding:0;margin-bottom:8px}
.pkgs{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.pkg{position:relative;display:grid;align-content:start;gap:4px;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer}
.pkg input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.pkg:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--bg)}
.pkg:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.pkg .pm-n,.pkg .pm-d,.pkg .pm-p{grid-column:1;grid-row:auto}
.pkg .pm-n{color:var(--ink)}
.pkg .pm-n i{background:var(--accent);color:var(--accent-ink);margin:0 0 0 4px}
.pkg .pm-d{color:var(--muted);font-size:.9rem}
.pkg .pm-p{color:var(--ink);font-size:1.25rem;margin-top:4px}
.service{display:flex;flex-direction:column}
.service .btn{align-self:flex-start}
.price-line{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;border-top:1px solid var(--line)}
.price-line span{font:600 .76rem/1.3 var(--font-label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.price-line b{font:600 1.5rem/1 var(--font-display);color:var(--ink);white-space:nowrap}
.service .price-note{font-size:.93rem;line-height:1.45}
.order{display:grid;gap:6px;max-width:560px;padding:16px 18px;border:1.5px solid var(--accent);border-radius:var(--radius-lg);background:var(--surface)}
.order[hidden],.pay-consent[hidden],.pay-meta[hidden],.req-only[hidden],.pay-back[hidden]{display:none}
.order p{margin:0}
.o-h{font:600 .74rem/1.4 var(--font-label);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.o-what{font:600 1.2rem/1.3 var(--font-display);color:var(--ink)}
.o-miss{color:var(--muted);font-style:italic}
.o-due{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:4px;padding-top:10px;border-top:1px solid var(--line)}
.o-due span{font:600 .95rem/1.3 var(--font-label);color:var(--ink)}
.o-due small{display:block;font:500 .8rem/1.3 var(--font-label);color:var(--muted)}
.o-due b{font:600 1.65rem/1 var(--font-display);color:var(--ink);white-space:nowrap}
.o-note{font-size:.95rem;color:var(--muted)}
.o-umb{font-size:.97rem;padding:8px 10px;border-radius:var(--radius);background:var(--accent-soft)}
.pay-consent .check label{font-size:.95rem}
.book-panel .submit .btn.is-pay{padding-inline:1.5em;font-size:1.05rem}
.pay-meta{flex-basis:100%;margin:0;font:500 .78rem/1.4 var(--font-label);letter-spacing:.04em;color:var(--muted)}
.req-only{flex-basis:100%;text-align:left}
.pay-back{padding:10px 14px;border-radius:var(--radius);background:var(--accent-soft);color:var(--fg)}
.pay.pay-first{background:var(--accent-soft)}
.pkg .pm-d{font:400 .95rem/1.35 var(--font-body)}
.pay-consent .check label{font:400 1.02rem/1.45 var(--font-body);color:var(--fg)}
@media(max-width:559px){
  .pkgs{grid-template-columns:1fr}
  .pkg{grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:center}
  .pkg .pm-p{grid-column:2;grid-row:1 / span 2;margin-top:0}
}


/* gold ladders under every door of the hero map: what you get, one tap away */
.map-sub a{color:#d8c08a}
.map-sub a small{display:block;margin-top:1px;font:400 .86rem/1.3 var(--font-body);letter-spacing:0;text-transform:none;color:rgba(251,248,241,.8)}
.map-sub a:hover span,.map-sub a:focus-visible span{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@media(min-width:900px){.map-sub a{color:var(--accent-text)}.map-sub a small{color:var(--muted)}}

/* About: a bubble on the photos says the portfolio is one tap away */
.about-bubble{position:absolute;z-index:3;top:14px;right:8px;max-width:min(210px,54%);padding:.7em .95em;border-radius:16px 16px 4px 16px;background:var(--accent);color:var(--accent-ink);font:600 .92rem/1.3 var(--font-label);text-decoration:none;box-shadow:0 12px 28px rgba(27,42,74,.28);animation:bubbleFloat 3.2s ease-in-out infinite}
.about-bubble::after{content:"";position:absolute;right:18px;bottom:-9px;border:9px solid transparent;border-top-color:var(--accent);border-bottom:0}
.about-bubble:hover,.about-bubble:focus-visible{background:var(--accent-hover);color:var(--accent-ink)}
.about-bubble:hover::after,.about-bubble:focus-visible::after{border-top-color:var(--accent-hover)}
@keyframes bubbleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.about-bubble{animation:none}}

/* the portfolio sits with the documents it shows */
.gate-in{margin-top:clamp(40px,6vw,64px);padding:clamp(20px,3.4vw,40px);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);scroll-margin-top:84px}
.gate-in .sec-head p{max-width:60ch}
.gate-h{font-size:clamp(1.6rem,3vw,2.1rem)}
.gate-e2e{font-size:.98rem;color:var(--muted)}
.gate-cand{margin:0;font-size:.98rem;color:var(--muted)}
.gate-in.is-called{animation:gateCall 1.4s ease-out}
@keyframes gateCall{0%{box-shadow:0 0 0 0 rgba(181,146,76,0)}25%{box-shadow:0 0 0 6px rgba(181,146,76,.5)}100%{box-shadow:0 0 0 0 rgba(181,146,76,0)}}
.paper-toc{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.paper-toc li{display:flex;align-items:center;gap:10px;font:600 .7rem/1.3 var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:#8a6a2f}
.paper-toc li::after{content:"";flex:1;min-width:24px;height:8px;border-radius:2px;background:linear-gradient(90deg,#e6dcc3,#efe8d8)}
.paper .unlock{display:flex;align-items:center;justify-content:center;gap:8px}
.paper .unlock .lock{color:#8a6a2f;flex:0 0 auto}

/* interview prep: one package, the questions teaser, three lines of fine print */
.pkg-one{display:grid;gap:12px;padding:18px;border:1px solid #d8c08a;border-radius:var(--radius);background:rgba(216,192,138,.08)}
.pkg-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.pkg-one .pm-n{font:600 1.3rem/1.2 var(--font-display);color:#fbf8f1}
.pkg-one .pm-p{font:600 1.8rem/1 var(--font-display);color:#d8c08a;white-space:nowrap}
.pkg-incl{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.pkg-incl li{position:relative;padding-left:24px;color:#e3e7ef;font-size:1rem;line-height:1.4}
.pkg-incl li::before{content:"";position:absolute;left:2px;top:.38em;width:12px;height:7px;border-left:2px solid #d8c08a;border-bottom:2px solid #d8c08a;transform:rotate(-45deg)}
.mentor-card .pkg-one .btn{justify-self:stretch;text-align:center}
.fine-lines{display:grid;gap:6px}
.fine-lines .fine{margin:0}
.mentor-card .mz-link{color:#d8c08a;font:600 .9rem/1.4 var(--font-label);text-decoration:none}.mentor-card .mz-link:hover{text-decoration:underline}
.qpack{display:grid;gap:10px;margin-top:10px;padding:clamp(16px,2.4vw,22px);border:1px solid rgba(216,192,138,.4);border-radius:var(--radius-lg);background:rgba(255,255,255,.04);scroll-margin-top:84px}
.qpack h3{font-size:clamp(1.3rem,2.4vw,1.6rem)}
.qpack p{margin:0;color:#c9d0de}
.qpack-q{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.qpack-q li{padding-left:14px;border-left:2px solid #d8c08a;font:500 italic 1.15rem/1.35 var(--font-display);color:#fbf8f1}
.qpack-more{font-size:.98rem}

/* crew: the way to the CV */
.crew-cv{margin:20px 0 0}
.crew-cv a{font:600 .95rem/1.4 var(--font-label);color:var(--accent-text);text-decoration:none}
.crew-cv a:hover{text-decoration:underline}

/* intro: the rhyme closes the section */
.intro .tagline{margin:10px 0 0;font:600 clamp(1.35rem,2.8vw,1.85rem)/1.25 var(--font-display);color:var(--ink)}

/* flights: why book through me, safety, and the estimate */
.fly-why{display:grid;gap:18px;margin-top:clamp(24px,4vw,36px)}
@media(min-width:900px){.fly-why{grid-template-columns:1fr 1fr;gap:32px}}
.fly-why > div{padding:18px 20px;border-left:3px solid var(--gold);background:var(--surface);border-radius:0 var(--radius-lg) var(--radius-lg) 0}
.fly-why h3{font-size:1.3rem;margin-bottom:6px}
.fly-why p{margin:0}
.price-line b small{display:block;margin-top:4px;font:500 .74rem/1 var(--font-label);letter-spacing:.06em;color:var(--muted);text-align:right}
.est-line{display:grid;gap:4px;margin:0;padding:12px 14px;border-radius:var(--radius);border:1.5px dashed var(--line-strong);background:var(--surface)}
.est-line[hidden]{display:none}
.est-line b{font:600 1.15rem/1.3 var(--font-display);color:var(--ink)}
.est-line span{font-size:.93rem;color:var(--muted)}
.o-est{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.o-est span{font:600 .95rem/1.3 var(--font-label);color:var(--ink)}
.o-est small{display:block;font:500 .8rem/1.35 var(--font-label);color:var(--muted)}
.o-est b{font:600 1.2rem/1.1 var(--font-display);color:var(--ink);white-space:nowrap}

/* bigger calendars beside the sections */
.dock-teaser .cal{padding:12px}
.dock-teaser .cal-day,.dock-teaser .cal-pad{min-height:44px}
.dock-teaser .cal-nav{width:44px;height:44px;font-size:1.5rem}
.dock-teaser .cal-grid,.dock-teaser .cal-days{gap:4px}
.dock-teaser .cal-live{font-size:.95rem}
.dock-teaser .cal-title{font-size:1.12rem}
@media(min-width:900px){
  .head-dock{grid-template-columns:minmax(0,1fr) minmax(380px,460px)}
  .mentor-grid{grid-template-columns:minmax(0,1.15fr) minmax(400px,.85fr)}
}
@media(max-width:480px){.mentor-card{padding:18px}.dock-teaser .cal{padding:8px}.dock-teaser .cal-grid,.dock-teaser .cal-days{gap:3px}}
.price-line{flex-wrap:wrap}
.price-line span{flex-shrink:0}
.price-line b{margin-left:auto;text-align:right}
/* pricing assistant: a chat bubble that types its estimate once the airfield or the route is known */
.est-need{margin:0;font-size:.93rem;color:var(--muted)}
.est-need[hidden]{display:none}
.est-bot{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:start;margin:4px 0 0;cursor:default}
.est-bot[hidden]{display:none}
.eb-av{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);box-shadow:0 4px 12px rgba(27,42,74,.18)}
.eb-body{position:relative;padding:12px 16px 14px;border-radius:4px 18px 18px 18px;background:var(--surface);border:1.5px solid var(--gold);box-shadow:0 12px 30px rgba(27,42,74,.14)}
.eb-name{margin:0 0 4px;font:600 .72rem/1.3 var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.eb-name::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#2fa36b;vertical-align:1px;box-shadow:0 0 0 3px rgba(47,163,107,.18)}
.eb-text{margin:0;min-height:1.5em;font:500 1.02rem/1.5 var(--font-label);color:var(--fg)}
.eb-caret{display:none;width:2px;height:1.05em;margin-left:2px;vertical-align:-2px;background:var(--accent)}
.est-bot.is-typing .eb-caret{display:inline-block;animation:eb-blink .9s steps(1) infinite}
.est-bot.is-thinking .eb-text::before{content:"";display:inline-block;width:34px;height:10px;background:radial-gradient(circle,var(--muted) 45%,transparent 50%) 0 50%/11px 10px repeat-x;animation:eb-dots 1s linear infinite;vertical-align:middle}
.est-bot.is-pop{animation:eb-pop .45s cubic-bezier(.2,.9,.3,1.2)}
@keyframes eb-pop{0%{opacity:0;transform:translateY(8px) scale(.96)}100%{opacity:1;transform:none}}
@keyframes eb-blink{50%{opacity:0}}
@keyframes eb-dots{0%{opacity:.35}50%{opacity:1}100%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.est-bot.is-pop,.est-bot.is-typing .eb-caret,.est-bot.is-thinking .eb-text::before{animation:none}}

/* the cabin on arrival: the eye wanders through the open door, down the aisle, to the orchids and the seats, and back */
.hero-media .look{position:absolute;inset:-16px;overflow:hidden}
.hero-media .look img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;transform-origin:50% 45%;animation:look-around 34s cubic-bezier(.45,0,.35,1) infinite;will-change:transform}
@keyframes look-around{
  0%,7%{transform:scale(1.06) translate(0,0)}
  20%,27%{transform:scale(1.3) translate(7%,8%)}
  40%,47%{transform:scale(1.36) translate(11%,0)}
  60%,67%{transform:scale(1.26) translate(-1%,-8%)}
  80%,87%{transform:scale(1.36) translate(-11%,-1%)}
  100%{transform:scale(1.06) translate(0,0)}
}
@media(prefers-reduced-motion:reduce){.hero-media .look img{animation:none;transform:scale(1.04)}}
.price-line b.pl-soft{font:500 italic 1.05rem/1.3 var(--font-display);white-space:normal;text-align:right}
body{--reach-line:var(--gold)}

/* nine links in the header: the language button shows the flag and the code until the screen is really wide */
@media(min-width:721px) and (max-width:1439px){.top .lang-btn .lang-txt{display:none}.top .lang-btn .lang-short{display:inline}.top .lang-btn{padding:.45em .55em}}
/* the assistant's one button: to the air taxi when it is cheaper, back to charter for a bigger group */
.eb-act{margin-top:10px}.eb-act[hidden]{display:none}
.eb-switch{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:.45em 1.05em;border-radius:999px;border:1.5px solid var(--gold);background:transparent;color:var(--accent-text);font:600 .9rem/1.2 var(--font-label);cursor:pointer;transition:background .2s}
.eb-switch:hover{background:rgba(181,146,76,.14)}.eb-switch:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.est-bot.is-typing .eb-act,.est-bot.is-thinking .eb-act{visibility:hidden}

/* round 5: the crew price, crypto, the currency chips and the contract line in the order, the "let's sort it out" pop-up */
.crew-price{margin-top:12px;font-size:1.02rem;line-height:1.5;color:var(--fg)}
.crew-price b{color:var(--ink);font-weight:600}
.pay-crypto{flex-basis:100%;text-align:left;font-size:.95rem}
.pay-crypto[hidden]{display:none}
.order .o-contract{margin:8px 0 0;font-size:.9rem;color:var(--muted)}
.order .o-cur{margin:10px 0 0;font:500 .8rem/1.2 var(--font-label);color:var(--muted)}
.order .o-cur summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}
.order .o-cur summary::-webkit-details-marker{display:none}
.order .o-cur summary b{color:var(--fg);font-weight:600;letter-spacing:.04em}
.order .o-cur summary u{color:var(--accent-text);text-underline-offset:.2em}
.order .o-cur[open] summary u{visibility:hidden}
.order .o-cur p{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
[data-cur]{cursor:pointer}
.o-cur button,.cur-btns button{min-height:30px;padding:.3em .7em;border:1.5px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--fg);font:600 .78rem/1 var(--font-label);letter-spacing:.04em}
.o-cur button[aria-pressed="true"],.cur-btns button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.xm{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(10,14,24,.55);animation:xm-in .18s ease-out}
.xm-box{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:24px 22px 16px;border-radius:var(--radius-lg);background:var(--surface);color:var(--fg);box-shadow:0 24px 60px rgba(0,0,0,.35)}
.xm-box h3{margin:2px 0 6px;font-size:1.6rem}
.xm-k{margin:0;font:600 .74rem/1.3 var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}
.xm-lede{margin:0 0 14px;color:var(--muted)}
.xm-x{position:absolute;top:8px;right:10px;width:40px;height:40px;border:0;background:transparent;color:var(--muted);font-size:1.6rem;line-height:1;cursor:pointer}
.xm-opts{display:grid;gap:8px}
.xm-o{display:grid;gap:2px;width:100%;padding:12px 14px;text-align:left;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--fg);cursor:pointer;font:400 .95rem/1.35 var(--font-label)}
.xm-o:hover,.xm-o:focus-visible{border-color:var(--gold);outline:none}
.xm-o b{font-weight:600;font-size:1rem;color:var(--ink)}
.xm-o span{color:var(--muted);font-size:.88rem}
.xm-msg{margin:12px 0 0;padding:10px 12px;border-radius:var(--radius);background:var(--accent-soft);font-size:.95rem}
.xm-msg[hidden]{display:none}
.xm-talk{display:flex;flex-wrap:wrap;gap:8px}
.xm-foot{margin:12px 0 0;text-align:center}
@keyframes xm-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.xm{animation:none}}
.cur-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:.55em .8em;border-top:1px solid var(--line);margin-top:4px;font:500 .82rem var(--font-label);color:var(--muted)}
.cur-row .cur-lbl{flex-basis:100%}
.cur-btns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%}
.cur-btns button{padding-inline:.4em;text-align:center}

.xm-chk{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;font-size:.92rem;line-height:1.45;text-align:left}
.xm-chk input{margin-top:3px;width:18px;height:18px;flex:0 0 auto}
.xm-go{display:block;width:100%}
.booking-head .pay-ways{margin-top:6px;font:500 .92rem/1.5 var(--font-label);color:var(--muted)}

/* round 5b: crew in two parts (all now, or half now and the rest on a pro forma) */
.order .o-plan{display:grid;gap:6px;margin:10px 0 2px}
.order .o-plan label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer}
.order .o-plan label:has(input:checked){border-color:var(--gold);background:var(--accent-soft)}
.order .o-plan input{margin:3px 0 0;accent-color:var(--accent);width:18px;height:18px;flex:none}
.order .o-plan span{display:grid;gap:2px}
.order .o-plan b{font:600 .95rem/1.3 var(--font-label);color:var(--ink)}
.order .o-plan small{font:500 .82rem/1.35 var(--font-label);color:var(--muted)}
.order .o-plan-na{margin:8px 0 0;font-size:.88rem;color:var(--muted)}
.paid-box .o-rest{margin:6px 0 0;font-size:.95rem}

/* charter: which aircraft (booking.js acPlan): a card per class, the recommended one marked, the impossible ones greyed out with the reason */
.ac-field.is-empty{display:none}
.ac-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:8px;margin-top:6px}
.ac-opt{position:relative;display:grid;gap:3px;align-content:start;padding:10px 12px 10px 38px;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.ac-opt:hover{border-color:var(--gold)}
.ac-opt input{position:absolute;left:13px;top:13px;width:16px;height:16px;margin:0;accent-color:var(--accent)}
.ac-opt.is-on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:var(--bg)}
.ac-opt.is-off{opacity:.55;cursor:not-allowed}
.ac-opt.is-off:hover{border-color:var(--line)}
.ac-opt:focus-within{outline:2px solid var(--focus);outline-offset:2px}
.ac-n{font:600 .95rem/1.3 var(--font-label);color:var(--ink)}
.ac-n em{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font:600 .68rem/1.7 var(--font-label);font-style:normal;letter-spacing:.08em;text-transform:uppercase;vertical-align:1px}
.ac-n i{font-style:normal;font-weight:500;color:var(--muted);font-size:.8rem}
.ac-s{font:400 .82rem/1.4 var(--font-label);color:var(--muted)}
.ac-why{margin:10px 0 0;padding:9px 12px;border-left:2px solid var(--gold);background:var(--surface);font-size:.95rem;line-height:1.45;color:var(--fg)}
.ac-why[hidden]{display:none}
.ac-note{margin:6px 0 0;font:400 .78rem/1.4 var(--font-label);color:var(--muted)}
.ac-more{grid-column:1/-1;margin-top:2px}
.ac-more summary{cursor:pointer;padding:6px 2px;font:500 .84rem/1.4 var(--font-label);color:var(--muted)}
.ac-more summary:hover{color:var(--ink)}
.ac-more[open] summary{margin-bottom:6px}

/* charter extras: unchecked cards, the price on each, paid with the quote */
.ad-sub{margin:2px 0 8px;font:400 .84rem/1.4 var(--font-label);color:var(--muted)}
.ad-list{display:grid;gap:8px}
.ad-opt{position:relative;display:grid;gap:3px;padding:12px 14px 12px 42px;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}
.ad-opt:hover{border-color:var(--gold)}
.ad-opt input{position:absolute;left:14px;top:15px;width:17px;height:17px;margin:0;accent-color:var(--accent)}
.ad-opt.is-on{border-color:var(--gold);background:var(--bg);box-shadow:inset 3px 0 0 var(--gold)}
.ad-opt:focus-within{outline:2px solid var(--focus);outline-offset:2px}
.ad-t{font:600 .97rem/1.3 var(--font-label);color:var(--ink)}
.ad-t em{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font:600 .68rem/1.7 var(--font-label);font-style:normal;letter-spacing:.06em;text-transform:uppercase;vertical-align:1px}
.ad-d{font:400 .86rem/1.45 var(--font-body);color:var(--fg)}
.ad-p{font:600 .84rem/1.4 var(--font-label);color:var(--accent-text)}
.ad-leg2{display:grid;gap:4px;margin:-2px 0 2px 42px}
.ad-leg2[hidden]{display:none}
.ad-leg2 label{font:500 .82rem/1.3 var(--font-label);color:var(--muted)}
.ad-leg2 input{min-height:44px;padding:.55em .8em;border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--fg);font:400 .95rem/1.4 var(--font-body)}
.o-add{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.o-add span{font:600 .95rem/1.3 var(--font-label);color:var(--ink)}
.o-add small{display:block;font:500 .8rem/1.35 var(--font-label);color:var(--muted)}
.o-add b{white-space:nowrap}
/* the helicopter loop next to "why through me" and "safety first" (an animated image, like a GIF: it plays everywhere,
   power-saving mode included; a still frame for visitors who asked for less motion): a narrow upright column on wide
   screens, a band under the two notes on phones */
.fly-clip{margin:0;display:grid;gap:6px;align-content:start}
.fly-clip img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 42%;border-radius:var(--radius-lg);background:#bcd6ee}
.fly-clip figcaption{font:500 .82rem/1.35 var(--font-label);color:var(--muted)}
@media(max-width:899px){.fly-why.has-clip .fly-clip{order:3}}
@media(min-width:900px){.fly-why.has-clip{grid-template-columns:minmax(190px,240px) 1fr 1fr;align-items:start}.fly-clip img{aspect-ratio:4/5}}
/* links the header has no room for (site.js measures it) */
.nav a.fit-hide{display:none}
@media(min-width:900px){.nav.nav-tight{gap:0}.nav.nav-tight a{font-size:.72rem;padding:.5em .42em;letter-spacing:-.005em}}   /* long labels: tighter before anything is hidden */
/* round 11: "book me too" on the flight cards, and the row under them (a proposal in the air, a local on your side, what the fee pays for) */
.service .book-me{margin:12px 0 0;font-size:.98rem;line-height:1.45;color:var(--fg)}
.service .book-me b{color:var(--accent-text)}
@media(min-width:900px) and (max-width:1179px){.fly-why.fly-more > div:last-child{grid-column:1/-1}}
@media(min-width:1180px){.fly-why.fly-more{grid-template-columns:repeat(3,1fr)}}

/* round 14 (24.10.2026): the trust row under the hero map; the two tiers of interview preparation (the questions alone,
   the complete preparation with the guarantee); every price in one place under the booking head */
.trust{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 0;font:500 .78rem/1.35 var(--font-label);letter-spacing:.02em;color:#d9deea}
.trust li{position:relative;padding-inline-end:14px;margin-inline-end:10px}
.trust li::after{content:"";position:absolute;inset-inline-end:0;top:50%;width:4px;height:4px;border-radius:50%;background:#d8c08a;transform:translateY(-50%)}
.trust li:last-child::after{display:none}
@media(min-width:900px){.trust{color:var(--muted);font-size:.82rem}.trust li::after{background:var(--gold)}}
.pkg-lite{background:transparent;border-style:dashed;gap:10px}
.pkg-lite .pm-n{font-size:1.15rem}.pkg-lite .pm-p{font-size:1.45rem}
.pkg-lead{margin:0;color:#e3e7ef;font-size:1rem;line-height:1.45}
.pkg-fine{margin:0;font-size:.88rem;color:#aab3c5}
.mentor-card .btn-ghost{background:transparent;border-color:#d8c08a;color:#fbf8f1;justify-self:stretch;text-align:center}
.mentor-card .btn-ghost:hover{background:rgba(216,192,138,.14);color:#fbf8f1}
.qpack .btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6em 1.2em;border:1.5px solid #d8c08a;border-radius:var(--radius);background:transparent;color:#fbf8f1;font:600 .95rem var(--font-label);cursor:pointer}
.qpack .btn-ghost:hover{background:rgba(216,192,138,.14)}
.pkg-incl li.pkg-g{color:#fbf8f1;font-weight:500}
.pkg-incl li.pkg-g::before{border-color:#fbf8f1}
.price-peek{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:0 14px}
.price-peek summary{cursor:pointer;padding:12px 0;font:600 .95rem var(--font-label);color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center}
.price-peek summary::-webkit-details-marker{display:none}
.price-peek summary::after{content:"+";font-size:1.2rem;color:var(--accent-text)}
.price-peek[open] summary::after{content:"–"}
.price-bands{display:grid;gap:16px;padding:0 0 14px}
@media(min-width:700px){.price-bands{grid-template-columns:1fr 1fr;gap:24px}}
.price-bands .lbl-caps{margin:0 0 6px}
.price-bands ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.price-bands li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:.95rem;line-height:1.35;border-bottom:1px dotted var(--line);padding-bottom:5px}
.price-bands li b{white-space:nowrap;font-weight:600;color:var(--ink)}
/* 24.10.2026: the card for hotel concierges, under the three "why" blocks in the flights section */
.concierge{margin-top:28px;padding:clamp(20px,3vw,32px);border:1.5px solid var(--gold);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 14px 34px rgba(27,42,74,.08)}
.concierge h3{font-size:clamp(1.5rem,3vw,2.1rem);margin:4px 0 10px}
.concierge p{max-width:70ch}
.concierge-thanks{padding:10px 14px;border-left:3px solid var(--gold);background:var(--accent-soft);font-weight:500}
.concierge-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:14px 0 6px}
.concierge .fine{color:var(--muted)}

[hidden]:not([hidden="until-found" i]){display:none!important}
/* Shared: buttons, booking form, calendar, FAQ, sticky CTA, footer details. Styled only through site tokens. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.7em 1.3em;border:1.5px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--fg);font:600 1rem/1.2 var(--font-label);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn:hover{border-color:var(--accent);color:var(--accent-hover)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}
.btn-link{background:none;border:0;padding:.4em 0;color:var(--muted);font:500 .95rem var(--font-label);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.btn-link:hover{color:var(--fg)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}

/* form */
.booking-grid{display:grid;gap:28px}
@media(min-width:900px){.booking-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}}
.field{display:grid;gap:6px;min-width:0;align-content:start}
.field label,.field .lbl{font:600 .92rem/1.3 var(--font-label);color:var(--fg)}
.field .hint{font-size:.88rem;color:var(--muted)}
.field input:not([type=radio]):not([type=checkbox]),.field select,.field textarea{width:100%;min-height:48px;padding:.65em .85em;border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--fg);font:400 1rem/1.4 var(--font-body)}
.field textarea{min-height:96px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:.8}
.field.is-invalid input,.field.is-invalid textarea,.field.is-invalid select,.is-invalid .chips,.is-invalid .cal{border-color:var(--danger)!important}
.err{font:500 .85rem/1.3 var(--font-label);color:var(--danger);min-height:0}
.err:empty{display:none}
.form-error{margin:0 0 12px;padding:.7em 1em;border-radius:var(--radius);background:var(--danger-bg);color:var(--danger);font:600 .92rem var(--font-label)}
.fields-2{display:grid;gap:16px}
@media(min-width:560px){.fields-2{grid-template-columns:1fr 1fr}}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* chips */
fieldset.chipset{border:0;padding:0;margin:0;min-width:0}
fieldset.chipset legend{padding:0;margin-bottom:8px;font:600 .92rem/1.3 var(--font-label);color:var(--fg)}
.chips{display:flex;flex-wrap:wrap;gap:8px;border:1.5px solid transparent;border-radius:var(--radius);padding:2px}
.chips label{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:.5em 1em;border:1.5px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--fg);font:500 .95rem/1.2 var(--font-label);cursor:pointer;user-select:none}
.chips input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.chips label:has(input:checked){background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.chips label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}

/* calendar */
.cal{border:1.5px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);padding:12px;min-width:0}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.cal-title{margin:0;font:600 1.05rem/1.2 var(--font-label);text-transform:capitalize;color:var(--fg)}
.cal-nav{width:44px;height:44px;border:1.5px solid var(--line-strong);border-radius:50%;background:transparent;color:var(--fg);font-size:1.5rem;line-height:1;cursor:pointer}
.cal-nav:hover{border-color:var(--accent);color:var(--accent-hover)}
.cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:4px;text-align:center;font:600 .72rem/1 var(--font-label);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-day,.cal-pad{aspect-ratio:1;min-height:44px;min-width:0}
.cal-day{display:flex;align-items:center;justify-content:center;border:1.5px solid transparent;border-radius:var(--radius);background:transparent;color:var(--fg);font:500 1rem var(--font-label);font-variant-numeric:tabular-nums;cursor:pointer;position:relative}
.cal-day:hover:not([disabled]){border-color:var(--accent)}
.cal-day[disabled]{color:var(--muted);opacity:.45;cursor:not-allowed;text-decoration:line-through}
.cal-day.is-busy[disabled]{opacity:.7;text-decoration:none;background:repeating-linear-gradient(135deg,transparent 0 3px,var(--line) 3px 4px)}
.cal-day.is-today::after{content:"";position:absolute;bottom:5px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--accent)}
.cal-day.is-sel{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}
.cal-day.is-sel.is-today::after{background:var(--accent-ink)}
.cal-day.in-range{background:var(--accent-soft)}
.cal-day{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.cal-day.is-pre:not(.is-sel){background:var(--accent-soft);border-color:var(--accent)}
.cal-day.join-l{border-top-left-radius:0;border-bottom-left-radius:0}
.cal-day.join-r{border-top-right-radius:0;border-bottom-right-radius:0}
.cal-clear{margin-top:4px;font-size:.9rem}
.cal-clear[hidden]{display:none}
.cal-live{margin:10px 0 0;font:500 .95rem/1.4 var(--font-label);color:var(--muted)}
.cal-live.is-set{color:var(--fg)}
.cal-legend{display:flex;flex-wrap:wrap;gap:14px;margin:8px 0 0;font-size:.82rem;color:var(--muted)}
.cal-legend span::before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px;vertical-align:-1px;background:repeating-linear-gradient(135deg,transparent 0 2px,var(--line-strong) 2px 3px)}
.cal-legend span.l-today::before{border-radius:50%;background:var(--accent)}

/* confirm panel */
.confirm{border:1.5px solid var(--accent);border-radius:var(--radius-lg);background:var(--surface);padding:24px;display:grid;gap:14px}
.confirm h3{margin:0;font:600 1.4rem/1.2 var(--font-display);color:var(--fg)}
.confirm p{margin:0;color:var(--fg)}
.send-row{display:flex;flex-wrap:wrap;gap:10px}
.send-note{color:var(--muted);font-size:.92rem}
.send-note:empty{display:none}
.send-mail{color:var(--muted);font-size:.95rem}
.sel{user-select:all;color:var(--fg);font-weight:600}
.pay{display:grid;gap:10px;padding:16px;border-radius:var(--radius);background:var(--accent-soft)}
.pay h4{margin:0;font:600 1.1rem/1.3 var(--font-display);color:var(--fg)}
.pay .btn{justify-self:start}
.pay p{font-size:.95rem;color:var(--muted)}
.msg-preview{margin:0;padding:14px;border-radius:var(--radius);background:var(--surface2);color:var(--fg);font:400 .92rem/1.5 var(--font-body);white-space:pre-wrap;word-wrap:break-word}
#msgRaw{width:100%;font:inherit}

/* FAQ */
.faq details{border-top:1px solid var(--line);padding:4px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 0;cursor:pointer;font:600 1.08rem/1.3 var(--font-label);color:var(--fg)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line-strong);font-weight:500;color:var(--accent-hover)}
.faq details[open] summary::after{content:"–"}
.faq .ans{padding:0 0 16px;max-width:62ch;color:var(--fg)}
.faq .ans p{margin:0 0 .6em}

/* sticky mobile CTA */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:var(--bg-translucent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);transition:transform .25s,opacity .25s}
.sticky .btn{width:100%}
.sticky.is-hidden{transform:translateY(110%);opacity:0;pointer-events:none}
@media(min-width:900px){.sticky{display:none}}
@media(prefers-reduced-motion:reduce){.sticky{transition:none}*{scroll-behavior:auto!important}}
body.has-sticky{padding-bottom:84px}
@media(min-width:900px){body.has-sticky{padding-bottom:0}}

/* privacy details in footer */
.privacy{max-width:70ch}
.privacy summary{cursor:pointer;font:600 .92rem var(--font-label);color:var(--fg)}
.privacy p{margin:.6em 0 0;font-size:.88rem;line-height:1.5;color:var(--muted)}

/* hidden chips and fieldsets when the panel is docked in a section */
.chips label[hidden],.chipset[hidden],fieldset[hidden]{display:none}
/* time picker under the calendar: 30-minute steps, busy times greyed out */
.tp{display:grid;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.tp[hidden]{display:none}
.tp .lbl{font:600 .95rem/1.3 var(--font-label);color:var(--fg)}
.tp .hint{font-size:.88rem;color:var(--muted)}
.tp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:6px;border:1.5px solid transparent;border-radius:var(--radius);padding:2px}
.tp-grid button{min-height:44px;padding:0 4px;border:1.5px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--fg);font:600 .95rem/1 var(--font-label);font-variant-numeric:tabular-nums;cursor:pointer}
.tp-grid button:hover:not([disabled]){border-color:var(--accent)}
.tp-grid button.is-sel{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.tp-grid button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.tp-grid button[disabled]{cursor:not-allowed;color:var(--muted);opacity:.7;background:repeating-linear-gradient(135deg,transparent 0 3px,var(--line) 3px 4px)}
.tp-note{margin:0;font-size:.92rem;color:var(--fg)}
.tp-note[hidden]{display:none}
.tp.is-invalid .tp-grid{border-color:var(--danger)}
.tp .err{color:var(--danger);font-size:.9rem}
.tp .err:empty{display:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Cloudflare Turnstile: invisible unless Cloudflare asks for a click */
.ts-box{margin:2px 0 0}
.ts-box:empty{display:none}
.ts-box iframe{max-width:100%}
/* weather marks (booking.js, CONFIG.WX): a dot for good, a ring for uncertain, a diamond for unlikely; the words are in
   the labels and the legend, the shapes keep them apart without colour */
.cal,.tp,.wx-box{--wx0:#2f9e5b;--wx1:#c98a12;--wx2:#cf4436}
.cal-wx{position:absolute;left:50%;bottom:4px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--wxc);box-shadow:0 0 0 1.5px var(--surface);pointer-events:none}
.wx-0{--wxc:var(--wx0)}.wx-1{--wxc:var(--wx1)}.wx-2{--wxc:var(--wx2)}
.wx-1 .cal-wx{background:var(--surface);border:2px solid var(--wxc);width:8px;height:8px;margin-left:-4px}
.wx-2 .cal-wx{border-radius:1px;transform:rotate(45deg);width:6px;height:6px;margin-left:-3px}
.tp-grid button{position:relative}
.tp-grid button[class*="wx-"]::after{content:"";position:absolute;left:50%;bottom:5px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--wxc)}
.tp-grid button.wx-1::after{background:transparent;border:1.5px solid var(--wxc);width:7px;height:7px;margin-left:-3.5px;box-sizing:border-box}
.tp-grid button.wx-2::after{border-radius:1px;transform:rotate(45deg);width:5px;height:5px;margin-left:-2.5px}
.tp-grid button.is-sel[class*="wx-"]::after{box-shadow:0 0 0 1.5px var(--surface)}
.wx-box{margin:10px 0 0;font-size:.9rem;line-height:1.45}
.wx-box[hidden],.wx-box p[hidden]{display:none}
.wx-box p{margin:0 0 6px}
.wx-leg{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font:500 .8rem/1.3 var(--font-label)}
.wl{display:inline-flex;align-items:center;gap:6px}
.wl::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--wx0);flex:none}
.wl-1::before{background:transparent;border:2px solid var(--wx1);width:8px;height:8px;box-sizing:border-box}
.wl-2::before{background:var(--wx2);border-radius:1px;transform:rotate(45deg);width:6px;height:6px}
.wl-for{font-style:italic}
.wx-line{padding:.55em .8em;border-radius:var(--radius);border-left:3px solid var(--line-strong);background:var(--surface)}
.wx-line.wx-l0{border-left-color:var(--wx0)}.wx-line.wx-l1{border-left-color:var(--wx1)}.wx-line.wx-l2{border-left-color:var(--wx2)}
.wx-src{font-size:.78rem;color:var(--muted)}
.cal-day.is-today[class*="wx-"]::after{bottom:auto;top:5px}

/* language menu: flag + "Choose the language" in the page's language; opens on hover (pointer devices) or tap */
.langmenu{position:relative;margin-left:6px}
.lang-btn{display:inline-flex;align-items:center;gap:8px;padding:.45em .7em;border:1.5px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--fg);font:600 .82rem var(--font-label);cursor:pointer;white-space:nowrap}
.lang-btn .lang-short{display:none}
.lang-caret{font-size:.7em}
.flag{display:inline-block;width:20px;height:13px;flex:0 0 auto;vertical-align:-1px}
.flag svg{width:100%;height:100%;display:block;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.lang-list{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:240px;margin:0;padding:6px;list-style:none;background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 14px 30px rgba(0,0,0,.18);display:none}
.langmenu.is-open .lang-list{display:block}
@media(hover:hover){.langmenu:hover .lang-list,.langmenu:focus-within .lang-list{display:block}}
.lang-list a{display:flex;align-items:center;gap:10px;padding:.55em .8em;border-radius:var(--radius);color:var(--fg);font:500 .92rem var(--font-label);text-decoration:none}
.lang-list a:hover,.lang-list a:focus-visible{background:var(--surface2)}
.lang-list a[aria-current]{background:var(--surface2);font-weight:600}
.lang-list li.lang-g{margin-top:5px;padding-top:5px;border-top:1px solid var(--line)}   /* a new group: Europe, the east, the Middle East, Asia */
.lang-link{display:inline-flex;align-items:center;gap:6px}
@media(max-width:720px){.lang-btn .lang-txt{display:none}.lang-btn .lang-short{display:inline}.lang-btn{padding:.45em .55em}}

/* contact card (bottom right) and its round button; styled only through site tokens */
.reach{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;width:min(372px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:16px 18px 14px;border-radius:var(--radius-lg,16px);background:var(--surface);color:var(--fg);border:1.5px solid var(--reach-line,var(--accent));box-shadow:0 24px 60px rgba(15,24,41,.28);opacity:0;transform:translateY(24px) scale(.98);transform-origin:100% 100%;transition:opacity .35s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
.reach.is-open{opacity:1;transform:none}
.reach[hidden]{display:none}
.reach-x{position:absolute;top:8px;right:8px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.4rem;line-height:1;cursor:pointer}
.reach-x:hover{background:var(--surface2,rgba(0,0,0,.05));color:var(--fg)}
.reach-head{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;padding-right:28px}
.reach-av{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--reach-line,var(--accent))}
.reach-eb{margin:0 0 2px;font:600 .7rem/1.3 var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text,var(--accent))}
.reach h2{margin:0;font-size:1.25rem;line-height:1.2}
.reach-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.reach-quick .btn{flex:1 1 auto;min-height:44px;padding:.45em .9em;font-size:.92rem;justify-content:center}
.reach-quick .btn[hidden]{display:none}
.reach-or{margin:12px 0 6px;font-size:.9rem;color:var(--muted)}
.reach-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}
.reach-row .field{gap:2px;margin:0}
.reach-row input{min-height:44px;width:100%}
.reach-row .btn{min-height:44px;padding:.45em 1em;font-size:.92rem;white-space:nowrap}
.reach .check{display:flex;gap:8px;align-items:flex-start;margin-top:8px;font-size:.82rem;line-height:1.35;color:var(--muted)}
.reach .check input{width:18px;height:18px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--accent)}
.reach .fine{margin:8px 0 0;font-size:.76rem;color:var(--muted)}
.reach .err{color:var(--danger);font-size:.85rem}
.reach .err:empty{display:none}
.reach .field.is-invalid input{border-color:var(--danger)}
.reach-done{margin-top:10px}
.reach-done h3{font-size:1.2rem;margin:0 0 4px}
.reach-done p{margin:0}
.reach .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.reach-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:35;display:flex;align-items:center;gap:0;padding:4px;border:1.5px solid var(--reach-line,var(--accent));border-radius:999px;background:var(--surface);color:var(--fg);box-shadow:0 12px 30px rgba(15,24,41,.25);cursor:pointer;opacity:0;transform:translateY(16px);transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1)}
.reach-fab[hidden]{display:none}
.reach-fab.is-in{opacity:1;transform:none}
.reach-fab.is-hidden{opacity:0;transform:translateY(16px);pointer-events:none}
.reach-fab img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.reach-fab .reach-fab-t{max-width:0;overflow:hidden;white-space:nowrap;font:600 .92rem/1.3 var(--font-label);transition:max-width .4s ease,padding .4s ease;padding:0}
.reach-fab:hover .reach-fab-t,.reach-fab:focus-visible .reach-fab-t,.reach-fab.is-teasing .reach-fab-t{max-width:min(320px,calc(100vw - 120px));padding:0 14px 0 10px}
.reach-fab::after{content:"";position:absolute;right:2px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--surface)}
.reach-fab:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:899px){
  body.has-sticky .reach-fab{bottom:calc(84px + env(safe-area-inset-bottom,0px));transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1),bottom .25s}
  body.has-sticky .sticky.is-hidden ~ .reach-fab{bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .reach{left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));width:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));max-height:min(78vh,560px)}
}
@media(prefers-reduced-motion:reduce){.reach,.reach-fab,.reach-fab .reach-fab-t{transition:none}}

/* background music button, bottom left (only when CONFIG.MUSIC.src is set) */
.music-btn{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:34;display:flex;align-items:center;justify-content:center;gap:6px;width:46px;height:46px;border:1.5px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--muted);box-shadow:0 8px 22px rgba(15,24,41,.2);cursor:pointer;transition:width .3s ease,color .2s}
.music-btn:hover{color:var(--fg);border-color:var(--accent)}
.music-btn:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.music-btn.is-on{width:70px;color:var(--accent);border-color:var(--accent)}
.music-eq{display:none;align-items:flex-end;gap:2px;height:14px}
.music-btn.is-on .music-eq{display:inline-flex}
.music-eq i{display:block;width:3px;height:100%;background:currentColor;border-radius:1px;transform-origin:50% 100%;animation:music-eq 1s ease-in-out infinite}
.music-eq i:nth-child(2){animation-delay:-.35s}.music-eq i:nth-child(3){animation-delay:-.7s}
@keyframes music-eq{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
@media(max-width:899px){body.has-sticky .music-btn{bottom:calc(84px + env(safe-area-inset-bottom,0px))}body.has-sticky .sticky.is-hidden ~ .music-btn{bottom:calc(16px + env(safe-area-inset-bottom,0px))}}
/* the hint: a soft ring pulses a few times until the music plays (a tap anywhere starts it) */
.music-btn.is-hint::after{content:"";position:absolute;inset:-4px;border-radius:999px;border:2px solid var(--accent);opacity:0;animation:music-hint 1.7s ease-out 4;pointer-events:none}
@keyframes music-hint{0%{transform:scale(.9);opacity:.75}70%{transform:scale(1.45);opacity:0}100%{transform:scale(1.45);opacity:0}}
@media(prefers-reduced-motion:reduce){.music-eq i{animation:none;transform:scaleY(.7)}.music-btn{transition:none}.music-btn.is-hint::after{animation:none;opacity:.5;transform:none}}

/* the magnet (shared/magnet.js): the field of dotted lines around the button the visitor chose, its two poles, and the
   button's small tilt towards the pointer */
.mag-layer{position:fixed;left:0;top:0;width:0;height:0;z-index:29;pointer-events:none;overflow:hidden;display:none;transform-origin:0 0;
  --mag-ink:var(--ink,var(--fg,#1b2a4a));--mag-gold:var(--gold,var(--accent,#b5924c));--mag-pale:var(--surface,#fbf8f1);--mag-near:0}
.mag-line{stroke:var(--mag-ink);stroke-width:1.3;stroke-linecap:round;stroke-dasharray:1.2 5.2}
.mag-layer.is-flow .mag-line{animation:mag-flow 1.1s linear infinite}   /* a while after a choice and while the pointer is near (magnet.js) */
.mag-line.is-gold{stroke:var(--mag-gold);stroke-width:1.5}
.mag-cap{fill:var(--mag-gold);stroke:var(--mag-ink);stroke-width:1}
.mag-cap.is-s{fill:var(--mag-pale)}
@keyframes mag-flow{to{stroke-dashoffset:-6.4}}
/* the chosen button: it holds still, only tilting towards the pointer; the poles are drawn over its ends by the layer */
.mag-on{position:relative;z-index:5;transition:background .15s,color .15s,border-color .15s,transform .12s linear}
.mag-on.mag-tilt{transform:perspective(560px) rotateX(var(--mrx,0deg)) rotateY(var(--mry,0deg))}   /* only a button, only while the pointer is near */
@media(prefers-reduced-motion:reduce){.mag-line{animation:none}.mag-on.mag-tilt{transform:none}}

/* the cookie notice (shared/consent.js): a small card at the bottom, out of the way of the music switch (left) and the
   contact card (right) on wide screens, full width on phones; the site's own buttons */
.consent{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:45;width:min(640px,calc(100vw - 32px));transform:translate(-50%,24px);opacity:0;display:grid;gap:12px;padding:16px 18px;border-radius:var(--radius-lg,14px);background:var(--surface);color:var(--fg);border:1.5px solid var(--line-strong,var(--accent));box-shadow:0 24px 60px rgba(15,24,41,.28);transition:opacity .35s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
.consent.is-in{opacity:1;transform:translate(-50%,0)}
.consent[hidden]{display:none}
.consent-h{margin:0 0 4px;font:600 .95rem/1.3 var(--font-label);color:var(--ink,var(--fg))}
.consent-text p{margin:0;font-size:.9rem;line-height:1.5}
.consent-text a{color:var(--accent-text,var(--accent));text-decoration:underline}
.consent-btns{display:flex;flex-wrap:wrap;gap:8px}
.consent-btns .btn{min-height:42px;padding:.5em 1em;font-size:.92rem}
@media(min-width:900px){.consent{grid-template-columns:1fr auto;align-items:center}}
@media(max-width:899px){.consent{left:16px;right:16px;width:auto;transform:translateY(24px)}.consent.is-in{transform:none}}
@media(prefers-reduced-motion:reduce){.consent{transition:none}}
/* the "Cookies" entry in the footer: a button that reads like the links beside it */
.link-btn{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:.15em;cursor:pointer}
.link-btn:hover{color:var(--accent-text,var(--accent))}


.local{padding-block:32px 64px;max-width:900px}
.local h1{font-size:clamp(1.9rem,4.5vw,3rem);margin:8px 0 12px}
.local h2{font-size:1.35rem;margin:28px 0 8px}
.local .lead{font-size:1.15rem;line-height:1.5;color:var(--muted)}
.local-grid{display:grid;gap:12px}
@media(min-width:720px){.local-grid{grid-template-columns:1fr 1fr;gap:28px}}
.facts,.near,.dir{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.facts li{padding:6px 0;border-bottom:1px solid var(--line)}
.near li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line)}
.near li span{color:var(--muted);white-space:nowrap}
.dir li a{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line);color:var(--fg);text-decoration:none}
.dir li a span{color:var(--muted);font-size:.92rem}
.dir li a:hover b{text-decoration:underline}
.local-cta{margin-top:28px;padding:22px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius-lg)}
.local .send-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.local .faq details{border-bottom:1px solid var(--line)}
.local .fine{color:var(--muted);font-size:.9rem}
.local section{padding-block:0}.local .local-cta{padding:22px}   /* the main page's tall section spacing is not for these short pages */
.top .nav a{padding:.5em .6em}
