/* ============================================================
   SUPER EXPRES TRANSPORT — spoločné štýly
   ============================================================ */
@font-face{
  font-family:'Bebas Neue'; font-style:normal; font-weight:400; font-display:swap;
  src:url('fonts/bebas-latinext.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:'Bebas Neue'; font-style:normal; font-weight:400; font-display:swap;
  src:url('fonts/bebas-latin.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;
}

:root{
  --paper:#FAFBFC; --panel:#FFFFFF; --wash:#F1F5F8;
  --line:#E1E6EB; --line-soft:#EDF1F4;
  --ink:#111922; --ink-2:#2C3945; --dim:#5D6B77;
  --red:#D31E24; --red-deep:#A9151B; --red-glow:#FF4A44;
  --blue:#1B78C4; --blue-deep:#135A96; --blue-pale:#EAF3FB;
  --display:'Bebas Neue','Arial Narrow',sans-serif;
  --body:"Helvetica Neue",Helvetica,"Segoe UI",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --shadow:0 14px 40px rgba(17,25,34,.10);
  --shadow-sm:0 4px 14px rgba(17,25,34,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:150px}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); line-height:1.6; -webkit-font-smoothing:antialiased}
img{max-width:100%; display:block}
a{color:var(--blue)}
.wrap{max-width:1280px; margin:0 auto; padding:0 28px}
.sec{padding:104px 0}
.sec--tight{padding:80px 0}
@media (max-width:760px){ .sec,.sec--tight{padding:64px 0} }
.bg-panel{background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.bg-wash{background:var(--wash); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}

.eyebrow{font-family:var(--mono); font-size:12.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--blue); display:block; margin-bottom:14px}
h1,h2,h3{color:var(--ink)}
h2{font-family:var(--display); font-weight:400; font-size:clamp(40px,5.4vw,74px); line-height:.92; margin:0 0 20px; padding-top:.26em; text-transform:uppercase; letter-spacing:.005em; text-wrap:balance}
h3{font-family:var(--display); font-weight:400; text-transform:uppercase; letter-spacing:.02em; margin:0}
.lede{max-width:62ch; color:var(--dim); font-size:16.5px; margin:0}
p{margin:0 0 1em}
.center{text-align:center}

/* buttons */
.btn{font-family:var(--display); font-weight:400; letter-spacing:.06em; text-decoration:none; display:inline-block; cursor:pointer; border:0}
.btn--red{background:var(--red); color:#fff!important; padding:15px 34px 12px; font-size:24px; clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%)}
.btn--red:hover{background:var(--red-deep)}
.btn--dark{background:var(--ink); color:#fff!important; padding:15px 32px 12px; font-size:24px; clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.btn--dark:hover{background:var(--ink-2)}
.btn--line{color:var(--ink); border:2px solid var(--ink); padding:12px 26px 9px; font-size:22px; background:transparent}
.btn--line:hover{border-color:var(--red); color:var(--red)}
.btn--linelight{color:#fff!important; border:2px solid #fff; padding:12px 26px 9px; font-size:22px; text-shadow:0 1px 8px rgba(0,0,0,.4)}
.btn--linelight:hover{border-color:var(--red-glow); color:var(--red-glow)!important}

/* ---------- scroll progress ---------- */
#prog{position:fixed; top:0; left:0; height:3px; width:0; background:var(--red); z-index:200; transition:width .1s linear}

/* ---------- ticker ---------- */
.tickr{background:var(--red); color:#fff; overflow:hidden; white-space:nowrap; font-family:var(--display); font-size:17px; letter-spacing:.10em; border-bottom:3px solid var(--red-deep)}
.tickr .trk{display:inline-flex; padding:8px 0; animation:tick 42s linear infinite; will-change:transform}
.tickr span{padding:0 26px}
@keyframes tick{from{transform:translateX(0)} to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){ .tickr .trk{animation:none} }

/* ---------- header ---------- */
.hdr{position:sticky; top:0; z-index:100; background:var(--panel); border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex; align-items:center; gap:26px; height:76px}
.hdr .lg{margin-right:auto; display:flex; align-items:center}
.hdr .lg img{height:54px; width:auto}
@media (max-width:520px){ .hdr .lg img{height:46px} }
.nav{display:flex; gap:2px; align-items:center}
.nav a{font-family:var(--display); font-size:19px; line-height:1; letter-spacing:.09em; text-decoration:none; color:var(--ink); padding:10px 14px; position:relative}
.nav a::after{content:""; position:absolute; left:14px; right:14px; bottom:4px; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .22s ease}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}
.nav a.active{color:var(--red)}
.hdr .tel{font-family:var(--display); font-size:20px; letter-spacing:.07em; text-decoration:none; background:var(--red); color:#fff!important; padding:11px 22px 8px; clip-path:polygon(11px 0,100% 0,calc(100% - 11px) 100%,0 100%)}
.hdr .tel:hover{background:var(--red-deep)}

/* dropdown */
.nav .dd{position:relative}
.nav .dd{display:flex; align-items:center}
.nav .dd>button{font-family:var(--display); font-size:19px; line-height:1; letter-spacing:.09em; color:var(--ink); background:none; border:0; padding:10px 14px; cursor:pointer; position:relative; display:inline-flex; align-items:center}
.nav .dd>button::after{content:""; position:absolute; left:14px; right:26px; bottom:4px; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .22s ease}
.nav .dd.active>button, .nav .dd>button:hover{color:var(--red)}
.nav .dd.active>button::after{transform:scaleX(1)}
.nav .dd>button .caret{display:inline-block; margin-left:5px; font-size:12px; transition:transform .2s ease}
.nav .dd .menu{position:absolute; top:100%; left:0; min-width:280px; background:var(--panel); border:1px solid var(--line); box-shadow:var(--shadow); padding:8px; display:none; z-index:20}
.nav .dd .menu a{display:block; padding:11px 14px; font-family:var(--display); font-size:20px; letter-spacing:.05em; color:var(--ink); text-decoration:none; position:relative}
.nav .dd .menu a::after{display:none}
.nav .dd .menu a small{display:block; font-family:var(--body); font-size:11.5px; letter-spacing:0; text-transform:none; color:var(--dim); margin-top:1px}
.nav .dd .menu a:hover{background:var(--wash); color:var(--red)}
.nav .dd:hover .menu, .nav .dd.open .menu{display:block}
.nav .dd:hover .caret{transform:rotate(180deg)}
@media (max-width:1040px){
  .nav .dd>button{font-size:22px; padding:12px 0; width:100%; text-align:left}
  .nav .dd>button::after{display:none}
  .nav .dd .menu{position:static; border:0; box-shadow:none; padding:0 0 8px 14px; min-width:0; display:none}
  .nav .dd.open .menu{display:block}
  .nav .dd:hover .menu{display:none}
  .nav .dd.open .menu{display:block}
  .nav .dd .menu a{font-size:18px; padding:9px 0}
}
.burger{display:none; background:none; border:1px solid var(--line); color:var(--ink); padding:9px 14px; font-size:18px; cursor:pointer}
@media (max-width:1040px){
  .nav{display:none; position:absolute; top:100%; left:0; right:0; background:var(--panel); flex-direction:column; padding:12px 28px 20px; border-bottom:1px solid var(--line); box-shadow:var(--shadow)}
  .nav.open{display:flex}
  .nav a{font-size:22px; padding:12px 0}
  .nav a::after{left:0; right:0}
  .burger{display:block}
  .hdr .tel{display:none}
}

/* ---------- hero ---------- */
.hero{position:relative; min-height:92vh; display:flex; align-items:flex-end; overflow:hidden}
.hero--page{min-height:64vh}
.hero .bg{position:absolute; inset:0; background-size:cover; background-position:center 40%; filter:grayscale(.36) contrast(1.05)}
.hero .scrim{position:absolute; inset:0; background:linear-gradient(180deg,rgba(12,17,23,.62) 0%,rgba(12,17,23,.32) 40%,rgba(250,251,252,0) 74%,var(--paper) 98%)}
.hero .scrim::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,17,23,.58) 0%,rgba(12,17,23,.16) 58%,rgba(12,17,23,0) 100%)}
.hero .wrap{position:relative; padding-top:120px; padding-bottom:54px; width:100%}
.hero--page .wrap{padding-top:96px; padding-bottom:48px}
.hero .kick{font-family:var(--mono); font-size:12.5px; letter-spacing:.24em; text-transform:uppercase; color:#A8D0F0; margin-bottom:16px; text-shadow:0 1px 8px rgba(0,0,0,.5)}
.hero h1{font-family:var(--display); font-weight:400; margin:0; padding-top:.26em; line-height:.87; text-transform:uppercase; color:#fff; text-shadow:0 2px 24px rgba(0,0,0,.4)}
.hero--home h1{font-size:clamp(58px,10.5vw,158px); max-width:13ch}
.hero--page h1{font-size:clamp(48px,8vw,110px); max-width:16ch}
.hero h1 .hl{color:var(--red-glow)}
.hero h1 .l{display:block; opacity:0; transform:translateY(28px); animation:rise .8s cubic-bezier(.2,.8,.3,1) forwards}
.hero h1 .l:nth-child(2){animation-delay:.12s}
.hero h1 .l:nth-child(3){animation-delay:.24s}
@keyframes rise{to{opacity:1; transform:none}}
@media (prefers-reduced-motion:reduce){ .hero h1 .l{opacity:1; transform:none; animation:none} }
.hero .sub{max-width:56ch; color:#E9EFF4; font-size:clamp(15.5px,1.5vw,18px); margin:22px 0 32px; text-shadow:0 1px 10px rgba(0,0,0,.55)}
.hero .ctas{display:flex; gap:16px; flex-wrap:wrap; align-items:center; margin-bottom:46px}
.hero .crumbs{font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#B7C6D4; margin-bottom:16px; text-shadow:0 1px 8px rgba(0,0,0,.5)}
.hero .crumbs a{color:#DCE6EF; text-decoration:none}
.hero .crumbs a:hover{color:#fff}

/* spec plate */
.spec{display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); background:var(--panel); box-shadow:var(--shadow)}
.spec>div{padding:20px 24px; border-right:1px solid var(--line)}
.spec>div:last-child{border-right:0}
.spec b{font-family:var(--display); font-weight:400; display:block; font-size:44px; line-height:1; color:var(--red); font-variant-numeric:tabular-nums}
.spec span{font-family:var(--mono); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--dim)}
@media (max-width:820px){
  .spec{grid-template-columns:repeat(2,1fr)}
  .spec>div:nth-child(2){border-right:0}
  .spec>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
}

/* ---------- section heading block ---------- */
.head2{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:end; margin-bottom:48px}
@media (max-width:820px){ .head2{grid-template-columns:1fr; gap:20px} }

/* ---------- urgent band ---------- */
.urg{background:var(--panel); border-bottom:1px solid var(--line)}
.urg .grid{display:grid; grid-template-columns:repeat(3,1fr)}
@media (max-width:880px){ .urg .grid{grid-template-columns:1fr} }
.urg .cell{padding:38px 34px; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:10px; text-decoration:none; color:inherit; transition:background .2s ease}
.urg .cell:last-child{border-right:0}
.urg .cell:hover{background:var(--wash)}
@media (max-width:880px){ .urg .cell{border-right:0; border-bottom:1px solid var(--line)} }
.urg .tag{font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--red)}
.urg h3{font-size:30px; line-height:.98}
.urg p{margin:0; font-size:14.5px; color:var(--dim)}
.urg .go{font-family:var(--display); font-size:19px; letter-spacing:.06em; color:var(--red); margin-top:auto; padding-top:10px}

/* ---------- service cards (link out) ---------- */
.svcards{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
@media (max-width:960px){ .svcards{grid-template-columns:repeat(2,1fr)} }
@media (max-width:620px){ .svcards{grid-template-columns:1fr} }
.svcard{position:relative; display:flex; flex-direction:column; text-decoration:none; color:#fff; overflow:hidden; border:1px solid var(--line); min-height:340px; background:var(--ink)}
.svcard .ph{position:absolute; inset:0}
.svcard .ph img{width:100%; height:100%; object-fit:cover; filter:grayscale(.25) contrast(1.05); transition:transform .5s ease}
.svcard:hover .ph img{transform:scale(1.06)}
.svcard .ph::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(12,17,23,0) 10%,rgba(12,17,23,.66) 34%,rgba(12,17,23,.88) 60%,rgba(12,17,23,.97) 100%)}
.svcard .in{position:relative; margin-top:auto; padding:24px 26px 24px; display:flex; flex-direction:column; gap:8px}
.svcard .no{font-family:var(--mono); font-size:11px; letter-spacing:.16em; color:#A8D0F0; text-shadow:0 1px 8px rgba(0,0,0,.6)}
.svcard h3{font-size:32px; line-height:.95; color:#fff; text-shadow:0 2px 16px rgba(0,0,0,.85)}
.svcard p{margin:0; font-size:14px; color:#E4EAF0; max-width:34ch; text-shadow:0 1px 10px rgba(0,0,0,.55)}
.svcard .go{font-family:var(--display); font-size:18px; letter-spacing:.07em; color:#fff; margin-top:4px; text-shadow:0 1px 8px rgba(0,0,0,.55)}
.svcard .go span{color:var(--red-glow)}
.svcard::before{content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--red); z-index:2; transform:scaleY(0); transform-origin:top; transition:transform .28s ease}
.svcard:hover::before{transform:scaleY(1)}

/* ---------- feature rows (service detail) ---------- */
.frow{display:grid; grid-template-columns:1fr 1fr; align-items:stretch; border:1px solid var(--line); background:var(--panel); margin-bottom:22px}
.frow--flip .ph{order:2}
.frow .ph{position:relative; min-height:340px; overflow:hidden; background:var(--blue)}
.frow .ph img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.frow .tx{padding:44px 46px; display:flex; flex-direction:column; gap:14px; justify-content:center}
.frow .tx .no{font-family:var(--mono); font-size:11px; letter-spacing:.18em; color:var(--blue)}
.frow .tx h3{font-size:36px; line-height:.96; max-width:16ch}
.frow .tx p{margin:0; color:var(--dim); font-size:15.5px}
@media (max-width:880px){
  .frow,.frow--flip{grid-template-columns:1fr}
  .frow .ph{order:0!important; min-height:230px}
  .frow .tx{padding:30px 26px}
}

/* checklist */
.check{list-style:none; margin:0; padding:0; display:grid; gap:10px}
.check li{position:relative; padding-left:24px; font-size:15px; color:var(--ink-2)}
.check li::before{content:""; position:absolute; left:0; top:8px; width:10px; height:10px; background:var(--blue); clip-path:polygon(0 0,100% 50%,0 100%)}
.check--2{grid-template-columns:1fr 1fr; gap:10px 30px}
@media (max-width:620px){ .check--2{grid-template-columns:1fr} }

/* chips */
.chips{display:flex; flex-wrap:wrap; gap:8px}
.chips i{font-style:normal; font-family:var(--mono); font-size:11px; letter-spacing:.08em; border:1px solid var(--line); background:var(--blue-pale); color:var(--blue-deep); padding:5px 11px}

/* usage grid (long lists e.g. sací bager) */
.uses{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--line); background:var(--panel)}
@media (max-width:820px){ .uses{grid-template-columns:1fr 1fr} }
@media (max-width:520px){ .uses{grid-template-columns:1fr} }
.uses div{padding:18px 22px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); font-size:14.5px; color:var(--ink-2); display:flex; gap:12px; align-items:baseline}
.uses div::before{content:""; width:8px; height:8px; flex:0 0 auto; background:var(--red); transform:translateY(1px)}

/* ---------- process ---------- */
.steps{display:grid; grid-template-columns:repeat(4,1fr); margin-top:44px}
@media (max-width:900px){ .steps{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .steps{grid-template-columns:1fr} }
.st{padding:34px 34px 34px 0; border-top:3px solid var(--line); position:relative}
.st.act{border-top-color:var(--red)}
.st b{font-family:var(--display); font-weight:400; font-size:58px; line-height:1; color:transparent; -webkit-text-stroke:1.5px #C9D3DB; display:block; margin-bottom:10px; transition:color .4s ease,-webkit-text-stroke-color .4s ease}
.st.act b{color:var(--red); -webkit-text-stroke-color:transparent}
.st h3{font-size:25px; line-height:1; margin-bottom:8px}
.st p{margin:0; font-size:14.5px; color:var(--dim)}

/* ---------- technology cards ---------- */
.tech{position:relative}
.tech::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:.55;
  background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px); background-size:52px 52px}
.tech .wrap{position:relative}
.tcards{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
@media (max-width:1000px){ .tcards{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .tcards{grid-template-columns:1fr} }
.tcard{background:var(--panel); border:1px solid var(--line); display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}
.tcard:hover{transform:translateY(-5px); box-shadow:var(--shadow); border-color:#CBD6DF}
.tcard .ph{aspect-ratio:4/3; overflow:hidden; background:var(--wash); border-bottom:1px solid var(--line)}
.tcard .ph img{width:100%; height:100%; object-fit:cover}
.tcard .in{padding:22px 24px 24px; display:flex; flex-direction:column; gap:9px; flex:1}
.tcard .no{font-family:var(--mono); font-size:11px; letter-spacing:.16em; color:var(--blue)}
.tcard h3{font-size:24px; line-height:.98}
.tcard p{margin:0; font-size:13.5px; color:var(--dim)}

/* ---------- sectors (dark) ---------- */
.sect{background:var(--ink); color:#fff; position:relative; overflow:hidden}
.sect h2{color:#fff}
.sect .eyebrow{color:#7FB6E4}
.sect .lede{color:#A9B6C2}
.sect .cols{display:grid; grid-template-columns:1fr 1.25fr; gap:60px; align-items:start}
@media (max-width:900px){ .sect .cols{grid-template-columns:1fr; gap:34px} }
.sect .list{display:grid; grid-template-columns:1fr 1fr; gap:0}
@media (max-width:620px){ .sect .list{grid-template-columns:1fr} }
.sect .list div{padding:15px 8px 15px 0; border-bottom:1px solid #2A3541; font-family:var(--display); font-size:23px; letter-spacing:.03em; text-transform:uppercase; color:#D7DEE5; display:flex; align-items:center; gap:12px; transition:color .2s ease, padding-left .2s ease}
.sect .list div::before{content:""; width:8px; height:8px; background:var(--red); flex:0 0 auto}
.sect .list div:hover{color:#fff; padding-left:6px}
.sect .quote{font-family:var(--display); font-size:clamp(30px,3.4vw,46px); line-height:1.02; color:#fff; text-transform:uppercase; margin:0 0 18px; max-width:16ch}
.sect .quote em{font-style:normal; color:var(--red-glow)}

/* ---------- hazard band ---------- */
.hzd{border-top:14px solid transparent; border-bottom:14px solid transparent; border-image:repeating-linear-gradient(-45deg,var(--red) 0 18px,#fff 18px 36px) 14; background:var(--red); color:#fff}
.hzd .wrap{display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; padding-top:54px; padding-bottom:54px}
.hzd h2{color:#fff; margin:0; max-width:20ch}
.hzd p{margin:10px 0 0; color:rgba(255,255,255,.9); max-width:54ch; font-size:16px}

/* ---------- fleet teaser + fleet page ---------- */
.flt .grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center}
@media (max-width:900px){ .flt .grid{grid-template-columns:1fr; gap:36px} }
.flt .ph{position:relative; border:1px solid var(--line); box-shadow:var(--shadow)}
.flt .ph img{filter:grayscale(.16) contrast(1.04)}
.flt .ph .plate{position:absolute; left:-1px; bottom:-1px; background:var(--red); color:#fff; font-family:var(--display); font-size:20px; letter-spacing:.08em; padding:11px 20px 8px}

.parkcols{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:14px}
@media (max-width:900px){ .parkcols{grid-template-columns:1fr} }
.parkcol h3{font-size:30px; margin-bottom:4px; display:flex; align-items:baseline; gap:12px}
.parkcol h3 i{font-style:normal; font-family:var(--mono); font-size:12px; letter-spacing:.1em; color:var(--dim)}
.vtable{width:100%; border-collapse:collapse; margin-top:14px}
.vtable td{padding:13px 4px; border-bottom:1px solid var(--line); vertical-align:baseline; font-size:15px}
.vtable tr:first-child td{border-top:1px solid var(--line)}
.vtable .veh{font-weight:600; color:var(--ink)}
.vtable .veh small{display:block; font-weight:400; color:var(--dim); font-size:12.5px; margin-top:1px}
.vtable .plate{text-align:right; white-space:nowrap}
.vtable .plate span{font-family:var(--mono); font-size:13px; letter-spacing:.04em; background:var(--wash); border:1px solid var(--line); padding:3px 9px; color:var(--ink-2); font-variant-numeric:tabular-nums}

/* ---------- gallery + lightbox ---------- */
.gal{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; gap:10px}
@media (max-width:900px){ .gal{grid-template-columns:repeat(2,1fr); grid-auto-rows:150px} }
.gal figure{margin:0; overflow:hidden; border:1px solid var(--line); position:relative; background:#fff; cursor:pointer}
.gal figure.tall{grid-row:span 2}
.gal figure.wide{grid-column:span 2}
.gal img{width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.05); transition:filter .3s ease, transform .4s ease}
.gal figure:hover img{filter:none; transform:scale(1.05)}
.gal figure::after{content:"+"; position:absolute; right:10px; bottom:6px; font-family:var(--display); font-size:30px; color:#fff; opacity:0; transition:opacity .25s ease; text-shadow:0 1px 8px rgba(0,0,0,.5)}
.gal figure:hover::after{opacity:1}
.lbx{position:fixed; inset:0; background:rgba(10,14,19,.94); z-index:300; display:none; align-items:center; justify-content:center; padding:36px}
.lbx.on{display:flex}
.lbx img{max-width:92vw; max-height:86vh; object-fit:contain; box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lbx button{position:absolute; background:none; border:1px solid rgba(255,255,255,.5); color:#fff; font-family:var(--display); font-size:26px; letter-spacing:.06em; padding:8px 18px 5px; cursor:pointer}
.lbx .x{top:26px; right:26px}
.lbx .pv{left:26px; top:50%; transform:translateY(-50%)}
.lbx .nx{right:26px; top:50%; transform:translateY(-50%)}
.lbx button:hover{border-color:var(--red-glow); color:var(--red-glow)}

/* ---------- video reels ---------- */
.reels{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1000px; margin:0 auto}
@media (max-width:820px){ .reels{grid-template-columns:1fr 1fr; gap:16px; max-width:640px} }
@media (max-width:520px){ .reels{grid-template-columns:1fr; max-width:360px} }
.reel{margin:0; position:relative}
.reel .frame{position:relative; aspect-ratio:9/16; overflow:hidden; border:1px solid var(--line); background:#0b1016; box-shadow:var(--shadow-sm)}
.reel video{width:100%; height:100%; object-fit:cover; display:block; background:#0b1016}
.reel .playbtn{position:absolute; inset:0; margin:0; display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg,rgba(11,16,22,.10),rgba(11,16,22,.45)); border:0; cursor:pointer; transition:opacity .2s ease}
.reel .playbtn::before{content:""; width:74px; height:74px; border-radius:50%; background:var(--red); display:block; box-shadow:0 8px 24px rgba(211,30,36,.45); transition:transform .2s ease, background .2s ease}
.reel .playbtn::after{content:""; position:absolute; width:0; height:0; border-style:solid; border-width:15px 0 15px 26px; border-color:transparent transparent transparent #fff; transform:translateX(4px)}
.reel .playbtn:hover::before{transform:scale(1.08); background:var(--red-deep)}
.reel.playing .playbtn{opacity:0; pointer-events:none}
.reel figcaption{margin-top:12px; font-size:14px; color:var(--ink-2); display:flex; gap:10px; align-items:flex-start; line-height:1.4}
.reel figcaption::before{content:""; flex:0 0 auto; width:8px; height:8px; background:var(--red); margin-top:6px}

/* ---------- partners ---------- */
.prt{padding:54px 0}
.prt .eyebrow,.prt h2{text-align:center}
.prt h2{font-size:clamp(32px,3.8vw,50px)}
.prt .row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:30px}
.prt .pl{background:#fff; border:1px solid var(--line); padding:11px 19px; display:flex; align-items:center; filter:grayscale(1); opacity:.7; transition:filter .25s ease, opacity .25s ease}
.prt .pl:hover{filter:none; opacity:1}
.prt img{height:36px; width:auto}

/* ---------- faq ---------- */
.faq .grid{display:grid; grid-template-columns:1fr 1.35fr; gap:60px; align-items:start}
@media (max-width:900px){ .faq .grid{grid-template-columns:1fr; gap:32px} }
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{list-style:none; cursor:pointer; padding:22px 44px 22px 0; position:relative; font-family:var(--display); font-size:25px; letter-spacing:.03em; text-transform:uppercase; color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:6px; top:18px; font-size:30px; color:var(--red); transition:transform .25s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--red)}
.faq .ans{padding:0 40px 24px 0; margin:0; color:var(--dim); font-size:15px; max-width:64ch}

/* ---------- contact ---------- */
.ctc .grid{display:grid; grid-template-columns:1fr 1fr; gap:64px}
@media (max-width:920px){ .ctc .grid{grid-template-columns:1fr; gap:40px} }
.ctc .big{font-family:var(--display); font-size:clamp(46px,5.6vw,76px); line-height:1; color:var(--red); text-decoration:none; display:block; margin:10px 0 8px; font-variant-numeric:tabular-nums}
.ctc .big:hover{color:var(--red-deep)}
.ctc .bignote{font-family:var(--mono); font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--dim); margin:0 0 30px}
.rows{border-top:1px solid var(--line)}
.rows>div{display:flex; justify-content:space-between; gap:20px; padding:14px 2px; border-bottom:1px solid var(--line); font-size:14.5px}
.rows span{font-family:var(--mono); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--dim); padding-top:3px; white-space:nowrap}
.rows b{font-weight:600; text-align:right}
.rows a{color:var(--blue); text-decoration:none}
.rows a:hover{text-decoration:underline}
.frm{background:var(--panel); border:1px solid var(--line); box-shadow:var(--shadow); padding:38px}
.frm h3{font-size:32px; margin-bottom:4px}
.frm .note{font-size:13.5px; color:var(--dim); margin:0 0 24px}
.frm .note b{color:var(--red)}
.fgrid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media (max-width:640px){ .fgrid{grid-template-columns:1fr} }
.frm label{display:block; font-family:var(--mono); font-size:10.5px; letter-spacing:.17em; text-transform:uppercase; color:var(--dim); margin:0 0 7px}
.frm input,.frm textarea,.frm select{width:100%; padding:12px 14px; background:#F3F6F8; color:var(--ink); border:1px solid var(--line); font:inherit; font-size:14.5px; margin-bottom:16px; border-radius:0}
.frm input:focus,.frm textarea:focus,.frm select:focus{outline:2px solid var(--blue); outline-offset:0; border-color:transparent}
.frm .gdpr{display:flex; gap:10px; align-items:flex-start; font-size:12.5px; color:var(--dim); margin-bottom:20px}
.frm .gdpr input{width:auto; margin:2px 0 0}
.sent{display:none; margin-top:16px; padding:12px 14px; background:var(--blue-pale); color:var(--blue-deep); font-size:14px; font-weight:600}
.mapembed{margin-top:22px; border:1px solid var(--line); box-shadow:var(--shadow-sm); position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--wash)}
.mapembed iframe{position:absolute; inset:0; width:100%; height:100%; border:0; display:block; filter:grayscale(.15)}
.maprow{margin-top:14px; display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; font-size:13.5px; color:var(--dim)}
.maprow b{color:var(--ink); font-weight:600}
.maprow a{font-family:var(--display); font-size:18px; letter-spacing:.04em; color:var(--red); text-decoration:none; white-space:nowrap}
.maprow a:hover{color:var(--red-deep)}

/* ---------- documents / certificates ---------- */
.doccards{display:grid; grid-template-columns:1fr 1fr; gap:22px}
@media (max-width:820px){ .doccards{grid-template-columns:1fr} }
.doccard{display:grid; grid-template-columns:190px 1fr; border:1px solid var(--line); background:var(--panel); box-shadow:var(--shadow-sm)}
@media (max-width:520px){ .doccard{grid-template-columns:1fr} }
.doccard .prev{background:var(--wash); border-right:1px solid var(--line); overflow:hidden; display:flex; align-items:stretch}
@media (max-width:520px){ .doccard .prev{border-right:0; border-bottom:1px solid var(--line); max-height:260px; justify-content:center} }
.doccard .prev img{width:100%; height:100%; object-fit:cover; object-position:top}
.doccard .in{padding:26px 28px; display:flex; flex-direction:column; gap:10px}
.doccard .badge{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--blue)}
.doccard h3{font-size:30px; line-height:.98}
.doccard p{margin:0; font-size:14px; color:var(--dim)}
.doccard .meta{display:grid; gap:4px; margin-top:2px; font-size:13px; color:var(--ink-2)}
.doccard .meta b{font-weight:600; color:var(--ink)}
.doccard .dl{margin-top:auto; padding-top:8px}
.doccard .dl a{display:inline-flex; align-items:center; gap:8px; font-family:var(--display); font-size:18px; letter-spacing:.05em; color:#fff; background:var(--red); text-decoration:none; padding:10px 18px 7px; clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.doccard .dl a:hover{background:var(--red-deep)}

.doclist{border-top:1px solid var(--line)}
.doclist a{display:flex; align-items:center; gap:18px; padding:20px 4px; border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink); transition:background .18s ease, padding-left .18s ease}
.doclist a:hover{background:var(--wash); padding-left:12px}
.doclist .ic{flex:0 0 auto; width:44px; height:54px; background:#fff; border:1px solid var(--line); position:relative; display:flex; align-items:flex-end; justify-content:center; padding-bottom:6px}
.doclist .ic::before{content:""; position:absolute; top:0; right:0; border-width:0 12px 12px 0; border-style:solid; border-color:var(--wash) var(--paper)}
.doclist .ic span{font-family:var(--mono); font-size:9px; letter-spacing:.06em; color:var(--red); font-weight:700}
.doclist .nm{flex:1}
.doclist .nm b{font-family:var(--display); font-weight:400; font-size:24px; letter-spacing:.02em; display:block; line-height:1}
.doclist .nm small{color:var(--dim); font-size:13px}
.doclist .go{font-family:var(--display); font-size:18px; letter-spacing:.05em; color:var(--red); white-space:nowrap}

/* certificate trust band (home) */
.certband{background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.certband .wrap{display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; padding-top:40px; padding-bottom:40px}
.certband .txt h3{font-size:34px; line-height:.98}
.certband .txt p{margin:6px 0 0; color:var(--dim); font-size:14.5px; max-width:52ch}
.certband .iso{display:flex; gap:14px; flex-wrap:wrap}
.certband .iso b{font-family:var(--display); font-weight:400; letter-spacing:.04em; font-size:22px; color:var(--blue-deep); background:var(--blue-pale); border:1px solid #CDE3F5; padding:12px 18px 9px; display:block}
.certband .iso b small{display:block; font-family:var(--body); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--blue); margin-top:2px}

/* ---------- footer ---------- */
.ftr{background:var(--ink); color:#94A2AE; padding:56px 0 26px; font-size:14px}
.ftr a{color:#94A2AE; text-decoration:none}
.ftr a:hover{color:#fff}
.ftr .cols{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr; gap:36px; padding-bottom:34px; border-bottom:1px solid #2A3541}
@media (max-width:880px){ .ftr .cols{grid-template-columns:1fr 1fr; gap:28px} }
@media (max-width:520px){ .ftr .cols{grid-template-columns:1fr} }
.ftr h4{font-family:var(--display); font-weight:400; font-size:19px; letter-spacing:.09em; text-transform:uppercase; color:#fff; margin:0 0 14px}
.ftr ul{list-style:none; margin:0; padding:0; display:grid; gap:9px}
.ftr .logo img{height:56px; width:auto; background:#fff; padding:8px 12px}
.ftr .bot{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:22px; font-family:var(--mono); font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:#68757F}

/* ---------- mobile call bar ---------- */
.mbar{display:none; position:fixed; left:0; right:0; bottom:0; z-index:150; background:var(--red); border-top:3px solid var(--red-deep); align-items:center; justify-content:center; padding:14px; color:#fff!important; text-decoration:none; font-family:var(--display); font-size:24px; letter-spacing:.07em}
.mbar:hover{background:var(--red-deep)}
@media (max-width:760px){ .mbar{display:flex} body{padding-bottom:66px} }

/* ---------- reveal ---------- */
.rv{opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease}
.rv.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){ .rv{opacity:1; transform:none; transition:none} }
:focus-visible{outline:3px solid var(--blue); outline-offset:2px}
