/* Geomehanika — c3 BUŠOTINA · editorial monograph system */
:root{
  --navy:#25364c; --slate:#86909f; --sand:#d1be8a; --ink:#16191e; --text:#333333; --white:#ffffff;
  --paper:#f6f3ec; --slate-tint:#f3f4f6;
  --rule:rgba(22,25,30,.14); --rule-strong:rgba(22,25,30,.32);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;
  --fs-display:clamp(2.75rem,1.4rem + 5.6vw,6.75rem);
  --fs-h1:clamp(2.5rem,1.6rem + 3.6vw,5rem);
  --fs-h2:clamp(2rem,1.45rem + 2.2vw,3.5rem);
  --fs-h3:clamp(1.375rem,1.2rem + .8vw,1.875rem);
  --fs-lead:clamp(1.1875rem,1.05rem + .55vw,1.5rem);
  --fs-body:1.0625rem; --fs-sm:.9375rem; --fs-xs:.8125rem; --fs-mono:.75rem;
  --wrap:1280px; --read:680px; --pad-x:clamp(20px,4vw,48px); --gut:clamp(16px,2.2vw,32px);
  --sec:clamp(72px,9vw,96px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (min-width:1024px){:root{--sec:clamp(120px,10vw,152px)}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:var(--fs-body);line-height:1.6;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--ink);margin:0;letter-spacing:-.012em;line-height:1.06;text-wrap:balance}
p{margin:0 0 1em}
em,i{font-style:italic}
.serif-em{font-family:var(--serif);font-style:italic}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.sec--ink :focus-visible,.sec--navy :focus-visible,.foot :focus-visible{outline-color:var(--sand)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--white);padding:10px 14px;font-weight:500;text-decoration:none}
.skip:focus{top:12px}

