/* GSP service page — final template (film rigging first).
   Visual language of the home page: #050505, gold #ffb700, Syne / Inter / JetBrains Mono,
   hairline grids, truss motif, mono eyebrows. No external resources. Works without JS. */

:root{
  --bg:#050505;--fg:#f2f2f2;--card:#0d0d0d;--gold:#ffb700;--gold-ink:#050505;
  --muted:#8c8c8c;--muted2:#a6a6a6;--border:#1f1f1f;
  --syne:"Syne",sans-serif;--inter:"Inter",sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;
  --pad-x:1.5rem;--ease:cubic-bezier(.16,1,.3,1);
  --proof-h:13rem;
  --truss:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='26'%3E%3Cg fill='none' stroke='%23ffb700' stroke-width='1.3'%3E%3Cline x1='0' y1='4' x2='40' y2='4'/%3E%3Cline x1='0' y1='22' x2='40' y2='22'/%3E%3Cline x1='0' y1='4' x2='0' y2='22'/%3E%3Cline x1='0' y1='22' x2='40' y2='4'/%3E%3Cline x1='0' y1='4' x2='40' y2='22'/%3E%3C/g%3E%3C/svg%3E");
}
@media (min-width:768px){:root{--pad-x:3rem;--proof-h:7.5rem}}
@media (min-width:1024px){:root{--pad-x:4.5rem;--proof-h:5.75rem}}
@media (min-width:1280px){:root{--pad-x:6rem}}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--bg);overflow-x:clip;scroll-padding-top:5rem}
@media (prefers-reduced-motion:no-preference){html:focus-within{scroll-behavior:smooth}}
body{background:var(--bg);color:var(--fg);font-family:var(--inter);font-weight:300;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,video{max-width:100%;display:block}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
strong{font-weight:500;color:var(--fg)}
::selection{background:var(--gold);color:var(--gold-ink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.px{padding-left:var(--pad-x);padding-right:var(--pad-x)}
.wrap{max-width:80rem;margin:0 auto;width:100%}
.skip{position:fixed;left:1rem;top:-4rem;z-index:10001;background:var(--gold);color:var(--gold-ink);font:400 11px/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;padding:.8rem 1.2rem;transition:top .25s}
.skip:focus{top:1rem;outline:none}
main:focus{outline:none}
.dot-g{color:var(--gold);font-weight:inherit}

/* grain + progress (as on home) */
.grain{position:fixed;inset:0;z-index:35;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:60;background:var(--gold);transform-origin:0 50%;transform:scaleX(var(--p,0))}
@supports (animation-timeline:scroll()){
  .progress{animation:prog linear both;animation-timeline:scroll(root)}
  @keyframes prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}

/* ---------- shared type ---------- */
.eyebrow,.h1-kicker,.proof-lab{display:flex;align-items:center;gap:1rem;font:300 .75rem/1.3 var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.eyebrow{margin-bottom:1.25rem}
.eyebrow .line,.h1-kicker .line,.proof-lab .line{flex:0 0 3rem;height:1px;background:#ffb70066}
.sec-title{font-family:var(--syne);font-weight:700;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.05;letter-spacing:-.02em;text-wrap:balance}
.sec-lead{color:var(--muted2);max-width:34rem;font-size:clamp(.95rem,1.2vw,1.05rem);line-height:1.7;margin-top:1rem}
.sec-head{display:grid;gap:.5rem;margin-bottom:2.5rem}
@media (min-width:1024px){
  .sec-head{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:end;gap:3rem;margin-bottom:3.25rem}
  .sec-head .sec-lead{justify-self:end;margin-top:0}
}
.fig-no{font:300 10px/1 var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}
.text-link{font:300 .75rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg);border-bottom:1px solid #ffb70066;padding-bottom:.35rem;transition:color .3s,border-color .3s}
.text-link:hover{color:var(--gold);border-color:var(--gold)}
.media-rights{position:absolute;top:.6rem;left:.6rem;z-index:2;max-width:calc(100% - 1.2rem);pointer-events:none;font:400 9px/1.35 var(--mono);letter-spacing:.08em;color:#ffffffd6;background:#000000b8;border-radius:2px;padding:4px 8px;text-shadow:0 1px 2px #000c}

/* ---------- buttons (home: .btn-outline / .btn-fill / .btn-reel) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:3rem;padding:.9rem 1.6rem;font:300 .8rem/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;border:1px solid #ffb7004d;color:var(--fg);transition:background .5s,color .5s,border-color .5s;white-space:nowrap}
.btn .arrowline{width:1rem;height:1px;background:currentColor;transition:width .4s var(--ease)}
.btn:hover .arrowline{width:1.6rem}
.btn-outline:hover{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}
.btn-fill{background:var(--gold);color:var(--gold-ink);border-color:var(--gold);position:relative;overflow:hidden;font-weight:400}
@property --glintX{syntax:"<percentage>";inherits:false;initial-value:-30%}
.btn-fill::after{content:"";position:absolute;inset:0;pointer-events:none;--glintX:-30%;background:linear-gradient(115deg,transparent calc(var(--glintX) - 14%),#fff6 var(--glintX),transparent calc(var(--glintX) + 14%));transition:--glintX .85s}
.btn-fill:hover::after{--glintX:130%;opacity:0;transition:--glintX .85s,opacity .5s .2s}
.btn-fill:hover{background:transparent;color:var(--fg);border-color:#ffb70080}
.btn-lg{min-height:3.5rem;padding:1.1rem 2rem;font-size:.85rem}
.btn-wa{background:#050505a6;border-color:#ffffff33;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);gap:.6rem;padding:.8rem 1.1rem}
.btn-wa .wa{width:18px;height:18px;color:#25d366;flex:0 0 auto}
.btn-wa .wa-n{font-weight:400;color:var(--fg);letter-spacing:.08em}
.btn-wa .wa-l{color:var(--muted2)}
.btn-wa:hover{border-color:var(--gold);background:#050505d9}
.btn-wa:hover .wa-n{color:var(--gold)}
.btn-reel{display:inline-flex;align-items:center;gap:.8rem;padding:.4rem .3rem;font:300 .8rem/1.2 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--fg);transition:color .4s}
.btn-reel small{font-size:.7rem;color:var(--muted2);letter-spacing:.12em;margin-left:.3rem}
.btn-reel .play{flex:0 0 auto;width:2.9rem;height:2.9rem;border:1px solid #ffb70066;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#05050566;transition:background .4s,border-color .4s}
.btn-reel .play svg{width:14px;height:14px;margin-left:2px;color:var(--gold);transition:color .4s}
.btn-reel:hover{color:var(--gold)}
.btn-reel:hover .play{background:var(--gold);border-color:var(--gold)}
.btn-reel:hover .play svg{color:var(--gold-ink)}
.magnetic{will-change:transform}

/* ---------- header ---------- */
header.top{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;transition:border-color .6s}
header.top::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(#050505d9,#05050500);transition:background .6s}
header.top.scrolled{border-bottom-color:#1f1f1f99}
header.top.scrolled::before{background:#050505f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
@supports (animation-timeline:scroll()){
  header.top::before{animation:hdr linear both;animation-timeline:scroll(root);animation-range:0 120px}
  @keyframes hdr{to{background-color:#050505f0}}
}
.nav-inner{display:grid;grid-template-columns:auto 1fr;align-items:center;height:4rem;gap:1rem}
.logo{justify-self:start;display:inline-flex}
.logo img{height:2.75rem;width:auto;opacity:.92;transition:opacity .4s}
.logo:hover img{opacity:1}
nav.links{display:none;gap:2.25rem}
nav.links a{position:relative;font:300 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#b5b5b5;transition:color .3s;padding:.5rem 0}
nav.links a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease)}
nav.links a:hover{color:var(--fg)}
nav.links a:hover::after,nav.links a.active::after{transform:scaleX(1)}
nav.links a.active{color:var(--gold)}
.nav-right{display:flex;align-items:center;justify-content:flex-end;gap:.8rem}
.lang{display:none;align-items:center;gap:.45rem;font:300 11px/1 var(--mono);letter-spacing:.2em;color:#b5b5b5}
.lang .on{color:var(--gold)}
.lang .sep{opacity:.35}
.lang a{padding:.6rem .2rem;transition:color .3s}
.lang a:hover{color:var(--fg)}
.nav-cta{display:inline-flex;align-items:center;gap:.45rem;min-height:2.6rem;font:400 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;background:var(--gold);color:var(--gold-ink);border:1px solid var(--gold);padding:.7rem .95rem;white-space:nowrap;transition:background .4s,color .4s}
.nav-cta:hover{background:transparent;color:var(--gold)}
@media (min-width:380px){.lang{display:flex}}
@media (min-width:768px){.logo img{height:3.25rem}.nav-cta{padding:.75rem 1.15rem}.nav-right{gap:1.1rem}}
@media (min-width:1024px){
  .nav-inner{grid-template-columns:1fr auto 1fr}
  nav.links{display:flex}
}
@media (min-width:1024px) and (max-width:1199px){nav.links{gap:1.6rem}}

/* mobile menu: native <details>, no JS needed */
.mnav{display:block}
.mnav summary{list-style:none;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;color:#cfcfcf;cursor:pointer;border:1px solid #ffffff1f;border-radius:999px}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary svg{width:18px;height:18px}
.mnav .i-close,.mnav[open] .i-open{display:none}
.mnav[open] .i-close{display:block}
.mnav-panel{position:fixed;inset:0;z-index:-1;background:#050505;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:6rem var(--pad-x) 3rem}
.mnav-panel nav{display:flex;flex-direction:column;align-items:center;gap:1.05rem}
.mnav-panel nav a{font:700 1.875rem/1.1 var(--syne);text-transform:uppercase;color:#f2f2f2cc;transition:color .3s}
.mnav-panel nav a:hover{color:var(--gold)}
.mnav-lang a{font:300 11px/1 var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--muted2);border-bottom:1px solid #ffb70059;padding-bottom:.3rem}
.mnav-foot{position:absolute;bottom:2.5rem;font:300 10px/1 var(--mono);letter-spacing:.3em;text-transform:uppercase;color:#8c8c8c}
body:has(.mnav[open]){overflow:hidden}
body:has(.mnav[open]) .dock{display:none}
@media (min-width:1024px){.mnav{display:none}}

/* ---------- 01 cover ---------- */
.cover{position:relative;height:calc(100svh - var(--proof-h));min-height:35rem;max-height:70rem;overflow:hidden;background:#0a0a0a;container-type:size;isolation:isolate}
.cover-media,.cover-anno{position:absolute;left:50%;top:32%;width:max(100cqw,133.56cqh);aspect-ratio:1600/1198;transform:translate(-50%,-32%)}
.cover-media{z-index:-3}
.cover-anno{pointer-events:none}
.cover-media picture,.cover-media img{width:100%;height:100%}
.cover-media img{object-fit:cover;filter:contrast(1.06) saturate(.92) brightness(.95)}
.cover-shade{position:absolute;inset:0;z-index:-2;background:
  linear-gradient(180deg,#050505f2 0%,#050505c7 15%,#05050566 30%,#05050500 42%,#05050500 58%,#05050599 70%,#050505eb 84%,#050505 100%),
  linear-gradient(90deg,#05050573 0%,#05050500 45%)}
@media (max-width:767px){.cover-shade{background:linear-gradient(180deg,#050505f0 0%,#050505c2 22%,#05050559 32%,#05050500 38%,#05050500 55%,#050505b3 63%,#050505f0 72%,#050505 100%)}}
.grid-overlay{position:absolute;inset:0;z-index:-1;opacity:.035;background-image:linear-gradient(#f2f2f2 1px,transparent 1px),linear-gradient(90deg,#f2f2f2 1px,transparent 1px);background-size:100px 100px;pointer-events:none}
.corner.tr{display:none;position:absolute;top:5.25rem;right:1.25rem;width:1.75rem;height:1.75rem;border-top:1px solid #ffb70059;border-right:1px solid #ffb70059}
.cover-inner{position:relative;height:100%;display:grid;grid-template-rows:auto 1fr auto auto;padding-top:4.9rem;padding-bottom:1rem}
.cover-top{align-self:start}
.crumbs{display:none;flex-wrap:wrap;gap:.55rem;font:300 10px/1.6 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:#bdbdbd;margin-bottom:1rem}
.crumbs a{transition:color .3s}
.crumbs a:hover{color:var(--gold)}
.crumbs span[aria-hidden]{color:#ffb70080}
.crumbs [aria-current]{color:var(--fg)}
.h1-kicker{margin-bottom:.75rem;font-size:.7rem}
.h1-kicker .line{flex-basis:2rem}
h1{font-family:var(--syne);font-weight:800;font-size:clamp(2.45rem,min(7vw,9.4svh),6.25rem);line-height:.94;letter-spacing:-.03em}
.h1-l{display:block;overflow:hidden;padding:.04em 0 .1em;margin-bottom:-.12em}
.h1-l>span{display:inline-block}
html[lang="cs"] h1{line-height:1} /* CZ: háček/čárka nesmí narážet do dotahů g/y z řádku nad ním */
.br-m{display:inline}
@media (min-width:768px){.br-m{display:none}.crumbs{display:flex}.h1-kicker{font-size:.75rem}.h1-kicker .line{flex-basis:3rem}}

.anno{position:absolute;left:var(--x);top:var(--y);display:flex;align-items:center;transform:translate(-4px,-4px);pointer-events:none}
.anno .dot{width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #ffb70033,0 0 18px #ffb70099;flex:0 0 auto}
.anno .lead-line{width:2.25rem;height:1px;background:linear-gradient(90deg,var(--gold),#ffb70066);flex:0 0 auto}
.anno b{font:400 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg);background:#050505c4;border:1px solid #ffb70059;padding:.45rem .6rem;white-space:nowrap}
.anno.r{flex-direction:row-reverse;transform:translate(calc(-100% + 5px),-4px)}
.anno.r .lead-line{background:linear-gradient(270deg,var(--gold),#ffb70066)}
.d-only{display:none}
@media (min-width:768px){.d-only{display:flex}}
/* the crane-sling label only where the headline cannot reach it */
@media (min-width:768px) and (max-height:1000px){.anno.a1{display:none}}
@media (max-width:767px){
  .anno.a3{left:var(--xm,var(--x));top:var(--ym,var(--y));flex-direction:row-reverse;transform:translate(calc(-100% + 5px),-4px)}
  .anno.a3 .lead-line{background:linear-gradient(270deg,var(--gold),#ffb70066);width:1.5rem}
}

.cover-bottom{display:grid;gap:.85rem;align-self:end;padding-bottom:.9rem}
.lead{color:#cfcfcf;max-width:36rem;font-size:clamp(.88rem,1.2vw,1.08rem);line-height:1.55}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .9rem}
.cta-row .btn-fill{flex:1 1 0;min-width:0;padding-left:.9rem;padding-right:.9rem;letter-spacing:.1em;gap:.55rem}
.btn-wa{flex:0 0 auto;width:3rem;height:3rem;min-height:3rem;padding:0;border-radius:999px}
.btn-wa .wa-l,.btn-wa .wa-n{display:none}
.btn-wa .wa{width:20px;height:20px}
.reel-l{display:none}
.fig-link{display:none;flex-wrap:wrap;align-items:baseline;gap:.35rem .8rem;font:300 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
.fig-link .fig-t{font:700 .85rem/1.2 var(--syne);letter-spacing:0;text-transform:none;color:var(--fg)}
.fig-link .fig-go{color:var(--gold);transition:letter-spacing .4s}
.fig-link:hover .fig-t{color:var(--gold)}
.fig-link:hover .fig-go{letter-spacing:.24em}

.cover-strip{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid #ffffff1f;padding-top:.8rem}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.stats>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:.3rem;padding:0 .45rem;border-left:1px solid #ffffff1a}
.stats>div:first-child{padding-left:0;border-left:0}
.stats dt{font:300 9px/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted2)}
.stats dd{font:800 clamp(1.6rem,3.4vw,3.1rem)/1 var(--syne);letter-spacing:-.02em;white-space:nowrap}
.stats dd i{font-style:normal;color:var(--gold)}
.case-tile{position:relative;display:none;flex-direction:column;justify-content:flex-end;gap:.25rem;padding:0 0 0 .6rem;border-left:1px solid #ffffff1a;transition:color .3s}
.case-tile .ct-ico{width:1.7rem;height:1.7rem;border:1px solid #ffb70080;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:.2rem;transition:background .4s,color .4s}
.case-tile .ct-ico svg{width:12px;height:12px}
.case-tile .ct-t{font:700 .72rem/1.2 var(--syne);color:var(--fg)}
.case-tile .ct-s{display:none;font:300 9px/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted2)}
.case-tile:hover .ct-ico{background:var(--gold);color:var(--gold-ink)}
.case-tile:hover .ct-t{color:var(--gold)}
.certified{display:none;align-items:center;gap:.7rem;font:300 10px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#d6d6d6}
.certified svg{flex:0 0 auto;width:1.6rem;height:1.6rem;color:var(--gold)}

@media (min-width:768px){
  .corner.tr{display:block;right:2rem}
  .cover-inner{padding-top:5.75rem;padding-bottom:1.5rem}
  .cover-bottom{gap:1rem}
  .cta-row .btn-fill{flex:0 0 auto;padding-left:1.6rem;padding-right:1.6rem;letter-spacing:.15em;gap:.75rem}
  .btn-wa{width:auto;height:auto;min-height:3rem;padding:.8rem 1.1rem;font-size:.75rem;border-radius:0}
  .btn-wa .wa-l,.btn-wa .wa-n{display:inline}
  .btn-wa .wa{width:18px;height:18px}
  .anno.a2{display:none}
  .cover-strip{grid-template-columns:auto auto;justify-content:start;gap:0;padding-top:1.1rem}
  .stats{grid-template-columns:repeat(3,auto)}
  .stats>div{padding:0 1.6rem}
  .case-tile{display:flex;padding:0 1.6rem}
  .case-tile .ct-t{font-size:.9rem}
  .case-tile .ct-s{display:block}
  .certified{display:flex;grid-column:1/-1;margin-top:.9rem}
}
@media (min-width:1024px){
  .reel-l{display:inline}
  .anno.a2{display:flex}
  .fig-link{display:flex}
  .cover-bottom{grid-template-columns:minmax(0,1fr) auto;column-gap:3rem;align-items:end}
  .lead{grid-column:1;grid-row:1}
  .cta-row{grid-column:1;grid-row:2}
  .fig-link{order:0;grid-column:2;grid-row:1/3;justify-self:end;flex-direction:column;align-items:flex-end;text-align:right;gap:.35rem;border-right:1px solid #ffb70066;padding-right:1rem}
  .cover-strip{grid-template-columns:auto auto minmax(0,1fr);align-items:center}
  .certified{grid-column:auto;margin-top:0;justify-self:end;max-width:24rem;text-align:left}
}
@media (min-width:1024px) and (max-width:1279px){.stats>div,.case-tile{padding:0 1.1rem}}

/* hero intro animation (CSS only, no JS dependency) */
@media (prefers-reduced-motion:no-preference){
  .h1-l>span{animation:rise 1.1s var(--ease) both;animation-delay:calc(.12s + var(--i,0) * .11s)}
  .h1-kicker{animation:fadeUp .9s var(--ease) both}
  .crumbs{animation:fade 1s ease both}
  .cover-media img{animation:settle 2.4s var(--ease) both}
  .cover .in{animation:fadeUp .9s var(--ease) both;animation-delay:calc(.45s + var(--i,0) * .09s)}
  .anno .lead-line{animation:draw .6s var(--ease) both;animation-delay:calc(1.1s + var(--d,0) * .18s);transform-origin:0 50%}
  .anno.r .lead-line{transform-origin:100% 50%}
  .anno .dot{animation:pulse 2.6s ease-in-out infinite;animation-delay:calc(1.7s + var(--d,0) * .3s)}
  .proof .pc{animation:fadeUp .8s var(--ease) both;animation-delay:calc(.75s + var(--i,0) * .08s)}
}
@media (prefers-reduced-motion:no-preference) and (max-width:767px){.anno.a3 .lead-line{transform-origin:100% 50%}}
@keyframes rise{from{transform:translateY(112%) rotate(4deg)}to{transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes settle{from{transform:scale(1.035)}to{transform:none}}
@keyframes draw{from{transform:scaleX(0)}to{transform:none}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px #ffb70033,0 0 18px #ffb70099}50%{box-shadow:0 0 0 9px #ffb70000,0 0 26px #ffb700cc}}

/* ---------- 02 proof bar: logos tied to the shows ---------- */
.proof{min-height:var(--proof-h);background:#070707;border-bottom:1px solid var(--border);display:flex;align-items:center}
.proof>.px{width:100%}
.proof-in{display:grid;gap:.6rem;padding:.8rem 0}
.proof-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.proof-all{font:300 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg);border-bottom:1px solid #ffb70066;padding:.45rem 0 .3rem;white-space:nowrap}
.proof-all:hover{color:var(--gold)}
.proof-lab{font-size:9.5px;letter-spacing:.22em;font-weight:300;gap:.7rem}
.proof-lab .line{flex-basis:1.5rem}
.proof-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
.pc{background:#070707;display:flex;flex-direction:column;justify-content:flex-start;gap:.35rem;padding:.55rem .65rem;min-width:0}
.pc:nth-child(2){--i:1}.pc:nth-child(3){--i:2}.pc:nth-child(4){--i:3}
.pc-logos{display:flex;align-items:center;gap:.6rem;height:1.4rem}
.pc-logos img{width:auto;height:1.2rem;filter:grayscale(1) brightness(0) invert(.88);opacity:.9}
.pc-logos .lg-prime{height:2rem;margin:-.3rem 0}
.pc-logos .lg-hbo{height:1.45rem}
.pc-logos .lg-mtv{height:1.3rem}
.pc-logos .lg-cbs{height:1.15rem}
.pc-logos .lg-pp{height:1.4rem}
.pc-shows{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .7rem;min-width:0}
.pc-shows a{font:700 .78rem/1.3 var(--syne);color:#e8e8e8;border-bottom:1px solid #ffb70040;transition:color .3s,border-color .3s}
.pc-shows a::after{content:" ↗";color:var(--gold);font-weight:400}
.pc-shows a:hover{color:var(--gold);border-color:var(--gold)}
.pc-note{font:300 9px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
@media (min-width:768px){
  .proof-all{display:none}
  .proof-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pc{padding:.75rem 1rem}
}
@media (min-width:1024px){
  .proof-in{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2rem;padding:.75rem 0}
  .proof-lab{flex-direction:column;align-items:flex-start;gap:.6rem;max-width:7rem;line-height:1.5}
  .proof-grid{border:0;background:none;gap:0}
  .pc{flex-direction:row;align-items:center;gap:.9rem;padding:.4rem 1.25rem;border-left:1px solid var(--border)}
  .pc-logos{height:2.4rem;flex:0 0 auto}
  .pc-logos img{height:1.5rem}
  .pc-logos .lg-prime{height:2.9rem;margin:0}
  .pc-logos .lg-hbo{height:1.9rem}
  .pc-logos .lg-mtv{height:1.75rem}
  .pc-logos .lg-cbs{height:1.5rem}
  .pc-logos .lg-pp{height:1.8rem}
  .pc-shows{flex-direction:column;gap:.2rem}
  .pc-shows a{font-size:.85rem}
}

/* ---------- reveal (JS adds .pre only to elements below the fold, so nothing flashes) ---------- */
.rv.pre{opacity:0;transform:translateY(34px)}
.rv.pre.inview{opacity:1;transform:none;transition:opacity .9s ease,transform 1.1s var(--ease)}

/* ---------- 03 what we rig: photo bento ---------- */
.rig{padding-top:4.5rem;padding-bottom:4.5rem}
.bento{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.bc{position:relative;display:flex;flex-direction:column;background:#0a0a0a;border:1px solid var(--border);transition:border-color .5s,background .5s}
.bc:hover{border-color:#ffb70040;background:var(--card)}
.bc-media{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;background:var(--card)}
.bc-media img,.bc-media picture{width:100%;height:100%}
.bc-media img{object-fit:cover;filter:brightness(.93);transition:transform 1.2s var(--ease),filter .6s}
.bc:hover .bc-media img{transform:scale(1.04);filter:none}
.bc-c .bc-media img{object-position:50% 45%}
.bc-body{position:relative;display:flex;flex-direction:column;flex:1;padding:1.35rem 1.35rem 1.4rem}
.bc-no{position:absolute;top:1.4rem;right:1.35rem;font:300 10px/1 var(--mono);letter-spacing:.3em;color:#a6a6a6}
.bc h3{font:700 clamp(1.15rem,1.7vw,1.4rem)/1.2 var(--syne);text-wrap:balance;margin-bottom:.6rem;padding-right:2.5rem;transition:color .5s}
.bc:hover h3{color:var(--gold)}
.bc-body>p:not(.seen){color:var(--muted2);font-size:.92rem;line-height:1.65}
.seen{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .9rem;margin-top:auto;padding-top:1.1rem}
.seen span{font:300 9.5px/1 var(--mono);letter-spacing:.25em;text-transform:uppercase;color:#dcae45;margin-right:.1rem}
.seen a{font:300 11px/1.4 var(--mono);letter-spacing:.06em;color:var(--fg);border-bottom:1px solid #ffb70059;padding:.35rem 0 2px;transition:color .3s,border-color .3s}
.seen a::after{content:" ↗";color:var(--gold)}
.seen a:hover{color:var(--gold);border-color:var(--gold)}
.also{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:2rem}
.also span{font:300 10px/1 var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--muted2);width:100%;margin-bottom:.4rem}
.also a{font:300 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--border);border-radius:999px;padding:.8rem 1.05rem;color:#dedede;transition:border-color .3s,color .3s,background .3s}
.also a i{font-style:normal;color:var(--gold);margin-left:.25rem}
.also a:hover{border-color:#ffb70080;color:var(--gold);background:#ffb7000a}
@media (max-width:767px){
  /* phones: the six tiles become one swipeable row, so the page stays short */
  .bento{display:flex;gap:.85rem;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin:0 calc(var(--pad-x) * -1);padding:0 var(--pad-x) .9rem;scroll-padding-inline:var(--pad-x);scrollbar-width:thin;scrollbar-color:#ffb70066 transparent}
  .bc{flex:0 0 min(80vw,21rem);scroll-snap-align:start}
  .bc-body{padding:1.1rem 1.1rem 1.15rem}
  .bc-no{top:1.15rem;right:1.1rem}
  .bc-body>p:not(.seen){font-size:.88rem}
}
.bento-hint{display:none;align-items:center;gap:.8rem;font:300 10px/1 var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--muted2);margin-top:.6rem}
.bento-hint i{width:2.5rem;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
@media (max-width:767px){.bento-hint{display:flex}.sp-copy{order:-1}}
@media (min-width:768px){
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
  .bc-c{grid-column:1/-1}
  .bc-c .bc-media{aspect-ratio:21/8}
}
@media (min-width:1024px){
  .rig{padding-top:7.5rem;padding-bottom:7rem}
  .bento{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem}
  .bc-a{grid-column:span 7}
  .bc-b{grid-column:span 5}
  .bc-a .bc-media,.bc-b .bc-media{aspect-ratio:auto;height:clamp(16rem,25vw,23rem)}
  .bc-c{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)}
  .bc-c .bc-media{aspect-ratio:auto;min-height:19rem;height:100%}
  .bc-c .bc-body{justify-content:center;padding:2.25rem 2.25rem 2rem}
  .bc-c .seen{margin-top:1.4rem}
  .bc-d,.bc-e,.bc-f{grid-column:span 4}
  .bc-d .bc-media,.bc-e .bc-media,.bc-f .bc-media{aspect-ratio:3/2}
  .bc-body{padding:1.6rem 1.7rem 1.6rem}
  .also span{width:auto;margin:0 .6rem 0 0}
}

/* ---------- 04 field notes spread ---------- */
.spread{padding-top:4.5rem;padding-bottom:4.5rem;border-top:1px solid var(--border);position:relative}
.spread-grid{display:grid;gap:2.25rem}
.sp-media{position:relative}
.sp-main{position:relative}
.sp-main .img-link{display:block;overflow:hidden}
.sp-main img{width:100%;height:auto;aspect-ratio:1600/892;object-fit:cover;transition:transform 1.2s var(--ease)}
.sp-main .img-link:hover img{transform:scale(1.035)}
.sp-main figcaption,.sp-inset figcaption{font:300 10px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted2);margin-top:.7rem}
.sp-main figcaption .fig-no,.sp-inset figcaption .fig-no{margin-right:.5rem}
.sp-inset{width:64%;margin:1.25rem 0 0 auto}
.sp-inset img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 30%}
.sp-copy .body{color:var(--muted2);font-size:clamp(.95rem,1.15vw,1.05rem);line-height:1.75;margin-top:1.1rem;max-width:34rem}
.spec{margin-top:1.6rem;border-top:1px solid var(--border)}
.spec>div{display:grid;grid-template-columns:6.5rem 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}
.spec dt{font:300 10px/1.7 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:#dcae45}
.spec dd{font-size:.92rem;color:#dedede;line-height:1.5}
.sp-links{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;margin-top:1.8rem}
@media (min-width:768px){
  .sp-media{padding-bottom:6rem}
  .sp-inset{position:absolute;right:-1rem;bottom:0;width:44%;margin:0;background:var(--bg);padding:6px;box-shadow:0 20px 50px #000c}
  .sp-inset figcaption{margin-top:.5rem;padding:0 .25rem .2rem}
  .sp-main figcaption{max-width:52%}
}
@media (min-width:1024px){
  .spread{padding-top:7.5rem;padding-bottom:7rem}
  .spread-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;align-items:center}
  .sp-media{grid-column:1/span 7;padding-bottom:7rem}
  .sp-inset{right:-3.5rem;width:46%}
  .sp-copy{grid-column:9/span 4}
}

/* ---------- 05 shows: poster strip (mirrors the home showcase) ---------- */
.shows{padding-top:4.5rem;padding-bottom:4rem;border-top:1px solid var(--border)}
.shows-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.25rem 3rem;margin-bottom:2rem}
.br-d{display:none}
@media (min-width:1024px){.br-d{display:inline}}
.strip-ctrl{display:none;align-items:center;gap:.6rem}
@media (min-width:768px){.shows.ready .strip-ctrl{display:flex}}
.strip-btn{width:3rem;height:3rem;border:1px solid #ffb7004d;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--fg);transition:background .4s,color .4s,border-color .4s,opacity .3s}
.strip-btn svg{width:18px;height:18px}
.strip-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.strip-btn[disabled]{opacity:.3;pointer-events:none}
.strip{list-style:none;display:flex;gap:1.1rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad-x);padding:.25rem var(--pad-x) 1.25rem;scrollbar-width:thin;scrollbar-color:#ffb70066 transparent}
.strip::-webkit-scrollbar{height:4px}
.strip::-webkit-scrollbar-thumb{background:#ffb70066;border-radius:2px}
.strip:focus-visible{outline-offset:-2px}
@media (min-width:1360px){.strip{padding-left:max(var(--pad-x),calc((100vw - 80rem) / 2));scroll-padding-inline:max(var(--pad-x),calc((100vw - 80rem) / 2))}}
.sh{flex:0 0 clamp(11.25rem,44vw,16.5rem);scroll-snap-align:start;display:flex;flex-direction:column}
.sh-card{display:block}
.sh-img{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--card);border:1px solid var(--border);transition:border-color .5s}
.sh-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .6s;filter:brightness(.94)}
.sh-img img.still{object-position:50% 35%}
.sh-img .media-rights{top:auto;bottom:.7rem;max-width:calc(100% - 4.2rem);font-size:8px}
.sh-go{position:absolute;right:.7rem;bottom:.7rem;width:2.4rem;height:2.4rem;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#050505b3;border:1px solid #ffb70066;color:var(--gold);transition:background .4s,color .4s,transform .4s}
.sh-card:hover .sh-img{border-color:#ffb70066}
.sh-card:hover .sh-img img{transform:scale(1.04);filter:none}
.sh-card:hover .sh-go{background:var(--gold);color:var(--gold-ink);transform:rotate(45deg)}
.sh-t{display:block;margin-top:.9rem;font:700 1.05rem/1.2 var(--syne);text-wrap:balance;transition:color .4s}
.sh-card:hover .sh-t{color:var(--gold)}
.sh-m{margin-top:.35rem;font:300 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
.sh-m .y{color:var(--gold);margin-right:.35rem}
.sh-s{margin-top:.35rem;font-size:.85rem;line-height:1.5;color:#bdbdbd}
.sh-s a{display:inline-block;margin-top:.3rem;font:300 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid #ffb70059;padding:.3rem 0 .2rem;white-space:nowrap}
.sh-s a:hover{border-color:var(--gold)}
.sh-all .sh-img{background:radial-gradient(120% 90% at 20% 10%,#17150d,#0a0a09 55%,#050505);border-color:#ffb70040}
.all-in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem;padding:1.25rem 1.25rem 4rem}
.all-n{font:800 clamp(4rem,9vw,6.5rem)/.9 var(--syne);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px #ffb700b3}
.all-k{font:300 10px/1 var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}
.all-t{font:700 1.1rem/1.2 var(--syne)}
.cr-note{margin-top:.75rem;font:300 10px/1.6 var(--mono);letter-spacing:.06em;color:#8f8f8f;max-width:60rem}
.beyond{margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--muted2);font-size:.95rem;line-height:1.85;max-width:58rem}
.beyond .bl{display:block;font:300 10px/1 var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem}
.beyond a:not(.text-link){color:var(--fg);border-bottom:1px solid #ffb70059;transition:color .3s,border-color .3s}
.beyond a:not(.text-link):hover{color:var(--gold);border-color:var(--gold)}
.beyond .text-link{margin-left:.5rem;white-space:nowrap}
@media (min-width:1024px){.shows{padding-top:7.5rem;padding-bottom:6rem}.strip{gap:1.5rem}}

/* ---------- 06 reel + quote (short band) ---------- */
.reel{position:relative;overflow:hidden;min-height:clamp(22rem,38vw,34rem);display:flex;align-items:center;isolation:isolate;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#0a0a0a}
.reel-poster,.reel-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.reel-video{z-index:-2;opacity:0;transition:opacity 1.2s ease}
.reel-video.ready{opacity:1}
.reel-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#050505 0%,#050505a6 18%,#05050580 50%,#050505b3 82%,#050505 100%),radial-gradient(70% 70% at 50% 50%,#05050599,#05050500 70%)}
.reel-tag{position:absolute;top:1.4rem;left:var(--pad-x);display:flex;align-items:center;gap:.6rem;font:300 10px/1 var(--mono);letter-spacing:.25em;text-transform:uppercase;color:#dcdcdc}
.reel-tag i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px #ffb700}
.reel-in{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.6rem;padding-top:3.5rem;padding-bottom:3rem}
.quote blockquote p{font:800 clamp(1.9rem,4.6vw,4.25rem)/1.02 var(--syne);letter-spacing:-.03em;max-width:18ch;margin:0 auto;text-wrap:balance;text-shadow:0 4px 40px #000a}
.quote figcaption{margin-top:1.2rem;font:300 11px/1 var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.btn-reel.big{background:#050505a6;border:1px solid #ffffff1f;border-radius:999px;padding:.45rem 1.35rem .45rem .45rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn-reel.big .play{width:3.1rem;height:3.1rem}
@media (prefers-reduced-motion:no-preference){.reel-tag i{animation:pulse 2.4s ease-in-out infinite}}

/* ---------- 07 process ---------- */
.process{padding-top:4.5rem;padding-bottom:4.5rem}
.steps{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:1px;background:var(--border);border:1px solid var(--border);position:relative}
.step{position:relative;display:flex;flex-direction:column;background:var(--bg);padding:1.6rem 1.4rem 1.4rem}
.st-no{font:300 11px/1 var(--mono);letter-spacing:.25em;color:var(--gold)}
.step h3{font:700 1.35rem/1.2 var(--syne);margin:.8rem 0 .55rem}
.step>p:not(.st-out){color:var(--muted2);font-size:.92rem;line-height:1.65}
.st-out{margin-top:auto;padding-top:1.1rem;min-height:5.4rem;font:700 .95rem/1.35 var(--syne);color:var(--fg)}
.st-out span{display:block;font:300 9.5px/1 var(--mono);letter-spacing:.25em;text-transform:uppercase;color:#dcae45;margin-bottom:.45rem;padding-top:1rem;border-top:1px dashed #ffb70040}
.recce{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:1.5rem;padding:1.25rem 1.4rem;border:1px solid #ffb70033;background:linear-gradient(90deg,#ffb7000d,#ffb70000 70%)}
.recce p{color:var(--muted2);font-size:.95rem;max-width:36rem}
.recce b{font:700 1.05rem/1.3 var(--syne);color:var(--fg);margin-right:.35rem}
@media (min-width:640px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){
  .process{padding-top:7.5rem;padding-bottom:7rem}
  .steps{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:2.25rem;overflow:visible}
  /* truss rail over the four steps */
  .steps::before{content:"";position:absolute;left:-1px;right:-1px;top:-2.25rem;height:26px;background:var(--truss) repeat-x 0 0/40px 26px;opacity:.45}
  .step::before{content:"";position:absolute;top:-2.05rem;left:1.4rem;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #ffb70026}
  .step{padding:2rem 1.6rem 1.6rem;min-height:19rem}
}

/* ---------- 08 contact ---------- */
.contact{position:relative;padding-top:4.5rem;padding-bottom:4.5rem;border-top:1px solid var(--border);background:radial-gradient(60% 60% at 85% 20%,#ffb7000f,#ffb70000 70%)}
.contact::before{content:"";position:absolute;left:0;right:0;top:0;height:26px;background:var(--truss) repeat-x 0 0/40px 26px;opacity:.12}
.ct-grid{display:grid;gap:2.5rem}
.contact h2{font:800 clamp(2.4rem,6vw,5.25rem)/.98 var(--syne);letter-spacing:-.03em;max-width:12ch}
.ct-copy .body{color:var(--muted2);max-width:32rem;margin-top:1.3rem;font-size:clamp(.95rem,1.2vw,1.05rem);line-height:1.75}
.ct-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.8rem}
.ct-note{margin-top:.9rem;font:300 10px/1.7 var(--mono);letter-spacing:.08em;color:#9a9a9a;max-width:30rem}
.sheet{position:relative;padding:1.8rem 1.4rem 1.2rem;background:#0a0a0acc;border:1px solid #ffffff0f}
.fa-c{position:absolute;width:12px;height:12px;border:1px solid #ffb70080;pointer-events:none}
.fa-c.tl{top:-1px;left:-1px;border-right:0;border-bottom:0}
.fa-c.tr{top:-1px;right:-1px;border-left:0;border-bottom:0}
.fa-c.bl{bottom:-1px;left:-1px;border-right:0;border-top:0}
.fa-c.br{bottom:-1px;right:-1px;border-left:0;border-top:0}
.sheet-k{font:300 10px/1 var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem}
.sheet ol{list-style:none;counter-reset:s}
.sheet li{counter-increment:s;display:grid;grid-template-columns:2.4rem 1fr;row-gap:.2rem;padding:.9rem 0;border-top:1px solid var(--border)}
.sheet li::before{content:counter(s,decimal-leading-zero);grid-row:span 2;font:300 11px/1.6 var(--mono);letter-spacing:.15em;color:#ffb700b3}
.sheet li b{font:700 1.02rem/1.3 var(--syne)}
.sheet li span{font-size:.88rem;color:var(--muted2)}
.channels>li{display:flex}
.channels{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:1px;background:var(--border);border:1px solid var(--border);margin-top:2.5rem}
.ch{flex:1;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ico lab go" "ico val go";align-items:center;column-gap:1rem;row-gap:.3rem;background:var(--bg);padding:1.2rem 1.25rem;transition:background .4s}
.ch-ico{grid-area:ico;width:2.9rem;height:2.9rem;border:1px solid #ffb7004d;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--gold);transition:background .4s,color .4s}
.ch-ico svg{width:19px;height:19px}
.ch-lab{grid-area:lab;font:300 10px/1 var(--mono);letter-spacing:.25em;text-transform:uppercase;color:#dcae45}
.ch-mail span{white-space:nowrap}
.ch-val{grid-area:val;font:700 clamp(1rem,1.6vw,1.3rem)/1.25 var(--syne);color:var(--fg);overflow-wrap:anywhere;transition:color .3s}
.ch-go{grid-area:go;color:var(--gold);font-size:1.1rem;transition:transform .4s}
.ch:hover{background:var(--card)}
.ch:hover .ch-ico{background:var(--gold);color:var(--gold-ink)}
.ch:hover .ch-val{color:var(--gold)}
.ch:hover .ch-go{transform:translate(3px,-3px)}
@media (min-width:768px){.channels{grid-template-columns:repeat(3,minmax(0,1fr))}.ch-mail{font-size:clamp(.92rem,1.35vw,1.15rem)}}
@media (min-width:1024px){
  .contact{padding-top:8rem;padding-bottom:7rem}
  .ct-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:5rem;align-items:center}
  .sheet{padding:2.3rem 2.1rem 1.6rem}
  .channels{margin-top:3.5rem}
  .ch{padding:1.5rem 1.6rem}
}

/* ---------- footer (home) ---------- */
.site-footer{border-top:1px solid var(--border);background:#070707;padding:4rem 0 2.25rem}
.foot-grid{display:grid;gap:2.5rem}
.foot-logo{height:34px;width:auto;margin-bottom:1.15rem}
.foot-brand p{color:var(--muted2);max-width:23rem;font-size:.9rem;line-height:1.7}
.foot-social,.fa-contact{display:flex;gap:.6rem;margin-top:1.35rem}
.foot-social a,.fa-contact a{width:2.6rem;height:2.6rem;border:1px solid var(--border);border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--muted2);transition:color .3s,border-color .3s,transform .3s}
.foot-social a:hover,.fa-contact a:hover{color:var(--gold);border-color:#ffb70080;transform:translateY(-2px)}
.foot-social svg,.fa-contact svg{width:16px;height:16px}
.foot-h{display:block;font:300 10px/1 var(--mono);letter-spacing:.25em;text-transform:uppercase;color:#ffb700b3;margin-bottom:1.15rem}
.foot-nav,.foot-contact,.foot-legal{display:flex;flex-direction:column;gap:.55rem}
.foot-nav a,.foot-contact a{color:var(--muted2);font-size:.9rem;width:fit-content;transition:color .3s;padding:.1rem 0}
.foot-nav a:hover,.foot-contact a:hover{color:var(--fg)}
.foot-nav a[aria-current]{color:var(--gold)}
.foot-contact p,.foot-legal p{color:var(--muted2);font-size:.85rem;line-height:1.65}
.foot-legal p{font-size:.8rem}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.75rem;border-top:1px solid var(--border)}
.foot-bottom .copy{font:300 11px/1.5 var(--mono);letter-spacing:.12em;color:var(--muted2)}
.motto{display:flex;align-items:center;gap:.6rem}
.motto p{font:300 11px/1 var(--mono);letter-spacing:.12em;color:#ffb700b3}
.motto .dot{width:3px;height:3px;border-radius:50%;background:#ffb70099}
.foot-author{margin-top:1.75rem;padding-top:1.5rem;padding-bottom:3.5rem;border-top:1px solid var(--border)}
.fa-mark{position:relative;display:inline-flex;flex-direction:column;gap:.3rem;padding:1rem 1.4rem 1.15rem;min-width:230px}
.fa-mark .fa-c{width:10px;height:10px;border-color:#ffb70059}
.fa-lab{font:300 9px/1.3 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:#ffb700bf}
.fa-name{font:700 17px/1.1 var(--syne);color:#eee}
.fa-contact{margin-top:.55rem}
@media (min-width:768px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.foot-grid{grid-template-columns:1.6fr 1fr 1.2fr 1.5fr;gap:3rem}}

/* ---------- floating dock (home) ---------- */
.dock{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:55;display:flex;flex-direction:column;gap:.6rem}
.dock a{position:relative;width:3rem;height:3rem;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--fg);background:#0d0d0de6;border:1px solid #ffb7004d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 24px #00000080;transition:background .35s,color .35s,border-color .35s,transform .35s}
.dock a:hover{background:var(--gold);color:var(--gold-ink);border-color:var(--gold);transform:translateY(-2px)}
.dock a.dock-brief{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}
.dock a.dock-brief:hover{background:#0d0d0de6;color:var(--gold)}
.dock a svg{width:20px;height:20px}
.dock .tip{position:absolute;right:calc(100% + .65rem);top:50%;transform:translateY(-50%);white-space:nowrap;font:300 10px/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--fg);background:#0d0d0df2;border:1px solid var(--border);border-radius:3px;padding:.45rem .65rem;opacity:0;pointer-events:none;transition:opacity .3s}
.dock a:hover .tip,.dock a:focus-visible .tip{opacity:1}
@media (max-width:1279px){.dock{transition:opacity .4s,transform .4s}body.at-top .dock{opacity:0;transform:translateY(14px);pointer-events:none;visibility:hidden}.dock{gap:.5rem}.dock a{width:2.75rem;height:2.75rem}.dock a svg{width:18px;height:18px}}
@media (min-width:1024px){.dock{right:1.25rem;bottom:1.75rem}}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .rv.pre{opacity:1;transform:none}
}
/* very narrow phones: long button labels may wrap */
@media (max-width:359px){.btn{white-space:normal;text-align:center;line-height:1.35;padding-left:1.1rem;padding-right:1.1rem}.recce .btn{max-width:100%}}
@media print{.dock,.grain,.progress,header.top{display:none}}

/* Plynulost na dotykových zařízeních a mobilech (iOS Safari): bez prolínání zrna přes celou obrazovku, bez rozostření pozadí a bez zbytečných vrstev. Na počítači beze změny. */
@media (hover:none),(max-width:1023px){.grain{display:none}}
@media (max-width:768px),(pointer:coarse){header.top.scrolled::before,.dock a,.btn-wa,.btn-reel.big{-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (hover:none),(pointer:coarse){.magnetic{will-change:auto}}
