
/* Poppins, lokalno (bez Google Fonts: brže, bez kolačića i bez slanja IP adrese trećoj strani). Licenca: fonts/OFL.txt */
@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/poppins-latin-300.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/poppins-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/poppins-latin-800.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-300.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-400.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-500.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-600.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-700.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-800.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* rezervni font istih dimenzija dok se Poppins ne učita (bez skakanja teksta) */
@font-face{font-family:'Poppins fallback';src:local('Arial'),local('Helvetica'),local('Liberation Sans');size-adjust:112.5%;ascent-override:93%;descent-override:31%;line-gap-override:9%}

/* Layout: multi-page (hash routes), shared header with grouped menus, page hero + sticky in-page chips,
   1200px column. Pyramid mark = recurring kite motif; Rtanj contours = texture.
   KV 2027 "ROD": folk palette (--k-*) and ornaments used sparingly: hero, edition lockup, dividers.
   When the KV changes, swap the --k-* values and the ornament SVGs in h_calls.js. */
/* KV accents (--k-*) sit on the brand palette: navy + sand from the logo (dark), KV cream + ink (light). */
:root{
  --k-red:#CD3B33; --k-teal:#4F9A9A; --k-gold:#E8AA42; --k-orange:#D7803B; --k-ink:#E3D5CC; --k-navy:#282D4C; --k-cream:#E3D5CC;
  --k-rod:#E3D5CC; --k-odia:#E8AA42; --k-bg:#121A21; --k-tone:#182534; --k-stitch:#452A29;
  --bg:#0c1d25; --bg2:#081318; --card:#13262f; --raise:#1b313b;
  --fg:#f6ecdd; --mute:#c7c1b6; --sand:#f3d2a5; --eb:#f3d2a5;
  --accent:#f3d2a5; --accent-ink:#0c1d25;
  --hi:#ee9e31; --sage:#7FB8B8; --teal-t:#7FB8B8;
  --line:#21363f; --scrim:rgba(12,29,37,.88); --navy:#0c1d25; --navy2:#081318; --night-fg:#f3d2a5;
  --f-d:Poppins,"Poppins fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-b:Poppins,"Poppins fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-m:Poppins,"Poppins fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-w:Poppins,"Poppins fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:14px;
  color-scheme:dark;
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --k-ink:#282D4C;--k-rod:#CD3B33;--k-odia:#282D4C;--k-bg:#E3D5CC;--k-tone:#DBC9BD;--k-stitch:#D69D8A;
  --bg:#fdf9f4;--bg2:#fcf4e8;--card:#ffffff;--raise:#f9ead4;--fg:#0c1d25;--mute:#475257;--sand:#0c1d25;--eb:#966014;
  --accent:#0c1d25;--accent-ink:#f3d2a5;--hi:#A12B25;--sage:#1A6362;--teal-t:#1A6362;
  --line:#e7dfd2;--scrim:rgba(253,249,244,.9);color-scheme:light}}
:root[data-theme="light"]{
  --k-ink:#282D4C;--k-rod:#CD3B33;--k-odia:#282D4C;--k-bg:#E3D5CC;--k-tone:#DBC9BD;--k-stitch:#D69D8A;
  --bg:#fdf9f4;--bg2:#fcf4e8;--card:#ffffff;--raise:#f9ead4;--fg:#0c1d25;--mute:#475257;--sand:#0c1d25;--eb:#966014;
  --accent:#0c1d25;--accent-ink:#f3d2a5;--hi:#A12B25;--sage:#1A6362;--teal-t:#1A6362;
  --line:#e7dfd2;--scrim:rgba(253,249,244,.9);color-scheme:light}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:400 1.03rem/1.62 var(--f-b);overflow-x:hidden}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
img,svg,canvas{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--hi);outline-offset:3px;border-radius:8px}
[hidden]{display:none!important}
h1,h2,h3,h4{margin:0;font-family:var(--f-d);font-weight:600;line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(2.4rem,6.4vw,5.2rem)}
h2{font-size:clamp(1.75rem,3.7vw,2.85rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem)}
h4{font-size:1.05rem}
p{margin:0}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.band{padding-block:clamp(56px,8vw,104px)}
.band.alt{background:var(--bg2);border-block:1px solid var(--line)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 .74rem/1 var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--sand);margin-bottom:16px}
.eyebrow::before,.kite{content:"";display:inline-block;width:10px;height:12px;background:currentColor;clip-path:polygon(50% 0,100% 74%,50% 100%,0 74%)}
.lede{color:var(--mute);font-size:1.16rem;max-width:62ch;margin-top:16px}
.head{margin-bottom:clamp(28px,4.5vw,52px)}
.head.hrow{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:flex-end}
.zg{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
[data-pc]:not([hidden]){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(18px,4vw,48px)}
@media (max-width:760px){[data-pc]:not([hidden]){grid-template-columns:1fr}}
/* what brings you: photo per persona, KV accent per persona */
.paths-wrap{margin-top:8px}
.paths-wrap>#paths{margin-bottom:20px}
.paths{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:stretch}
.paths [data-pc]{margin-top:20px}
.pp-n{display:block;font:500 .72rem/1 var(--f-m);letter-spacing:.14em;color:var(--mute);margin-bottom:10px}
.paths [data-pc]:not([hidden]){grid-template-columns:1fr!important;gap:16px}
.paths [data-pc] .cta{margin:0}
.paths-pic{position:relative;border-radius:var(--r);overflow:hidden;min-height:420px;background:var(--raise)}
.pp-img{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .6s ease}
.pp-img.on{opacity:1}
.pp-img img{width:100%;height:100%;object-fit:cover;display:block}
.pp-img figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:760px){.paths{grid-template-columns:1fr}.paths-pic{order:-1;min-height:0;aspect-ratio:4/3}}
@media (prefers-reduced-motion:reduce){.pp-img{transition:none}}
/* captioned photo strip */
.pstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:24px}
.pstrip-i{margin:0}.pstrip-i .ph{aspect-ratio:4/3}.pstrip-i img{width:100%;height:100%;object-fit:cover;display:block}
.pstrip-i figcaption{font:500 .74rem/1.35 var(--f-m);letter-spacing:.05em;text-transform:uppercase;margin-top:8px;color:var(--muted,inherit);opacity:.85}
@media (max-width:760px){.pstrip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-inline:-16px;padding-inline:16px}.pstrip-i{flex:0 0 72%;scroll-snap-align:start}}

@media (max-width:860px){#tix-grid{grid-template-columns:1fr!important}}
.mono{font-family:var(--f-m);font-variant-numeric:tabular-nums}
.muted{color:var(--mute)}
.small{font-size:.875rem}
.xs{font-size:.76rem}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons, chips */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 .98rem/1 var(--f-b);padding:15px 22px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s,border-color .15s,background .15s}
.btn.p{background:var(--accent);color:var(--accent-ink)}
.btn.p:hover{transform:translateY(-1px)}
.btn.g{background:transparent;color:var(--fg);border-color:var(--line)}
.btn.g:hover{border-color:var(--fg)}
.btn.sm{padding:10px 16px;font-size:.88rem}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--raise);color:var(--fg);border:1px solid transparent;font:600 .88rem/1 var(--f-b);padding:11px 16px;border-radius:999px;cursor:pointer;text-decoration:none;white-space:nowrap}
.chip:hover{border-color:var(--fg)}
.chip[aria-pressed="true"],.chip[aria-selected="true"],.chip.on{background:var(--fg);color:var(--bg)}
.tag{display:inline-block;font:500 .7rem/1 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--sand);border:1px solid var(--line);padding:6px 9px;border-radius:999px}
.arrow{font-weight:700}
a.more{display:inline-flex;gap:8px;align-items:center;font-weight:700;text-decoration:none;color:var(--sand);border-bottom:1px solid var(--line);padding-bottom:3px}
a.more:hover{border-color:var(--sand)}

/* concept banner + header */
.concept{background:var(--raise);color:var(--mute);font:500 .72rem/1.4 var(--f-m);letter-spacing:.04em;text-align:center;padding:7px 16px}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--scrim);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:18px;height:68px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--fg)}
.brand svg{width:26px;height:30px;color:var(--sand)}
.brand b{font:600 .95rem/1 var(--f-d);letter-spacing:.06em}
.brand small{display:block;font:500 .64rem/1 var(--f-m);letter-spacing:.16em;color:var(--mute);margin-top:4px}
nav.main{display:flex;align-items:center;gap:2px;margin-left:auto}
.nl,.dd>button{background:none;border:0;color:var(--fg);font:600 .9rem/1 var(--f-b);padding:10px 13px;border-radius:999px;cursor:pointer;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.nl:hover,.dd>button:hover,.nl.on,.dd.on>button{background:var(--raise)}
.dd{position:relative}
.dd>button::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.panel{position:absolute;top:calc(100% + 8px);left:-8px;min-width:300px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:10px;display:none;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.dd:hover .panel,.dd:focus-within .panel,.dd.open .panel{display:grid}
.dd::before{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.panel a{display:grid;gap:2px;padding:11px 13px;border-radius:12px;text-decoration:none}
.panel a:hover{background:var(--raise)}
.panel a b{font-weight:700;font-size:.92rem}
.panel a span{color:var(--mute);font-size:.8rem}
.tools{display:flex;align-items:center;gap:8px}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px}
.lang button{background:none;border:0;color:var(--mute);font:500 .7rem/1 var(--f-m);padding:8px 10px;border-radius:999px;cursor:pointer;letter-spacing:.06em}
.lang button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--fg);border-radius:999px;width:44px;height:44px;cursor:pointer;place-items:center}
.mnav{border-top:1px solid var(--line);padding-block:8px 24px;max-height:calc(100vh - 110px);overflow:auto}
.mnav h5{margin:18px 0 6px;font:500 .7rem/1 var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--sand)}
.mnav a{display:block;padding:10px 0;font:500 1.2rem/1.2 var(--f-d);text-decoration:none;border-bottom:1px solid var(--line)}
@media (max-width:1060px){nav.main{display:none}.menu-btn{display:inline-grid}.tools{margin-left:auto}.tools .btn{display:none}}

/* page hero (inner) */
.phero{position:relative;overflow:hidden;padding-block:clamp(44px,7vw,88px) clamp(32px,5vw,56px);border-bottom:1px solid var(--line);isolation:isolate}
.phero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font:500 .74rem/1 var(--f-m);letter-spacing:.08em;color:var(--mute);margin-bottom:22px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--fg)}
.crumbs span::before{content:"/";margin-right:8px;opacity:.5}
.subnav{position:sticky;top:calc(68px + env(safe-area-inset-top,0px));z-index:40;background:var(--scrim);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.subnav .chips{flex-wrap:nowrap;overflow-x:auto;padding-block:10px;scrollbar-width:none}
.subnav .chip{background:transparent;border-color:var(--line)}
.subnav .chip:hover{border-color:var(--fg)}

/* home hero */
.hero{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(56px,9vw,120px) clamp(40px,6vw,72px)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,4vw,64px);align-items:center}
.coords{display:flex;flex-wrap:wrap;gap:6px 18px;font:500 .74rem/1.3 var(--f-m);letter-spacing:.12em;color:var(--mute)}
.coords b{color:var(--fg);font-weight:500}
.hero h1{font-size:clamp(2.9rem,8vw,6.6rem);font-weight:500;margin-top:20px;line-height:.98}
.hero h1 em{font-style:normal;color:var(--sand)}
.when{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;font:500 1.05rem/1.3 var(--f-m)}
.when span{display:inline-flex;align-items:center;gap:10px}
.when span+span::before{content:"";width:8px;height:10px;background:var(--hi);clip-path:polygon(50% 0,100% 74%,50% 100%,0 74%)}
.hero .tagline{color:var(--mute);font-size:1.15rem;margin-top:18px;max-width:48ch}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.mark{justify-self:center;width:min(360px,80%);color:var(--sand);filter:drop-shadow(0 30px 60px rgba(242,211,168,.12))}
.count{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px;align-items:center}
.count div{min-width:82px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--scrim)}
.count b{display:block;font:500 1.75rem/1 var(--f-m);font-variant-numeric:tabular-nums}
.count small{font:500 .66rem/1 var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.count p{color:var(--mute);font-size:.88rem;max-width:22ch}
@media (max-width:820px){.hero-grid{grid-template-columns:1fr}.mark{order:-1;width:120px;justify-self:start}}

.facts{border-block:1px solid var(--line);background:var(--bg2)}
.facts ul{list-style:none;margin:0 auto;padding-block:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.facts li{padding:20px clamp(12px,2vw,24px);border-left:1px solid var(--line);min-width:0}
.facts li:first-child{border-left:0;padding-left:0}
.facts small{display:block;font:500 .68rem/1.2 var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.facts strong{font-weight:700}
@media (max-width:760px){.facts ul{grid-template-columns:1fr 1fr}.facts li:nth-child(3){border-left:0;padding-left:0}.facts li:nth-child(n+3){border-top:1px solid var(--line)}}

/* cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,3vw,30px);display:flex;flex-direction:column;gap:12px;min-width:0}
a.card{text-decoration:none;transition:border-color .15s,transform .15s}
a.card:hover{border-color:var(--sand);transform:translateY(-2px)}
.card p{color:var(--mute);font-size:.95rem}
.card .foot{margin-top:auto;padding-top:6px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.open{border-top:1px solid var(--line);padding-top:18px;display:grid;gap:8px;align-content:start;min-width:0}
.open p{color:var(--mute);font-size:.95rem}
ul.k{list-style:none;margin:0;padding:0;display:grid;gap:10px}
ul.k li{display:block;position:relative;padding-left:28px}
ul.k li::before{content:"";position:absolute;left:0;top:0;width:9px;height:11px;margin-top:8px;background:var(--sand);clip-path:polygon(50% 0,100% 74%,50% 100%,0 74%)}

/* photo slots */
.ph{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;max-width:100%;background:
  radial-gradient(120% 90% at 20% 110%,color-mix(in srgb,var(--hue,var(--sand)) 45%,transparent),transparent 60%),
  radial-gradient(80% 70% at 85% 0%,color-mix(in srgb,var(--sand) 18%,transparent),transparent 70%),var(--raise)}
.ph::before{content:"";position:absolute;left:50%;top:46%;width:22%;aspect-ratio:55/62;transform:translate(-50%,-50%);background:var(--fg);opacity:.09;clip-path:polygon(50% 0,100% 74%,50% 100%,0 74%)}
.ph figcaption,.ph .cap{position:absolute;left:12px;bottom:12px;right:12px;font:500 .68rem/1.3 var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--fg);opacity:.8}
.ph.tall{aspect-ratio:3/4}.ph.wide{aspect-ratio:16/9}.ph.sq{aspect-ratio:1}
.h1c{--hue:var(--k-gold)}.h2c{--hue:var(--k-teal)}.h3c{--hue:var(--k-orange)}.h4c{--hue:var(--k-red)}
button.ph{border:0;padding:0;cursor:zoom-in;width:100%;color:inherit;text-align:left}
button.ph:hover{outline:1px solid var(--sand)}

/* stage cards */
.stage{position:relative;overflow:hidden;border-radius:var(--r);padding:clamp(24px,3.5vw,40px);min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;background:var(--card);border:1px solid var(--line);text-decoration:none;isolation:isolate;transition:border-color .15s}
.stage:hover{border-color:var(--sand)}
.stage .art{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.stage .art>svg{position:absolute;inset:0;width:100%;height:100%}
.stage .anim{will-change:transform;animation-play-state:paused}
.stage.run .anim{animation-play-state:running}
.stage .art-kolo>.anim{inset:auto;left:78%;top:27%;width:auto;height:116%;aspect-ratio:1;translate:-50% -50%;animation:st-spin 140s linear infinite}
.stage .art-tok .anim{animation:st-flow 14s linear infinite}
/* VRELO: each ring has a resting size, so the whole picture stays when motion is off (reduced motion, battery saver) */
.stage .art-vrelo .rip{transform-box:view-box;transform-origin:470px 110px;transform:scale(var(--s));opacity:var(--o);animation:st-ripple 9s linear infinite;animation-play-state:paused}
.stage.run .art-vrelo .rip{animation-play-state:running}
@keyframes st-spin{to{rotate:360deg}}
@keyframes st-flow{from{transform:translateX(0)}to{transform:translateX(-440px)}}
@keyframes st-ripple{0%{transform:scale(.08);opacity:0}15%{opacity:.85}100%{transform:scale(1.25);opacity:0}}
.stage .kind{font:500 .72rem/1 var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--hi)}
.stage h3{font-size:clamp(2rem,4.4vw,3.2rem)}
.stage p{color:var(--mute);max-width:44ch}
.zone-ic{width:34px;height:34px;color:var(--sand)}

/* timeline / steps */
.tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));border-top:1px solid var(--line)}
.tl li{padding:22px 18px 0 0;position:relative;min-width:0}
.tl li::before{content:"";position:absolute;top:-7px;left:0;width:11px;height:13px;background:var(--hi);clip-path:polygon(50% 0,100% 74%,50% 100%,0 74%)}
.tl li.past::before{background:var(--mute)}
.tl .d{font:500 .82rem/1.2 var(--f-m);color:var(--hi)}
.tl li.past .d{color:var(--mute)}
.tl strong{display:block;font:500 1.08rem/1.25 var(--f-d);margin-top:8px}
.tl p{color:var(--mute);font-size:.9rem;margin-top:6px}
@media (max-width:820px){.tl{grid-template-columns:1fr 1fr;row-gap:30px}}
@media (max-width:440px){.tl{grid-template-columns:1fr}}