/* ---------- layout ---------- */
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad-x)}
.read{max-width:var(--read)}
.sec{padding-block:var(--sec);position:relative}
.sec--paper{background:var(--paper)}
.sec--white{background:var(--white)}
.sec--tint{background:var(--slate-tint)}
.sec--ink{background:var(--ink);color:#d9dce1}
.sec--ink h1,.sec--ink h2,.sec--ink h3{color:var(--white)}
.sec--navy{background:var(--navy);color:#dfe3ea}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);row-gap:clamp(28px,4vw,48px)}
.g12>*{grid-column:1/-1;min-width:0}

/* page-like section marker */
.runhead{display:flex;align-items:baseline;gap:14px;font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate);border-top:1px solid var(--rule-strong);padding-top:12px;margin:0 0 clamp(40px,6vw,72px)}
.runhead__n{color:var(--navy);font-weight:600}
.runhead__r{margin-left:auto;text-align:right}
.sec--ink .runhead{border-color:rgba(255,255,255,.22);color:#8f97a3}
.sec--ink .runhead__n{color:var(--sand)}
@media (max-width:599px){.runhead__r{display:none}}

.eyebrow{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate);margin:0 0 14px}
.lead{font-family:var(--serif);font-size:var(--fs-lead);line-height:1.45;color:var(--ink)}
.sec--ink .lead{color:#e8eaee}
.small{font-size:var(--fs-sm)}
.note{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.02em;color:var(--slate);line-height:1.5}

/* links + buttons */
.ulink{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .22s var(--ease);padding-bottom:2px}
.ulink:hover,.ulink:focus-visible{background-size:100% 1px}
.ulink--static{background-size:100% 1px}
.ulink--static:hover{background-size:0 1px}
.arrow{font-weight:500;color:var(--navy);text-decoration:none;display:inline-flex;gap:.45em;align-items:baseline}
.arrow span{transition:transform .2s var(--ease)}
.arrow:hover span,.arrow:focus-visible span{transform:translateX(4px)}
.sec--ink .arrow{color:var(--sand)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:500 1rem/1 var(--sans);padding:16px 24px;border:1px solid var(--navy);background:var(--navy);color:var(--white);text-decoration:none;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.btn:hover{background:var(--ink);border-color:var(--ink)}
.btn--ghost{background:transparent;color:var(--navy)}
.btn--ghost:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}
.btn--sand{background:var(--sand);border-color:var(--sand);color:var(--ink)}
.btn--sand:hover{background:var(--white);border-color:var(--white)}
.btns{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- header ---------- */
.head{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid var(--rule)}
.head__in{display:flex;align-items:center;gap:24px;height:84px;transition:height .2s var(--ease)}
.head__logo{display:block;flex:none}
.head__logo img{height:46px;width:auto;transition:opacity .2s var(--ease)}
.head__logo .logo-c{display:none;height:30px}
.head.is-compact .head__in{height:62px}
.head.is-compact .logo-m{display:none}
.head.is-compact .logo-c{display:block}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:30px}
.nav a{text-decoration:none;font-size:.9375rem;font-weight:500;color:var(--ink);background:linear-gradient(var(--navy),var(--navy)) 0 100%/0 1px no-repeat;transition:background-size .22s var(--ease);padding-bottom:3px}
.nav a:hover,.nav a:focus-visible,.nav a[aria-current="page"]{background-size:100% 1px}
.nav a[aria-current="page"]{color:var(--navy)}
.head__cta{padding:12px 18px;font-size:.9375rem}
.menu-btn{display:none;margin-left:auto;font:500 .9375rem var(--sans);background:none;border:1px solid var(--rule-strong);color:var(--ink);padding:10px 14px;cursor:pointer}
@media (max-width:959px){
  .head__in{height:68px}
  .head__logo img{height:36px}
  .head.is-compact .head__in{height:58px}
  .menu-btn{display:inline-block}
  .head__cta{display:none}
  .nav{position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--rule);display:none}
  .nav.is-open{display:block}
  .nav ul{flex-direction:column;gap:0;padding:8px var(--pad-x) 20px}
  .nav li{border-top:1px solid var(--rule)}
  .nav a{display:block;padding:16px 0;font-family:var(--serif);font-size:1.5rem;font-weight:400;background:none}
  .nav .nav__cta{display:block}
}
.nav__cta{display:none}
.no-js .nav{display:block;position:static;border:0}
.no-js .menu-btn{display:none}

/* ---------- figures / plates ---------- */
.fig{margin:0}
.fig__img{overflow:hidden;background:#e7e2d6}
.fig__img img{width:100%;height:100%;object-fit:cover;transition:transform .25s var(--ease)}
a .fig__img img,a.fig__img img{will-change:transform}
a:hover .fig__img img,a.fig__img:hover img{transform:scale(1.03)}
.cap{font-size:var(--fs-xs);line-height:1.5;color:#5b6370;margin-top:12px}
.cap b{font-family:var(--mono);font-size:var(--fs-mono);font-weight:600;letter-spacing:.06em;color:var(--navy);margin-right:.6em}
.sec--ink .cap{color:#a3aab5}
.sec--ink .cap b{color:var(--sand)}
.plate{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut)}
.plate>.fig__img{grid-column:1/-1}
.plate>.cap{grid-column:1/-1}
@media (min-width:1024px){
  .plate>.fig__img{grid-column:1/10}
  .plate>.cap{grid-column:10/13;align-self:end;margin:0;border-top:1px solid var(--rule-strong);padding-top:10px}
  .plate--r>.fig__img{grid-column:4/13;grid-row:1}
  .plate--r>.cap{grid-column:1/4;grid-row:1;text-align:right}
}

/* full-bleed plate */
.bleed{position:relative;background:var(--ink)}
.bleed img{width:100%;height:clamp(340px,52vw,780px);object-fit:cover}
.bleed__cap{position:absolute;left:var(--pad-x);bottom:var(--pad-x);max-width:min(420px,calc(100% - 2*var(--pad-x)));background:var(--paper);padding:14px 16px;margin:0}
@media (min-width:1360px){.bleed__cap{left:calc((100vw - var(--wrap))/2 + var(--pad-x))}}

/* ---------- home hero ---------- */
.hero{padding-top:clamp(56px,7vw,104px)}
.hero h1{font-size:var(--fs-display);line-height:.98;letter-spacing:-.025em;font-weight:400;max-width:15ch}
.hero h1 em{font-weight:400}
.hero__grid{margin-top:clamp(40px,6vw,88px)}
.hero__plate{aspect-ratio:5/3}
.hero__text .lead{margin-bottom:28px}
@media (min-width:1024px){
  .hero__plate-wrap{grid-column:1/8}
  .hero__text{grid-column:9/13;align-self:end}
}

/* page hero (inner pages) */
.phero h1{font-size:var(--fs-h1);max-width:16ch}
.phero .lead{margin-top:28px;max-width:34ch}
@media (min-width:1024px){
  .phero__t{grid-column:1/8}
  .phero__aside{grid-column:9/13;align-self:end}
}
.toc{list-style:none;margin:0;padding:0;counter-reset:toc;border-top:1px solid var(--rule-strong)}
.toc li{border-bottom:1px solid var(--rule)}
.toc a{display:flex;gap:14px;align-items:baseline;padding:11px 0;text-decoration:none;color:var(--ink)}
.toc a>span:first-child{font-family:var(--mono);font-size:var(--fs-mono);color:var(--slate);min-width:2.2em}
.toc a>span:last-child{margin-left:auto;font-family:var(--mono);font-size:var(--fs-mono);color:var(--slate)}
.toc a:hover>span:nth-child(2){text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* ---------- intro + fact line ---------- */
@media (min-width:1024px){
  .intro__h{grid-column:1/5}
  .intro__b{grid-column:6/13}
}
.intro__h h2{font-size:var(--fs-h2)}
.facts{list-style:none;margin:clamp(56px,7vw,96px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule-strong)}
.facts li{padding:22px 16px 0 0;border-bottom:1px solid var(--rule);padding-bottom:22px}
.facts b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(3rem,2rem + 4vw,6rem);line-height:.95;color:var(--navy);letter-spacing:-.03em}
.facts span{display:block;margin-top:10px;font-size:var(--fs-sm);color:#555c66;max-width:22ch}
@media (min-width:768px){
  .facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .facts li{border-bottom:0;padding-left:20px;border-left:1px solid var(--rule)}
  .facts li:first-child{border-left:0;padding-left:0}
}

/* ---------- services list (home) ---------- */
.svc-h{display:grid;gap:20px;margin-bottom:clamp(40px,5vw,72px)}
.svc-h h2{font-size:var(--fs-h2);max-width:18ch}
@media (min-width:1024px){.svc-h{grid-template-columns:7fr 4fr;column-gap:calc(var(--gut) + 8.33%);align-items:end}}
.svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;column-gap:var(--gut);border-top:1px solid var(--rule-strong)}
@media (min-width:768px){.svc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.svc{grid-template-columns:repeat(3,minmax(0,1fr))}}
.svc li{border-bottom:1px solid var(--rule)}
.svc a{display:grid;grid-template-columns:2.6em 1fr;gap:4px 10px;padding:26px 0 28px;text-decoration:none;height:100%}
.svc__n{font-family:var(--mono);font-size:var(--fs-mono);color:var(--slate);padding-top:.55em;grid-row:span 2}
.svc__t{font-family:var(--serif);font-size:1.5rem;line-height:1.15;color:var(--ink);transition:color .2s var(--ease)}
.svc__d{font-size:var(--fs-sm);color:#555c66;line-height:1.5}
.svc a:hover .svc__t,.svc a:focus-visible .svc__t{color:var(--navy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.tag-new{display:inline-block;font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;background:var(--sand);color:var(--ink);padding:3px 6px;vertical-align:.35em;margin-left:6px}

/* ---------- explorer teaser (home) ---------- */
@media (min-width:1024px){
  .teaser__t{grid-column:1/5;align-self:center}
  .teaser__v{grid-column:6/13}
}
.teaser__t h2{font-size:var(--fs-h2)}
.teaser__t p{margin-top:22px}

/* ---------- case spreads ---------- */
.spread{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);row-gap:24px;align-items:end}
.spread+.spread{margin-top:clamp(72px,10vw,144px)}
.spread>*{grid-column:1/-1;min-width:0}
.spread__img{aspect-ratio:4/3}
.spread__no{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.08em;color:var(--slate);text-transform:uppercase;margin-bottom:16px}
.spread h3{font-size:var(--fs-h3);margin-bottom:16px}
.spread h3 a{text-decoration:none}
.spread__meta{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--rule-strong);font-size:var(--fs-sm)}
.spread__meta li{display:flex;gap:12px;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--rule)}
.spread__meta li span:first-child{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--slate)}
.spread__meta li span:last-child{text-align:right;color:var(--ink)}
.spread__thumbs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.spread__thumbs .fig__img{aspect-ratio:3/2}
@media (min-width:1024px){
  .spread__fig{grid-column:1/8}
  .spread__txt{grid-column:9/13}
  .spread--rev .spread__fig{grid-column:6/13;grid-row:1}
  .spread--rev .spread__txt{grid-column:1/5;grid-row:1}
}

/* ---------- lab essay ---------- */
.lab-h{display:grid;gap:24px;margin-bottom:clamp(48px,6vw,88px)}
.lab-h h2{font-size:var(--fs-h2);max-width:22ch}
@media (min-width:1024px){.lab-h{grid-template-columns:7fr 4fr;column-gap:calc(var(--gut) + 8.33%);align-items:end}}
.essay-photos{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);row-gap:28px}
.essay-photos>*{grid-column:1/-1}
.ep-a .fig__img{aspect-ratio:4/3}
.ep-b .fig__img{aspect-ratio:2/3}
.ep-c .fig__img{aspect-ratio:4/3}
@media (min-width:768px){
  .ep-a{grid-column:1/8}
  .ep-b{grid-column:8/13;grid-row:span 2}
  .ep-c{grid-column:3/8}
}
.certs{margin-top:clamp(64px,8vw,112px);border-top:1px solid var(--rule-strong);padding-top:28px}
.certs__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gut);margin-top:24px}
@media (min-width:768px){.certs__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cert .fig__img{aspect-ratio:3/2;background:var(--white);border:1px solid var(--rule)}
.cert .fig__img img{object-fit:contain;padding:6px}
.cert figcaption{margin-top:10px;font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.04em;color:var(--ink)}
.cert figcaption span{display:block;color:var(--slate);font-family:var(--sans);font-size:var(--fs-xs);letter-spacing:0;margin-top:3px}

/* ---------- client wall ---------- */
.wall-h h2{font-size:var(--fs-h2);max-width:20ch}
.wall{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
@media (min-width:768px){.wall{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1100px){.wall{grid-template-columns:repeat(4,minmax(0,1fr))}}
.wall li{display:flex;align-items:center;justify-content:center;text-align:center;min-height:clamp(96px,11vw,140px);padding:16px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--serif);font-size:clamp(1.125rem,1rem + .6vw,1.625rem);line-height:1.15;color:var(--slate);transition:color .2s var(--ease)}
.wall li:hover{color:var(--navy)}
.partners{margin-top:36px;font-size:var(--fs-sm);color:#555c66;max-width:var(--read)}

/* ---------- CTA ---------- */
.cta{border-top:6px solid var(--navy)}
@media (min-width:1024px){
  .cta__t{grid-column:1/5}
  .cta__f{grid-column:6/13}
}
.cta__t h2{font-size:var(--fs-h2)}
.cta__t p{margin-top:20px}
.cta__contact{list-style:none;padding:0;margin:28px 0 0;font-size:var(--fs-sm);border-top:1px solid var(--rule-strong)}
.cta__contact li{padding:10px 0;border-bottom:1px solid var(--rule)}
.cta__contact a{text-decoration:none}
.cta__card{background:var(--white);border-left:4px solid var(--navy);padding:clamp(22px,3vw,40px)}

/* ---------- forms ---------- */
.form{display:grid;grid-template-columns:1fr;gap:18px 20px}
@media (min-width:640px){.form{grid-template-columns:1fr 1fr}.form .f--full{grid-column:1/-1}}
.f label,.f .f__lab{display:block;font-size:var(--fs-sm);font-weight:500;color:var(--ink);margin-bottom:6px}
.f .opt{font-weight:400;color:var(--slate)}
.f input,.f select,.f textarea{width:100%;font:400 1rem/1.4 var(--sans);color:var(--ink);background:var(--white);border:1px solid #b9bfc8;border-radius:0;padding:13px 14px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.f textarea{min-height:132px;resize:vertical}
.f input[type=file]{padding:11px;background:var(--slate-tint)}
.f input:hover,.f select:hover,.f textarea:hover{border-color:var(--slate)}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(37,54,76,.18)}
.f [aria-invalid="true"]{border-color:#9b2c2c;box-shadow:0 0 0 1px #9b2c2c}
.f__err{display:none;font-size:var(--fs-xs);color:#9b2c2c;margin:6px 0 0}
.f.has-err .f__err{display:block}
.f__hint{font-size:var(--fs-xs);color:#5b6370;margin:6px 0 0}
.form__foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.form__summary{grid-column:1/-1;display:none;border-left:3px solid #9b2c2c;background:#fbf3f3;padding:12px 14px;font-size:var(--fs-sm);color:#6e1f1f}
.form__summary.is-on{display:block}
.form__summary ul{margin:6px 0 0;padding-left:18px}
.form__summary a{color:inherit}
.success{display:none;border-left:4px solid var(--navy);background:var(--paper);padding:28px}
.success h3{font-size:var(--fs-h3);margin-bottom:10px}
.is-sent .form{display:none}
.is-sent .success{display:block}

/* ---------- services page essays ---------- */
.essay{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);row-gap:28px}
.essay>*{grid-column:1/-1;min-width:0}
.essay__margin{font-size:var(--fs-sm)}
.essay__margin dl{margin:0;border-top:1px solid var(--rule-strong)}
.essay__margin dt{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--slate);padding-top:12px}
.essay__margin dd{margin:4px 0 0;padding-bottom:12px;border-bottom:1px solid var(--rule);color:var(--ink)}
.essay__no{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.08em;color:var(--slate);margin-bottom:12px}
.essay__body h2{font-size:var(--fs-h2);margin-bottom:28px}
.essay__body .lead{margin-bottom:24px}
.essay__body p{max-width:var(--read)}
.essay__fig .fig__img{aspect-ratio:16/10}
@media (min-width:1024px){
  .essay__margin{grid-column:1/4;grid-row:1/3;position:sticky;top:96px;align-self:start}
  .essay__body{grid-column:5/12}
  .essay__fig{grid-column:5/13}
}

/* ---------- project index ---------- */
.idx{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.idx caption{text-align:left;caption-side:bottom;padding-top:14px}
.idx th{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--slate);text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--rule-strong)}
.idx td{padding:14px 12px 14px 0;border-bottom:1px solid var(--rule);vertical-align:baseline}
.idx td:first-child{font-family:var(--serif);font-size:1.25rem;color:var(--ink);line-height:1.2}
.idx td:first-child a{text-decoration:none}
.idx td:first-child a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.idx td.idx__letter{font-family:var(--mono);font-size:var(--fs-mono);color:var(--slate);width:2.5em}
.idx td:last-child{font-family:var(--mono);font-size:var(--fs-mono);color:var(--slate);white-space:nowrap}
.idx tr:hover td{background:var(--paper)}
@media (max-width:599px){.idx .idx__sector-h,.idx td:nth-child(3){display:none}}
.idx td small{display:block;font-family:var(--sans);font-size:var(--fs-xs);color:#5b6370;margin-top:2px}

/* ---------- O nama ---------- */
.chap__n{font-family:var(--serif);font-style:italic;font-size:clamp(3.5rem,2.5rem + 4vw,7rem);line-height:.9;color:var(--sand);margin-bottom:8px}
.sec--white .chap__n,.sec--paper .chap__n{color:var(--navy)}
@media (min-width:1024px){
  .chap__h{grid-column:1/5}
  .chap__b{grid-column:6/13}
}
.chap__h h2{font-size:var(--fs-h2)}
.chap__b p{max-width:var(--read)}
.duo{display:grid;grid-template-columns:1fr;gap:var(--gut);margin-top:40px}
@media (min-width:768px){.duo{grid-template-columns:1fr 1fr}}
.duo .fig__img{aspect-ratio:3/2}
.listcols{columns:1;column-gap:var(--gut);list-style:none;padding:0;margin:28px 0 0;border-top:1px solid rgba(255,255,255,.22)}
@media (min-width:768px){.listcols{columns:2}}
.listcols li{break-inside:avoid;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14);font-family:var(--serif);font-size:1.25rem;color:var(--white)}
.listcols li span{display:block;font-family:var(--mono);font-size:var(--fs-mono);color:#8f97a3;letter-spacing:.06em;text-transform:uppercase;margin-top:2px}

/* ---------- Kontakt letterhead ---------- */
.letter{background:var(--white);border:1px solid var(--rule);padding:clamp(24px,4vw,56px);box-shadow:0 1px 0 var(--rule),0 18px 40px -28px rgba(22,25,30,.35)}
.letter__top{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--navy);padding-bottom:20px}
.letter__top img{height:52px;width:auto}
.letter__top p{margin:0;font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--slate)}
.letter__offices{display:grid;grid-template-columns:1fr;gap:28px;padding-top:28px}
@media (min-width:768px){.letter__offices{grid-template-columns:1fr 1fr;gap:var(--gut)}.letter__offices>div+div{border-left:1px solid var(--rule);padding-left:var(--gut)}}
.letter h2{font-size:var(--fs-h3);margin-bottom:12px}
.letter address{font-style:normal;line-height:1.7}
.letter address a{text-decoration:none}
.letter .mono{font-family:var(--mono);font-size:.9375rem;color:var(--ink)}
.letter__foot{margin-top:28px;padding-top:14px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px 24px;font-family:var(--mono);font-size:var(--fs-mono);color:var(--slate);letter-spacing:.04em}
@media (min-width:1024px){
  .kf__aside{grid-column:1/4}
  .kf__form{grid-column:5/13}
}
.kf__aside h2{font-size:var(--fs-h3);margin-bottom:14px}
.kf__aside ol{margin:20px 0 0;padding-left:20px;font-size:var(--fs-sm)}
.kf__aside li{margin-bottom:8px}

/* ---------- footer ---------- */
.foot{background:var(--navy);color:#cfd6e0;padding-block:clamp(64px,8vw,104px) 36px;font-size:var(--fs-sm)}
.foot a{text-decoration:none;color:var(--white)}
.foot a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.foot__grid{display:grid;grid-template-columns:1fr;gap:36px}
@media (min-width:768px){.foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.foot__grid{grid-template-columns:4fr 3fr 3fr 2fr}}
.foot__plate{display:inline-block;background:var(--white);padding:14px 18px}
.foot__plate img{height:40px;width:auto}
.foot__motto{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--white);margin:24px 0 0;line-height:1.25}
.foot h2{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sand);font-weight:500;margin-bottom:14px}
.foot address{font-style:normal;line-height:1.75}
.foot ul{list-style:none;margin:0;padding:0;line-height:2}
.foot__base{margin-top:clamp(48px,6vw,80px);padding-top:18px;border-top:1px solid rgba(255,255,255,.18);display:flex;flex-wrap:wrap;gap:8px 28px;font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.04em;color:#a9b3c1}

/* ---------- BUŠOTINA explorer + teaser ---------- */
.bx{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,56px);margin-top:clamp(40px,5vw,64px)}
@media (min-width:1024px){.bx{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}}
.bx-stage{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,.8fr);gap:clamp(10px,2vw,24px);align-items:stretch}
.bx-scale{position:relative;font-family:var(--mono);font-size:.6875rem;color:#8f97a3}
.bx-scale span{position:absolute;right:0;transform:translateY(-50%);white-space:nowrap}
.bx-scale span::after{content:"";display:inline-block;width:6px;height:1px;background:currentColor;vertical-align:middle;margin-left:4px}
.bx-colwrap{position:relative;height:clamp(440px,52vw,620px);touch-action:pan-y}
.bx-col{position:absolute;inset:0 18% 0 8%;display:flex;flex-direction:column;transform:perspective(1400px) rotateY(-8deg);transform-style:preserve-3d;transform-origin:50% 50%}
.bx-layer{position:relative;flex:var(--f) 1 0;min-height:0;transform-style:preserve-3d;transform:translateX(var(--dx,0))}
.bx-layer:nth-child(2){--dx:-3px}.bx-layer:nth-child(3){--dx:2px}.bx-layer:nth-child(4){--dx:-2px}.bx-layer:nth-child(5){--dx:3px}.bx-layer:nth-child(6){--dx:-1px}
.bx-face{position:absolute;inset:0;overflow:hidden;background:#3a3631;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.45)}
.bx-face img{width:100%;height:100%;object-fit:cover;transition:filter .25s var(--ease)}
.bx-side{position:absolute;top:0;bottom:0;left:100%;width:110px;overflow:hidden;transform-origin:0 50%;transform:rotateY(90deg);background:#2a2724}
.bx-side img{width:100%;height:100%;object-fit:cover;filter:brightness(.52) saturate(.85)}
.bx-tag{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;color:var(--white);background:rgba(22,25,30,.72);padding:3px 6px;pointer-events:none}
.bx-npv{position:absolute;left:5%;right:15%;height:0;border-top:1.5px dashed #9fc3e6;pointer-events:none;z-index:2}
.bx-npv span{position:absolute;right:0;top:-22px;font-family:var(--mono);font-size:.6875rem;color:#bcd6ee;white-space:nowrap}
.bx-shadow{position:absolute;left:6%;right:12%;bottom:-26px;height:34px;background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.65),rgba(0,0,0,0));filter:blur(4px);pointer-events:none}
.bx[data-active] .bx-face img{filter:brightness(.62) saturate(.8)}
.bx .bx-layer.is-on .bx-face img{filter:none}
.bx .bx-layer.is-on .bx-face{box-shadow:inset 0 0 0 2px var(--sand)}
.bx-probe{position:absolute;left:0;right:0;top:0;height:0;z-index:3;outline:none;cursor:ns-resize}
.bx-probe.is-anim{transition:top .25s var(--ease)}
.bx-probe__line{position:absolute;left:2%;right:6%;top:-1px;height:2px;background:var(--sand);box-shadow:0 0 0 1px rgba(22,25,30,.5)}
.bx-probe__handle{position:absolute;left:0;top:-15px;width:30px;height:30px;border-radius:50%;background:var(--sand);border:2px solid var(--ink);box-shadow:0 2px 10px rgba(0,0,0,.5);touch-action:none}
.bx-probe__handle::before,.bx-probe__handle::after{content:"";position:absolute;left:8px;right:8px;height:1.5px;background:var(--ink)}
.bx-probe__handle::before{top:10px}.bx-probe__handle::after{bottom:10px}
.bx-probe__read{position:absolute;right:0;top:-30px;font-family:var(--mono);font-size:.75rem;color:var(--ink);background:var(--sand);padding:3px 7px;white-space:nowrap}
.bx-probe:focus-visible .bx-probe__handle{outline:3px solid var(--white);outline-offset:3px}
.bx-hit{position:absolute;inset:0;cursor:pointer;z-index:1}
.bx-corecol{display:flex;flex-direction:column;min-width:0}
.bx-cores{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:space-between;gap:6px;flex:1}
.bx-cores__h{font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:#8f97a3;margin:0 0 4px}
.bx-core{display:block;width:100%;text-align:left;background:none;border:1px solid transparent;padding:6px;color:#c8cdd5;font:inherit;cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.bx-core img{width:100%;aspect-ratio:4/1;object-fit:contain;transition:transform .2s var(--ease)}
.bx-core>span{display:flex;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:.6875rem;margin-top:4px}
.bx-core:hover{border-color:rgba(255,255,255,.22)}
.bx-core:hover img{transform:scale(1.03)}
.bx-core.is-on{border-color:var(--sand);background:rgba(209,190,138,.08)}
.bx-core.is-on>span{color:var(--sand)}
.bx-core b{font-weight:500}
/* log sheet */
.bx-sheet{background:var(--paper);color:var(--text);padding:clamp(20px,3vw,36px);border-top:4px solid var(--sand);min-height:100%}
.bx-sheet__top{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--slate);border-bottom:1px solid var(--rule-strong);padding-bottom:10px}
.bx-sheet__body{transition:opacity .125s var(--ease)}
.bx-sheet__body.is-fading{opacity:0}
.bx-row{display:grid;grid-template-columns:7.5em 1fr;border-bottom:1px solid var(--rule)}
.bx-row>*{padding:12px 0}
.bx-row dt{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--slate);border-right:1px solid var(--rule);padding-right:10px}
.bx-row dd{margin:0;padding-left:14px}
.bx-sheet dl{margin:0}
.bx-depth{font-family:var(--mono);font-size:1rem;color:var(--ink)}
.bx-name{font-family:var(--serif);font-size:clamp(1.75rem,1.4rem + 1.2vw,2.5rem);line-height:1.05;color:var(--ink)}
.bx-sheet ul{margin:0;padding-left:1.1em}
.bx-sheet li{margin-bottom:3px}
.bx-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:2px}
.bx-projects a{text-decoration:none;font-size:var(--fs-xs);line-height:1.3;color:var(--ink)}
.bx-projects .fig__img{aspect-ratio:4/3;margin-bottom:6px}
.bx-projects a:hover span{text-decoration:underline;text-underline-offset:3px}
.bx-sheet__note{margin:14px 0 0}
.bx-help{font-family:var(--mono);font-size:.6875rem;color:#8f97a3;margin-top:10px}
/* static fallback table */
.bx-table{margin-top:clamp(36px,5vw,56px);border-top:1px solid rgba(255,255,255,.22)}
.bx-table summary{cursor:pointer;padding:14px 0;font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:#c8cdd5}
.bx-table summary:hover{color:var(--sand)}
.bx-tbl-wrap{overflow-x:auto}
.bx-tbl{width:100%;min-width:720px;border-collapse:collapse;font-size:var(--fs-sm);color:#d9dce1}
.bx-tbl th{text-align:left;font-family:var(--mono);font-size:var(--fs-mono);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#8f97a3;border-bottom:1px solid rgba(255,255,255,.3);padding:10px 14px 10px 0}
.bx-tbl td{vertical-align:top;border-bottom:1px solid rgba(255,255,255,.12);padding:12px 14px 12px 0}
.bx-tbl td:first-child{font-family:var(--mono);white-space:nowrap;color:var(--sand)}
.bx-tbl td:nth-child(2){font-family:var(--serif);font-size:1.125rem;color:var(--white)}
.bx-tbl a{color:inherit}
/* stage on small screens */
@media (max-width:599px){
  .bx-stage{grid-template-columns:38px minmax(0,1fr) 34%}
  .bx-colwrap{height:460px}
  .bx-col{inset:0 14% 0 6%}
  .bx-side{width:70px}
  .bx-projects{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* teaser (no interaction) */
.bx.bx--teaser{grid-template-columns:1fr;margin-top:0;gap:16px}
.bx--teaser .bx-stage{grid-template-columns:40px minmax(0,1fr) minmax(0,.9fr)}
.bx--teaser .bx-colwrap{height:clamp(380px,40vw,500px)}
.bx--teaser .bx-core{cursor:default}
.bx--teaser .bx-core:hover{border-color:transparent}
.bx--teaser .bx-core:hover img{transform:none}
/* reduced motion + capture: no transitions anywhere */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.capture *,.capture *::before,.capture *::after{transition:none!important;animation:none!important}
