/* IviMozi: původní barevnost a kompozice, bez závislosti na CMS. */
:root{--red:#f3131d;--panel:rgba(212,39,37,.75);--paper:#fff;--surround:#f6f6f6;--footer:#f5f5f5;--ink:#111;--muted:#666}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--surround);color:var(--ink);font:15px/1.74 "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%}
button{font:inherit}
img{max-width:100%;height:auto;vertical-align:middle}
a{color:var(--red);text-decoration:none;text-underline-offset:4px}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:3px solid #333;outline-offset:5px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:400;line-height:1.3}
h2{font-size:32px}
p{margin-bottom:20px}
.page{max-width:1680px;margin:0 20px;background:var(--paper)}
.container{width:100%;max-width:1108px;padding:0 40px;margin:0 auto}
.narrow{max-width:988px}
.header{height:100px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;background:#fff;z-index:10}
.brand{display:block;flex-shrink:0}
.brand img{width:150px;height:auto}
.navigation{display:flex;gap:40px;align-items:center}
.navigation a{font-size:20px;color:var(--muted)}
.navigation a:hover,.navigation a[aria-current]{color:var(--red);text-decoration:none}
.menu-toggle{display:none;border:1px solid #ddd;border-radius:4px;background:white;color:#555;padding:6px 14px;cursor:pointer}
.menu-toggle[hidden]{display:none}
.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-180%);padding:10px 20px;background:#fff;color:#111;z-index:100}
.skip-link:focus{transform:none}
.hero{padding:40px;background:url('../images/ucto.jpg') no-repeat right bottom/cover}
.hero-panel{width:680px;max-width:100%;padding:210px 40px;background:var(--panel);color:#fff}
.hero-content{max-width:450px;margin:0 auto}
.hero h1{font-size:44px;line-height:1.2;margin:0 0 40px;letter-spacing:normal}
.button{display:inline-block;background:var(--red);color:#fff;font-size:20px;line-height:40px;padding:0 16px;border-radius:999px;transition:background-color .18s}
.button:hover{background:#d70c16;text-decoration:none}
.button:focus-visible,.contact a:focus-visible{outline-color:#111;background:#fff;color:#bd1018}
.introduction{padding-top:140px;text-align:center}
.introduction h2{font-size:38px;color:var(--red);margin:0 0 20px;line-height:1.2}
.introduction strong{font-weight:700}
.introduction hr{border:0;border-top:1px solid #e8e8e8;margin:20px 0}
.introduction p{margin:0}
.service-grid{max-width:1380px;padding-top:140px;padding-bottom:140px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;text-align:center;scroll-margin-top:35px}
.service{padding:40px}.service img{width:150px;display:block;margin:0 auto 20px}
.service h3{font-size:20px;margin:0 0 20px}
.service p{max-width:210px;margin:0 auto}
.about{background:#f1f1f1 url('../images/o-nas3.jpg') no-repeat center center/auto calc(100% + 200px);padding:210px 0;min-height:612px}
.about-content{width:450px;max-width:50%}
.about h2,.reasons h2{font-size:24px;margin-bottom:20px}
.about p{margin-bottom:20px}
.reasons{padding:140px 0}
.reasons-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.reasons ul{padding-left:30px;margin-top:0;margin-bottom:24px}
.reasons .reasons-more{margin:0}
.contact{display:grid;grid-template-columns:1fr 1fr}
.contact-photo{background:url('../images/kontakty2.jpg') no-repeat center center/cover;min-height:528px}
.contact-panel{background:var(--panel);color:#fff;padding:140px 40px}
.contact-content{max-width:450px;margin:auto}
.contact h2{font-size:32px;margin-bottom:20px}
.contact h3{font-size:24px;margin:0 0 20px}
.contact p{font-size:18.6667px;line-height:1.74;margin-bottom:40px}
.contact p:last-child{margin-bottom:0}
.contact a{color:#fff}
.references{padding:140px 0}
.references h2{text-align:center;margin:0 0 60px}
.client-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.client{position:relative;display:block;min-width:0;color:#111}
.client img{display:block;width:100%;height:auto;aspect-ratio:5/6;object-fit:contain}
.client-description{position:absolute;inset:0;background:rgba(255,255,255,.95);display:flex;flex-direction:column;justify-content:center;text-align:center;padding:15px;opacity:0;transition:opacity .2s;line-height:1.6}
.client-description strong{font-weight:500;display:block;margin-bottom:8px}
.client:hover .client-description,.client:focus-visible .client-description{opacity:1}
.footer{background:var(--footer);padding:70px 0 100px;text-align:center}
.footer-brand{display:inline-block;margin-bottom:60px}
.footer-brand img{width:250px}
.footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.footer h2{font-size:20px;margin:0 0 20px}
.footer address{font-style:normal}
.footer p{margin:0}
.footer .address-link,.footer .phone-link{color:inherit}
.cookie-settings{font:inherit;background:none;border:0;color:#666;text-decoration:underline;text-underline-offset:4px;cursor:pointer;margin-top:35px;padding:8px}
.cookie-settings[hidden],.cookie-consent[hidden]{display:none}
.cookie-consent{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:50;width:calc(100% - 36px);max-width:1050px;max-height:70vh;overflow:auto;padding:24px 28px;background:#fff;border:1px solid #ddd;border-top:3px solid var(--red);box-shadow:0 4px 24px #0002;display:flex;align-items:center;gap:28px;font-size:14px;line-height:1.6}
.cookie-consent h2{font-size:20px;margin:0 0 8px}
.cookie-consent p{margin:0 0 8px}
.cookie-consent summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cookie-consent details p{margin-top:12px}
.cookie-text{flex:1}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
.cookie-actions button{font:inherit;cursor:pointer;border:1px solid #999;border-radius:24px;padding:10px 18px;background:#fff;color:#222;min-height:44px}
.cookie-actions button[data-analytics-consent="granted"]{background:var(--red);border-color:var(--red);color:#fff}
@media(max-width:767px){.cookie-consent{flex-direction:column;align-items:stretch;gap:14px;padding:20px;bottom:10px;width:calc(100% - 20px);max-height:55vh}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions button{padding:10px}}
@media print{.cookie-consent,.cookie-settings{display:none!important}}
@media(min-width:1720px){.page{margin:0 auto}}
@media(max-width:1199px) and (min-width:960px){.hero-panel{width:62%;padding:150px 40px}.hero h1{font-size:40px}.service-grid{gap:30px}.container{padding-left:40px;padding-right:40px}.contact-panel{padding:100px 40px}.contact p{font-size:17px}}
@media(max-width:959px){
  .page{margin:0}.header{padding:0 20px}.brand img{width:200px}.navigation{gap:24px}.navigation a{font-size:17px}
  .hero{padding:40px 30px}.hero-panel{padding:140px 30px;width:590px}.hero h1{font-size:38px}
  .introduction{padding-top:70px}.introduction h2{font-size:32px}.service{padding:15px}.service-grid{padding-top:80px;padding-bottom:90px;gap:40px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .about{padding:140px 0;min-height:500px;background-position:60% center}.about-content{max-width:60%}.reasons{padding:80px 0}
  .contact-panel{padding:70px 30px}.contact h2{font-size:28px}.contact h3{font-size:22px}.contact p{font-size:17px}
  .references{padding:80px 0}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
}
@media(max-width:767px){
  .header{height:auto;min-height:100px;flex-wrap:wrap;gap:0 20px;padding:10px 15px}
  .menu-toggle:not([hidden]){display:block}
  .navigation{width:100%;padding:15px 0;justify-content:center;gap:18px;flex-wrap:wrap}
  .js .navigation{display:none}.js .navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .js .navigation a{padding:10px 15px;text-align:center;font-size:20px}
  .hero{padding:40px 15px 80px}.hero-panel{padding:130px 15px;width:100%;min-height:486px}
  .hero-content{max-width:450px}.hero h1{font-size:36px;letter-spacing:normal;margin-bottom:40px}
  .container{padding-left:30px;padding-right:30px}.introduction{padding-top:70px}.introduction h2{font-size:30px}
  .service{padding:0}.service-grid{gap:55px 25px}.service h3{font-size:20px}.service{padding:40px}.service img{width:125px}.service p{font-size:15px}
  .about{padding:90px 0;background-position:35% center;min-height:0}.about-content{width:100%;max-width:78%;background:rgba(245,245,245,.9);padding:22px;margin-left:-10px}
  .reasons-grid{grid-template-columns:1fr;gap:30px}.reasons .reasons-more{margin-bottom:0}.reasons h2{font-size:24px}
  .contact{grid-template-columns:1fr}.contact-photo{min-height:290px}.contact-panel{padding:70px 30px}.contact-content{max-width:none}
  .references h2{margin-bottom:35px}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.client img{aspect-ratio:5/4}
  .client-description{position:static;opacity:1;padding:8px 0;font-size:13px;background:none}.client-description strong{margin-bottom:4px}
  .footer{padding:60px 0}.footer-grid{grid-template-columns:1fr;gap:40px}.footer-brand{margin-bottom:40px}
}
@media(max-width:359px){.brand img{width:170px}.hero h1{font-size:31px}.service-grid{grid-template-columns:1fr}.container{padding-left:22px;padding-right:22px}.about-content{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{.page{margin:0}.header,.hero .button,.menu-toggle,.skip-link{display:none!important}.hero,.about,.contact-panel{background:#fff;color:#111;padding:30px}.hero-panel{background:#fff;color:#111;padding:20px;width:100%}.introduction,.service-grid,.reasons,.references,.footer{padding-top:25px;padding-bottom:25px}.contact a{color:#111}.contact-photo{display:none}.contact{display:block}.about{min-height:0}.client-description{position:static;opacity:1}.service-grid{gap:20px}}