/* names wall */
.names{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;font:500 clamp(1.3rem,3vw,2.3rem)/1.2 var(--f-d);letter-spacing:-.01em}
.names li{display:inline-flex;align-items:center}
.names li::after{content:"";width:.26em;height:.3em;margin-inline:.4em;background:var(--sand);opacity:.5;clip-path:polygon(50% 0,100% 74%,50% 100%,0 74%)}
.names li:last-child::after{display:none}
.names li.g-end::after{display:none}
.names li.g-br{flex-basis:100%;height:0;margin:0;padding:0}
.names li.g-br::after{display:none}
.names li[data-s="tok"]{color:var(--k-teal)}
.names li[data-s="healing"]{color:#C3AEEB;font-weight:400}
.lu-heal{color:#C3AEEB}
:root[data-theme="light"] .lu-heal{color:#6B4FA0}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .lu-heal{color:#6B4FA0}}
:root[data-theme="light"] .names li[data-s="healing"]{color:#6B4FA0}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .names li[data-s="healing"]{color:#6B4FA0}}
.names li[data-s="vrelo"]{color:var(--k-gold)}
:root[data-theme="light"] .names li[data-s="tok"]{color:#1A6362}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .names li[data-s="tok"]{color:#1A6362}}
.names li.win span{border-bottom:3px solid var(--hi)}

/* forms */
form.f{display:grid;gap:14px}
.row{display:flex;gap:12px;flex-wrap:wrap}
.row>*{flex:1 1 200px;min-width:0}
label.l{display:grid;gap:6px;font-size:.86rem;color:var(--mute)}
input[type=email],input[type=text],input[type=search],input[type=url],input[type=tel],input[type=number],select,textarea{width:100%;font:500 1rem/1.3 var(--f-b);color:var(--fg);background:var(--raise);border:1px solid var(--line);border-radius:14px;padding:13px 14px}
textarea{min-height:120px;resize:vertical}
input::placeholder,textarea::placeholder{color:var(--mute)}
.ok{padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--sage) 22%,var(--card));border:1px solid color-mix(in srgb,var(--sage) 50%,transparent);font-size:.92rem}
.fine{font-size:.76rem;color:var(--mute)}.buy-steps{margin:10px 0 16px;padding-left:1.3em;display:grid;gap:4px;color:var(--fg)}.buy-steps li::marker{color:var(--sand);font-weight:700}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.fnl{margin-top:16px;max-width:360px;gap:8px}.fnl-row{display:flex;gap:8px;margin-top:6px}.fnl-row input{flex:1;min-width:0}.fnl-row .btn{white-space:nowrap}.fnl .ok{padding:10px 12px;font-size:.85rem}.sent .fine{display:none}
.chk{position:relative;display:inline-block}
.chk input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.chk>span{display:inline-block;padding:9px 14px;border-radius:999px;background:var(--raise);font-size:.86rem;border:1px solid transparent}
.chk>input:checked+span{background:var(--fg);color:var(--bg)}
.chk>input:focus-visible+span{outline:2px solid var(--hi);outline-offset:2px}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}
.faq-nav{position:sticky;top:96px;display:grid;gap:4px}
.faq-nav button{background:none;border:0;color:var(--mute);text-align:left;font:600 .95rem/1.2 var(--f-b);padding:10px 12px;border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;gap:10px}
.faq-nav button:hover{color:var(--fg);background:var(--raise)}
.faq-nav button.on{color:var(--bg);background:var(--fg)}
.faq-nav .n{font:500 .74rem/1.4 var(--f-m);opacity:.7}
.faq-group{margin-bottom:10px}
.faq-group h2{font-size:1.25rem;margin:0}
.fg-hint{margin:0 0 14px}
.fg-h{width:100%;display:flex;align-items:center;gap:12px;text-align:left;font:inherit;color:var(--fg);background:var(--raise);border:1px solid var(--line);border-radius:16px;padding:16px 18px;cursor:pointer;transition:border-color .2s,background .2s}
.fg-h:hover{border-color:var(--sand)}
.fg-h:focus-visible{outline:2px solid var(--sand);outline-offset:2px}
.fg-t{flex:1;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--sand) 45%,transparent);text-underline-offset:5px;text-decoration-thickness:2px}
.fg-n{font:500 .74rem/1.4 var(--f-m);color:var(--mute);white-space:nowrap}
.fg-c{flex:none;width:30px;height:30px;border-radius:50%;background:var(--sand);position:relative}
.fg-c::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-right:2px solid var(--bg);border-bottom:2px solid var(--bg);transform:translate(-50%,-70%) rotate(45deg);transition:transform .2s}
.faq-group.open .fg-c::after{transform:translate(-50%,-30%) rotate(-135deg)}
.faq-group.open .fg-h{border-color:var(--sand)}
.fg-b{display:none;padding:6px 4px 26px}
.faq-group.open .fg-b{display:block}
@media (max-width:520px){.fg-n{display:none}.fg-h{padding:14px}}
details{border-bottom:1px solid var(--line)}
.faq-group details:first-of-type{border-top:0}
summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;font:700 1.06rem/1.4 var(--f-b);position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:8px;top:50%;width:11px;height:11px;border-right:2px solid var(--sand);border-bottom:2px solid var(--sand);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
details .a{padding:0 0 20px;color:var(--mute);max-width:66ch;display:grid;gap:10px}
details .a a{color:var(--sand)}
mark{background:color-mix(in srgb,var(--hi) 35%,transparent);color:inherit;border-radius:3px}
@media (max-width:860px){.faq-layout{grid-template-columns:1fr}.faq-nav{position:static;display:flex;overflow-x:auto;gap:6px}.faq-nav button{white-space:nowrap;background:var(--raise)}}

/* tickets */
.phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px}
.phase{padding:13px 15px;border-radius:14px;background:var(--raise);font-size:.9rem;min-width:0}
.phase b{display:block;font:500 .7rem/1.2 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.phase.now{background:var(--accent);color:var(--accent-ink)}
.phase.now b{color:var(--accent-ink);opacity:.8}
@media (max-width:620px){.phases{grid-template-columns:1fr 1fr 1fr}}
.price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.price b{font:500 2.4rem/1 var(--f-m)}
ul.inc{list-style:none;margin:0;padding:0;display:grid;gap:9px}
ul.inc li{display:grid;grid-template-columns:20px 1fr;gap:10px;font-size:.94rem}
ul.inc li::before{content:"";width:13px;height:7px;border-left:2px solid var(--sage);border-bottom:2px solid var(--sage);transform:rotate(-45deg);margin-top:6px}
table.cmp{width:100%;border-collapse:collapse;font-size:.94rem;min-width:560px}
table.cmp th,table.cmp td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.cmp thead th{font:500 .72rem/1.2 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
table.cmp td.y{color:var(--sage);font-weight:700}
.scroll-x{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--card);padding:6px 14px}

/* travel */
.route{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.route .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--raise);color:var(--sand)}
.route .ic svg{width:20px;height:20px}
.route p{color:var(--mute);font-size:.9rem;margin-top:3px}
.route .km{font:500 .9rem/1.3 var(--f-m);text-align:right;white-space:nowrap}
.route .km small{display:block;color:var(--mute);font-size:.74rem}
@media (max-width:480px){.route{grid-template-columns:auto minmax(0,1fr)}.route .km{grid-column:2;text-align:left}}
.mapbox{border-radius:var(--r);background:var(--card);border:1px solid var(--line);padding:18px}
.mapbox svg{width:100%;height:auto;display:block}
.copyrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--raise)}
.copyrow code{font:500 .86rem/1.3 var(--f-m);user-select:all;flex:1 1 220px;min-width:0;overflow-wrap:anywhere}
.copy{background:none;border:1px solid var(--line);color:var(--fg);font:500 .72rem/1 var(--f-m);padding:9px 11px;border-radius:10px;cursor:pointer}
.copy:hover{border-color:var(--fg)}

/* packing list */
.pack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
.pack label{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}
.pack input{width:18px;height:18px;accent-color:var(--sand)}
.pack input:checked+span{color:var(--mute);text-decoration:line-through}
.meter{height:8px;border-radius:99px;background:var(--raise);overflow:hidden}
.meter i{display:block;height:100%;background:var(--sage);width:0;transition:width .25s}
@media (max-width:620px){.pack{grid-template-columns:1fr}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line)}
.stats div{padding:22px 16px 0 0;min-width:0}
.stats b{display:block;font:500 clamp(1.6rem,3vw,2.4rem)/1 var(--f-m);color:var(--sage)}
.stats span{display:block;margin-top:8px;font-size:.88rem;color:var(--mute)}
@media (max-width:860px){.stats{grid-template-columns:1fr 1fr;row-gap:22px}}

/* rtanj */
.fact-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-block:1px solid var(--line);margin-top:36px}
.fact-strip div{padding:18px 16px 18px 0;min-width:0}
.fact-strip b{display:block;font:500 1.6rem/1.1 var(--f-m);color:var(--sand)}
.fact-strip span{color:var(--mute);font-size:.86rem}
@media (max-width:760px){.fact-strip{grid-template-columns:1fr 1fr}}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.split.rev>:first-child{order:2}
@media (max-width:860px){.split{grid-template-columns:1fr}.split.rev>:first-child{order:0}}
.prose{display:grid;gap:14px;max-width:62ch}
.prose p{color:var(--mute)}
.prose p strong{color:var(--fg)}
.legend-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:12px;align-content:start}
.legend-card .verdict{display:flex;gap:8px;flex-wrap:wrap}
.verdict span{font:500 .68rem/1 var(--f-m);letter-spacing:.1em;text-transform:uppercase;padding:6px 9px;border-radius:999px}
.v-story{background:color-mix(in srgb,var(--k-orange) 25%,transparent)}
.v-fact{background:color-mix(in srgb,var(--sage) 28%,transparent)}
.peak{width:100%;height:auto;display:block}

