@font-face{font-family:"Bebas Neue";src:url("../fonts/bebas-neue.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Libre Baskerville";src:url("../fonts/libre-baskerville-400.ttf") format("truetype");font-display:swap;font-weight:400}
@font-face{font-family:"Libre Baskerville";src:url("../fonts/libre-baskerville-700.ttf") format("truetype");font-display:swap;font-weight:700}
:root{--red:#d20a0a;--red-dark:#9d0505;--ink:#111;--ink-soft:#262626;--paper:#f5f2ed;--paper-deep:#ebe6de;--white:#fff;--muted:#68635c;--line:#d9d4cb;--container:1240px;--narrow:820px;--shadow:0 22px 55px rgba(19,17,14,.14);--radius:3px;--radius-large:6px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #ff4141;outline-offset:4px}
.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}
.prose{max-width:var(--narrow)}
.prose a{color:var(--red);text-decoration:underline;text-underline-offset:3px}.prose img{margin:30px 0}.prose h2,.prose h3{margin-top:1.6em}
h1,h2,h3{overflow-wrap:normal;word-break:normal;hyphens:manual;text-wrap:balance}
p{overflow-wrap:break-word}
h1,h2,h3{margin:0 0 .45em;font-family:"Libre Baskerville",Georgia,serif;line-height:1.08}
h1{font-size:clamp(2.8rem,5.8vw,6rem);letter-spacing:-.05em}
h2{font-size:clamp(2.1rem,4vw,4rem);letter-spacing:-.038em}
h3{font-size:clamp(1.25rem,2vw,1.75rem);letter-spacing:-.025em}
p{margin:0 0 1.1em}
.lead{max-width:780px;color:#383531;font-size:clamp(1.12rem,2vw,1.45rem);line-height:1.55}
.kicker,.card-kicker{display:block;margin:0 0 15px;color:var(--red);font:400 .96rem/1.1 "Bebas Neue",sans-serif;letter-spacing:.18em;text-transform:uppercase}
.section{padding:clamp(78px,9vw,140px) 0}.section.compact{padding-block:clamp(52px,6vw,82px)}
.section-ink{background:var(--ink);color:#fff}.section-ink .card{color:var(--ink)}
.section-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);align-items:end;gap:48px;margin-bottom:48px;padding-top:22px;border-top:1px solid #aaa39a}.section-heading h2{margin:0}.section-heading>p{margin:0;color:var(--muted);max-width:520px}.section-heading.inverse{border-top-color:#ffffff42;border-bottom:1px solid #ffffff2b;padding-bottom:28px}.section-heading.inverse .kicker{color:#ff4a4a}.section-heading.inverse .text-link{color:#fff}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:13px 24px;border:1px solid var(--red);border-radius:var(--radius);background:var(--red);color:#fff;font-weight:780;line-height:1.2;transition:background .2s,transform .2s,border-color .2s}.button:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-2px)}.button-light{background:transparent;color:var(--ink);border-color:var(--ink)}.button-light:hover{color:#fff;background:var(--ink)}.button-small{min-height:42px;padding:10px 17px;font-size:.88rem}.button-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:34px}.text-link{display:inline-flex;align-items:center;color:var(--red);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.text-link:hover{color:var(--red-dark)}.section-heading>.text-link,.home-reference-rail>.text-link{justify-self:end;font:400 italic .86rem/1.4 "Libre Baskerville",Georgia,serif;letter-spacing:.01em;text-decoration:none;border-bottom:1px solid currentColor;padding:0 0 4px;transition:color .2s,border-color .2s,transform .2s}.section-heading>.text-link:hover,.home-reference-rail>.text-link:hover{transform:translateX(3px)}
.phone-cta{display:grid;line-height:1.2}.phone-cta span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.phone-cta strong{font-size:1.05rem}
.skip-link{position:fixed;z-index:10000;top:8px;left:8px;padding:10px 15px;background:#fff;color:#000;transform:translateY(-160%)}.skip-link:focus{transform:none}
.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}.contact-line{display:block;margin-top:8px}
.demo-bar{padding:7px 20px;background:#ffd85a;color:#1f1800;text-align:center;font-size:.82rem;font-weight:750}
.site-header{position:sticky;z-index:100;top:0;background:rgba(245,242,237,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);transition:box-shadow .25s,background .25s}.site-header.is-scrolled{background:rgba(245,242,237,.985);box-shadow:0 8px 30px rgba(17,17,17,.08)}.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px;min-height:94px;transition:min-height .25s}.brand{display:inline-flex;align-items:center;padding-block:10px}.brand img{width:150px;height:auto;transition:width .25s}.main-nav>ul{display:flex;justify-content:center;gap:4px;list-style:none;margin:0;padding:0}.main-nav li{position:relative}.main-nav>ul>li>a{display:block;padding:34px 13px 31px;font-size:.94rem;font-weight:750;transition:padding .25s,color .2s}.main-nav>ul>li>a:hover{color:var(--red)}.header-actions{display:flex;align-items:center;gap:17px}.header-phone{white-space:nowrap;font-weight:750;font-size:.9rem}.menu-toggle,.submenu-toggle{display:none}.site-header.is-scrolled .header-inner{min-height:74px}.site-header.is-scrolled .brand img{width:132px}.site-header.is-scrolled .main-nav>ul>li>a{padding-block:23px 20px}.site-header.is-scrolled .mega-menu{top:74px}
.main-nav .has-submenu>ul{position:absolute;display:none;min-width:200px;top:100%;left:0;list-style:none;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.main-nav .has-submenu:hover>ul,.main-nav .has-submenu:focus-within>ul{display:block}.main-nav .has-submenu li a{display:block;padding:9px 11px;font-weight:650}.main-nav .has-submenu li a:hover{color:var(--red)}
.mega-menu{position:fixed;display:none;left:0;right:0;top:94px;padding:34px max(24px,calc((100vw - var(--container))/2));grid-template-columns:240px 1fr;gap:42px;background:var(--ink);color:#fff;border-top:3px solid var(--red);box-shadow:0 25px 45px #0004;transition:top .25s}.has-mega:hover .mega-menu,.has-mega:focus-within .mega-menu,.has-mega.submenu-hover .mega-menu{display:grid}.mega-menu-intro{border-right:1px solid #ffffff2e;padding-right:30px}.mega-menu-intro .kicker{color:#ff4646}.mega-menu-intro strong{display:block;font-family:"Libre Baskerville";font-size:1.6rem;line-height:1.25}.mega-menu-intro a{display:inline-block;margin-top:18px;color:#ff6b6b;text-decoration:underline}.mega-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.mega-groups h2{font-family:system-ui,sans-serif;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#aaa}.mega-groups a{display:block;padding:3px 0;color:#eee;font-size:.87rem}.mega-groups a:hover{color:#ff5252}

@media(min-width:801px){
  .mega-menu:before{content:"";position:absolute;right:0;bottom:100%;left:0;height:14px}
}
.breadcrumbs{padding-top:20px}.breadcrumbs ol{display:flex;gap:8px;list-style:none;margin:0;padding:0;color:var(--muted);font-size:.78rem}.breadcrumbs li+li:before{content:"/";margin-right:8px;color:#aaa}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.hero,.page-hero,.detail-hero,.landing-hero{padding:clamp(72px,9vw,140px) 0}.home-hero{padding-top:clamp(48px,6vw,90px);background:linear-gradient(180deg,#faf8f4,var(--paper))}.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:clamp(35px,7vw,90px);align-items:center}.hero-copy h1{max-width:850px}.hero-copy .lead{max-width:690px}.hero-visual{position:relative;margin:0;min-height:600px}.hero-visual:before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--red)}.hero-visual img{position:relative;width:100%;height:600px;object-fit:cover;box-shadow:var(--shadow)}.hero-visual figcaption{position:absolute;z-index:2;right:0;bottom:0;width:min(85%,410px);padding:18px 22px;background:var(--ink);color:#fff}.hero-visual figcaption span{display:block;color:#aaa;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.hero-visual figcaption a{font-family:"Libre Baskerville";font-weight:700}
.service-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-group-card{position:relative;min-height:430px;overflow:hidden;background:var(--ink);color:#fff}.service-group-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;filter:grayscale(.75);transition:transform .5s,opacity .3s}.service-group-card:hover>img{transform:scale(1.035);opacity:.38}.service-group-card>div{position:relative;z-index:1;display:grid;grid-template-columns:65px 1fr;align-content:end;min-height:430px;padding:36px;background:linear-gradient(180deg,transparent 0,#111 78%)}.group-number{grid-row:1/5;color:#ff4848;font:400 2.4rem/1 "Bebas Neue"}.service-group-card h3{font-size:clamp(1.7rem,3vw,2.8rem)}.service-group-card p{max-width:560px;color:#d3d3d3}.service-group-card ul{display:flex;flex-wrap:wrap;gap:7px 14px;list-style:none;margin:4px 0 0;padding:0}.service-group-card li a{color:#fff;font-size:.86rem;text-decoration:underline;text-underline-offset:4px}.service-group-card li a:hover{color:#ff5f5f}
.card-grid,.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{display:flex;min-width:0;flex-direction:column;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card-media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--paper-deep)}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.card:hover .card-media img{transform:scale(1.04)}.media-placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#ddd7cf,#f5f1eb)}.card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:25px}.card-body h3{font-size:1.35rem}.card-body p{color:#504c47;font-size:.94rem}.card-body .text-link{margin-top:auto}.card-body time,.card-kicker{color:var(--red);font-size:.76rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.card-facts{width:100%;list-style:none;padding:10px 0;margin:0 0 15px;border-block:1px solid var(--line)}.card-facts li{display:flex;justify-content:space-between;gap:15px;font-size:.78rem}.card-facts span{color:var(--muted)}
.logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.logo-grid a{display:grid;min-height:150px;place-items:center;padding:27px;background:#fff}.logo-grid img{object-fit:contain;filter:grayscale(1);transition:filter .25s,transform .25s}.logo-grid a:hover img{filter:none;transform:scale(1.04)}.logo-img{width:auto;height:auto;object-fit:contain}.logo-ultrawide{width:94%;max-height:44px}.logo-wide{width:86%;max-height:58px}.logo-compact{max-width:58%;max-height:66px}.logo-tall{max-width:44%;max-height:72px}
.process-section{overflow:hidden;background:linear-gradient(145deg,#eee9e1 0,var(--paper-deep) 58%,#e4ddd4 100%)}.process-intro{display:grid;grid-template-columns:220px 1fr;align-items:end;gap:28px}.process-intro h2{max-width:850px}.process-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;list-style:none;margin-top:50px;padding:0}.process-list li{position:relative;display:flex;min-width:0;min-height:295px;flex-direction:column;padding:26px 22px 24px;background:rgba(255,255,255,.72);border:1px solid rgba(131,119,104,.28);box-shadow:0 10px 30px rgba(32,27,22,.055)}.process-list li:not(:last-child):after{content:"";position:absolute;z-index:2;top:40px;right:-15px;width:15px;border-top:2px solid var(--red)}.process-list>li>span{display:grid;width:52px;height:52px;place-items:center;margin-bottom:48px;border-radius:50%;background:var(--red);color:#fff;font:400 1.6rem/1 "Bebas Neue";box-shadow:0 0 0 8px rgba(210,10,10,.08)}.process-list li div{display:block}.process-list h3{margin:0 0 12px;font-size:clamp(1.22rem,1.65vw,1.62rem)}.process-list p{margin:0;color:var(--muted);font-size:.91rem;line-height:1.58}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quote-grid blockquote,.quote-card,.quote-single blockquote{margin:0;padding:34px;background:#fff;border-top:5px solid var(--red);box-shadow:0 8px 25px #1111110a}.quote-grid blockquote>p,.quote-card>p,.quote-single blockquote>p{font-family:"Libre Baskerville";font-size:1.05rem;line-height:1.65}.quote-grid footer,.quote-card footer,blockquote footer{display:grid}.quote-grid footer strong,.quote-card footer strong,blockquote footer strong{color:var(--red)}.quote-grid footer span,.quote-card footer span,blockquote footer span{color:var(--muted);font-size:.88rem}.archive-grid .quote-card{grid-column:span 1}
.page-hero{background:var(--ink);color:#fff}.page-hero .lead{color:#ccc}.page-hero h1{max-width:1000px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:clamp(38px,7vw,90px);align-items:center}.detail-grid figure{margin:0}.detail-grid figure>img{width:100%;max-height:600px;object-fit:cover;box-shadow:var(--shadow)}.detail-hero .lead{margin-top:22px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.tags a,.term-nav a{padding:7px 11px;border:1px solid var(--line);background:#fff;font-size:.78rem;font-weight:700}.tags a:hover,.term-nav a:hover{border-color:var(--red);color:var(--red)}.service-hero{background:#f9f7f3}.service-hero h1{font-size:clamp(2.8rem,5vw,5.5rem)}.service-scope{background:#fff}.split-heading{display:grid;grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr);gap:clamp(42px,7vw,96px)}.split-heading h2{font-size:clamp(2.2rem,3.2vw,3.25rem)}.check-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.check-list li{position:relative;padding:18px 20px 18px 42px;border-bottom:1px solid var(--line)}.check-list li:before{content:"✓";position:absolute;left:10px;color:var(--red);font-weight:900}.service-link-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.service-link-list a{display:flex;justify-content:space-between;padding:20px;background:#fff;font-weight:750}.service-link-list a:hover{color:var(--red)}
.event-hero{padding-bottom:70px}.event-facts{background:var(--red);color:#fff}.event-facts>.container{display:flex;flex-wrap:wrap}.event-facts div div{min-width:190px;padding:22px 35px 22px 0}.event-facts span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;opacity:.75}.event-facts strong{font-size:1.08rem}.gallery-section{background:#fff}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gallery a:first-child{grid-column:span 2}.gallery img{width:100%;height:410px;object-fit:cover}.gallery a:first-child img{height:620px}.case-study-block:nth-of-type(even){background:#fff}.compact-clients{max-width:500px}.client-logo-large{display:grid;min-height:360px;place-items:center;padding:50px;background:#fff}.detail-grid .client-logo-large>img.logo-img{width:auto;max-width:90%;height:auto;max-height:190px;object-fit:contain;box-shadow:none}
.article-hero{text-align:center}.article-hero .lead{margin-inline:auto}.article-hero time{color:var(--red);font-weight:750}.article-cover{margin-top:-55px}.article-cover img{width:100%;max-height:680px;object-fit:cover}.article-body{font-size:1.1rem}.article-cta{position:relative;overflow:hidden;padding:clamp(68px,7vw,100px) 0;background:radial-gradient(circle at 12% 110%,#341010 0,transparent 38%),var(--ink);color:#fff}.article-cta:after{content:"";position:absolute;right:-90px;top:-120px;width:300px;height:300px;border:1px solid #ffffff18;border-radius:50%;box-shadow:0 0 0 48px #ffffff08}.article-cta .article-cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(35px,7vw,90px)}.article-cta-heading .kicker{margin-bottom:16px}.article-cta-heading h2{max-width:520px;margin:0;font-size:clamp(2.2rem,4vw,4rem)}.article-service-links{display:grid;gap:12px}.article-service-link{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:18px;padding:19px 21px;border:1px solid #ffffff2b;border-radius:14px;background:#ffffff0b;transition:transform .22s,background .22s,border-color .22s}.article-service-link:hover{transform:translateX(5px);border-color:#ff4a4a;background:#ffffff14}.article-service-number{color:#ff5555;font:400 1.2rem/1 "Bebas Neue";letter-spacing:.08em}.article-service-link strong{font-family:"Libre Baskerville",Georgia,serif;font-size:clamp(1.05rem,2vw,1.38rem)}.article-service-link>span:last-child{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--red);font-size:1.2rem}
.service-directory{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-directory article{padding:35px;background:#fff;border-top:4px solid var(--red)}.service-directory article>span{color:var(--red);font:2rem "Bebas Neue"}.service-directory h2{font-size:2rem}.service-directory h3{font-size:1.45rem}.service-directory p{color:var(--muted)}.service-directory ul{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--line)}.service-directory li a{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-weight:700}.service-directory li a:hover{color:var(--red)}.compact-directory{grid-template-columns:repeat(3,1fr)}.compact-directory article{padding:28px}.reference-filter{display:flex;align-items:end;gap:12px;padding-top:38px}.reference-filter label{display:grid;font-weight:750}.reference-filter select{min-width:300px;padding:11px;background:#fff;border:1px solid var(--line)}.reference-filter>a{text-decoration:underline}.term-nav{display:flex;flex-wrap:wrap;gap:8px;padding-top:28px}
.client-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.client-card{display:grid;min-height:180px;place-items:center;gap:12px;padding:25px;background:#fff;border:1px solid var(--line);text-align:center}.client-card:hover{border-color:var(--red)}.client-card img{object-fit:contain}.client-card strong{font-size:.86rem}.pagination{display:flex;justify-content:center;gap:7px;margin-top:40px}.pagination a{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);background:#fff}.pagination [aria-current=page]{background:var(--red);color:#fff;border-color:var(--red)}
.benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.benefit-grid article{padding:34px;background:#fff}.benefit-grid p{color:var(--muted)}
.faq-section{background:#fff}.faq-layout{display:grid;grid-template-columns:minmax(250px,.6fr) minmax(0,1.4fr);gap:70px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;padding:21px 50px 21px 0;cursor:pointer;font-weight:800;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:8px;top:17px;color:var(--red);font-size:1.6rem}.faq-list details[open] summary:after{content:"−"}.faq-list .prose{padding-bottom:20px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.contact-grid address{font-style:normal;font-size:1.2rem}.contact-grid a{color:var(--red)}.map-card{min-height:390px;background:linear-gradient(#0008,#0008),url("../../uploads/2026/05/001-scaled.jpg.webp") center/cover}.map-card a{display:flex;height:100%;flex-direction:column;justify-content:space-between;padding:38px;color:#fff}.map-card strong{font-size:1.2rem}
.lead-section{padding:clamp(75px,9vw,130px) 0;background:var(--paper-deep);border-block:1px solid var(--line)}.lead-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(35px,7vw,85px)}.lead-intro{position:relative;padding:42px;background:var(--ink);color:#fff;overflow:hidden}.lead-intro:after{content:"";position:absolute;right:-80px;bottom:-80px;width:220px;height:220px;border:38px solid var(--red);border-radius:50%;opacity:.5}.lead-intro h2{font-size:clamp(2rem,3.8vw,3.6rem)}.lead-intro p,.lead-intro ul{color:#ccc}.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.lead-form label{display:grid;gap:6px;font-size:.83rem;font-weight:760}.lead-form input,.lead-form select,.lead-form textarea{width:100%;padding:12px 13px;border:1px solid #c8c1b7;border-radius:0;background:#fff;color:var(--ink)}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--red);outline:3px solid #d20a0a29}.lead-form .full{grid-column:1/-1}.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important}.form-notice{grid-column:1/-1;padding:12px 15px}.form-error{background:#ffe2e2;border-left:5px solid var(--red)}.form-privacy{max-width:660px;margin:12px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}.form-privacy a{color:var(--red);text-decoration:underline}
.thank-you{display:grid;min-height:72vh;place-items:center;padding:90px 0;text-align:center}.thank-you .lead{margin-inline:auto}.steps{display:grid;grid-template-columns:repeat(3,1fr);margin:45px 0;border-block:1px solid var(--line)}.steps div{padding:27px;border-inline:1px solid var(--line)}.steps strong{display:block;color:var(--red);font:2rem "Bebas Neue"}.thank-you .button-row{justify-content:center}
.site-footer{background:var(--ink);color:#fff}.footer-lead{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;padding-block:80px;border-bottom:1px solid #ffffff2b}.footer-lead .kicker{grid-column:1/-1;margin-bottom:-25px}.footer-lead h2{max-width:850px;margin:0}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:45px;padding-block:60px}.footer-grid h2{font-family:system-ui,sans-serif;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#aaa}.footer-grid p,.footer-grid address{color:#bbb;font-style:normal}.footer-grid a,.footer-grid .link-button{display:block;margin:.45em 0;color:#eee}.footer-grid a:hover,.footer-grid .link-button:hover{color:#ff5959}.footer-brand{display:inline-flex;align-items:center;margin:0 0 20px}.footer-logo{width:145px;height:auto;margin:0;filter:url("#footer-logo-negative")}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.link-button{padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.copyright{text-align:center;padding:17px;background:#080808;color:#888;font-size:.8rem}
.consent-backdrop{position:fixed;z-index:9997;inset:0;background:#0008}.consent-panel{position:fixed;z-index:9998;right:20px;bottom:20px;width:min(520px,calc(100% - 40px));max-height:calc(100vh - 40px);overflow:auto;padding:29px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.consent-panel h2{font-size:1.9rem}.consent-close{position:absolute;top:8px;right:12px;border:0;background:transparent;font-size:2rem}.consent-actions{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.consent-options label{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.consent-options span{display:grid}.consent-options small{color:var(--muted)}.consent-options input{width:22px}.consent-panel>a{color:var(--red);text-decoration:underline}
.legacy-content>.legacy-section{padding:60px 24px}.legacy-content>.legacy-section:nth-child(even){background:#fff}.legacy-container{max-width:var(--container);margin:auto}.legacy-block{display:flex;flex-wrap:wrap;gap:20px}.legacy-block>*{min-width:240px;flex:1}.legacy-image img{max-height:540px;object-fit:cover}
@media(max-width:1100px){.header-inner{grid-template-columns:auto 1fr}.header-actions{justify-self:end}.header-phone{display:none}.main-nav{grid-column:1/-1;order:3}.main-nav>ul{justify-content:flex-start}.mega-menu,.site-header.is-scrolled .mega-menu{top:150px}.home-hero-grid,.detail-grid{grid-template-columns:1fr}.hero-visual{min-height:470px}.hero-visual img{height:500px}.card-grid{grid-template-columns:repeat(2,1fr)}.editorial-grid{grid-template-columns:1fr}.logo-grid{grid-template-columns:repeat(4,1fr)}.compact-directory{grid-template-columns:repeat(2,1fr)}.client-card-grid{grid-template-columns:repeat(4,1fr)}.process-list{grid-template-columns:repeat(2,minmax(0,1fr))}.process-list li{min-height:260px}.process-list li:not(:last-child):after{display:none}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){body{font-size:17px}.container{width:min(calc(100% - 30px),var(--container))}.site-header{backdrop-filter:none}.header-inner{grid-template-columns:1fr auto;min-height:72px}.site-header.is-scrolled .header-inner{grid-template-columns:1fr auto;min-height:64px}.brand{padding-block:7px}.site-header.is-scrolled .brand{padding-block:4px}.brand img{width:128px}.site-header.is-scrolled .brand img{width:112px}.header-actions{display:none}.menu-toggle{display:flex;align-items:center;gap:10px;padding:10px;border:0;background:transparent;font-weight:800}.menu-toggle i,.menu-toggle i:before,.menu-toggle i:after{display:block;width:22px;height:2px;background:var(--ink);content:""}.menu-toggle i{position:relative}.menu-toggle i:before{position:absolute;top:-7px}.menu-toggle i:after{position:absolute;top:7px}.main-nav{position:fixed;display:none;inset:94px 0 0;background:var(--paper);overflow:auto}.site-header.is-scrolled .main-nav{inset:80px 0 0}.demo-bar+.site-header .main-nav{inset-top:100px}.main-nav.open{display:block}.main-nav>ul{display:block}.main-nav>ul>li{border-bottom:1px solid var(--line)}.main-nav>ul>li>a,.site-header.is-scrolled .main-nav>ul>li>a{padding:17px 24px;font-size:1.08rem}.submenu-toggle{position:absolute;display:block;top:10px;right:16px;width:44px;height:44px;border:0;background:transparent}.submenu-toggle:before{content:"+";font-size:1.6rem}.submenu-toggle[aria-expanded=true]:before{content:"−"}.mega-menu,.main-nav .has-submenu>ul,.main-nav .has-mega:not(.submenu-open) .mega-menu{position:static;display:none;box-shadow:none}.main-nav .has-mega.submenu-open .mega-menu{display:block;padding:15px 24px;background:var(--ink)}.mega-menu-intro{border:0;padding:0 0 18px}.mega-groups{grid-template-columns:1fr}.main-nav .has-submenu.submenu-open>ul{display:block;padding:8px 24px;border:0;border-top:1px solid var(--line)}.service-group-grid,.service-directory,.compact-directory,.benefit-grid{grid-template-columns:1fr}.section-heading,.process-intro,.split-heading,.faq-layout,.lead-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.process-list{grid-template-columns:1fr;gap:12px}.process-list li{min-height:0;padding:23px 22px}.process-list>li>span{width:44px;height:44px;margin-bottom:24px;font-size:1.35rem}.card-grid,.editorial-grid,.quote-grid{grid-template-columns:1fr}.logo-grid{grid-template-columns:repeat(2,1fr)}.client-card-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr}.gallery a:first-child{grid-column:auto}.gallery img,.gallery a:first-child img{height:320px}.footer-lead{grid-template-columns:1fr;align-items:start}.footer-lead .kicker{margin-bottom:-10px}.footer-grid{grid-template-columns:1fr 1fr}.reference-filter{align-items:stretch;flex-direction:column}.reference-filter select{min-width:0}.article-cta .container{grid-template-columns:1fr}.article-cta .kicker{grid-column:auto}.service-link-list{grid-template-columns:1fr}}
@media(max-width:520px){h1{font-size:clamp(2.55rem,12vw,3.75rem)}h2{font-size:2.15rem}.service-hero h1{font-size:clamp(2.55rem,12vw,3.75rem)}.home-hero{padding-top:42px}.hero-visual{min-height:350px}.hero-visual:before{display:none}.hero-visual img{height:370px}.hero-visual figcaption{width:100%}.button-row .button{width:100%}.service-group-card,.service-group-card>div{min-height:390px}.service-group-card>div{grid-template-columns:45px 1fr;padding:25px 20px}.mega-groups{grid-template-columns:1fr}.logo-grid{grid-template-columns:1fr 1fr}.logo-grid a{min-height:120px;padding:18px}.client-card-grid{grid-template-columns:1fr 1fr}.client-card{min-height:145px;padding:16px}.lead-form{grid-template-columns:1fr}.lead-form .full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.steps div{border-bottom:1px solid var(--line)}.consent-panel{right:8px;bottom:8px;width:calc(100% - 16px);max-height:calc(100vh - 16px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.card:hover,.button:hover{transform:none}}

/* Original-inspired masthead: the familiar Emacon newspaper composition on desktop,
   with the cleaner current navigation, campaign CTA and compact mobile header retained. */
.site-masthead,.header-tagline{display:none}
.header-sentinel{display:block;width:1px;height:0;pointer-events:none}
@media(min-width:1101px){
  .site-masthead{display:block;background:var(--paper)}
  .site-header{background:#080808;border-bottom:0;backdrop-filter:none}
  .header-edition-line{display:flex;min-height:28px;align-items:center;justify-content:space-between;border-bottom:1px solid #bdb6ab;color:#48433d;font:400 .76rem/1 "Bebas Neue",sans-serif;letter-spacing:.18em;text-transform:uppercase}
  .header-masthead{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(420px,1.45fr) minmax(230px,.72fr);align-items:stretch;min-height:245px;border-bottom:1px solid #aaa39a}
  .masthead-copy{display:grid;align-content:center;gap:24px;padding:32px 38px 32px 0;border-right:1px solid #aaa39a;color:#625c54;font-family:"Libre Baskerville",Georgia,serif;font-size:.79rem;font-style:italic;line-height:1.8}
  .masthead-copy p{margin:0}
  .masthead-brand{display:grid;place-items:center;padding:18px 28px 0;color:var(--ink)}
  .masthead-brand img{display:block;width:min(100%,430px);height:auto}
  .masthead-brand span{align-self:end;width:100%;padding:10px 0 9px;border-top:1px solid #aaa39a;color:#3d3833;text-align:center;font:400 .78rem/1 "Bebas Neue",sans-serif;letter-spacing:.2em;text-transform:uppercase}
  .masthead-actions{display:grid;align-content:center;gap:14px;padding:34px 0 34px 30px;border-left:1px solid #aaa39a}
  .masthead-phone{display:flex;min-height:48px;align-items:center;justify-content:center;border:1px solid #ddd3c4;border-radius:3px;background:#eee7d8;color:var(--red);font:400 1rem/1 "Bebas Neue",sans-serif;letter-spacing:.16em}
  .masthead-actions .button{display:flex;min-height:78px;gap:22px;border-radius:3px;font:400 1.15rem/1.25 "Bebas Neue",sans-serif;letter-spacing:.14em;text-transform:uppercase}
  .header-nav-shell{position:relative;background:#080808}
  .header-inner{position:relative;min-height:58px;grid-template-columns:auto 1fr auto;gap:22px}
  .site-header .brand,.site-header .header-actions{display:none}
  .site-header .main-nav>ul>li>a{padding:19px 16px 17px;color:#fff;font:400 .94rem/1 "Bebas Neue",sans-serif;letter-spacing:.12em;text-transform:uppercase}
  .site-header .main-nav>ul>li>a:hover,.site-header .main-nav>ul>li:focus-within>a{color:#fff}
  .site-header .main-nav>ul>li.has-mega{position:static}
  .site-header .mega-menu{position:absolute;top:100%;left:50%;right:auto;width:100vw;transform:translateX(-50%)}
  .header-tagline{display:block;padding:12px 20px;background:var(--red);color:#fff;text-align:center;font-family:"Libre Baskerville",Georgia,serif;font-size:.78rem;font-style:italic}
  .site-header.is-scrolled .header-inner{min-height:64px}
  .site-header.is-scrolled .brand{display:inline-flex;align-self:stretch;margin-left:-10px;padding:5px 14px;background:transparent}
  .site-header.is-scrolled .brand img{width:112px;filter:url("#footer-logo-negative")}
  .site-header.is-scrolled .header-actions{display:flex}
  .site-header.is-scrolled .header-phone{color:#fff}
  .site-header.is-scrolled .main-nav>ul>li>a{padding:22px 12px 20px}
  .site-header.is-scrolled .mega-menu{top:100%}
}

/* Reference detail: compact metro gallery, dark project story and discreet client signature. */
.gallery-section{padding-block:clamp(42px,6vw,78px);background:#fff}
.gallery-heading{align-items:end;margin-bottom:24px}
.gallery-heading>p{margin:0;color:var(--muted);font-size:.82rem;font-weight:700}
.gallery-metro.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:86px;gap:9px}
.gallery-metro .gallery-tile{position:relative;grid-column:span 3;grid-row:span 3;overflow:hidden;border-radius:3px;background:var(--paper-deep)}
.gallery-metro .gallery-tile:nth-child(8n+1){grid-column:span 5;grid-row:span 4}
.gallery-metro .gallery-tile:nth-child(8n+2){grid-column:span 4;grid-row:span 3}
.gallery-metro .gallery-tile:nth-child(8n+3){grid-column:span 3;grid-row:span 3}
.gallery-metro .gallery-tile:nth-child(8n+4){grid-column:span 4;grid-row:span 2}
.gallery-metro .gallery-tile:nth-child(8n+5){grid-column:span 3;grid-row:span 3}
.gallery-metro .gallery-tile:nth-child(8n+6){grid-column:span 5;grid-row:span 3}
.gallery-metro .gallery-tile:nth-child(8n+7){grid-column:span 4;grid-row:span 3}
.gallery-metro .gallery-tile:nth-child(8n+8){grid-column:span 4;grid-row:span 2}
.gallery-metro .gallery-tile img,.gallery-metro .gallery-tile:first-child img{width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .35s,filter .35s}
.gallery-metro .gallery-tile>span{position:absolute;right:10px;bottom:10px;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#fff;color:var(--ink);font-size:1.35rem;line-height:1;box-shadow:0 5px 20px #0002;transition:background .2s,color .2s,transform .2s}
.gallery-metro .gallery-tile:hover img{transform:scale(1.035);filter:brightness(.88)}
.gallery-metro .gallery-tile:hover>span{background:var(--red);color:#fff;transform:rotate(90deg)}
.event-about{background:var(--ink);color:#fff}
.event-about .prose,.event-about .prose p{color:#dedbd6}
.event-about h2{color:#fff}
.event-hero-clients{margin-top:clamp(28px,4vw,44px);padding-top:20px;border-top:1px solid var(--line)}
.event-hero-clients>.kicker{margin:0 0 12px;font-size:.66rem}
.event-hero-client-list{display:flex;flex-wrap:wrap;gap:22px}
.event-hero-client{display:grid;justify-items:start;gap:8px;max-width:100%;text-decoration:none}
.event-hero-client img.logo-img{display:block;width:220px;height:105px;object-fit:contain;object-position:left center;box-shadow:none;border:0;background:transparent;transition:transform .2s}
.event-hero-client-name{display:flex;align-items:center;gap:9px;font-size:.82rem}
.event-hero-client-name>span{color:var(--red);transition:transform .2s}
.event-hero-client:hover img.logo-img{transform:translateY(-2px)}
.event-hero-client:hover .event-hero-client-name>span{transform:translateX(4px)}

.gallery-lightbox{position:fixed;z-index:10020;inset:0;display:grid;place-items:center;padding:clamp(12px,3vw,36px);background:rgba(7,7,7,.93);backdrop-filter:blur(7px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s}
.gallery-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}
.gallery-lightbox-inner{position:relative;display:grid;width:min(1380px,100%);height:min(900px,calc(100vh - 48px));grid-template-rows:minmax(0,1fr) auto;align-items:center}
.gallery-lightbox figure{display:grid;min-height:0;height:100%;margin:0;place-items:center}
.gallery-lightbox img{display:block;max-width:100%;max-height:calc(100vh - 135px);object-fit:contain}
.gallery-lightbox figcaption{padding:15px 70px 0;color:#ddd;text-align:center;font-size:.86rem}
.gallery-lightbox button{position:absolute;z-index:2;display:grid;place-items:center;border:1px solid #ffffff54;border-radius:50%;background:#111b;color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.gallery-lightbox button:hover,.gallery-lightbox button:focus-visible{background:var(--red);border-color:var(--red)}
.gallery-lightbox-close{top:0;right:0;width:46px;height:46px;font-size:1.7rem}
.gallery-lightbox-prev,.gallery-lightbox-next{top:50%;width:52px;height:52px;margin-top:-26px;font-size:1.8rem}
.gallery-lightbox-prev{left:0}.gallery-lightbox-next{right:0}
.gallery-lightbox-counter{position:absolute;left:50%;bottom:0;transform:translateX(-50%);color:#aaa;font-size:.76rem;letter-spacing:.08em}
body.gallery-lightbox-open{overflow:hidden}

@media(max-width:800px){
  .gallery-metro.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:118px;gap:6px}
  .gallery-metro .gallery-tile,.gallery-metro .gallery-tile:nth-child(n){grid-column:span 1;grid-row:span 2}
  .gallery-metro .gallery-tile:nth-child(5n+1){grid-column:span 2;grid-row:span 2}
  .event-hero-clients{margin-top:26px;padding-top:17px}
  .event-hero-client img.logo-img{width:200px;height:100px}
  .gallery-lightbox{padding:8px}
  .gallery-lightbox-inner{height:calc(100vh - 16px)}
  .gallery-lightbox img{max-height:calc(100vh - 120px)}
  .gallery-lightbox-prev,.gallery-lightbox-next{top:auto;bottom:5px;width:44px;height:44px;margin:0}
  .gallery-lightbox-close{top:6px;right:6px}
  .gallery-lightbox figcaption{padding:12px 52px 52px}
  .gallery-lightbox-counter{bottom:18px}
}

/* Original navigation hierarchy: the familiar seven destinations and four core service areas. */
@media(min-width:1101px){
  .site-header:not(.is-scrolled) .main-nav{grid-column:1/-1;justify-self:center}
  .site-header .main-nav>ul{gap:1px}
  .site-header .main-nav>ul>li>a{padding-inline:13px;font-size:.88rem}
  .site-header .mega-menu{padding-block:30px}
}
.mega-groups-primary{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid #ffffff25}
.mega-groups-primary section{min-width:0;border-right:1px solid #ffffff25}
.mega-groups-primary section:last-child{border-right:0}
.mega-group-link{display:flex!important;min-height:190px;flex-direction:column;padding:22px!important;color:#fff!important;transition:background .2s!important}
.mega-group-link:hover{background:#ffffff0d;color:#fff!important}
.mega-group-link>span{margin-bottom:27px;color:#ff5151;font:400 1.15rem/1 "Bebas Neue",sans-serif;letter-spacing:.12em}
.mega-groups .mega-group-link h2{margin:0 0 10px;color:#fff;font:700 clamp(1.05rem,1.4vw,1.35rem)/1.25 "Libre Baskerville",Georgia,serif;letter-spacing:-.025em;text-transform:none}
.mega-group-link p{margin:0;color:#bdbdbd;font-size:.74rem;line-height:1.48}
.mega-group-link b{margin-top:auto;padding-top:18px;color:#ff5b5b;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}

/* Firemní eventy: the proven campaign-page rhythm, rebuilt with current data and components. */
.landing-local-nav{background:#080808;color:#fff;border-bottom:3px solid var(--red)}
.landing-local-nav .container{display:flex;align-items:center;justify-content:center;gap:0}
.landing-local-nav a{padding:14px 22px;border-right:1px solid #ffffff20;font:400 .78rem/1 "Bebas Neue",sans-serif;letter-spacing:.14em;text-transform:uppercase;transition:background .2s,color .2s}
.landing-local-nav a:first-child{border-left:1px solid #ffffff20}
.landing-local-nav a:hover{background:var(--red);color:#fff}
.landing-stats{background:var(--red);color:#fff}
.landing-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.landing-stats article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;min-height:150px;padding:25px 34px;border-right:1px solid #ffffff45}
.landing-stats article:first-child{border-left:1px solid #ffffff45}
.landing-stats article>strong{font:400 clamp(3.6rem,6vw,5.3rem)/.9 "Bebas Neue",sans-serif;letter-spacing:-.02em}
.landing-stats h2{margin:0 0 5px;font:700 1rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:0}
.landing-stats p{margin:0;color:#ffe2e2;font-size:.76rem;line-height:1.45}
.benefits-section .benefit-grid article{position:relative;padding-top:64px}
.benefits-section .benefit-grid article>span{position:absolute;top:22px;left:34px;color:var(--red);font:400 1.35rem/1 "Bebas Neue",sans-serif;letter-spacing:.1em}
.landing-services{background:#eee9e1}
.landing-service-directory{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-block:1px solid #aaa39a}
.landing-service-directory article{display:flex;min-width:0;flex-direction:column;padding:29px 22px;border:0;border-right:1px solid #aaa39a;border-radius:0;background:transparent;box-shadow:none}
.landing-service-directory article:last-child{border-right:0}
.landing-service-directory article>span{margin-bottom:24px;font-size:1.7rem}
.landing-service-directory h3{font-size:clamp(1.3rem,1.75vw,1.7rem)}
.landing-service-directory h3 a:hover{color:var(--red)}
.landing-service-directory p{font-size:.82rem;line-height:1.5}
.landing-service-directory ul{margin-top:auto}
.landing-service-directory li a{font-size:.76rem;line-height:1.35}
.landing-service-directory li i{color:var(--red);font-style:normal}
.landing-clients{background:#f8f5ef}
.landing-testimonials{background:#eee9e1}
.landing-testimonials .quote-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Single pages retain the useful new features, but follow the original editorial hierarchy. */
.editorial-detail-hero{position:relative;border-bottom:1px solid #aaa39a;background:#f8f5ef}
.editorial-detail-hero:before{content:"";position:absolute;top:0;left:50%;width:min(calc(100% - 48px),var(--container));border-top:1px solid #aaa39a;transform:translateX(-50%)}
.editorial-detail-hero h1{max-width:900px;font-size:clamp(2.8rem,5.1vw,5.4rem)}
.editorial-detail-hero figure{position:relative}
.editorial-detail-hero figure figcaption{position:absolute;right:0;bottom:0;padding:10px 15px;background:rgba(17,17,17,.92);color:#fff;font:400 .68rem/1 "Bebas Neue",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.service-hero .detail-grid,.event-hero .detail-grid,.client-hero .detail-grid{align-items:stretch}
.service-hero .detail-grid>div,.event-hero .event-hero-copy,.client-hero .detail-grid>div{align-self:center;padding-block:20px}
.single-related-services{background:#eee9e1}
.single-related-services .card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.single-related-services .card-body p{font-size:.84rem}
.client-hero .client-logo-large{align-self:stretch;min-height:420px;border:0;box-shadow:none}
.client-hero .client-logo-large figcaption{background:transparent;color:var(--muted)}
.article-hero{background:#f8f5ef}
.article-hero h1{margin-inline:auto}
.article-hero .lead{margin-top:25px}
.testimonial-hero{padding-block:clamp(75px,9vw,130px)}
.testimonial-hero .container{max-width:980px}
.testimonial-hero h1{font-size:clamp(2.5rem,4.7vw,4.9rem)}
.testimonial-hero blockquote{margin:42px 0 28px;padding:35px 0;border-block:1px solid #aaa39a}
.testimonial-hero blockquote>p{margin:0 0 25px;font:400 clamp(1.35rem,2.6vw,2.15rem)/1.5 "Libre Baskerville",Georgia,serif}
.testimonial-hero blockquote footer{gap:3px}
.testimonial-hero blockquote footer strong{color:var(--red)}
.testimonial-hero blockquote footer span{color:var(--muted);font-size:.88rem}

@media(min-width:1101px) and (max-width:1270px){
  .site-header.is-scrolled .header-phone{display:none}
  .site-header.is-scrolled .main-nav>ul>li>a{padding-inline:9px;font-size:.82rem}
}
@media(max-width:1100px){
  .mega-groups-primary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mega-groups-primary section:nth-child(2){border-right:0}
  .mega-groups-primary section:nth-child(-n+2){border-bottom:1px solid #ffffff25}
  .landing-service-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
  .landing-service-directory article:nth-child(2){border-right:0}
  .landing-service-directory article:nth-child(-n+2){border-bottom:1px solid #aaa39a}
  .single-related-services .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .landing-local-nav{overflow-x:auto;overscroll-behavior-inline:contain}
  .landing-local-nav .container{width:max-content;min-width:100%;justify-content:flex-start}
  .landing-local-nav a{white-space:nowrap}
  .landing-stats-grid{grid-template-columns:1fr}
  .landing-stats article{min-height:0;border-right:1px solid #ffffff45;border-bottom:1px solid #ffffff45}
  .landing-stats article:last-child{border-bottom:0}
  .landing-service-directory{grid-template-columns:1fr}
  .landing-service-directory article,.landing-service-directory article:nth-child(2){border-right:0;border-bottom:1px solid #aaa39a}
  .landing-service-directory article:last-child{border-bottom:0}
  .landing-testimonials .quote-grid,.single-related-services .card-grid{grid-template-columns:1fr}
  .editorial-detail-hero:before{width:calc(100% - 30px)}
  .editorial-detail-hero figure figcaption{font-size:.62rem}
}

/* Homepage follows the original Emacon editorial composition while retaining the new responsive foundation. */
.home-showreel{padding:26px 0 0;background:var(--paper)}
.home-showreel-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0;border-block:1px solid #aaa39a;color:var(--muted);font-family:"Libre Baskerville",Georgia,serif;font-size:.82rem;font-style:italic}
.home-showreel-heading .kicker{margin:0;font-style:normal}
.showreel-frame{position:relative;overflow:hidden;aspect-ratio:16/9;background:#080808;border-bottom:6px solid var(--red)}
.showreel-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.home-editorial-intro{padding-top:clamp(54px,6vw,86px);background:#f8f5ef}
.home-editorial-layout{display:grid;grid-template-columns:minmax(205px,.62fr) minmax(0,1.65fr) minmax(225px,.73fr);align-items:start;border-block:1px solid #aaa39a}
.home-editorial-rail{padding:32px 25px}
.home-editorial-rail:first-child{border-right:1px solid #aaa39a}
.home-reference-rail{border-left:1px solid #aaa39a}
.home-editorial-rail>h2{font-size:clamp(1.55rem,2vw,2rem)}
.home-editorial-rail article{position:relative;padding:18px 0;border-top:1px solid var(--line)}
.home-editorial-rail article>span{display:block;margin-bottom:7px;color:var(--red);font:400 .72rem/1 "Bebas Neue",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.home-editorial-rail article h3{margin:0;font:700 1rem/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:0}
.home-editorial-rail article h3 a:hover{color:var(--red)}
.home-editorial-rail article p{margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}
.home-reference-rail .text-link{margin-top:18px;font-size:.82rem}
.home-editorial-story{padding:32px clamp(28px,4vw,58px) 42px}
.home-editorial-story h1{max-width:720px;font-size:clamp(2.8rem,4.25vw,4.45rem)}
.home-editorial-story figure{margin:32px 0 28px}
.home-editorial-story figure img{width:100%;max-height:480px;object-fit:cover}
.home-story-copy{font-size:1.02rem;line-height:1.75}
.home-editorial-story blockquote{margin:28px 0 0;padding:20px 0;border-block:1px solid #aaa39a;font-family:"Libre Baskerville",Georgia,serif;font-size:1rem;font-style:italic}
.home-editorial-story blockquote footer{margin-top:10px;color:var(--red);font:400 .72rem/1.2 "Bebas Neue",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.home-service-groups{background:#eee9e1}
.home-service-groups .service-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #aaa39a}
.home-service-groups .service-group-card{min-height:0;border:0;border-right:1px solid #aaa39a;border-radius:0;background:transparent;color:var(--ink);box-shadow:none}
.home-service-groups .service-group-card:nth-child(3n){border-right:0}
.home-service-groups .service-group-card:nth-child(n+4){border-top:1px solid #aaa39a}
.home-service-groups .service-group-card:last-child:nth-child(3n+1){grid-column:1/-1;border-right:0}
.home-service-groups .service-group-card>div{display:flex;min-height:440px;flex-direction:column;align-content:normal;padding:30px 24px;background:none}
.home-service-groups .service-group-card:last-child:nth-child(3n+1)>div{display:grid;grid-template-columns:72px minmax(250px,.8fr) minmax(340px,1.2fr);grid-template-rows:auto 1fr;gap:12px 38px;min-height:310px;align-content:center;padding:38px 34px}
.home-service-groups .service-group-card:last-child:nth-child(3n+1) .group-number{grid-column:1;grid-row:1/3;margin:0}
.home-service-groups .service-group-card:last-child:nth-child(3n+1) h3{grid-column:2;grid-row:1;margin:0}
.home-service-groups .service-group-card:last-child:nth-child(3n+1) p{grid-column:2;grid-row:2;margin:10px 0 0}
.home-service-groups .service-group-card:last-child:nth-child(3n+1) ul{grid-column:3;grid-row:1/3;align-self:stretch;margin:0}
.home-service-groups .group-number{display:block;margin-bottom:28px;color:var(--red);font-size:2rem}
.home-service-groups .service-group-card h3{font-size:clamp(1.45rem,2.15vw,2rem)}
.home-service-groups .service-group-card p{color:var(--muted);font-size:.87rem;line-height:1.55}
.home-service-groups .service-group-card ul{display:block;margin-top:auto;border-top:1px solid #c6bfb5}
.home-service-groups .service-group-card li{border-bottom:1px solid #c6bfb5}
.home-service-groups .service-group-card li a{display:flex;min-height:42px;align-items:center;justify-content:space-between;padding:8px 0;border:0;border-radius:0;background:none;color:var(--ink);font-size:.78rem;font-weight:720;line-height:1.25;text-decoration:none;backdrop-filter:none}
.home-service-groups .service-group-card li a:after{content:"→";margin-left:8px;color:var(--red)}
.home-service-groups .service-group-card li a:hover{border:0;background:none;color:var(--red);transform:none}
.home-service-groups .service-group-card li a:hover:after{color:var(--red)}
.selected-work-grid{grid-template-columns:minmax(0,1.55fr) minmax(340px,.85fr);grid-template-rows:repeat(2,minmax(0,1fr));align-items:stretch}
.selected-work-grid>.card:first-child{grid-row:1/span 2}
.selected-work-grid>.card:first-child .card-media{aspect-ratio:16/10}
.selected-work-grid>.card:not(:first-child){display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.1fr)}
.selected-work-grid>.card:not(:first-child) .card-media{height:100%;min-height:250px;aspect-ratio:auto}
.selected-work-grid>.card:not(:first-child) .card-body{padding:22px}
.selected-work-grid>.card:not(:first-child) .card-body h3{font-size:1.15rem}
.selected-work-grid>.card:not(:first-child) .card-body p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:.82rem}
.selected-work-grid>.card:not(:first-child) .card-facts{display:none}

@media(max-width:1100px){
  .home-editorial-layout{grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr)}
  .home-reference-rail{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #aaa39a;border-left:0}
  .home-reference-rail>.kicker,.home-reference-rail>h2,.home-reference-rail>.text-link{grid-column:1/-1}
  .home-reference-rail article{padding-right:22px}
  .home-service-groups .service-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-service-groups .service-group-card:nth-child(3n){border-right:1px solid #aaa39a}
  .home-service-groups .service-group-card:nth-child(2n){border-right:0}
  .home-service-groups .service-group-card:nth-child(n+3){border-top:1px solid #aaa39a}
  .home-service-groups .service-group-card:last-child:nth-child(3n+1){grid-column:auto}
  .home-service-groups .service-group-card:last-child:nth-child(3n+1)>div{display:flex;min-height:440px;padding:30px 24px}
  .home-service-groups .service-group-card:last-child:nth-child(3n+1) .group-number{margin-bottom:28px}
  .home-service-groups .service-group-card:last-child:nth-child(3n+1) h3{margin:0 0 .45em}
  .home-service-groups .service-group-card:last-child:nth-child(3n+1) p{margin:0 0 1.1em}
  .home-service-groups .service-group-card:last-child:nth-child(3n+1) ul{align-self:auto;margin-top:auto}
  .selected-work-grid{grid-template-columns:minmax(0,1.3fr) minmax(310px,.9fr)}
  .selected-work-grid>.card:not(:first-child){grid-template-columns:140px minmax(0,1fr)}
}
@media(max-width:800px){
  .home-showreel{padding-top:14px}
  .home-showreel-heading{align-items:flex-start;flex-direction:column;gap:5px;padding:10px 0}
  .home-editorial-layout{grid-template-columns:1fr}
  .home-editorial-rail:first-child,.home-reference-rail{border:0;border-bottom:1px solid #aaa39a}
  .home-editorial-story{padding:32px 20px 40px}
  .home-editorial-story h1{font-size:clamp(2.45rem,10.5vw,3.65rem)}
  .home-reference-rail{display:block}
  .home-service-groups .service-group-grid{grid-template-columns:1fr}
  .home-service-groups .service-group-card,.home-service-groups .service-group-card:nth-child(2n),.home-service-groups .service-group-card:nth-child(3n){border-right:0;border-top:1px solid #aaa39a;border-bottom:0}
  .home-service-groups .service-group-card:first-child{border-top:0}
  .home-service-groups .service-group-card>div{min-height:0}
  .section-heading>.text-link,.home-reference-rail>.text-link{justify-self:start}
  .selected-work-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .selected-work-grid>.card:first-child{grid-row:auto}
  .selected-work-grid>.card:not(:first-child){display:flex}
  .selected-work-grid>.card:not(:first-child) .card-media{height:auto;min-height:0;aspect-ratio:4/3}
  .selected-work-grid>.card:not(:first-child) .card-body{padding:23px}
  .selected-work-grid>.card:not(:first-child) .card-body h3{font-size:1.35rem}
  .selected-work-grid>.card:not(:first-child) .card-facts{display:block}
}
.demo-bar+.site-header .main-nav{top:100px}
.hero-copy h1{font-size:clamp(3rem,5.2vw,4.9rem);max-width:760px}
@media(max-width:800px){.hero-visual:before{display:none}}

/* Landing page: authentic event photography and a lighter evolution of the proven layout. */
.landing-hero{overflow:hidden;padding:clamp(54px,7vw,96px) 0;background:linear-gradient(145deg,#faf8f4 0,var(--paper) 64%,#ece5dc 100%)}
.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:clamp(38px,6vw,82px);align-items:center}
.landing-hero-copy h1{max-width:760px;font-size:clamp(3.2rem,5.7vw,6.5rem)}
.landing-hero-copy .lead{max-width:680px}
.landing-hero-media{position:relative;margin:0;isolation:isolate}
.landing-hero-media:before{content:"";position:absolute;z-index:-1;inset:24px -24px -24px 24px;border:1px solid var(--red)}
.landing-hero-media img{width:100%;height:clamp(500px,60vw,650px);object-fit:cover;object-position:center;box-shadow:var(--shadow)}
.landing-hero-media figcaption{position:absolute;right:0;bottom:0;width:min(88%,430px);padding:17px 21px;background:rgba(17,17,17,.94);color:#fff;backdrop-filter:blur(9px)}
.landing-hero-media figcaption span{display:block;color:#bcbcbc;font-size:.7rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.landing-hero-media figcaption a{display:block;margin-top:3px;font-family:"Libre Baskerville",Georgia,serif;font-weight:700}
.landing-trust{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:34px 0 0;padding:20px 0 0;border-top:1px solid var(--line)}
.landing-trust li{position:relative;padding-left:18px;font-size:.78rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
.landing-trust li:before{content:"";position:absolute;left:0;top:.56em;width:7px;height:7px;border-radius:50%;background:var(--red)}
.landing-proof-section{background:#fff}
.landing-proof-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(45px,8vw,110px);align-items:center}
.landing-proof-media{position:relative;margin:0}
.landing-proof-media:after{content:"";position:absolute;right:-18px;bottom:-18px;width:42%;height:42%;border-right:8px solid var(--red);border-bottom:8px solid var(--red);pointer-events:none}
.landing-proof-media img{width:100%;height:clamp(430px,48vw,610px);object-fit:cover}
.landing-proof-copy h2{font-size:clamp(2.4rem,4.4vw,4.35rem)}
.landing-proof-copy>p{max-width:650px;color:var(--muted);font-size:1.08rem}
.landing-proof-list{list-style:none;margin:28px 0 34px;padding:0;border-top:1px solid var(--line)}
.landing-proof-list li{position:relative;padding:15px 10px 15px 36px;border-bottom:1px solid var(--line);font-weight:720}
.landing-proof-list li:before{content:"✓";position:absolute;left:8px;color:var(--red);font-weight:900}

/* Compact, contemporary Consent Mode controls. */
.consent-backdrop{background:rgba(12,12,12,.48);backdrop-filter:blur(4px)}
.consent-panel{right:50%;bottom:24px;width:min(680px,calc(100% - 40px));padding:27px 28px 22px;border:1px solid rgba(17,17,17,.09);border-radius:22px;background:rgba(255,255,255,.985);box-shadow:0 28px 90px rgba(0,0,0,.28);transform:translateX(50%)}
.consent-panel.is-detailed{width:min(760px,calc(100% - 40px))}
.consent-heading{display:flex;align-items:center;gap:15px;padding-right:38px}
.consent-heading h2{margin:0;font-size:clamp(1.55rem,3vw,2rem);letter-spacing:-.035em}
.consent-kicker{display:block;margin-bottom:2px;color:var(--red);font-size:.68rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.consent-icon{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:14px;background:#fce8e8;color:var(--red)}
.consent-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.consent-summary{margin:16px 0 18px;color:#504c47;font-size:.92rem;line-height:1.55}
.consent-close{display:grid;top:14px;right:14px;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:50%;color:#58534d;cursor:pointer;font-size:1.45rem;line-height:1;transition:background .2s,color .2s}
.consent-close:hover{background:var(--ink);color:#fff}
.consent-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}
.consent-options .consent-option{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:18px;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:#faf9f7}
.consent-options span{display:grid;gap:2px}
.consent-options strong{font-size:.88rem}
.consent-options small{color:var(--muted);font-size:.74rem;line-height:1.35}
.consent-switch{position:relative;width:44px!important;height:25px;flex:0 0 44px;appearance:none;border:0;border-radius:999px;background:#cbc7c0;cursor:pointer;transition:background .2s}
.consent-switch:before{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0003;transition:transform .2s}
.consent-switch:checked{background:var(--red)}
.consent-switch:checked:before{transform:translateX(19px)}
.consent-switch:disabled{cursor:not-allowed;opacity:.62}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 13px}
.consent-actions .button{width:100%;border-radius:12px}
.consent-settings{grid-column:1/-1;padding:8px 12px;border:0;background:transparent;color:var(--red);cursor:pointer;font-size:.84rem;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.consent-settings:hover{color:var(--red-dark)}
.consent-actions [data-consent-save]{grid-column:1/-1}
.consent-policy-link{display:inline-flex;color:var(--muted)!important;font-size:.76rem;text-decoration:underline;text-underline-offset:3px}

@media(max-width:1000px){.landing-hero-grid,.landing-proof-grid{grid-template-columns:1fr}.landing-hero-media{max-width:760px}.landing-hero-media img{height:min(72vw,600px)}.landing-proof-media{order:2}.landing-proof-copy{order:1}}
@media(max-width:600px){.landing-hero{padding-top:42px}.landing-hero-copy h1{font-size:clamp(2.75rem,13vw,4.2rem)}.landing-hero-media:before{display:none}.landing-hero-media img{height:105vw;max-height:510px}.landing-hero-media figcaption{width:100%;padding:14px 16px}.landing-trust{display:grid;gap:9px}.landing-proof-media:after{right:-8px;bottom:-8px;border-width:5px}.landing-proof-media img{height:105vw;max-height:520px}.consent-panel,.consent-panel.is-detailed{right:8px;bottom:8px;width:calc(100% - 16px);max-height:calc(100vh - 16px);padding:22px 18px 18px;border-radius:18px;transform:none}.consent-heading{gap:11px}.consent-icon{width:42px;height:42px;flex-basis:42px;border-radius:12px}.consent-options{grid-template-columns:1fr}.consent-actions{grid-template-columns:1fr}.consent-settings,.consent-actions [data-consent-save]{grid-column:auto}.consent-summary{font-size:.86rem}}

/* Shared visual refresh: contemporary surfaces while preserving Emacon's red, black and warm neutral identity. */
.main-nav>ul>li>a{box-shadow:inset 0 -3px transparent;transition:padding .25s,color .2s,box-shadow .2s}
.main-nav>ul>li>a:hover,.main-nav>ul>li:focus-within>a{box-shadow:inset 0 -3px var(--red)}
.main-nav .has-submenu>.about-menu{left:50%;min-width:370px;padding:12px;border:0;border-top:3px solid var(--red);border-radius:0 0 16px 16px;background:var(--ink);color:#fff;box-shadow:0 28px 65px rgba(0,0,0,.32);transform:translateX(-50%)}
.main-nav .about-menu:before{content:"";position:absolute;top:-10px;left:50%;width:16px;height:16px;background:var(--red);transform:translateX(-50%) rotate(45deg)}
.main-nav .about-menu li+li{border-top:1px solid #ffffff16}
.main-nav .about-menu li a{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:12px;padding:14px 12px;border-radius:10px;color:#fff;transition:background .2s,transform .2s}
.main-nav .about-menu li a:hover{background:#ffffff12;color:#fff;transform:translateX(3px)}
.about-menu-number{color:#ff5151;font:400 1.05rem/1 "Bebas Neue";letter-spacing:.08em}
.about-menu-copy{display:grid;gap:2px}
.about-menu-copy strong{font-size:.92rem}
.about-menu-copy small{color:#aaa;font-size:.72rem;font-weight:500;line-height:1.35}
.about-menu-arrow{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#ffffff10;color:#ff5c5c;transition:background .2s,color .2s}
.about-menu a:hover .about-menu-arrow{background:var(--red);color:#fff}

.button{border-radius:10px;box-shadow:0 9px 22px rgba(210,10,10,.16)}
.button-light{box-shadow:none}
.card,.service-group-card,.service-directory article,.client-card,.quote-grid blockquote,.quote-card,.quote-single blockquote,.process-list li,.lead-intro,.map-card{border-radius:var(--radius-large)}
.card,.service-group-card,.logo-grid,.map-card{overflow:hidden}
.card{border-color:rgba(131,119,104,.22);box-shadow:0 9px 28px rgba(26,22,18,.055)}
.card:hover{box-shadow:0 24px 55px rgba(19,17,14,.15)}
.card-body{padding:27px}
.service-group-card{box-shadow:0 12px 35px rgba(17,17,17,.12)}
.service-directory{gap:16px}
.service-directory article{border:1px solid rgba(131,119,104,.18);border-top:4px solid var(--red);box-shadow:0 8px 26px rgba(26,22,18,.045)}
.benefit-grid{gap:14px;background:transparent}
.benefit-grid article{border:1px solid rgba(131,119,104,.2);border-radius:14px;box-shadow:0 8px 24px rgba(26,22,18,.04)}
.logo-grid{border-radius:var(--radius-large)}
.client-card{transition:transform .22s,border-color .22s,box-shadow .22s}
.client-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(20,17,14,.09)}
.quote-grid blockquote,.quote-card,.quote-single blockquote{border-top-width:4px}
.detail-grid figure>img,.hero-visual img,.landing-hero-media img,.landing-proof-media img,.article-cover img,.gallery img{border-radius:var(--radius-large)}
.hero-visual figcaption,.landing-hero-media figcaption{border-radius:14px 0 0 0}
.tags a,.term-nav a{border-radius:999px}
.pagination a{border-radius:10px}
.lead-form input,.lead-form select,.lead-form textarea{border-radius:10px;background:#fffdfb;transition:border-color .2s,box-shadow .2s}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{box-shadow:0 0 0 4px rgba(210,10,10,.08)}
.faq-list details{padding-inline:18px;border:1px solid var(--line);border-bottom:0;background:#fff}
.faq-list details:first-child{border-radius:14px 14px 0 0}
.faq-list details:last-child{border-bottom:1px solid var(--line);border-radius:0 0 14px 14px}
.page-hero{background:radial-gradient(circle at 85% 0,#351111 0,transparent 32%),var(--ink)}

@media(max-width:800px){
  .main-nav>ul>li>a:hover,.main-nav>ul>li:focus-within>a{box-shadow:none}
  .main-nav .has-submenu:not(.submenu-open)>.about-menu{display:none}
  .main-nav .has-submenu.submenu-open>.about-menu{position:static;display:block;min-width:0;padding:10px 18px 18px;border:0;border-radius:0;background:var(--ink);box-shadow:none;transform:none}
  .main-nav .about-menu:before{display:none}
  .main-nav .about-menu li{border:0}
  .main-nav .about-menu li+li{border-top:1px solid #ffffff16}
  .main-nav .about-menu li a{padding:14px 8px}
  .article-cta .article-cta-inner{grid-template-columns:1fr;gap:32px}
}

@media(max-width:520px){
  .card-body{padding:23px}
  .article-service-link{grid-template-columns:38px minmax(0,1fr) 34px;gap:11px;padding:16px 14px}
  .article-service-link>span:last-child{width:34px;height:34px}
}

/* Subtle corners and clearer service labels. */
.service-group-card ul{gap:8px;margin-top:7px}
.service-group-card li a{display:inline-flex;align-items:center;min-height:31px;padding:5px 9px;border:1px solid #ffffff42;border-radius:3px;background:#1111119c;color:#fff;font-size:.76rem;font-weight:720;line-height:1.25;text-decoration:none;backdrop-filter:blur(5px);transition:background .2s,border-color .2s,transform .2s}
.service-group-card li a:after{content:"↗";margin-left:7px;color:#ff6868;font-size:.72rem}
.service-group-card li a:hover{border-color:#ff5555;background:var(--red);color:#fff;transform:translateY(-1px)}
.service-group-card li a:hover:after{color:#fff}
.main-nav .has-submenu>.about-menu{border-radius:0 0 6px 6px}
.main-nav .about-menu li a,.button,.pagination a,.lead-form input,.lead-form select,.lead-form textarea,.consent-actions .button{border-radius:3px}
.article-service-link,.benefit-grid article{border-radius:6px}
.hero-visual figcaption,.landing-hero-media figcaption{border-radius:5px 0 0 0}
.tags a,.term-nav a{border-radius:4px}
.faq-list details:first-child{border-radius:6px 6px 0 0}
.faq-list details:last-child{border-radius:0 0 6px 6px}
.consent-panel,.consent-panel.is-detailed{border-radius:8px}
.consent-icon,.consent-options .consent-option{border-radius:5px}

/* Mobile CTA links directly to the single enquiry form on the campaign page. */
.mobile-lead-cta{display:none}

@media(max-width:800px){
  .mobile-lead-cta{position:fixed;z-index:90;right:15px;bottom:max(12px,env(safe-area-inset-bottom));left:15px;display:flex;min-height:52px;align-items:center;justify-content:space-between;padding:12px 18px;border:1px solid #f04b4b;border-radius:3px;background:var(--red);color:#fff;box-shadow:0 14px 35px rgba(0,0,0,.28);font-weight:820;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s,transform .2s}
  .mobile-lead-cta.is-visible{opacity:1;pointer-events:auto;transform:none}
  .mobile-lead-cta:hover{background:var(--red-dark)}
}

/* Final responsive refinements after visual QA. */
.landing-hero-copy h1{font-size:clamp(3rem,4.8vw,5.15rem)}
.landing-services{padding-bottom:clamp(55px,6vw,88px)}
.landing-page .process-section{padding-top:clamp(55px,6vw,88px)}
.landing-service-directory article{border:0;border-right:1px solid #aaa39a;border-radius:0;background:transparent;box-shadow:none}
.landing-service-directory article:last-child{border-right:0}
@media(max-width:1100px){
  .landing-service-directory article:nth-child(2){border-right:0}
  .landing-service-directory article:nth-child(-n+2){border-bottom:1px solid #aaa39a}
}
@media(max-width:800px){
  .main-nav,.site-header.is-scrolled .main-nav,.demo-bar+.site-header .main-nav{position:absolute;inset:auto 0 auto;top:100%;height:calc(100dvh - 64px);max-height:calc(100dvh - 64px)}
  .landing-hero-copy h1{font-size:clamp(2.7rem,12vw,3.65rem);text-wrap:wrap}
  .landing-service-directory article,.landing-service-directory article:nth-child(2){border-right:0;border-bottom:1px solid #aaa39a}
  .landing-service-directory article:last-child{border-bottom:0}
}

/* Campaign-led homepage and landing page, based on the proven original landing-page rhythm. */
@media(min-width:1101px){
  body.has-compact-header .site-header .header-inner{min-height:70px}
  body.has-compact-header .site-header .brand{display:inline-flex;align-self:stretch;margin-left:-10px;padding:6px 14px}
  body.has-compact-header .site-header .brand img{width:116px;filter:url("#footer-logo-negative")}
  body.has-compact-header .site-header .header-actions{display:flex}
  body.has-compact-header .site-header .header-phone{color:#fff}
  body.has-compact-header .site-header:not(.is-scrolled) .main-nav{grid-column:auto;justify-self:center}
  body.has-compact-header .site-header .main-nav>ul>li>a{padding:25px 12px 23px}
  body.has-compact-header .site-header .mega-menu{top:100%}
  body.has-campaign-header .site-header .main-nav>ul{gap:12px}
  body.has-campaign-header .site-header .main-nav>ul>li>a{padding-inline:18px}
}

.campaign-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--paper)}
.campaign-hero:after{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 35%,rgba(245,242,237,.96) 43%,rgba(245,242,237,.68) 53%,rgba(245,242,237,.16) 68%,transparent 80%)}
.campaign-hero-media{position:absolute;z-index:-1;inset:0 0 0 38%;overflow:hidden;background:#111}
.campaign-hero-media iframe,.campaign-hero-media img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.campaign-hero-media iframe{left:50%;width:178%;max-width:none;opacity:1;transform:translateX(-50%) scale(1.04)}
.campaign-hero-inner{position:relative;z-index:1;display:flex;min-height:clamp(650px,72vh,790px);flex-direction:column;justify-content:space-between;padding-block:clamp(76px,8vw,116px) 38px}
.campaign-hero-copy{width:min(55%,720px)}
.campaign-hero-copy h1{max-width:720px;margin-bottom:24px;font:400 clamp(4.2rem,7.2vw,7.5rem)/.91 "Bebas Neue",sans-serif;letter-spacing:.005em;text-transform:uppercase;text-wrap:balance}
.home-campaign-hero .campaign-semantic-title{max-width:650px;margin:0 0 20px;color:var(--red);font:400 clamp(.84rem,1.1vw,1rem)/1.2 "Bebas Neue",sans-serif;letter-spacing:.18em;text-transform:uppercase}
.home-campaign-hero .campaign-display-title{max-width:720px;margin:0 0 24px;font:400 clamp(4.2rem,7.2vw,7.5rem)/.91 "Bebas Neue",sans-serif;letter-spacing:.005em;text-transform:uppercase;text-wrap:balance}
.campaign-hero-copy .lead{max-width:620px;color:#37332f;font-size:clamp(1.06rem,1.55vw,1.3rem)}
.campaign-hero-copy .button-row{margin-top:30px}
.campaign-text-link{display:inline-flex;align-items:center;padding-block:11px;border-bottom:1px solid currentColor;color:var(--red);font:400 italic .86rem/1.3 "Libre Baskerville",Georgia,serif;transition:transform .2s,color .2s}
.campaign-text-link:hover{color:var(--red-dark);transform:translateX(3px)}
.campaign-phone{display:inline-grid;margin-top:25px;line-height:1.18}
.campaign-phone span{color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.campaign-phone strong{font-size:1.04rem}
.campaign-stats{display:grid;width:min(55%,700px);grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #aaa39a}
.campaign-stats>div{display:grid;align-content:center;min-height:106px;padding:15px 20px;border-right:1px solid #aaa39a}
.campaign-stats>div:first-child{padding-left:0}
.campaign-stats>div:last-child{border-right:0}
.campaign-stats strong{color:var(--red);font:400 clamp(2.8rem,4.5vw,4.6rem)/.85 "Bebas Neue",sans-serif}
.campaign-stats span{margin-top:7px;color:#4d4842;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}

.landing-service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.landing-service-card{display:flex;min-width:0;flex-direction:column;background:#fff;border:1px solid #d4cec4}
.landing-service-card-media{display:block;overflow:hidden;aspect-ratio:4/3;background:var(--paper-deep)}
.landing-service-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s,filter .3s}
.landing-service-card:hover .landing-service-card-media img{transform:scale(1.035);filter:brightness(.93)}
.landing-service-card>div{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:27px}
.landing-service-card>div>span{margin-bottom:18px;color:var(--red);font:400 1.35rem/1 "Bebas Neue",sans-serif;letter-spacing:.1em}
.landing-service-card h3{font-size:clamp(1.45rem,2.2vw,2.15rem)}
.landing-service-card h3 a:hover{color:var(--red)}
.landing-service-card p{color:var(--muted);font-size:.88rem;line-height:1.58}
.landing-service-card .text-link{margin-top:auto;font-size:.8rem}

@media(max-width:1100px){
  .campaign-hero-media{left:34%}
  .campaign-hero-copy,.campaign-stats{width:min(62%,680px)}
  .campaign-hero-copy h1{font-size:clamp(3.8rem,8vw,6.2rem)}
  .home-campaign-hero .campaign-semantic-title{font-size:clamp(.82rem,1.6vw,.98rem)}
  .home-campaign-hero .campaign-display-title{font-size:clamp(3.8rem,8vw,6.2rem)}
}
@media(max-width:800px){
  .campaign-hero:after{background:linear-gradient(180deg,var(--paper) 0%,rgba(245,242,237,.98) 48%,rgba(245,242,237,.79) 68%,rgba(245,242,237,.2) 100%)}
  .campaign-hero-media{inset:45% 0 0}
  .campaign-hero-media iframe{width:190%;transform:translateX(-50%) scale(1.08)}
  .campaign-hero-inner{min-height:820px;padding-block:58px 22px}
  .campaign-hero-copy{width:100%}
  .campaign-hero-copy h1{max-width:620px;font-size:clamp(3.2rem,16vw,5.6rem)}
  .home-campaign-hero .campaign-semantic-title{max-width:520px;font-size:.86rem}
  .home-campaign-hero .campaign-display-title{max-width:620px;font-size:clamp(3.2rem,16vw,5.6rem)}
  .campaign-hero-copy .lead{max-width:570px}
  .campaign-stats{width:100%;background:rgba(245,242,237,.9);backdrop-filter:blur(7px)}
  .campaign-stats>div{min-height:92px;padding:13px 14px}
  .campaign-stats>div:first-child{padding-left:14px}
  .campaign-stats strong{font-size:2.8rem}
  .campaign-stats span{font-size:.62rem}
  .landing-service-cards{grid-template-columns:1fr}
  .landing-service-card{display:grid;grid-template-columns:minmax(130px,.85fr) minmax(0,1.15fr)}
  .landing-service-card-media{height:100%;aspect-ratio:auto}
  .landing-service-card>div{padding:22px}
}
@media(max-width:520px){
  .campaign-hero-inner{min-height:770px;padding-top:42px}
  .campaign-hero-copy h1{font-size:clamp(3rem,17vw,4.7rem)}
  .home-campaign-hero .campaign-semantic-title{font-size:.8rem}
  .home-campaign-hero .campaign-display-title{font-size:clamp(3rem,17vw,4.7rem)}
  .campaign-hero-copy .button-row .button{width:auto}
  .campaign-stats{grid-template-columns:repeat(3,1fr)}
  .campaign-stats>div{padding-inline:8px}
  .campaign-stats>div:first-child{padding-left:8px}
  .campaign-stats strong{font-size:2.25rem}
  .campaign-stats span{font-size:.55rem;line-height:1.35}
  .landing-service-card{display:flex}
  .landing-service-card-media{aspect-ratio:16/10}
}
@media(prefers-reduced-motion:reduce){.home-campaign-hero .campaign-hero-media iframe{display:none}}

/* The compact black navigation is now the only public header variant. */
body.has-compact-header .site-header{background:#080808;border-bottom:0;backdrop-filter:none}
body.has-compact-header .header-nav-shell{background:#080808}
body.has-compact-header .brand img{filter:url("#footer-logo-negative")}
body.has-compact-header .menu-toggle{color:#fff}
body.has-compact-header .menu-toggle i,
body.has-compact-header .menu-toggle i:before,
body.has-compact-header .menu-toggle i:after{background:#fff}

/* Shared editorial hero for archives and standard pages. */
.page-hero{position:relative;isolation:isolate;display:flex;min-height:clamp(390px,43vw,550px);align-items:center;overflow:hidden;background:var(--paper);color:var(--ink)}
.page-hero:before{content:"";position:absolute;z-index:-2;inset:0 0 0 38%;background:url("../../uploads/2026/10/emacon-hero-ilustrace.png.webp") center/cover no-repeat}
.page-hero:after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 34%,rgba(245,242,237,.97) 43%,rgba(245,242,237,.7) 55%,rgba(245,242,237,.14) 72%,transparent 84%)}
.page-hero .container{position:relative;z-index:1}
.page-hero h1,.page-hero .lead{max-width:min(58%,760px)}
.page-hero .lead{color:#3f3a35}
.page-hero .eyebrow,.page-hero .kicker{max-width:58%;color:var(--red)}

@media(max-width:800px){
  .page-hero{min-height:600px;align-items:flex-start;padding-top:70px}
  .page-hero:before{inset:43% 0 0;background-position:center}
  .page-hero:after{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 37%,rgba(245,242,237,.96) 48%,rgba(245,242,237,.55) 68%,rgba(245,242,237,.08) 100%)}
  .page-hero h1,.page-hero .lead,.page-hero .eyebrow,.page-hero .kicker{max-width:100%}
}
