/*
Theme Name: DOgates Modern
Theme URI: https://dogates.com
Author: DOgates
Description: Centralized RTL catalog and lead generation theme for David Ohayon gates and freight lifts.
Version: 1.3.1
Text Domain: dogates
*/
:root{--ink:#101214;--graphite:#191c1f;--steel:#34393e;--silver:#b9c0c5;--muted:#626970;--paper:#fff;--surface:#f1f2f3;--line:#cfd3d6;--accent:#d8dde1;--accent-dark:#69727a;--success:#176b45;--radius:6px;--shadow:0 18px 46px rgba(7,9,10,.12);--container:min(1200px,calc(100% - 40px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Heebo",Arial,sans-serif;line-height:1.65}body.admin-bar .site-header{top:32px}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:var(--container);margin-inline:auto}.section{padding:88px 0}.section--surface{background:linear-gradient(135deg,#f4f5f5,#e5e7e9)}.section--dark{background:#0d0f11;color:#fff;border-block:1px solid #33383c}.eyebrow{color:var(--accent-dark);font-weight:800;letter-spacing:.08em;font-size:.78rem;text-transform:uppercase;margin:0 0 12px}.section--dark .eyebrow{color:#aeb6bc}.section-title{max-width:820px;margin:0 0 18px;font-size:clamp(2rem,4vw,3.7rem);line-height:1.05;letter-spacing:-.04em}.section-title--small{font-size:clamp(1.8rem,3vw,2.7rem)}.section-intro{max-width:730px;margin:0 0 38px;color:var(--muted);font-size:1.08rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 22px;border:1px solid transparent;border-radius:4px;font-weight:800;cursor:pointer;transition:.2s ease}.button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.button:hover{transform:translateY(-2px)}.button--primary{background:#111416;color:#fff;border-color:#111416}.button--primary:hover{background:#34393e}.button--outline{border-color:#70777d;background:transparent}.button--outline:hover{background:#eef0f1}.button-row{display:flex;flex-wrap:wrap;gap:12px}.section-actions{margin-top:34px}
.site-header{position:sticky;z-index:90;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid #cfd3d6;backdrop-filter:blur(16px)}.header-inner{min-height:82px;display:flex;align-items:center;gap:23px}.brand{display:flex;align-items:center;margin-inline-end:auto}.brand-logo{position:relative;display:block;overflow:hidden;width:212px;height:52px;flex:0 0 auto}.brand-logo img{position:absolute;max-width:none;width:300px;height:auto;inset-inline-start:50%;top:50%;transform:translate(-50%,-50%)}.brand-logo--footer{width:225px;height:58px}.brand-logo--footer img{width:318px;filter:brightness(0) invert(1)}.brand-logo--landing{width:225px;height:56px}.brand-logo--landing img{width:318px}.site-nav ul{display:flex;list-style:none;gap:19px;padding:0;margin:0}.site-nav a{font-weight:700;font-size:.91rem}.site-nav a:hover,.site-nav .current-menu-item>a{color:#69727a}.header-phones{display:grid;border-inline-start:1px solid var(--line);padding-inline-start:15px;line-height:1.35;font-size:.76rem;font-weight:800;direction:ltr}.header-phones a:hover{text-decoration:underline}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:var(--surface);border-radius:4px;font-size:1.25rem}
.hero{min-height:690px;display:grid;align-items:center;padding:70px 0;overflow:hidden;background:linear-gradient(120deg,#fff 0 57%,#e5e8ea 57% 100%);border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:68px;align-items:center}.hero h1{margin:0 0 22px;font-size:clamp(3rem,6.2vw,6.1rem);line-height:.94;letter-spacing:-.06em;max-width:800px}.hero h1 em{display:block;color:#596168;font-style:normal;font-weight:700}.hero-copy>p{color:var(--muted);max-width:670px;font-size:1.14rem;margin:0 0 28px}.hero-media{position:relative;border:1px solid #858c91;padding:10px;background:linear-gradient(145deg,#c4c9cd,#737b81)}.hero-media:before{content:"";position:absolute;inset:-18px 35% 35% -18px;border-top:2px solid #343a3f;border-left:2px solid #343a3f}.hero-media img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover}.media-frame{position:relative}.ai-badge{position:absolute;z-index:2;inset-inline-start:10px;bottom:10px;background:rgba(15,17,19,.84);color:#fff;padding:5px 8px;font-size:.68rem;border:1px solid rgba(255,255,255,.25)}.benefit-grid{display:grid;gap:10px}.benefit-grid--compact{grid-template-columns:repeat(3,1fr);margin-top:30px}.benefit{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:12px;font-size:.84rem;font-weight:700}.benefit svg,.step-icon svg,.benefit-card>svg{width:27px;height:27px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6}
.video-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;align-items:center}.video-frame{aspect-ratio:16/9;background:#090b0c;border:1px solid #6f777d;padding:8px;box-shadow:var(--shadow)}.video-frame iframe{display:block;width:100%;height:100%;border:0}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service-card{min-height:510px;position:relative;overflow:hidden;border:1px solid #777e83;color:#fff;background:#181b1d}.service-card img{width:100%;height:100%;object-fit:cover;opacity:.75;transition:.4s ease}.service-card:hover img{transform:scale(1.025);opacity:.58}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,9,10,.96),rgba(7,9,10,0) 72%)}.service-card__copy{position:absolute;z-index:2;inset-inline:32px;bottom:30px}.service-card h3{font-size:clamp(2rem,3vw,3rem);margin:0 0 8px}.service-card p{max-width:520px;color:#e1e4e5}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.solution-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:.2s ease}.solution-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#8b9297}.solution-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#ddd}.solution-card__body{padding:22px}.solution-card__body h2,.solution-card__body h3{margin:0 0 8px;font-size:1.32rem;line-height:1.25}.solution-card__body p{color:var(--muted);margin:0 0 18px}.text-link{font-weight:800;color:#4d555b}.clients-section{text-align:center}.client-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;margin-top:36px}.client-logos img{max-height:80px;width:100%;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:steps}.step{padding:26px 22px;border:1px solid #394046;border-radius:4px;counter-increment:steps;background:linear-gradient(145deg,#111416,#171b1e)}.step:before{content:"0" counter(steps);display:block;color:#858e95;font-weight:900;margin-bottom:12px}.step-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid #596168;margin-bottom:22px;color:#dce0e2}.step h3{margin:0 0 8px}.step p{margin:0;color:#c8cdcf}.benefit-grid--large{grid-template-columns:repeat(2,1fr)}.benefit-card{display:flex;gap:22px;padding:30px;border:1px solid var(--line);background:linear-gradient(135deg,#fff,#eef0f1)}.benefit-card>svg{width:50px;height:50px}.benefit-card h3{margin:0 0 5px;font-size:1.4rem}.benefit-card p{margin:0;color:var(--muted)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.testimonial-card{background:#fff;border-top:3px solid #454c51;padding:28px}.testimonial-card strong{font-size:1.35rem}.testimonial-card p{color:var(--muted)}
.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.proof{padding:26px;background:#fff;border-radius:4px;border:1px solid var(--line)}.proof strong{display:block;font-size:1.5rem;margin-bottom:6px}.proof span{color:var(--muted)}.cta-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;padding:48px;border-radius:4px;background:linear-gradient(135deg,#262b2f,#0f1113);color:#fff;border:1px solid #596168}.cta-panel .eyebrow{color:#bac1c6}.cta-panel h2{font-size:clamp(2.2rem,4.5vw,4rem);line-height:1;margin:0 0 16px}.cta-panel p{font-size:1.06rem;color:#d1d5d8}.lead-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.lead-form label{display:grid;gap:6px;font-size:.84rem;font-weight:800}.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid #858d93;border-radius:3px;background:#fff;padding:13px 14px;color:var(--ink)}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid #a8b0b6;outline-offset:1px}.lead-form__message,.lead-form .button,.form-notice{grid-column:1/-1}.lead-form .button{background:#e6eaed;color:#0b0d0e;border-color:#fff}.lead-form .button:hover{background:#fff}.hp-field{position:absolute!important;inset-inline-start:-9999px}.form-notice{border-radius:3px;padding:12px 14px;margin-bottom:14px}.form-notice.success{background:#dff5e9;color:var(--success)}.form-notice.error{background:#ffe6e3;color:#8f2019}
.page-hero{padding:90px 0 66px;background:linear-gradient(135deg,#f5f6f6,#e2e5e7);border-bottom:1px solid var(--line)}.page-hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:center}.page-hero h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.98;letter-spacing:-.055em;margin:0 0 20px}.page-hero p{color:var(--muted);font-size:1.12rem}.page-hero img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #7f878c;padding:7px;background:#c7ccd0}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start}.sticky-box{position:sticky;top:110px;padding:28px;border-radius:4px;background:var(--surface);border:1px solid var(--line)}.sticky-box h2{margin-top:0}.prose{font-size:1.08rem}.prose h2{font-size:2rem;margin-top:46px}.prose li{margin-bottom:8px}.gallery-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.filter-button{border:1px solid var(--line);background:#fff;padding:10px 16px;border-radius:3px;cursor:pointer;font-weight:700}.filter-button.is-active{background:var(--graphite);color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{position:relative;overflow:hidden;border-radius:4px;min-height:330px;background:#ddd}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.3s ease}.gallery-item__label{position:absolute;inset-inline:12px;bottom:12px;padding:9px 12px;background:rgba(15,18,19,.88);color:#fff}
.site-footer{background:#090b0c;color:#fff;padding:62px 0 30px;border-top:1px solid #454b50}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:50px}.site-footer p,.site-footer li{color:#c0c5c7}.site-footer ul{list-style:none;padding:0}.site-footer li{margin-bottom:8px}.footer-bottom{border-top:1px solid #2a2e30;margin-top:40px;padding-top:22px;color:#858d90;font-size:.84rem}.floating-actions{position:fixed;z-index:80;inset-inline-start:18px;bottom:18px;display:grid;gap:8px}.floating-actions a,.floating-actions button{width:52px;height:52px;display:grid;place-items:center;border:1px solid #555d63;border-radius:50%;background:var(--graphite);color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.2);cursor:pointer}.floating-actions svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}.floating-actions .whatsapp{background:#149d59;border-color:#149d59}.floating-actions .whatsapp svg{fill:currentColor;stroke:none}.contact-dialog{width:min(560px,calc(100% - 28px));border:1px solid #6c747a;border-radius:4px;padding:0;box-shadow:var(--shadow)}.contact-dialog::backdrop{background:rgba(7,9,10,.72)}.contact-dialog__inner{padding:30px}.contact-dialog__top{display:flex;align-items:start;gap:20px}.contact-dialog__top h2{margin:0}.dialog-close{margin-inline-start:auto;border:1px solid var(--line);background:var(--surface);width:40px;height:40px;border-radius:3px;cursor:pointer}.contact-dialog .lead-form{margin-top:22px}.contact-dialog .button--primary{background:#16191b;color:#fff}
.landing-header{padding:18px 0;border-bottom:1px solid var(--line)}.landing-header .container{display:flex;align-items:center;justify-content:space-between;gap:20px}.landing-hero{padding:76px 0;background:#0b0d0f;color:#fff}.landing-hero-grid{display:grid;grid-template-columns:1fr 430px;gap:64px;align-items:center}.landing-hero h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.98;margin:0 0 20px;letter-spacing:-.055em}.landing-hero p{color:#cbd0d2;font-size:1.13rem}.landing-form{padding:28px;border-radius:4px;background:#f6f7f7;color:var(--ink)}.landing-form h2{margin-top:0}.landing-form .lead-form .button{background:#101214;color:#fff}.landing-image{width:100%;max-height:320px;object-fit:cover;border:1px solid #6e767c;margin-top:30px}.landing-footer{padding:26px 0;background:#080a0b;color:#bfc4c6;text-align:center}.landing-footer a{color:#fff}
@media(max-width:1050px){.header-phones{display:none}.site-nav ul{gap:14px}.site-nav a{font-size:.85rem}}
@media(max-width:940px){body.admin-bar .site-header{top:46px}.header-cta{display:none}.menu-toggle{display:grid;place-items:center}.site-nav{display:none;position:absolute;inset-inline:20px;top:82px;padding:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.site-nav.is-open{display:block}.site-nav ul{display:grid;gap:14px}.hero,.page-hero{padding:56px 0;min-height:auto}.hero-grid,.page-hero-grid,.cta-panel,.landing-hero-grid,.content-grid,.video-grid{grid-template-columns:1fr}.hero-media{max-width:640px}.hero-media img{aspect-ratio:16/11}.steps{grid-template-columns:repeat(2,1fr)}.card-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.client-logos{grid-template-columns:repeat(4,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){:root{--container:min(100% - 28px,1200px)}.section{padding:62px 0}.header-inner{min-height:68px}.brand-logo{width:165px;height:44px}.brand-logo img{width:234px}.brand-logo--landing{width:165px;height:44px}.brand-logo--landing img{width:234px}.site-nav{top:68px}.hero{background:#f7f8f8}.hero-grid{gap:36px}.hero h1,.page-hero h1,.landing-hero h1{font-size:clamp(2.7rem,14vw,4.2rem)}.benefit-grid--compact{grid-template-columns:1fr}.service-grid,.card-grid,.gallery-grid,.steps,.proof-strip,.footer-grid,.lead-form,.benefit-grid--large,.testimonial-grid{grid-template-columns:1fr}.service-card{min-height:420px}.client-logos{grid-template-columns:repeat(2,1fr)}.gallery-item{min-height:290px}.cta-panel{padding:28px 22px}.lead-form__message,.lead-form .button,.form-notice{grid-column:auto}.landing-hero{padding:52px 0}.landing-form{padding:22px}.floating-actions{inset-inline-start:12px;bottom:12px}.section-title{letter-spacing:-.03em}}
.brand-logo{overflow:visible}
.brand-logo img,.brand-logo--footer img,.brand-logo--landing img{position:static;max-width:100%;width:100%;height:100%;object-fit:contain;transform:none;filter:none}
.brand-logo--footer img{filter:brightness(0) invert(1)}
.article-hero-image{margin-top:32px;max-width:900px}
.article-hero-image img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid #7f878c;padding:7px;background:#c7ccd0}
.landing-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.landing-whatsapp-section{padding:34px 0;background:#eef8f1;border-block:1px solid #d5eadb}
.landing-whatsapp-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.landing-whatsapp-section h2{margin:0 0 6px;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.25}
.landing-whatsapp-section p{margin:0;color:var(--muted);font-size:1.05rem}
.landing-whatsapp-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:none;background:#128c50;color:#fff;border:1px solid #128c50;border-radius:5px;font-weight:700;white-space:nowrap}
.landing-whatsapp-button:hover,.landing-whatsapp-button:focus-visible{background:#0d7140;border-color:#0d7140;color:#fff}
.landing-whatsapp-button svg{width:23px;height:23px;fill:currentColor}
.landing-benefit{padding:24px;border:1px solid var(--line);background:#fff}
.landing-benefit svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.6}
.landing-process-copy{max-width:780px;color:var(--muted);font-size:1.08rem;margin-bottom:30px}
@media(max-width:620px){.landing-benefits{grid-template-columns:1fr}}
@media(max-width:620px){.landing-whatsapp-section{padding:28px 0}.landing-whatsapp-inner{align-items:stretch;flex-direction:column;gap:18px}.landing-whatsapp-button{width:100%;white-space:normal}}
.landing-page .landing-header{background:#fff}
.landing-page .landing-hero{padding:72px 0 82px}
.landing-intro{max-width:920px;margin-inline:auto;text-align:center}
.landing-intro .eyebrow{color:#c4ccd1}
.landing-intro h1{font-size:clamp(2.5rem,5.8vw,5.4rem);line-height:1.08}
.landing-intro-copy{max-width:760px;margin:0 auto 26px}
.landing-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px auto;max-width:860px}
.landing-trust span{display:flex;align-items:center;justify-content:center;gap:10px;min-height:66px;padding:12px 14px;border:1px solid #4f5960;border-radius:8px;background:#1c2226;color:#f2f4f5;font-weight:700;font-size:.95rem}
.landing-trust svg{width:23px;height:23px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8}
.landing-intro>.button{background:#fff;color:#111416}
.landing-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:58px 0 18px}
.landing-gallery-heading h2{margin:0;font-size:clamp(1.35rem,2.5vw,2rem)}
.landing-gallery-controls{display:flex;gap:8px}
.landing-gallery-controls button{width:44px;height:44px;border:1px solid #79838a;border-radius:50%;background:#252b30;color:#fff;cursor:pointer;font-size:1.3rem}
.landing-gallery-controls button:hover,.landing-gallery-controls button:focus-visible{background:#414b52}
.landing-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,58%);gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:1px;padding:0 0 13px;scrollbar-color:#869199 #20272b;touch-action:pan-x pan-y}
.landing-gallery-slide{scroll-snap-align:start;margin:0;min-width:0;overflow:hidden;border:1px solid #536068;border-radius:8px;background:#161b1e}
.landing-gallery-slide img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.landing-gallery-slide figcaption{display:grid;gap:3px;padding:16px 18px}
.landing-gallery-slide figcaption strong{font-size:1.25rem;line-height:1.3}
.landing-gallery-slide figcaption span{color:#c8d0d4;font-size:.94rem;line-height:1.45}
.landing-hero-video{display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;align-items:center;margin-top:72px}
.landing-hero-video .eyebrow{color:#c4ccd1}
.landing-hero-video h2{margin:0;font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.1}
.landing-benefits-section{padding-block:106px 112px}
.landing-benefits-section .section-title{margin-bottom:38px}
.landing-benefit{display:flex;flex-direction:column;gap:8px;padding:30px;border-radius:8px}
.landing-benefit h3{font-size:1.35rem;margin:10px 0 0}
.landing-benefit p{margin:0;color:var(--muted)}
.landing-process{padding-block:106px 112px}
.landing-process .proof-strip{margin-top:32px}
.landing-approvals{display:flex;align-items:flex-start;gap:18px;margin-top:26px;padding:24px 28px;border:1px solid #c3cbd0;border-radius:8px;background:#fff}
.landing-approvals>svg{width:42px;height:42px;flex:0 0 auto;fill:none;stroke:#29343a;stroke-width:1.6}
.landing-approvals strong{font-size:1.3rem}
.landing-approvals p{margin:5px 0;color:var(--muted)}
.landing-approvals small{color:#4f5b61}
.landing-approvals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.landing-approval{display:flex;align-items:center;gap:13px;padding:8px 4px}
.landing-approval svg{width:38px;height:38px;flex:0 0 auto;fill:none;stroke:#29343a;stroke-width:1.6}
.landing-approvals small{grid-column:1/-1}
.landing-about .container{max-width:850px}
.landing-about p:last-child{font-size:1.16rem;color:var(--muted)}
.landing-contact-section{scroll-margin-top:24px;background:#101416;color:#fff}
.landing-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.landing-contact-section .eyebrow{color:#c4ccd1}
.landing-contact-section>div>div>p:last-child{color:#d4dadd}
.landing-contact-section .landing-form{border-radius:8px}
.landing-contact-section .landing-form h2{font-size:1.75rem}
@media(max-width:940px){.landing-hero-video,.landing-contact-grid{grid-template-columns:1fr}.landing-gallery{grid-auto-columns:minmax(270px,75%)}}
@media(max-width:620px){.landing-page .landing-header .container{align-items:center}.landing-page .landing-header .button-row{gap:5px}.landing-page .landing-header .button{min-height:36px;padding:0 7px;font-size:.69rem}.landing-page .brand-logo--landing{width:132px;height:37px}.landing-page .landing-hero{padding:48px 0 64px}.landing-intro h1{font-size:clamp(2.25rem,10.4vw,3.3rem)}.landing-intro-copy{font-size:1rem!important}.landing-trust{grid-template-columns:1fr;gap:8px;margin:24px auto}.landing-trust span{justify-content:flex-start;min-height:50px;padding:9px 14px}.landing-gallery-heading{margin-top:46px}.landing-gallery{grid-auto-columns:calc(100% - 24px);gap:12px}.landing-gallery-slide img{aspect-ratio:4/3}.landing-gallery-slide figcaption{padding:13px 14px}.landing-gallery-slide figcaption span{font-size:.85rem}.landing-hero-video{gap:18px;margin-top:58px}.landing-benefits-section,.landing-process{padding-block:76px 82px}.landing-benefits-section .section-title{margin-bottom:24px}.landing-approvals{grid-template-columns:1fr;padding:18px}.landing-contact-grid{gap:26px}}
/* Three current service areas share one card system. */
@media(min-width:941px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{min-height:440px}.service-card__copy{inset-inline:22px;bottom:24px}.service-card h3{font-size:clamp(1.65rem,2.2vw,2.5rem)}}
.article-categories,.article-pagination{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.article-categories a,.article-pagination a,.article-pagination span{display:inline-flex;padding:9px 14px;border:1px solid var(--line);background:#fff;color:var(--graphite);text-decoration:none}.article-categories a:hover,.article-pagination a:hover{background:var(--graphite);color:#fff}.article-pagination{margin-top:34px;margin-bottom:0}.article-pagination .current{background:var(--graphite);color:#fff}.page-hero small{display:block;margin-top:10px;color:var(--muted)}
html,body{overflow-x:clip}
.service-benefits{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1050px){.service-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.service-benefits{grid-template-columns:1fr}}
.testimonial-card>svg{display:block;width:43px;height:43px;margin-bottom:18px;fill:none;stroke:#29343a;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.testimonial-card strong{display:block}
.site-nav .menu-item-has-children{position:relative}
.site-nav .sub-menu{display:none;position:absolute;top:100%;inset-inline-start:0;z-index:20;min-width:160px;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.site-nav .sub-menu li{display:block}
.site-nav .sub-menu a{display:block;padding:8px 10px;white-space:nowrap}
.site-nav .menu-item-has-children:hover>.sub-menu,.site-nav .menu-item-has-children:focus-within>.sub-menu{display:block}
.quote-form{display:grid;gap:22px;max-width:960px;margin:auto}
.quote-form label{display:grid;gap:7px;font-weight:700}
.quote-form input,.quote-form select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #aeb7bc;border-radius:4px;background:#fff;font:inherit}
.quote-form__contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.quote-form__questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:25px;border:1px solid var(--line);border-radius:6px;background:#f6f7f8}
.quote-form__questions legend{padding-inline:8px;font-size:1.3rem;font-weight:800}
.quote-form__questions[hidden]{display:none!important}
.quote-form__hint{margin:0;color:var(--muted)}
.quote-form .button{justify-self:start}
@media(max-width:940px){.site-nav .sub-menu{position:static;display:grid;box-shadow:none;border:0;border-inline-start:2px solid var(--line);padding:3px 14px;margin-top:8px}}
@media(max-width:620px){.quote-form__contact,.quote-form__questions{grid-template-columns:1fr}.quote-form__questions{padding:18px}}
.quote-form__questions{grid-template-columns:1fr}
.quote-form__contact{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote-form__file,.lead-form__file{grid-column:1/-1}
.quote-form input[type=file],.lead-form input[type=file]{padding:10px;min-height:auto}
.contact-page-content{max-width:1000px}
.contact-form-panel{max-width:1000px;padding:40px;background:#fff;border:1px solid var(--line);border-radius:8px}
.contact-form-panel>p:not(.eyebrow){color:var(--muted)}
.contact-form-panel .lead-form{margin-top:28px}
.contact-form-panel .lead-form .button{background:#15191b;color:#fff;border-color:#15191b}
.contact-dialog{max-height:calc(100dvh - 24px);overflow-y:auto}
.lead-toast{position:fixed;z-index:200;top:96px;left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 28px));display:flex;align-items:flex-start;gap:18px;padding:20px 22px;border:2px solid #16764c;border-radius:10px;background:#e5f8ee;color:#0f4931;box-shadow:0 18px 55px rgba(0,0,0,.27)}
.lead-toast strong,.lead-toast span{display:block}.lead-toast strong{font-size:1.35rem;margin-bottom:4px}.lead-toast span{line-height:1.5}
.lead-toast button{margin-inline-start:auto;border:0;background:transparent;color:inherit;font-size:1.8rem;line-height:1;cursor:pointer}
.lead-toast--stored{border-color:#9a651a;background:#fff4d8;color:#65410d}
.lead-toast--error,.lead-toast--file-error{border-color:#b33b32;background:#ffebe8;color:#75241f}
@media(max-width:620px){.quote-form__contact{grid-template-columns:1fr}.contact-form-panel{padding:26px 18px}.lead-toast{top:78px}}

/* Homepage artwork fills the full viewport width without an image frame. */
.home .hero{position:relative;min-height:690px;padding:78px 0;background:#172331;color:#fff;border:0;isolation:isolate}
.home .hero-cover{position:absolute;inset:0;z-index:-2;overflow:hidden}
.home .hero-cover img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 54%}
.home .hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(270deg,rgba(7,15,24,.82) 0%,rgba(8,17,26,.69) 32%,rgba(8,17,26,.26) 62%,rgba(8,17,26,.04) 100%)}
.home .hero-grid{display:block}
.home .hero-copy{max-width:660px}
.home .hero .eyebrow,.home .hero h1 em{color:#d8e7f2}
.home .hero-copy>p{color:#f0f5f8;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.home .hero .button--primary{background:#fff;border-color:#fff;color:#101820}
.home .hero .button--outline{border-color:rgba(255,255,255,.9);color:#fff;background:rgba(9,18,28,.3)}
.home .hero .button--outline:hover{background:rgba(255,255,255,.16)}
.home .hero .benefit{border-color:rgba(255,255,255,.48);color:#fff}
@media(max-width:940px){.home .hero{display:block;min-height:0;padding:0;background:#172331}.home .hero-cover{position:relative;z-index:auto;aspect-ratio:1672/939}.home .hero-cover img{object-position:center}.home .hero:after{display:none}.home .hero-grid{padding-block:42px 50px}.home .hero-copy{max-width:760px}}
@media(max-width:620px){.home .hero-grid{padding-block:34px 42px}.home .hero h1{font-size:clamp(2.5rem,11vw,4.2rem)}.home .hero .button-row{gap:9px}.home .hero .button{min-height:44px;padding-inline:14px;font-size:.83rem}.home .hero .benefit-grid--compact{gap:5px;margin-top:25px}.home .hero .benefit{padding-top:9px}}
.video-section .video-grid+.video-grid{margin-top:68px;padding-top:68px;border-top:1px solid var(--line)}
@media(max-width:620px){.video-section .video-grid+.video-grid{margin-top:44px;padding-top:44px}}

/* Distinct contact actions remain recognizable across every page. */
.floating-actions .phone-action{background:#1769a7;border-color:#1769a7;color:#fff}
.floating-actions .phone-action:hover{background:#115484;border-color:#115484}
.floating-actions .form-action{background:#c9efd5;border-color:#73bd8d;color:#174b30}
.floating-actions .form-action:hover{background:#aee6c0;border-color:#58a977}
.floating-actions a:focus-visible,.floating-actions button:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* Landing pages use the shared menu inside a single button. */
.landing-menu{position:relative;flex:0 0 auto}
.landing-page .landing-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:44px;padding:0 14px;border-radius:4px;font-size:1rem;font-weight:800;cursor:pointer}
.landing-page .landing-menu-toggle[aria-expanded="true"]{background:#e2e8eb}
.landing-page .landing-nav{display:none;position:absolute;inset:auto;left:0;top:calc(100% + 10px);z-index:110;width:min(290px,calc(100vw - 28px));max-height:calc(100dvh - 100px);overflow-y:auto;padding:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.landing-page .landing-nav.is-open{display:block}
.landing-page .landing-nav ul{display:grid;gap:0}
.landing-page .landing-nav>ul>li>a{display:block;padding:10px 12px;border-bottom:1px solid #e8ebed}
.landing-page .landing-nav .sub-menu{display:grid;position:static;min-width:0;margin:4px 12px;padding:2px 12px;border:0;border-inline-start:2px solid var(--line);box-shadow:none}
.landing-page .landing-nav .sub-menu a{padding:7px 8px}
@media(max-width:620px){.landing-page .landing-header .container{gap:12px}.landing-page .landing-header-phones{display:none}.landing-page .landing-menu-toggle{min-height:40px;padding-inline:11px;font-size:.91rem}}