/* gallery */
.ed-card{display:grid;gap:14px;text-decoration:none}
.ed-card .ph{transition:transform .2s}
.ed-card:hover .ph{transform:scale(1.015)}
.ed-meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.masonry{columns:3 260px;column-gap:14px}
.masonry>*{break-inside:avoid;margin-bottom:14px;display:block}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(6,12,16,.92);display:grid;grid-template-rows:1fr auto;padding:clamp(16px,4vw,40px);gap:14px}
.lightbox .ph{aspect-ratio:auto;height:100%;max-height:78vh;width:100%;max-width:1100px;margin-inline:auto;cursor:default}
.lb-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:1100px;width:100%;margin-inline:auto;color:#E3D5CC}
.lb-bar button{background:none;border:1px solid rgba(227,213,204,.3);color:#E3D5CC;border-radius:999px;padding:10px 16px;cursor:pointer;font:600 .9rem/1 var(--f-b)}

/* journal */
.post{display:grid;gap:12px;text-decoration:none;align-content:start}
.post h3{font-size:1.2rem;line-height:1.25}
.post:hover h3{text-decoration:underline;text-decoration-color:var(--sand);text-underline-offset:4px}
.post .meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font:500 .72rem/1 var(--f-m);color:var(--mute);letter-spacing:.06em}
.feature{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center;text-decoration:none}
.feature h2{font-size:clamp(1.6rem,3.2vw,2.4rem)}
@media (max-width:820px){.feature{grid-template-columns:1fr}}
.article{max-width:760px;margin-inline:auto}
.article .prose{max-width:none}
.article .prose p{font-size:1.1rem;color:var(--fg)}
.callout{border:1px dashed var(--line);border-radius:var(--r);padding:20px 22px;display:grid;gap:10px}

/* join roles */
.role{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:10px;align-content:start;cursor:pointer;text-align:left;color:inherit;font:inherit}
.role:hover{border-color:var(--sand)}
.role[aria-pressed="true"]{border-color:var(--sand);box-shadow:inset 0 0 0 1px var(--sand)}
.role .k{font:500 .7rem/1 var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--hi)}
.role p{color:var(--mute);font-size:.92rem}

/* footer */
footer{border-top:1px solid var(--line);padding-block:56px 110px;color:var(--mute);font-size:.9rem;background:var(--bg2)}
.fgrid{display:grid;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:28px}
.fgrid h4{margin:0 0 12px;font:500 .7rem/1 var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--fg)}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.fgrid a{text-decoration:none}
.fgrid a:hover{color:var(--fg)}
.socials{display:flex;flex-wrap:wrap;gap:8px}
.socials a{text-decoration:none;font-size:.85rem;padding:8px 13px;border-radius:999px;border:1px solid var(--line);color:var(--fg)}
.socials a:hover{border-color:var(--sand)}
.legal{margin-top:40px;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font:500 .72rem/1.4 var(--f-m)}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}

.dock{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--scrim);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);display:none;align-items:center;gap:12px}
.dock p{flex:1;min-width:0;font-size:.86rem;line-height:1.3}
.dock b{display:block;font:500 .9rem/1.2 var(--f-m)}
@media (max-width:760px){.dock{display:flex}}
.toast a{color:inherit;text-decoration:underline}
.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:999px;font-size:.88rem;z-index:120}
.notice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 24px;border-radius:var(--r);border:1px dashed var(--line)}
@media (max-width:620px){.notice{grid-template-columns:1fr}}

/* Weezevent widget preview + drawer */
.wz{display:grid;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg)}
.wz-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:baseline;padding:16px 18px;border-bottom:1px solid var(--line)}
.wz-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.wz-row b{display:block;font-size:.95rem}.wz-row span{display:block;font-size:.8rem;color:var(--mute)}
.wz-p{font-size:.9rem;white-space:nowrap}
.step{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px}
.step button{width:36px;height:36px;border:0;background:none;color:var(--fg);font:600 1.1rem/1 var(--f-b);cursor:pointer;border-radius:999px}
.step button:hover{background:var(--raise)}
.step output{min-width:22px;text-align:center;font:500 .95rem/1 var(--f-m)}
.wz-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;flex-wrap:wrap}
.wz-foot b{display:block;font-size:1.4rem}
.wz .ok,.wz .fine{margin:0 18px 16px}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
@media (max-width:520px){.wz-row{grid-template-columns:minmax(0,1fr) auto}.wz-row .wz-p{grid-column:1;grid-row:2}.wz-row .step{grid-row:1/3;grid-column:2}}
#drawer{position:fixed;inset:0;z-index:110}
.dr-bg{position:absolute;inset:0;background:rgba(6,12,16,.6)}
.dr{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--card);border-left:1px solid var(--line);padding:calc(18px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px));overflow:auto;display:flex;flex-direction:column;gap:14px}
.dr-top{display:flex;justify-content:space-between;align-items:center}
.proto{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:24px;padding:10px 12px;border:1px dashed var(--line);border-radius:14px;width:fit-content;max-width:100%;color:var(--mute)}
/* structure tree */
.tree,.tree ul{list-style:none;margin:0;padding:0}
.tree>li{padding:10px 0;border-bottom:1px solid var(--line)}
.tree>li:last-child{border-bottom:0}
.tree ul{margin-top:6px;padding-left:16px;border-left:1px solid var(--line);display:grid;gap:4px;font-size:.92rem;color:var(--mute)}
.tree ul ul{margin-block:4px}
.tree a{text-decoration:none}.tree a:hover{color:var(--sand)}
/* page navigator */
#pager{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70}
.pg-btn{background:var(--fg);color:var(--bg);border:0;border-radius:999px;padding:11px 16px;font:700 .85rem/1 var(--f-b);cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35);display:flex;gap:8px;align-items:center}
.pg-list{position:absolute;right:0;bottom:calc(100% + 10px);width:min(320px,calc(100vw - 32px));max-height:min(70vh,560px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px;display:grid;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.pg-list a{display:flex;gap:10px;align-items:baseline;padding:8px 10px;border-radius:10px;text-decoration:none;font-size:.88rem}
.pg-list a:hover{background:var(--raise)}.pg-list a.on{background:var(--fg);color:var(--bg)}.pg-list a.on .muted{color:var(--bg)}
@media (max-width:760px){#pager{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}

/* KV · wordmark, ROD lockup, ornaments */
.wm{display:inline-flex;flex-direction:column;align-items:center;line-height:1;color:var(--sand)}
.wm-t{display:flex;align-items:baseline;font:700 1.42rem/1 var(--f-w);letter-spacing:.01em}
.wm-t i{font-style:normal}
.wm-t svg,.brand .wm-t svg{width:.8em;height:.9em;margin:0 .02em;align-self:flex-end;transform:translateY(.04em);color:currentColor}
.wm-f{font:700 .5rem/1 var(--f-b);letter-spacing:.46em;margin-top:.42em;padding-left:.46em}
.wm-foot .wm-t{font-size:1.9rem}.wm-foot .wm-f{font-size:.62rem}
.rod-lock{display:grid;justify-items:center;gap:14px;color:var(--fg);text-align:center;justify-self:center}
.rod-top{width:58px;height:58px}
.rod{display:flex;align-items:center;font:700 clamp(4.2rem,10vw,8.4rem)/1 var(--f-d);letter-spacing:-.01em;color:var(--k-rod)}
.rod-o{width:.8em;height:.8em;margin:0 .03em}
.orn-line{display:flex;align-items:center;gap:10px;width:100%;max-width:300px}
.orn-line i{flex:1;height:1.5px;background:var(--fg);opacity:.55}
.orn-line svg{width:92px;height:18px;flex:none}
.rod-lock p{color:var(--mute);letter-spacing:.2em;text-transform:uppercase}
.kv-corner{position:absolute;width:clamp(64px,9vw,120px);height:auto;z-index:-1;pointer-events:none}
.kv-corner.tl{top:0;left:0}.kv-corner.br{bottom:0;right:0;transform:rotate(180deg)}
.foot-orn{margin-top:16px;max-width:220px}
/* footer brand block: as wide as its text, logo and ornament centred above it */
.fgrid>div:first-child{justify-self:start;width:max-content;max-width:100%}
.fgrid>div:first-child>.brand{display:flex;justify-content:center}
.fgrid>div:first-child>.foot-orn{margin-inline:auto}
.names li[data-s="tok"]{color:var(--teal-t)!important}
.theme{width:40px;height:40px;border:1px solid var(--line);border-radius:999px;background:none;color:var(--fg);cursor:pointer;display:grid;place-items:center}
.theme svg{width:16px;height:16px}
.pill{display:inline-flex;align-items:center;gap:7px;font:500 .68rem/1 var(--f-m);letter-spacing:.1em;text-transform:uppercase;padding:7px 10px;border-radius:999px;background:var(--raise);color:var(--mute)}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.6}
.pill.on{background:color-mix(in srgb,var(--sage) 22%,transparent);color:var(--fg)}
.pill.on::before{background:var(--sage);opacity:1}
.call h3{font-size:1.2rem;line-height:1.25}
@media (max-width:860px){#apply{position:static!important}}

/* KV graphics */
.kv-band{display:block;width:100%;height:28px}
.phero{border-bottom:0}
footer{padding-top:0}
.foot-band{margin-bottom:52px}
/* the woven band: only under the home hero and on top of the footer, with room around it */
.kv-band{margin:0}
footer{margin-top:clamp(24px,4vw,48px)}
.phero{border-bottom:1px solid var(--line)}
.kv-scatter{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.phero-in{position:relative}
/* art sits in the middle of the free column right of the 760px text column */
.kv-side{position:absolute;left:calc(50% + 380px);top:50%;transform:translate(-50%,-50%);width:min(300px,calc(100% - 900px));height:auto;z-index:-1;pointer-events:none}
.kv-side--lux{width:min(380px,calc(100% - 860px))}
.kv-side--rtanj{top:38%}
@media (min-width:1000px){.phero h1,.phero .lede{max-width:min(100%,760px)}}
@media (max-width:1079px){.kv-side,.kv-side--lux{position:static;transform:none;display:block;margin:28px auto 0;width:240px;opacity:1}.kv-side--lux{width:300px}}
.kv-hero{position:relative;width:min(520px,100%);aspect-ratio:520/560;justify-self:center;container-type:inline-size}
.kv-art{position:absolute;inset:0;width:100%;height:100%}
.kv-lock{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:2.4cqw;width:50%;text-align:center}
.kv-lock .rod{font-size:19cqw}
.kv-lock .orn-line{max-width:none}
.kv-lock p{color:var(--mute);letter-spacing:.2em;text-transform:uppercase}
@media (max-width:820px){.kv-hero{width:min(440px,100%)}}

/* official logotype + Poppins */
svg.wm{display:block;width:118px;height:auto;color:var(--sand)}
.wm-foot{width:170px!important}
.brand svg.wm{width:118px;height:auto}
.hero h1{font-weight:600}
.rod{font-weight:700!important}
.eyebrow,.tag,.pill,.tl .d,.count small,.facts small,.crumbs{letter-spacing:.12em}

/* ---------- mobile-first pass ---------- */
.c-short{display:none}
.dock{display:none}
.m-pages{margin-top:22px;border-top:1px solid var(--line);padding-top:6px}
.m-pages summary{font:600 .9rem/1.2 var(--f-b);padding:12px 32px 12px 0}
.m-pages a{font:500 .92rem/1.3 var(--f-b)!important;padding:9px 0!important}
@media (max-width:760px){
  .c-long{display:none}.c-short{display:inline}
  .concept{padding:5px 12px}
  #pager{display:none}
  .bar{height:60px;gap:10px}
  .brand svg.wm{width:98px}
  .subnav{top:calc(60px + env(safe-area-inset-top,0px))}
  .mnav{max-height:calc(100dvh - 130px)}
  .hero{padding-block:24px 40px}
  .hero-grid{gap:20px}
  .kv-hero{order:-1;width:min(300px,84%)}
  .hero h1{font-size:clamp(2.5rem,12.5vw,3.4rem)}
  .when{font-size:.95rem;gap:6px 16px}
  .cta .btn{flex:1 1 auto}
  .count{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .count div{min-width:0}
  .count p{grid-column:1/-1;max-width:none}
  .kv-corner{width:56px}
  .phero{padding-block:28px 28px}
  .phero h1{font-size:clamp(2rem,9.6vw,2.8rem)}
  .kv-side{width:200px}.kv-side--lux{width:260px}
  .band{padding-block:48px}
  .head{margin-bottom:24px}
  .lede{font-size:1.05rem}
  .card{padding:20px}
  .stage{min-height:260px;padding:22px}
  .names{font-size:1.3rem}
  .facts li{padding:14px 12px}
  .dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center;gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px))}
  .dock .tab{display:grid;justify-items:center;gap:2px;font:600 .64rem/1.1 var(--f-b);text-decoration:none;color:var(--mute);padding:6px 2px;border-radius:12px;min-height:48px;align-content:center}
  .dock .tab svg{width:20px;height:20px}
  .dock .tab.on{color:var(--fg);background:var(--raise)}
  .dock .dock-buy{margin-left:6px;padding-inline:14px;white-space:nowrap}
  footer{padding-bottom:120px}
  .toast{bottom:96px}
  .lb-bar{flex-wrap:wrap}
  .wz-row{padding:12px 14px}
}
@media (max-width:380px){.dock .dock-buy{padding-inline:10px;font-size:.8rem}.lang button{padding:8px 8px}.theme{display:none}}
@media (pointer:coarse){
  .btn,.chip,.copy{min-height:44px}
  .lang button{min-height:36px;min-width:40px}
  .step button{width:44px;height:44px}
  .faq-nav button,.panel a,.mnav a{min-height:44px}
  summary{min-height:44px}
}
.stages3 .stage{min-height:300px}
@media (max-width:900px){.stages3{grid-template-columns:1fr}}

/* ---------- light theme home = the KV poster; dark theme keeps its own hero ---------- */
.light-only{display:none}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .light-only{display:block}:root:not([data-theme="dark"]) .dark-only{display:none}}
:root[data-theme="light"] .light-only{display:block}
:root[data-theme="light"] .dark-only{display:none}
.kv-poster{--kvp:var(--k-bg);background:var(--kvp)}
/* first slide = the final KV image itself, 1:1; on phones the centre of the same image (4:5) */
.kv-poster .kvp-stage{aspect-ratio:16/9;max-height:none;min-height:0}
.kvp-pic img{display:block;width:100%;height:100%;object-fit:cover}
.kvp-pic{position:absolute;inset:0}
@media (max-width:700px){.kv-poster .kvp-stage{aspect-ratio:4/5}}
.kvp-stage{position:relative;width:100%;aspect-ratio:16/9;max-height:calc(100vh - 68px);min-height:520px;overflow:hidden;container-type:inline-size;background:var(--kvp)}
.kvp-bg{position:absolute;inset:0;width:100%;height:100%}
.kvp-art{position:absolute;inset:0;width:100%;height:100%}
.kvp-tall{display:none}
.kvp-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:1.2cqw;text-align:center;color:var(--fg);width:34cqw}
.kvp-logo{margin:0;line-height:0}
.kvp-wm{width:23cqw!important;height:auto;color:var(--sand)}
.kvp-center .rod{font-size:11.5cqw;line-height:.95;color:var(--k-rod)}
.kvp-line{max-width:none;width:28cqw}
.kvp-line i{background:var(--fg)}
.kvp-when{margin:0;font:600 1.55cqw/1.45 var(--f-b);letter-spacing:.08em;text-transform:uppercase;color:var(--fg)}
.kvp-bar{display:grid;justify-items:center;text-align:center;gap:6px;padding-block:28px 48px}
.kvp-bar .tagline{max-width:52ch;color:var(--mute);font-size:1.1rem}
.kvp-bar .cta{justify-content:center;margin-top:16px}
.kvp-bar .count{justify-content:center;margin-top:24px}
@media (max-width:700px){
  .kvp-stage{aspect-ratio:400/720;max-height:none;min-height:0}
  .kvp-wide{display:none}.kvp-tall{display:block}
  .kvp-center{width:76cqw;gap:2.6cqw;top:48%}
  .kvp-wm{width:54cqw!important}
  .kvp-center .rod{font-size:27cqw}
  .kvp-line{width:64cqw}
  .kvp-when{font-size:4cqw}
  .kvp-bar{padding-block:22px 36px}
  .kvp-bar .count{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .kvp-bar .count p{grid-column:1/-1}
}

/* real photos from the dashboard */
.ph.has-img::before{display:none}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.masonry .ph.has-img{aspect-ratio:auto}
.masonry .ph.has-img img{position:static;height:auto}
.lightbox .lb-img{max-height:78vh;max-width:min(1100px,100%);width:auto;height:auto;margin:auto;object-fit:contain;border-radius:12px;align-self:center;justify-self:center}
.article .prose h3{margin-top:12px}
main:focus{outline:none}
@keyframes pfflash{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--sand) 55%,transparent)}100%{box-shadow:0 0 0 18px transparent}}
.flash{animation:pfflash 1.1s ease-out 1;border-radius:14px}
@media (prefers-reduced-motion:reduce){.flash{animation:none}}

