:root{
  --ink:#09090b;
  --ink-2:#17171b;
  --paper:#f3f3f3;
  --white:#fff;
  --muted:#637178;
  --line:rgba(7,19,29,.14);
  --accent:#e22d35;
  --accent-dark:#a91620;
  --green:#d9232e;
  --radius:3px;
  --shadow:0 28px 70px rgba(6,16,18,.15);
  --container:min(1240px, calc(100% - 48px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
::selection{background:var(--accent);color:var(--ink)}
.container{width:var(--container);margin-inline:auto}
.section-pad{padding:126px 0}
.skip-link{position:fixed;left:12px;top:-100px;z-index:9999;background:#fff;padding:10px 16px}.skip-link:focus{top:12px}

.site-header{height:82px;position:fixed;inset:0 0 auto;z-index:100;background:rgba(12,25,27,.88);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(15px);transition:.3s}
.site-header.scrolled{height:72px;background:rgba(12,25,27,.97);box-shadow:0 8px 35px rgba(0,0,0,.18)}
.header-inner{height:100%;display:flex;align-items:center;gap:36px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;flex:0 0 auto}
.brand img{width:52px;height:52px;object-fit:cover}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-copy strong{font-size:17px;letter-spacing:.11em}
.brand-copy small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.62);margin-top:7px}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.main-nav a{color:rgba(255,255,255,.78);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;position:relative;padding:26px 0}
.main-nav a:after{content:"";height:2px;position:absolute;left:0;right:100%;bottom:18px;background:var(--accent);transition:.25s}
.main-nav a:hover{color:#fff}.main-nav a:hover:after{right:0}
.header-phone{height:82px;margin-right:calc((100vw - min(1240px, calc(100vw - 48px)))/-2);padding:0 max(24px,calc((100vw - 1240px)/2));padding-left:25px;background:var(--accent);display:flex;align-items:center;gap:12px;min-width:230px;color:var(--ink);transition:.25s}
.scrolled .header-phone{height:72px}
.header-phone:hover{background:#ff7b4c}
.header-phone svg{width:25px;height:25px;fill:currentColor}
.header-phone span{display:flex;flex-direction:column;line-height:1.15}.header-phone small{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.header-phone strong{font-size:18px;margin-top:4px}
.nav-toggle{display:none;margin-left:auto;width:44px;height:44px;border:0;background:transparent;padding:10px}.nav-toggle span{height:2px;background:#fff;display:block;margin:6px 0;transition:.25s}

.hero{min-height:760px;height:100svh;max-height:980px;position:relative;background:var(--ink);color:#fff;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(8,19,21,.98) 0%,rgba(8,19,21,.91) 38%,rgba(8,19,21,.38) 70%,rgba(8,19,21,.2) 100%),linear-gradient(0deg,rgba(8,19,21,.67),transparent 52%),url('../images/hero-auto.webp');background-size:cover;background-position:center 47%}
.hero-grid{position:absolute;inset:0;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.17) 1px,transparent 1px);background-size:86px 86px;mask-image:linear-gradient(90deg,#000,transparent 70%)}
.hero-content{position:relative;z-index:2;padding-top:80px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:90px;align-items:center}
.hero-copy{max-width:790px}
.eyebrow{text-transform:uppercase;font-weight:800;letter-spacing:.18em;font-size:11px;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.74);margin-bottom:25px}
.eyebrow span{width:33px;height:2px;background:var(--accent)}
.eyebrow.dark{color:var(--muted)}
.hero h1,.section-head h2,.partner h2,.why-copy h2,.contact h2{margin:0;font-size:clamp(56px,7.7vw,116px);line-height:.86;letter-spacing:-.065em;text-transform:uppercase;font-weight:900}
.hero h1 em,.section-head h2 em,.partner h2 em,.why-copy h2 em,.contact h2 em{font-style:normal;color:var(--accent)}
.hero-copy>p{font-size:18px;color:rgba(255,255,255,.73);max-width:620px;margin:34px 0 38px;line-height:1.75}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{min-height:56px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid transparent;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;transition:.25s;border-radius:var(--radius)}
.btn span{font-size:19px;transition:.25s}.btn:hover span{transform:translate(3px,-3px)}
.btn-primary{background:var(--accent);color:var(--ink)}.btn-primary:hover{background:#20aaa4;box-shadow:0 10px 32px rgba(226,45,53,.25)}
.btn-ghost{border-color:rgba(255,255,255,.32);color:#fff;background:rgba(255,255,255,.02)}.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.hero-trust{display:flex;gap:45px;margin-top:53px}.hero-trust div{display:flex;align-items:center;gap:12px}.hero-trust strong{font-size:12px;color:var(--accent);align-self:flex-start;margin-top:3px}.hero-trust span{font-size:11px;line-height:1.35;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.64)}
.hero-card{align-self:end;margin-bottom:90px;border:1px solid rgba(255,255,255,.18);background:rgba(12,27,29,.72);backdrop-filter:blur(13px);padding:35px;position:relative;box-shadow:0 25px 55px rgba(0,0,0,.2)}
.hero-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.07);pointer-events:none}
.hero-card-label{position:absolute;right:0;top:0;background:var(--accent);color:var(--ink);padding:7px 12px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.13em}
.hero-card-icon{width:54px;height:54px;background:var(--accent);color:var(--ink);font-size:28px;font-weight:900;display:grid;place-items:center;margin-bottom:42px}
.hero-card p{margin:0 0 5px;color:rgba(255,255,255,.55);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.hero-card h2{font-size:25px;margin:0;line-height:1.2;text-transform:uppercase}.hero-card>span{font-size:13px;color:rgba(255,255,255,.67)}.hero-card a{margin-top:28px;border-top:1px solid rgba(255,255,255,.13);padding-top:18px;display:flex;justify-content:space-between;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.hero-card a b{color:var(--accent)}
.scroll-cue{position:absolute;z-index:3;left:max(24px,calc((100vw - 1240px)/2));bottom:28px;color:rgba(255,255,255,.55);font-size:9px;text-transform:uppercase;letter-spacing:.18em;display:flex;align-items:center;gap:12px}.scroll-cue span{width:48px;height:1px;background:rgba(255,255,255,.4);position:relative}.scroll-cue span:after{content:"";position:absolute;right:0;top:-2px;border-left:5px solid rgba(255,255,255,.7);border-top:2px solid transparent;border-bottom:2px solid transparent}

.section-head.split{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:end;margin-bottom:65px}
.section-head h2,.partner h2,.why-copy h2,.contact h2{font-size:clamp(42px,5vw,72px);line-height:.95;letter-spacing:-.055em}
.section-head>p{margin:0;color:var(--muted);font-size:16px;line-height:1.8;max-width:490px}
.service-grid{display:grid;grid-template-columns:1.15fr repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{min-height:420px;padding:38px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;display:flex;flex-direction:column;background:rgba(255,255,255,.18);transition:.3s;overflow:hidden}
.service-card:not(.service-card-image):hover{background:#fff;transform:translateY(-7px);box-shadow:0 20px 45px rgba(8,19,21,.08);z-index:2}
.service-card.dark-card{background:var(--ink);color:#fff}.service-card.dark-card:hover{background:var(--ink-2)}
.service-number{font-size:11px;font-weight:900;color:var(--accent);letter-spacing:.1em}.service-icon{width:56px;height:56px;margin:54px 0 30px;fill:none;stroke:currentColor;stroke-width:1.4}.service-card h3{font-size:22px;line-height:1.2;margin:0 0 15px;text-transform:uppercase}.service-card p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}.dark-card p{color:rgba(255,255,255,.58)}.service-card>a{margin-top:auto;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid var(--line)}.dark-card>a{border-color:rgba(255,255,255,.14)}.service-card>a span{color:var(--accent);font-size:17px}
.service-card-image{padding:0;min-height:470px}.service-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,17,19,.9),transparent 70%)}.service-card-image img{width:100%;height:100%;object-fit:cover;position:absolute;transition:.5s}.service-card-image:hover img{transform:scale(1.04)}.service-overlay{position:absolute;z-index:2;inset:auto 30px 30px;color:#fff}.service-overlay span{color:var(--accent);font-size:11px;font-weight:900}.service-overlay h3{font-size:25px;margin:8px 0}.service-overlay p{color:rgba(255,255,255,.65)}

.partner{background:var(--ink);color:#fff;position:relative;overflow:hidden}.partner:before{content:"D&P";position:absolute;right:-2vw;top:-22vw;color:rgba(255,255,255,.018);font-size:72vw;line-height:1;font-weight:900}.partner-wrap{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:110px;align-items:center}.partner-copy>p{color:rgba(255,255,255,.65);font-size:16px;line-height:1.8;margin:30px 0 32px;max-width:540px}.partner-points{margin-bottom:38px}.partner-points>div{display:grid;grid-template-columns:35px 1fr;gap:17px;padding:17px 0;border-top:1px solid rgba(255,255,255,.11)}.partner-points b{font-size:11px;color:var(--accent)}.partner-points span{display:flex;flex-direction:column;color:rgba(255,255,255,.58);font-size:13px}.partner-points strong{color:#fff;text-transform:uppercase;font-size:13px;letter-spacing:.05em}.partner-visual{position:relative}.partner-visual>img{width:100%;aspect-ratio:1.12/1;object-fit:cover;box-shadow:var(--shadow)}.partner-visual:before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.24);z-index:1}.partner-stamp{position:absolute;z-index:2;right:-35px;top:-35px;width:145px;height:145px;background:var(--accent);color:var(--ink);display:flex;flex-direction:column;justify-content:center;padding:20px;transform:rotate(4deg);box-shadow:0 17px 32px rgba(0,0,0,.25)}.partner-stamp small{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.partner-stamp strong{font-size:18px;line-height:1.05}.partner-caption{position:absolute;z-index:2;left:0;bottom:0;background:rgba(12,27,29,.94);padding:18px 24px;display:flex;flex-direction:column}.partner-caption span{font-size:11px;color:var(--accent);font-weight:900;letter-spacing:.12em}.partner-caption small{color:rgba(255,255,255,.65)}

.projects{background:#e9efee}.projects-head{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:end;margin-bottom:55px}.projects-head>p{margin:0;color:var(--muted);line-height:1.8}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:300px;gap:12px}.gallery-item{position:relative;border:0;padding:0;overflow:hidden;background:#ccd0cc;text-align:left;color:#fff}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.55s}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,15,17,.84),transparent 58%);transition:.3s}.gallery-item:hover img{transform:scale(1.055)}.gallery-item:hover:after{background:linear-gradient(0deg,rgba(6,15,17,.92),rgba(226,45,53,.08))}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.gallery-meta{position:absolute;z-index:2;left:22px;bottom:19px;display:flex;flex-direction:column}.gallery-meta b{text-transform:uppercase;font-size:14px;letter-spacing:.06em}.gallery-meta small{color:rgba(255,255,255,.62)}.gallery-item i{position:absolute;z-index:2;right:18px;top:18px;width:34px;height:34px;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;font-style:normal;font-size:20px;transition:.3s}.gallery-item:hover i{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:rotate(90deg)}

.process{background:var(--paper)}.process-line{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.process-line:before{content:"";position:absolute;top:26px;left:3%;right:3%;height:1px;background:var(--line)}.process-step{padding:0 35px 0 0;position:relative}.process-step b{font-size:11px;color:var(--accent);display:block;margin-bottom:15px}.process-step>span{display:block;width:14px;height:14px;background:var(--paper);border:3px solid var(--ink);border-radius:50%;position:relative;z-index:2;margin-bottom:31px}.process-step h3{font-size:18px;text-transform:uppercase;margin:0 0 10px}.process-step p{color:var(--muted);font-size:14px;line-height:1.7;margin:0;max-width:240px}

.why-us{display:grid;grid-template-columns:1.15fr .85fr;min-height:680px;background:var(--ink);color:#fff}.why-image{background:linear-gradient(0deg,rgba(8,19,21,.15),rgba(8,19,21,.05)),url('../images/why-feature.webp') center/cover no-repeat;min-height:600px}.why-copy{padding:100px max(55px,calc((100vw - 1240px)/2));padding-left:80px;display:flex;flex-direction:column;justify-content:center}.why-copy>p{color:rgba(255,255,255,.6);line-height:1.8;max-width:540px;margin:28px 0}.why-copy ul{list-style:none;padding:0;margin:0 0 30px}.why-copy li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:13px;text-transform:uppercase;letter-spacing:.05em}.why-copy li span{color:var(--accent);margin-right:13px}.text-link{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;color:#fff}.text-link span{color:var(--accent);margin-left:12px}

.contact{background:var(--ink-2);color:#fff;position:relative;overflow:hidden}.contact:before{content:"";position:absolute;width:680px;height:680px;border:1px solid rgba(255,255,255,.04);border-radius:50%;left:-340px;bottom:-360px;box-shadow:0 0 0 120px rgba(255,255,255,.012),0 0 0 240px rgba(255,255,255,.008)}.contact-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:110px;position:relative}.contact-copy>p{color:rgba(255,255,255,.62);line-height:1.8;margin:28px 0 34px;max-width:490px}.contact-links{border-top:1px solid rgba(255,255,255,.12)}.contact-links>a{display:grid;grid-template-columns:46px 1fr 25px;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12)}.contact-links>a:hover .contact-icon{background:var(--accent);color:var(--ink)}.contact-icon{width:43px;height:43px;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;color:var(--accent);font-weight:900;transition:.25s}.whatsapp-mark{color:#43d17a}.contact-links span:nth-child(2){display:flex;flex-direction:column;min-width:0}.contact-links small{color:rgba(255,255,255,.46);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.contact-links strong{font-size:17px;overflow-wrap:anywhere}.contact-links b{color:var(--accent)}
.contact-form{background:#fff;color:var(--ink);padding:42px;box-shadow:0 30px 70px rgba(0,0,0,.18)}.form-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:23px;margin-bottom:25px;border-bottom:1px solid var(--line)}.form-top span{font-size:14px;font-weight:900;letter-spacing:.08em}.form-top small{color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:block;margin-bottom:16px}.contact-form label>span{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.1em;font-weight:900;margin-bottom:7px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid #d9deda;background:#f6f6f3;padding:13px 14px;border-radius:0;outline:0;color:var(--ink);transition:.2s}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(226,45,53,.13);background:#fff}.contact-form textarea{resize:vertical;min-height:120px}.form-submit{width:100%;border:0}.form-note{text-align:center;color:var(--muted);font-size:11px;margin:12px 0 0}

.site-footer{background:#0a1517;color:#fff;padding:58px 0 30px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-brand img{width:62px;height:62px}.footer-cta{text-align:right;display:flex;flex-direction:column}.footer-cta span{text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.45);font-size:9px}.footer-cta a{font-size:31px;font-weight:900;line-height:1.2}.footer-cta b{color:var(--accent);font-size:22px}.footer-bottom{display:flex;justify-content:space-between;padding-top:28px;color:rgba(255,255,255,.45);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.footer-bottom div{display:flex;gap:25px}.footer-bottom a:hover{color:#fff}

.whatsapp-float{position:fixed;z-index:80;right:24px;bottom:24px;background:#20b15a;color:#fff;border-radius:50px;padding:10px 18px 10px 10px;display:flex;align-items:center;gap:10px;box-shadow:0 14px 35px rgba(0,0,0,.26);transition:.25s}.whatsapp-float:hover{transform:translateY(-3px);background:#179a4c}.whatsapp-float svg{width:38px;height:38px;fill:#fff}.whatsapp-float span{display:flex;flex-direction:column;line-height:1.1}.whatsapp-float small{font-size:9px;opacity:.75;text-transform:uppercase;letter-spacing:.08em}.whatsapp-float strong{font-size:12px}.mobile-contact-bar{display:none}

.lightbox{border:0;padding:0;background:rgba(4,11,12,.95);width:100vw;max-width:none;height:100vh;color:#fff}.lightbox::backdrop{background:rgba(0,0,0,.9)}.lightbox figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 22px}.lightbox img{max-height:80vh;max-width:min(1100px,92vw);object-fit:contain}.lightbox figcaption{margin-top:14px;color:rgba(255,255,255,.7)}.lightbox-close{position:absolute;right:22px;top:18px;width:48px;height:48px;border:1px solid rgba(255,255,255,.32);background:transparent;color:#fff;font-size:30px;z-index:2}.lightbox-close:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}

.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.js .reveal-delay{transition-delay:.15s}.js .reveal.in-view{opacity:1;transform:none}

@media (max-width:1120px){
  .main-nav{gap:18px}.main-nav a{font-size:11px}.header-phone{min-width:200px}.hero-content{gap:45px}.service-grid{grid-template-columns:repeat(2,1fr)}.partner-wrap,.contact-wrap{gap:65px}.gallery{grid-template-columns:repeat(3,1fr)}.gallery-wide{grid-column:span 2}.why-copy{padding-left:55px}.hero-card{margin-bottom:55px}
}
@media (max-width:900px){
  :root{--container:min(100% - 36px,760px)}
  .section-pad{padding:90px 0}.site-header,.site-header.scrolled{height:70px}.header-inner{gap:12px}.brand img{width:46px;height:46px}.brand-copy strong{font-size:15px}.header-phone{display:none}.nav-toggle{display:block;position:relative;z-index:102}.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .main-nav{position:fixed;inset:0;background:var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:90px 9vw;gap:0;transform:translateX(100%);transition:.35s;z-index:101}.main-nav.open{transform:none}.main-nav a{font-size:28px;padding:13px 0;color:#fff}.main-nav a:after{bottom:8px}
  .hero{min-height:760px;height:auto;max-height:none;padding:120px 0 100px}.hero-bg{background-image:linear-gradient(90deg,rgba(8,19,21,.96),rgba(8,19,21,.68)),linear-gradient(0deg,rgba(8,19,21,.7),transparent 60%),url('../images/hero-auto.webp');background-position:58% center}.hero-content{padding-top:0;grid-template-columns:1fr}.hero-copy{max-width:680px}.hero h1{font-size:clamp(57px,12vw,86px)}.hero-card{margin:0;max-width:420px}.scroll-cue{display:none}
  .section-head.split,.projects-head{grid-template-columns:1fr;gap:25px}.service-grid{grid-template-columns:repeat(2,1fr)}.partner-wrap,.contact-wrap{grid-template-columns:1fr;gap:60px}.partner-copy{max-width:700px}.partner-visual{max-width:700px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 1}.process-line{grid-template-columns:repeat(2,1fr);gap:45px 20px}.process-line:before{display:none}.why-us{grid-template-columns:1fr}.why-image{min-height:520px}.why-copy{padding:80px max(18px,calc((100vw - 760px)/2))}.contact-form{padding:34px}
}
@media (max-width:600px){
  :root{--container:calc(100% - 28px)}
  body{padding-bottom:64px}.section-pad{padding:72px 0}.brand-copy small{display:none}.hero{padding:104px 0 74px;min-height:730px}.hero-bg{background-position:61% center}.hero-grid{background-size:56px 56px}.hero-content{gap:42px}.hero h1{font-size:clamp(52px,17vw,72px);line-height:.88}.hero-copy>p{font-size:15px;margin:25px 0 28px}.hero-actions{display:grid;grid-template-columns:1fr}.btn{width:100%}.hero-trust{gap:16px;justify-content:space-between;margin-top:38px}.hero-trust div{gap:7px}.hero-trust span{font-size:9px}.hero-card{padding:28px}.hero-card-icon{margin-bottom:28px}
  .section-head h2,.partner h2,.why-copy h2,.contact h2{font-size:clamp(38px,12vw,53px)}.section-head.split,.projects-head{margin-bottom:38px}.section-head>p,.projects-head>p{font-size:14px}.service-grid{grid-template-columns:1fr}.service-card{min-height:340px}.service-card-image{min-height:430px}.service-icon{margin:35px 0 24px}.partner-wrap{gap:48px}.partner-stamp{right:-5px;top:-22px;width:120px;height:120px}.partner-caption{left:0;right:0}.gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:330px}.gallery-wide{grid-column:auto}.process-line{grid-template-columns:1fr;gap:35px}.process-step{display:grid;grid-template-columns:45px 1fr;column-gap:12px}.process-step b{grid-row:1/4;font-size:22px}.process-step>span{display:none}.process-step h3{grid-column:2}.process-step p{grid-column:2;max-width:none}.why-image{min-height:380px}.why-copy{padding:65px 20px}.contact-wrap{gap:46px}.contact-form{padding:24px 18px}.field-grid{grid-template-columns:1fr;gap:0}.form-top{align-items:flex-start;gap:6px;flex-direction:column}.contact-links strong{font-size:15px}.footer-top{align-items:flex-start;gap:35px;flex-direction:column}.footer-cta{text-align:left}.footer-bottom{gap:20px;flex-direction:column}.footer-bottom div{flex-direction:column;gap:8px}.whatsapp-float{display:none}.mobile-contact-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:100;bottom:0;left:0;right:0;height:64px;padding-bottom:env(safe-area-inset-bottom);background:#0b1719;box-shadow:0 -6px 24px rgba(0,0,0,.16)}.mobile-contact-bar a{display:flex;justify-content:center;align-items:center;gap:9px;color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.mobile-contact-bar a:last-child{background:var(--green)}.mobile-contact-bar span{font-size:18px}.lightbox figure{padding:70px 10px}.lightbox-close{right:10px;top:10px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition-duration:.001ms!important}}


/* Mobile polish 2.0 — vzdušnější typografie a pohodlnější ovládání */
.mobile-nav-contact{display:none}
.hero h1{line-height:.93;letter-spacing:-.038em}
.section-head h2,.partner h2,.why-copy h2,.contact h2{line-height:1.03;letter-spacing:-.025em}
.service-card h3,.service-overlay h3,.process-step h3{letter-spacing:.025em;line-height:1.28}

@media (max-width:900px){
  html{scroll-padding-top:82px}
  .site-header,.site-header.scrolled{height:76px}
  .site-header{background:rgba(10,22,24,.94)}
  .header-inner{gap:14px}
  .brand{gap:10px}
  .brand img{width:48px;height:48px;border-radius:2px}
  .brand-copy strong{font-size:15px;letter-spacing:.14em}
  .nav-toggle{width:48px;height:48px;padding:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04)}
  .nav-toggle span{margin:5px 0}
  .nav-toggle[aria-expanded="true"]{border-color:var(--accent);background:var(--accent)}
  .nav-toggle[aria-expanded="true"] span{background:var(--ink)}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .main-nav{padding:116px max(24px,7vw) calc(34px + env(safe-area-inset-bottom));justify-content:flex-start;overflow-y:auto;background:linear-gradient(145deg,#0b181a 0%,#112326 72%,#182d30 100%)}
  .main-nav:before{content:"MENU";display:block;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.25em;margin-bottom:22px}
  .main-nav>a{width:100%;font-size:clamp(25px,7vw,36px);line-height:1.12;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1);letter-spacing:-.015em}
  .main-nav>a:after{display:none}
  .mobile-nav-contact{display:grid;width:100%;grid-template-columns:1fr auto;gap:10px;margin-top:auto;padding-top:28px}
  .mobile-nav-contact small{grid-column:1/-1;color:rgba(255,255,255,.5);font-size:10px;text-transform:uppercase;letter-spacing:.13em}
  .mobile-nav-contact>a{padding:15px 16px!important;border:1px solid rgba(255,255,255,.16)!important;font-size:14px!important;line-height:1!important;letter-spacing:.02em!important;text-align:center}
  .mobile-nav-contact .mobile-nav-phone{font-size:17px!important;font-weight:900;background:#fff;color:var(--ink)}
  .mobile-nav-contact .mobile-nav-whatsapp{background:var(--green);border-color:var(--green)!important;font-weight:900}

  .hero{padding-top:128px}
  .hero h1{line-height:.96;letter-spacing:-.03em}
  .hero-copy>p{max-width:610px}
  .hero-card{border-radius:10px;overflow:hidden}
  .section-head h2,.partner h2,.why-copy h2,.contact h2{line-height:1.07;letter-spacing:-.018em}
  .section-head.split,.projects-head{gap:30px}
  .section-head>p,.projects-head>p{max-width:650px}
}

@media (max-width:600px){
  :root{--container:calc(100% - 36px)}
  html{scroll-padding-top:78px}
  body{font-size:15px;padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .section-pad{padding:84px 0}
  .site-header,.site-header.scrolled{height:72px}
  .brand img{width:46px;height:46px}
  .brand-copy strong{font-size:14px}
  .nav-toggle{width:46px;height:46px}

  .hero{min-height:auto;padding:118px 0 76px}
  .hero-bg{background-image:linear-gradient(180deg,rgba(8,19,21,.93) 0%,rgba(8,19,21,.78) 48%,rgba(8,19,21,.96) 100%),url('../images/hero-auto.webp');background-position:58% center}
  .hero-content{gap:46px}
  .eyebrow{font-size:9px;line-height:1.45;letter-spacing:.17em;margin-bottom:22px;gap:10px}
  .eyebrow span{width:26px;flex:0 0 26px}
  .hero h1{font-size:clamp(50px,15.7vw,66px);line-height:.98;letter-spacing:-.025em}
  .hero-copy>p{font-size:16px;line-height:1.72;margin:28px 0 30px}
  .hero-actions{gap:11px}
  .btn{min-height:60px;padding:0 20px;gap:14px;font-size:11px;border-radius:4px}
  .hero-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:32px}
  .hero-trust div{min-height:66px;padding:11px 8px;align-items:flex-start;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);gap:8px}
  .hero-trust strong{font-size:10px;margin-top:1px}
  .hero-trust span{font-size:8px;line-height:1.5;letter-spacing:.1em}
  .hero-card{max-width:none;width:100%;padding:30px 26px 26px;background:rgba(10,24,26,.86);border-color:rgba(255,255,255,.2);box-shadow:0 20px 45px rgba(0,0,0,.25)}
  .hero-card:before{inset:8px}
  .hero-card-icon{width:48px;height:48px;font-size:24px;margin-bottom:25px}
  .hero-card h2{font-size:23px;line-height:1.18;letter-spacing:.025em}
  .hero-card a{min-height:45px;align-items:flex-end;margin-top:22px}

  .section-head h2,.partner h2,.why-copy h2,.contact h2{font-size:clamp(37px,10.9vw,49px);line-height:1.09;letter-spacing:-.012em}
  .section-head.split,.projects-head{gap:24px;margin-bottom:42px}
  .section-head>p,.projects-head>p,.partner-copy>p,.why-copy>p,.contact-copy>p{font-size:15px;line-height:1.75}

  .service-grid{display:grid;gap:14px;border:0}
  .service-card{min-height:0;padding:30px 26px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.48);box-shadow:0 10px 28px rgba(8,19,21,.045)}
  .service-card:not(.service-card-image):hover{transform:none}
  .service-card-image{min-height:390px;padding:0;border:0}
  .service-card-image img{position:absolute}
  .service-overlay{inset:auto 24px 24px}
  .service-overlay h3{font-size:23px;letter-spacing:.03em}
  .service-icon{width:48px;height:48px;margin:28px 0 22px}
  .service-card h3{font-size:21px;letter-spacing:.035em;margin-bottom:12px}
  .service-card p{font-size:14px;line-height:1.72}
  .service-card>a{margin-top:26px;min-height:44px;align-items:center}

  .partner-wrap{gap:54px}
  .partner-copy>p{margin:26px 0 28px}
  .partner-points{margin-bottom:30px}
  .partner-points>div{grid-template-columns:30px 1fr;gap:12px;padding:16px 0}
  .partner-points span{font-size:13px;line-height:1.55}
  .partner-points strong{margin-bottom:3px;letter-spacing:.07em}
  .partner-visual{margin:0 5px}
  .partner-visual>img{aspect-ratio:1/1.03}
  .partner-visual:before{inset:12px}
  .partner-stamp{right:-9px;top:-27px;width:112px;height:112px;padding:16px}
  .partner-stamp strong{font-size:15px}
  .partner-caption{left:12px;right:12px;bottom:12px;padding:14px 16px}
  .partner-caption span{font-size:9px}
  .partner-caption small{font-size:11px}

  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;gap:8px}
  .gallery-wide{grid-column:span 2}
  .gallery-wide:nth-child(1){grid-row:span 2}
  .gallery-tall{grid-row:span 2}
  .gallery-item{border-radius:8px;min-width:0}
  .gallery-item:hover img{transform:none}
  .gallery-meta{left:12px;right:10px;bottom:11px}
  .gallery-meta b{font-size:10px;line-height:1.25;letter-spacing:.055em}
  .gallery-meta small{display:none}
  .gallery-item i{right:10px;top:10px;width:30px;height:30px;font-size:17px;background:rgba(7,17,19,.35);backdrop-filter:blur(6px)}

  .process-line{gap:14px}
  .process-step{display:grid;grid-template-columns:42px 1fr;padding:24px 22px;column-gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(8,19,21,.04)}
  .process-step b{grid-row:1/4;font-size:18px;margin:2px 0 0;color:var(--accent)}
  .process-step h3{font-size:17px;letter-spacing:.04em;margin-bottom:7px}
  .process-step p{font-size:14px;line-height:1.68}

  .why-image{min-height:340px}
  .why-copy{padding:76px 18px}
  .why-copy>p{margin:25px 0}
  .why-copy li{padding:14px 0;font-size:11px;line-height:1.5;letter-spacing:.055em}
  .text-link{display:inline-flex;align-items:center;min-height:46px}

  .contact-wrap{gap:50px}
  .contact-copy>p{margin:26px 0 30px}
  .contact-links{border-top:0;display:grid;gap:10px}
  .contact-links>a{grid-template-columns:48px minmax(0,1fr) 22px;padding:13px 14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);border-radius:8px}
  .contact-icon{width:44px;height:44px;border-radius:5px}
  .contact-links strong{font-size:14px}
  .contact-form{padding:27px 20px 23px;border-radius:12px;box-shadow:0 22px 55px rgba(0,0,0,.24)}
  .form-top{padding-bottom:18px;margin-bottom:22px}
  .contact-form label{margin-bottom:17px}
  .contact-form label>span{font-size:9px;margin-bottom:8px}
  .contact-form input,.contact-form textarea,.contact-form select{min-height:52px;padding:14px;border-radius:5px;font-size:16px}
  .contact-form textarea{min-height:125px}
  .form-note{line-height:1.5}

  .site-footer{padding:54px 0 26px}
  .footer-top{gap:32px;padding-bottom:34px}
  .footer-brand img{width:56px;height:56px}
  .footer-cta a{font-size:28px;letter-spacing:-.01em}
  .footer-bottom{padding-top:24px;font-size:10px;line-height:1.65}

  .mobile-contact-bar{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);grid-template-columns:1fr 1.12fr;background:#0a1517}
  .mobile-contact-bar a{min-width:0;font-size:11px;letter-spacing:.075em;border-top:1px solid rgba(255,255,255,.1)}
  .mobile-contact-bar a:first-child{border-right:1px solid rgba(255,255,255,.1)}
  .mobile-contact-bar span{font-size:20px}
  .lightbox figure{padding:72px 12px calc(80px + env(safe-area-inset-bottom))}
  .lightbox img{max-height:73vh}
  .lightbox figcaption{font-size:13px;text-align:center;padding:0 10px}
}

@media (max-width:380px){
  :root{--container:calc(100% - 28px)}
  .hero h1{font-size:47px}
  .hero-trust span{font-size:7.5px}
  .section-head h2,.partner h2,.why-copy h2,.contact h2{font-size:35px}
  .gallery{grid-auto-rows:170px}
  .mobile-nav-contact{grid-template-columns:1fr}
  .mobile-nav-contact small{grid-column:auto}
}

@media (hover:none){
  .btn:hover span,.service-card:not(.service-card-image):hover,.gallery-item:hover img,.whatsapp-float:hover{transform:none}
}

@media (max-width:900px){
  /* Backdrop-filter vytváří nový containing block a na některých mobilech zkracuje fullscreen menu na výšku hlavičky. */
  .site-header,.site-header.scrolled{-webkit-backdrop-filter:none;backdrop-filter:none}
}

@media (max-width:600px){
  .main-nav{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
}

@media (max-width:600px){
  .mobile-nav-contact{grid-template-columns:1fr;gap:9px}
  .mobile-nav-contact small{grid-column:auto}
  .mobile-nav-contact>a{min-height:50px;display:flex!important;align-items:center;justify-content:center;white-space:nowrap;padding:13px 12px!important}
  .mobile-nav-contact .mobile-nav-phone{font-size:16px!important}
}


/* Language switcher: always visible and accessible on desktop and mobile. */
.language-switcher{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.language-option{display:flex;align-items:center;justify-content:center;gap:5px;min-width:44px;height:36px;padding:0 8px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.045);color:#fff;border-radius:4px;font-size:10px;font-weight:900;letter-spacing:.08em;transition:.22s}
.language-option:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.1)}
.language-option.is-active{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.language-flag{font-size:15px;line-height:1;filter:saturate(.95)}
.language-code{line-height:1}

@media (max-width:1120px) and (min-width:901px){
  .language-option{min-width:38px;width:38px;padding:0}
  .language-code{display:none}
}

@media (max-width:900px){
  .header-inner{gap:9px}
  .language-switcher{order:2;margin-left:auto;position:relative;z-index:103;gap:4px}
  .nav-toggle{order:3;margin-left:0}
  .language-option{min-width:38px;width:38px;height:38px;padding:0;border-radius:5px}
  .language-code{display:none}
}

@media (max-width:420px){
  .language-switcher{gap:3px}
  .language-option{min-width:34px;width:34px;height:36px}
  .language-flag{font-size:14px}
  .header-inner{gap:6px}
}

@media (max-width:360px){
  .language-option{min-width:31px;width:31px}
  .language-flag{font-size:13px}
  .brand-copy{display:none}
}

/* Premium gallery & motion 3.0 */
.projects{position:relative;overflow:hidden;background:linear-gradient(180deg,#ebe7df 0%,#e4dfd5 100%)}
.projects:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 10%,rgba(255,255,255,.72),transparent 28%),linear-gradient(120deg,transparent 0 58%,rgba(16,28,30,.025) 58% 58.2%,transparent 58.2%)}
.projects .container{position:relative}
.projects-head{position:relative}
.projects-head:after{content:"";position:absolute;width:96px;height:3px;background:var(--accent);left:0;bottom:-26px;transform-origin:left;transform:scaleX(0);transition:transform .8s cubic-bezier(.22,1,.36,1) .25s}
.projects-head.in-view:after{transform:scaleX(1)}

.gallery-showcase{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(300px,.72fr);gap:16px;min-height:690px;position:relative}
.gallery-stage{min-width:0;position:relative;background:#0d191b;overflow:hidden;border-radius:14px;box-shadow:0 30px 70px rgba(8,19,21,.16)}
.gallery-stage:before{content:"";position:absolute;inset:13px;border:1px solid rgba(255,255,255,.2);border-radius:8px;z-index:3;pointer-events:none}
.gallery-stage-button{display:block;width:100%;height:100%;border:0;padding:0;background:#0d191b;color:#fff;text-align:left;position:relative;overflow:hidden}
.gallery-stage-media{position:absolute;inset:0;overflow:hidden}
.gallery-stage-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:opacity .42s ease,transform 1.1s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}
.gallery-stage-button:hover .gallery-stage-media img{transform:scale(1.075)}
.gallery-stage.is-changing .gallery-stage-media img{opacity:.18;transform:scale(1.09)}
.gallery-stage-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,13,14,.08) 25%,rgba(5,13,14,.22) 52%,rgba(5,13,14,.92) 100%),linear-gradient(90deg,rgba(5,13,14,.24),transparent 48%);z-index:1}
.gallery-stage-copy{position:absolute;z-index:2;left:44px;right:140px;bottom:46px;display:flex;flex-direction:column;align-items:flex-start}
.gallery-stage-counter{display:inline-flex;align-items:center;gap:10px;margin-bottom:13px;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.17em}
.gallery-stage-counter:after{content:"";width:42px;height:1px;background:currentColor}
.gallery-stage-title{font-size:clamp(26px,3vw,45px);line-height:1.02;text-transform:uppercase;letter-spacing:-.025em;max-width:700px}
.gallery-stage-subtitle{margin-top:10px;color:rgba(255,255,255,.68);font-size:14px;letter-spacing:.025em}
.gallery-stage-open{position:absolute;z-index:2;right:27px;top:27px;display:flex;align-items:center;gap:10px;min-height:43px;padding:0 15px;background:rgba(9,21,23,.6);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(12px);color:#fff;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.11em;transition:.28s}
.gallery-stage-open span{color:var(--accent);font-size:17px;transition:.28s}
.gallery-stage-button:hover .gallery-stage-open{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.gallery-stage-button:hover .gallery-stage-open span{color:var(--ink);transform:translate(2px,-2px)}
.gallery-stage-controls{position:absolute;z-index:5;right:28px;bottom:30px;display:flex;align-items:center;gap:12px}
.gallery-arrow{width:48px;height:48px;border:1px solid rgba(255,255,255,.3);background:rgba(9,21,23,.62);backdrop-filter:blur(10px);color:#fff;font-size:20px;display:grid;place-items:center;transition:.25s}
.gallery-arrow:hover{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:translateY(-2px)}
.gallery-progress{width:104px;height:2px;background:rgba(255,255,255,.25);overflow:hidden}
.gallery-progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .55s cubic-bezier(.22,1,.36,1)}

.gallery-panel{min-width:0;display:flex;flex-direction:column;background:rgba(255,255,255,.54);border:1px solid rgba(16,28,30,.11);border-radius:14px;padding:18px;box-shadow:0 20px 50px rgba(8,19,21,.07);overflow:hidden}
.gallery-panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:4px 3px 15px;margin-bottom:13px;border-bottom:1px solid var(--line)}
.gallery-panel-head strong{font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.gallery-panel-head span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.gallery.gallery-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:126px;gap:10px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--accent) rgba(16,28,30,.08)}
.gallery.gallery-thumbs::-webkit-scrollbar{width:5px}.gallery.gallery-thumbs::-webkit-scrollbar-track{background:rgba(16,28,30,.08)}.gallery.gallery-thumbs::-webkit-scrollbar-thumb{background:var(--accent)}
.gallery-thumb{position:relative;min-width:0;border:0;padding:0;overflow:hidden;border-radius:8px;background:#c9ccc7;color:#fff;text-align:left;opacity:0;transform:translateY(16px) scale(.975);animation:thumbEnter .62s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--thumb-delay,0ms) + 160ms)}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,1,.36,1),filter .3s,opacity .3s}
.gallery-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,14,16,.8),transparent 62%);transition:.28s}
.gallery-thumb .gallery-meta{left:11px;right:8px;bottom:9px;z-index:2}
.gallery-thumb .gallery-meta b{font-size:9px;line-height:1.25;letter-spacing:.07em}
.gallery-thumb .gallery-meta small{display:none}
.gallery-thumb i{right:8px;top:8px;width:25px;height:25px;border-radius:50%;border:1px solid rgba(255,255,255,.52);background:rgba(7,17,19,.28);font-size:15px;opacity:0;transform:scale(.8);transition:.25s}
.gallery-thumb:hover img{transform:scale(1.08)}
.gallery-thumb:hover i,.gallery-thumb.is-active i{opacity:1;transform:scale(1)}
.gallery-thumb.is-active{box-shadow:0 0 0 3px var(--accent)}
.gallery-thumb.is-active:after{background:linear-gradient(0deg,rgba(5,14,16,.88),rgba(226,45,53,.1))}
.gallery-thumb.is-active i{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:rotate(45deg)}
.gallery-thumb:focus-visible,.gallery-stage-button:focus-visible,.gallery-arrow:focus-visible,.lightbox-arrow:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

.lightbox{overflow:hidden;background:rgba(3,9,10,.975)}
.lightbox figure{position:relative;padding:72px 90px 68px}
.lightbox figure:before{content:"";position:absolute;inset:30px;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.lightbox img{max-height:calc(100vh - 168px);max-width:min(1240px,calc(100vw - 180px));border-radius:4px;box-shadow:0 28px 80px rgba(0,0,0,.4);transition:opacity .25s,transform .45s cubic-bezier(.22,1,.36,1)}
.lightbox.is-loading img{opacity:.18;transform:scale(.965)}
.lightbox figcaption{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:min(720px,70vw);text-align:center;color:rgba(255,255,255,.7);font-size:13px}
.lightbox-close{right:24px;top:22px;border-radius:50%;background:rgba(255,255,255,.04);backdrop-filter:blur(10px)}
.lightbox-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:54px;height:54px;border:1px solid rgba(255,255,255,.25);background:rgba(9,20,22,.56);backdrop-filter:blur(12px);color:#fff;font-size:22px;transition:.25s}
.lightbox-arrow:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.lightbox-prev{left:25px}.lightbox-next{right:25px}
.lightbox-count{position:absolute;left:27px;top:26px;color:rgba(255,255,255,.65);font-size:11px;font-weight:900;letter-spacing:.16em}

.js .reveal{transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1),clip-path .85s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.js .reveal-card{opacity:0;transform:translateY(34px) scale(.985)}
.js .reveal-scale{opacity:0;transform:translateY(26px) scale(.96);clip-path:inset(5% 2% 5% 2% round 12px)}
.js .reveal.in-view{opacity:1;transform:none;clip-path:inset(0 round 0)}
.section-head.in-view h2,.partner-copy .in-view h2{animation:titleRise .8s cubic-bezier(.22,1,.36,1) both}
.hero-bg{animation:heroBreath 15s ease-in-out infinite alternate}
.hero-grid{animation:gridDrift 18s linear infinite}
.partner-stamp{animation:stampFloat 4.8s ease-in-out infinite}
.partner-visual>img{transform:translate3d(0,var(--parallax-y,0),0) scale(1.045);transition:transform .18s linear}
.why-image{background-position:center calc(50% + var(--parallax-y,0));transition:background-position .18s linear}

@keyframes thumbEnter{to{opacity:1;transform:none}}
@keyframes titleRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes heroBreath{from{transform:scale(1.01)}to{transform:scale(1.055)}}
@keyframes gridDrift{from{background-position:0 0}to{background-position:86px 86px}}
@keyframes stampFloat{0%,100%{transform:rotate(4deg) translateY(0)}50%{transform:rotate(2deg) translateY(-8px)}}

@media (max-width:1120px){
  .gallery-showcase{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);min-height:620px}
  .gallery.gallery-thumbs{grid-auto-rows:110px}
  .gallery-stage-copy{left:34px;bottom:38px}
}

@media (max-width:900px){
  .gallery-showcase{grid-template-columns:1fr;gap:13px;min-height:0}
  .gallery-stage{height:min(67vw,560px)}
  .gallery-panel{padding:14px}
  .gallery.gallery-thumbs{display:flex;grid-template-columns:none;grid-auto-rows:auto;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:2px 2px 9px;scrollbar-width:none}
  .gallery.gallery-thumbs::-webkit-scrollbar{display:none}
  .gallery-thumb{flex:0 0 150px;height:108px;scroll-snap-align:center}
  .gallery-panel-head{margin-bottom:10px}
}

@media (max-width:600px){
  .projects.section-pad{padding-top:78px;padding-bottom:82px}
  .projects-head:after{bottom:-21px;width:70px}
  .gallery-showcase{margin-inline:-4px}
  .gallery-stage{height:118vw;max-height:520px;min-height:420px;border-radius:12px}
  .gallery-stage:before{inset:9px;border-radius:7px}
  .gallery-stage-media img{transform:scale(1.045)}
  .gallery-stage-overlay{background:linear-gradient(180deg,rgba(5,13,14,.04) 20%,rgba(5,13,14,.22) 48%,rgba(5,13,14,.95) 100%)}
  .gallery-stage-copy{left:23px;right:23px;bottom:88px}
  .gallery-stage-counter{font-size:9px;margin-bottom:10px}
  .gallery-stage-counter:after{width:30px}
  .gallery-stage-title{font-size:clamp(25px,8vw,34px);line-height:1.04;letter-spacing:-.012em}
  .gallery-stage-subtitle{font-size:12px;margin-top:7px}
  .gallery-stage-open{right:17px;top:17px;min-height:38px;padding:0 12px;font-size:8px;letter-spacing:.09em;background:rgba(8,19,21,.72)}
  .gallery-stage-open span{font-size:15px}
  .gallery-stage-controls{left:22px;right:22px;bottom:21px;justify-content:space-between;gap:9px}
  .gallery-arrow{width:43px;height:43px;font-size:18px;border-radius:50%}
  .gallery-progress{flex:1;width:auto}
  .gallery-panel{border-radius:12px;padding:12px 10px 10px;background:rgba(255,255,255,.6)}
  .gallery-panel-head{padding:2px 3px 11px}
  .gallery-panel-head strong{font-size:10px}.gallery-panel-head span{font-size:8px}
  .gallery-thumb{flex-basis:122px;height:94px;border-radius:7px;animation-duration:.7s}
  .gallery-thumb .gallery-meta{left:8px;bottom:7px}
  .gallery-thumb .gallery-meta b{font-size:8px;line-height:1.18}
  .gallery-thumb i{width:23px;height:23px;right:6px;top:6px;opacity:1;transform:scale(1);font-size:13px}
  .gallery-thumb:active{transform:scale(.965)}
  .lightbox figure{padding:70px 12px calc(92px + env(safe-area-inset-bottom))}
  .lightbox figure:before{inset:62px 8px calc(78px + env(safe-area-inset-bottom));border-radius:7px}
  .lightbox img{max-width:calc(100vw - 24px);max-height:calc(100vh - 178px - env(safe-area-inset-bottom));border-radius:7px}
  .lightbox figcaption{bottom:calc(37px + env(safe-area-inset-bottom));width:calc(100vw - 92px);font-size:11px;line-height:1.45}
  .lightbox-arrow{top:auto;bottom:calc(21px + env(safe-area-inset-bottom));width:42px;height:42px;border-radius:50%;font-size:18px}
  .lightbox-prev{left:12px}.lightbox-next{right:12px}
  .lightbox-count{left:14px;top:22px;font-size:9px}
  .lightbox-close{right:12px;top:12px;width:44px;height:44px}
  .js .reveal-card{transform:translateY(24px) scale(.985)}
  .js .reveal-scale{transform:translateY(20px) scale(.975);clip-path:inset(3% 1% 3% 1% round 10px)}
  .hero-bg{animation-duration:18s}
  .partner-stamp{animation-duration:4.2s}
}

@media (prefers-reduced-motion:reduce){
  .hero-bg,.hero-grid,.partner-stamp,.gallery-thumb{animation:none!important}
  .gallery-thumb{opacity:1;transform:none}
  .partner-visual>img,.why-image{transform:none!important;transition:none!important}
}


/* =========================================================
   LAUNCH LOADER + CINEMATIC PARALLAX
   ========================================================= */
html.loader-active,body.is-loading{overflow:hidden;overscroll-behavior:none}
.site-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:
  radial-gradient(circle at 72% 28%,rgba(226,45,53,.08),transparent 28%),
  radial-gradient(circle at 15% 85%,rgba(255,255,255,.035),transparent 31%),
  linear-gradient(135deg,#071214 0%,#0d191b 47%,#071113 100%);color:#fff;opacity:1;visibility:visible;clip-path:inset(0);transition:opacity .55s ease,clip-path .7s cubic-bezier(.76,0,.24,1),visibility 0s .7s}
.site-loader:before{content:"";position:absolute;inset:0;opacity:.34;background-image:
  linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
  radial-gradient(rgba(255,255,255,.12) .55px,transparent .7px);background-size:84px 84px,84px 84px,4px 4px;mix-blend-mode:screen;pointer-events:none}
.site-loader:after{content:"";position:absolute;inset:-30%;background:linear-gradient(110deg,transparent 42%,rgba(226,45,53,.06) 50%,transparent 58%);transform:translateX(-45%);animation:loaderSweep 2.8s .25s ease-in-out both;pointer-events:none}
.site-loader.is-leaving{opacity:0;clip-path:inset(0 0 100% 0);pointer-events:none}
.loader-shell{position:relative;width:min(980px,calc(100% - 48px));height:min(780px,calc(100svh - 54px));display:grid;grid-template-rows:auto auto minmax(185px,1fr) auto;align-items:center;z-index:2}
.loader-brand{justify-self:center;position:relative;opacity:0;transform:translateY(-18px) scale(.88);animation:loaderLogoIn .7s .12s cubic-bezier(.22,1,.36,1) forwards}
.loader-brand:before,.loader-brand:after{content:"";position:absolute;top:50%;width:86px;height:1px;background:linear-gradient(90deg,transparent,var(--accent))}
.loader-brand:before{right:calc(100% + 22px)}.loader-brand:after{left:calc(100% + 22px);transform:scaleX(-1)}
.loader-brand img{width:112px;height:112px;object-fit:cover;box-shadow:0 22px 50px rgba(0,0,0,.28)}
.loader-copy{text-align:center;align-self:center;margin-top:10px}
.loader-overline{margin:0 0 13px;display:flex;align-items:center;justify-content:center;gap:12px;color:rgba(255,255,255,.55);font-size:9px;font-weight:900;letter-spacing:.35em;opacity:0;animation:loaderFadeIn .6s .35s forwards}
.loader-overline span{display:block;width:27px;height:1px;background:var(--accent)}
.loader-copy h1{margin:0;display:flex;flex-direction:column;align-items:center;text-transform:uppercase;font-weight:950;line-height:.79;letter-spacing:-.055em}
.loader-copy h1 strong{font-size:clamp(43px,7.2vw,84px);font-style:normal;color:#fff;opacity:0;transform:translateY(30px);animation:loaderTitleIn .75s .38s cubic-bezier(.22,1,.36,1) forwards}
.loader-copy h1 em{font-size:clamp(54px,9.5vw,112px);font-style:normal;color:var(--accent);opacity:0;transform:translateY(34px);animation:loaderTitleIn .78s .52s cubic-bezier(.22,1,.36,1) forwards;text-shadow:0 16px 48px rgba(226,45,53,.12)}
.loader-services{margin-top:24px;color:rgba(255,255,255,.72);font-size:10px;font-weight:800;letter-spacing:.2em;display:flex;align-items:center;justify-content:center;gap:13px;opacity:0;animation:loaderFadeIn .6s .84s forwards}
.loader-services i{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(226,45,53,.08)}
.loader-collage{position:relative;width:min(760px,88%);height:100%;min-height:185px;justify-self:center;margin-top:7px;filter:drop-shadow(0 24px 35px rgba(0,0,0,.32))}
.loader-photo{position:absolute;top:12px;bottom:7px;margin:0;overflow:hidden;background:#172427;border:1px solid rgba(255,255,255,.11);opacity:0;transform:translateY(34px);animation:loaderPhotoIn .78s cubic-bezier(.22,1,.36,1) forwards}
.loader-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,19,21,.03),rgba(9,19,21,.38));border-bottom:2px solid var(--accent)}
.loader-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.05);animation:loaderPhotoDrift 5.8s ease-in-out infinite alternate}
.loader-photo-one{left:0;width:38%;clip-path:polygon(0 7%,100% 0,77% 100%,0 88%);animation-delay:.78s}
.loader-photo-two{left:28%;width:44%;z-index:2;clip-path:polygon(15% 0,100% 8%,82% 96%,0 100%);animation-delay:.9s}
.loader-photo-three{right:0;width:39%;clip-path:polygon(24% 4%,100% 0,100% 100%,0 92%);animation-delay:1.02s}
.loader-photo-two img{animation-delay:-1.5s}.loader-photo-three img{animation-delay:-2.5s}
.loader-progress-wrap{width:min(760px,88%);justify-self:center;padding:9px 2px 0;opacity:0;animation:loaderFadeIn .45s .98s forwards}
.loader-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:9px;font-weight:900;letter-spacing:.18em;color:rgba(255,255,255,.68)}
.loader-status b{color:var(--accent);font-size:11px;letter-spacing:.1em}
.loader-progress{height:3px;overflow:hidden;background:rgba(255,255,255,.12);position:relative}
.loader-progress:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.08) 22px 23px)}
.loader-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent-dark),var(--accent),#ff6a72);box-shadow:0 0 22px rgba(226,45,53,.55);transition:width .08s linear}
.loader-progress-wrap>small{display:block;margin-top:8px;color:rgba(255,255,255,.35);font-size:8px;letter-spacing:.17em;text-transform:uppercase}
.loader-lines{position:absolute;width:240px;height:240px;opacity:.38;background:repeating-linear-gradient(135deg,transparent 0 12px,var(--accent) 12px 13px,transparent 13px 24px);mask-image:linear-gradient(135deg,#000,transparent 72%)}
.loader-lines-left{left:-48px;top:-35px;animation:loaderLines 5s ease-in-out infinite alternate}
.loader-lines-right{right:-62px;bottom:-42px;transform:rotate(180deg);animation:loaderLinesRight 5.6s ease-in-out infinite alternate}
.loader-grid{position:absolute;right:7%;top:9%;width:145px;height:145px;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:19px 19px;mask-image:radial-gradient(circle,#000 20%,transparent 73%);animation:loaderGrid 8s linear infinite}

/* Scroll and pointer parallax layers */
.hero-bg{--hero-parallax-y:0px;animation:heroBreathParallax 15s ease-in-out infinite alternate;will-change:transform}
.hero-grid{--grid-parallax-x:0px;--grid-parallax-y:0px;transform:translate3d(var(--grid-parallax-x),var(--grid-parallax-y),0) scale(1.06);will-change:transform,background-position}
.hero-copy{--hero-copy-y:0px}
.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>p,.hero-copy>.hero-actions,.hero-copy>.hero-trust{transform:translate3d(0,var(--hero-copy-y),0);transition:transform .12s linear;will-change:transform}
.hero-card{--pointer-x:50%;--pointer-y:50%}
.hero-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(226,45,53,.15),transparent 34%);opacity:.8;transition:opacity .25s}
.gallery-stage-media img{--gallery-parallax-y:0px;transform:translate3d(0,var(--gallery-parallax-y),0) scale(1.075)}
.gallery-stage-button:hover .gallery-stage-media img{transform:translate3d(0,var(--gallery-parallax-y),0) scale(1.11)}
.gallery-stage.is-changing .gallery-stage-media img{opacity:.18;transform:translate3d(0,var(--gallery-parallax-y),0) scale(1.13)}
.service-card-image img{--service-parallax-y:0px;height:110%;top:-5%;transform:translate3d(0,var(--service-parallax-y),0) scale(1.055);will-change:transform}
.service-card-image:hover img{transform:translate3d(0,var(--service-parallax-y),0) scale(1.105)}
.partner-visual>img{will-change:transform}.why-image{will-change:background-position}
.section-head h2,.partner-copy h2,.why-copy h2,.contact-copy h2{position:relative}
.section-head h2:after,.partner-copy h2:after,.why-copy h2:after,.contact-copy h2:after{content:"";display:block;width:72px;height:3px;background:var(--accent);margin-top:22px;transform:scaleX(var(--line-scale,0));transform-origin:left;transition:transform .9s .2s cubic-bezier(.22,1,.36,1)}
.section-head.in-view h2:after,.partner-copy.in-view h2:after,.why-copy.in-view h2:after,.contact-copy.in-view h2:after,.in-view .section-head h2:after,.in-view .partner-copy h2:after,.in-view .why-copy h2:after,.in-view .contact-copy h2:after{--line-scale:1}

@keyframes loaderSweep{0%{transform:translateX(-45%)}100%{transform:translateX(55%)}}
@keyframes loaderLogoIn{to{opacity:1;transform:none}}
@keyframes loaderTitleIn{to{opacity:1;transform:none}}
@keyframes loaderFadeIn{to{opacity:1}}
@keyframes loaderPhotoIn{to{opacity:1;transform:none}}
@keyframes loaderPhotoDrift{from{transform:scale(1.04) translate3d(-1.5%,0,0)}to{transform:scale(1.11) translate3d(1.5%,-1.5%,0)}}
@keyframes loaderLines{from{transform:translate3d(0,0,0)}to{transform:translate3d(18px,12px,0)}}
@keyframes loaderLinesRight{from{transform:rotate(180deg) translate3d(0,0,0)}to{transform:rotate(180deg) translate3d(18px,12px,0)}}
@keyframes loaderGrid{to{background-position:19px 19px}}
@keyframes heroBreathParallax{from{transform:translate3d(0,var(--hero-parallax-y),0) scale(1.035)}to{transform:translate3d(0,var(--hero-parallax-y),0) scale(1.075)}}

@media (max-width:700px){
  .loader-shell{width:calc(100% - 28px);height:calc(100svh - 34px);grid-template-rows:auto auto minmax(160px,1fr) auto}
  .loader-brand img{width:82px;height:82px}.loader-brand:before,.loader-brand:after{width:45px}.loader-brand:before{right:calc(100% + 13px)}.loader-brand:after{left:calc(100% + 13px)}
  .loader-copy{margin-top:4px}.loader-copy h1{line-height:.84}.loader-copy h1 strong{font-size:clamp(31px,10vw,47px);letter-spacing:-.045em}.loader-copy h1 em{font-size:clamp(46px,15vw,69px)}
  .loader-overline{font-size:7px;margin-bottom:10px}.loader-services{font-size:7px;letter-spacing:.12em;gap:8px;margin-top:16px;white-space:nowrap}.loader-services i{width:4px;height:4px}
  .loader-collage{width:100%;min-height:155px;margin-top:3px}.loader-photo{top:10px;bottom:4px}
  .loader-progress-wrap{width:100%;padding-bottom:max(2px,env(safe-area-inset-bottom))}.loader-progress-wrap>small{font-size:6.5px;letter-spacing:.12em}.loader-status{font-size:7px}.loader-status b{font-size:9px}
  .loader-lines{width:165px;height:165px;opacity:.27}.loader-grid{right:-28px;top:12%;width:120px;height:120px}
  .hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>p,.hero-copy>.hero-actions,.hero-copy>.hero-trust{transition:transform .08s linear}
  .gallery-stage-media img{transform:translate3d(0,var(--gallery-parallax-y),0) scale(1.095)}
  .gallery-stage-button:hover .gallery-stage-media img{transform:translate3d(0,var(--gallery-parallax-y),0) scale(1.095)}
  .service-card-image img{height:108%;top:-4%}
  .service-card:active,.gallery-panel:active{transform:scale(.992)}
}

@media (max-height:690px){
  .loader-shell{height:calc(100svh - 24px);grid-template-rows:auto auto minmax(115px,1fr) auto}
  .loader-brand img{width:70px;height:70px}.loader-copy h1 strong{font-size:clamp(29px,7vh,50px)}.loader-copy h1 em{font-size:clamp(41px,10vh,73px)}
  .loader-services{margin-top:12px}.loader-collage{min-height:115px}.loader-progress-wrap{padding-top:2px}
}

@media (prefers-reduced-motion:reduce){
  .site-loader:after,.loader-lines,.loader-grid,.loader-photo img{animation:none!important}
  .loader-brand,.loader-overline,.loader-copy h1 strong,.loader-copy h1 em,.loader-services,.loader-photo,.loader-progress-wrap{opacity:1!important;transform:none!important;animation:none!important}
  .hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>p,.hero-copy>.hero-actions,.hero-copy>.hero-trust,.gallery-stage-media img,.service-card-image img{transition:none!important}
}

/* =========================================================
   COMPACT PHOTO PRESENTATION
   Menší zobrazení fotografií = ostřejší výsledek bez ztráty dat
   ========================================================= */

/* Galerie je na velkých displejích kompaktnější a fotografie se méně zvětšují. */
.gallery-showcase{
  width:min(1120px,100%);
  min-height:560px;
  margin-inline:auto;
  grid-template-columns:minmax(0,1.52fr) minmax(270px,.58fr);
  gap:14px;
}
.gallery-stage{height:560px;min-height:0}
.gallery-stage-media img{
  image-rendering:auto;
  transform:translate3d(0,var(--gallery-parallax-y),0) scale(1.018);
  filter:saturate(.98) contrast(1.018);
}
.gallery-stage-button:hover .gallery-stage-media img{
  transform:translate3d(0,var(--gallery-parallax-y),0) scale(1.045);
}
.gallery-stage.is-changing .gallery-stage-media img{
  opacity:.18;
  transform:translate3d(0,var(--gallery-parallax-y),0) scale(1.055);
}
.gallery.gallery-thumbs{grid-auto-rows:96px;gap:8px}
.gallery-panel{padding:15px}
.gallery-thumb img{image-rendering:auto;filter:contrast(1.015)}
.gallery-thumb:hover img{transform:scale(1.035)}

/* Lightbox už fotografii neroztahuje téměř přes celý monitor. */
.lightbox img{
  max-width:min(980px,calc(100vw - 210px));
  max-height:calc(100vh - 188px);
  object-fit:contain;
  image-rendering:auto;
}

/* Další velké fotografie držíme v rozumné fyzické velikosti. */
.partner-visual{max-width:610px;justify-self:end;width:100%}
.partner-visual>img{
  transform:translate3d(0,var(--parallax-y,0),0) scale(1.012);
  image-rendering:auto;
  filter:contrast(1.012);
}
.service-card-image{min-height:425px}
.service-card-image img{
  height:104%;
  top:-2%;
  transform:translate3d(0,var(--service-parallax-y),0) scale(1.018);
  image-rendering:auto;
}
.service-card-image:hover img{transform:translate3d(0,var(--service-parallax-y),0) scale(1.045)}
.why-us{min-height:610px}
.why-image{min-height:540px;background-size:cover}

/* Menší fotografie také v launch loaderu. */
.loader-collage,.loader-progress-wrap{width:min(650px,82%)}
.loader-photo img{animation-name:loaderPhotoDriftCompact}
@keyframes loaderPhotoDriftCompact{
  from{transform:scale(1.015) translate3d(-.7%,0,0)}
  to{transform:scale(1.045) translate3d(.7%,-.7%,0)}
}

@media (max-width:1120px){
  .gallery-showcase{width:min(100%,980px);min-height:500px;grid-template-columns:minmax(0,1.4fr) minmax(255px,.62fr)}
  .gallery-stage{height:500px}
  .gallery.gallery-thumbs{grid-auto-rows:88px}
  .partner-visual{max-width:560px}
}

@media (max-width:900px){
  .gallery-showcase{width:min(100%,700px);grid-template-columns:1fr;min-height:0;margin-inline:auto}
  .gallery-stage{width:100%;height:min(64vw,450px);min-height:360px;margin-inline:auto}
  .gallery-panel{width:100%;margin-inline:auto}
  .gallery.gallery-thumbs{gap:8px}
  .gallery-thumb{flex-basis:132px;height:94px}
  .partner-visual{max-width:560px;justify-self:center}
  .lightbox img{max-width:calc(100vw - 118px);max-height:calc(100vh - 180px)}
}

@media (max-width:600px){
  .gallery-showcase{width:100%;margin-inline:auto}
  .gallery-stage{
    width:min(100%,430px);
    height:min(91vw,400px);
    min-height:330px;
    max-height:400px;
    margin-inline:auto;
  }
  .gallery-stage-media img{
    transform:translate3d(0,var(--gallery-parallax-y),0) scale(1.02);
  }
  .gallery-stage-button:hover .gallery-stage-media img{
    transform:translate3d(0,var(--gallery-parallax-y),0) scale(1.02);
  }
  .gallery-stage.is-changing .gallery-stage-media img{
    transform:translate3d(0,var(--gallery-parallax-y),0) scale(1.035);
  }
  .gallery-stage-copy{bottom:82px}
  .gallery-panel{width:min(100%,430px);margin-inline:auto}
  .gallery-thumb{flex-basis:108px;height:80px}
  .partner-visual{max-width:430px;margin-inline:auto}
  .service-card-image{min-height:350px;max-height:390px}
  .service-card-image img{height:102%;top:-1%;transform:translate3d(0,var(--service-parallax-y),0) scale(1.01)}
  .service-card-image:hover img{transform:translate3d(0,var(--service-parallax-y),0) scale(1.01)}
  .why-image{min-height:320px}
  .loader-collage,.loader-progress-wrap{width:min(100%,530px)}
  .lightbox img{max-width:calc(100vw - 34px);max-height:calc(100vh - 205px - env(safe-area-inset-bottom))}
}

@media (min-width:1600px){
  /* Na velmi širokých monitorech obsah neroste spolu s viewportem. */
  .gallery-showcase{width:1080px}
  .partner-visual{max-width:590px}
  .why-us{max-width:1540px;margin-inline:auto}
}

@media (prefers-reduced-motion:reduce){
  .loader-photo img{animation:none!important}
  .gallery-stage-media img,.service-card-image img,.partner-visual>img{transform:none!important}
}

/* =========================================================
   COMPACT FEATURE PHOTOS
   Zmenšení dvou velkých obrazových bloků podle připomínky klienta
   ========================================================= */

/* Kompaktnější fotografie, více prostoru pro text. */
.partner-wrap{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:82px;
}
.partner-visual{
  max-width:485px;
  width:100%;
  justify-self:end;
}
.partner-visual>img{
  aspect-ratio:1/1.04;
  object-position:center;
}
.partner-stamp{
  right:-24px;
  top:-25px;
  width:126px;
  height:126px;
}

/* Technická příprava – fotografie již netvoří polovinu celé obrazovky. */
.why-us{
  width:min(1320px,calc(100% - 48px));
  max-width:1320px;
  min-height:550px;
  margin:42px auto;
  grid-template-columns:minmax(350px,.82fr) minmax(0,1.18fr);
  overflow:hidden;
}
.why-image{
  min-height:470px;
  margin:40px 0 40px 40px;
  background-size:cover;
  background-position:center calc(50% + var(--parallax-y,0));
  box-shadow:0 22px 60px rgba(0,0,0,.22);
}
.why-copy{
  padding-top:72px;
  padding-bottom:72px;
  padding-left:68px;
}

@media (max-width:1120px){
  .partner-wrap{grid-template-columns:minmax(0,1fr) minmax(330px,.82fr);gap:58px}
  .partner-visual{max-width:430px}
  .why-us{width:min(1060px,calc(100% - 32px));grid-template-columns:minmax(320px,.84fr) minmax(0,1.16fr)}
  .why-image{min-height:430px;margin:32px 0 32px 32px}
  .why-copy{padding-left:52px;padding-top:62px;padding-bottom:62px}
}

@media (max-width:900px){
  .partner-wrap{grid-template-columns:1fr;gap:48px}
  .partner-visual{max-width:410px;justify-self:center}
  .why-us{width:min(740px,calc(100% - 28px));grid-template-columns:1fr;margin:30px auto}
  .why-image{
    width:min(100% - 56px,590px);
    min-height:350px;
    margin:28px auto 0;
  }
  .why-copy{padding:62px 38px 70px}
}

@media (max-width:600px){
  .partner-visual{max-width:340px}
  .partner-stamp{right:-6px;top:-18px;width:104px;height:104px;padding:14px}
  .partner-stamp strong{font-size:14px}
  .why-us{width:calc(100% - 20px);margin:20px auto}
  .why-image{
    width:calc(100% - 28px);
    min-height:260px;
    max-height:300px;
    margin:14px auto 0;
  }
  .why-copy{padding:50px 20px 60px}
}

@media (min-width:1600px){
  .partner-visual{max-width:500px}
  .why-us{max-width:1320px}
}


/* =========================================================
   LANDSCAPE FEATURE CARDS
   Desktop photographs are deliberately short, wide cards.
   ========================================================= */

@media (min-width:901px){
  /* Partner image: horizontal card instead of a tall portrait block. */
  .partner-wrap{
    grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);
    gap:76px;
    align-items:center;
  }
  .partner-visual{
    width:100%;
    max-width:540px;
    height:320px;
    min-height:0;
    justify-self:end;
    overflow:visible;
  }
  .partner-visual>img{
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center 55%;
    transform:translate3d(0,var(--parallax-y,0),0) scale(1.018);
  }
  .partner-visual:before{
    inset:16px;
  }
  .partner-caption{
    left:16px;
    bottom:16px;
  }
  .partner-stamp{
    right:-18px;
    top:-22px;
  }

  /* Technical preparation: a compact landscape card vertically centered. */
  .why-us{
    width:min(1320px,calc(100% - 48px));
    max-width:1320px;
    min-height:0;
    margin:42px auto;
    grid-template-columns:minmax(390px,.82fr) minmax(0,1.18fr);
    align-items:center;
    overflow:hidden;
  }
  .why-image{
    width:calc(100% - 76px);
    height:320px;
    min-height:0;
    max-height:none;
    margin:0 0 0 38px;
    align-self:center;
    background-image:linear-gradient(0deg,rgba(8,19,21,.10),rgba(8,19,21,.03)),url('../images/why-feature.webp');
    background-size:cover;
    background-position:center calc(48% + var(--parallax-y,0));
    box-shadow:0 22px 60px rgba(0,0,0,.22);
  }
  .why-copy{
    padding:72px 64px 72px 68px;
  }
}

@media (min-width:901px) and (max-width:1120px){
  .partner-wrap{
    grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);
    gap:50px;
  }
  .partner-visual{
    max-width:460px;
    height:285px;
  }
  .why-us{
    grid-template-columns:minmax(330px,.76fr) minmax(0,1.24fr);
  }
  .why-image{
    width:calc(100% - 54px);
    height:285px;
    margin-left:28px;
  }
  .why-copy{
    padding:62px 44px 62px 48px;
  }
}

@media (max-width:900px){
  .partner-visual{
    width:min(100%,560px);
    max-width:560px;
    height:auto;
    aspect-ratio:16/10;
    overflow:visible;
  }
  .partner-visual>img{
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center 55%;
  }
  .why-image{
    width:min(calc(100% - 48px),590px);
    height:auto;
    min-height:0;
    aspect-ratio:16/10;
    margin:28px auto 0;
    background-image:linear-gradient(0deg,rgba(8,19,21,.10),rgba(8,19,21,.03)),url('../images/why-feature.webp');
    background-size:cover;
    background-position:center calc(48% + var(--parallax-y,0));
  }
}

@media (max-width:600px){
  .partner-visual{
    width:min(100%,390px);
    max-width:390px;
    aspect-ratio:16/10;
  }
  .why-image{
    width:calc(100% - 28px);
    min-height:0;
    max-height:none;
    aspect-ratio:16/10;
    margin:14px auto 0;
  }
}


/* =========================================================
   PREMIUM EXPERIENCE
   ========================================================= */
:root{--radius-lg:22px;--radius-md:14px;--soft-shadow:0 24px 80px rgba(7,18,20,.12)}
.scroll-progress{position:fixed;inset:0 0 auto;z-index:10002;height:3px;pointer-events:none;background:transparent}
.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent-dark),var(--accent),#69d2ce);box-shadow:0 0 18px rgba(226,45,53,.5);transition:width .08s linear}
.hero-region-badge{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:8px 12px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.055);backdrop-filter:blur(8px);font-size:9px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.75)}
.hero-region-badge span{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(226,45,53,.1)}
.hero-content{grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:72px}
.hero-showcase{align-self:end;margin-bottom:54px;position:relative;background:rgba(8,20,22,.82);border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 80px rgba(0,0,0,.3);backdrop-filter:blur(18px);overflow:hidden;border-radius:var(--radius-md)}
.hero-showcase:before{content:"";position:absolute;inset:10px;z-index:3;border:1px solid rgba(255,255,255,.07);border-radius:8px;pointer-events:none}
.hero-showcase-media{position:relative;height:250px;margin:0;overflow:hidden;background:#152527}
.hero-showcase-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(6,16,18,.72));pointer-events:none}
.hero-showcase-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.025);transition:transform .7s cubic-bezier(.22,1,.36,1),filter .5s}
.hero-showcase:hover .hero-showcase-media img{transform:scale(1.075);filter:saturate(1.08)}
.hero-showcase-number{position:absolute;z-index:2;right:20px;bottom:16px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.16em}
.hero-showcase-body{padding:26px 28px 28px;position:relative}
.hero-showcase-status{display:flex;align-items:center;gap:9px;margin-bottom:18px;color:rgba(255,255,255,.62);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.hero-showcase-status i{width:7px;height:7px;border-radius:50%;background:#3fe078;box-shadow:0 0 0 6px rgba(63,224,120,.1);animation:statusPulse 2.2s infinite}
.hero-showcase-body>p{margin:0 0 6px;color:var(--accent);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.17em}
.hero-showcase-body h2{margin:0;color:#fff;font-size:30px;line-height:1.04;letter-spacing:-.035em;text-transform:uppercase}
.hero-showcase-meta{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 22px}
.hero-showcase-meta span{padding:7px 9px;border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.66);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.hero-showcase-body>a{display:flex;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.hero-showcase-body>a b{color:var(--accent);font-size:18px;transition:transform .25s}.hero-showcase-body>a:hover b{transform:translate(3px,-3px)}
.proof-strip{position:relative;z-index:4;margin-top:-1px;background:#fff;border-bottom:1px solid var(--line)}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-grid article{min-height:128px;display:grid;grid-template-columns:36px 1fr;gap:18px;align-items:center;padding:25px 26px;border-right:1px solid var(--line)}
.proof-grid article:first-child{border-left:1px solid var(--line)}
.proof-grid b{align-self:start;margin-top:5px;color:var(--accent);font-size:10px;letter-spacing:.1em}
.proof-grid div{display:flex;flex-direction:column;gap:7px}.proof-grid strong{font-size:13px;line-height:1.25;text-transform:uppercase;letter-spacing:.04em}.proof-grid span{color:var(--muted);font-size:11px;line-height:1.45}
.selector-section{position:relative;background:#eae6de;overflow:hidden}
.selector-section:before{content:"";position:absolute;right:-140px;top:-180px;width:520px;height:520px;border:1px solid rgba(16,28,30,.08);border-radius:50%;box-shadow:0 0 0 70px rgba(16,28,30,.025),0 0 0 140px rgba(16,28,30,.018)}
.selector-wrap{position:relative}
.selector-heading{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:end;margin-bottom:48px}
.selector-heading .eyebrow{grid-column:1/-1;margin-bottom:-28px}.selector-heading h2{margin:0;font-size:clamp(44px,5vw,74px);line-height:.95;letter-spacing:-.05em;text-transform:uppercase}.selector-heading p{margin:0;max-width:500px;color:var(--muted);font-size:15px;line-height:1.75}
.selector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.selector-option{min-height:230px;position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:26px 24px;border:1px solid rgba(16,28,30,.13);border-radius:var(--radius-md);background:rgba(255,255,255,.43);color:var(--ink);transition:transform .3s,border-color .3s,background .3s,box-shadow .3s;overflow:hidden}
.selector-option:before{content:"";position:absolute;inset:auto -45px -70px auto;width:150px;height:150px;border-radius:50%;border:1px solid rgba(16,28,30,.08);transition:transform .35s,background .35s}
.selector-option:hover{transform:translateY(-7px);background:#fff;border-color:rgba(16,28,30,.23);box-shadow:var(--soft-shadow)}
.selector-option.is-selected{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 24px 55px rgba(7,18,20,.22);transform:translateY(-7px)}
.selector-option.is-selected:before{background:rgba(226,45,53,.12);border-color:rgba(226,45,53,.3);transform:scale(1.2)}
.selector-option-index{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.13em}
.selector-option-check{position:absolute;right:18px;top:18px;width:26px;height:26px;display:grid;place-items:center;border:1px solid rgba(16,28,30,.18);border-radius:50%;font-size:11px;opacity:.55;transition:.25s}
.selector-option.is-selected .selector-option-check{opacity:1;background:var(--accent);border-color:var(--accent);color:var(--ink)}
.selector-option strong{margin-top:auto;font-size:18px;line-height:1.15;text-transform:uppercase;letter-spacing:.015em}.selector-option small{display:block;margin-top:10px;color:var(--muted);font-size:12px;line-height:1.55}.selector-option.is-selected small{color:rgba(255,255,255,.6)}
.selector-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:26px;padding-top:24px;border-top:1px solid rgba(16,28,30,.13)}
.selector-footer>span{color:var(--muted);font-size:12px}.selector-continue{width:auto}.selector-continue b{font-size:17px}
.faq{background:#fff}.faq-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px;align-items:start}.faq-heading{position:sticky;top:120px}.faq-heading h2{margin:0;font-size:clamp(42px,5vw,70px);line-height:.96;letter-spacing:-.05em;text-transform:uppercase}.faq-heading>p{max-width:450px;margin:26px 0 0;color:var(--muted);line-height:1.75}.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:88px;padding:20px 0;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:17px;font-weight:800;line-height:1.35}.faq-list summary i{position:relative;flex:0 0 36px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;transition:.3s}.faq-list summary i:before,.faq-list summary i:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:var(--ink);transform:translate(-50%,-50%);transition:.3s}.faq-list summary i:after{transform:translate(-50%,-50%) rotate(90deg)}.faq-list details[open] summary i{background:var(--accent);border-color:var(--accent)}.faq-list details[open] summary i:after{transform:translate(-50%,-50%) rotate(0);opacity:0}.faq-list details p{max-width:710px;margin:-6px 60px 28px 0;color:var(--muted);line-height:1.75;font-size:14px}.faq-list details[open] summary span{color:var(--accent-dark)}
.contact{position:relative}.contact:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 12%,rgba(226,45,53,.09),transparent 26%);pointer-events:none}.contact-wrap{position:relative}
.contact-form{border-radius:var(--radius-md);box-shadow:0 35px 90px rgba(0,0,0,.22)}
.service-card,.partner-visual,.gallery-stage,.gallery-panel,.contact-links>a{border-radius:var(--radius-md)}
.service-grid{gap:12px;border:0}.service-card{border:1px solid var(--line)}.service-card-image{border:0}.service-card-image:after{border-radius:inherit}.service-card-image img{border-radius:inherit}
@keyframes statusPulse{0%,100%{box-shadow:0 0 0 6px rgba(63,224,120,.1)}50%{box-shadow:0 0 0 10px rgba(63,224,120,.02)}}
@media(max-width:1120px){.hero-content{grid-template-columns:minmax(0,1fr) 360px;gap:42px}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-grid article:nth-child(3){border-left:1px solid var(--line);border-top:1px solid var(--line)}.proof-grid article:nth-child(4){border-top:1px solid var(--line)}.selector-grid{grid-template-columns:repeat(2,1fr)}.faq-wrap{gap:60px}}
@media(max-width:900px){.hero-content{grid-template-columns:1fr}.hero-showcase{max-width:520px;margin:0}.hero-showcase-media{height:280px}.proof-strip{margin-top:0}.selector-heading{grid-template-columns:1fr;gap:20px}.selector-heading .eyebrow{grid-column:auto;margin-bottom:0}.faq-wrap{grid-template-columns:1fr;gap:44px}.faq-heading{position:static}.faq-heading>p{max-width:650px}}
@media(max-width:600px){.scroll-progress{height:2px}.hero-region-badge{margin-bottom:15px;font-size:8px}.hero-showcase{border-radius:12px}.hero-showcase-media{height:220px}.hero-showcase-body{padding:22px 20px 24px}.hero-showcase-body h2{font-size:25px}.proof-grid{grid-template-columns:1fr}.proof-grid article{min-height:98px;border-left:1px solid var(--line);border-top:1px solid var(--line);padding:18px 16px}.proof-grid article:first-child{border-top:0}.selector-heading{margin-bottom:34px}.selector-heading h2{font-size:clamp(38px,12vw,52px)}.selector-grid{grid-template-columns:1fr;gap:10px}.selector-option{min-height:175px;padding:22px 20px}.selector-option:hover,.selector-option.is-selected{transform:none}.selector-footer{align-items:stretch;flex-direction:column}.selector-footer>span{text-align:center}.selector-continue{width:100%}.faq{padding-top:78px}.faq-heading h2{font-size:clamp(38px,12vw,52px)}.faq-list summary{min-height:76px}.faq-list summary span{font-size:15px}.faq-list summary i{flex-basis:34px;width:34px;height:34px}.faq-list details p{margin:-3px 44px 24px 0;font-size:13px}.service-grid{gap:10px}}
@media(prefers-reduced-motion:reduce){.hero-showcase-status i{animation:none}.scroll-progress span{transition:none}}

/* Compact mobile hero: the desktop project showcase is intentionally hidden
   to keep the first screen focused and reduce unnecessary scrolling. */
@media(max-width:600px){
  .hero-showcase{display:none}
  .hero-content{gap:0}
  .hero{min-height:760px;padding-bottom:82px}
}


/* =========================================================
   BRAND PROMISE
   ========================================================= */
.brand-promise{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:92px 0}
.brand-promise:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(226,45,53,.15),transparent 31%),linear-gradient(115deg,rgba(255,255,255,.025),transparent 42%);pointer-events:none}
.brand-promise:after{content:"SERVICE / PEOPLE";position:absolute;right:-18px;bottom:-10px;color:rgba(255,255,255,.025);font-size:clamp(62px,10vw,150px);font-weight:900;line-height:.78;letter-spacing:-.08em;white-space:nowrap;pointer-events:none}
.brand-promise-wrap{position:relative;display:grid;grid-template-columns:110px minmax(0,.95fr) minmax(360px,1.05fr);gap:54px;align-items:center}
.brand-promise-mark{width:88px;height:88px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);font-size:42px;font-weight:900;color:var(--accent);transform:rotate(-4deg);box-shadow:inset 0 0 0 10px rgba(255,255,255,.025)}
.brand-promise-copy h2{margin:14px 0 24px;font-size:clamp(42px,5.3vw,74px);line-height:.94;letter-spacing:-.055em;text-transform:uppercase}
.brand-promise-copy h2 em{color:var(--accent);font-style:normal}
.brand-promise-copy>p{max-width:620px;margin:0;color:rgba(255,255,255,.66);font-size:15px;line-height:1.82}
.brand-promise-values{border-top:1px solid rgba(255,255,255,.13)}
.brand-promise-values>div{display:grid;grid-template-columns:38px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.brand-promise-values b{padding-top:3px;color:var(--accent);font-size:10px;letter-spacing:.12em}
.brand-promise-values span{display:flex;flex-direction:column;gap:7px;color:rgba(255,255,255,.58);font-size:12px;line-height:1.65}
.brand-promise-values strong{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.055em}
.process-step p{max-width:275px}
@media(max-width:1120px){.brand-promise-wrap{grid-template-columns:80px 1fr;gap:36px}.brand-promise-values{grid-column:2}}
@media(max-width:700px){.brand-promise{padding:72px 0}.brand-promise-wrap{grid-template-columns:1fr;gap:30px}.brand-promise-mark{width:66px;height:66px;font-size:31px}.brand-promise-values{grid-column:auto}.brand-promise-copy h2{font-size:clamp(39px,12vw,56px)}.brand-promise-copy>p{font-size:14px}.brand-promise:after{font-size:68px;right:-8px}.process-step p{max-width:none}}

/* Auto-opravy Mareš – brand adaptations while preserving the Blockplot layout */
.brand-mares{gap:14px;min-width:268px}
.brand-mares img{width:112px;height:44px;object-fit:contain;object-position:left center;border-radius:0}
.brand-mares .brand-copy strong{font-size:14px;letter-spacing:.085em}
.brand-mares .brand-copy small{font-size:8px;letter-spacing:.09em}
.site-header.scrolled .brand-mares img{filter:none}
.social-link{width:auto;min-width:48px;padding:0;background:transparent;border:0}
.social-link .language-option{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#fff;background:rgba(255,255,255,.05)}
.social-link .language-option:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.loader-brand-wide img{width:240px;height:94px;object-fit:contain;box-shadow:none;filter:drop-shadow(0 20px 32px rgba(0,0,0,.28))}
.loader-brand-wide:before{right:calc(100% + 10px)}
.loader-brand-wide:after{left:calc(100% + 10px)}
.hero-bg{background-position:center 45%}
.hero-showcase-media img{object-position:center 45%}
.partner:before{content:"D&P"}
.partner-stamp{color:#fff}
.why-image{background-image:linear-gradient(0deg,rgba(7,19,29,.12),rgba(7,19,29,.04)),url('../images/why-feature.webp')}
.contact-links strong{word-break:break-word}
.footer-brand img{width:136px;height:54px}
@media(max-width:1180px){
  .brand-mares{min-width:auto}
  .brand-mares img{width:98px;height:40px}
  .brand-mares .brand-copy{display:none}
  .social-link{display:none}
}
@media(max-width:700px){
  .brand-mares img{width:91px;height:36px}
  .loader-brand-wide img{width:178px;height:70px}
  .footer-brand img{width:142px;height:56px}
  .footer-brand .brand-copy{display:flex}
  .hero-bg{background-position:58% center}
}
@media(max-width:420px){
  .loader-brand-wide img{width:156px;height:62px}
  .contact-links strong{font-size:13px}
}
@media(max-width:700px){.brand-mares img{width:118px;height:46px}}


/* Mobile header & menu refinements for Auto-opravy Mareš */
@media (max-width:900px){
  .header-inner{justify-content:space-between; align-items:center}
  .brand-mares{flex:1 1 auto; min-width:0; max-width:calc(100% - 120px)}
  .main-nav{left:0; right:0; width:100vw; max-width:100vw}
}

@media (max-width:700px){
  :root{--container:calc(100% - 22px)}
  .site-header,.site-header.scrolled{height:78px}
  .site-header{background:rgba(8,20,22,.96)}
  .header-inner{gap:12px}
  .brand-mares{max-width:calc(100% - 86px)}
  .brand-mares img{width:128px;height:50px}
  .nav-toggle{width:54px;height:54px;flex:0 0 54px;padding:13px;border-radius:4px}
  .nav-toggle span{margin:5px 0}
  .main-nav{padding:108px 24px calc(36px + env(safe-area-inset-bottom))}
  .main-nav>a{padding:17px 0;font-size:clamp(25px,7.2vw,35px)}
}

@media (max-width:480px){
  :root{--container:calc(100% - 16px)}
  html{scroll-padding-top:82px}
  .site-header,.site-header.scrolled{height:76px}
  .header-inner{gap:10px}
  .brand-mares{max-width:calc(100% - 74px)}
  .brand-mares img{width:122px;height:48px}
  .nav-toggle{width:52px;height:52px;flex-basis:52px}
  .main-nav{padding-inline:18px}
  .mobile-nav-contact{padding-top:24px}
  .mobile-nav-contact>a{width:100%}
}

@media (max-width:380px){
  :root{--container:calc(100% - 14px)}
  .brand-mares img{width:114px;height:44px}
  .nav-toggle{width:50px;height:50px;flex-basis:50px;padding:12px}
}


/* D&P SERVIS SK — black, red and white brand adaptation */
.brand-mares img{object-fit:contain;background:#050507}
.loader-brand-wide img{background:#050507}
.whatsapp-float{background:#d9232e}.whatsapp-float:hover{background:#b71922}
.mobile-contact-bar a:last-child{background:#d9232e}
.partner-stamp{background:#e22d35;color:#fff}
.brand-promise-mark{font-size:24px;letter-spacing:-.08em}
.header-phone{min-width:190px}
.header-phone span{display:flex;flex-direction:column}
.header-phone strong{font-size:13px}
@media(max-width:700px){.brand-mares img{width:138px;height:50px}.brand-promise-mark{font-size:22px}.loader-brand-wide img{width:205px;height:78px}}
@media(max-width:420px){.brand-mares img{width:126px;height:46px}.loader-brand-wide img{width:180px;height:68px}}


/* D&P SERVIS SK — contact details and opening hours */
.opening-hours{margin-top:24px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);display:grid;grid-template-columns:1fr 1fr}
.opening-hours>div{padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:3px 16px;align-items:center}
.opening-hours>div+div{border-left:1px solid rgba(255,255,255,.14)}
.opening-hours span{grid-column:1/-1;color:rgba(255,255,255,.5);font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.opening-hours strong{color:#fff;font-size:13px;letter-spacing:.06em}
.opening-hours b{color:var(--accent);font-size:13px}
.call-float{background:var(--accent)}
.call-float:hover{background:#d9232f}
@media(max-width:600px){
  .opening-hours{grid-template-columns:1fr}
  .opening-hours>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.14)}
  .contact-links strong{font-size:12px;line-height:1.35}
}


/* Local SEO section */
.local-seo{background:#f4f1eb;border-top:1px solid rgba(11,17,20,.08);border-bottom:1px solid rgba(11,17,20,.08)}
.local-seo-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:82px;align-items:start}
.local-seo-heading h2{font-size:clamp(43px,5vw,72px);line-height:1.02;margin:0 0 26px;letter-spacing:-.035em;text-transform:uppercase}
.local-seo-heading h2 em{font-style:normal;color:var(--accent)}
.local-seo-heading>p{max-width:600px;color:#59666b;font-size:16px;line-height:1.85}
.local-seo-actions{display:flex;align-items:center;gap:25px;margin-top:32px}
.local-seo-cities{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(11,17,20,.14);border-left:1px solid rgba(11,17,20,.14)}
.local-seo-cities article{display:grid;grid-template-columns:42px 1fr;gap:15px;min-height:154px;padding:26px;border-right:1px solid rgba(11,17,20,.14);border-bottom:1px solid rgba(11,17,20,.14);background:#fff}
.local-seo-cities article>b{color:var(--accent);font-size:11px;letter-spacing:.12em;padding-top:3px}
.local-seo-cities article div{display:flex;flex-direction:column;gap:7px}
.local-seo-cities strong{font-size:14px;text-transform:uppercase;letter-spacing:.04em}
.local-seo-cities span{color:#667278;font-size:12px;line-height:1.65}
.local-seo-links{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px;border-top:1px solid rgba(11,17,20,.14);border-left:1px solid rgba(11,17,20,.14)}
.local-seo-links a{display:flex;flex-direction:column;gap:9px;min-height:112px;padding:24px;border-right:1px solid rgba(11,17,20,.14);border-bottom:1px solid rgba(11,17,20,.14);background:#fff;transition:.25s}
.local-seo-links a:hover{background:var(--accent);color:#fff;transform:translateY(-3px)}
.local-seo-links span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.13em;color:var(--accent)}
.local-seo-links a:hover span{color:#fff}
.local-seo-links b{font-size:13px;line-height:1.45}

/* SEO landing pages */
.seo-page{background:#fff}
.seo-hero{padding:150px 0 88px;background:linear-gradient(135deg,#0a0b0d 0%,#16181c 100%);color:#fff;position:relative;overflow:hidden}
.seo-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(210,34,36,.06));pointer-events:none}
.seo-hero .container{position:relative;z-index:1}
.seo-breadcrumb{display:flex;gap:9px;align-items:center;margin-bottom:32px;color:rgba(255,255,255,.55);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.seo-breadcrumb a:hover{color:var(--accent)}
.seo-hero h1{max-width:920px;margin:0;font-size:clamp(50px,8vw,104px);line-height:.9;letter-spacing:-.05em;text-transform:uppercase}
.seo-hero h1 em{display:block;font-style:normal;color:var(--accent)}
.seo-hero p{max-width:720px;margin:30px 0 0;color:rgba(255,255,255,.72);font-size:17px;line-height:1.8}
.seo-content{padding:90px 0}
.seo-content-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.65fr);gap:78px}
.seo-article h2{font-size:clamp(34px,4vw,58px);line-height:1.05;letter-spacing:-.03em;margin:0 0 24px;text-transform:uppercase}
.seo-article h3{font-size:22px;margin:42px 0 14px}
.seo-article p,.seo-article li{color:#58666b;line-height:1.85}
.seo-article ul{padding-left:20px}
.seo-side{border:1px solid rgba(11,17,20,.14);padding:30px;height:max-content;position:sticky;top:105px}
.seo-side h2{font-size:22px;margin:0 0 20px;text-transform:uppercase}
.seo-side a:not(.btn){display:block;padding:13px 0;border-bottom:1px solid rgba(11,17,20,.1);font-size:13px;font-weight:800}
.seo-side .btn{margin-top:26px;width:100%}
.seo-city-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.seo-city-list span{padding:8px 11px;border:1px solid rgba(11,17,20,.13);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:900px){.local-seo-wrap,.seo-content-grid{grid-template-columns:1fr;gap:48px}.local-seo-links{grid-template-columns:1fr 1fr}.seo-side{position:static}.seo-hero{padding-top:130px}}
@media(max-width:600px){.local-seo-cities,.local-seo-links{grid-template-columns:1fr}.local-seo-actions{align-items:stretch;flex-direction:column}.local-seo-actions .btn{width:100%}.seo-hero{padding:116px 0 68px}.seo-hero h1{font-size:clamp(46px,15vw,70px)}.seo-hero p{font-size:15px}.seo-content{padding:70px 0}.seo-side{padding:22px}}
