:root{--navy:#091d34;--navy2:#0d2c4d;--blue:#075eb6;--blue2:#197bd0;--ice:#a9d9ff;--ink:#14263b;--muted:#536579;--line:#dce5ee;--pale:#f3f7fb}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:132px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(1240px,calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;z-index:200;left:12px;top:-70px;padding:10px 16px;background:#fff;color:var(--navy)}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #61b9ff;outline-offset:3px}.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 5px 25px rgba(7,29,53,.09)}.header-top{height:32px;display:flex;align-items:center;justify-content:flex-end;border-bottom:1px solid #edf1f5;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.025em}.header-top>div{display:flex;gap:26px;color:var(--navy)}.header-top a:hover,.main-nav a:hover{color:var(--blue)}.nav-wrap{height:96px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;flex-shrink:0;min-width:86px}.logo-frame{display:block;position:relative;width:86px;height:90px;overflow:hidden;background:#fff;flex:none}.logo-frame img{position:absolute;width:190px;max-width:none;height:auto;left:-55px;top:-8px}.brand-caption{border-left:1px solid var(--line);margin-left:10px;padding-left:15px;color:#637287;font-size:11px;line-height:1.4;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.main-nav{display:flex;align-items:center;gap:clamp(12px,1.35vw,22px);margin-left:auto;white-space:nowrap}.main-nav a{font-size:14px;font-weight:800;transition:color .2s}.main-nav a:first-child{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 21px;border:1px solid transparent;border-radius:9px;font-size:14px;font-weight:800;text-align:center;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 18px rgba(0,87,176,.18)}.btn-primary:hover{background:#084e96;box-shadow:0 12px 23px rgba(0,87,176,.25)}.btn-outline{color:#fff;border-color:var(--ice);background:rgba(7,30,55,.2)}.btn-outline:hover{background:rgba(255,255,255,.12)}.menu-toggle{display:none;background:none;border:0;padding:11px;margin-left:auto;cursor:pointer}.menu-toggle span{display:block;width:28px;height:3px;margin:5px 0;border-radius:2px;background:var(--navy)}
.hero{position:relative;isolation:isolate;min-height:570px;display:flex;align-items:center;background:var(--navy) url('img/hero-floor-v2.webp') center 54%/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,21,39,.98),rgba(5,28,51,.88) 36%,rgba(4,23,43,.36) 74%,rgba(4,23,43,.12))}.hero-content{padding:95px 0 100px;color:#fff}.eyebrow{margin:0 0 13px;color:var(--blue);font-size:12px;line-height:1.3;font-weight:900;letter-spacing:.15em}.hero .eyebrow{color:var(--ice)}h1,h2,h3,p{margin-top:0}.hero h1{max-width:900px;margin-bottom:22px;font-size:clamp(44px,5.25vw,76px);line-height:1.04;letter-spacing:-.045em;text-transform:uppercase}.hero h1 span{display:block;color:var(--ice)}.hero-text{max-width:580px;color:#e5f1fc;font-size:18px;line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:29px}.trust-strip{background:#0b2a4b;color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{min-height:98px;display:flex;align-items:center;gap:18px;padding:16px 20px;border-right:1px solid rgba(255,255,255,.15)}.trust-item:last-child{border-right:0}.trust-item>span{color:var(--ice);font-size:34px;font-weight:400;line-height:1}.trust-item p{margin:0;font-size:13px;font-weight:700;line-height:1.4}
.section{padding:84px 0}.section-muted{background:var(--pale)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:30px}.section-heading>div{flex:none}.section-heading h2{margin:0;color:var(--navy);font-size:clamp(31px,3.2vw,45px);line-height:1.1;letter-spacing:-.04em;text-transform:uppercase}.section-heading h2 span{color:var(--blue)}.section-heading>p{max-width:440px;margin:0 0 4px;color:var(--muted);font-size:15px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service-card{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 10px 27px rgba(8,38,70,.06);transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(8,38,70,.13)}.service-card>img{width:100%;height:176px;object-fit:cover}.card-body{padding:22px}.card-body small{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.09em}.card-body h3{margin:8px 0 8px;font-size:19px;line-height:1.2}.card-body p{min-height:100px;margin:0;color:var(--muted);font-size:14px;line-height:1.5}.card-body a{display:inline-block;margin-top:13px;color:var(--blue);font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:4px}.benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.benefits-grid article{border-top:3px solid var(--blue);padding:22px 20px;background:#fff;box-shadow:0 8px 20px rgba(8,38,70,.04)}.benefits-grid b{font-size:26px;color:var(--blue)}.benefits-grid h3{margin:16px 0 8px;font-size:18px}.benefits-grid p{margin:0;color:var(--muted);font-size:14px}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.gallery figure{margin:0;overflow:hidden;border-radius:8px;background:var(--pale)}.gallery img{width:100%;height:188px;object-fit:cover;transition:transform .25s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{padding:12px 3px;color:var(--navy);font-size:15px;font-weight:800}.image-note{margin:14px 0 0;color:var(--muted);font-size:13px}.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:19px;counter-reset:step}.steps>div{position:relative;padding-top:15px}.steps>div:before{content:"";position:absolute;z-index:0;left:0;right:-20px;top:37px;height:2px;background:#ccdae8}.steps>div:last-child:before{display:none}.steps span{position:relative;z-index:1;display:grid;place-items:center;width:47px;height:47px;border-radius:50%;background:var(--blue);color:#fff;font-size:18px;font-weight:900;box-shadow:0 4px 13px rgba(0,90,180,.22)}.steps h3{margin:17px 0 5px;font-size:17px}.steps p{max-width:170px;margin:0;color:var(--muted);font-size:14px}
.cta-band{padding:80px 0;background:radial-gradient(circle at 12% 20%,#15538a 0%,transparent 38%),linear-gradient(120deg,#0a335a,#06182d);color:#fff}.cta-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.cta-copy{padding-top:25px}.cta-copy .eyebrow{color:var(--ice)}.cta-copy h2{margin-bottom:22px;font-size:clamp(35px,3.5vw,50px);line-height:1.1;letter-spacing:-.04em}.cta-copy h2 span{color:var(--ice)}.cta-copy p:not(.eyebrow){max-width:430px;color:#d6e9f8;font-size:17px}.cta-copy>a{display:inline-block;margin-top:24px;color:#fff}.cta-copy strong{display:block;font-size:21px}.footer{background:#071728;color:#d5e4f1;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.4fr;gap:50px}.footer-intro p{max-width:320px;margin:18px 0 0;font-size:14px;color:#aec3d6}.footer-brand{width:96px;border-radius:4px;overflow:hidden}.footer h3{margin:4px 0 19px;color:#fff;font-size:16px}.footer-grid>div:not(:first-child) a,.footer-grid>div:not(:first-child) span{display:block;margin:9px 0;font-size:14px}.footer a:hover{color:#8fcaff}.footer-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:#a7bed2}
@media(max-width:1150px){.brand-caption{display:none}.nav-wrap{gap:15px}.main-nav{gap:13px}.nav-cta{padding-inline:13px}.cards{grid-template-columns:repeat(2,1fr)}.card-body p{min-height:0}.service-card>img{height:205px}}
@media(max-width:1024px){html{scroll-padding-top:82px}.header-top{display:none}.nav-wrap{height:82px}.logo-frame{height:76px;width:78px}.logo-frame img{width:172px;left:-50px;top:-7px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:82px;flex-direction:column;align-items:stretch;gap:0;padding:10px 24px 22px;background:#fff;box-shadow:0 16px 22px rgba(7,29,53,.12)}.main-nav.open{display:flex}.main-nav a{padding:12px 2px;border-bottom:1px solid var(--line)}.nav-cta{display:none}.hero{min-height:540px}.trust-grid,.benefits-grid,.gallery{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}.section-heading{display:block}.section-heading>p{margin-top:15px}.cta-grid{grid-template-columns:1fr;gap:30px}.cta-copy{padding-top:0}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container{width:min(100% - 32px,1240px)}.section{padding:58px 0}.hero{min-height:560px;background-position:59% center}.hero:before{background:linear-gradient(90deg,rgba(4,21,39,.95),rgba(4,21,39,.75))}.hero-content{padding:68px 0}.hero h1{font-size:clamp(40px,10vw,58px)}.hero-text{font-size:16px}.hero-actions{align-items:stretch;flex-direction:column}.trust-grid,.cards,.benefits-grid,.gallery,.footer-grid{grid-template-columns:1fr}.trust-item{min-height:74px;padding:10px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.trust-item:nth-child(2){border-bottom:1px solid rgba(255,255,255,.15)}.service-card>img{height:190px}.benefits-grid{gap:14px}.gallery{gap:6px}.gallery img{height:190px}.steps{grid-template-columns:1fr;gap:6px}.steps>div{min-height:85px;padding:3px 0 0 66px}.steps>div:before{left:22px;right:auto;top:42px;bottom:-16px;width:2px;height:auto}.steps span{position:absolute;left:0;top:0}.steps h3{margin:0 0 2px}.steps p{max-width:none}.cta-band{padding:58px 0}.footer-grid{gap:24px}.footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.return-link{margin-left:auto;color:var(--blue);font-size:14px;font-weight:800}.standalone{min-height:calc(100vh - 96px);padding:80px 0;background:var(--pale)}.standalone-card{max-width:820px;padding:48px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 10px 30px rgba(7,29,53,.06)}.standalone-card h1{font-size:clamp(32px,4vw,48px);line-height:1.1}.standalone-card p{color:var(--muted);font-size:17px}.standalone-card .btn{margin-top:14px}.legal-content h2{margin-top:32px;color:var(--navy);font-size:24px}.legal-content a:not(.btn){color:var(--blue);text-decoration:underline}@media(max-width:620px){.standalone{padding:32px 0}.standalone-card{padding:26px}}
.contact-name{display:block;margin:9px 0;color:#fff;font-size:15px}

/* Responzivní rozložení a přímý kontakt */
.container > *, .section-heading > *, .contact-cta > *, .footer-grid > * { min-width:0; }
a, p, h1, h2, h3 { overflow-wrap:break-word; }
.btn { white-space:normal; }
.contact-cta { display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center; }
.contact-cta .cta-copy { padding-top:0; }
.contact-actions { display:flex;flex-direction:column;align-items:stretch;gap:14px;max-width:430px;width:100%;justify-self:end; }
.contact-actions p { margin:6px 0 0;color:#d6e9f8;line-height:1.7; }
.contact-actions p a { text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere; }
.card-body a { min-height:44px;display:inline-flex;align-items:center; }
.footer-grid > div:not(:first-child) a { padding-block:9px;margin:0;min-height:44px;overflow-wrap:anywhere; }
.menu-toggle { min-width:48px;min-height:48px; }
@media(max-width:1024px) {
  .main-nav { max-height:calc(100dvh - 82px);overflow-y:auto; }
  .hero-content { padding-block:72px; }
  .steps { gap:14px; }
  .contact-cta { grid-template-columns:1fr;gap:24px; }
  .contact-actions { justify-self:start; }
}
@media(max-width:620px) {
  html { scroll-padding-top:76px; }
  .nav-wrap { height:76px; }
  .main-nav { top:76px;max-height:calc(100dvh - 76px);padding-inline:16px; }
  .logo-frame { height:70px; }
  .hero { min-height:0; }
  .hero-content { padding-block:54px; }
  .hero h1 { font-size:clamp(28px,7.8vw,46px);line-height:1.12;letter-spacing:-.035em; }
  .hero h1 span { text-wrap:balance; }
  .hero-actions .btn { width:100%;min-height:50px; }
  .section-heading h2 { font-size:clamp(28px,7.5vw,36px); }
  .section-heading { margin-bottom:24px; }
  .card-body { padding:20px; }
  .service-card > img,.gallery img { height:auto;aspect-ratio:16/10;object-fit:cover; }
  .gallery { gap:18px; }
  .gallery figcaption { padding:12px; }
  .cta-copy h2 { font-size:clamp(30px,8vw,40px); }
  .contact-actions { max-width:none; }
  .contact-actions .btn { min-height:52px;padding-inline:14px; }
  .footer { padding-top:40px; }
  .footer-bottom { margin-top:28px; }
}
@media(hover:none) { .btn:hover,.service-card:hover,.gallery figure:hover img { transform:none; } }

/* Větší kompletní logo, kontakty vlevo a jednotný Arial */
body, button, input, textarea, select { font-family:Arial,Helvetica,sans-serif; }
html { scroll-padding-top:184px; }
.header-top { height:44px;justify-content:flex-start;font-size:16px;letter-spacing:0; }
.header-top > div { flex-wrap:wrap;gap:8px 28px; }
.header-top a { display:inline-flex;align-items:center;min-height:40px; }
.nav-wrap { height:140px; }
.logo-frame { width:128px;height:128px;overflow:hidden; }
.logo-frame img { width:213.333%;height:auto;max-width:none;left:-56.7%;top:-13.9%; }
.footer-brand { width:128px; }
@media(max-width:1150px) { .brand-caption { display:none; } }
@media(max-width:1024px) {
  html { scroll-padding-top:184px; }
  .header-top { display:flex; }
  .main-nav { top:184px;max-height:calc(100dvh - 184px); }
}
@media(max-width:620px) {
  html { scroll-padding-top:184px; }
  .header-top { height:68px;font-size:16px;padding-block:6px; }
  .header-top > div { flex-direction:column;align-items:flex-start;gap:0; }
  .header-top a { min-height:28px; }
  .nav-wrap { height:116px; }
  .logo-frame { width:108px;height:108px; }
  .logo-frame img { width:213.333%;left:-56.7%;top:-13.9%; }
  .main-nav { top:184px;max-height:calc(100dvh - 184px); }
  .footer-brand { width:128px; }
  .footer-brand .logo-frame { width:128px;height:128px; }
}

/* Kontakty zůstávají na původním místě vpravo. */
.header-top { justify-content:flex-end; }
@media(max-width:1024px) {
  html { scroll-padding-top:140px; }
  .header-top { display:none; }
  .main-nav { top:140px;max-height:calc(100dvh - 140px); }
}
@media(max-width:620px) {
  html { scroll-padding-top:116px; }
  .main-nav { top:116px;max-height:calc(100dvh - 116px); }
}

/* Pět služeb: široká obrazovka 5, menší 2, telefon 1. */
.cards { grid-template-columns:repeat(5,minmax(0,1fr));gap:18px; }
.service-card { display:flex;flex-direction:column; }
.card-body { display:flex;flex:1;flex-direction:column;padding:20px; }
.card-body h3 { min-height:3.6em; }
.card-body p { min-height:0;flex:1; }
.card-body a { align-self:flex-start; }
.service-card > img { height:auto;aspect-ratio:4/3;object-fit:cover; }
.footer-grid { grid-template-columns:1.2fr .8fr 1.5fr; }
.company-name { display:block;margin:0 0 10px;color:#fff;font-size:16px; }
.company-address { font-style:normal;font-size:14px;line-height:1.6; }
.company-ids { margin:14px 0 20px;font-size:14px;line-height:1.6; }
@media(max-width:1199px) {
  .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-card:last-child { grid-column:1 / -1;width:calc((100% - 18px)/2);justify-self:center; }
  .card-body h3 { min-height:0; }
}
@media(max-width:1024px) { .footer-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:620px) {
  .cards,.footer-grid { grid-template-columns:1fr; }
  .service-card:last-child { grid-column:auto;width:auto;justify-self:stretch; }
  .service-card > img { aspect-ratio:16/10; }
}

/* Patička: větší logo a jednoduše kopírovatelné kontakty */
.footer-grid { grid-template-columns:1fr 1fr;gap:64px;align-items:start; }
.footer-brand { width:190px; }
.footer-brand .logo-frame { width:190px;height:190px; }
.footer-contact { width:100%;max-width:500px;justify-self:end;padding:28px;background:#fff;color:#000;border-radius:8px;user-select:text; }
.footer .footer-contact h3,.footer .footer-contact strong,.footer .footer-contact a,.footer .footer-contact span,.footer .footer-contact address,.footer .footer-contact p { color:#000;font-family:Arial,Helvetica,sans-serif; }
.footer .footer-contact a:hover { color:#000;text-decoration:underline; }
.footer-contact .company-name { font-size:16px; }
@media(max-width:620px) {
  .footer-grid { grid-template-columns:1fr;gap:28px; }
  .footer-contact { justify-self:stretch;max-width:none;padding:22px; }
  .footer-brand,.footer-brand .logo-frame { width:170px; }
  .footer-brand .logo-frame { height:170px; }
}

/* Jednoduchá horní navigace se čtyřmi odkazy. */
.main-nav { gap:clamp(20px,2.5vw,36px); }
@media(max-width:1024px) { .main-nav { gap:0; } }

/* Delší názvy oblastí použití mají stejné zarovnání. */
.gallery figure { display:flex;flex-direction:column; }
.gallery figcaption { padding:14px;min-height:88px;line-height:1.4; }
@media(max-width:620px) { .gallery figcaption { min-height:0;padding:14px; } }

/* Trvale menší statické záhlaví, bez změn při posouvání. */
html { scroll-padding-top:16px; }
.site-header { position:relative;top:auto;z-index:50; }
.header-top { height:32px; }
.header-top a { min-height:28px; }
.site-header .nav-wrap { height:84px; }
.site-header .logo-frame { width:90px;height:90px;transform:translateY(-30px); }
@media(max-width:1024px) {
  html { scroll-padding-top:16px; }
  .site-header .logo-frame { width:80px;height:80px;transform:none; }
  .main-nav { top:84px;max-height:calc(100dvh - 84px); }
}
@media(max-width:620px) {
  html { scroll-padding-top:16px; }
  .site-header .nav-wrap { height:80px; }
  .site-header .logo-frame { width:76px;height:76px; }
  .main-nav { top:80px;max-height:calc(100dvh - 80px); }
}

/* Mobilní menu patří k záhlaví a zůstává nad úvodním obrázkem. */
@media(max-width:1024px) {
  .site-header .main-nav { top:100%;z-index:1; }
}