/* footer: room under the band, KV social tiles, legal links */
.kv-band.foot-band{margin-bottom:clamp(44px,6vw,72px)}
ul.soc{list-style:none;margin:20px 0 0;padding:0;display:flex!important;flex-direction:row;flex-wrap:wrap;gap:6px;max-width:260px}
ul.soc li{margin:0;padding:0}
.soc a{display:block;width:44px;height:44px;color:var(--sand);border-radius:8px}
.soc svg{width:44px;height:44px;display:block;overflow:visible}
.soc a{--sb:color-mix(in srgb,var(--sand) 26%,var(--bg))}
.soc .soc-f{fill:var(--sb);stroke:none;transition:fill .2s}
.soc .soc-g{fill:var(--fg);stroke:none;transition:fill .2s}
.soc .soc-g .s{fill:none;stroke:var(--fg);stroke-width:2.2;transition:stroke .2s}
.soc .soc-g .k{fill:var(--sb);transition:fill .2s}
.soc .soc-g .ks{fill:none;stroke:var(--sb);stroke-width:1.9;stroke-linecap:round;transition:stroke .2s}
.soc a:hover,.soc a:focus-visible{--sb:var(--sand)}
.legal nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.legal a{color:inherit;text-decoration:none}.legal a:hover{color:var(--fg);text-decoration:underline}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--fg);color:var(--bg);padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}
.prose figure{margin:28px 0}.prose figure img{width:100%;height:auto;border-radius:12px;display:block;background:var(--card)}
.prose .gal-in{display:grid;gap:10px;margin:28px 0}.prose .gal-in.g2{grid-template-columns:1fr 1fr}.prose .gal-in.g3{grid-template-columns:repeat(3,1fr)}
.prose .gal-in figure{margin:0}.prose .gal-in img{aspect-ratio:1;object-fit:cover}
@media (max-width:620px){.prose .gal-in.g3{grid-template-columns:1fr 1fr}}
.prose blockquote{margin:24px 0;padding-left:18px;border-left:3px solid var(--sand);font-size:1.1rem}
.prose h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:36px 0 12px}.prose h3{margin:28px 0 10px}
.ph.has-img img{width:100%;height:100%;object-fit:cover;display:block}
.prose>div[lang]{display:grid;gap:14px}.prose ul{margin:0;padding-left:1.2em}.prose li{margin:.3em 0;color:var(--mute)}.prose figure,.prose .gal-in{margin:14px 0}
.legal-text h3{margin-top:32px}
#consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:150;max-width:560px;margin-inline:auto;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:0 12px 40px rgba(0,0,0,.25);display:grid;gap:12px}
#consent[hidden]{display:none}#consent p{font-size:.88rem;color:var(--mute);margin:0}#consent a{color:var(--fg)}#consent .cta{display:flex;gap:8px;justify-content:flex-end}
@media (max-width:760px){#consent{bottom:84px}}
.legal nav a[data-cookie-settings]{cursor:pointer}
.stages3 .stage .kind{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ================= phone layer (mobile first, 360 px and up) =================
   one-row chip strips, swipe rows instead of long stacks, compact heroes, 44 px touch targets */
@media (max-width:760px){
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}
  footer{padding-bottom:24px}
  .wrap{padding-inline:16px}
  /* hero: the KV ornament stays, smaller, so the first screen shows the title and the first action */
  .phero{padding-block:20px 24px}
  .phero .kv-side,.phero .kv-side--lux,.phero .kv-side--rtanj{width:150px;max-height:120px;margin-top:16px;object-fit:contain}
  .crumbs{margin-bottom:14px;align-items:center;gap:0 8px}.crumbs a,.crumbs span{display:inline-flex;align-items:center;min-height:32px}
  .band{padding-block:40px}
  .head{margin-bottom:20px}
  h2{font-size:clamp(1.65rem,7.4vw,2.1rem)}
  /* chip groups that choose or filter: one row that the thumb drags sideways */
  .chips[role=tablist],.chips[role=group],#paths{flex-wrap:nowrap;overflow-x:auto;scroll-padding-inline:16px;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;padding-block:2px;-webkit-mask:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .chips[role=tablist]::-webkit-scrollbar,.chips[role=group]::-webkit-scrollbar,.m-swipe::-webkit-scrollbar,.pstrip::-webkit-scrollbar{display:none}
  .chips[role=tablist] .chip,.chips[role=group] .chip{flex:0 0 auto;scroll-snap-align:start}
  /* card lists become swipe rows: the next card peeks in so it is clear there is more */
  .m-swipe{display:flex!important;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px;padding-bottom:4px}
  .m-swipe>*{flex:0 0 82%;scroll-snap-align:start;min-width:0}
  .m-swipe>.call{flex-basis:78%}
  /* plan cards: compact rows instead of tall empty boxes */
  .m-list{gap:8px}
  .m-list>.card{flex-direction:row;align-items:center;justify-content:space-between;padding:16px 18px;min-height:0}
  .m-list>.card h3{font-size:1.1rem}.m-list>.card p{font-size:.88rem;margin-top:2px}
  .m-list>.card .foot{margin:0;padding:0}
  /* stage and zone cards */
  .stages3{gap:10px}
  .stages3 .stage,.stage{min-height:184px;padding:18px 20px;gap:6px}
  .stage h3{font-size:2rem}
  .zg{grid-template-columns:1fr 1fr;gap:10px}
  .zg .card{padding:16px}
  .zg .card h3{font-size:1.02rem}
  .zg .card p{font-size:.84rem;line-height:1.35}
  .zg .card .foot{display:none}
  .zg .zone-ic{width:28px;height:28px}
  /* persona: smaller photo, so chips and text fit on the first screen */
  .paths{grid-template-columns:minmax(0,1fr)}.paths-main{min-width:0}
  .paths-pic{aspect-ratio:16/10}
  .paths [data-pc]{margin-top:14px}
  /* journal list: thumbnail rows instead of one long column of big cards */
  #j-grid{display:grid;grid-template-columns:1fr;row-gap:18px!important;margin-top:24px!important}
  #j-grid .post{grid-template-columns:108px minmax(0,1fr);gap:4px 14px;align-items:start}
  #j-grid .post>.ph{grid-row:1/span 3;aspect-ratio:1;border-radius:14px}
  #j-grid .post h3{font-size:1rem;line-height:1.25}
  #j-grid .post p{display:none}
  #j-grid .post .meta{font-size:.66rem}
  /* touch targets */
  a.more{min-height:44px;padding-block:10px}
  .lang button{min-width:44px;min-height:40px}
  .fgrid ul{gap:0}.fgrid ul a{display:flex;align-items:center;min-height:40px}
  .legal nav a{display:inline-flex;align-items:center;min-height:40px}
  .pill,.tag{white-space:nowrap}
  .call .foot{flex-wrap:wrap;gap:6px}
  /* gallery: two columns of photos on a phone */
  .masonry{columns:2;column-gap:8px}
  .masonry>*{margin-bottom:8px}
  .masonry .ph{border-radius:12px}
  .fact-strip b{font-size:1.25rem}
  .fact-strip div{padding:14px 12px 14px 0}
  /* footer: brand block full width, link columns two by two, socials in one line */
  .fgrid{grid-template-columns:1fr 1fr;gap:20px 16px}
  .fgrid>div:first-child{grid-column:1/-1}
  ul.soc{max-width:none;gap:4px}
  .soc a,.soc svg{width:42px;height:42px}
  .legal{margin-top:24px;flex-direction:column;gap:6px}
  /* small type that must stay readable */
  .count small,.facts small{font-size:.7rem}
}
@media (max-width:380px){
  .m-swipe>*{flex-basis:86%}
}

/* camp opening date next to the festival dates */
.kvp-camp{color:var(--hi)}
.facts .fact-sub{display:block;font:500 .74rem/1.3 var(--f-m);letter-spacing:.06em;color:var(--mute);margin-top:4px}
.next-step{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.next-step .btn{margin-top:auto}
/* social badges use the colours of the main ticket button */
.soc a{--sb:var(--accent)}
.soc .soc-g{fill:var(--accent-ink)}
.soc .soc-g .s{stroke:var(--accent-ink)}
.soc a:hover,.soc a:focus-visible{--sb:color-mix(in srgb,var(--accent) 82%,var(--fg))}

/* About 2027: what ROD means. Graphic and text sit in their own columns, each aligned one way */
.rod-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,6vw,80px);align-items:center}
.rod-art{display:grid;justify-items:center;text-align:center;gap:14px}
.rod-art .rod-lock{width:min(100%,340px)}
.rod-meaning{color:var(--mute);font-size:.9rem;max-width:30ch;margin:0}
.rod-text h2{margin-top:10px}
.rod-lead{font:500 clamp(1.15rem,2vw,1.4rem)/1.5 var(--f-d);color:var(--fg)}
.rod-cards{margin-top:clamp(32px,5vw,56px)}
.rod-cards .card{gap:8px}
.rod-dot{width:14px;height:16px;background:var(--hi);clip-path:polygon(50% 0,100% 74%,50% 100%,0 74%)}
.rod-cards .card:nth-child(2) .rod-dot{background:var(--k-teal)}
.rod-cards .card:nth-child(3) .rod-dot{background:var(--k-gold)}
.rod-verse{max-width:640px;margin:clamp(40px,6vw,72px) auto 0;text-align:center}
.rod-verse>p:first-child{font:500 clamp(1.25rem,2.6vw,1.7rem)/1.55 var(--f-d);color:var(--fg);margin:0}
.rod-orn{margin:26px auto}
.rod-close{color:var(--mute);margin:0 auto;max-width:56ch}
.rod-motto{margin:22px 0 0;font:700 clamp(1.1rem,2vw,1.35rem)/1.4 var(--f-d);color:var(--fg)}
@media (max-width:760px){
  .phero:has(+ .rod-about) .kv-side{display:none} /* one graphic on the phone: the ROD mark right below */
  .rod-split{grid-template-columns:1fr;gap:24px}
  .rod-art .rod-lock{width:220px}
  .rod-cards{display:grid;grid-template-columns:1fr;gap:10px}
  .rod-verse{text-align:left;margin-top:36px}
  .rod-orn{margin:22px 0}
}

