:root{
  --red:#e14530;
  --red-dark:#be281d;
  --wine:#6f273a;
  --wine-deep:#321017;
  --black:#1c1d20;
  --black-2:#27292e;
  --ink:#24262a;
  --muted:#6b6e74;
  --paper:#ffffff;
  --soft:#f6f4f3;
  --soft-red:#fff4f2;
  --line:#e8e3e1;
  --max:1200px;
  --shadow:0 26px 70px rgba(28,12,17,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.58;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%} button,input,textarea,select{font:inherit}.container{width:min(var(--max),calc(100% - 42px));margin:auto}

.topbar{background:var(--black);color:#eee;font-size:12px;letter-spacing:.065em;text-transform:uppercase}.topbar .container{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar strong{color:#fff}.topbar .spark{color:var(--red);font-weight:900}.topbar a{color:#fff;font-weight:800;text-transform:none;letter-spacing:0}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.08)}.header-row{min-height:88px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:230px}.brand-logo{width:64px;height:64px;object-fit:contain;border-radius:0;background:transparent;box-shadow:none}.brand-text{line-height:1}.brand-text b{display:block;font-size:15px;letter-spacing:.11em;color:#18191c}.brand-text span{display:block;margin-top:6px;font-size:11px;color:#70747a;text-transform:uppercase;letter-spacing:.08em}.nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-left:auto}.nav a{font-size:13px;font-weight:750;color:#44474d;position:relative;padding:33px 0 29px}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--red);transition:.2s}.nav a:hover,.nav a.active{color:#151619}.nav a:hover:after,.nav a.active:after{right:0}.phone-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-weight:850;border-radius:999px;padding:12px 18px;white-space:nowrap;box-shadow:0 10px 24px rgba(225,69,48,.22)}.phone-btn:hover{background:var(--red-dark)}.mobile-nav{display:none;margin-left:auto}.mobile-nav details{position:relative}.mobile-nav summary{list-style:none;cursor:pointer;padding:10px 13px;border:1px solid var(--line);border-radius:10px;font-weight:800}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-menu{position:absolute;right:0;top:50px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:10px;min-width:220px}.mobile-menu a{display:block;padding:11px 12px;border-radius:8px;font-weight:700}.mobile-menu a:hover{background:var(--soft)}

.hero{overflow:hidden;background:#fff}.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;min-height:650px;align-items:stretch}.hero-copy{padding:78px 64px 76px 0;display:flex;flex-direction:column;justify-content:center}.eyebrow,.kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:900;color:var(--red)}.hero h1{font-size:clamp(50px,6vw,82px);line-height:.96;letter-spacing:-.045em;margin:18px 0 24px;color:#17181b}.hero h1 em{font-style:normal;color:var(--red)}.hero p{font-size:19px;max-width:670px;color:#555960;margin:0}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin:27px 0 0}.hero-tags span{padding:7px 10px;border:1px solid #ddd6d3;border-radius:999px;background:#fff;font-size:12px;font-weight:800;color:#4d5056}.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;border-radius:9px;font-weight:850;border:1px solid transparent;cursor:pointer}.btn.primary{background:var(--red);color:#fff}.btn.primary:hover{background:var(--red-dark)}.btn.dark{background:var(--black);color:#fff}.btn.ghost{border-color:#d8d3d1;background:#fff;color:#292b2f}.hero-photo{position:relative;min-height:650px;background:var(--wine)}.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(50,16,23,.05),rgba(111,39,58,.30));z-index:1}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}.hero-brandplate{position:absolute;z-index:3;left:30px;right:30px;bottom:28px;padding:18px 20px;background:rgba(25,25,28,.88);backdrop-filter:blur(8px);color:#fff;border-left:4px solid var(--red);box-shadow:0 18px 40px rgba(0,0,0,.28)}.hero-brandplate b{display:block;font-size:20px}.hero-brandplate span{display:block;color:#d9d9dc;font-size:13px;margin-top:2px}.trustline{margin-top:24px;display:flex;flex-wrap:wrap;gap:20px;color:#595c62;font-size:13px;font-weight:760}.trustline span:before{content:"✓";color:var(--red);font-weight:900;margin-right:7px}

.section{padding:86px 0}.section.soft{background:var(--soft)}.section.dark{background:var(--black);color:#fff}.section.redwash{background:var(--soft-red)}.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:34px}.section-head h2,.prose h2,.story h2,.contact-panel h2{font-size:clamp(32px,4vw,50px);line-height:1.05;letter-spacing:-.035em;margin:10px 0 0}.section-head p{margin:0;color:#6c7076;max-width:540px}.dark .section-head p{color:#bec0c4}.dark .kicker{color:var(--red)}

.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service{position:relative;padding:26px 23px 23px;border:1px solid var(--line);border-radius:16px;background:#fff;min-height:260px;transition:.2s;overflow:hidden}.service:before{content:"";position:absolute;left:0;top:0;height:4px;width:62px;background:var(--red)}.service:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(22,22,25,.08);border-color:#d7cdca}.service .num{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);font-weight:900}.service h3{font-size:22px;line-height:1.15;margin:19px 0 10px}.service p{color:#70737a;font-size:14px;margin:0}.service.wide{min-height:210px}

.cert-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--black);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.cert{padding:27px 24px;border-right:1px solid #3c3e43}.cert:last-child{border-right:0}.cert strong{display:block;font-size:24px;color:#fff;line-height:1.1}.cert span{display:block;margin-top:8px;color:#bfc1c6;font-size:13px}.cert strong.red{color:var(--red)}

.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.audience{padding:31px;border-radius:18px;background:#fff;border:1px solid var(--line);min-height:290px;display:flex;flex-direction:column;transition:.2s}.audience:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(22,22,25,.08)}.audience .iconline{font-size:11px;color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.11em}.audience h3{font-size:28px;margin:16px 0 11px}.audience p{color:#6c7076;margin:0}.audience .link{margin-top:auto;padding-top:25px;font-weight:850}.audience .link span{color:var(--red);margin-left:6px}

.photo-story{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.photo-story .photo{position:relative;min-height:560px;background:#ddd}.photo-story .photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.photo-story .story{padding:54px 52px;display:flex;flex-direction:column;justify-content:center}.photo-story .story p{color:#666a70}.keyword-stack{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.keyword-stack span{padding:10px 12px;border-radius:8px;background:var(--soft);font-weight:800;font-size:13px;border-left:3px solid var(--red)}

.real-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:14px}.real-card{position:relative;min-height:420px;border-radius:18px;overflow:hidden;background:#ddd}.real-card.small{min-height:420px}.real-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.real-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,20,22,.78))}.real-caption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff}.real-caption b{display:block;font-size:19px}.real-caption span{font-size:12px;color:#e1e1e3}.gallery-note{margin-top:16px;padding:17px 19px;border-radius:12px;background:#fff;border:1px dashed #d9d2cf;color:#666a70;font-size:14px}

.stats,.process{display:grid;grid-template-columns:repeat(4,1fr);border-radius:16px;overflow:hidden}.stat{padding:26px;border-right:1px solid #3b3d42;background:#24262a}.stat:last-child{border-right:0}.stat strong{font-size:34px;color:#fff}.stat span{display:block;color:#c6c8cd;font-size:13px;margin-top:5px}.process{gap:12px}.step{padding:25px;border:1px solid var(--line);border-radius:14px}.step small{font-weight:900;color:var(--red);letter-spacing:.1em}.step h3{font-size:20px;margin:11px 0 6px}.step p{font-size:14px;color:#6c7076;margin:0}

.cta{padding:68px 0 86px}.cta-box{background:linear-gradient(115deg,var(--wine-deep),var(--wine));color:#fff;border-radius:22px;padding:39px 42px;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:0 24px 70px rgba(52,16,25,.23);position:relative;overflow:hidden}.cta-box:after{content:"";position:absolute;width:180px;height:180px;border:28px solid rgba(255,255,255,.06);border-radius:50%;right:-40px;top:-65px}.cta-box h2{font-size:39px;line-height:1;margin:0 0 8px}.cta-box p{margin:0;color:#eddde2}.cta-box .btn{background:#fff;color:var(--wine-deep);z-index:1;white-space:nowrap}

.page-hero{padding:66px 0 58px;background:linear-gradient(135deg,#f8f6f5,#fff);border-bottom:1px solid var(--line)}.breadcrumbs{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#85888e;font-weight:800}.breadcrumbs a{color:var(--red)}.page-hero h1{font-size:clamp(42px,5vw,67px);line-height:1;letter-spacing:-.04em;margin:18px 0 18px;max-width:920px}.page-hero p{font-size:18px;color:#696d73;max-width:760px;margin:0}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:50px}.prose h2{font-size:40px;margin-top:13px}.prose h3{font-size:24px;margin:34px 0 9px}.prose p{color:#64686e}.side-card{align-self:start;position:sticky;top:116px;border-radius:16px;background:var(--black);color:#fff;padding:27px}.side-card h3{font-size:25px;margin:0 0 9px}.side-card p{color:#c9cbd0;font-size:14px}.side-card .contact{display:block;margin-top:17px;padding-top:15px;border-top:1px solid #3b3d42;font-weight:850}.side-card .contact small{display:block;color:#9da0a6;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.listcards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 8px}.listcard{border:1px solid var(--line);border-radius:13px;padding:20px;background:#fff}.listcard h3{font-size:19px;margin:6px 0}.listcard p{font-size:14px;margin:0}.mini{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:900}.note{background:#fff8f7;border-left:4px solid var(--red);padding:17px 18px;border-radius:0 10px 10px 0;color:#56595f}

.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.price-card{padding:30px;border:1px solid var(--line);border-radius:17px;background:#fff}.price-card.featured{background:var(--black);color:#fff;border-color:var(--black)}.price-card h3{font-size:27px;margin:10px 0}.price-card p{color:#6c7076}.price-card.featured p{color:#c5c7cb}.price-big{font-size:34px;font-weight:900;color:var(--red);line-height:1.05}.price-card.featured .price-big{color:var(--red)}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.contact-panel{border:1px solid var(--line);border-radius:18px;padding:34px}.contact-item{padding:17px 0;border-bottom:1px solid var(--line)}.contact-item small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:#8b8e94;font-weight:900}.contact-item a,.contact-item strong{display:block;font-size:22px;margin-top:3px}.contact-photo{position:relative;border-radius:18px;overflow:hidden;min-height:570px;background:#ddd}.contact-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-caption{position:absolute;left:20px;right:20px;bottom:20px;padding:16px 18px;background:rgba(22,22,24,.85);backdrop-filter:blur(8px);color:#fff;border-left:4px solid var(--red)}

.form-card{margin-top:26px;border:1px solid var(--line);border-radius:18px;padding:30px;background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#5e6167}.field input,.field textarea,.field select{width:100%;border:1px solid #d9d4d2;background:#fff;border-radius:9px;padding:13px 14px;color:#222;outline:none}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(225,69,48,.08)}.form-help{font-size:12px;color:#777b81;margin:12px 0 0}.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

.footer{background:#17181b;color:#fff;padding:60px 0 25px}.footer .brand-text b{color:#fff}.footer .brand-text span{color:#aeb1b6}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .9fr;gap:50px}.footer p{color:#aeb1b6;max-width:520px}.footer h4,.footer .footer-title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#8f939a;margin:0 0 15px;font-weight:700}.footer a:not(.brand){display:block;color:#e3e4e6;margin:9px 0}.footer-keywords{font-size:12px;color:#9b9fa6;margin-top:18px}.copy{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #303237;margin-top:42px;padding-top:22px;color:#81858d;font-size:12px}

@media(max-width:1060px){.nav{display:none}.phone-btn{margin-left:auto}.mobile-nav{display:block}.hero-inner{grid-template-columns:1fr 1fr}.hero-copy{padding-right:36px}.grid-4{grid-template-columns:1fr 1fr}.audience-grid{grid-template-columns:1fr 1fr}.real-grid{grid-template-columns:1fr 1fr}.real-card:first-child{grid-column:1/-1}.content-grid{grid-template-columns:1fr}.side-card{position:static}.cert-strip{grid-template-columns:1fr 1fr}.cert:nth-child(2){border-right:0}.cert:nth-child(-n+2){border-bottom:1px solid #3c3e43}}
@media(max-width:760px){.container{width:min(100% - 28px,var(--max))}.topbar .container{justify-content:center}.topbar .container>div:first-child{display:none}.phone-btn{display:none}.header-row{min-height:74px}.brand-logo{width:52px;height:52px}.brand-text b{font-size:13px}.brand-text span{font-size:9px}.hero{background:#fff}.hero-inner{grid-template-columns:1fr}.hero-copy{padding:56px 0 42px}.hero h1{font-size:52px}.hero p{font-size:17px}.hero-photo{min-height:470px}.hero-brandplate{left:16px;right:16px;bottom:16px}.section{padding:64px 0}.section-head{display:block}.section-head p{margin-top:14px}.grid-4,.audience-grid,.listcards,.price-grid,.contact-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.photo-story{grid-template-columns:1fr}.photo-story .photo{min-height:430px}.photo-story .story{padding:34px 26px}.keyword-stack{grid-template-columns:1fr}.cert-strip{grid-template-columns:1fr}.cert{border-right:0;border-bottom:1px solid #3c3e43}.cert:last-child{border-bottom:0}.real-grid{grid-template-columns:1fr}.real-card:first-child{grid-column:auto}.real-card,.real-card.small{min-height:390px}.stats,.process{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid #3b3d42}.stat:last-child{border-bottom:0}.cta-box{display:block;padding:31px 27px}.cta-box .btn{margin-top:22px}.cta-box h2{font-size:33px}.footer-grid{grid-template-columns:1fr}.copy{display:block}.copy span{display:block;margin:5px 0}.page-hero{padding:52px 0}.page-hero h1{font-size:43px}.page-hero p{font-size:17px}.contact-photo{min-height:430px}.trustline{gap:10px 16px}.form-actions .btn{width:100%}}

/* V6 – footer logo + secure form UX */
.footer .footer-logo{width:58px;height:58px;object-fit:contain}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{min-height:22px;margin-top:14px;font-size:13px;color:#6f7379}
.form-status.sending{color:#55595f}
.form-status.error{color:#b42318;font-weight:750}
.form-actions button:disabled{opacity:.65;cursor:wait;transform:none}
.thanks-section{padding:86px 0 100px;background:linear-gradient(135deg,#f8f6f5,#fff);min-height:62vh;display:flex;align-items:center}
.thanks-card{max-width:760px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:54px 46px;box-shadow:var(--shadow)}
.thanks-icon{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;background:#e8f7ed;color:#148a43;font-size:50px;font-weight:900;line-height:1}
.thanks-card h1{font-size:clamp(38px,5vw,58px);line-height:1.02;letter-spacing:-.04em;margin:12px 0 15px}
.thanks-card>p{font-size:18px;color:#6b6e74;max-width:610px;margin:0 auto}
.thanks-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}
.thanks-contact{margin-top:28px;padding:18px 20px;background:var(--soft);border-radius:12px;color:#55595f}
.thanks-contact strong,.thanks-contact span{display:block}.thanks-contact a{font-weight:900;color:var(--ink)}
@media(max-width:760px){.thanks-section{padding:58px 0 72px}.thanks-card{padding:38px 22px}.thanks-actions .btn{width:100%}}

/* ================================================================
   V9 — modern interaction layer
   Progressive enhancement: without JS the entire site remains usable.
   ================================================================ */
::selection{background:rgba(225,69,48,.18);color:#17181b}
.scroll-progress{position:fixed;z-index:100;left:0;right:0;top:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left center;pointer-events:none;box-shadow:0 0 14px rgba(225,69,48,.34)}
.header,.header-row,.brand-logo,.nav a{transition:min-height .28s ease,padding .28s ease,box-shadow .28s ease,background .28s ease,width .28s ease,height .28s ease,transform .28s ease,filter .28s ease}
.header.is-scrolled{background:rgba(255,255,255,.94);box-shadow:0 12px 36px rgba(17,18,20,.08)}
.header.is-scrolled .header-row{min-height:72px}.header.is-scrolled .brand-logo{width:52px;height:52px}.header.is-scrolled .nav a{padding-top:24px;padding-bottom:23px}.header.is-scrolled .nav a:after{bottom:15px}
.brand:hover .brand-logo{transform:translateY(-1px) scale(1.035);filter:drop-shadow(0 7px 12px rgba(225,69,48,.20))}
.hero-photo{isolation:isolate}.hero-photo img{transform:translate3d(var(--hero-x,0),var(--hero-y,0),0) scale(1.012);transition:transform .55s cubic-bezier(.2,.75,.25,1)}
.hero-tags span{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.hero-tags span:hover{transform:translateY(-2px);border-color:var(--red-dark);box-shadow:0 8px 20px rgba(225,69,48,.08)}
.btn{position:relative;overflow:hidden;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.btn:before{content:"";position:absolute;top:-80%;bottom:-80%;width:34%;left:-55%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent);transform:skewX(-20deg);transition:left .5s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,20,24,.12)}.btn:hover:before{left:125%}
.phone-btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.phone-btn:hover{transform:translateY(-2px);box-shadow:0 15px 32px rgba(225,69,48,.30)}

.reveal-item{opacity:0;transform:translate3d(0,24px,0);transition:opacity .65s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms)}
.reveal-item.is-visible{opacity:1;transform:translate3d(0,0,0)}

.interactive-card{--tilt-x:0deg;--tilt-y:0deg;--mx:50%;--my:50%;transform:perspective(950px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--lift,0));transition:transform .22s ease,box-shadow .25s ease,border-color .25s ease;will-change:transform}
.interactive-card:before,.interactive-card:after{pointer-events:none}
.service.interactive-card:after,.audience.interactive-card:after,.price-card.interactive-card:after,.listcard.interactive-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(330px circle at var(--mx) var(--my),rgba(225,69,48,.10),transparent 58%);opacity:0;transition:opacity .25s ease;z-index:0}
.service.interactive-card:hover:after,.audience.interactive-card:hover:after,.price-card.interactive-card:hover:after,.listcard.interactive-card:hover:after{opacity:1}
.service.interactive-card>* ,.audience.interactive-card>* ,.price-card.interactive-card>* ,.listcard.interactive-card>*{position:relative;z-index:1}
.service:hover,.audience:hover{--lift:-6px}
.real-card{transition:box-shadow .28s ease,transform .25s ease}.real-card:hover{--lift:-5px;box-shadow:0 24px 56px rgba(24,24,28,.16)}.real-card img{transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .35s ease}.real-card:hover img{transform:scale(1.055);filter:saturate(1.04) contrast(1.02)}.real-caption{transition:transform .3s ease}.real-card:hover .real-caption{transform:translateY(-4px)}
.cert{transition:background .25s ease,transform .25s ease}.cert:hover{background:#2d2f34;transform:translateY(-2px)}
.keyword-stack span{transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.keyword-stack span:hover{transform:translateX(4px);background:#fff;box-shadow:0 8px 20px rgba(25,25,28,.06)}
.photo-story .photo img{transition:transform .8s cubic-bezier(.2,.75,.25,1)}.photo-story:hover .photo img{transform:scale(1.025)}
.cta-box:before{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.05) 50%,transparent 60%);transform:translateX(-50%);transition:transform 1.1s ease;pointer-events:none}.cta-box:hover:before{transform:translateX(50%)}

.copy-right{display:flex;align-items:flex-end;gap:10px 18px;flex-wrap:wrap;justify-content:flex-end}.voltage-mark{appearance:none;border:0;background:transparent;color:#aeb1b6;font:inherit;font-size:10px;letter-spacing:.06em;padding:0;cursor:pointer;opacity:1;transition:color .2s ease,opacity .2s ease,text-shadow .2s ease}.voltage-mark:hover,.voltage-mark:focus-visible{color:#b7bbc1;opacity:1;text-shadow:0 0 12px rgba(225,69,48,.28);outline:none}.voltage-mark:focus-visible{box-shadow:0 0 0 2px rgba(225,69,48,.38);border-radius:4px}
.egg-toast{position:fixed;z-index:120;right:22px;bottom:22px;max-width:min(420px,calc(100vw - 44px));padding:13px 16px;border:1px solid #3a3c42;border-left:3px solid var(--red);border-radius:10px;background:rgba(24,25,28,.96);color:#f3f3f4;font-size:13px;font-weight:750;box-shadow:0 20px 54px rgba(0,0,0,.28);opacity:0;transform:translateY(14px);transition:opacity .24s ease,transform .24s ease}.egg-toast.show{opacity:1;transform:translateY(0)}

.error404{min-height:64vh;display:grid;place-items:center;padding:82px 0;background:radial-gradient(circle at 78% 20%,rgba(225,69,48,.10),transparent 34%),linear-gradient(135deg,#f8f6f5,#fff)}.error404-card{max-width:850px;text-align:center;margin:auto}.error404-code{font-size:clamp(92px,18vw,190px);font-weight:950;letter-spacing:-.08em;line-height:.72;color:#17181b}.error404-code em{font-style:normal;color:var(--red);text-shadow:0 14px 40px rgba(225,69,48,.16)}.error404 h1{font-size:clamp(38px,6vw,68px);line-height:1;margin:30px 0 12px}.error404 p{max-width:620px;margin:0 auto;color:#696d73;font-size:18px}.error404 .actions{justify-content:center}.breaker-note{display:inline-flex;margin-top:26px;padding:8px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);color:#85898f;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:760px){.scroll-progress{height:2px}.copy-right{display:block}.voltage-mark{margin-top:6px}.header.is-scrolled .header-row{min-height:66px}.header.is-scrolled .brand-logo{width:48px;height:48px}.interactive-card{transform:none!important}.hero-photo img{transform:none}.error404{padding:62px 0}.error404 p{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-item,.reveal-item.is-visible,.interactive-card,.hero-photo img,.real-card img,.btn,.phone-btn,.brand-logo,.cta-box:before{transition:none!important;transform:none!important}.scroll-progress{display:none}}

/* V9.2 — electrician easter eggs */
.header [data-logo-egg]{cursor:pointer;transform-origin:38% 48%}
.header [data-logo-egg].logo-zap{animation:logoZap .28s ease}
.header [data-logo-egg].logo-live{animation:logoLive .24s ease 0s 5 alternate;filter:drop-shadow(0 0 9px rgba(225,69,48,.82)) drop-shadow(0 0 20px rgba(225,69,48,.34))}
@keyframes logoZap{0%{transform:translateY(-1px) scale(1.035)}38%{transform:translateY(-1px) scale(1.075) rotate(-1.2deg);filter:drop-shadow(0 0 8px rgba(225,69,48,.75))}100%{transform:translateY(-1px) scale(1.035)}}
@keyframes logoLive{from{transform:translateY(-1px) scale(1.035);filter:drop-shadow(0 0 4px rgba(225,69,48,.35))}to{transform:translateY(-1px) scale(1.07);filter:drop-shadow(0 0 12px rgba(225,69,48,.90)) drop-shadow(0 0 25px rgba(225,69,48,.42))}}
.egg-toast-live{border-left-width:4px;letter-spacing:.08em}
.connection-note{display:inline-flex;margin:18px auto 0;padding:7px 10px;border:1px solid #e0d9d6;border-radius:999px;color:#8a8d92;background:#faf9f8;font-size:11px;font-weight:800;letter-spacing:.04em}
@media(prefers-reduced-motion:reduce){.header [data-logo-egg].logo-zap,.header [data-logo-egg].logo-live{animation:none!important}}

/* V9.6 — shared status-stack hover: ORANGE -> 500 ms -> GREEN; leave tail <=150 ms. No right-side LEDs. */
.keyword-stack span{
  position:relative;
  padding-right:12px;
  transition:transform .18s ease,background-color .20s ease,border-left-color .20s ease,box-shadow .20s ease,color .20s ease;
}
@media(hover:hover) and (pointer:fine){
  .keyword-stack span:hover{transform:translateX(2px)}
  .keyword-stack span.status-checking{
    background:#fff6e7;
    border-left-color:#dc9830;
    box-shadow:0 6px 18px rgba(176,112,22,.08),inset 0 0 0 1px rgba(220,152,48,.09);
  }
  .keyword-stack span.status-ok{
    background:#f0f7f2;
    border-left-color:#4d9361;
    box-shadow:0 7px 20px rgba(61,125,80,.09),inset 0 0 0 1px rgba(77,147,97,.08);
  }
}
@media(prefers-reduced-motion:reduce){
  .keyword-stack span{transition:none!important}
}

/* HERO_STATIC_CLEAN_START */
.hero{background:#fff}
.hero-photo{overflow:hidden;background:#fff}
.hero-photo:before{display:none!important}
.hero-photo img{
  transform:translate3d(var(--hero-x,0),var(--hero-y,0),0) scale(1.012)!important;
  transition:transform .55s cubic-bezier(.2,.75,.25,1)!important;
  filter:none!important;
}
/* HERO_STATIC_CLEAN_END */

/* CLIENT_CAROUSEL_V1_START */
.client-carousel-section{
  padding-top:72px;
  padding-bottom:72px;
  overflow:hidden;
}
.client-carousel-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
}
.client-carousel-head h2{margin:6px 0 0}
.client-carousel-all{
  color:#202226;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.client-carousel-all:hover{color:var(--red-dark)}
.client-carousel-shell{
  position:relative;
  overflow:hidden;
  border-top:1px solid #ecebea;
  border-bottom:1px solid #ecebea;
  background:#fff;
}
.client-carousel-viewport{
  overflow-x:auto;
  overflow-y:hidden;
  padding:18px 0;
  scrollbar-width:none;
  -ms-overflow-style:none;
  scroll-behavior:auto;
}
.client-carousel-viewport::-webkit-scrollbar{display:none}
.client-carousel-track{
  display:flex;
  align-items:center;
  width:max-content;
  gap:18px;
  will-change:auto;
}
.client-logo-link{
  width:190px;
  height:112px;
  flex:0 0 190px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 20px;
  border:1px solid #ecebea;
  border-radius:16px;
  background:#f8f8f6;
  text-decoration:none;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.client-logo-link:hover,
.client-logo-link:focus-visible{
  transform:translateY(-3px);
  border-color:#dfd9d7;
  background:#fff;
  box-shadow:0 12px 30px rgba(18,24,32,.07);
  outline:none;
}
.client-logo-link img{
  display:block;
  max-width:100%;
  max-height:72px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.client-carousel-fade{
  position:absolute;
  z-index:2;
  top:0;
  bottom:0;
  width:74px;
  pointer-events:none;
}
.client-carousel-fade-left{
  left:0;
  background:linear-gradient(90deg,#fff 8%,rgba(255,255,255,0) 100%);
}
.client-carousel-fade-right{
  right:0;
  background:linear-gradient(270deg,#fff 8%,rgba(255,255,255,0) 100%);
}
.client-carousel-arrow{
  position:absolute;
  z-index:4;
  top:50%;
  width:42px;
  height:42px;
  margin-top:-21px;
  border:1px solid #e2dfdd;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#202226;
  box-shadow:0 8px 22px rgba(18,24,32,.10);
  font-size:30px;
  line-height:36px;
  font-weight:500;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.client-carousel-prev{left:14px}
.client-carousel-next{right:14px}
.client-carousel-arrow:hover,
.client-carousel-arrow:focus-visible{
  color:var(--red-dark);
  border-color:var(--red-dark);
  transform:scale(1.06);
  box-shadow:0 10px 26px rgba(18,24,32,.13);
  outline:none;
}
.client-carousel-arrow:active{transform:scale(.97)}
.partner-card{scroll-margin-top:140px}
.partner-card.partner-arrival{
  animation:epPartnerArrival 2s ease-out 1;
}
@keyframes epPartnerArrival{
  0%{
    border-color:var(--red);
    box-shadow:0 0 0 0 rgba(225,69,48,.30),0 16px 40px rgba(18,24,32,.08);
    transform:translateY(-2px);
  }
  25%{
    border-color:var(--red);
    box-shadow:0 0 0 8px rgba(225,69,48,.11),0 16px 40px rgba(18,24,32,.08);
  }
  50%{
    border-color:#e7e8eb;
    box-shadow:0 0 0 0 rgba(225,69,48,0),0 8px 24px rgba(18,24,32,.045);
  }
  72%{
    border-color:var(--red);
    box-shadow:0 0 0 5px rgba(225,69,48,.09),0 14px 34px rgba(18,24,32,.07);
  }
  100%{
    border-color:#e7e8eb;
    box-shadow:0 8px 24px rgba(18,24,32,.045);
    transform:none;
  }
}
@media(max-width:760px){
  .client-carousel-section{
    padding-top:54px;
    padding-bottom:54px;
  }
  .client-carousel-head{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:20px;
  }
  .client-logo-link{
    width:154px;
    height:96px;
    flex-basis:154px;
    padding:14px 16px;
  }
  .client-logo-link img{max-height:62px}
  .client-carousel-fade{width:48px}
  .client-carousel-arrow{
    width:38px;
    height:38px;
    margin-top:-19px;
    font-size:27px;
  }
  .client-carousel-prev{left:8px}
  .client-carousel-next{right:8px}
}
@media(prefers-reduced-motion:reduce){
  .partner-card.partner-arrival{
    animation:none;
    outline:3px solid rgba(225,69,48,.30);
    outline-offset:3px;
  }
}
/* CLIENT_CAROUSEL_V1_END */


/* SERVICE_CARD_LINKS_V1 */
.service .link{
  position:absolute;
  left:23px;
  bottom:20px;
  font-size:14px;
  font-weight:850;
  color:var(--ink);
}
.service .link span,
.audience .link span{
  display:inline-block;
  color:var(--red);
  margin-left:6px;
  transition:transform .22s ease;
}
.service:hover .link span,
.audience:hover .link span{
  transform:translateX(4px);
}


/* SERVICE_ANCHOR_OFFSET_V1 */
/* Keep service section headings below the sticky desktop header
   when arriving through sluzby.html#... links. */
#revize,
#elektro,
#security,
#mar{
  scroll-margin-top:104px;
}

@media (max-width: 760px){
  #revize,
  #elektro,
  #security,
  #mar{
    scroll-margin-top:88px;
  }
}

/* HERO_COLOR_FINAL_V1 */
/* Canonical hero color correction after A/B review.
   Keeps the source image and layout unchanged. */
.hero-photo > img{
  filter:saturate(.76) brightness(1.02) contrast(.975) !important;
}


/* MICRO_POLISH_CV_V1_1 */
.micro-reference-section{padding-bottom:44px!important}
.micro-reference-section + .cta{padding-top:12px!important}
.stats .stat strong{font-size:26px;line-height:1.08;letter-spacing:-.025em}
.stats .stat span{margin-top:9px;line-height:1.42}
@media(max-width:760px){
  .micro-reference-section{padding-bottom:32px!important}
  .micro-reference-section + .cta{padding-top:0!important}
  .stats .stat strong{font-size:25px}
}


/* KRNOV_LOGO_CONSISTENCY_V1
   Only Krnov hospital gets a larger optical render; other partner logos untouched. */

/* Homepage infinite carousel — both duplicated Krnov items are targeted by href. */
.client-logo-link[href*="partner=nemocnice-krnov"] img{
  width:88% !important;
  max-width:176px !important;
  max-height:78px !important;
  height:auto !important;
  object-fit:contain !important;
  transform:scale(1.08);
  transform-origin:center;
}

/* Cooperation card — use the same full horizontal logo with a larger fit. */
#nemocnice-krnov img[src*="nemocnice-krnov-full.webp"]{
  width:88% !important;
  max-width:190px !important;
  max-height:92px !important;
  height:auto !important;
  object-fit:contain !important;
}

/* Keep it balanced on narrow screens. */
@media(max-width:640px){
  .client-logo-link[href*="partner=nemocnice-krnov"] img{
    width:84% !important;
    max-width:160px !important;
    transform:scale(1.04);
  }

  #nemocnice-krnov img[src*="nemocnice-krnov-full.webp"]{
    width:84% !important;
    max-width:172px !important;
  }
}


/* KRNOV_TICR_FINAL_TUNE_V1
   Final polish: Krnov a bit larger; TIČR stamp cleaner and centered. */

/* --- Krnov logo: enlarge only this partner, nothing else. --- */
.client-logo-link[href*="partner=nemocnice-krnov"] img{
  width:96% !important;
  max-width:216px !important;
  max-height:86px !important;
  height:auto !important;
  object-fit:contain !important;
  transform:scale(1.18) !important;
  transform-origin:center center !important;
}

#nemocnice-krnov img[src*="nemocnice-krnov-full.webp"]{
  width:96% !important;
  max-width:220px !important;
  max-height:100px !important;
  height:auto !important;
  object-fit:contain !important;
  transform:scale(1.20) !important;
  transform-origin:center center !important;
}

@media(max-width:640px){
  .client-logo-link[href*="partner=nemocnice-krnov"] img{
    max-width:184px !important;
    max-height:74px !important;
    transform:scale(1.10) !important;
  }

  #nemocnice-krnov img[src*="nemocnice-krnov-full.webp"]{
    max-width:188px !important;
    max-height:84px !important;
    transform:scale(1.12) !important;
  }
}


/* ELEKTROPRUDIL_FINAL_VISUAL_CLEANUP_V1 */

/* Municipality carousel tiles: logo left, readable text right. */
.client-logo-link--municipality-final{
  padding:0 14px !important;
}

.client-logo-link--municipality-final .municipality-inline-final{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}

.client-logo-link--municipality-final .municipality-inline-final img{
  display:block !important;
  flex:0 0 58px !important;
  width:58px !important;
  height:58px !important;
  max-width:58px !important;
  max-height:58px !important;
  object-fit:contain !important;
  transform:none !important;
}

.client-logo-link--municipality-final .municipality-inline-final__label{
  display:block;
  max-width:102px;
  font-size:13px;
  line-height:1.18;
  font-weight:800;
  color:#25282d;
  text-align:left;
  white-space:normal;
  text-wrap:balance;
}

@media(max-width:720px){
  .client-logo-link--municipality-final{
    padding:0 10px !important;
  }

  .client-logo-link--municipality-final .municipality-inline-final{
    gap:9px;
  }

  .client-logo-link--municipality-final .municipality-inline-final img{
    flex-basis:50px !important;
    width:50px !important;
    height:50px !important;
    max-width:50px !important;
    max-height:50px !important;
  }

  .client-logo-link--municipality-final .municipality-inline-final__label{
    max-width:94px;
    font-size:12px;
  }
}

/* Final TIČR stamp: one asset, no crop hacks, no pseudo-effects. */
.ticr-story{
  padding-bottom:24px !important;
}

.ticr-stamp-between{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  min-height:126px !important;
  margin:14px 0 20px !important;
}

.ticr-stamp-between .ticr-stamp-link{
  position:relative !important;
  inset:auto !important;
  width:124px !important;
  height:124px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.ticr-stamp-between .ticr-stamp-link::before,
.ticr-stamp-between .ticr-stamp-link::after{
  display:none !important;
  content:none !important;
}

.ticr-stamp-between .ticr-stamp-crop{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:124px !important;
  height:124px !important;
  overflow:visible !important;
  border-radius:0 !important;
}

.ticr-stamp-between .ticr-stamp-img{
  display:block !important;
  width:116px !important;
  height:116px !important;
  max-width:116px !important;
  max-height:116px !important;
  margin:0 !important;
  object-fit:contain !important;
  clip-path:none !important;
  opacity:.93 !important;
  transform:rotate(-8deg) !important;
  transform-origin:center !important;
  filter:none !important;
  transition:opacity .16s ease, transform .16s ease !important;
}

.ticr-stamp-between .ticr-stamp-link:hover .ticr-stamp-img,
.ticr-stamp-between .ticr-stamp-link:focus-visible .ticr-stamp-img{
  opacity:1 !important;
  transform:rotate(-7deg) scale(1.015) !important;
  filter:none !important;
}

.ticr-stamp-between + .keyword-stack{
  margin-bottom:20px !important;
}

@media(max-width:560px){
  .ticr-stamp-between{
    min-height:108px !important;
    margin:10px 0 18px !important;
  }

  .ticr-stamp-between .ticr-stamp-link,
  .ticr-stamp-between .ticr-stamp-crop{
    width:104px !important;
    height:104px !important;
  }

  .ticr-stamp-between .ticr-stamp-img{
    width:98px !important;
    height:98px !important;
    max-width:98px !important;
    max-height:98px !important;
  }
}


/* MUNICIPAL_AB_STAMP_V1 */
.client-logo-link--municipality-final{
  padding: 0 10px !important;
}

.client-logo-link--municipality-final .municipality-inline-final{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}

.client-logo-link--municipality-final .municipality-inline-final img{
  display: block !important;
  flex: 0 0 60px !important;
  width: 60px !important;
  height: 60px !important;
  max-width: 60px !important;
  max-height: 60px !important;
  object-fit: contain !important;
  transform: none !important;
}

.client-logo-link--municipality-final .municipality-inline-final__text{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  flex: 1 1 auto;
}

.client-logo-link--municipality-final .municipality-inline-final__prefix{
  display: block;
  font-size: 12px;
  line-height: 1.0;
  font-weight: 800;
  color: #3f434a;
  margin-bottom: 4px;
  letter-spacing: .01em;
}

.client-logo-link--municipality-final .municipality-inline-final__name{
  display: block;
  font-size: 18px;
  line-height: 1.05;
  font-weight: 900;
  color: #25282d;
  text-align: left;
  text-wrap: balance;
}

@media(max-width: 720px){
  .client-logo-link--municipality-final{
    padding: 0 8px !important;
  }

  .client-logo-link--municipality-final .municipality-inline-final{
    gap: 10px;
  }

  .client-logo-link--municipality-final .municipality-inline-final img{
    flex-basis: 52px !important;
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
  }

  .client-logo-link--municipality-final .municipality-inline-final__prefix{
    font-size: 11px;
  }

  .client-logo-link--municipality-final .municipality-inline-final__name{
    font-size: 15px;
    line-height: 1.05;
  }
}


/* ABOUT_PROOF_HERO_IDENTITY_V1 */
.ticr-story .keyword-stack{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:0 !important;
  margin-bottom:20px !important;
}

.ticr-story .keyword-stack span{
  min-height:48px !important;
  padding:12px 14px !important;
  display:flex !important;
  align-items:center !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}

@media(max-width:560px){
  .ticr-story .keyword-stack{
    gap:9px !important;
  }

  .ticr-story .keyword-stack span{
    min-height:46px !important;
    padding:11px 12px !important;
    font-size:13px !important;
  }
}


/* ONDATA_DIGITALNI_ROZVADEC_V1 */
.copy-right{
  flex-wrap:wrap;
}

.ondata-switchboard{
  position:relative;
  display:inline-flex !important;
  align-items:center;
  gap:5px;
  margin-left:4px;
  padding:5px 0 6px;
  color:#aeb1b6 !important;
  text-decoration:none !important;
  white-space:nowrap;
  font-size:12px;
  line-height:1.2;
  font-weight:600;
  isolation:isolate;
}

.ondata-switchboard__label{
  color:#aeb1b6;
  transition:color .18s ease;
}

.ondata-switchboard__brand{
  color:#f2f2f3;
  font-weight:900;
  letter-spacing:.055em;
  transition:color .18s ease, text-shadow .18s ease;
}

.ondata-switchboard__arrow{
  color:#f2f2f3;
  font-weight:900;
  transform:translateX(0);
  transition:transform .18s ease, color .18s ease;
}

.ondata-switchboard::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:1px;
  height:1px;
  background:var(--red-dark);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .24s cubic-bezier(.2,.75,.25,1);
}

.ondata-switchboard__meta{
  position:absolute;
  right:0;
  bottom:calc(100% + 8px);
  z-index:20;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:8px;
  background:#25262a;
  color:#d7d8db;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
  font-size:11px;
  line-height:1;
  font-weight:650;
  letter-spacing:.01em;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(5px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.ondata-switchboard:hover .ondata-switchboard__brand,
.ondata-switchboard:focus-visible .ondata-switchboard__brand{
  color:var(--red-dark);
  text-shadow:0 0 14px rgba(190,40,29,.16);
}

.ondata-switchboard:hover .ondata-switchboard__arrow,
.ondata-switchboard:focus-visible .ondata-switchboard__arrow{
  color:var(--red-dark);
  transform:translateX(3px);
}

.ondata-switchboard:hover::after,
.ondata-switchboard:focus-visible::after{
  transform:scaleX(1);
}

.ondata-switchboard:hover .ondata-switchboard__meta,
.ondata-switchboard:focus-visible .ondata-switchboard__meta{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.ondata-switchboard:focus-visible{
  outline:2px solid rgba(190,40,29,.55);
  outline-offset:4px;
  border-radius:4px;
}

@media(max-width:720px){
  .ondata-switchboard{
    width:100%;
    margin-left:0;
    margin-top:3px;
    justify-content:flex-start;
  }

  .ondata-switchboard__meta{
    left:0;
    right:auto;
  }
}

@media(prefers-reduced-motion:reduce){
  .ondata-switchboard__label,
  .ondata-switchboard__brand,
  .ondata-switchboard__arrow,
  .ondata-switchboard::after,
  .ondata-switchboard__meta{
    transition:none !important;
  }
}


/* FOOTER_ONDATA_V2 */
.copy-right{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:16px !important;
  flex-wrap:wrap !important;
}

.ondata-switchboard--footer-v2{
  order:1;
  margin:0 !important;
  padding:5px 0 6px !important;
  flex:0 0 auto;
}

.copy-right .voltage-mark{
  order:2;
  flex:0 0 auto;
}

.ondata-switchboard--footer-v2 .ondata-switchboard__label{
  color:#aeb1b6 !important;
}

.ondata-switchboard--footer-v2 .ondata-switchboard__brand{
  color:#f2f2f3 !important;
}

.ondata-switchboard--footer-v2:hover .ondata-switchboard__brand,
.ondata-switchboard--footer-v2:focus-visible .ondata-switchboard__brand{
  color:var(--red-dark) !important;
}

@media(max-width:720px){
  .copy-right{
    justify-content:flex-start !important;
    gap:10px 14px !important;
  }

  .ondata-switchboard--footer-v2{
    width:auto !important;
    margin:0 !important;
  }
}


/* ONDATA_FOOTER_CENTER_V3
   Desktop: copyright left | ONDATA true center | voltage right.
   Mobile: stack naturally. */
.copy{
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  column-gap:18px !important;
}

.copy > span:first-child{
  grid-column:1 !important;
  justify-self:start !important;
}

.copy-right{
  display:contents !important;
}

.ondata-switchboard--footer-v2{
  grid-column:2 !important;
  justify-self:center !important;
  margin:0 !important;
}

.copy-right .voltage-mark{
  grid-column:3 !important;
  justify-self:end !important;
}

@media(max-width:720px){
  .copy{
    grid-template-columns:1fr !important;
    row-gap:8px !important;
  }

  .copy > span:first-child,
  .ondata-switchboard--footer-v2,
  .copy-right .voltage-mark{
    grid-column:1 !important;
    justify-self:start !important;
  }

  .ondata-switchboard--footer-v2{
    margin-top:2px !important;
  }
}


/* FORM_ATTACHMENTS_V1 */
.attachment-field{
  margin-top:2px;
}

.field-optional{
  color:#8a8d92;
  font-weight:600;
  text-transform:none;
  letter-spacing:0;
}

.attachment-field input[type="file"]{
  width:100%;
  box-sizing:border-box;
  min-height:58px;
  padding:10px 12px;
  border:1px dashed #c9c7c4;
  border-radius:10px;
  background:#faf9f7;
  color:#62656b;
  font:inherit;
  cursor:pointer;
}

.attachment-field input[type="file"]::file-selector-button{
  margin-right:12px;
  padding:10px 14px;
  border:0;
  border-radius:8px;
  background:#252629;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.attachment-field input[type="file"]:focus-visible{
  outline:2px solid rgba(190,40,29,.55);
  outline-offset:2px;
}

.attachment-help{
  display:block;
  margin-top:8px;
  color:#777b81;
  font-size:12px;
  line-height:1.45;
}

.attachment-help-email{
  margin-top:3px;
}

.attachment-help a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
}

.attachment-status{
  min-height:18px;
  margin-top:7px;
  color:#62656b;
  font-size:12px;
  line-height:1.45;
  font-weight:700;
}

.attachment-status.is-error{
  color:#b42318;
}
/* WEBDEV_PHASE1_V1 */
@media(max-width:760px){
  .header{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}

/* WEBDEV_PHASE2_V1
   Historical accessibility override.
   Brand red is now canonicalized through --red / --red-dark.
*/
.header .phone-btn{background:var(--red)}
.eyebrow,.kicker{color:var(--red)}

/* ============================================================
   POWERMAPPER_ACCESSIBILITY_V4
   WCAG A/AA fixes + reduced-motion hardening.
   ============================================================ */

/* PowerMapper AA: breadcrumbs were ~3.30:1; links ~3.84:1. */
.breadcrumbs {
  color: #65696f;
}
.breadcrumbs a {
  color: var(--red);
}

/* PowerMapper AA: small red labels were ~4.14:1. */
.mini {
  color: var(--red);
}

/* PowerMapper AA: three cooperation-card paragraphs were ~4.38:1. */
.pm-aa-copy {
  color: #6b7076 !important;
}

/* PowerMapper AAA / low-risk usability hardening:
   respect OS-level reduced-motion preference, including pseudo-elements. */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto !important;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }
}



/* POWERMAPPER_ACCESSIBILITY_V7: remaining AA contact-label contrast */
.pm-aa-label {
  color: #65696f !important;
}


/* POWERMAPPER_ACCESSIBILITY_FINAL_AA_V2 */
.pm-aa-final {
  color: #6b7076 !important;
}


/* POWERMAPPER_TARGET_BLANK_A11Y_V1 */
.pm-sr-only {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* ============================================================
   ELEKTROPRUDIL_PHONE_BUTTON_SHINE_MATCH_PRIMARY_V2
   Presna kopie hover sweepu z .btn na .phone-btn.
   ============================================================ */

.phone-btn {
  position: relative;
  overflow: hidden;
}

.phone-btn:before {
  content: "";
  position: absolute;
  top: -80%;
  bottom: -80%;
  width: 34%;
  left: -55%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent);
  transform: skewX(-20deg);
  transition: left .5s ease;
}

.phone-btn:hover:before {
  left: 125%;
}

/* ============================================================
   ELEKTROPRUDIL_PHONE_BUTTON_HOVER_SYNC_V3
   Explicitni finalni synchronizace barvy s .btn.primary.
   Sweep V2 zustava beze zmeny.
   ============================================================ */

.phone-btn {
  background-color: var(--red);
}

.phone-btn:hover {
  background-color: var(--red-dark);
}

/* ============================================================
   ELEKTROPRUDIL_PHONE_BUTTON_EXACT_PRIMARY_COLORS_V5
   Button colors follow the canonical palette.
   normal var(--red) -> hover var(--red-dark)
   exact V2 white sweep preserved.
   ============================================================ */

.phone-btn {
  background: var(--red) !important;
  transition: background-color .18s ease, box-shadow .18s ease;
}

.phone-btn:hover {
  background: var(--red-dark) !important;
}

/* ============================================================
   ELEKTROPRUDIL_HOME_HERO_CARD_V1
   Homepage hero sjednocen s kartou "O mne":
   spolecny zaobleny obal text + foto.
   ============================================================ */

.hero {
  overflow: visible;
  padding: 28px 0 20px;
}

.hero .hero-inner {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

.hero .hero-copy {
  padding: 78px 64px 76px 52px;
}

@media (max-width:760px) {
  .hero {
    padding: 14px 0 12px;
  }

  .hero .hero-inner {
    border-radius: 16px;
  }

  .hero .hero-copy {
    padding: 42px 24px 34px;
  }
}

/* ============================================================
   ELEKTROPRUDIL_CONTACT_CARD_V1_2
   Kontaktni panel + fotografie jako jeden spolecny zaobleny celek.
   ============================================================ */

.contact-grid {
  gap: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

.contact-grid .contact-panel {
  border: 0;
  border-radius: 0;
}

.contact-grid .contact-photo {
  border-radius: 0;
}

@media (max-width:760px) {
  .contact-grid {
    border-radius: 16px;
  }
}

/* ============================================================
   ELEKTROPRUDIL_CONTACT_PHOTO_HOVER_V1
   Stejna jemna dynamika jako foto v bloku "O mne".
   ============================================================ */

.contact-photo img {
  transition: transform .8s cubic-bezier(.2,.75,.25,1);
}

.contact-photo:hover img {
  transform: scale(1.025);
}

@media (prefers-reduced-motion: reduce) {
  .contact-photo img {
    transition: none;
  }

  .contact-photo:hover img {
    transform: none;
  }
}

/* ============================================================
   ELEKTROPRUDIL_HERO_DIVIDER_REMOVE_V1
   Svisla cervena linka mezi hero textem a fotografii odstranena.
   Brandplate red accent zustava.
   ============================================================ */

/* ============================================================
   ELEKTROPRUDIL_BRAND_RED_NORMALIZE_V1_1
   Canonical brand policy:
   STATIC  #E14530  (logo)
   DYNAMIC #BE281D  (hover / interaction)
   ============================================================ */

/* ============================================================
   ELEKTROPRUDIL_BRAND_RED_FINAL_V3
   Canonical palette:
   STATIC  --red      = #E14530 (logo)
   DYNAMIC --red-dark = #BE281D (hover/focus)
   Semantic error #B42318 and wine palette intentionally separate.
   ============================================================ */

/* ============================================================
   ELEKTROPRUDIL_VISUAL_POLISH_DOCX_V1
   Feedback 06.10.2026:
   - footer right column aligned with voltage easter egg
   - white telephone ghost CTA gets mouse-follow brand glow
   - cert strip vertical rhythm centered
   - homepage services heading composition tightened
   ============================================================ */

/* 1) Footer: right contact column shares the same right edge as easter egg. */
@media (min-width:761px) {
  .footer-grid > div:last-child {
    text-align: right;
  }
  .footer-grid > div:last-child a:not(.brand) {
    text-align: right;
  }
}

/* 2) White telephone CTA: white base + subtle red glow exactly under pointer. */
.btn.ghost[href^="tel:"] {
  --ghost-x: 50%;
  --ghost-y: 50%;
  background-color: #fff;
  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    background-color .2s ease;
}
@media (hover:hover) and (pointer:fine) {
  .btn.ghost[href^="tel:"]:hover,
  .btn.ghost[href^="tel:"]:focus-visible {
    background:
      radial-gradient(
        105px circle at var(--ghost-x) var(--ghost-y),
        rgba(225,69,48,.15) 0%,
        rgba(225,69,48,.075) 38%,
        rgba(225,69,48,0) 72%
      ),
      #fff;
    border-color: rgba(225,69,48,.38);
    box-shadow: 0 12px 28px rgba(20,20,24,.10);
  }
}

/* 3) Evidence/cert strip: headline + description form one centered unit. */
.cert {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cert strong {
  line-height: 1.08;
}
.cert span {
  margin-top: 6px;
  line-height: 1.35;
}

/* 4+5) Homepage service intro: shorter heading + balanced two-column alignment. */
.hero + .section .section-head {
  align-items: center;
}
@media (max-width:760px) {
  .footer-grid > div:last-child,
  .footer-grid > div:last-child a:not(.brand) {
    text-align: left;
  }
}

/* ============================================================
   ELEKTROPRUDIL_FOOTER_CENTER_WEB_V1
   Desktop footer alignment:
   LEFT = brand
   CENTER = Web navigation
   RIGHT = Contact
   Mobile remains left aligned.
   ============================================================ */
@media (min-width:761px) {
  .footer-grid > div:nth-child(2) {
    text-align: center;
  }
  .footer-grid > div:nth-child(2) a:not(.brand) {
    text-align: center;
  }
}
@media (max-width:760px) {
  .footer-grid > div:nth-child(2),
  .footer-grid > div:nth-child(2) a:not(.brand) {
    text-align: left;
  }
}

/* ============================================================
   ELEKTROPRUDIL_FOOTER_INVISIBLE_BLOCKS_V1
   Desktop: 3 equal invisible layout zones.
   Left text/content remains unchanged.
   ============================================================ */
@media (min-width:1061px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr 1fr;
    align-items: start;
  }

  .footer-grid > div:first-child {
    justify-self: start;
    width: min(100%, 430px);
    max-width: 430px;
    text-align: left;
  }

  .footer-grid > div:first-child p,
  .footer-grid > div:first-child .footer-keywords {
    max-width: 430px;
  }

  .footer-grid > div:nth-child(2) {
    justify-self: center;
    width: max-content;
    max-width: 100%;
    text-align: center;
  }

  .footer-grid > div:last-child {
    justify-self: end;
    width: min(100%, 300px);
    max-width: 300px;
    text-align: right;
  }
}

@media (max-width:760px) {
  .footer-grid > div:first-child,
  .footer-grid > div:nth-child(2),
  .footer-grid > div:last-child {
    width: auto;
    max-width: none;
    justify-self: stretch;
    text-align: left;
  }
}

/* ============================================================
   ELEKTROPRUDIL_FILE_BUTTON_MATCH_DARK_V1
   "Zvolit soubory" mirrors .btn.dark:
   48px height, 19px horizontal padding, 9px radius, weight 850,
   black background, white text, hover lift + shadow + white sweep.
   Native ::file-selector-button cannot host ::before, therefore
   the sweep is reproduced with an animated background gradient.
   ============================================================ */

.attachment-field input[type="file"]::file-selector-button {
  min-height:48px;
  padding:0 19px;
  border:1px solid transparent;
  border-radius:9px;
  background-color:var(--black);
  background-image:
    linear-gradient(
      90deg,
      transparent 0%,
      transparent 39%,
      rgba(255,255,255,.36) 50%,
      transparent 61%,
      transparent 100%
    );
  background-size:260% 100%;
  background-position:165% 0;
  background-repeat:no-repeat;
  color:#fff;
  font-family:inherit;
  font-size:inherit;
  font-weight:850;
  line-height:1;
  cursor:pointer;
  transform:translateY(0);
  box-shadow:none;
  transition:
    transform .2s ease,
    background-position .5s ease,
    color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

@media (hover:hover) and (pointer:fine) {
  .attachment-field input[type="file"]::file-selector-button:hover,
  .attachment-field input[type="file"]:hover::file-selector-button {
    transform:translateY(-2px);
    background-position:-65% 0;
    box-shadow:0 12px 28px rgba(20,20,24,.12);
  }
}

@media (prefers-reduced-motion:reduce) {
  .attachment-field input[type="file"]::file-selector-button {
    transition:none;
    transform:none;
  }
  .attachment-field input[type="file"]::file-selector-button:hover,
  .attachment-field input[type="file"]:hover::file-selector-button {
    transform:none;
    background-position:165% 0;
  }
}

/* ============================================================
   ELEKTROPRUDIL_SPACING_SYSTEM_V1
   Canonical structural spacing system.
   Only major page rhythm is standardized; component internals stay intact.
   Scale: 16 / 24 / 32 / 48 / 56 / 64 / 72 px.
   ============================================================ */

:root {
  --ep-space-2: 16px;
  --ep-space-3: 24px;
  --ep-space-4: 32px;
  --ep-space-5: 48px;
  --ep-space-6: 56px;
  --ep-space-7: 64px;
  --ep-space-8: 72px;

  --ep-section-y: var(--ep-space-8);
  --ep-page-hero-y: var(--ep-space-7);
  --ep-section-head-gap: var(--ep-space-4);
}

.section {
  padding-top: var(--ep-section-y);
  padding-bottom: var(--ep-section-y);
}

.section-head {
  margin-bottom: var(--ep-section-head-gap);
}

.page-hero {
  padding-top: var(--ep-page-hero-y);
  padding-bottom: var(--ep-page-hero-y);
}

.client-carousel-section {
  padding-top: var(--ep-section-y);
  padding-bottom: var(--ep-section-y);
}

.client-carousel-head {
  margin-bottom: var(--ep-section-head-gap);
}

.cta {
  padding-top: var(--ep-section-y);
  padding-bottom: var(--ep-section-y);
}

.hero {
  padding-top: var(--ep-space-4);
  padding-bottom: var(--ep-space-3);
}

.micro-reference-section {
  padding-bottom: var(--ep-space-5) !important;
}
.micro-reference-section + .cta {
  padding-top: var(--ep-space-3) !important;
}

.section-anchor-gap {
  height: var(--ep-space-4);
}

.footer {
  padding-top: var(--ep-space-6);
  padding-bottom: var(--ep-space-3);
}

@media (max-width:760px) {
  :root {
    --ep-section-y: var(--ep-space-6);
    --ep-page-hero-y: var(--ep-space-6);
    --ep-section-head-gap: var(--ep-space-3);
  }

  .section,
  .client-carousel-section,
  .cta {
    padding-top: var(--ep-section-y);
    padding-bottom: var(--ep-section-y);
  }

  .page-hero {
    padding-top: var(--ep-page-hero-y);
    padding-bottom: var(--ep-page-hero-y);
  }

  .section-head,
  .client-carousel-head {
    margin-bottom: var(--ep-section-head-gap);
  }

  .hero {
    padding-top: var(--ep-space-2);
    padding-bottom: var(--ep-space-2);
  }

  .micro-reference-section {
    padding-bottom: var(--ep-space-4) !important;
  }
  .micro-reference-section + .cta {
    padding-top: var(--ep-space-2) !important;
  }

  .section-anchor-gap {
    height: var(--ep-space-3);
  }

  .footer {
    padding-top: var(--ep-space-5);
    padding-bottom: var(--ep-space-3);
  }
}


/* ELEKTROPRUDIL_A11Y_CONTRAST_SMALL_TEXT_V1
   07.10.2026
   Accessibility-only override for small red text.
   Canonical brand red #E14530 remains unchanged globally.
   #D13B28 on #FFFFFF ~= 4.81:1 (WCAG AA normal text).
*/
.eyebrow,
.kicker {
  color: #D13B28;
}

/* ============================================================
   ELEKTROPRUDIL_SPOLUPRACE_SPACING_FIX_V1
   /spoluprace/: partner grid already carries section bottom spacing.
   Reduce only the following CTA top spacing to avoid double rhythm.
   ============================================================ */
.partner-section + .cta {
  padding-top: var(--ep-space-2) !important;
}