/* drift ornaments (k_drift.js): fixed overlay, never catches a tap */
.drift{position:fixed;inset:0;z-index:55;pointer-events:none;overflow:hidden}
.dft{position:absolute;inset:0}
.dr-o{display:block;width:100%;height:100%;overflow:visible}
.dr-bird .dr-y{position:absolute;left:0;top:0;width:clamp(70px,9vw,120px);aspect-ratio:10/9;animation:dr-fly 3.4s cubic-bezier(.35,.1,.3,1) forwards}
.dr-y .dr-o{animation:dr-flap .42s ease-in-out infinite alternate;transform-origin:50% 60%}
@keyframes dr-fly{0%{transform:translate(-14vw,96vh) rotate(-18deg)}55%{transform:translate(48vw,42vh) rotate(-12deg)}100%{transform:translate(112vw,-18vh) rotate(-22deg)}}
@keyframes dr-flap{from{transform:scaleY(1)}to{transform:scaleY(.82) skewX(-4deg)}}
.dr-route .dr-trail{position:absolute;left:0;right:0;top:34vh;width:100%;height:28vh;opacity:.7}
.dr-route .dr-trail path{stroke-dashoffset:0;animation:dr-trail 3.6s ease-out forwards}
@keyframes dr-trail{0%{opacity:0;clip-path:inset(0 100% 0 0)}20%{opacity:1}80%{opacity:1;clip-path:inset(0 0 0 0)}100%{opacity:0;clip-path:inset(0 0 0 0)}}
.dr-route .dr-x{position:absolute;left:0;top:30vh;width:clamp(60px,7vw,96px);aspect-ratio:10/9;animation:dr-x 3.4s cubic-bezier(.4,.1,.4,1) forwards}
.dr-route .dr-x>.dr-y{position:static;width:100%;height:100%;animation:dr-wave 3.4s ease-in-out forwards}
@keyframes dr-x{from{transform:translateX(-12vw)}to{transform:translateX(110vw)}}
@keyframes dr-wave{0%{transform:translateY(14vh)}30%{transform:translateY(0)}60%{transform:translateY(12vh)}100%{transform:translateY(-6vh)}}
.dr-wheat{display:flex;justify-content:space-between;align-items:flex-end;padding:0 4vw}
.dr-stalk{width:clamp(34px,4.2vw,60px);aspect-ratio:40/130;transform-origin:50% 100%;animation:dr-grow 3.6s ease-in-out calc(var(--i)*.12s) forwards;transform:translateY(105%)}
.dr-stalk:nth-child(2),.dr-stalk:nth-child(4){height:auto;width:clamp(28px,3.4vw,48px)}
@keyframes dr-grow{0%{transform:translateY(105%) rotate(0)}30%{transform:translateY(8%) rotate(-5deg)}50%{transform:translateY(6%) rotate(4deg)}70%{transform:translateY(8%) rotate(-3deg)}100%{transform:translateY(105%) rotate(0)}}
.dr-kolo .dr-ring{position:absolute;left:50%;top:50%;width:min(70vw,520px);aspect-ratio:1;translate:-50% -50%;animation:dr-spin 3.4s ease-in-out forwards}
.dr-kolo span{position:absolute;left:50%;top:50%;width:clamp(18px,2.6vw,34px);aspect-ratio:1;transform:rotate(var(--a)) translateY(calc(min(35vw,260px) * -1)) rotate(calc(var(--a) * -1)) scale(0);animation:dr-pop 3.4s ease-in-out calc(var(--i)*.05s) forwards;margin:calc(clamp(18px,2.6vw,34px) / -2) 0 0 calc(clamp(18px,2.6vw,34px) / -2)}
@keyframes dr-spin{0%{rotate:-30deg;opacity:0}20%{opacity:1}80%{opacity:1}100%{rotate:90deg;opacity:0}}
@keyframes dr-pop{0%{transform:rotate(var(--a)) translateY(calc(min(35vw,260px) * -1)) rotate(calc(var(--a) * -1)) scale(0)}25%,75%{transform:rotate(var(--a)) translateY(calc(min(35vw,260px) * -1)) rotate(calc(var(--a) * -1)) scale(1)}100%{transform:rotate(var(--a)) translateY(calc(min(35vw,260px) * -1)) rotate(calc(var(--a) * -1)) scale(.4)}}
.dr-ripple svg{position:absolute;left:50%;bottom:6vh;width:min(110vw,1100px);height:auto;translate:-50% 0;overflow:visible}
.dr-ripple ellipse{transform-box:fill-box;transform-origin:center;transform:scale(.05);opacity:0;animation:dr-rip 3.6s ease-out calc(var(--i)*.45s) forwards}
.dr-ripple path{opacity:0;animation:dr-fade 3.6s ease-in-out forwards}
@keyframes dr-rip{0%{transform:scale(.05);opacity:0}15%{opacity:.9}100%{transform:scale(1);opacity:0}}
@keyframes dr-fade{0%,100%{opacity:0}20%,70%{opacity:1}}
.dr-branch .dr-o{position:absolute;right:-1vw;bottom:-2vh;width:clamp(150px,22vw,300px);height:auto;aspect-ratio:120/140;transform-origin:0 100%;transform:scale(-1,1) scale(0);animation:dr-branch 3.8s ease-in-out forwards}
@keyframes dr-branch{0%{transform:scaleX(-1) scale(0) rotate(10deg);opacity:1}35%,70%{transform:scaleX(-1) scale(1) rotate(0);opacity:1}100%{transform:scaleX(-1) scale(1) rotate(-3deg);opacity:0}}
.dr-tulip{display:flex;justify-content:center;align-items:flex-end;gap:clamp(18px,4vw,60px)}
.dr-t{width:clamp(40px,5vw,70px);aspect-ratio:40/70;transform-origin:50% 100%;transform:scaleY(0);animation:dr-bloom 3.6s ease-in-out calc(var(--i)*.18s) forwards}
.dr-t:nth-child(2){width:clamp(52px,6.4vw,90px)}
@keyframes dr-bloom{0%{transform:scaleY(0) scaleX(.6);opacity:1}35%{transform:scaleY(1.04) scaleX(1)}45%,72%{transform:scaleY(1) scaleX(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.dr-corners .dr-c{position:absolute;top:50%;width:clamp(70px,9vw,120px);aspect-ratio:1;margin-top:calc(clamp(70px,9vw,120px) / -2)}
.dr-corners .dr-c.l{left:0;animation:dr-cl 3.4s ease-in-out forwards}
.dr-corners .dr-c.r{right:0;animation:dr-cr 3.4s ease-in-out forwards}
@keyframes dr-cl{0%{transform:translateX(-110%)}45%,70%{transform:translateX(calc(50vw - 100%))}100%{transform:translateX(calc(50vw - 100%));opacity:0}}
@keyframes dr-cr{0%{transform:translateX(110%) rotate(180deg)}45%,70%{transform:translateX(calc(-50vw + 100%)) rotate(180deg)}100%{transform:translateX(calc(-50vw + 100%)) rotate(180deg);opacity:0}}
@media (max-width:760px){.drift{z-index:59}}
@media (prefers-reduced-motion:reduce){.drift{display:none}}

/* story photos */
.day-h{margin:clamp(36px,5vw,56px) 0 0;font-size:clamp(1.3rem,2.4vw,1.7rem)}
.tl-photo .tl-img{aspect-ratio:4/3;border-radius:12px;margin:-4px 0 12px}
.tl-photo .tl-img img{width:100%;height:100%;object-fit:cover;display:block}
.ph.has-img>img{width:100%;height:100%;object-fit:cover;display:block}
.rod-ph{aspect-ratio:3/2;margin:-8px -8px 6px;border-radius:14px}
.rod-ph img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:760px){.tl-photo .tl-img{max-width:280px}}
.drift .dr-wheat,.drift .dr-tulip{padding-bottom:0}
@media (max-width:760px){.drift .dr-wheat,.drift .dr-tulip{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}.drift .dr-ripple svg{bottom:calc(80px + env(safe-area-inset-bottom,0px))}.drift .dr-branch .dr-o{bottom:66px}}

/* What brings you: every panel shares one grid cell, so the box and the photo keep the size of the longest text */
.pp-stack{display:grid;margin-top:0}
.pp-stack>[data-pc]{grid-area:1/1;margin-top:0!important}
.pp-stack>[data-pc][hidden]{display:grid!important;visibility:hidden;grid-template-columns:1fr!important;gap:16px}
.pp-stack>[data-pc] .cta{align-self:end}
.paths-main{display:flex;flex-direction:column}
.paths-main .pp-stack{flex:1}

/* captions under photos stay in the page for SEO and screen readers, not on screen */
.pstrip-i figcaption{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
.pstrip-i{position:relative}
.lb-bar .lb-cap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* A day at Pyramid: a quiet label on each photo (desktop and phone) */
.day-band .pstrip-i figcaption{position:absolute!important;left:0;right:0;bottom:0;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;margin:0;padding:0 12px 10px;font:600 .6rem/1.3 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:#fff;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 10px rgba(0,0,0,.45);pointer-events:none}
.mood-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mood-grid .ph{aspect-ratio:4/3;border-radius:14px}
.mood-grid .ph img,.camper-ph img{width:100%;height:100%;object-fit:cover;display:block}
.stage-story .prose p{max-width:58ch}
.camper-ph{grid-column:1/-1;aspect-ratio:21/9;margin-top:24px}
@media (min-width:1000px){.band .mood-grid:only-child,.wrap>.mood-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:760px){.camper-ph{aspect-ratio:4/3}}
.diff-card .ph{aspect-ratio:4/3;border-radius:14px;margin-bottom:16px}.diff-card .ph img{width:100%;height:100%;object-fit:cover;display:block}
/* notices with a story photo */
.sc-slot{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:auto}.sc-slot iframe{display:block;width:100%;border:0;border-radius:calc(var(--r) - 4px)}.sc-card{gap:14px}
.notice.pic-notice{grid-template-columns:minmax(0,300px) minmax(0,1fr) auto;padding:14px 24px 14px 14px;gap:24px}
.pic-notice>.ph{aspect-ratio:4/3;border-radius:14px;margin:0}
.pic-notice>.ph img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:900px){.notice.pic-notice{grid-template-columns:minmax(0,220px) minmax(0,1fr)}.pic-notice>:last-child{grid-column:2}}
@media (max-width:620px){.notice.pic-notice{grid-template-columns:1fr;padding:12px 12px 20px}.pic-notice>:last-child{grid-column:auto}.pic-notice>.ph{aspect-ratio:16/9}}
.card-ph{aspect-ratio:4/3;border-radius:14px;margin:0 0 14px}
.card>.card-ph{margin:-8px -8px 14px}
.card-ph img{width:100%;height:100%;object-fit:cover;display:block}
.kv-tile{display:grid;place-items:center;background:var(--raise)}.kv-tile svg{width:42%;height:auto}
.power-form{grid-column:1/-1;margin-top:20px;display:grid;gap:14px;max-width:820px}
.power-form h3{margin:0}
/* stay close band: a quiet photo under the text */
.news-band{position:relative;overflow:hidden;isolation:isolate}
.nb-bg{position:absolute;inset:0;z-index:-1}
.nb-bg img{width:100%;height:100%;object-fit:cover;display:block;opacity:.2;filter:saturate(.7)}
.nb-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg2) 0%,color-mix(in srgb,var(--bg2) 70%,transparent) 55%,color-mix(in srgb,var(--bg2) 35%,transparent) 100%)}
@media (max-width:760px){.nb-bg img{opacity:.14}.nb-bg::after{background:linear-gradient(180deg,color-mix(in srgb,var(--bg2) 40%,transparent),var(--bg2) 70%)}}
.call>.card-ph{margin:-8px -8px 12px}
.dr-stage{display:grid;place-items:center;animation:dr-stage-in 5s ease-in-out forwards}
.dr-stage .stage{position:absolute;inset:0;border:0;background:none;border-radius:0;padding:0;min-height:0;overflow:hidden}
.dr-stage .stage .art{z-index:0}
.dr-stage--kolo .art-kolo>.anim{left:50%;top:50%;height:150%;animation-duration:40s}
.dr-stage--tok .art-tok .anim{animation-duration:6s}
.dr-stage--vrelo .art-vrelo .rip{animation-duration:4s}
@keyframes dr-stage-in{0%{opacity:0}18%,72%{opacity:.85}100%{opacity:0}}



/* ================= Pyramid family design (aligned with the Pyramid Eco Village site) =================
   Same skeleton as pyramidecovillage.com: warm white page, navy "night" bands and footer, Poppins 800
   headlines, ochre eyebrows with the pyramid triangle, navy/sand pill buttons. Festival keeps its KV:
   the first slide is the KV image and the KV colours stay as accents (ornaments, ROD, dividers). */
body{font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{letter-spacing:-.02em;line-height:1.08}
h1{font-weight:800;font-size:clamp(36px,7.4vw,64px)}
h2{font-weight:800;font-size:clamp(28px,4.6vw,44px)}
h3{font-weight:700;letter-spacing:-.01em;line-height:1.25}
h4{font-weight:700}
.phero h1{font-size:clamp(36px,7.4vw,64px);font-weight:800}
.lede{font-weight:300;font-size:clamp(17px,2vw,20px);line-height:1.6;max-width:36em}
.eyebrow{font:600 12px/16px var(--f-b);letter-spacing:.18em;color:var(--eb)}
.eyebrow::before{width:10px;height:9px;clip-path:polygon(50% 0,100% 100%,0 100%)}
.kite{clip-path:polygon(50% 0,100% 100%,0 100%);height:9px}
.tag{font:600 11px/1 var(--f-b);letter-spacing:.14em;color:var(--eb)}
a.more{color:var(--fg);font-weight:600}
a.more:hover{border-color:var(--fg)}

/* buttons: pills like the logo's rounded ends */
.btn{min-height:50px;padding:13px 26px;font:600 15px/1 var(--f-b);border-width:1.5px}
.btn.sm{min-height:42px;padding:10px 18px;font-size:14px}
.btn.p:hover{transform:translateY(-1px)}
.btn.g{border-color:var(--fg);color:var(--fg)}
.btn.g:hover{background:var(--fg);color:var(--bg)}
.chip{font:500 14px/1 var(--f-b);background:transparent;border:1.5px solid var(--line);min-height:40px;padding:10px 16px}
.chip:hover{border-color:var(--fg)}
.chip[aria-pressed="true"],.chip[aria-selected="true"],.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

/* header and menus */
header.top{border-bottom-color:var(--line)}
.nl,.dd>button{font:500 15px/1 var(--f-b);padding:11px 13px}
.nl:hover,.dd>button:hover,.nl.on,.dd.on>button{background:var(--raise)}
.panel{border-radius:14px;padding:8px;box-shadow:0 24px 60px -24px rgba(12,29,37,.35)}
.panel a b{font-weight:600;font-size:15px}.panel a span{font-size:13px;line-height:1.35}

/* sections: the soft band is paper, the night band is navy */
.band.alt{background:var(--bg2)}
.band.night{--bg:#0c1d25;--bg2:#081318;--card:#13262f;--raise:#1b313b;--fg:#f6ecdd;--mute:#c7c1b6;--sand:#f3d2a5;--eb:#f3d2a5;--line:#21363f;--accent:#f3d2a5;--accent-ink:#0c1d25;--hi:#ee9e31;--sage:#7FB8B8;--teal-t:#7FB8B8;--k-ink:#E3D5CC;--k-rod:#E3D5CC;--k-odia:#E8AA42;--scrim:rgba(12,29,37,.88);color-scheme:dark;background:var(--bg);color:var(--fg);border-block:0}
.band.night h2,.band.night h3{color:#fbf1e2}

/* cards: white on the warm page, navy-tinted on the night band */
.card{border-radius:14px;border-color:var(--line)}
.ph{border-radius:12px}

/* page heads */
.phero{border-bottom-color:var(--line)}
.crumbs{font:400 13px/1 var(--f-b);letter-spacing:0}

/* first slide: the KV image sits on the page, the bar under it on the page colour */
.kv-poster{background:var(--bg)}

/* footer: night under Rtanj, same as the village */
footer{--bg:#0c1d25;--bg2:#081318;--card:#13262f;--raise:#1b313b;--fg:#f6ecdd;--mute:#c7c1b6;--sand:#f3d2a5;--eb:#f3d2a5;--line:#21363f;--accent:#f3d2a5;--accent-ink:#0c1d25;--hi:#ee9e31;--sage:#7FB8B8;--teal-t:#7FB8B8;--k-ink:#E3D5CC;--k-rod:#E3D5CC;--k-odia:#E8AA42;--scrim:rgba(12,29,37,.88);color-scheme:dark;background:var(--bg);color:#d9d1c4;border-top:0;margin-top:0!important}
footer .wm-foot,footer .brand{color:#f3d2a5}
.fsign{margin-top:18px;font:800 clamp(30px,3.8vw,46px)/1.02 var(--f-d);letter-spacing:-.03em;color:#f3d2a5}
.fsub{margin-top:12px;font-size:14px;color:#c7c1b6;max-width:36ch}
.fmail{display:inline-block;margin-top:14px;color:#f3d2a5;font-weight:600;font-size:17px;text-decoration:underline;text-decoration-color:var(--k-gold);text-underline-offset:4px}
.fgrid h4{font:600 11px/1 var(--f-b);letter-spacing:.18em;color:#f3d2a5}
.fgrid a{color:#c7c1b6}.fgrid a:hover{color:#fff}
.fsis{display:inline-flex;align-items:center;gap:8px}
.fsis::after{content:"↗";font-size:.85em;opacity:.7}
.legal{color:#a59f94;border-top:1px solid #21363f;padding-top:20px}
.legal a:hover{color:#fff}
.fgrid>div:first-child{width:auto;justify-self:stretch}
.fgrid>div:first-child>.brand{justify-content:flex-start}
.fgrid>div:first-child>.foot-orn{margin-inline:0}
.fgrid{grid-template-columns:1.7fr repeat(4,minmax(0,1fr))}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
/* form fields like the village: white field, thin warm border, 8px corners (navy field on the dark theme) */
input[type=email],input[type=text],input[type=search],input[type=url],input[type=tel],input[type=number],select,textarea{background:var(--card);border-color:var(--fbd,#d9d0c2);border-radius:8px;font-weight:400;min-height:46px;padding:11px 12px}
:root{--fbd:#2a424d}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--fbd:#d9d0c2}}
:root[data-theme="light"]{--fbd:#d9d0c2}


/* application forms */
.cform{gap:22px}
.fstep{border:0;margin:0;padding:18px 0 0;border-top:1px solid var(--line);display:grid;gap:14px;min-width:0}
.fstep>legend{display:flex;align-items:center;gap:10px;padding:0 0 4px;font:700 1rem/1.2 var(--f-d);color:var(--fg)}
.fstep>legend span{font:600 11px/1 var(--f-b);letter-spacing:.14em;color:var(--eb)}
.fset{border:0;margin:0;padding:0;display:grid;gap:8px;min-width:0}
.fset>legend{font-size:.86rem;color:var(--mute);padding:0;margin-bottom:8px}
.fopts{display:flex;flex-wrap:wrap;gap:8px}
.req{color:var(--hi);font-weight:700}
.fhint{font-size:.78rem;color:var(--mute)}
.fmoney{display:flex;align-items:center;gap:8px}.fmoney input{flex:1}.fmoney b{font:600 .85rem var(--f-b);color:var(--mute)}
.fconf{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;cursor:pointer}
.fconf input{width:18px;height:18px;margin-top:3px;accent-color:var(--accent);flex:none}
.fnote{background:var(--raise);border-radius:10px;padding:10px 12px;font-size:.88rem}
.cform .row>label{flex:1 1 200px}
#apply{min-width:0}
.cgal{margin:0;display:grid;gap:12px}.cgal-g{display:grid;gap:10px;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.cgal-g .ph{margin:0;aspect-ratio:auto;min-height:0;border-radius:12px;overflow:hidden}.cgal-g .ph img{width:100%;height:100%;object-fit:cover;display:block}.cgal-g .ph:first-child{grid-row:1/3;aspect-ratio:4/3}.cgal.n1 .cgal-g{grid-template-columns:1fr;grid-template-rows:auto}.cgal.n1 .cgal-g .ph:first-child{grid-row:auto;aspect-ratio:16/9}.cgal.n2 .cgal-g{grid-template-columns:1fr 1fr;grid-template-rows:auto}.cgal.n2 .cgal-g .ph{grid-row:auto;aspect-ratio:4/3}
.ctab-w{container-type:inline-size;border-radius:var(--r);border:1px solid var(--line);background:var(--card);padding:6px 14px}
.cmp.ctab{min-width:0;width:100%}
.ctab th,.ctab td{overflow-wrap:break-word;hyphens:auto}
.ctab tbody tr:last-child>*{border-bottom:0}
@container (max-width:560px){.ctab thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ctab,.ctab tbody,.ctab tr,.ctab th,.ctab td{display:block;width:auto}.ctab tbody tr{padding:14px 0;border-bottom:1px solid var(--line)}.ctab tbody tr:last-child{border-bottom:0}.ctab tbody th{padding:0 0 8px;border:0;font-weight:700}.ctab tbody td{display:grid;grid-template-columns:minmax(90px,38%) 1fr;gap:12px;padding:5px 0;border:0}.ctab tbody td::before{content:attr(data-l);font:500 .7rem/1.5 var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}}
.chk.ocard{display:block;flex:1 1 150px;cursor:pointer}.chk.ocard>span{display:grid;gap:4px;height:100%;position:relative;padding:14px 16px 14px 46px;transition:border-color .15s,transform .15s,box-shadow .15s;border-radius:12px;border:1.5px solid var(--line);background:var(--card);font-size:.86rem;line-height:1.4}.chk.ocard>span b{font-size:1.05rem}.chk.ocard>span em{font-style:normal;font-weight:700;font-size:1rem}.chk.ocard>span em small{font-weight:500;font-size:.72rem;color:var(--mute);margin-left:4px}.chk.ocard>input:checked+span{background:var(--card);color:var(--fg);border-color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--fg)}.chk.ocard>input:checked+span em small{color:var(--mute)}
.cl-tab{display:grid;gap:14px}
.cl-tab .ctab-w{padding:6px 22px}
.chk.ocard>span::before{content:"";position:absolute;left:16px;top:16px;width:20px;height:20px;border-radius:50%;border:2px solid var(--mute);background:var(--bg)}
.chk.ocard:hover>span{border-color:var(--fg);transform:translateY(-2px);box-shadow:0 8px 22px -14px rgba(12,29,37,.45)}
.chk.ocard>input:checked+span::before{border-color:var(--fg);background:var(--fg);box-shadow:inset 0 0 0 4px var(--bg)}
.chk.ocard>span::after{content:attr(data-pick);margin-top:6px;font:600 .78rem/1 var(--f-b);color:var(--hi)}
.chk.ocard>input:checked+span::after{content:attr(data-picked);color:var(--fg)}
.hiw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto;column-gap:clamp(32px,5vw,72px);row-gap:0}
.hiw>div{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
.hiw h3{margin:0 0 8px}
.hiw>div>p{margin:0 0 30px;align-self:start}
.hiw .tl strong{min-height:2.5em}
@media (max-width:900px){.hiw{grid-template-columns:1fr;row-gap:48px}.hiw>div{grid-row:auto;grid-template-rows:auto}.hiw .tl strong{min-height:0}}
/* call pages as small landings */
.cl-top{padding-top:clamp(28px,4vw,48px)}
.cl-cover{aspect-ratio:21/9;border-radius:16px;overflow:hidden;margin:0 0 clamp(36px,5vw,64px)}
.cl-cover img,.cl-strip img{width:100%;height:100%;object-fit:cover;display:block}
.cl-story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,5vw,72px);align-items:start}
.cl-hook{font-size:clamp(28px,3.6vw,44px);line-height:1.08;margin-top:14px;text-wrap:balance}
.cl-intro p:first-child{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.7}
.cl-intro p+p{margin-top:16px}
.cl-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:clamp(36px,5vw,56px) 0 0;border-top:1px solid var(--line)}
.cl-facts div{padding:20px 20px 0 0;min-width:0}
.cl-facts div+div{padding-left:20px;border-left:1px solid var(--line)}
.cl-facts dt{font:600 11px/1.3 var(--f-b);letter-spacing:.16em;text-transform:uppercase;color:var(--eb)}
.cl-facts dd{margin:8px 0 0;font:700 clamp(1rem,1.5vw,1.2rem)/1.3 var(--f-d)}
.cl-look .cl-n{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:10px;align-content:start}
.cl-n .d,.cl-get .d{font:500 .82rem/1 var(--f-m);color:var(--hi)}
.cl-n p{font-size:1rem;line-height:1.55}
.cl-get>div{display:grid;gap:12px;align-content:start;padding-top:18px;border-top:1px solid var(--line)}
.cl-get p{font-size:1.02rem;line-height:1.5}
.cl-dia{width:14px;height:16px;background:var(--hi);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.cl-dates{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.cl-dates li{padding:9px 14px;border-radius:999px;background:var(--raise);font-size:.88rem}
.cl-strip{display:grid;gap:12px;margin-top:clamp(36px,5vw,56px);grid-template-columns:repeat(2,minmax(0,1fr))}
.cl-strip .ph{aspect-ratio:3/2;border-radius:14px;overflow:hidden;margin:0}
.cl-strip.n1{grid-template-columns:1fr}.cl-strip.n1 .ph{aspect-ratio:21/9}
.cl-list{gap:12px}
.cl-apply{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,5vw,72px);align-items:start}
.cl-lead{display:grid;gap:18px;align-content:start}.cl-lead .cl-cover{aspect-ratio:3/2;margin:0 0 10px}.cl-lead .cl-hook{margin-top:0}.cl-lead .cl-facts{grid-template-columns:1fr 1fr;row-gap:18px;margin-top:10px}.cl-lead .cl-facts div:nth-child(3){padding-left:0;border-left:0}.cl-q{margin-top:6px}.cl-form{position:relative}
.sc-q{margin:6px 0 4px;padding-left:14px;border-left:3px solid var(--hi);font-size:.98rem;line-height:1.55;font-style:italic;color:var(--fg)}
@media (max-width:900px){.cl-story,.cl-apply{grid-template-columns:1fr}.cl-aside{position:static}.cl-facts{grid-template-columns:1fr 1fr;row-gap:18px}.cl-facts div:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:560px){.cl-cover{aspect-ratio:4/3}.cl-strip{grid-template-columns:1fr}.cl-facts div{padding-left:0!important;border-left:0!important}}
:root{--pat-lattice:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27160%27 height=%27160%27 viewBox=%270 0 160 160%27%3E%3Cg fill=%27none%27 stroke=%27%23fff%27 stroke-width=%279%27%3E%3Cpath d=%27M80 16 L88 16 L88 24 L96 24 L96 32 L104 32 L104 40 L112 40 L112 48 L120 48 L120 56 L128 56 L128 64 L136 64 L136 72 L144 72 L144 80 L144 88 L136 88 L136 96 L128 96 L128 104 L120 104 L120 112 L112 112 L112 120 L104 120 L104 128 L96 128 L96 136 L88 136 L88 144 L80 144 L72 144 L72 136 L64 136 L64 128 L56 128 L56 120 L48 120 L48 112 L40 112 L40 104 L32 104 L32 96 L24 96 L24 88 L16 88 L16 80 L16 72 L24 72 L24 64 L32 64 L32 56 L40 56 L40 48 L48 48 L48 40 L56 40 L56 32 L64 32 L64 24 L72 24 L72 16 L80 16Z%27/%3E%3Cpath d=%27M0 -64 L8 -64 L8 -56 L16 -56 L16 -48 L24 -48 L24 -40 L32 -40 L32 -32 L40 -32 L40 -24 L48 -24 L48 -16 L56 -16 L56 -8 L64 -8 L64 0 L64 8 L56 8 L56 16 L48 16 L48 24 L40 24 L40 32 L32 32 L32 40 L24 40 L24 48 L16 48 L16 56 L8 56 L8 64 L0 64 L-8 64 L-8 56 L-16 56 L-16 48 L-24 48 L-24 40 L-32 40 L-32 32 L-40 32 L-40 24 L-48 24 L-48 16 L-56 16 L-56 8 L-64 8 L-64 0 L-64 -8 L-56 -8 L-56 -16 L-48 -16 L-48 -24 L-40 -24 L-40 -32 L-32 -32 L-32 -40 L-24 -40 L-24 -48 L-16 -48 L-16 -56 L-8 -56 L-8 -64 L0 -64Z%27/%3E%3Cpath d=%27M160 -64 L168 -64 L168 -56 L176 -56 L176 -48 L184 -48 L184 -40 L192 -40 L192 -32 L200 -32 L200 -24 L208 -24 L208 -16 L216 -16 L216 -8 L224 -8 L224 0 L224 8 L216 8 L216 16 L208 16 L208 24 L200 24 L200 32 L192 32 L192 40 L184 40 L184 48 L176 48 L176 56 L168 56 L168 64 L160 64 L152 64 L152 56 L144 56 L144 48 L136 48 L136 40 L128 40 L128 32 L120 32 L120 24 L112 24 L112 16 L104 16 L104 8 L96 8 L96 0 L96 -8 L104 -8 L104 -16 L112 -16 L112 -24 L120 -24 L120 -32 L128 -32 L128 -40 L136 -40 L136 -48 L144 -48 L144 -56 L152 -56 L152 -64 L160 -64Z%27/%3E%3Cpath d=%27M0 96 L8 96 L8 104 L16 104 L16 112 L24 112 L24 120 L32 120 L32 128 L40 128 L40 136 L48 136 L48 144 L56 144 L56 152 L64 152 L64 160 L64 168 L56 168 L56 176 L48 176 L48 184 L40 184 L40 192 L32 192 L32 200 L24 200 L24 208 L16 208 L16 216 L8 216 L8 224 L0 224 L-8 224 L-8 216 L-16 216 L-16 208 L-24 208 L-24 200 L-32 200 L-32 192 L-40 192 L-40 184 L-48 184 L-48 176 L-56 176 L-56 168 L-64 168 L-64 160 L-64 152 L-56 152 L-56 144 L-48 144 L-48 136 L-40 136 L-40 128 L-32 128 L-32 120 L-24 120 L-24 112 L-16 112 L-16 104 L-8 104 L-8 96 L0 96Z%27/%3E%3Cpath d=%27M160 96 L168 96 L168 104 L176 104 L176 112 L184 112 L184 120 L192 120 L192 128 L200 128 L200 136 L208 136 L208 144 L216 144 L216 152 L224 152 L224 160 L224 168 L216 168 L216 176 L208 176 L208 184 L200 184 L200 192 L192 192 L192 200 L184 200 L184 208 L176 208 L176 216 L168 216 L168 224 L160 224 L152 224 L152 216 L144 216 L144 208 L136 208 L136 200 L128 200 L128 192 L120 192 L120 184 L112 184 L112 176 L104 176 L104 168 L96 168 L96 160 L96 152 L104 152 L104 144 L112 144 L112 136 L120 136 L120 128 L128 128 L128 120 L136 120 L136 112 L144 112 L144 104 L152 104 L152 96 L160 96Z%27/%3E%3C/g%3E%3Crect x=%2774%27 y=%2774%27 width=%2712%27 height=%2712%27 fill=%27%23fff%27/%3E%3C/svg%3E");--pat-stitch:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27160%27 height=%27160%27 viewBox=%270 0 160 160%27%3E%3Cg fill=%27none%27 stroke=%27%23fff%27 stroke-width=%272%27 stroke-dasharray=%276 5%27%3E%3Cpath d=%27M80 36 L88 36 L88 44 L96 44 L96 52 L104 52 L104 60 L112 60 L112 68 L120 68 L120 76 L120 84 L112 84 L112 92 L104 92 L104 100 L96 100 L96 108 L88 108 L88 116 L80 116 L72 116 L72 108 L64 108 L64 100 L56 100 L56 92 L48 92 L48 84 L40 84 L40 76 L40 68 L48 68 L48 60 L56 60 L56 52 L64 52 L64 44 L72 44 L72 36 L80 36Z%27/%3E%3Cpath d=%27M0 -44 L8 -44 L8 -36 L16 -36 L16 -28 L24 -28 L24 -20 L32 -20 L32 -12 L40 -12 L40 -4 L40 4 L32 4 L32 12 L24 12 L24 20 L16 20 L16 28 L8 28 L8 36 L0 36 L-8 36 L-8 28 L-16 28 L-16 20 L-24 20 L-24 12 L-32 12 L-32 4 L-40 4 L-40 -4 L-40 -12 L-32 -12 L-32 -20 L-24 -20 L-24 -28 L-16 -28 L-16 -36 L-8 -36 L-8 -44 L0 -44Z%27/%3E%3Cpath d=%27M160 -44 L168 -44 L168 -36 L176 -36 L176 -28 L184 -28 L184 -20 L192 -20 L192 -12 L200 -12 L200 -4 L200 4 L192 4 L192 12 L184 12 L184 20 L176 20 L176 28 L168 28 L168 36 L160 36 L152 36 L152 28 L144 28 L144 20 L136 20 L136 12 L128 12 L128 4 L120 4 L120 -4 L120 -12 L128 -12 L128 -20 L136 -20 L136 -28 L144 -28 L144 -36 L152 -36 L152 -44 L160 -44Z%27/%3E%3Cpath d=%27M0 116 L8 116 L8 124 L16 124 L16 132 L24 132 L24 140 L32 140 L32 148 L40 148 L40 156 L40 164 L32 164 L32 172 L24 172 L24 180 L16 180 L16 188 L8 188 L8 196 L0 196 L-8 196 L-8 188 L-16 188 L-16 180 L-24 180 L-24 172 L-32 172 L-32 164 L-40 164 L-40 156 L-40 148 L-32 148 L-32 140 L-24 140 L-24 132 L-16 132 L-16 124 L-8 124 L-8 116 L0 116Z%27/%3E%3Cpath d=%27M160 116 L168 116 L168 124 L176 124 L176 132 L184 132 L184 140 L192 140 L192 148 L200 148 L200 156 L200 164 L192 164 L192 172 L184 172 L184 180 L176 180 L176 188 L168 188 L168 196 L160 196 L152 196 L152 188 L144 188 L144 180 L136 180 L136 172 L128 172 L128 164 L120 164 L120 156 L120 148 L128 148 L128 140 L136 140 L136 132 L144 132 L144 124 L152 124 L152 116 L160 116Z%27/%3E%3C/g%3E%3C/svg%3E");--pat-motifs:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27560%27 height=%27560%27 viewBox=%270 0 560 560%27%3E%3Cdefs%3E%3Cmask id=%27m%27%3E%3Crect width=%27560%27 height=%27560%27 fill=%27%23fff%27/%3E%3C/mask%3E%3C/defs%3E%3Cpath d=%27M110 74 L117.667 74 L117.667 81.6667 L125.333 81.6667 L125.333 89.3333 L133 89.3333 L133 97 L140.667 97 L140.667 104.667 L148.333 104.667 L148.333 112.333 L156 112.333 L156 120 L156 127.667 L148.333 127.667 L148.333 135.333 L140.667 135.333 L140.667 143 L133 143 L133 150.667 L125.333 150.667 L125.333 158.333 L117.667 158.333 L117.667 166 L110 166 L102.333 166 L102.333 158.333 L94.6667 158.333 L94.6667 150.667 L87 150.667 L87 143 L79.3333 143 L79.3333 135.333 L71.6667 135.333 L71.6667 127.667 L64 127.667 L64 120 L64 112.333 L71.6667 112.333 L71.6667 104.667 L79.3333 104.667 L79.3333 97 L87 97 L87 89.3333 L94.6667 89.3333 L94.6667 81.6667 L102.333 81.6667 L102.333 74 L110 74Z%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%276.6%27/%3E%3Cpath d=%27M110 97 L113.833 97 L113.833 100.833 L117.667 100.833 L117.667 104.667 L121.5 104.667 L121.5 108.5 L125.333 108.5 L125.333 112.333 L129.167 112.333 L129.167 116.167 L133 116.167 L133 120 L133 123.833 L129.167 123.833 L129.167 127.667 L125.333 127.667 L125.333 131.5 L121.5 131.5 L121.5 135.333 L117.667 135.333 L117.667 139.167 L113.833 139.167 L113.833 143 L110 143 L106.167 143 L106.167 139.167 L102.333 139.167 L102.333 135.333 L98.5 135.333 L98.5 131.5 L94.6667 131.5 L94.6667 127.667 L90.8333 127.667 L90.8333 123.833 L87 123.833 L87 120 L87 116.167 L90.8333 116.167 L90.8333 112.333 L94.6667 112.333 L94.6667 108.5 L98.5 108.5 L98.5 104.667 L102.333 104.667 L102.333 100.833 L106.167 100.833 L106.167 97 L110 97Z%27 fill=%27%23fff%27/%3E%3Crect x=%27104.48%27 y=%27114.48%27 width=%2711.04%27 height=%2711.04%27 fill=%27%23fff%27 fill-opacity=%270%27 transform=%27rotate(45 110 120)%27/%3E%3Cpath d=%27M400 64 L416 80 L400 96 L384 80Z%27 fill=%27%23fff%27/%3E%3Cpath d=%27M400 72.8 L407.2 80 L400 87.2 L392.8 80Z%27 fill=%27%23fff%27 fill-opacity=%270%27/%3E%3Cpath d=%27M464.0 312h12.0v12.0h12.0v12.0h-12.0v12.0h-12.0v-12.0h-12.0v-12.0h12.0Z%27 fill=%27%23fff%27/%3E%3Crect x=%27235%27 y=%27297%27 width=%276%27 height=%276%27 fill=%27%23fff%27 transform=%27rotate(45 238 300)%27/%3E%3Crect x=%27247%27 y=%27297%27 width=%276%27 height=%276%27 fill=%27%23fff%27 transform=%27rotate(45 250 300)%27/%3E%3Crect x=%27259%27 y=%27297%27 width=%276%27 height=%276%27 fill=%27%23fff%27 transform=%27rotate(45 262 300)%27/%3E%3Cpath d=%27M90 419 L101 430 L90 441 L79 430Z%27 fill=%27%23fff%27/%3E%3Cpath d=%27M90 425.05 L94.95 430 L90 434.95 L85.05 430Z%27 fill=%27%23fff%27 fill-opacity=%270%27/%3E%3Cpath d=%27M330 444 L334.333 444 L334.333 448.333 L338.667 448.333 L338.667 452.667 L343 452.667 L343 457 L347.333 457 L347.333 461.333 L351.667 461.333 L351.667 465.667 L356 465.667 L356 470 L356 474.333 L351.667 474.333 L351.667 478.667 L347.333 478.667 L347.333 483 L343 483 L343 487.333 L338.667 487.333 L338.667 491.667 L334.333 491.667 L334.333 496 L330 496 L325.667 496 L325.667 491.667 L321.333 491.667 L321.333 487.333 L317 487.333 L317 483 L312.667 483 L312.667 478.667 L308.333 478.667 L308.333 474.333 L304 474.333 L304 470 L304 465.667 L308.333 465.667 L308.333 461.333 L312.667 461.333 L312.667 457 L317 457 L317 452.667 L321.333 452.667 L321.333 448.333 L325.667 448.333 L325.667 444 L330 444Z%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273.7%27/%3E%3Cpath d=%27M330 457 L332.167 457 L332.167 459.167 L334.333 459.167 L334.333 461.333 L336.5 461.333 L336.5 463.5 L338.667 463.5 L338.667 465.667 L340.833 465.667 L340.833 467.833 L343 467.833 L343 470 L343 472.167 L340.833 472.167 L340.833 474.333 L338.667 474.333 L338.667 476.5 L336.5 476.5 L336.5 478.667 L334.333 478.667 L334.333 480.833 L332.167 480.833 L332.167 483 L330 483 L327.833 483 L327.833 480.833 L325.667 480.833 L325.667 478.667 L323.5 478.667 L323.5 476.5 L321.333 476.5 L321.333 474.333 L319.167 474.333 L319.167 472.167 L317 472.167 L317 470 L317 467.833 L319.167 467.833 L319.167 465.667 L321.333 465.667 L321.333 463.5 L323.5 463.5 L323.5 461.333 L325.667 461.333 L325.667 459.167 L327.833 459.167 L327.833 457 L330 457Z%27 fill=%27%23fff%27/%3E%3Crect x=%27326.88%27 y=%27466.88%27 width=%276.24%27 height=%276.24%27 fill=%27%23fff%27 fill-opacity=%270%27 transform=%27rotate(45 330 470)%27/%3E%3Cpath d=%27M197.0 31h6.0v6.0h6.0v6.0h-6.0v6.0h-6.0v-6.0h-6.0v-6.0h6.0Z%27 fill=%27%23fff%27/%3E%3Cpath d=%27M520 511 L529 520 L520 529 L511 520Z%27 fill=%27%23fff%27/%3E%3Cpath d=%27M520 515.95 L524.05 520 L520 524.05 L515.95 520Z%27 fill=%27%23fff%27 fill-opacity=%270%27/%3E%3C/svg%3E")}
/* ---- ROD background weave: the KV's ćilim lattice, its red stitch lines and small ćilim symbols drift very faintly
   through the bands, never more than a detail. Masks keep each layer to one side of a band so the page never gets busy.
   Pages with a form (single open calls, tickets, contact) keep the weave but hold it still. ---- */
.band.weave{position:relative;isolation:isolate;overflow:clip}
.band.weave::before,.band.weave::after{content:"";position:absolute;inset:-160px;pointer-events:none;z-index:-1;-webkit-mask-position:0 var(--py,0),0 0;mask-position:0 var(--py,0),0 0;
  -webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}
/* plain cream bands: the lattice, fading in from one edge (sides alternate) */
.band.weave:not(.alt):not(.night)::before{background:var(--k-ink,#303151);opacity:.05;
  -webkit-mask-image:var(--pat-lattice),radial-gradient(60% 75% at 100% 50%,#000 0,transparent 72%);mask-image:var(--pat-lattice),radial-gradient(60% 75% at 100% 50%,#000 0,transparent 72%);
  -webkit-mask-size:160px 160px,100% 100%;mask-size:160px 160px,100% 100%;animation:pf-weave 200s linear infinite}
.band.weave.wr:not(.alt):not(.night)::before{-webkit-mask-image:var(--pat-lattice),radial-gradient(60% 75% at 0 50%,#000 0,transparent 72%);mask-image:var(--pat-lattice),radial-gradient(60% 75% at 0 50%,#000 0,transparent 72%)}
.band.weave:not(.alt):not(.night)::after{background:var(--k-red,#D32D37);opacity:.10;
  -webkit-mask-image:var(--pat-stitch),radial-gradient(40% 55% at 96% 20%,#000 0,transparent 70%);mask-image:var(--pat-stitch),radial-gradient(40% 55% at 96% 20%,#000 0,transparent 70%);
  -webkit-mask-size:160px 160px,100% 100%;mask-size:160px 160px,100% 100%;animation:pf-weave-r 160s linear infinite}
.band.weave.wr:not(.alt):not(.night)::after{-webkit-mask-image:var(--pat-stitch),radial-gradient(40% 55% at 4% 80%,#000 0,transparent 70%);mask-image:var(--pat-stitch),radial-gradient(40% 55% at 4% 80%,#000 0,transparent 70%)}
/* paper (alt) bands: scattered ćilim symbols in the KV colours, slowly changing colour */
.band.weave.alt::before{background:var(--k-red,#D32D37);opacity:.07;
  -webkit-mask-image:var(--pat-motifs),linear-gradient(90deg,#000 0,transparent 38%,transparent 62%,#000 100%);mask-image:var(--pat-motifs),linear-gradient(90deg,#000 0,transparent 38%,transparent 62%,#000 100%);
  -webkit-mask-size:560px 560px,100% 100%;mask-size:560px 560px,100% 100%;animation:pf-float 260s linear infinite,pf-hue 48s ease-in-out infinite alternate}
.band.weave.alt::after{display:none}
/* night bands and the footer: the KV's dark weave, two layers moving against each other (a slow moiré) */
.band.weave.night::before{background:#20414d;opacity:.34;
  -webkit-mask-image:var(--pat-lattice),linear-gradient(180deg,transparent 160px,#000 calc(160px + 22%),#000 calc(100% - 160px - 22%),transparent calc(100% - 160px));mask-image:var(--pat-lattice),linear-gradient(180deg,transparent 160px,#000 calc(160px + 22%),#000 calc(100% - 160px - 22%),transparent calc(100% - 160px));
  -webkit-mask-size:160px 160px,100% 100%;mask-size:160px 160px,100% 100%;animation:pf-weave 200s linear infinite}
.band.weave.night::after{background:#e8aa42;opacity:.16;
  -webkit-mask-image:var(--pat-stitch),linear-gradient(180deg,transparent 160px,#000 calc(160px + 30%),#000 calc(100% - 160px - 30%),transparent calc(100% - 160px));mask-image:var(--pat-stitch),linear-gradient(180deg,transparent 160px,#000 calc(160px + 30%),#000 calc(100% - 160px - 30%),transparent calc(100% - 160px));
  -webkit-mask-size:160px 160px,100% 100%;mask-size:160px 160px,100% 100%;animation:pf-weave-r 160s linear infinite,pf-hue-n 36s ease-in-out infinite alternate}
/* page heads: a few symbols behind the KV birds */
.phero-weave-off{background:var(--k-teal,#378590);opacity:.07;
  -webkit-mask-image:var(--pat-motifs),radial-gradient(45% 90% at 88% 40%,#000 0,transparent 75%);mask-image:var(--pat-motifs),radial-gradient(45% 90% at 88% 40%,#000 0,transparent 75%);
  -webkit-mask-size:420px 420px,100% 100%;mask-size:420px 420px,100% 100%;animation:pf-float 300s linear infinite}
@keyframes pf-weave{to{transform:translate3d(160px,160px,0)}}
@keyframes pf-weave-r{to{transform:translate3d(-160px,160px,0)}}
@keyframes pf-float{to{transform:translate3d(-560px,0,0)}}
@keyframes pf-hue{0%{background-color:#D32D37}50%{background-color:#EE9E31}100%{background-color:#378590}}
@keyframes pf-hue-n{0%{background-color:#e8aa42}50%{background-color:#7FB8B8}100%{background-color:#e0584f}}
:root[data-still="1"] .band::before,:root[data-still="1"] .band::after,:root[data-still="1"] .phero::after,:root[data-still="1"] footer::before,:root[data-still="1"] footer::after{animation:none}
@media (prefers-reduced-motion:reduce){.band::before,.band::after,.phero::after,footer::before,footer::after{animation:none}}
/* dark theme: cream bands become navy, so the lattice turns light */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .band.weave:not(.alt):not(.night)::before{background:#20414d;opacity:.34}}
:root[data-theme="dark"] .band.weave:not(.alt):not(.night)::before{background:#20414d;opacity:.34}
@media print{.band::before,.band::after,.phero::after,footer::before,footer::after{display:none}}
/* ================= KV skin (test, 20 Oct 2026) =================
   Buttons, boxes, chips and tags take their shapes from the ROD KV instead of the rounded "app" look:
   buttons end in the KV's rhombus tips, boxes have stepped ćilim corners, tags carry the small KV diamond.
   Everything lives under :root[data-skin="kv"]; to go back set SKIN to an empty string in a_core.js (or open any page with ?skin= to compare). */
:root[data-skin="kv"]{--tip:15px;--st:6px;
  --steps:polygon(calc(var(--st)*2) 0,calc(100% - var(--st)*2) 0,calc(100% - var(--st)*2) var(--st),calc(100% - var(--st)) var(--st),calc(100% - var(--st)) calc(var(--st)*2),100% calc(var(--st)*2),100% calc(100% - var(--st)*2),calc(100% - var(--st)) calc(100% - var(--st)*2),calc(100% - var(--st)) calc(100% - var(--st)),calc(100% - var(--st)*2) calc(100% - var(--st)),calc(100% - var(--st)*2) 100%,calc(var(--st)*2) 100%,calc(var(--st)*2) calc(100% - var(--st)),var(--st) calc(100% - var(--st)),var(--st) calc(100% - var(--st)*2),0 calc(100% - var(--st)*2),0 calc(var(--st)*2),var(--st) calc(var(--st)*2),var(--st) var(--st),calc(var(--st)*2) var(--st));
  --tips:polygon(var(--tip) 0,calc(100% - var(--tip)) 0,100% 50%,calc(100% - var(--tip)) 100%,var(--tip) 100%,0 50%);
  --stitch:repeating-linear-gradient(90deg,var(--k-red,#CD3B33) 0 10px,transparent 10px 15px,var(--k-teal,#4F9A9A) 15px 25px,transparent 25px 30px,var(--k-gold,#E8AA42) 30px 40px,transparent 40px 45px)}

/* buttons: rhombus tips, no pill */

/* chips and choice chips: same tips, smaller */

/* boxes: stepped ćilim corners, no outline, no hover lines */
:root[data-skin="kv"] .card,:root[data-skin="kv"] .cl-look .cl-n,:root[data-skin="kv"] .chk.ocard>span,:root[data-skin="kv"] .ctab-w,:root[data-skin="kv"] .scroll-x,:root[data-skin="kv"] .count div{border-radius:0;border-color:transparent;clip-path:var(--steps)}
:root[data-skin="kv"] .card{position:relative;box-shadow:none}
:root[data-skin="kv"] a.card:hover{transform:none}
:root[data-skin="kv"] .chk.ocard>span{border:0;background:var(--raise)}
:root[data-skin="kv"] .chk.ocard>input:checked+span{background:var(--card);box-shadow:inset 0 0 0 2px var(--fg)}
:root[data-skin="kv"] .chk.ocard:hover>span{transform:none;box-shadow:inset 0 0 0 1.5px var(--fg)}
:root[data-skin="kv"] .chk.ocard>span::before{border-radius:0;transform:rotate(45deg);width:14px;height:14px;left:19px;top:19px}
:root[data-skin="kv"] .chk.ocard>input:checked+span::before{box-shadow:inset 0 0 0 3px var(--bg)}

/* photos: stepped corners too */
:root[data-skin="kv"] .ph,:root[data-skin="kv"] .card-ph,:root[data-skin="kv"] .cl-cover,:root[data-skin="kv"] .cl-strip .ph{border-radius:0;clip-path:var(--steps)}
:root[data-skin="kv"] .cl-cover{--st:10px}

/* tags and status: the small KV diamond instead of a pill */
:root[data-skin="kv"] .tag{border:0;border-radius:0;padding:0;display:inline-flex;align-items:center;gap:8px}
:root[data-skin="kv"] .tag::before{content:"";width:6px;height:6px;background:var(--k-red,#CD3B33);transform:rotate(45deg);flex:none}

/* header controls, menu, fields */
:root[data-skin="kv"] .panel{border-radius:0;border:0;clip-path:var(--steps);padding-top:14px}
:root[data-skin="kv"] .panel a{border-radius:0}
:root[data-skin="kv"] .nl,:root[data-skin="kv"] .dd>button{border-radius:0}
:root[data-skin="kv"] input[type=email],:root[data-skin="kv"] input[type=text],:root[data-skin="kv"] input[type=tel],:root[data-skin="kv"] input[type=url],:root[data-skin="kv"] input[type=number],:root[data-skin="kv"] input[type=search],:root[data-skin="kv"] select,:root[data-skin="kv"] textarea{border-radius:0}
:root[data-skin="kv"] .stage,:root[data-skin="kv"] .paths-pic,:root[data-skin="kv"] .pp-img{border-radius:0;clip-path:var(--steps)}
:root[data-skin="kv"] .stage{border-color:transparent}
:root[data-skin="kv"] .chk.ocard>span{padding:16px 16px 16px 44px}
:root[data-skin="kv"] .chk.ocard>span::before{left:17px;top:20px}
:root[data-skin="kv"] .card[style*="border"]{border-color:transparent!important;background:color-mix(in srgb,var(--sand) 9%,var(--card))}
/* everything else that used rounded app corners */
:root[data-skin="kv"] .route,:root[data-skin="kv"] .copyrow,:root[data-skin="kv"] .mapbox,:root[data-skin="kv"] .legend-card,:root[data-skin="kv"] .callout,:root[data-skin="kv"] .fg-h,:root[data-skin="kv"] .prose img,:root[data-skin="kv"] article img{border-radius:0;border-color:transparent;clip-path:var(--steps)}
:root[data-skin="kv"] .fg-h{background:var(--raise)}
:root[data-skin="kv"] .fg-c{border-radius:0;width:34px;height:34px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
:root[data-skin="kv"] .ic,:root[data-skin="kv"] .meter,:root[data-skin="kv"] .meter *{border-radius:0}
:root[data-skin="kv"] .tag::before{border-radius:0}
/* buttons: clean rounded pills, saffron on hover */
:root[data-skin="kv"] .btn{transition:background .18s,color .18s,transform .18s}
:root[data-skin="kv"] .btn.p:hover{background:var(--k-gold,#E8AA42);color:#0c1d25;transform:translateY(-2px)}
:root[data-skin="kv"] .btn.g{border:1.5px solid var(--fg);}
:root[data-skin="kv"] .btn.g:hover{background:var(--fg);color:var(--bg);transform:translateY(-2px)}
:root[data-skin="kv"] .notice{border-radius:0}

/* ---- 27 Oct 2026 · UX: hero, offers, persistent checkout, Coming alone ---- */
@media (max-width:700px){.kvp-bar{padding-block:18px 32px}.kvp-bar .tagline{font-size:1.12rem}}
.kvp-bar .tagline{color:var(--fg);font-size:clamp(1.15rem,2.3vw,1.5rem);max-width:60ch;margin:0}
.kvp-bar .cta{margin-top:12px}
.kvp-bar .kvp-explain{max-width:60ch;color:var(--mute);margin:14px 0 0}
.kvp-bar .kvp-date{font:600 .8rem/1.6 var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:var(--sand);margin:8px 0 0}
.kvp-bar .kvp-value{max-width:64ch;margin:8px 0 0}
.kvp-bar .kvp-value b{color:var(--fg);font-size:1.1rem}
.offer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;align-items:center;padding:clamp(20px,3vw,28px);border:1px solid color-mix(in srgb,var(--sand) 45%,transparent);border-radius:var(--r);background:var(--card)}
.offer h3{font-size:clamp(1.15rem,2.2vw,1.45rem);margin:4px 0 8px}
.offer-txt p{margin:0 0 6px}
.offer-price{font:600 .92rem/1.45 var(--f-m);color:var(--sand);margin:6px 0}
.offer-cta{display:grid;gap:10px;justify-items:end;text-align:right}
@media (max-width:760px){.offer-cta{justify-items:start;text-align:left}}
.grid.g2>.offer .offer-cta{justify-items:start;text-align:left}
.offer.share-ride{margin-top:18px;border-style:dashed}
.grid.g2>.offer{grid-template-columns:1fr;align-content:start}
@media (max-width:760px){.offer{grid-template-columns:1fr}}
.offer-card .cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.wz-slot{min-height:520px;position:relative}
.wz-host{position:absolute;z-index:2}
.wz-host.off{display:none}
.wz-host iframe{display:block;width:100%!important;border:0}
.wz-host,.wz-host iframe{scroll-margin-top:140px}
/* the widget changes height while you type; without this Chrome "anchors" the scroll to text below it and the page jumps */
html:has(.wz-slot),html:has(.wz-slot) body{overflow-anchor:none}
.tix-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
@media (max-width:860px){.tix-grid{grid-template-columns:1fr}}
.tix-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.tix-tabs .chip{white-space:normal;text-align:left;max-width:100%;height:auto;line-height:1.3;padding-block:9px}
@media (max-width:600px){.card.tix-buy{padding:14px 10px}}
.phase-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.phase-list li{display:grid;grid-template-columns:minmax(80px,auto) 1fr auto;gap:10px;align-items:baseline;font-size:.9rem;border-bottom:1px dashed var(--line);padding-bottom:6px}
.phase-list .ph-done{opacity:.55}
.phase-list .ph-now b{color:var(--sand)}
.phase-list i.tag{font-style:normal}
pre.tpl{white-space:pre-wrap;word-break:break-word;font:500 .84rem/1.55 var(--f-m);background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:6px 0 10px;color:var(--fg)}
.steps-n{margin:16px 0;padding-left:1.3em;display:grid;gap:8px}
.steps-n li::marker{color:var(--sand);font-weight:700}
.mini-w{margin:6px 0}
table.cmp.mini{min-width:0;width:100%;table-layout:fixed}
.cmp.mini th,.cmp.mini td{padding:8px 6px;font-size:.9rem;overflow-wrap:anywhere}
.cmp.mini th:first-child,.cmp.mini td:first-child{padding-left:0}
.tag.prev-tag{border-style:dashed;margin-right:8px;vertical-align:middle;color:var(--mute)}
.names.prev li{opacity:.82}
.share-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px}
ul.soc.share-soc{margin:0;max-width:none;gap:4px}
.soc .soc-btn{display:block;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer;color:var(--sand);--sb:color-mix(in srgb,var(--sand) 26%,var(--bg))}
.soc .soc-btn:hover,.soc .soc-btn:focus-visible{--sb:var(--sand)}
.soc .soc-btn svg{width:44px;height:44px;display:block;overflow:visible}
