/* Gevelwerken Limburg V34 combined production stylesheet. Source order preserved. */

/* === assets/css/app.css === */
/* Gevelwerken Limburg — Complete Site UI System 23.0 */
@layer reset, tokens, base, utilities, header, home, inner, forms, chat, footer, responsive;

@layer reset {
  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body,h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}
  ul,ol{padding:0}
  img,svg,video{display:block;max-width:100%}
  button,input,textarea,select{font:inherit}
  button,a{-webkit-tap-highlight-color:transparent}
  button{border:0}
  [hidden]{display:none!important}
}

@layer tokens {
  :root{
    --green-1000:#03251f;
    --green-950:#052d25;
    --green-900:#07382f;
    --green-850:#0a4136;
    --green-800:#0d4c3f;
    --green-700:#14614f;
    --green-100:#e7f1ed;
    --green-50:#f3f8f6;
    --orange-700:#c84416;
    --orange-650:#d84c18;
    --orange-600:#e2531b;
    --orange-500:#ee672d;
    --orange-100:#fff0e8;
    --ink:#102820;
    --ink-2:#344c43;
    --muted:#667970;
    --line:#dbe5e0;
    --line-dark:rgba(255,255,255,.15);
    --paper:#ffffff;
    --warm:#fbfaf7;
    --soft:#f3f7f5;
    --success:#1b7b55;
    --danger:#b9382d;
    --shadow-xs:0 2px 9px rgba(3,40,32,.06);
    --shadow-sm:0 12px 34px rgba(3,40,32,.09);
    --shadow-md:0 24px 64px rgba(3,40,32,.14);
    --shadow-lg:0 36px 100px rgba(3,31,25,.22);
    --radius-xs:8px;
    --radius-sm:12px;
    --radius:18px;
    --radius-lg:28px;
    --shell:1380px;
    --text:18px;
    --font-body:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    --font-head:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  }
}

@layer base {
  body{font-family:var(--font-body);font-size:var(--text);line-height:1.68;color:var(--ink);background:var(--paper);font-weight:400;overflow-x:hidden}
  body.modal-open{overflow:hidden}
  a{color:inherit;text-decoration:none}
  p{color:var(--ink-2)}
  h1,h2,h3,h4{font-family:var(--font-head);font-weight:800;line-height:1.09;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
  h1{font-size:clamp(2.55rem,4vw,4.25rem)}
  h2{font-size:clamp(1.95rem,2.7vw,2.95rem)}
  h3{font-size:clamp(1.25rem,1.7vw,1.7rem)}
  h4{font-size:1.1rem}
  strong{font-weight:800}
  small{font-size:.8em}
  ::selection{background:#f7c4ad;color:var(--green-1000)}
  :focus-visible{outline:3px solid #ff9b6d;outline-offset:3px}
  .shell{width:min(calc(100% - 48px),var(--shell));margin-inline:auto}
  .narrow{width:min(100%,900px);margin-inline:auto}
  .section{padding:104px 0}
  .section-soft{background:var(--soft)}
  .section-warm{background:var(--warm)}
  .section-dark{background:var(--green-950);color:#fff}
  .section-dark h2,.section-dark h3,.section-dark p{color:#fff}
  .eyebrow,.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--orange-600);font-size:.75rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
  .eyebrow::before,.kicker::before{content:"";width:24px;height:2px;background:currentColor;border-radius:99px}
  .eyebrow-light,.kicker-light{color:#ff996d}
  .lead{font-size:clamp(1.08rem,1.25vw,1.3rem);line-height:1.66;color:#3d554c}
  .skip-link{position:fixed;left:18px;top:-100px;z-index:9999;background:#fff;color:var(--green-950);padding:12px 18px;border-radius:9px;box-shadow:var(--shadow-md);font-weight:800}
  .skip-link:focus{top:18px}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}

@layer utilities {
  .btn{min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 24px;border:1px solid transparent;border-radius:10px;font-size:.96rem;font-weight:850;letter-spacing:-.01em;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;color:inherit}
  .btn:hover{transform:translateY(-2px)}
  .btn-primary{background:linear-gradient(135deg,var(--orange-500),var(--orange-700));color:#fff;box-shadow:0 12px 28px rgba(216,76,24,.28)}
  .btn-primary:hover{box-shadow:0 17px 36px rgba(216,76,24,.36)}
  .btn-secondary{background:#fff;color:var(--green-900);border-color:#cad9d2;box-shadow:var(--shadow-xs)}
  .btn-secondary:hover{border-color:#a7c1b5;box-shadow:var(--shadow-sm)}
  .btn-ghost{background:rgba(3,37,31,.2);border-color:rgba(255,255,255,.44);color:#fff;backdrop-filter:blur(8px)}
  .btn-ghost:hover{background:rgba(255,255,255,.1)}
  .btn-outline-light{border-color:rgba(255,255,255,.46);color:#fff;background:transparent}
  .btn-lg{min-height:62px;padding-inline:28px;font-size:1rem}
  .btn-sm{min-height:44px;padding-inline:17px;font-size:.86rem}
  .btn-block{width:100%}
  .text-link{display:inline-flex;align-items:center;gap:8px;font-weight:850;color:var(--green-900)}
  .text-link:hover{color:var(--orange-600)}
  .section-heading{max-width:880px;margin:0 auto 48px;text-align:center}
  .section-heading h2{margin-top:12px}
  .section-heading p{margin:16px auto 0;max-width:760px;font-size:1.05rem}
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs)}
  .icon-badge{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:var(--green-900);color:#fff;box-shadow:0 10px 24px rgba(7,56,47,.18)}
  .icon-badge.orange{background:var(--orange-600)}
  .check-list{list-style:none;display:grid;gap:12px}
  .check-list li{display:flex;align-items:flex-start;gap:10px;color:var(--ink-2)}
  .check-list svg{color:var(--success);margin-top:4px;flex:0 0 auto}
  .reveal{opacity:1;transform:none}
}

@layer header {
  .site-header{position:relative;z-index:100;background:var(--green-1000);color:#fff}
  .header-servicebar{height:31px;background:#021f1a;border-bottom:1px solid rgba(255,255,255,.08);font-size:.67rem;font-weight:750}
  .header-servicebar .shell{height:100%;display:flex;align-items:center;justify-content:center;gap:42px;overflow:hidden}
  .header-servicebar span{display:inline-flex;align-items:center;gap:7px;color:#eef6f2;white-space:nowrap}
  .header-servicebar svg{color:#8fd0a7}
  .header-main{height:82px;display:flex;align-items:center;gap:24px}
  .brand{display:flex;align-items:center;flex:0 0 214px}
  .brand img{width:214px;height:auto}
  .desktop-nav{display:flex;align-items:center;justify-content:center;gap:25px;margin-left:auto}
  .desktop-nav>a,.nav-dropdown>button{display:flex;align-items:center;gap:5px;padding:28px 0;background:none;color:#fff;font-size:.78rem;font-weight:760;white-space:nowrap;cursor:pointer}
  .desktop-nav>a:hover,.nav-dropdown>button:hover{color:#ffb490}
  .nav-dropdown{position:relative}
  .dropdown-panel{position:absolute;left:-26px;top:70px;width:440px;padding:11px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);color:var(--ink);opacity:0;visibility:hidden;transform:translateY(10px);transition:.18s ease}
  .nav-dropdown:hover .dropdown-panel,.nav-dropdown:focus-within .dropdown-panel,.dropdown-panel.open{opacity:1;visibility:visible;transform:none}
  .dropdown-panel a{display:flex;align-items:flex-start;gap:13px;padding:13px;border-radius:11px}
  .dropdown-panel a:hover{background:var(--soft)}
  .dropdown-panel i{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--green-100);color:var(--green-900);flex:0 0 40px}
  .dropdown-panel span{display:flex;flex-direction:column;gap:2px}
  .dropdown-panel strong{font-size:.92rem}
  .dropdown-panel small{font-size:.75rem;color:var(--muted);line-height:1.35}
  .header-actions{margin-left:auto;display:flex;align-items:center;gap:15px}
  .header-phone{display:flex;align-items:center;gap:9px}
  .header-phone span{display:flex;flex-direction:column}
  .header-phone strong{font-size:.94rem;letter-spacing:.01em}
  .header-phone small{font-size:.65rem;color:#cad8d2;line-height:1.3}
  .header-cta{height:48px;display:flex;align-items:center;gap:8px;padding:0 19px;border-radius:9px;background:var(--orange-600);font-size:.76rem;font-weight:900;text-transform:uppercase;box-shadow:0 10px 24px rgba(226,83,27,.24)}
  .menu-toggle{display:none;background:none;color:#fff;padding:8px;cursor:pointer}
  .mobile-menu{display:none}
  .mobile-sticky{display:none}
  .breadcrumbs{height:54px;border-bottom:1px solid var(--line);background:#fff}
  .breadcrumbs .shell{height:100%;display:flex;align-items:center;gap:10px;overflow:hidden}
  .breadcrumbs a,.breadcrumbs span{font-size:.8rem;color:var(--muted);white-space:nowrap}
  .breadcrumbs a:hover{color:var(--orange-600)}
}

@layer home {
  .home-hero{position:relative;min-height:610px;background:var(--green-1000);color:#fff;overflow:hidden}
  .home-hero-media{position:absolute;inset:0;z-index:0}
  .home-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,30,25,.98) 0%,rgba(2,32,26,.95) 28%,rgba(2,35,29,.68) 48%,rgba(2,35,29,.08) 69%,rgba(2,35,29,0) 100%)}
  .home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.92) contrast(1.02)}
  .home-hero .shell{position:relative;z-index:2;min-height:610px;display:grid;grid-template-columns:minmax(430px,46%) 1fr;align-items:center;gap:48px}
  .hero-copy{padding:66px 0 86px;max-width:680px}
  .hero-copy .eyebrow{color:#ff8e5c}
  .hero-copy h1{color:#fff;margin:15px 0 22px;font-size:clamp(3rem,4.15vw,4.35rem);max-width:690px}
  .hero-copy h1 em{font-style:normal;color:var(--orange-500)}
  .hero-copy>p{color:#e5eeea;font-size:1.11rem;line-height:1.68;max-width:620px}
  .hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}
  .hero-proof{list-style:none;display:flex;flex-wrap:wrap;gap:11px 22px;margin-top:24px}
  .hero-proof li{display:flex;align-items:center;gap:7px;color:#edf6f2;font-size:.84rem}
  .hero-proof svg{color:#73cf87}
  .hero-compare{position:absolute;right:0;top:0;bottom:0;width:59%;z-index:1;overflow:hidden}
  .hero-compare .compare-before,.hero-compare .compare-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
  .hero-compare .compare-before{filter:none}
  .hero-compare .compare-after{position:absolute;inset:0 0 0 auto;width:47%;overflow:hidden}
  .hero-compare .compare-after img{width:100vw;max-width:none;right:0;left:auto;filter:none}
  .hero-compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:6}
  .compare-line{position:absolute;top:0;bottom:0;left:53%;width:2px;background:#fff;z-index:5;transform:translateX(-1px);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
  .compare-handle{position:absolute;left:50%;top:50%;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--green-950);display:grid;place-items:center;transform:translate(-50%,-50%);box-shadow:0 8px 24px rgba(0,0,0,.25)}
  .compare-handle::before,.compare-handle::after{content:"";position:absolute;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;top:16px}
  .compare-handle::before{left:11px;transform:rotate(-135deg)}
  .compare-handle::after{right:11px;transform:rotate(45deg)}
  .compare-label{position:absolute;top:26px;z-index:5;padding:7px 12px;border-radius:999px;background:rgba(4,42,34,.82);color:#fff;font-size:.75rem;font-weight:800;backdrop-filter:blur(8px)}
  .compare-label.before{left:24%}.compare-label.after{right:4%}
  .hero-result-badges{position:absolute;right:2.5%;bottom:42px;display:flex;gap:10px;z-index:5}
  .hero-result-badges span{display:flex;align-items:center;gap:8px;padding:12px 15px;border-radius:9px;background:rgba(255,255,255,.94);color:var(--green-950);font-size:.78rem;font-weight:750;box-shadow:0 12px 30px rgba(0,0,0,.18)}
  .hero-result-badges svg{color:var(--success)}

  .trust-strip{position:relative;z-index:10;margin-top:-29px}
  .trust-grid{display:grid;grid-template-columns:repeat(5,1fr);min-height:96px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);overflow:hidden}
  .trust-grid article{display:flex;align-items:center;justify-content:center;gap:14px;padding:20px;border-right:1px solid var(--line)}
  .trust-grid article:last-child{border-right:0}
  .trust-grid>article>svg{width:34px;height:34px;color:var(--green-900);flex:0 0 auto}
  .trust-grid div{display:flex;flex-direction:column;gap:1px}
  .trust-grid strong{font-size:1.04rem;line-height:1.15;color:var(--green-950)}
  .trust-grid span{font-size:.76rem;color:var(--muted);line-height:1.3}

  .scan-section{padding:92px 0 88px;background:#fff}
  .scan-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);gap:22px;align-items:stretch}
  .scan-visual{border-radius:17px;overflow:hidden;background:#f2f4f2;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
  .scan-compare{position:relative;height:450px;overflow:hidden;background:#dfe7e3}
  .scan-compare>img,.scan-clean img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .scan-clean{position:absolute;inset:0 0 0 auto;width:50%;overflow:hidden}
  .scan-clean img{width:100vw;max-width:none;right:0;left:auto}
  .scan-compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:7}
  .scan-divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;z-index:6;transform:translateX(-1px)}
  .scan-divider::after{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;color:var(--green-950);display:grid;place-items:center;font-weight:900;box-shadow:0 8px 22px rgba(0,0,0,.22)}
  .scan-label{position:absolute;top:18px;z-index:5;padding:6px 11px;border-radius:999px;background:rgba(5,45,37,.82);color:#fff;font-size:.72rem;font-weight:800;backdrop-filter:blur(7px)}
  .scan-label.left{left:18px}.scan-label.right{right:18px}
  .scan-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:12px;background:#fff}
  .scan-thumbs button{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0;overflow:hidden;cursor:pointer;transition:.18s ease}
  .scan-thumbs button:hover,.scan-thumbs button.active{border-color:var(--orange-500);box-shadow:0 0 0 2px rgba(238,103,45,.12)}
  .scan-thumbs img{width:100%;height:68px;object-fit:cover}
  .scan-thumbs span{display:block;padding:8px 6px;font-size:.66rem;font-weight:750;line-height:1.25}
  .scan-uploadbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border-top:1px solid var(--line);background:#fff}
  .scan-uploadbar span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.75rem}
  .scan-uploadbar button{background:var(--green-100);color:var(--green-900);padding:9px 12px;border-radius:8px;font-size:.75rem;font-weight:800;cursor:pointer}
  .scan-panel{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:17px;padding:27px 27px 22px;box-shadow:var(--shadow-sm)}
  .scan-progress{display:flex;align-items:center;margin-bottom:28px}
  .scan-progress span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e7ece9;color:#7a8982;font-size:.72rem;font-weight:850;flex:0 0 30px}
  .scan-progress span.active,.scan-progress span.done{background:var(--green-900);color:#fff}
  .scan-progress i{height:2px;flex:1;background:#e1e8e4}
  .scan-progress span.done+i{background:var(--green-900)}
  .scan-step{display:none;animation:stepIn .22s ease}
  .scan-step.active{display:block}
  @keyframes stepIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
  .scan-step-head small{display:block;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.08em;margin-bottom:7px}
  .scan-step-head h3{font-family:var(--font-body);font-size:1.46rem;letter-spacing:-.025em}
  .scan-step-head p{font-size:.86rem;margin-top:5px;color:var(--muted)}
  .scan-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
  .scan-choice-grid button,.scan-property-grid button{min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:.75rem;font-weight:750;line-height:1.25;cursor:pointer;transition:.16s ease}
  .scan-choice-grid button:hover,.scan-choice-grid button.active,.scan-property-grid button:hover,.scan-property-grid button.active{border-color:var(--orange-500);background:#fff8f4;box-shadow:0 0 0 2px rgba(238,103,45,.1);color:var(--orange-700)}
  .scan-property-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}
  .scan-property-grid button{min-height:82px}
  .scan-dimensions{display:grid;gap:16px;margin-top:22px}
  .scan-dimensions label>span{font-size:.82rem;font-weight:750}
  .scan-dimensions label>div{display:grid;grid-template-columns:1fr 62px;gap:14px;align-items:center;margin-top:8px}
  .scan-dimensions input[type=range]{accent-color:var(--orange-600);width:100%}
  .scan-dimensions output{font-size:.85rem;font-weight:800;text-align:right}
  .scan-area{display:flex;align-items:center;gap:13px;padding:15px;border-radius:11px;background:var(--green-50);border:1px solid #d9e8e1}
  .scan-area svg{color:var(--green-900)}
  .scan-area small{display:block;color:var(--muted);font-size:.7rem}.scan-area strong{font-size:1.35rem;color:var(--green-950)}
  .scan-photo-upload{width:100%;min-height:176px;margin-top:22px;border:2px dashed #cbd8d2;border-radius:13px;background:var(--green-50);color:var(--green-900);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer}
  .scan-photo-upload strong{font-size:.93rem}.scan-photo-upload span{font-size:.72rem;color:var(--muted)}
  .scan-photo-tips{display:flex;gap:8px;margin-top:11px;flex-wrap:wrap}
  .scan-photo-tips span{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:#f6f8f7;color:var(--muted);font-size:.67rem}
  .scan-result{display:flex;gap:14px;padding:17px;border-radius:13px;background:linear-gradient(135deg,#eef7f3,#fff);border:1px solid #cde4d9;margin-top:20px}
  .scan-result>svg{color:var(--green-900);flex:0 0 auto}
  .scan-result small{display:block;color:var(--orange-600);font-size:.65rem;font-weight:850;letter-spacing:.08em}
  .scan-result strong{display:block;font-size:1rem;color:var(--green-950);margin:3px 0 5px}
  .scan-result p{font-size:.8rem;line-height:1.52;color:var(--muted)}
  .scan-result-list{list-style:none;display:grid;gap:8px;margin-top:13px}
  .scan-result-list li{display:flex;align-items:flex-start;gap:8px;font-size:.77rem;color:var(--ink-2)}
  .scan-result-list svg{color:var(--success);margin-top:2px}
  .scan-footer{display:flex;align-items:center;gap:11px;margin-top:auto;padding-top:22px}
  .scan-footer button{min-height:52px;border-radius:9px;font-size:.84rem;font-weight:850;cursor:pointer}
  .scan-back{padding:0 15px;background:#eff4f1;color:var(--green-900)}
  .scan-next{flex:1;background:linear-gradient(135deg,var(--orange-500),var(--orange-700));color:#fff}
  .scan-safe{text-align:center;margin-top:12px;color:#87938e;font-size:.67rem;display:flex;justify-content:center;align-items:center;gap:6px}

  .services-section{padding:84px 0 94px;background:var(--warm)}
  .service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .service-card{position:relative;min-height:390px;border-radius:18px;overflow:hidden;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;box-shadow:var(--shadow-sm)}
  .service-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,30,25,.1) 12%,rgba(2,33,27,.92) 80%)}
  .service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .service-card-content{position:relative;z-index:1}
  .service-card-number{font-size:.73rem;font-weight:900;color:#ff9a70;letter-spacing:.08em}
  .service-card h3{color:#fff;font-size:1.55rem;margin:7px 0 10px}
  .service-card p{color:#e2ece7;font-size:.86rem;line-height:1.55}
  .service-card ul{list-style:none;display:grid;gap:7px;margin:16px 0 19px}
  .service-card li{display:flex;align-items:center;gap:7px;font-size:.78rem;color:#edf6f2}
  .service-card li svg{color:#78d18d}
  .service-card a{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:850}
  .service-card.featured{background:linear-gradient(150deg,#ef6b2c,#c94314);padding-top:44px}
  .service-card.featured::before{display:none}
  .service-card.featured img{display:none}
  .service-card-tag{position:absolute;right:16px;top:16px;z-index:2;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.18);font-size:.63rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}

  .process-band{padding:72px 0;background:var(--green-950);color:#fff}
  .process-band .section-heading{margin-bottom:42px}
  .process-band .section-heading h2,.process-band .section-heading p{color:#fff}
  .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .process-item{position:relative;display:grid;grid-template-columns:56px 1fr;gap:15px;align-items:start;padding:20px 18px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.03)}
  .process-item:not(:last-child)::after{content:"→";position:absolute;right:-16px;top:42px;color:#ff8b58;font-size:1.3rem;font-weight:900}
  .process-icon{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;border:1px solid rgba(255,151,105,.5);color:#ff8b58;background:rgba(0,0,0,.08)}
  .process-item b{display:block;color:#ff9a70;font-size:.7rem;margin-bottom:4px}
  .process-item h3{font-family:var(--font-body);font-size:.95rem;letter-spacing:-.01em;color:#fff}
  .process-item p{font-size:.73rem;color:#c8d9d2;line-height:1.5;margin-top:4px}

  .projects-section{padding:86px 0;background:#fff}
  .projects-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
  .projects-head h2{margin-top:10px}
  .projects-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .project-card{position:relative;min-height:280px;border-radius:15px;overflow:hidden;box-shadow:var(--shadow-xs)}
  .project-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
  .project-card:hover img{transform:scale(1.035)}
  .project-card::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(2,35,29,.92))}
  .project-card-content{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff}
  .project-card-content small{display:block;font-size:.66rem;color:#d7e4df}
  .project-card-content strong{display:block;font-size:.94rem;margin-top:2px}
  .project-card-badge{position:absolute;left:14px;top:14px;z-index:2;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.94);color:var(--green-900)}

  .reviews-band{background:var(--green-950);color:#fff}
  .reviews-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);min-height:210px}
  .reviews-summary,.review-card{padding:34px;border-right:1px solid rgba(255,255,255,.12)}
  .reviews-grid>*:last-child{border-right:0}
  .reviews-summary{display:flex;flex-direction:column;justify-content:center;background:rgba(255,255,255,.025)}
  .reviews-summary .stars,.review-card .stars{color:#ffb12a;letter-spacing:.08em}
  .reviews-summary strong{font-size:1.8rem;margin-top:8px}.reviews-summary span{font-size:.76rem;color:#bcd0c8}
  .review-card p{color:#eff6f3;font-size:.83rem;line-height:1.58;margin:11px 0 15px}
  .review-card footer{font-size:.72rem;color:#b9ccc4}
  .review-card footer strong{color:#fff}

  .home-seo{padding:96px 0;background:var(--soft)}
  .home-seo-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:72px;align-items:start}
  .home-seo-copy h2{margin:12px 0 20px}
  .home-seo-copy p+p{margin-top:16px}
  .home-seo-aside{display:grid;gap:14px}
  .home-seo-aside article{padding:22px;border-radius:14px;background:#fff;border:1px solid var(--line)}
  .home-seo-aside h3{font-family:var(--font-body);font-size:1.02rem;letter-spacing:-.01em;margin:12px 0 7px}
  .home-seo-aside p{font-size:.84rem;line-height:1.55}
}

@layer inner {
  .inner-hero{position:relative;padding:76px 0 80px;background:linear-gradient(180deg,#f4f8f6 0%,#fff 100%);overflow:hidden}
  .inner-hero::before{content:"";position:absolute;right:-140px;top:-220px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(238,103,45,.09),transparent 65%)}
  .inner-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:66px;align-items:center}
  .inner-copy h1{margin:15px 0 20px;max-width:770px;font-size:clamp(2.75rem,4.2vw,4.65rem)}
  .inner-copy>p{max-width:760px}
  .inner-copy>p+p{margin-top:13px}
  .inner-visual{position:relative;border-radius:24px;overflow:hidden;min-height:490px;box-shadow:var(--shadow-lg)}
  .inner-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .inner-visual::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(2,33,27,.5))}
  .visual-callout{position:absolute;left:22px;bottom:22px;z-index:2;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.95);box-shadow:var(--shadow-sm)}
  .visual-callout svg{color:var(--orange-600)}
  .visual-callout span{display:flex;flex-direction:column}.visual-callout small{color:var(--muted);font-size:.66rem}.visual-callout strong{font-size:.86rem}
  .mini-trust{list-style:none;display:flex;flex-wrap:wrap;gap:11px 20px;margin-top:20px}
  .mini-trust li{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--ink-2)}
  .mini-trust svg{color:var(--success)}

  .content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:72px;align-items:start}
  .main-content{max-width:900px}
  .main-content>h2{margin:12px 0 18px}
  .main-content>p{font-size:1.02rem}
  .main-content>p+p{margin-top:16px}
  .content-section{position:relative;padding:40px 0;border-bottom:1px solid var(--line)}
  .content-section:first-of-type{margin-top:20px}
  .content-section:last-child{border-bottom:0}
  .content-section h2{font-size:clamp(1.6rem,2.2vw,2.35rem);margin:8px 0 14px}
  .content-section h3{font-family:var(--font-body);font-size:1.16rem;letter-spacing:-.015em;margin:24px 0 8px}
  .content-section p+p{margin-top:14px}
  .content-index{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:28px;padding:0 9px;border-radius:999px;background:var(--orange-100);color:var(--orange-700);font-size:.69rem;font-weight:900;letter-spacing:.05em}
  .benefit-panel{margin:28px 0 6px;padding:25px;border-radius:16px;background:var(--green-950);color:#fff}
  .benefit-panel h3{font-family:var(--font-body);font-size:1.15rem;color:#fff;letter-spacing:-.01em}
  .benefit-panel ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px;margin-top:18px}
  .benefit-panel li{display:flex;align-items:flex-start;gap:9px;color:#eef6f3;font-size:.86rem}
  .benefit-panel svg{color:#7ed695;margin-top:3px;flex:0 0 auto}
  .content-aside{position:relative}
  .sticky{position:sticky;top:26px}
  .aside-card{padding:25px;border-radius:17px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
  .aside-card h3{font-family:var(--font-body);font-size:1.35rem;letter-spacing:-.025em;margin:12px 0 10px}
  .aside-card p{font-size:.86rem;line-height:1.55}
  .aside-card .btn{margin-top:19px}
  .aside-card ul{list-style:none;display:grid;gap:10px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}
  .aside-card li{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;color:var(--muted)}
  .aside-card svg{color:var(--success);margin-top:2px}
  .process-light{padding:92px 0;background:var(--soft)}
  .process-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
  .process-cards article{position:relative;padding:23px;border-radius:15px;background:#fff;border:1px solid var(--line)}
  .process-cards b{font-size:.7rem;color:var(--orange-600);letter-spacing:.08em}
  .process-cards>article>span{width:47px;height:47px;border-radius:12px;display:grid;place-items:center;background:var(--green-900);color:#fff;margin:15px 0}
  .process-cards h3{font-family:var(--font-body);font-size:1rem;letter-spacing:-.01em}
  .process-cards p{font-size:.78rem;line-height:1.55;margin-top:7px}
  .service-scan{padding:80px 0;background:linear-gradient(135deg,var(--green-950),#0b493d);color:#fff}
  .service-scan-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}
  .service-scan h2,.service-scan p{color:#fff}.service-scan h2{margin:12px 0 16px}.service-scan p{color:#d5e3dd;max-width:680px}.service-scan .btn{margin-top:22px}
  .mini-wall{position:relative;height:360px;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-lg)}
  .mini-wall img{width:100%;height:100%;object-fit:cover}
  .warning-panel{display:flex;gap:15px;margin:26px 0;padding:21px;border-radius:14px;background:#fff7f3;border:1px solid #f3cfbd}
  .warning-panel>span{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--orange-100);color:var(--orange-700);flex:0 0 46px}
  .warning-panel h3{font-family:var(--font-body);font-size:1.03rem;letter-spacing:-.01em;margin:0 0 5px}
  .warning-panel p{font-size:.84rem}
  .big-checklist{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 18px;margin:22px 0}
  .big-checklist li{display:flex;align-items:flex-start;gap:10px;padding:13px;border-radius:11px;background:var(--green-50);font-size:.84rem;color:var(--ink-2)}
  .big-checklist svg{color:var(--success);margin-top:2px;flex:0 0 auto}

  .problem-hero,.local-hero,.guide-hero,.static-hero{padding:78px 0;background:linear-gradient(180deg,#f3f8f6,#fff)}
  .problem-hero-grid,.local-hero-grid{display:grid;grid-template-columns:1fr .92fr;gap:62px;align-items:center}
  .problem-hero h1,.local-hero h1,.guide-hero h1,.static-hero h1{margin:14px 0 19px;font-size:clamp(2.65rem,4vw,4.35rem)}
  .problem-photo,.local-photo{position:relative;min-height:440px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg)}
  .problem-photo img,.local-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .problem-photo span,.local-photo span{position:absolute;left:18px;bottom:18px;padding:9px 12px;border-radius:9px;background:rgba(255,255,255,.94);font-size:.73rem;font-weight:800}
  .local-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:22px}
  .local-facts span{padding:13px;border-radius:11px;background:#fff;border:1px solid var(--line);font-size:.75rem;font-weight:750;color:var(--green-900)}
  .article-shell{width:min(calc(100% - 48px),1120px);margin-inline:auto}
  .article-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:54px;align-items:start}
  .article-toc{position:sticky;top:25px;padding:18px;border-radius:14px;background:var(--soft);border:1px solid var(--line)}
  .article-toc strong{font-size:.78rem}.article-toc a{display:block;margin-top:10px;font-size:.72rem;color:var(--muted)}.article-toc a:hover{color:var(--orange-600)}
  .article-body section{padding:34px 0;border-bottom:1px solid var(--line)}
  .article-body h2{font-size:clamp(1.55rem,2.2vw,2.25rem);margin:9px 0 14px}
  .article-body h3{font-family:var(--font-body);font-size:1.12rem;letter-spacing:-.01em;margin:22px 0 7px}
  .article-body p+p{margin-top:13px}
  .article-cover{height:450px;border-radius:20px;overflow:hidden;margin:30px 0;box-shadow:var(--shadow-md)}
  .article-cover img{width:100%;height:100%;object-fit:cover}
  .article-cta{margin-top:35px!important;padding:30px!important;border:0!important;border-radius:18px;background:var(--green-950);color:#fff}
  .article-cta h2,.article-cta p{color:#fff}.article-cta .btn{margin-top:18px}
  .hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .hub-card{padding:24px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs);transition:.18s ease}
  .hub-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
  .hub-card h3{font-family:var(--font-body);font-size:1.15rem;letter-spacing:-.015em;margin:15px 0 8px}
  .hub-card p{font-size:.84rem;line-height:1.55}
  .hub-card a{display:inline-flex;margin-top:17px;font-size:.82rem;font-weight:850;color:var(--green-900)}
  .faq-section{padding:96px 0;background:#fff}
  .faq-list{width:min(100%,960px);margin:36px auto 0;border-top:1px solid var(--line)}
  .faq-item{border-bottom:1px solid var(--line)}
  .faq-item summary{list-style:none;cursor:pointer;padding:24px 55px 24px 0;font-weight:800;font-size:1.06rem;position:relative}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary::after{content:"+";position:absolute;right:6px;top:19px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-size:1.2rem}
  .faq-item[open] summary::after{content:"−";background:var(--green-900);color:#fff}
  .faq-item p{max-width:820px;padding:0 55px 25px 0}
  .legal-hero{padding:74px 0;background:var(--soft)}
  .legal-copy{max-width:900px}.legal-copy h2{font-size:1.55rem;margin:32px 0 10px}.legal-copy p+p{margin-top:12px}
  .thanks{min-height:70vh;display:grid;place-items:center;padding:80px 24px;background:var(--soft)}
  .thanks-card{max-width:700px;padding:42px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);text-align:center}.thanks-card h1{margin:14px 0}.thanks-card .hero-actions{justify-content:center}
}

@layer forms {
  .lead-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px}
  .lead-modal[hidden]{display:none}
  .lead-modal-backdrop{position:absolute;inset:0;background:rgba(2,25,21,.72);backdrop-filter:blur(8px)}
  .lead-modal-dialog{position:relative;z-index:1;width:min(100%,920px);max-height:min(92vh,940px);overflow:auto;border-radius:24px;background:#fff;box-shadow:0 38px 120px rgba(0,0,0,.34)}
  .lead-modal-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:var(--green-950);color:#fff}
  .lead-modal-head span{display:block;color:#ff9b70;font-size:.68rem;font-weight:900;letter-spacing:.12em}.lead-modal-head strong{display:block;font-size:1.14rem;margin-top:2px}.lead-modal-head button{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.5rem;cursor:pointer}
  .lead-machine{padding:26px}
  .form-progress{display:grid;grid-template-columns:1fr auto;gap:10px 18px;align-items:center;margin-bottom:24px}
  .form-progress-track{grid-column:1/-1;height:6px;border-radius:99px;background:#e8eeeb;overflow:hidden}.form-progress-track span{display:block;height:100%;width:20%;background:linear-gradient(90deg,var(--green-800),var(--orange-500));transition:width .22s ease}
  .form-progress strong{font-size:.88rem}.form-progress small{font-size:.72rem;color:var(--muted)}
  .form-step{display:none}.form-step.active{display:block;animation:stepIn .22s ease}
  .form-step h3{font-family:var(--font-body);font-size:1.42rem;letter-spacing:-.025em;margin-bottom:6px}.form-step>p{font-size:.87rem;color:var(--muted)}
  .form-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:22px}
  .form-choice{position:relative;min-height:92px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;overflow:hidden}
  .form-choice input{position:absolute;opacity:0}.form-choice span{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:13px;text-align:center;font-size:.76rem;font-weight:750}
  .form-choice:has(input:checked){border-color:var(--orange-500);background:#fff7f2;box-shadow:0 0 0 2px rgba(238,103,45,.12);color:var(--orange-700)}
  .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}
  .form-grid.three{grid-template-columns:repeat(3,1fr)}
  .field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field span{font-size:.78rem;font-weight:750}.field small{font-size:.69rem;color:var(--muted)}
  .field input,.field select,.field textarea{width:100%;min-height:52px;border:1px solid #ccd9d3;border-radius:10px;padding:12px 13px;background:#fff;color:var(--ink)}
  .field textarea{min-height:132px;resize:vertical}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-700);box-shadow:0 0 0 3px rgba(20,97,79,.1);outline:0}
  .field-error{min-height:20px;color:var(--danger);font-size:.76rem;margin-top:10px}
  .upload-zone{display:block;margin-top:22px;padding:30px;border:2px dashed #c8d7d0;border-radius:14px;background:var(--green-50);text-align:center;cursor:pointer;transition:.18s ease}
  .upload-zone:hover,.upload-zone.dragging{border-color:var(--orange-500);background:#fff8f4}
  .upload-zone strong{display:block;margin-top:10px}.upload-zone span{display:block;margin-top:4px;color:var(--muted);font-size:.75rem}
  .preview-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px}.preview-grid figure{aspect-ratio:1;border-radius:9px;overflow:hidden;background:#edf1ef}.preview-grid img{width:100%;height:100%;object-fit:cover}
  .form-nav{display:flex;align-items:center;gap:12px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}
  .form-nav button{min-height:52px;border-radius:9px;font-weight:850;cursor:pointer}.form-prev{padding:0 18px;background:#eef3f0;color:var(--green-900)}.form-next,.form-submit{flex:1;background:linear-gradient(135deg,var(--orange-500),var(--orange-700));color:#fff}
  .form-status{font-size:.78rem;color:var(--danger);margin-top:12px}.form-success{text-align:center;padding:34px}.form-success svg{margin:0 auto;color:var(--success)}.form-success h3{margin:13px 0 8px}.form-success p{font-size:.9rem}
  .privacy-check{display:flex;align-items:flex-start;gap:9px;margin-top:18px;font-size:.75rem;color:var(--muted)}.privacy-check input{margin-top:4px}
}

@layer chat {
  .chat-launcher{position:fixed;right:22px;bottom:22px;z-index:110;display:flex;align-items:center;gap:11px;padding:10px 15px 10px 10px;border-radius:15px;background:var(--green-900);color:#fff;box-shadow:0 20px 50px rgba(3,45,37,.28);cursor:pointer}
  .chat-launcher-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--green-900)}
  .chat-launcher span{display:flex;flex-direction:column;align-items:flex-start}.chat-launcher strong{font-size:.82rem}.chat-launcher small{font-size:.65rem;color:#cde0d8}
  .chat-widget{position:fixed;right:22px;bottom:92px;z-index:109;width:min(390px,calc(100vw - 28px));max-height:min(660px,calc(100vh - 126px));display:flex;flex-direction:column;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.27);overflow:hidden;border:1px solid var(--line)}
  .chat-widget[hidden]{display:none}
  .chat-head{display:flex;align-items:center;justify-content:space-between;padding:18px;background:var(--green-950);color:#fff}.chat-head>div{display:flex;align-items:center;gap:11px}.chat-head i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--green-900)}.chat-head span{display:flex;flex-direction:column}.chat-head strong{font-size:.9rem}.chat-head small{font-size:.68rem;color:#bdd1c8}.chat-close{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.11);color:#fff;font-size:1.25rem;cursor:pointer}
  .chat-progress{height:5px;background:#e7ece9}.chat-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green-700),var(--orange-500));transition:width .25s ease}
  .chat-messages{flex:1;overflow:auto;padding:17px;display:flex;flex-direction:column;gap:10px;background:#f7f9f8}
  .chat-message{max-width:88%;padding:11px 13px;border-radius:13px;font-size:.8rem;line-height:1.48}.chat-message.bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}.chat-message.user{align-self:flex-end;background:var(--green-900);color:#fff;border-bottom-right-radius:4px}
  .chat-options{display:grid;gap:8px;padding:14px;background:#fff;border-top:1px solid var(--line)}.chat-options button{min-height:43px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--green-900);font-size:.76rem;font-weight:760;text-align:left;cursor:pointer}.chat-options button:hover{border-color:var(--green-700);background:var(--green-50)}.chat-options button.primary{background:var(--orange-600);color:#fff;border-color:var(--orange-600);text-align:center}
  .chat-input-row{display:flex;gap:8px;padding:12px;background:#fff;border-top:1px solid var(--line)}.chat-input-row input{flex:1;min-width:0;height:43px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font-size:.8rem}.chat-input-row button{width:43px;height:43px;border-radius:10px;background:var(--green-900);color:#fff;cursor:pointer}
}

@layer footer {
  .final-cta{position:relative;min-height:390px;display:flex;align-items:center;overflow:hidden;background:var(--green-950);color:#fff}
  .final-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.75)}
  .final-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,39,32,.98) 0%,rgba(3,39,32,.92) 54%,rgba(3,39,32,.4) 100%)}
  .final-cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:60px;padding:72px 0}
  .final-cta h2{color:#fff;margin:11px 0 22px;max-width:760px}.final-cta p{color:#d5e4de}.final-cta ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px 24px}.final-cta li{display:flex;align-items:center;gap:8px;color:#e7f1ed;font-size:.86rem}.final-cta li svg{color:#ff9a70}.final-actions{display:flex;flex-direction:column;gap:11px;min-width:310px}.final-actions small{display:flex;align-items:center;justify-content:center;gap:6px;color:#bdd0c8;font-size:.7rem}
  .site-footer{padding:70px 0 0;background:var(--green-1000);color:#fff}
  .footer-grid{display:grid;grid-template-columns:1.45fr repeat(4,1fr);gap:50px;padding-bottom:58px}
  .footer-grid>div{display:flex;flex-direction:column;align-items:flex-start}
  .footer-brand img{width:225px;margin-bottom:17px}.footer-brand p{max-width:300px;color:#bdcec7;font-size:.85rem}.footer-whatsapp{display:flex;align-items:center;gap:7px;margin-top:16px;font-weight:800}
  .footer-grid h3{font-family:var(--font-body);font-size:.9rem;letter-spacing:-.01em;color:#fff;margin-bottom:17px}.footer-grid a,.footer-grid>div>p{display:flex;align-items:center;gap:7px;color:#bfd0c9;font-size:.78rem;margin:5px 0}.footer-grid a:hover{color:#fff}
  .footer-bottom{min-height:70px;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;color:#98afa6;font-size:.7rem}.footer-bottom div{display:flex;gap:22px}
}

@layer responsive {
  @media (max-width:1200px){
    :root{--shell:1120px}
    .desktop-nav{gap:17px}.desktop-nav>a,.nav-dropdown>button{font-size:.72rem}.header-phone{display:none}
    .home-hero .shell{grid-template-columns:minmax(390px,48%) 1fr}.hero-copy h1{font-size:clamp(3rem,5vw,4.6rem)}
    .trust-grid article{padding:18px 12px}.trust-grid strong{font-size:.92rem}
    .scan-shell{grid-template-columns:1fr 430px}.scan-compare{height:420px}
    .content-grid{grid-template-columns:minmax(0,1fr) 310px;gap:48px}
  }
  @media (max-width:1020px){
    .header-servicebar span:nth-child(n+3){display:none}.desktop-nav,.header-cta{display:none}.header-main{height:72px}.brand{flex-basis:205px}.menu-toggle{display:block;margin-left:auto}
    .mobile-menu{position:fixed;inset:0;z-index:150;background:#fff;color:var(--ink);padding:22px;overflow:auto}.mobile-menu[hidden]{display:none}.mobile-menu:not([hidden]){display:block}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between}.mobile-menu-head img{width:205px}.mobile-close{width:42px;height:42px;border-radius:50%;background:var(--soft);color:var(--ink);font-size:1.4rem}.mobile-menu-links{display:grid;margin:30px 0 24px;border-top:1px solid var(--line)}.mobile-menu-links a{padding:15px 0;border-bottom:1px solid var(--line);font-weight:750}
    .home-hero{min-height:auto}.home-hero .shell{min-height:610px;display:block}.hero-copy{position:relative;z-index:4;width:58%;padding:68px 0 88px}.hero-compare{width:62%}.home-hero-media{display:none}
    .trust-grid{grid-template-columns:repeat(3,1fr)}.trust-grid article:nth-child(3){border-right:0}.trust-grid article:nth-child(-n+3){border-bottom:1px solid var(--line)}
    .scan-shell{grid-template-columns:1fr}.scan-visual{order:2}.scan-panel{order:1}.scan-compare{height:430px}
    .service-cards{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:1/-1}
    .process-grid{grid-template-columns:repeat(2,1fr)}.process-item::after{display:none}
    .projects-grid{grid-template-columns:repeat(2,1fr)}
    .reviews-grid{grid-template-columns:1fr 1fr}.reviews-grid>*{border-bottom:1px solid rgba(255,255,255,.12)}
    .home-seo-grid,.inner-hero-grid,.problem-hero-grid,.local-hero-grid,.service-scan-grid{grid-template-columns:1fr}.inner-visual,.problem-photo,.local-photo{min-height:430px}.inner-copy{max-width:800px}
    .content-grid{grid-template-columns:1fr}.content-aside{order:-1}.sticky{position:static}.aside-card{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center}.aside-card .btn{margin:0}.aside-card ul{grid-column:1/-1}
    .process-cards{grid-template-columns:repeat(2,1fr)}
    .article-layout{grid-template-columns:1fr}.article-toc{position:static;display:flex;gap:14px;overflow:auto;white-space:nowrap}.article-toc strong{display:none}.article-toc a{margin:0}
    .hub-grid{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:1.5fr repeat(2,1fr)}.footer-grid>div:nth-child(n+4){margin-top:10px}
  }
  @media (max-width:760px){
    :root{--text:17px}
    body{line-height:1.65}.shell{width:min(calc(100% - 30px),var(--shell))}.section{padding:76px 0}
    h1{font-size:clamp(2.3rem,10vw,3.3rem)}h2{font-size:clamp(1.85rem,8vw,2.65rem)}
    .header-servicebar{height:28px}.header-servicebar .shell{justify-content:flex-start;gap:18px}.header-servicebar span:nth-child(n+2){display:none}.header-main{height:68px}.brand{flex-basis:190px}.brand img{width:190px}
    .home-hero{min-height:0;padding-bottom:0}.home-hero .shell{display:flex;flex-direction:column;min-height:0;width:100%}.hero-copy{width:100%;padding:48px 20px 36px;background:linear-gradient(160deg,var(--green-1000),var(--green-900))}.hero-copy h1{font-size:clamp(2.75rem,12.5vw,4rem);margin-top:13px}.hero-copy>p{font-size:1rem}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.hero-proof li{font-size:.75rem}
    .hero-compare{position:relative;width:100%;height:400px}.compare-label{top:16px}.hero-result-badges{left:12px;right:12px;bottom:13px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.hero-result-badges span{justify-content:center;padding:9px 6px;font-size:.62rem;text-align:center}.hero-result-badges svg{display:none}
    .trust-strip{margin-top:0;padding:14px 0;background:#fff}.trust-grid{grid-template-columns:1fr 1fr;border-radius:13px}.trust-grid article{justify-content:flex-start;padding:15px}.trust-grid article:nth-child(odd){border-right:1px solid var(--line)}.trust-grid article:nth-child(even){border-right:0}.trust-grid article:nth-child(-n+4){border-bottom:1px solid var(--line)}.trust-grid article:last-child{grid-column:1/-1}.trust-grid>article>svg{width:28px;height:28px}.trust-grid strong{font-size:.85rem}.trust-grid span{font-size:.67rem}
    .scan-section{padding:68px 0}.section-heading{margin-bottom:34px}.section-heading p{font-size:.95rem}.scan-shell{gap:16px}.scan-panel{padding:22px 18px 18px}.scan-compare{height:330px}.scan-choice-grid{grid-template-columns:repeat(2,1fr)}.scan-thumbs{grid-template-columns:repeat(5,110px);overflow-x:auto}.scan-uploadbar{flex-direction:column;align-items:flex-start}.scan-uploadbar button{width:100%}.scan-property-grid{grid-template-columns:1fr 1fr}
    .services-section{padding:68px 0}.service-cards{grid-template-columns:1fr}.service-card:last-child{grid-column:auto}.service-card{min-height:360px}
    .process-band{padding:62px 0}.process-grid{grid-template-columns:1fr}.process-item{grid-template-columns:52px 1fr}
    .projects-section{padding:68px 0}.projects-head{align-items:flex-start;flex-direction:column}.projects-grid{grid-template-columns:1fr 1fr}.project-card{min-height:235px}
    .reviews-grid{grid-template-columns:1fr}.reviews-summary,.review-card{padding:27px;border-right:0}
    .home-seo{padding:72px 0}.home-seo-grid{gap:30px}
    .inner-hero,.problem-hero,.local-hero,.guide-hero,.static-hero{padding:54px 0}.inner-hero-grid,.problem-hero-grid,.local-hero-grid{gap:35px}.inner-copy h1,.problem-hero h1,.local-hero h1,.guide-hero h1,.static-hero h1{font-size:clamp(2.35rem,10vw,3.4rem)}.inner-visual,.problem-photo,.local-photo{min-height:330px;border-radius:17px}.visual-callout{left:13px;right:13px;bottom:13px}
    .content-grid{gap:34px}.benefit-panel ul,.big-checklist{grid-template-columns:1fr}.aside-card{display:block}.aside-card .btn{margin-top:17px}.content-section{padding:30px 0}
    .process-cards{grid-template-columns:1fr}.service-scan-grid{gap:32px}.mini-wall{height:280px}
    .local-facts{grid-template-columns:1fr}.article-shell{width:min(calc(100% - 30px),1120px)}.article-cover{height:300px}.hub-grid{grid-template-columns:1fr}
    .faq-section{padding:72px 0}.faq-item summary{font-size:.95rem;padding-right:45px}.faq-item p{padding-right:0}
    .lead-modal{padding:0;align-items:end}.lead-modal-dialog{max-height:96vh;border-radius:22px 22px 0 0}.lead-machine{padding:20px}.form-choice-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.form-grid.three{grid-template-columns:1fr}.preview-grid{grid-template-columns:repeat(3,1fr)}
    .chat-launcher{right:14px;bottom:14px;padding:9px}.chat-launcher span{display:none}.chat-widget{right:10px;bottom:76px;width:calc(100vw - 20px);max-height:calc(100vh - 92px)}
    .final-cta-inner{flex-direction:column;align-items:flex-start;gap:30px;padding:58px 0}.final-actions{width:100%;min-width:0}.footer-grid{grid-template-columns:1fr 1fr;gap:34px}.footer-brand{grid-column:1/-1}.footer-bottom{padding:20px 0;flex-direction:column;align-items:flex-start;gap:12px}.footer-bottom div{flex-wrap:wrap;gap:13px}
    .mobile-sticky{position:fixed;left:0;right:0;bottom:0;z-index:105;display:grid;grid-template-columns:1fr 1.3fr;gap:7px;padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(10px)}.mobile-sticky a{min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;font-size:.78rem;font-weight:850}.mobile-sticky .call{background:var(--green-100);color:var(--green-900)}.mobile-sticky .quote{background:var(--orange-600);color:#fff}.site-footer{padding-bottom:70px}
  }
  @media (max-width:470px){
    .hero-proof{grid-template-columns:1fr}.hero-compare{height:350px}.projects-grid{grid-template-columns:1fr}.scan-compare{height:280px}.scan-choice-grid,.scan-property-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}
  }
  @media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
}
.scan-result-list li > span{color:var(--success);font-weight:900;flex:0 0 auto}


/* Build 20 accessibility, consistency and Gevelprofiel polish */
.scan-profile-summary{display:grid;grid-template-columns:84px 1fr;gap:16px;align-items:center;padding:17px;border:1px solid #cfe2d9;border-radius:14px;background:linear-gradient(135deg,#f0f8f4,#fff);margin-top:20px}
.scan-score{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--orange-600) 0 62%,#dce8e2 62% 100%);position:relative;color:var(--green-950);isolation:isolate}
.scan-score::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff;z-index:-1}
.scan-score span{font-size:1.35rem;font-weight:900;line-height:1}.scan-score small{font-size:.7rem;color:var(--muted);font-weight:700;margin-top:2px}
.scan-profile-copy>small{display:block;color:var(--orange-650);font-size:.75rem;font-weight:900;letter-spacing:.08em}.scan-profile-copy>strong{display:block;font-size:1.08rem;margin:3px 0 4px;color:var(--green-950)}.scan-profile-copy p{font-size:.9rem;line-height:1.5;color:var(--muted)}
.scan-profile-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.scan-profile-facts span{padding:11px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.scan-profile-facts small{display:block;font-size:.72rem;color:var(--muted)}.scan-profile-facts strong{display:block;margin-top:2px;font-size:.84rem;color:var(--green-950);line-height:1.25}
/* Make every important line readable at 100% zoom, especially for homeowners 50+. */
.desktop-nav>a,.nav-dropdown>button{font-size:.86rem}.header-servicebar{font-size:.74rem}.header-phone small{font-size:.72rem}.header-cta{font-size:.82rem}
.trust-grid span{font-size:.84rem}.trust-grid strong{font-size:1.08rem}.hero-result-badges span{font-size:.84rem}.compare-label,.scan-label{font-size:.8rem}
.scan-thumbs span{font-size:.76rem}.scan-uploadbar span,.scan-uploadbar button{font-size:.84rem}.scan-progress span{font-size:.78rem}.scan-step-head small{font-size:.76rem}.scan-step-head p{font-size:.96rem}.scan-choice-grid button,.scan-property-grid button{font-size:.86rem}.scan-dimensions label>span,.scan-dimensions output{font-size:.9rem}.scan-area small{font-size:.76rem}.scan-photo-upload span,.scan-photo-tips span{font-size:.78rem}.scan-result small{font-size:.73rem}.scan-result strong{font-size:1.08rem}.scan-result p{font-size:.9rem}.scan-result-list li{font-size:.88rem}.scan-footer button{font-size:.92rem}.scan-safe{font-size:.75rem}
.service-card p{font-size:.96rem}.service-card li{font-size:.88rem}.service-card a{font-size:.9rem}.process-item p{font-size:.84rem}.process-item h3{font-size:1rem}.project-card-content small{font-size:.75rem}.project-card-content strong{font-size:1rem}.review-card p{font-size:.93rem}.review-card footer{font-size:.8rem}.reviews-summary span{font-size:.84rem}
.visual-callout small{font-size:.74rem}.visual-callout strong,.mini-trust li,.benefit-panel li,.aside-card p,.big-checklist li,.hub-card p{font-size:.94rem}.aside-card li,.process-cards p,.local-facts span,.hub-card a{font-size:.88rem}.process-cards h3{font-size:1.08rem}.article-toc strong{font-size:.86rem}.article-toc a{font-size:.82rem}
.form-progress strong{font-size:.96rem}.form-progress small{font-size:.8rem}.form-step>p{font-size:.96rem}.form-choice span{font-size:.86rem}.field span{font-size:.88rem}.field small,.field-error,.upload-zone span,.form-status,.privacy-check{font-size:.82rem}.chat-launcher strong{font-size:.9rem}.chat-launcher small{font-size:.73rem}.chat-head strong{font-size:.98rem}.chat-head small{font-size:.76rem}.chat-message{font-size:.9rem}.chat-options button,.chat-input-row input{font-size:.86rem}.footer-grid a,.footer-grid>div>p{font-size:.86rem}.footer-bottom{font-size:.78rem}.final-actions small{font-size:.78rem}
@media(max-width:720px){.scan-profile-facts{grid-template-columns:1fr}.scan-profile-summary{grid-template-columns:70px 1fr}.scan-score{width:66px;height:66px}.hero-copy h1{font-size:clamp(2.55rem,11vw,3.5rem)}.trust-grid span{font-size:.76rem}.hero-result-badges span{font-size:.72rem}.scan-choice-grid button,.scan-property-grid button{font-size:.84rem}.mobile-sticky a{font-size:.86rem}}
.numbered-list{list-style:none;counter-reset:gwl-step;display:grid;gap:12px;margin-top:20px}.numbered-list li{counter-increment:gwl-step;position:relative;padding:16px 16px 16px 58px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-2)}.numbered-list li::before{content:counter(gwl-step);position:absolute;left:14px;top:14px;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--green-900);color:#fff;font-weight:900;font-size:.82rem}.numbered-list strong{display:block;color:var(--green-950);margin-bottom:2px}

/* =========================================================
   BUILD 23 — PREMIUM HUMAN-FIRST CONVERSION UI
   Unlayered on purpose: these rules override the V20 layers.
   ========================================================= */
:root{--brand-green:#193a2c;--brand-green-dark:#0e281e;--brand-orange:#c95424;--brand-ink:#17221d;--v21-shell:1280px}
body{font-size:17px;background:#fff;color:var(--brand-ink)}
.shell{width:min(calc(100% - 56px),var(--v21-shell))}

/* Exact supplied logo + calmer, premium navigation */
.site-header{background:#fff;color:var(--brand-ink);box-shadow:0 1px 0 rgba(18,48,37,.09);position:relative}
.header-servicebar{height:32px;background:var(--brand-green-dark);color:#fff}
.header-servicebar .shell{justify-content:flex-start;gap:34px}
.header-main{height:88px;background:#fff;gap:22px}
.brand{flex:0 0 258px;min-width:0}
.brand img{width:258px;height:auto;filter:none}
.desktop-nav{gap:23px;margin-left:18px}
.desktop-nav>a,.nav-dropdown>button{color:#243a31;padding:31px 0;font-size:.81rem;font-weight:780}
.desktop-nav>a:hover,.nav-dropdown>button:hover{color:var(--brand-orange)}
.header-phone{color:#17352a}
.header-phone small{color:#718078}
.header-cta{background:linear-gradient(135deg,#dd642e,#b84318);font-size:.77rem;height:50px;border-radius:11px;color:#fff}
.dropdown-panel{top:75px}
.mobile-menu{color:var(--brand-ink);background:#fff}
.mobile-menu-head img{width:230px;height:auto}

/* Hero */
.home-hero.v21-hero{min-height:720px;background:
radial-gradient(circle at 7% 10%,rgba(209,92,38,.18),transparent 28%),
linear-gradient(145deg,#0c291f 0%,#163a2c 52%,#102f24 100%);overflow:hidden}
.home-hero.v21-hero::before{content:"";position:absolute;inset:auto -180px -300px auto;width:720px;height:720px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.v21-hero-grid{position:relative;z-index:2;min-height:720px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:68px;align-items:center;padding:68px 0 78px}
.v21-hero .hero-copy{padding:0;max-width:650px}
.v21-hero .hero-copy h1{font-size:clamp(3.2rem,5vw,5.2rem);line-height:.98;letter-spacing:-.055em;margin:18px 0 24px;color:#fff;max-width:640px}
.v21-hero .hero-copy>p{font-size:1.09rem;line-height:1.72;color:#dfeae5;max-width:610px}
.v21-hero .hero-copy .eyebrow{color:#ff9b6c}
.v21-hero .btn-ghost{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.34)}
.v21-hero .hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;max-width:620px;margin-top:26px}
.v21-hero .hero-proof li{font-size:.86rem;color:#eef7f2}
.v21-hero-card{position:relative;border-radius:27px;background:#fff;padding:12px;box-shadow:0 34px 90px rgba(0,0,0,.34);transform:rotate(.25deg)}
.v21-hero-card::before{content:"";position:absolute;inset:-14px 32px auto;height:28px;border-radius:50%;background:rgba(0,0,0,.22);filter:blur(22px);z-index:-1}
.v21-compare-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 16px;color:#18372b}
.v21-compare-head>div{display:flex;flex-direction:column;gap:2px}.v21-compare-head span{font-size:.68rem;letter-spacing:.16em;font-weight:900;color:var(--brand-orange)}.v21-compare-head strong{font-size:1rem}.v21-compare-head i{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eff5f2;color:#17392c;font-style:normal}
.v21-hero .hero-compare,.v21-result-compare{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1.575/1;border-radius:19px;overflow:hidden;background:#d9e2de;z-index:1}
.v21-hero .hero-compare .compare-before,.v21-hero .hero-compare .compare-after img,.v21-result-compare .compare-before,.v21-result-compare .compare-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.v21-hero .hero-compare .compare-after,.v21-result-compare .compare-after{position:absolute;inset:0 0 0 auto;width:48%;overflow:hidden}
.v21-hero .hero-compare .compare-after img,.v21-result-compare .compare-after img{max-width:none;right:0;left:auto}
.v21-hero .hero-compare input,.v21-result-compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:8}
.v21-hero .compare-line,.v21-result-compare .compare-line{position:absolute;top:0;bottom:0;left:52%;width:3px;background:#fff;z-index:6;box-shadow:0 0 16px rgba(0,0,0,.22)}
.v21-hero .compare-handle,.v21-result-compare .compare-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:2px;background:#fff;color:#15392c;box-shadow:0 14px 32px rgba(0,0,0,.28)}
.compare-handle b{width:1px;height:19px;background:#c9d4cf}.compare-handle svg:first-child{transform:rotate(180deg)}
.v21-hero .compare-label,.v21-result-compare .compare-label{top:17px;padding:8px 12px;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;backdrop-filter:blur(7px)}
.v21-hero .compare-label.before,.v21-result-compare .compare-label.before{left:16px;background:rgba(14,30,24,.78);color:#fff}
.v21-hero .compare-label.after,.v21-result-compare .compare-label.after{right:16px;background:rgba(255,255,255,.9);color:#17392c}
.v21-compare-note{display:flex;align-items:flex-start;gap:8px;padding:14px 12px 7px;font-size:.78rem;line-height:1.45;color:#53675e}.v21-compare-note svg{flex:0 0 auto;color:#25855e;margin-top:2px}

/* Trust */
.trust-strip.v21-trust{margin:0;padding:0;background:#fff;border-bottom:1px solid #e1e9e5}
.v21-trust .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);border:0;border-radius:0;box-shadow:none}
.v21-trust .trust-grid article{min-height:122px;padding:24px 22px;border-right:1px solid #e2e9e6;display:flex;align-items:center;gap:15px}
.v21-trust .trust-grid article:last-child{border-right:0}
.trust-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;background:#eef5f1;color:#173b2e}
.v21-trust .trust-grid strong{display:block;font-size:.93rem;color:#17342a;margin-bottom:3px}.v21-trust .trust-grid span:not(.trust-icon){font-size:.76rem;line-height:1.45;color:#667870}

/* Problem selector */
.v21-problems{padding:92px 0 98px;background:#fbfcfb}
.v21-problems .section-heading{margin-bottom:38px}
.v21-problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.v21-problem-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dce7e2;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(18,55,42,.05);transition:.2s ease}
.v21-problem-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(18,55,42,.12);border-color:#b8cfc4}
.problem-thumb{height:150px;overflow:hidden;background:#e8efeb}.problem-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.v21-problem-card:hover .problem-thumb img{transform:scale(1.045)}
.problem-copy{display:flex;flex-direction:column;align-items:flex-start;padding:20px;min-height:216px}.problem-copy strong{font-size:1.05rem;color:#17362b;margin-bottom:8px}.problem-copy small{font-size:.82rem;line-height:1.55;color:#607269}.problem-copy b{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:15px;color:var(--brand-orange);font-size:.78rem}

/* GevelScan */
.scan-section.v21-scan{padding:100px 0 108px;background:linear-gradient(180deg,#f0f6f3 0%,#fff 100%)}
.v21-scan .scan-shell{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(430px,.94fr);gap:22px;align-items:stretch}
.v21-scan .scan-visual,.v21-scan .scan-panel{border-radius:24px;border:1px solid #d7e4de;background:#fff;box-shadow:0 18px 50px rgba(18,56,43,.09);overflow:hidden}
.v21-scan .scan-visual{padding:14px;display:flex;flex-direction:column}
.v21-scan .scan-compare{height:auto;aspect-ratio:1.38/1;border-radius:17px;overflow:hidden}
.v21-scan .scan-compare img,.v21-scan .scan-clean img{object-fit:cover}
.v21-scan .scan-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:12px 0 0}
.v21-scan .scan-thumbs button{min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #e0e8e4;border-radius:12px;background:#fff;color:#4c6459;font-size:.69rem;font-weight:800;cursor:pointer}
.v21-scan .scan-thumbs button.active{background:#173b2e;color:#fff;border-color:#173b2e;box-shadow:0 10px 24px rgba(23,59,46,.2)}
.v21-scan .scan-uploadbar{margin-top:12px;padding:13px 15px;border-radius:13px;background:#f1f6f3}.v21-scan .scan-uploadbar button{border-radius:9px;background:#fff;border:1px solid #c9d9d1;color:#173b2e;font-weight:850;padding:10px 14px}
.v21-scan .scan-panel{padding:27px 26px 22px}
.v21-scan .scan-progress{margin-bottom:28px}
.v21-scan .scan-step-head h3{font-size:1.75rem;margin:5px 0 8px}.v21-scan .scan-step-head p{font-size:.9rem}
.v21-scan .scan-choice-grid,.v21-scan .scan-property-grid{gap:9px}
.v21-scan .scan-choice-grid button,.v21-scan .scan-property-grid button{min-height:78px;border-radius:13px;background:#fff;border:1px solid #dbe6e0;color:#17372b;box-shadow:none}
.v21-scan .scan-choice-grid button:hover,.v21-scan .scan-property-grid button:hover{border-color:#9ebcac;background:#f5faf7}.v21-scan .scan-choice-grid button.active,.v21-scan .scan-property-grid button.active{background:#173b2e;color:#fff;border-color:#173b2e}
.scan-compare.own-photo .scan-clean,.scan-compare.own-photo input,.scan-compare.own-photo .scan-divider,.scan-compare.own-photo .scan-label.right{display:none!important}.scan-compare.own-photo .scan-label.left{background:#173b2e}.scan-compare.own-photo .scan-label.left::after{content:" · foto ontvangen"}

/* Services */
.services-section.v21-services{padding:104px 0;background:#fff}
.v21-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.v21-service-card{display:grid;grid-template-columns:210px 1fr;min-height:255px;border:1px solid #dce6e1;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(18,55,42,.055)}
.v21-service-card .service-image{position:relative;overflow:hidden;background:#dfe7e3}.v21-service-card .service-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.v21-service-card:hover .service-image img{transform:scale(1.045)}
.v21-service-card .service-image span{position:absolute;left:14px;top:14px;width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#173a2d;font-size:.78rem;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.v21-service-card>div{display:flex;flex-direction:column;align-items:flex-start;padding:27px 26px}.v21-service-card h3{font-size:1.38rem;margin-bottom:10px}.v21-service-card p{font-size:.87rem;line-height:1.62;margin-bottom:18px}.v21-service-card .text-link{margin-top:auto;font-size:.82rem;color:var(--brand-orange)}

/* Second exact compare */
.v21-result{padding:108px 0;background:#102c22;color:#fff;overflow:hidden;position:relative}
.v21-result::before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;border:1px solid rgba(255,255,255,.07);right:-250px;top:-220px}
.v21-result-grid{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:center}
.v21-result-copy h2{color:#fff;margin:15px 0 19px;font-size:clamp(2.25rem,3.4vw,3.65rem)}.v21-result-copy p{color:#cfddd7;line-height:1.72;margin-bottom:27px}.v21-result-copy .eyebrow{color:#ff9d70}
.v21-result-compare{box-shadow:0 30px 80px rgba(0,0,0,.34);border:8px solid rgba(255,255,255,.12);aspect-ratio:1.38/1}

/* Process */
.process-band.v21-process{padding:92px 0;background:#f3f7f5;color:var(--brand-ink)}
.v21-process .section-heading h2,.v21-process .section-heading p{color:var(--brand-ink)}.v21-process .eyebrow-light{color:var(--brand-orange)}
.v21-process .process-grid{gap:14px}.v21-process .process-item{background:#fff;border:1px solid #dce6e1;border-radius:17px;padding:23px;box-shadow:0 8px 24px rgba(18,55,42,.045)}
.v21-process .process-icon{background:#173b2e;color:#fff}.v21-process .process-item b{color:var(--brand-orange)}.v21-process .process-item h3{color:#17352a}.v21-process .process-item p{color:#65776e}

/* Honest promise */
.v21-expect{padding:112px 0;background:#fff}
.v21-expect-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:76px;align-items:center}
.v21-expect-photo{position:relative;min-height:570px;border-radius:25px;overflow:hidden;box-shadow:0 28px 70px rgba(18,55,42,.17)}.v21-expect-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.v21-expect-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(10,33,25,.8))}
.v21-expect-photo>span{position:absolute;left:25px;right:25px;bottom:24px;z-index:2;display:flex;flex-wrap:wrap;gap:8px}.v21-expect-photo b{padding:8px 11px;border-radius:8px;background:rgba(255,255,255,.94);color:#17372b;font-size:.72rem;letter-spacing:.08em}
.v21-expect h2{margin:14px 0 20px;font-size:clamp(2.25rem,3.4vw,3.6rem)}.v21-expect .lead{font-size:1.04rem}.v21-check-list{list-style:none;display:grid;gap:12px;margin:27px 0}.v21-check-list li{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:#f4f8f6;color:#29463a;font-size:.88rem}.v21-check-list svg{color:#19805a;flex:0 0 auto;margin-top:2px}

/* SEO / locations */
.home-seo.v21-seo{padding:106px 0;background:#fbfaf7}.v21-seo .home-seo-copy p{font-size:.95rem;line-height:1.78}.v21-location-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:27px}.v21-location-links a{padding:8px 11px;border:1px solid #d6e1dc;border-radius:999px;background:#fff;color:#355247;font-size:.75rem;font-weight:800}.v21-location-links a:hover{border-color:#b74a20;color:#b74a20}

/* Final CTA and footer logo */
.v21-final-cta img{object-position:center 45%}.v21-final-cta .final-cta-inner{position:relative;z-index:2}
.footer-brand img{width:250px;height:auto;max-height:none;object-fit:contain}

/* Premium GevelCoach */
.chat-launcher{right:24px;bottom:22px;padding:10px 16px 10px 9px;border-radius:18px;background:#13382b;box-shadow:0 20px 55px rgba(7,43,32,.34);gap:11px;overflow:visible}
.chat-launcher:hover{transform:translateY(-3px)}
.chat-launcher-icon{width:48px;height:48px;border-radius:14px;background:#fff;overflow:hidden;padding:6px}.chat-launcher-icon img{width:100%;height:100%;object-fit:contain}
.chat-launcher>span:nth-child(2){display:flex;flex-direction:column;align-items:flex-start}.chat-launcher strong{font-size:.89rem}.chat-launcher small{font-size:.69rem;color:#cfe0d8}.chat-launcher>i{position:absolute;right:-3px;top:-3px;width:13px;height:13px;border-radius:50%;background:#4bd27d;border:3px solid #fff;box-shadow:0 0 0 5px rgba(75,210,125,.14)}
.chat-widget.coach-widget{right:24px;bottom:98px;width:min(440px,calc(100vw - 28px));height:min(720px,calc(100vh - 122px));max-height:none;border-radius:24px;border:1px solid #d6e2dc;box-shadow:0 36px 100px rgba(0,0,0,.32);background:#f6f9f7}
.coach-widget .chat-head{min-height:78px;padding:14px 15px 14px 17px;background:linear-gradient(135deg,#0e2d22,#1a4837)}
.chat-brand{display:flex;align-items:center;gap:11px}.chat-brand>img{width:44px;height:48px;object-fit:contain;background:#fff;border-radius:12px;padding:5px}.chat-brand span{display:flex;flex-direction:column}.chat-brand strong{font-size:1rem}.chat-brand small{font-size:.7rem;color:#c7d9d1}
.chat-head-actions{display:flex;align-items:center;gap:7px}.chat-head-actions button{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff;cursor:pointer}.chat-restart svg{transform:rotate(180deg)}
.coach-widget .chat-progress{height:4px;background:#dfe8e4}.coach-widget .chat-progress span{background:linear-gradient(90deg,#d45b28,#f38a57);border-radius:99px}
.chat-trust{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;background:#fff;border-bottom:1px solid #e1e9e5;color:#607168;font-size:.68rem;font-weight:750}.chat-trust span{display:flex;align-items:center;gap:6px}.chat-trust i{width:7px;height:7px;border-radius:50%;background:#35b96b;box-shadow:0 0 0 4px rgba(53,185,107,.12)}
.coach-widget .chat-messages{padding:18px 16px;gap:13px;background:linear-gradient(180deg,#f4f8f6,#f9fbfa)}
.coach-widget .chat-message{max-width:92%;padding:0;background:none!important;border:0!important;display:flex;align-items:flex-end;gap:8px;font-size:.87rem;line-height:1.5}.coach-widget .chat-message.user{align-self:flex-end;justify-content:flex-end}.coach-widget .chat-message.bot{align-self:flex-start}
.chat-avatar{width:29px;height:29px;border-radius:9px;background:#fff;border:1px solid #dce6e1;padding:4px;flex:0 0 auto}.chat-avatar img{width:100%;height:100%;object-fit:contain}
.chat-bubble{padding:11px 13px;border-radius:15px;background:#fff;border:1px solid #dde7e2;color:#29453a;box-shadow:0 5px 14px rgba(18,55,42,.045)}.chat-message.bot .chat-bubble{border-bottom-left-radius:5px}.chat-message.user .chat-bubble{background:#173c2e;color:#fff;border-color:#173c2e;border-bottom-right-radius:5px}
.chat-result-card{margin:3px 1px 4px 37px;padding:17px;border-radius:16px;background:linear-gradient(145deg,#12382a,#1f503d);color:#fff;box-shadow:0 14px 28px rgba(17,57,43,.18)}.chat-result-card>span{font-size:.62rem;letter-spacing:.15em;color:#ff9f72;font-weight:900}.chat-result-card>strong{display:block;font-size:1.05rem;margin:5px 0 7px}.chat-result-card p{font-size:.79rem;line-height:1.52;color:#dbe9e3}.chat-result-card ul{list-style:none;display:grid;gap:5px;margin-top:11px}.chat-result-card li{font-size:.73rem;color:#eaf5f0}
.coach-widget .chat-options{grid-template-columns:1fr;gap:8px;padding:12px 14px 14px;background:#fff;border-top:1px solid #dde7e2;max-height:270px;overflow:auto}
.coach-widget .chat-options button{display:flex;align-items:center;gap:10px;min-height:52px;padding:9px 12px;border-radius:12px;border:1px solid #dbe5e0;background:#fff;color:#17372b;text-align:left}.coach-widget .chat-options button:hover{background:#f1f7f4;border-color:#9fbcad}.coach-widget .chat-options button.primary{background:linear-gradient(135deg,#de642f,#b94519);border-color:#c65325;color:#fff}.coach-widget .chat-options button>span:not(.chat-option-icon){display:flex;flex-direction:column;gap:1px}.coach-widget .chat-options strong{font-size:.8rem}.coach-widget .chat-options small{font-size:.66rem;line-height:1.35;color:#718078}.coach-widget .chat-options button.primary small{color:#ffe5d8}.chat-option-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#eef4f1;font-size:.9rem;flex:0 0 auto}.coach-widget .chat-options button.primary .chat-option-icon{background:rgba(255,255,255,.16)}
.coach-widget .chat-input-row{padding:12px 14px;background:#fff;border-top:1px solid #dde7e2}.coach-widget .chat-input-row input{min-height:48px;border-radius:12px}.coach-widget .chat-input-row button{width:44px;height:44px;border-radius:11px}
.chat-foot{padding:8px 15px 11px;background:#fff;color:#7a8982;font-size:.61rem;line-height:1.4;text-align:center}

/* Laptop tuning */
@media(max-width:1280px){
  .shell{width:min(calc(100% - 40px),1160px)}.header-main{gap:15px}.brand{flex-basis:220px}.brand img{width:220px}.desktop-nav{gap:17px;margin-left:5px}.desktop-nav>a,.nav-dropdown>button{font-size:.75rem}.header-phone{display:none}.v21-hero-grid{grid-template-columns:minmax(0,.86fr) minmax(490px,1.14fr);gap:42px}.v21-hero .hero-copy h1{font-size:clamp(3rem,4.8vw,4.45rem)}
}
@media(max-width:1050px){
  .desktop-nav{display:none}.menu-toggle{display:block;color:#17372b}.header-actions{margin-left:auto}.header-phone{display:flex}.v21-hero-grid{grid-template-columns:1fr;gap:38px;padding:62px 0 70px}.home-hero.v21-hero{min-height:0}.v21-hero .hero-copy{max-width:760px}.v21-hero .hero-copy h1{max-width:760px}.v21-hero-card{max-width:800px;width:100%}.v21-trust .trust-grid{grid-template-columns:1fr 1fr}.v21-trust .trust-grid article:nth-child(2){border-right:0}.v21-trust .trust-grid article:nth-child(-n+2){border-bottom:1px solid #e2e9e6}.v21-problem-grid{grid-template-columns:1fr 1fr}.v21-scan .scan-shell{grid-template-columns:1fr}.v21-service-card{grid-template-columns:180px 1fr}.v21-result-grid,.v21-expect-grid{grid-template-columns:1fr;gap:44px}.v21-result-compare{max-width:820px}.v21-expect-photo{min-height:520px;max-width:800px}
}
@media(max-width:720px){
  body{font-size:16px}.shell{width:min(calc(100% - 28px),100%)}.header-servicebar .shell{justify-content:center;gap:18px}.header-servicebar span:nth-child(3){display:none}.header-main{height:74px}.brand{flex-basis:185px}.brand img{width:185px}.header-phone{display:none}.header-cta{display:none}
  .v21-hero-grid{padding:44px 0 48px;gap:30px}.v21-hero .hero-copy h1{font-size:clamp(2.7rem,13vw,4rem)}.v21-hero .hero-copy>p{font-size:1rem}.v21-hero .hero-actions{display:grid}.v21-hero .hero-actions .btn{width:100%}.v21-hero .hero-proof{grid-template-columns:1fr}.v21-hero-card{padding:9px;border-radius:20px;transform:none}.v21-compare-head{padding:8px 8px 12px}.v21-compare-head strong{font-size:.86rem}.v21-compare-head i{width:36px;height:36px}.v21-hero .compare-handle,.v21-result-compare .compare-handle{width:48px;height:48px}.v21-compare-note{font-size:.7rem}
  .v21-trust .trust-grid{grid-template-columns:1fr}.v21-trust .trust-grid article{min-height:96px;border-right:0!important;border-bottom:1px solid #e2e9e6!important;padding:18px 14px}.v21-trust .trust-grid article:last-child{border-bottom:0!important}
  .v21-problems,.scan-section.v21-scan,.services-section.v21-services,.v21-result,.v21-expect,.home-seo.v21-seo{padding:72px 0}.v21-problem-grid{grid-template-columns:1fr}.v21-problem-card{display:grid;grid-template-columns:122px 1fr}.problem-thumb{height:100%}.problem-copy{min-height:190px;padding:17px}.problem-copy small{font-size:.78rem}
  .v21-scan .scan-visual{padding:9px}.v21-scan .scan-thumbs{grid-template-columns:repeat(5,105px);overflow-x:auto;padding-bottom:4px}.v21-scan .scan-thumbs button{min-height:58px}.v21-scan .scan-uploadbar{align-items:flex-start}.v21-scan .scan-panel{padding:21px 16px 18px}.v21-scan .scan-step-head h3{font-size:1.42rem}.v21-scan .scan-choice-grid,.v21-scan .scan-property-grid{grid-template-columns:1fr 1fr}
  .v21-service-grid{grid-template-columns:1fr}.v21-service-card{grid-template-columns:125px 1fr;min-height:225px}.v21-service-card>div{padding:21px 18px}.v21-service-card h3{font-size:1.14rem}.v21-service-card p{font-size:.79rem}.v21-result-grid{gap:34px}.v21-result-copy h2,.v21-expect h2{font-size:2.35rem}.v21-expect-photo{min-height:390px}.v21-check-list li{font-size:.82rem}
  .chat-launcher{right:13px;bottom:76px;padding:8px}.chat-launcher>span:nth-child(2){display:none}.chat-launcher-icon{width:46px;height:46px}.chat-widget.coach-widget{right:8px;bottom:76px;width:calc(100vw - 16px);height:calc(100dvh - 90px);max-height:none;border-radius:20px}.coach-widget .chat-head{min-height:72px}.chat-result-card{margin-left:0}.coach-widget .chat-options{max-height:245px}.mobile-sticky{z-index:115}
}
@media(max-width:460px){
  .v21-problem-card{grid-template-columns:104px 1fr}.problem-copy{min-height:176px}.v21-scan .scan-choice-grid,.v21-scan .scan-property-grid{grid-template-columns:1fr}.v21-service-card{grid-template-columns:1fr}.v21-service-card .service-image{height:180px}.v21-service-card>div{min-height:210px}.v21-hero .hero-compare,.v21-result-compare{aspect-ratio:1.15/1}.chat-trust{font-size:.61rem}.chat-brand small{display:none}
}

/* V21.1 — mobiele GevelCoach blijft duidelijk zichtbaar boven de actiebar */
@media(max-width:620px){
  .chat-launcher{right:12px;bottom:78px;background:#fff;border:2px solid #d84c1b;border-radius:18px;box-shadow:0 16px 45px rgba(7,43,32,.28);padding:5px;z-index:118}
  .chat-launcher{width:auto!important;height:auto!important}.chat-launcher-icon{display:grid!important;width:50px;height:50px;border-radius:13px;background:#fff;padding:4px}
  .chat-launcher>i{right:-2px;top:-2px;width:14px;height:14px;border-color:#fff}
  .chat-widget.coach-widget{z-index:120}
}

/* === assets/css/v24.css === */
/* Gevelwerken Limburg — Final responsive UI 24.0
   Last layer wins over the historical stylesheet bundle. */

:root{
  --gwl-green:#123d31;
  --gwl-green-dark:#082a22;
  --gwl-green-soft:#edf4f0;
  --gwl-orange:#e75620;
  --gwl-orange-dark:#c94416;
  --gwl-cream:#f7f4ed;
  --gwl-ink:#123128;
  --gwl-muted:#5e7069;
  --gwl-line:#dbe4df;
  --gwl-shell:1380px;
}

html,body{width:100%;max-width:100%;overflow-x:clip}
body{font-size:17px;background:#fff;color:var(--gwl-ink)}
.shell{width:min(calc(100% - 56px),var(--gwl-shell));margin-inline:auto}
.home-page,.site-header,.site-footer,.final-cta,.chat-widget,.lead-modal{max-width:100%}
.eyebrow::before,.kicker::before{display:none!important}
.eyebrow,.kicker{padding:8px 12px;border-radius:999px;background:#fff0e8;color:#c94919;font-size:.69rem;line-height:1.1;letter-spacing:.12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.eyebrow-light,.kicker-light,.process-v22 .eyebrow{background:rgba(255,255,255,.1);color:#ffb08b}
.btn{border-radius:11px;min-height:54px;padding-inline:23px;font-weight:850}
.btn-primary{background:linear-gradient(135deg,#ee632c,#d94716);box-shadow:0 12px 27px rgba(218,72,21,.25)}
.btn-clean{background:#fff;color:var(--gwl-green);border:1px solid #cad8d2;box-shadow:0 8px 22px rgba(18,61,49,.07)}
.btn-clean:hover{border-color:#9bb7aa;box-shadow:0 15px 32px rgba(18,61,49,.12)}

/* Header */
.site-header{background:#fff;color:var(--gwl-ink);box-shadow:0 1px 0 rgba(12,51,40,.12);position:relative}
.header-servicebar{height:32px;background:#0b3a2f;color:#fff;border:0}
.header-servicebar .shell{justify-content:space-between;gap:24px}
.header-servicebar span{font-size:.67rem;font-weight:800;color:#f4f8f6}
.header-servicebar svg{color:#83c99b}
.header-main{height:86px;gap:24px}
.brand{flex:0 0 248px;min-width:0}
.brand img{width:248px;height:auto}
.desktop-nav{gap:23px;margin-left:auto}
.desktop-nav>a,.nav-dropdown>button{color:#183c31;padding:31px 0;font-size:.78rem;font-weight:800}
.desktop-nav>a:hover,.nav-dropdown>button:hover{color:var(--gwl-orange)}
.dropdown-panel{top:73px}
.header-actions{margin-left:0;gap:15px}
.header-phone{color:#173a30;gap:9px}
.header-phone svg{color:var(--gwl-orange)}
.header-phone strong{font-size:.93rem}
.header-phone small{color:#74837d}
.header-cta{height:50px;color:#fff;background:linear-gradient(135deg,#eb6029,#d84817);border-radius:10px;padding-inline:19px;box-shadow:0 10px 22px rgba(218,72,21,.21);font-size:.73rem}
.menu-toggle{color:#143d31}

/* Hero: deliberately true half image / half copy */
.hero-v22{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:700px;background:var(--gwl-cream);overflow:hidden;border-bottom:1px solid #e4e7e3}
.hero-v22-copy{display:flex;align-items:center;justify-content:flex-start;padding:70px 58px 72px max(28px,calc((100vw - var(--gwl-shell))/2));min-width:0}
.hero-v22-copy-inner{width:100%;max-width:655px;padding:0!important;margin:0!important}
.hero-v22 h1{font-size:clamp(3.25rem,4.15vw,4.75rem);line-height:1.015;letter-spacing:-.052em;margin:18px 0 22px;max-width:650px;color:#11382d;text-wrap:balance}
.hero-v22-intro{max-width:600px;font-size:1.08rem;line-height:1.7;color:#4d635b}
.hero-v22 .hero-actions{margin-top:29px;gap:12px}
.hero-v22 .btn-lg{min-height:60px}
.hero-v22-proof{display:flex;flex-wrap:wrap;list-style:none;gap:10px 18px;margin-top:24px}
.hero-v22-proof li{display:flex;align-items:center;gap:7px;font-size:.77rem;font-weight:730;color:#35584d}
.hero-v22-proof svg{color:#1b8a5d}
.hero-v22-contact{display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:27px;padding-top:22px;border-top:1px solid #d8ddd8}
.hero-v22-contact-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:#e7f0eb;color:#164f3c}
.hero-v22-contact small{display:block;color:#7a8982;font-size:.65rem}
.hero-v22-contact strong{display:block;font-size:.76rem;color:#17362c;margin-top:1px}
.hero-v22-contact>a{color:var(--gwl-orange);font-weight:900;font-size:.83rem;white-space:nowrap}
.hero-v22-media{position:relative;min-width:0;min-height:700px;background:#d6ded9;overflow:hidden}
.hero-v22-compare{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:#dbe3df}
.hero-v22-compare .compare-before,.hero-v22-compare .compare-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-v22-compare .compare-after img{max-width:none;right:0;left:auto}
.hero-v22-compare .compare-after{position:absolute;inset:0 0 0 auto;width:52%;overflow:hidden}
.hero-v22-compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:8}
.hero-v22 .compare-line{position:absolute;top:0;bottom:0;left:48%;width:2px;background:rgba(255,255,255,.96);box-shadow:0 0 0 1px rgba(4,47,37,.13);z-index:6;pointer-events:none}
.hero-v22 .compare-handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:#17483a;box-shadow:0 12px 30px rgba(3,34,26,.22)}
.hero-v22 .compare-handle b{width:1px;height:16px;background:#b4c4bc;margin:0 1px}
.compare-label{position:absolute;top:24px;z-index:7;padding:9px 13px;border-radius:999px;background:rgba(9,54,43,.91);color:#fff;font-size:.68rem;font-weight:900;backdrop-filter:blur(8px)}
.compare-label.before{left:24px}.compare-label.after{right:100px}
.hero-v22-result-card{position:absolute;left:28px;bottom:27px;z-index:7;width:min(430px,calc(100% - 56px));display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:center;padding:17px 19px;border:1px solid rgba(255,255,255,.7);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 22px 48px rgba(6,41,31,.2);backdrop-filter:blur(10px)}
.hero-v22-result-card>span{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#143f33;color:#fff}
.hero-v22-result-card small{display:block;color:var(--gwl-orange);font-size:.62rem;font-weight:900;letter-spacing:.08em}
.hero-v22-result-card strong{display:block;margin-top:2px;font-size:.9rem;color:#173b30}
.hero-v22-result-card p{font-size:.71rem;line-height:1.45;color:#6b7b74;margin-top:2px}
.hero-v22-badge{position:absolute;right:25px;top:25px;z-index:7;width:94px;height:94px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(145deg,#ee632c,#d94917);box-shadow:0 18px 40px rgba(185,59,17,.3);transform:rotate(4deg)}
.hero-v22-badge strong{font-size:1rem;line-height:1}.hero-v22-badge span{font-size:.56rem;line-height:1.2;margin-top:4px;width:64px}

/* Trust strip */
.trust-v22{background:#fff;border-bottom:1px solid #e5ebe8}
.trust-v22-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-v22 article{min-width:0;min-height:112px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;padding:23px 28px;border-right:1px solid #e5ebe8}
.trust-v22 article:last-child{border-right:0}
.trust-v22 article>span{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#eef4f1;color:#18533f}
.trust-v22 strong{display:block;font-size:.84rem;color:#17392f}.trust-v22 p{font-size:.7rem;line-height:1.5;color:#7a8982;margin-top:3px}

/* Direct-answer / GEO block */
.answers-v24{padding:92px 0 100px;background:#fff}
.answers-v24-head{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:64px;align-items:end;margin-bottom:38px}
.answers-v24-head .eyebrow{grid-column:1/-1;width:max-content}
.answers-v24-head h2{font-size:clamp(2.25rem,3.15vw,3.55rem);max-width:700px;color:#12382d}
.answers-v24-head>p{max-width:610px;font-size:1rem;line-height:1.72}
.answers-v24-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.answers-v24-grid article{position:relative;min-height:278px;display:flex;flex-direction:column;padding:27px;border:1px solid var(--gwl-line);border-radius:20px;background:linear-gradient(150deg,#fff,#f8faf8);box-shadow:0 11px 30px rgba(10,54,42,.055)}
.answers-v24-grid article::after{content:"";position:absolute;right:20px;top:20px;width:50px;height:50px;border-radius:50%;background:radial-gradient(circle,#eff5f1 0 45%,transparent 47%)}
.answers-v24-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#eaf2ed;color:#16503d;position:relative;z-index:1}
.answers-v24-grid h3{font-size:1.25rem;margin:22px 0 11px;color:#15392f}
.answers-v24-grid p{font-size:.84rem;line-height:1.65;color:#687a72}
.answers-v24-grid a{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:22px;color:var(--gwl-orange);font-size:.78rem;font-weight:900}

/* Services */
.services-v22{padding:104px 0 112px;background:#f7f5ef}
.section-heading-left{text-align:left;margin-left:0;max-width:820px}
.services-v22-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.service-v22-card{min-width:0;overflow:hidden;border:1px solid #dce4df;border-radius:20px;background:#fff;box-shadow:0 13px 35px rgba(11,51,40,.07);transition:transform .2s ease,box-shadow .2s ease}
.service-v22-card:hover{transform:translateY(-5px);box-shadow:0 24px 52px rgba(11,51,40,.12)}
.service-v22-image{position:relative;display:block;height:245px;overflow:hidden;background:#dce5e0}
.service-v22-image::after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(5,37,29,.2))}
.service-v22-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.service-v22-card:hover img{transform:scale(1.035)}
.service-v22-image>span{position:absolute;z-index:2;left:16px;top:16px;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#fff;color:#173f33;font-size:.69rem;font-weight:900;box-shadow:0 8px 22px rgba(4,37,28,.16)}
.service-v22-body{display:flex;flex-direction:column;min-height:240px;padding:23px}
.service-v22-body h3{font-size:1.21rem;color:#173b30}
.service-v22-body p{font-size:.8rem;line-height:1.62;margin-top:10px;color:#687a72}
.service-v22-body>a{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:20px;color:var(--gwl-orange);font-size:.75rem;font-weight:900}

/* Showcase */
.result-v22{padding:112px 0;background:#fff}
.result-v22-grid{display:grid;grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);gap:68px;align-items:center}
.result-v22-copy h2{font-size:clamp(2.5rem,3.5vw,4rem);margin:16px 0 20px;color:#13382d}
.result-v22-copy>p{font-size:1rem;line-height:1.75}
.result-v22-copy ul{list-style:none;display:grid;gap:11px;margin:24px 0 27px}
.result-v22-copy li{display:flex;align-items:flex-start;gap:9px;font-size:.82rem;color:#435e54}.result-v22-copy li svg{color:#1b8a5d;margin-top:3px;flex:0 0 auto}
.result-v22-visual{position:relative;min-width:0;padding-bottom:38px}
.result-v22-compare{position:relative;height:560px;overflow:hidden;border-radius:24px;background:#d8e1dc;box-shadow:0 30px 70px rgba(7,43,33,.18)}
.result-v22-compare .compare-before,.result-v22-compare .compare-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.result-v22-compare .compare-after img{max-width:none;right:0;left:auto}
.result-v22-compare .compare-after{position:absolute;inset:0 0 0 auto;width:49%;overflow:hidden}
.result-v22-compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:6}
.result-v22-compare .compare-line{position:absolute;left:51%;top:0;bottom:0;width:2px;background:#fff;z-index:5}
.result-v22-compare .compare-handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:#17483a;box-shadow:0 10px 28px rgba(6,38,29,.2)}
.result-v22-compare .compare-handle b{width:1px;height:15px;background:#b5c3bd}
.result-v22-caption{position:absolute;right:24px;bottom:0;width:min(420px,calc(100% - 48px));display:flex;gap:13px;align-items:center;padding:16px 18px;border-radius:15px;background:#fff;border:1px solid #dbe4df;box-shadow:0 18px 44px rgba(9,46,36,.13)}
.result-v22-caption>span{width:42px;height:42px;border-radius:12px;background:#e9f1ed;color:#154e3b;display:grid;place-items:center;flex:0 0 auto}
.result-v22-caption p{font-size:.73rem;line-height:1.45}.result-v22-caption strong{color:#183a30}

/* Problems */
.problems-v22{padding:105px 0 112px;background:#f9faf8}
.problems-v22-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.problem-v22-card{min-width:0;overflow:hidden;border:1px solid #dde5e1;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(10,48,38,.055)}
.problem-v22-image{display:block;height:190px;overflow:hidden;background:#dbe4df}.problem-v22-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.problem-v22-card:hover img{transform:scale(1.035)}
.problem-v22-body{display:flex;flex-direction:column;min-height:218px;padding:21px}
.problem-v22-body small{font-size:.58rem;letter-spacing:.1em;font-weight:900;color:var(--gwl-orange)}
.problem-v22-body>strong{font-size:1.06rem;margin:5px 0 8px;color:#17392f}
.problem-v22-body p{font-size:.75rem;line-height:1.56;color:#71817a}
.problem-v22-body b{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:15px;color:#154b3a;font-size:.72rem}

/* Interactive scan */
.scan-v22{padding:110px 0;background:#eaf1ed}
.scan-v22 .section-heading{max-width:850px}
.scan-v22 .scan-shell{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(410px,.88fr);gap:13px;padding:13px;background:#fff;border:1px solid #d5e0da;border-radius:27px;box-shadow:0 28px 72px rgba(8,48,37,.15)}
.scan-v22 .scan-visual{min-width:0;padding:10px;border-radius:19px;background:#f3f6f4}
.scan-v22 .scan-compare{height:470px;border-radius:16px;overflow:hidden}
.scan-v22 .scan-compare>img,.scan-v22 .scan-clean img{width:100%;height:100%;object-fit:cover}
.scan-v22 .scan-panel{border-radius:19px;padding:30px 28px 20px;background:#fff;min-width:0}
.scan-v22 .scan-next{background:linear-gradient(135deg,#ed622b,#d84917)}
.scan-v22 .scan-choice-grid button.active,.scan-v22 .scan-property-grid button.active{border-color:#174a39;background:#edf4f0;color:#174a39}
.scan-v22 .scan-thumbs button.active{background:#174638;color:#fff;border-color:#174638}
.scan-v22 .scan-uploadbar{border-radius:12px}

/* Process, quality, regional SEO */
.process-v22{padding:105px 0;background:#10392e;color:#fff;overflow:hidden}
.process-v22::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-210px;top:-250px;border:100px solid rgba(255,255,255,.025)}
.process-v22 h2{color:#fff}.process-v22 .section-heading p{color:#c9dbd3}
.process-v22-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative;z-index:1}
.process-v22-grid article{min-height:245px;padding:27px 23px;border:1px solid rgba(255,255,255,.13);border-radius:17px;background:rgba(255,255,255,.035)}
.process-v22-grid i{width:46px;height:46px;border-radius:13px;background:var(--gwl-orange);display:grid;place-items:center;color:#fff;font-style:normal}
.process-v22-grid h3{color:#fff;font-size:1.03rem;margin:23px 0 9px}.process-v22-grid p{font-size:.77rem;line-height:1.55;color:#cbdad4}
.process-v22-number{color:rgba(255,255,255,.14)!important}
.quality-v22{padding:110px 0;background:#fff}
.quality-v22-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:70px;align-items:center}
.quality-v22-intro h2{font-size:clamp(2.45rem,3.4vw,3.9rem);margin:15px 0 19px}.quality-v22-intro p{font-size:.98rem;line-height:1.73;margin-bottom:26px}
.quality-v22-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}.quality-v22-list article{display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:center;min-height:118px;padding:20px;border:1px solid #dce5e0;border-radius:16px;background:#fafbf9}.quality-v22-list article>span{width:48px;height:48px;border-radius:13px;background:#e8f1ec;color:#174a38;display:grid;place-items:center}.quality-v22-list small{display:block;font-size:.58rem;color:var(--gwl-orange);font-weight:900}.quality-v22-list strong{display:block;font-size:.82rem;line-height:1.42;margin-top:3px}
.seo-v22{padding:106px 0;background:var(--gwl-cream)}
.seo-v22-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:72px;align-items:start}.seo-v22 h2{margin:15px 0 20px}.seo-v22 article p{font-size:.9rem;line-height:1.76;margin-bottom:14px}.seo-v22 aside{padding:28px;border-radius:19px;background:#fff;border:1px solid #dedfd9;box-shadow:0 15px 38px rgba(18,52,41,.07)}.seo-v22 aside>strong{display:block;font-size:1.18rem}.seo-v22 aside>p{font-size:.8rem;margin:7px 0 18px}.seo-v22-cities{display:grid;grid-template-columns:1fr 1fr;gap:9px}.seo-v22-cities a{padding:11px 12px;border-radius:9px;background:#f0f5f2;color:#174638;font-size:.75rem;font-weight:800}

/* Inner pages: one coherent premium system */
.inner-hero,.problem-hero,.local-hero,.guide-hero,.static-hero{background:linear-gradient(145deg,#f6f3ec,#fff);border-bottom:1px solid #e3e8e4}
.inner-hero{padding:78px 0 84px}.inner-hero-grid{gap:70px}
.inner-copy h1,.problem-hero h1,.local-hero h1,.guide-hero h1,.static-hero h1{font-size:clamp(2.75rem,4.15vw,4.6rem);line-height:1.02;letter-spacing:-.05em;margin:16px 0 20px;color:#12382d}
.inner-copy>p,.problem-hero p,.local-hero p{font-size:.98rem;line-height:1.73}
.inner-visual,.problem-photo,.local-photo,.article-cover{overflow:hidden;border-radius:24px;box-shadow:0 28px 70px rgba(8,45,35,.16);border:1px solid #d7e1dc;background:#dae3de}
.inner-visual img,.problem-photo img,.local-photo img,.article-cover img{width:100%;height:100%;object-fit:cover}
.visual-callout,.problem-photo span,.local-photo span{border-radius:13px;background:rgba(255,255,255,.94);color:#173b30;box-shadow:0 12px 32px rgba(6,43,32,.16)}
.breadcrumbs{background:#fff}
.content-grid{gap:65px}.main-content>h2,.content-section h2{color:#173a30}.main-content>p,.content-section p{font-size:.93rem;line-height:1.78}
.content-section{padding:35px 0;border-bottom:1px solid #e1e7e3}.content-index{color:var(--gwl-orange);font-weight:900}
.aside-card{border-radius:19px;border:1px solid #dce5e0;box-shadow:0 18px 45px rgba(9,49,38,.1)}
.process-light{background:#f2f6f3}.process-cards article{border-radius:17px;box-shadow:0 10px 28px rgba(9,47,37,.055)}
.faq-section{padding:100px 0}.faq-list{max-width:940px}.faq-item{border-color:#dce4df}.faq-item summary{font-size:.9rem}
.hub-card,.project-card{border-radius:19px;box-shadow:0 13px 34px rgba(9,48,37,.075)}
.project-card img{aspect-ratio:4/3;object-fit:cover}

/* Final CTA / footer / concierge */
.final-cta-v22{min-height:auto;padding:72px 0;background:linear-gradient(130deg,#103a2e,#082a22);color:#fff}
.final-cta-v22::after{display:none}.final-cta-v22 h2{color:#fff;max-width:750px}.final-cta-v22 ul{list-style:none;display:flex;flex-wrap:wrap;gap:11px 22px;margin-top:18px}.final-cta-v22 li{display:flex;align-items:center;gap:7px;font-size:.78rem;color:#dbe9e2}.final-cta-v22 li svg{color:#75d18d}
.site-footer{background:#062820}
.chat-launcher{right:18px;bottom:18px;background:#fff;color:#17382d;border:1px solid #d6e1dc;border-radius:17px;padding:9px 14px 9px 9px;box-shadow:0 18px 48px rgba(6,41,30,.24)}
.chat-launcher small{color:#6c7d75}.chat-launcher-icon{background:#f5f8f6}.chat-widget.coach-widget{border-radius:22px;background:#fff;border:1px solid #d8e2dd;box-shadow:0 34px 100px rgba(5,31,23,.3)}
.coach-widget .chat-head{background:#fff;color:#16382d;border-bottom:1px solid #e0e7e3}.chat-brand>img{background:#f4f7f5;border:1px solid #dfe8e3}.chat-brand small{color:#6f8078}.chat-head-actions button{background:#edf3ef;color:#173e31}.chat-trust{background:#f7f9f8}.coach-widget .chat-messages{background:#f4f7f5}.chat-message.user .chat-bubble{background:#173e31;border-color:#173e31}.chat-result-card{background:#173e31}.coach-widget .chat-options button.primary{background:var(--gwl-orange);border-color:var(--gwl-orange)}.coach-widget .chat-progress span{background:var(--gwl-orange)}

/* Laptop */
@media(max-width:1440px){
  :root{--gwl-shell:1220px}
  .shell{width:min(calc(100% - 40px),var(--gwl-shell))}
  .brand{flex-basis:225px}.brand img{width:225px}.desktop-nav{gap:17px}.desktop-nav>a,.nav-dropdown>button{font-size:.74rem}.header-phone{display:none}
  .hero-v22-copy{padding-left:max(22px,calc((100vw - var(--gwl-shell))/2));padding-right:44px}.hero-v22 h1{font-size:clamp(3rem,4.25vw,4.15rem)}
  .services-v22-grid{grid-template-columns:repeat(2,1fr)}.service-v22-image{height:290px}.service-v22-body{min-height:205px}
}

@media(max-width:1120px){
  .desktop-nav{display:none}.menu-toggle{display:block}.header-phone{display:flex}.header-main{height:82px}
  .hero-v22{grid-template-columns:1fr;min-height:0}
  .hero-v22-copy{padding:58px max(28px,calc((100vw - 900px)/2)) 48px}
  .hero-v22-copy-inner{max-width:820px}.hero-v22 h1{max-width:820px}.hero-v22-media{min-height:610px}
  .trust-v22-grid{grid-template-columns:1fr 1fr}.trust-v22 article:nth-child(2){border-right:0}.trust-v22 article:nth-child(-n+2){border-bottom:1px solid #e5ebe8}
  .answers-v24-head{grid-template-columns:1fr;gap:16px}.answers-v24-head .eyebrow{grid-column:auto}.answers-v24-grid{grid-template-columns:1fr 1fr}.answers-v24-grid article:last-child{grid-column:1/-1}
  .result-v22-grid,.quality-v22-grid,.seo-v22-grid{grid-template-columns:1fr}.result-v22-copy,.quality-v22-intro{max-width:800px}.result-v22-visual{max-width:950px}.problems-v22-grid{grid-template-columns:1fr 1fr}.scan-v22 .scan-shell{grid-template-columns:1fr}.scan-v22 .scan-panel{min-height:520px}.process-v22-grid{grid-template-columns:1fr 1fr}
  .inner-hero-grid,.problem-hero-grid,.local-hero-grid,.service-scan-grid{grid-template-columns:1fr}.inner-copy{max-width:820px}.inner-visual,.problem-photo,.local-photo{min-height:500px;max-width:900px}
}

@media(max-width:760px){
  body{font-size:16px;overflow-x:hidden}
  .shell{width:min(calc(100% - 28px),100%)}
  .header-servicebar{height:32px}.header-servicebar .shell{justify-content:center}.header-servicebar span:nth-child(n+2){display:none}
  .header-main{height:76px}.brand{flex-basis:194px;max-width:194px}.brand img{width:194px}.header-phone,.header-cta{display:none}.menu-toggle{margin-left:auto}
  .mobile-menu{max-width:100vw}
  .hero-v22{display:flex;flex-direction:column;background:#f7f4ed}
  .hero-v22-copy{padding:31px 14px 27px;width:100%}
  .hero-v22-copy-inner{max-width:none}
  .hero-v22 h1{font-size:clamp(2.45rem,11vw,3.2rem);line-height:1.015;margin:13px 0 15px;max-width:100%;letter-spacing:-.047em}
  .hero-v22-intro{font-size:.96rem;line-height:1.6}
  .hero-v22 .hero-actions{display:grid;margin-top:21px}.hero-v22 .hero-actions .btn{width:100%}.hero-v22 .btn-clean{display:none}
  .hero-v22-proof,.hero-v22-contact{display:none}
  .hero-v22-media{width:100%;min-height:455px}
  .hero-v22 .compare-label{top:17px}.compare-label.before{left:16px}.hero-v22 .compare-label.after{right:88px}
  .hero-v22-badge{width:78px;height:78px;right:12px;top:12px}.hero-v22-badge strong{font-size:.88rem}.hero-v22-badge span{font-size:.5rem;width:55px}
  .hero-v22-result-card{left:12px;bottom:12px;width:calc(100% - 24px);grid-template-columns:41px 1fr;padding:13px;border-radius:14px}.hero-v22-result-card>span{width:41px;height:41px}.hero-v22-result-card p{display:none}.hero-v22-result-card strong{font-size:.82rem}
  .hero-v22 .compare-handle{width:46px;height:46px}
  .trust-v22-grid{grid-template-columns:1fr}.trust-v22 article{min-height:91px;padding:16px 14px;border-right:0;border-bottom:1px solid #e5ebe8}.trust-v22 article:last-child{border-bottom:0}
  .answers-v24,.services-v22,.result-v22,.problems-v22,.scan-v22,.quality-v22,.seo-v22{padding:72px 0}
  .answers-v24-head{margin-bottom:27px}.answers-v24-head h2{font-size:2.35rem}.answers-v24-head>p{font-size:.92rem}.answers-v24-grid{grid-template-columns:1fr}.answers-v24-grid article,.answers-v24-grid article:last-child{grid-column:auto;min-height:245px;padding:22px}
  .services-v22-grid{grid-template-columns:1fr}.service-v22-image{height:235px}.service-v22-body{min-height:208px}
  .result-v22-grid{gap:32px}.result-v22-copy h2,.quality-v22-intro h2{font-size:2.35rem}.result-v22-compare{height:400px;border-radius:18px}.result-v22-caption{position:relative;right:auto;bottom:auto;margin:-18px 12px 0;width:calc(100% - 24px)}
  .problems-v22-grid{grid-template-columns:1fr}.problem-v22-card{display:grid;grid-template-columns:112px minmax(0,1fr)}.problem-v22-image{height:100%}.problem-v22-body{min-height:190px;padding:17px}
  .scan-v22 .scan-shell{padding:7px;border-radius:20px}.scan-v22 .scan-visual,.scan-v22 .scan-panel{border-radius:15px}.scan-v22 .scan-visual{padding:7px}.scan-v22 .scan-compare{height:330px}.scan-v22 .scan-panel{padding:23px 17px 17px;min-height:540px}.scan-v22 .scan-thumbs{max-width:100%;overflow-x:auto}.scan-v22 .scan-uploadbar{align-items:flex-start}
  .process-v22{padding:72px 0}.process-v22-grid{grid-template-columns:1fr}.process-v22-grid article{min-height:205px}.quality-v22-list{grid-template-columns:1fr}.seo-v22-grid{gap:32px}.seo-v22 aside{padding:22px}.seo-v22-cities{grid-template-columns:1fr 1fr}
  .inner-hero,.problem-hero,.local-hero,.guide-hero,.static-hero{padding:50px 0}.inner-copy h1,.problem-hero h1,.local-hero h1,.guide-hero h1,.static-hero h1{font-size:clamp(2.35rem,10.5vw,3.25rem)}.inner-visual,.problem-photo,.local-photo{min-height:330px;border-radius:18px}.content-grid{gap:36px}.content-aside{min-width:0}.article-shell{width:min(calc(100% - 28px),1120px)}
  .final-cta-v22{padding:58px 0}.final-cta-v22 ul{display:grid;gap:9px}
  .chat-launcher{right:11px;bottom:76px;padding:5px;border-radius:15px}.chat-launcher>span:nth-child(2){display:none}.chat-launcher-icon{width:52px;height:52px}.chat-widget.coach-widget{right:8px;bottom:74px;width:calc(100vw - 16px);height:calc(100dvh - 86px);border-radius:18px}
}

@media(max-width:430px){
  .hero-v22-media{min-height:420px}.hero-v22-result-card>span{display:none}.hero-v22-result-card{grid-template-columns:1fr}.problem-v22-card{grid-template-columns:100px minmax(0,1fr)}.problem-v22-body{min-height:182px;padding:15px}.seo-v22-cities{grid-template-columns:1fr}
}

/* Ultra-wide and overflow hardening */
.home-v22{background:var(--gwl-cream)}
.hero-v22{width:min(100%,1920px);margin-inline:auto}
.hero-v22-compare input,.result-v22-compare input,.scan-compare input[type=range]{inset:0!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;border:0!important}
.scan-thumbs{max-width:100%;min-width:0;contain:inline-size paint}
.nav-dropdown{contain:layout}
@media(max-width:760px){
  .scan-thumbs{display:flex!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;width:100%!important;max-width:100%!important;contain:strict;padding-bottom:4px}
  .scan-thumbs button{flex:0 0 105px!important;min-width:105px!important;width:105px!important}
}
@media(min-width:1921px){
  .hero-v22-copy{padding-left:72px;padding-right:72px}
}
.result-v22-compare{inset:auto!important;width:100%!important}

/* Keep the result explanation fully readable under the comparison */
.result-v22-visual{padding-bottom:0}
.result-v22-caption{position:relative;right:auto;bottom:auto;z-index:7;margin:-22px 24px 0 auto;width:min(440px,calc(100% - 48px))}
@media(max-width:760px){
  .result-v22-caption{margin:-16px 10px 0;width:calc(100% - 20px)}
}

/* === assets/css/v27.css === */

/* Gevelwerken Limburg V27 — visual system and personal branding */
:root{--v27-ink:#0e3b2f;--v27-deep:#062c23;--v27-orange:#ef5521;--v27-soft:#f7f5ef;--v27-line:#dbe4df;--v27-shadow:0 24px 65px rgba(7,43,33,.14)}
.hero-v22{min-height:760px}.hero-v22-copy{background:linear-gradient(145deg,#faf8f3 0%,#fff 74%)}
.hero-v22-media{min-height:760px}.hero-v22-compare{height:100%;min-height:760px;border-radius:0 0 0 30px}.hero-v22-compare img{object-position:center 48%}
.hero-v22-copy-inner{max-width:700px}.hero-v22 h1{max-width:680px;font-size:clamp(3.35rem,4.4vw,5.3rem);letter-spacing:-.056em;line-height:.99}.hero-v22-intro{font-size:1.05rem;line-height:1.75;max-width:650px}
.hero-v22-result-card{max-width:470px;left:32px;bottom:28px}.hero-v22-badge{width:104px;height:104px;top:26px;right:26px}
.hero-compare .compare-label{letter-spacing:.07em}.hero-compare .compare-after{box-shadow:-1px 0 rgba(255,255,255,.65)}
.v27-brand-strip{padding:94px 0;background:linear-gradient(145deg,#f4f1e9,#fff);border-top:1px solid #e5e8e4;border-bottom:1px solid #e5e8e4}
.v27-brand-strip-grid{display:grid;grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr);gap:76px;align-items:center}
.v27-brand-strip figure{position:relative;margin:0;min-height:560px;border-radius:28px;overflow:hidden;background:#d8e0db;box-shadow:var(--v27-shadow)}
.v27-brand-strip figure>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 42%}
.v27-brand-strip figure>span{position:absolute;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center;padding:13px 15px;border-radius:15px;background:rgba(255,255,255,.95);box-shadow:0 14px 34px rgba(5,35,27,.19);backdrop-filter:blur(12px)}
.v27-brand-strip figure>span img{grid-row:1/3;width:30px;height:auto;justify-self:center}.v27-brand-strip figure>span b{font-size:.8rem}.v27-brand-strip figure>span small{font-size:.65rem;color:#72817a}
.v27-brand-strip h2{font-size:clamp(2.6rem,3.75vw,4.35rem);line-height:1.04;letter-spacing:-.048em;margin:16px 0 20px;color:var(--v27-ink)}
.v27-brand-strip p{font-size:1rem;line-height:1.78;max-width:680px;color:#586d65}.v27-brand-strip ul{display:flex;flex-wrap:wrap;gap:11px 20px;padding:0;margin:25px 0;list-style:none}.v27-brand-strip li{display:flex;align-items:center;gap:7px;font-weight:800;font-size:.76rem;color:#31594d}.v27-brand-strip li svg{color:#16825a}
.v27-contact-card{display:grid;grid-template-columns:86px 1fr;gap:14px;margin-top:18px;padding:12px;border:1px solid #dbe4df;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(8,45,35,.08)}
.v27-contact-card>img{width:86px;height:108px;border-radius:13px;object-fit:cover;object-position:center 30%}.v27-contact-card small{display:block;font-size:.55rem;letter-spacing:.08em;font-weight:900;color:var(--v27-orange)}.v27-contact-card strong{display:block;font-size:.82rem;line-height:1.3;margin:4px 0;color:var(--v27-ink)}.v27-contact-card p{font-size:.68rem;line-height:1.45;margin:0 0 6px}.v27-contact-card a{font-size:.68rem;font-weight:900;color:var(--v27-orange)}
.v27-service-visual{min-height:590px}.v27-service-visual img{object-position:center center}
.v27-hub-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column}.v27-hub-image{height:220px;display:block;position:relative;overflow:hidden;background:#dbe4df}.v27-hub-image>img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.v27-hub-card:hover .v27-hub-image>img{transform:scale(1.04)}.v27-hub-image .icon-badge{position:absolute;left:17px;bottom:15px;margin:0;box-shadow:0 12px 30px rgba(7,43,33,.18)}.v27-hub-card>div{display:flex;flex-direction:column;flex:1;padding:22px 23px 25px}.v27-hub-card>div>a{margin-top:auto;padding-top:16px}
.v27-about-hero{padding:76px 0 90px;background:linear-gradient(145deg,#f6f3eb,#fff);border-bottom:1px solid #e1e7e3}.v27-about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);gap:84px;align-items:center}.v27-about-grid h1{font-size:clamp(3.2rem,4.6vw,5rem);line-height:1;letter-spacing:-.055em;margin:17px 0 22px;color:var(--v27-ink)}.v27-about-grid p{font-size:.98rem;line-height:1.76;max-width:690px}.v27-about-collage{position:relative;height:610px}.v27-about-collage .main{position:absolute;right:0;top:0;width:82%;height:86%;object-fit:cover;object-position:center 35%;border-radius:28px;box-shadow:var(--v27-shadow)}.v27-about-collage .small{position:absolute;left:0;bottom:0;width:40%;height:46%;object-fit:cover;object-position:center 35%;border:9px solid #fff;border-radius:22px;box-shadow:0 18px 45px rgba(7,42,32,.18)}.v27-about-collage>span{position:absolute;right:20px;bottom:20px;display:grid;grid-template-columns:42px 1fr;column-gap:11px;align-items:center;padding:12px 15px;border-radius:14px;background:#fff;box-shadow:0 14px 34px rgba(6,38,29,.18)}.v27-about-collage>span img{grid-row:1/3;width:29px;height:auto}.v27-about-collage>span b{font-size:.76rem}.v27-about-collage>span small{font-size:.62rem;color:#72817a}
.brand-values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.brand-values article{padding:30px;border:1px solid #dce5e0;border-radius:21px;background:#fff;box-shadow:0 12px 34px rgba(8,44,34,.06)}.brand-values article>span{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:#eaf2ed;color:#174c3a}.brand-values h2{font-size:1.23rem;margin:18px 0 8px}.brand-values p{font-size:.8rem;line-height:1.65}
.v27-about-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);gap:82px;align-items:center}.v27-about-story article>h2{font-size:clamp(2.55rem,3.55vw,4rem);line-height:1.04;letter-spacing:-.045em;margin:16px 0 20px}.v27-about-story article>p{font-size:.96rem;line-height:1.8}.v27-about-story blockquote{margin:28px 0 0;padding:24px;border-left:4px solid var(--v27-orange);border-radius:0 16px 16px 0;background:#fff}.v27-about-story blockquote strong{font-size:1.05rem;line-height:1.5}.v27-about-story blockquote span{display:block;margin-top:8px;font-size:.72rem;color:#718079}.v27-about-stack{position:relative;height:610px}.v27-about-stack img:first-child{position:absolute;left:0;top:0;width:64%;height:88%;object-fit:cover;object-position:center 30%;border-radius:25px;box-shadow:var(--v27-shadow)}.v27-about-stack img:last-child{position:absolute;right:0;bottom:0;width:54%;height:49%;object-fit:cover;border:8px solid #f7f5ef;border-radius:22px;box-shadow:0 18px 42px rgba(7,42,32,.18)}
.v27-contact-hero{padding:70px 0 82px;background:linear-gradient(145deg,#f7f4ed,#fff);border-bottom:1px solid #e1e7e3}.v27-contact-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.7fr);gap:74px;align-items:center}.v27-contact-hero h1{font-size:clamp(3.1rem,4.5vw,4.9rem);line-height:1;letter-spacing:-.052em;margin:16px 0 20px;color:var(--v27-ink)}.v27-contact-hero figure{position:relative;margin:0;height:480px;border-radius:26px;overflow:hidden;box-shadow:var(--v27-shadow)}.v27-contact-hero figure>img{width:100%;height:100%;object-fit:cover;object-position:center 31%}.v27-contact-hero figcaption{position:absolute;left:16px;right:16px;bottom:16px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px)}.v27-contact-hero figcaption small{display:block;color:var(--v27-orange);font-size:.58rem;font-weight:900;letter-spacing:.08em}.v27-contact-hero figcaption strong{font-size:.84rem;color:var(--v27-ink)}
.v27-check-intro{display:grid;grid-template-columns:86px 1fr;gap:16px;align-items:center;max-width:760px;margin:0 auto 22px;padding:14px 16px;border:1px solid #d9e3de;border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(7,42,32,.08)}.v27-check-intro img{width:86px;height:86px;object-fit:cover;object-position:center 30%;border-radius:14px}.v27-check-intro small{display:block;color:var(--v27-orange);font-size:.58rem;font-weight:900;letter-spacing:.08em}.v27-check-intro strong{display:block;font-size:.92rem;margin:3px 0;color:var(--v27-ink)}.v27-check-intro p{font-size:.72rem;line-height:1.48;margin:0}
.v27-project-proof{padding-bottom:12px}.v27-project-proof .result-v22-visual{min-height:520px}.projects-grid{grid-template-columns:repeat(4,1fr)}.project-card{min-height:350px}.project-card img{height:100%;object-fit:cover}
.problem-photo img,.local-photo img,.article-cover img,.inner-visual img{object-fit:cover}.problem-photo{min-height:520px}.local-photo{min-height:530px}
/* remove the AI-looking dash rhythm in body copy */
.main-content p,.article-body p,.local-hero p,.inner-copy p,.v27-brand-strip p{hyphens:none}
@media(max-width:1200px){.hero-v22 h1{font-size:clamp(3rem,4.5vw,4.5rem)}.v27-brand-strip-grid,.v27-about-grid,.v27-about-story{gap:50px}.projects-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.hero-v22{min-height:0}.hero-v22-media{min-height:0}.hero-v22-compare{min-height:0;height:auto;aspect-ratio:1.08/1;border-radius:0}.v27-brand-strip-grid,.v27-about-grid,.v27-about-story,.v27-contact-hero-grid{grid-template-columns:1fr}.v27-brand-strip figure{min-height:0;aspect-ratio:1/1.02}.v27-about-collage{height:540px}.v27-about-stack{height:550px}.brand-values{grid-template-columns:1fr}.projects-grid{grid-template-columns:repeat(2,1fr)}.v27-contact-hero figure{height:420px}}
@media(max-width:560px){.hero-v22 h1{font-size:2.8rem}.hero-v22-copy-inner{padding-top:44px;padding-bottom:34px}.hero-v22-compare{aspect-ratio:.92/1}.hero-v22-result-card{left:10px;right:10px;bottom:10px;max-width:none}.v27-brand-strip{padding:64px 0}.v27-brand-strip-grid{gap:30px}.v27-brand-strip figure{aspect-ratio:.9/1}.v27-brand-strip h2{font-size:2.25rem}.v27-brand-strip ul{display:grid}.v27-about-hero{padding:52px 0 62px}.v27-about-grid h1{font-size:2.8rem}.v27-about-collage{height:430px}.v27-about-collage .main{width:88%;height:82%}.v27-about-collage .small{width:43%;height:42%}.v27-about-stack{height:450px}.v27-contact-hero{padding:50px 0 58px}.v27-contact-hero h1{font-size:2.75rem}.v27-contact-hero figure{height:350px}.projects-grid{grid-template-columns:1fr}.v27-hub-image{height:205px}.v27-check-intro{grid-template-columns:66px 1fr}.v27-check-intro img{width:66px;height:66px}.v27-check-intro p{display:none}.v27-contact-card{grid-template-columns:68px 1fr}.v27-contact-card>img{width:68px;height:90px}}

/* V28 final branding pass */
.v28-service-proof{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:start;margin-top:18px;padding:18px;border:1px solid #dbe4df;border-radius:18px;background:linear-gradient(145deg,#fff,#f7faf8);box-shadow:0 12px 34px rgba(8,44,34,.07)}
.v28-service-proof>span{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#edf4f0}.v28-service-proof>span img{width:29px;height:auto}
.v28-service-proof small{display:block;font-size:.56rem;letter-spacing:.09em;font-weight:900;color:var(--v27-orange)}.v28-service-proof strong{display:block;margin:4px 0 7px;font-size:.82rem;line-height:1.35;color:var(--v27-ink)}.v28-service-proof p{margin:0 0 8px;font-size:.69rem;line-height:1.5}.v28-service-proof a{font-size:.69rem;font-weight:900;color:var(--v27-orange)}
.hero-v22-compare img,.result-v22-compare img,.scan-compare img{filter:none!important}
.problem-v22-image img,.v27-hub-image img,.service-v22-image img,.project-card img{image-rendering:auto}
@media(max-width:720px){.v28-service-proof{grid-template-columns:48px 1fr;padding:15px}.v28-service-proof>span{width:46px;height:46px}}

/* === assets/css/v28.css === */
/* Gevelwerken Limburg V28 final polish */
:root{--v28-ink:#103a2f;--v28-deep:#062d24;--v28-orange:#ed5525;--v28-cream:#f7f4ed;--v28-line:#dfe6e1;--v28-shadow:0 24px 70px rgba(8,48,37,.14)}
.hero-v22{min-height:720px;display:grid;grid-template-columns:minmax(520px,46%) minmax(0,54%);overflow:hidden;background:#fff}.hero-v22-copy{display:flex;align-items:center;background:linear-gradient(145deg,#fbfaf7 0%,#fff 78%);position:relative;z-index:2}.hero-v22-copy-inner{width:min(690px,calc(100% - 64px));margin-left:auto;margin-right:54px;padding:82px 0 72px}.hero-v22 h1{font-size:clamp(3.2rem,4.35vw,5.15rem);line-height:.98;letter-spacing:-.058em;max-width:680px}.hero-v22-media,.hero-v22-compare{min-height:720px;height:100%}.hero-v22-compare{border-radius:0 0 0 34px;box-shadow:var(--v28-shadow);overflow:hidden}.hero-v22-compare img{object-fit:cover;object-position:center 52%}.hero-v22-result-card{left:28px;bottom:24px;max-width:450px;border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}.hero-v22-badge{right:24px;top:24px}.service-v22-image img,.problem-card img,.project-card img,.local-hero img,.article-cover img{transition:transform .5s ease,filter .5s ease}.service-v22-card:hover img,.problem-card:hover img,.project-card:hover img{transform:scale(1.025)}.v27-brand-strip figure,.v27-about-collage,.v27-contact-hero figure{box-shadow:var(--v28-shadow)}.v27-brand-strip figure>img{object-position:center 48%}.v27-about-collage .main{object-position:center 38%}.v27-contact-hero figure>img{object-position:center 36%}.result-v22-compare,.scan-compare{isolation:isolate}.result-v22-compare img,.scan-compare img{object-fit:cover}.project-card img{aspect-ratio:4/3;object-fit:cover}.problem-card img{aspect-ratio:1.35/1;object-fit:cover}.service-v22-image{aspect-ratio:1.42/1}.v27-project-proof{background:linear-gradient(180deg,#f7f5ef,#fff)}
@media(max-width:1100px){.hero-v22{grid-template-columns:1fr}.hero-v22-copy-inner{width:min(760px,calc(100% - 48px));margin:auto;padding:64px 0 48px}.hero-v22-media,.hero-v22-compare{min-height:580px}.hero-v22-compare{border-radius:26px 26px 0 0;margin:0 20px;width:calc(100% - 40px)}}
@media(max-width:680px){.hero-v22-copy-inner{width:calc(100% - 32px);padding:38px 0 28px}.hero-v22 h1{font-size:clamp(2.65rem,13vw,4rem)}.hero-v22-media,.hero-v22-compare{min-height:430px}.hero-v22-compare{margin:0 12px;width:calc(100% - 24px);border-radius:20px}.hero-v22-result-card{left:22px;right:22px;bottom:16px;max-width:none}.hero-v22-badge{width:82px;height:82px;right:18px;top:18px}.v27-brand-strip{padding:64px 0}.v27-brand-strip figure{min-height:430px}}

/* === assets/css/v30.css === */
/* Gevelwerken Limburg V30 — real branding, responsive repair and visual polish */
:root{
  --v30-deep:#07372c;
  --v30-ink:#123e32;
  --v30-orange:#ef5a24;
  --v30-cream:#f7f3eb;
  --v30-soft:#eef4f0;
  --v30-line:#dce5df;
  --v30-radius:24px;
  --v30-shadow:0 24px 64px rgba(9,47,37,.14);
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{overflow-x:hidden;background:#fff;color:#213d34;padding-bottom:0}
img{max-width:100%;height:auto}
.shell{width:min(calc(100% - 40px),1240px)}
.section-heading h2,.result-v22-copy h2,.quality-v22-intro h2,.seo-v22-grid h2,.v27-brand-strip h2,.v27-about-story h2{max-width:820px;text-wrap:balance}
.eyebrow{line-height:1.25;white-space:normal}

/* Header */
.site-header{position:relative;z-index:1000;background:#fff}
.header-servicebar{background:var(--v30-deep)}
.header-main{min-height:88px;gap:22px}
.brand img{width:220px;height:auto;display:block}
.desktop-nav{gap:24px}
.desktop-nav>a,.desktop-nav button{font-size:.79rem}
.header-cta{border-radius:13px;box-shadow:0 10px 25px rgba(215,73,23,.19)}

/* Home hero: clean 50/50 split with a real interactive pair */
.hero-v22{grid-template-columns:minmax(500px,47%) minmax(0,53%);min-height:690px;background:#fff}
.hero-v22-copy{padding:0;background:linear-gradient(145deg,#fbfaf6 0%,#fff 82%)}
.hero-v22-copy-inner{width:min(650px,calc(100% - 76px));margin-left:auto;margin-right:54px;padding:74px 0 62px}
.hero-v22 h1{font-size:clamp(3.2rem,4.15vw,4.9rem);line-height:.985;letter-spacing:-.055em;margin:17px 0 21px;max-width:640px;text-wrap:balance}
.hero-v22-intro{font-size:1.03rem;line-height:1.7;max-width:610px}
.hero-v22-media,.hero-v22-compare{min-height:690px}
.hero-v22-compare{border-radius:0 0 0 30px;box-shadow:0 22px 60px rgba(8,45,35,.18)}
.hero-v22-compare .compare-before,.hero-v22-compare .compare-after img{object-fit:cover;object-position:center center}
.hero-v22-result-card{left:24px;bottom:24px;width:min(430px,calc(100% - 48px));border-radius:17px}
.hero-v22-badge{right:22px;top:22px;width:94px;height:94px}
.hero-v22-proof{margin-top:22px}
.hero-v22-contact{margin-top:23px}

/* Cards and media */
.service-v22-card,.problem-v22-card,.project-card,.answers-v24-grid article,.quality-v22-card,.process-cards article{border-color:var(--v30-line);box-shadow:0 14px 38px rgba(9,47,37,.07)}
.service-v22-image{aspect-ratio:1.45/1;height:auto;overflow:hidden;background:#dfe7e2}
.service-v22-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.service-v22-card:nth-child(1) .service-v22-image img{object-position:center 42%}
.service-v22-card:nth-child(2) .service-v22-image img{object-position:center 44%}
.service-v22-card:nth-child(4) .service-v22-image img{object-position:center 38%}
.service-v22-body{min-height:220px}
.result-v22-compare,.scan-compare{box-shadow:var(--v30-shadow)}
.result-v22-compare .compare-before,.result-v22-compare .compare-after img,.scan-compare .compare-before,.scan-compare .compare-after img{object-position:center center}
.problem-v22-image img,.problem-photo img,.local-photo img,.project-card img,.article-cover img{filter:none!important}

/* Personal brand blocks — only transformed/generated imagery */
.v27-brand-strip{padding:88px 0;background:linear-gradient(145deg,#f5f1e9,#fff)}
.v27-brand-strip-grid{grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr);gap:70px}
.v27-brand-strip figure{min-height:540px;border-radius:28px}
.v27-brand-strip figure>img{object-position:center 46%}
.v27-brand-strip figure>span{left:16px;right:16px;bottom:16px}
.v27-brand-strip h2{font-size:clamp(2.45rem,3.6vw,4.15rem)}
.v27-contact-card>img{object-position:center 38%}
.v30-person-proof{grid-template-columns:64px 1fr}
.v30-person-proof>span{width:60px;height:60px;overflow:hidden;border-radius:15px;padding:0;background:#dfe9e3}
.v30-person-proof>span img{width:100%;height:100%;object-fit:cover;object-position:center 34%}

/* Inner/service/problem/local pages */
.inner-hero,.problem-hero,.local-hero,.guide-hero,.static-hero{padding:68px 0 74px;background:linear-gradient(145deg,#f8f5ee,#fff)}
.inner-hero-grid,.problem-hero-grid,.local-hero-grid{grid-template-columns:minmax(0,1fr) minmax(430px,.92fr);gap:58px;align-items:center}
.inner-copy h1,.problem-hero h1,.local-hero h1,.guide-hero h1,.static-hero h1,.v27-contact-hero h1,.v27-about-grid h1{font-size:clamp(2.8rem,4vw,4.55rem);line-height:1.015;letter-spacing:-.05em;text-wrap:balance}
.inner-visual,.problem-photo,.local-photo{min-height:520px;border-radius:26px;overflow:hidden;box-shadow:var(--v30-shadow)}
.inner-visual img,.problem-photo img,.local-photo img{width:100%;height:100%;object-fit:cover}
.inner-visual img{object-position:center 45%}
.problem-photo img{object-position:center}
.local-photo img{object-position:center}
.visual-callout{max-width:390px}
.content-grid{gap:64px}
.main-content{min-width:0}
.main-content h2,.article-body h2{line-height:1.15;text-wrap:balance}
.content-section{scroll-margin-top:120px}
.service-scan-grid{align-items:center}
.service-scan .mini-wall{min-height:390px;border-radius:24px;overflow:hidden}
.service-scan .mini-wall img{width:100%;height:100%;object-fit:cover;object-position:center 47%}

/* About/contact/check */
.v27-about-hero,.v27-contact-hero{background:linear-gradient(145deg,#f7f3eb,#fff)}
.v27-about-grid,.v27-contact-hero-grid{gap:64px}
.v27-about-collage .main{object-position:center 42%}
.v27-about-collage .small{object-position:center 48%}
.v27-about-stack img:first-child{object-position:center 47%}
.v27-about-stack img:last-child{object-position:center 48%}
.v27-contact-hero figure>img{object-position:center 44%}
.v27-check-intro img{object-position:center 35%}

/* Forms */
.lead-machine{border-radius:24px;box-shadow:0 22px 65px rgba(7,43,33,.12)}
.form-choice,.field input,.field select,.field textarea,.upload-zone{border-radius:14px}
.form-nav{gap:12px}

/* Chat / mobile sticky spacing */
.chat-launcher{right:20px;bottom:20px}
.mobile-sticky{display:none}

/* Better reading rhythm */
.main-content p,.article-body p,.inner-copy p,.problem-hero p,.local-hero p,.v27-brand-strip p,.v27-about-story p{hyphens:none;orphans:3;widows:3}
.main-content p,.article-body p{max-width:74ch}

@media(max-width:1180px){
  .header-main{min-height:78px}.brand img{width:198px}.desktop-nav{gap:17px}.desktop-nav>a,.desktop-nav button{font-size:.72rem}.header-phone{display:none}
  .hero-v22{grid-template-columns:1fr;min-height:0}.hero-v22-copy-inner{width:min(820px,calc(100% - 48px));margin:auto;padding:58px 0 46px}.hero-v22 h1{max-width:760px}.hero-v22-media,.hero-v22-compare{min-height:560px}.hero-v22-compare{margin:0 22px;width:calc(100% - 44px);border-radius:26px 26px 0 0}
  .inner-hero-grid,.problem-hero-grid,.local-hero-grid,.v27-about-grid,.v27-about-story,.v27-contact-hero-grid{grid-template-columns:1fr}
  .inner-copy{max-width:850px}.inner-visual,.problem-photo,.local-photo{max-width:930px;min-height:500px}
  .v27-brand-strip-grid{gap:48px}
}

@media(max-width:900px){
  .shell{width:min(calc(100% - 32px),1240px)}
  .header-servicebar .shell span:nth-child(n+2){display:none}
  .header-servicebar .shell{justify-content:center}
  .desktop-nav,.header-cta{display:none}
  .menu-toggle{display:grid}
  .header-main{min-height:82px}
  .brand img{width:min(225px,68vw)}
  .hero-v22-copy-inner{width:calc(100% - 40px);padding:44px 0 34px}
  .hero-v22 h1{font-size:clamp(2.85rem,9vw,4rem);line-height:1.01}
  .hero-v22-media,.hero-v22-compare{min-height:500px}
  .hero-v22-compare{margin:0 16px;width:calc(100% - 32px);border-radius:22px}
  .v27-brand-strip-grid{grid-template-columns:1fr;gap:36px}.v27-brand-strip figure{min-height:0;aspect-ratio:1.22/1}.v27-brand-strip figure>img{position:absolute}
  .content-grid{grid-template-columns:1fr;gap:42px}.content-aside{width:100%}.content-aside .sticky{position:relative;top:auto}
  .result-v22-grid,.quality-v22-grid,.seo-v22-grid,.service-scan-grid{grid-template-columns:1fr}
  .result-v22-visual{max-width:none}
  .inner-hero,.problem-hero,.local-hero,.guide-hero,.static-hero{padding:52px 0 58px}
  .inner-visual,.problem-photo,.local-photo{min-height:440px;max-width:none}
  .v27-about-collage,.v27-about-stack{height:520px}
  .v27-contact-hero figure{height:430px}
}

@media(max-width:680px){
  body{padding-bottom:84px}
  .shell{width:calc(100% - 28px)}
  .header-servicebar{height:44px}.header-servicebar .shell{height:44px;font-size:.69rem}
  .header-main{min-height:78px;padding:0}
  .brand img{width:218px;max-width:70vw}
  .menu-toggle{width:44px;height:44px}
  .hero-v22{display:flex;flex-direction:column;background:#fff}
  .hero-v22-copy{order:1}
  .hero-v22-copy-inner{width:calc(100% - 28px);padding:30px 0 24px}
  .hero-v22 .eyebrow{font-size:.69rem;padding:9px 12px;border-radius:999px;background:#fff0e8;display:inline-flex;max-width:100%}
  .hero-v22 h1{font-size:clamp(2.45rem,11vw,3.05rem);line-height:1.02;letter-spacing:-.047em;margin:14px 0 15px;max-width:100%}
  .hero-v22-intro{font-size:.96rem;line-height:1.58}
  .hero-v22 .hero-actions{display:grid;gap:10px;margin-top:20px}.hero-v22 .btn{width:100%;min-height:56px}.hero-v22 .btn-clean{display:none}
  .hero-v22-proof{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:18px}.hero-v22-proof li{font-size:.68rem}
  .hero-v22-contact{display:none}
  .hero-v22-media{order:2;min-height:0;padding:0 0 18px}
  .hero-v22-compare{position:relative;min-height:0;height:auto;aspect-ratio:.92/1;margin:0 10px;width:calc(100% - 20px);border-radius:22px}
  .hero-v22-compare .compare-before,.hero-v22-compare .compare-after img{object-position:center center}
  .hero-v22-result-card{left:20px;right:20px;bottom:30px;width:auto;grid-template-columns:42px 1fr;padding:13px 14px;border-radius:15px}.hero-v22-result-card>span{width:42px;height:42px}.hero-v22-result-card p{display:none}.hero-v22-result-card strong{font-size:.81rem}
  .hero-v22-badge{width:74px;height:74px;right:20px;top:12px}
  .trust-v22{padding:22px 0}.trust-v22-grid{grid-template-columns:1fr 1fr;gap:10px}.trust-v22 article{padding:14px;gap:9px}.trust-v22 article p{display:none}.trust-v22 article strong{font-size:.71rem}
  .answers-v24,.services-v22,.result-v22,.problems-v22,.scan-v22,.quality-v22,.seo-v22,.faq-section{padding:64px 0}
  .section-heading h2,.answers-v24-head h2,.result-v22-copy h2,.quality-v22-intro h2,.seo-v22-grid h2{font-size:2.15rem;line-height:1.08}
  .services-v22-grid{grid-template-columns:1fr;gap:16px}
  .service-v22-image{aspect-ratio:1.42/1;height:auto}.service-v22-body{min-height:0;padding:24px 22px 25px}.service-v22-body h3{font-size:1.35rem}.service-v22-body p{font-size:.88rem;line-height:1.58;min-height:0}.service-v22-body>a{margin-top:22px}
  .result-v22-grid{gap:28px}.result-v22-compare{height:auto;aspect-ratio:.94/1;border-radius:20px}.result-v22-caption{margin:-15px 10px 0;width:calc(100% - 20px)}
  .v27-brand-strip{padding:60px 0}.v27-brand-strip-grid{gap:28px}.v27-brand-strip figure{aspect-ratio:.94/1;border-radius:22px}.v27-brand-strip figure>span{left:10px;right:10px;bottom:10px;padding:11px 12px}.v27-brand-strip h2{font-size:2.25rem;line-height:1.06}.v27-brand-strip p{font-size:.94rem;line-height:1.66}.v27-brand-strip ul{display:grid;gap:10px}.v27-brand-strip .hero-actions{display:grid}.v27-brand-strip .btn{width:100%}
  .inner-hero,.problem-hero,.local-hero,.guide-hero,.static-hero,.v27-contact-hero,.v27-about-hero{padding:42px 0 48px}
  .inner-hero-grid,.problem-hero-grid,.local-hero-grid{gap:28px}
  .inner-copy h1,.problem-hero h1,.local-hero h1,.guide-hero h1,.static-hero h1,.v27-contact-hero h1,.v27-about-grid h1{font-size:clamp(2.35rem,11vw,3rem);line-height:1.03;letter-spacing:-.045em;margin:13px 0 16px}
  .inner-copy>p,.problem-hero p,.local-hero p,.static-hero .lead{font-size:.95rem;line-height:1.63}
  .inner-visual,.problem-photo,.local-photo{min-height:0;height:auto;aspect-ratio:1.16/1;border-radius:20px}
  .inner-visual img,.problem-photo img,.local-photo img{position:absolute;inset:0}
  .inner-visual,.problem-photo,.local-photo{position:relative}
  .visual-callout{left:10px;right:10px;bottom:10px;max-width:none}
  .mini-trust{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .content-grid{gap:30px}.content-section{padding:28px 0}.content-section h2{font-size:1.65rem}
  .process-cards{grid-template-columns:1fr}.process-cards article{min-height:0}
  .service-scan .mini-wall{min-height:0;aspect-ratio:1.08/1}.service-scan-grid{gap:28px}
  .v27-about-collage,.v27-about-stack{height:420px}.v27-about-collage .main{width:90%;height:82%}.v27-about-collage .small{width:45%;height:40%}.v27-about-story{gap:34px}.v27-about-story h2{font-size:2.2rem}
  .v27-contact-hero figure{height:360px;border-radius:21px}
  .v27-check-intro{grid-template-columns:64px 1fr;padding:12px}.v27-check-intro img{width:64px;height:64px}.v27-check-intro p{display:none}
  .lead-machine{border-radius:18px}.form-progress{padding:18px}.form-step{padding:20px 17px}.form-choice-grid,.form-grid.three{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-nav{padding:16px;position:sticky;bottom:80px;background:#fff;z-index:8;border-top:1px solid var(--v30-line)}.form-nav button{min-height:52px}
  .chat-launcher{right:14px;bottom:94px;width:56px;height:56px;border-radius:18px;padding:0}.chat-launcher>span:nth-child(2){display:none}.chat-launcher-icon{width:100%;height:100%}.chat-launcher-icon img{width:34px}
  .mobile-sticky{display:grid;grid-template-columns:.9fr 1.25fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:1200;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #dbe4df;box-shadow:0 -12px 30px rgba(8,44,34,.08);backdrop-filter:blur(14px)}
  .mobile-sticky a{min-height:54px;border-radius:14px;font-size:.85rem;font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px}.mobile-sticky .call{background:#eaf3ee;color:var(--v30-deep)}.mobile-sticky .quote{background:var(--v30-orange);color:#fff}
  .site-footer{padding-bottom:20px}.final-cta{margin-bottom:0}
}

@media(max-width:390px){
  .hero-v22 h1{font-size:2.37rem}
  .hero-v22-proof{grid-template-columns:1fr}
  .brand img{width:205px}
  .mobile-sticky{grid-template-columns:.82fr 1.18fr;padding-inline:9px}.mobile-sticky a{font-size:.78rem}
  .section-heading h2,.answers-v24-head h2,.result-v22-copy h2,.quality-v22-intro h2,.seo-v22-grid h2{font-size:2rem}
  .v27-brand-strip h2{font-size:2.08rem}
  .inner-copy h1,.problem-hero h1,.local-hero h1,.guide-hero h1,.static-hero h1,.v27-contact-hero h1,.v27-about-grid h1{font-size:2.25rem}
}

/* Final overflow and first-screen mobile repair */
html,body{width:100%;max-width:100%;overflow-x:clip!important}
.scan-v22,.scan-shell,.scan-panel,.scan-step,.scan-visual{min-width:0;max-width:100%}
.scan-thumbs{width:100%;max-width:100%;min-width:0;overflow-x:auto!important;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin}
@media(max-width:680px){
  .scan-thumbs{max-width:calc(100vw - 64px)}
  .hero-v22-result-card{display:none}
  .hero-v22-media{padding-bottom:10px}
}

/* GevelScan choices must wrap inside the viewport, never stretch the page */
.scan-thumbs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important;overflow:visible!important;max-width:100%!important}
.scan-thumbs>*{min-width:0!important;width:100%!important;max-width:100%!important}
@media(max-width:900px){.scan-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:680px){.scan-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:100%!important}}

/* === assets/css/v31.css === */
/* V31 mobile hardening — desktop V30 remains untouched */
*,*::before,*::after{box-sizing:border-box}

@media (max-width: 767px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  body{position:relative}
  main,main>section,.section,.section-soft,.process-light,.service-scan,.faq-section,.final-cta,.site-footer{width:100%;max-width:100%;min-width:0}
  .shell,.shell.narrow{
    width:100%!important;
    max-width:100%!important;
    margin-inline:auto!important;
    padding-inline:18px!important;
  }
  .shell>*{min-width:0;max-width:100%}
  h1,h2,h3,p,li,a,span,strong,small{overflow-wrap:normal;word-break:normal;hyphens:none}
  h1,h2,h3{text-wrap:balance}
  p{text-wrap:pretty}

  /* Never keep a desktop column on a phone. */
  .inner-hero-grid,.problem-hero-grid,.local-hero-grid,.content-grid,.article-layout,
  .service-scan-grid,.result-v22-grid,.quality-v22-grid,.seo-v22-grid,
  .v27-brand-strip-grid,.v27-about-grid,.v27-about-story,.v27-contact-hero-grid,
  .home-seo-grid,.scan-shell,.final-cta-inner,.footer-grid,.brand-values,
  .hub-grid,.projects-grid,.process-cards,.process-grid,.service-cards,.answers-v24-grid,
  .problems-v22-grid,.services-v22-grid,.local-facts,.benefit-panel ul,.big-checklist{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
  }
  .inner-hero-grid,.problem-hero-grid,.local-hero-grid{gap:26px!important}
  .content-grid{gap:28px!important}
  .content-aside,.main-content,.article-body,.article-cover,.aside-card,.sticky{width:100%!important;max-width:100%!important;min-width:0!important}
  .content-aside .sticky,.aside-card.sticky{position:static!important;top:auto!important}

  /* Consistent horizontal breathing room for every page type. */
  .inner-hero,.problem-hero,.local-hero,.guide-hero,.static-hero,.v27-about-hero,.v27-contact-hero{
    padding:38px 0 44px!important;
  }
  .section,.section-soft{padding-block:52px!important}
  .content-section{padding:28px 0!important}
  .content-section:first-of-type{padding-top:20px!important}
  .breadcrumbs{overflow:hidden}
  .breadcrumbs .shell{padding-inline:18px!important;overflow-x:auto;scrollbar-width:none}
  .breadcrumbs .shell::-webkit-scrollbar{display:none}

  /* Hero and all media stay inside the viewport. */
  .inner-copy,.problem-hero-grid>div:first-child,.local-hero-grid>div:first-child{width:100%;max-width:100%;min-width:0}
  .inner-copy h1,.problem-hero h1,.local-hero h1,.guide-hero h1,.static-hero h1,
  .v27-contact-hero h1,.v27-about-grid h1{
    font-size:clamp(2.25rem,10.5vw,3rem)!important;
    line-height:1.03!important;
    letter-spacing:-.045em!important;
    max-width:100%!important;
  }
  .inner-copy>p,.problem-hero p,.local-hero p,.static-hero .lead,.guide-hero .lead{font-size:.98rem!important;line-height:1.62!important}
  .inner-visual,.problem-photo,.local-photo,.article-cover,.v27-contact-hero figure,
  .service-scan .mini-wall,.v27-brand-strip figure{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1.16/1!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:20px!important;
  }
  .inner-visual>img,.problem-photo>img,.local-photo>img,.article-cover>img,
  .v27-contact-hero figure>img,.service-scan .mini-wall>img,.v27-brand-strip figure>img{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    max-width:none!important;object-fit:cover!important;
  }
  .visual-callout{left:10px!important;right:10px!important;bottom:10px!important;width:auto!important;max-width:none!important}

  /* Real before/after widgets: no detached, oversized or flat image. */
  [data-compare],.result-v22-compare,.hero-v22-compare,.scan-compare,[data-scan-compare]{
    position:relative!important;width:100%!important;max-width:100%!important;min-width:0!important;
    overflow:hidden!important;isolation:isolate!important;
  }
  .hero-v22-media{width:100%!important;max-width:100%!important;padding-inline:10px!important}
  .hero-v22-compare{margin:0!important;aspect-ratio:.94/1!important;border-radius:20px!important}
  .result-v22-compare,.scan-compare{height:auto!important;aspect-ratio:1/1!important;border-radius:20px!important}
  [data-compare]>.compare-before,[data-scan-compare]>.compare-before,
  [data-compare]>.compare-after>img,[data-scan-compare]>.compare-after>img,
  .scan-clean>img{
    position:absolute!important;inset:0!important;height:100%!important;max-width:none!important;object-fit:cover!important;
  }
  .compare-after,.scan-clean{overflow:hidden!important}
  .compare-label{top:12px!important;padding:6px 9px!important;font-size:.67rem!important}
  .compare-label.before{left:12px!important}.compare-label.after{right:12px!important}

  /* Cards and thumbnails. */
  .service-v22-card,.problem-v22-card,.problem-card,.project-card,.hub-card,.answers-v24-grid article,
  .quality-v22-card,.process-cards article,.aside-card,.v28-service-proof,.v30-person-proof{
    width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:0!important;
  }
  .service-v22-image,.problem-v22-image,.problem-card>a:first-child,.project-card>a:first-child,.v27-hub-image{
    width:100%!important;max-width:100%!important;overflow:hidden!important;
  }
  .service-v22-image img,.problem-v22-image img,.problem-card img,.project-card img,.v27-hub-image img{
    display:block;width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover!important;
  }
  .service-v22-body{min-height:0!important;padding:23px 20px 25px!important}
  .hub-card>div{padding:21px!important}
  .v28-service-proof,.v30-person-proof{grid-template-columns:54px minmax(0,1fr)!important;gap:12px!important;padding:14px!important}

  /* About/brand collages become clean single images, not overlapping off-screen layers. */
  .v27-about-collage,.v27-about-stack{position:relative!important;width:100%!important;height:auto!important;aspect-ratio:1/1.05!important;overflow:hidden!important;border-radius:22px!important}
  .v27-about-collage .main,.v27-about-stack img:first-child{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:22px!important;border:0!important;object-fit:cover!important}
  .v27-about-collage .small,.v27-about-stack img:last-child{display:none!important}
  .v27-about-collage>span{left:10px!important;right:10px!important;bottom:10px!important;width:auto!important}

  /* Forms and scanner. */
  .lead-machine,.scan-panel,.scan-visual{width:100%!important;max-width:100%!important;min-width:0!important}
  .form-progress,.form-step,.form-nav{width:100%!important;max-width:100%!important}
  .form-choice-grid,.form-grid,.form-grid.three,.scan-choice-grid,.scan-property-grid{
    grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;
  }
  .scan-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .scan-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
  .scan-thumbs button,.scan-thumbs img{min-width:0!important;max-width:100%!important}
  .scan-dimensions label>div{grid-template-columns:minmax(0,1fr) 58px!important;gap:10px!important}
  .preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .upload-zone,.scan-photo-upload{width:100%!important;max-width:100%!important}
  input,select,textarea,button{max-width:100%}
  .form-nav{position:static!important;bottom:auto!important;padding:16px 0 0!important}
  .form-nav .btn{flex:1;min-width:0}

  /* CTA/footer/chat. */
  .final-cta-inner{gap:26px!important}
  .final-actions{min-width:0!important;width:100%!important}
  .final-actions .btn{width:100%!important}
  .footer-grid{gap:28px!important}
  .footer-bottom{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .footer-bottom>div{display:flex!important;flex-wrap:wrap!important;gap:12px!important}
  .chat-widget{left:10px!important;right:10px!important;bottom:88px!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 110px)!important}
  .chat-launcher{right:14px!important;bottom:92px!important}
  .mobile-sticky{width:100%!important;max-width:100%!important}

  /* Long content never creates a narrow left rail with blank space on the right. */
  .main-content>*,.article-body>*,.content-section>*,.aside-card>*,.faq-list,.faq-item{max-width:100%!important}
  .main-content p,.article-body p{max-width:none!important}
  table{display:block;max-width:100%;overflow-x:auto}
}

@media (max-width: 390px){
  .shell,.shell.narrow{padding-inline:15px!important}
  .inner-copy h1,.problem-hero h1,.local-hero h1,.guide-hero h1,.static-hero h1,.v27-contact-hero h1,.v27-about-grid h1{font-size:2.2rem!important}
  .scan-choice-grid{grid-template-columns:1fr!important}
  .mobile-sticky{padding-inline:8px!important;gap:7px!important}
  .mobile-sticky a{font-size:.78rem!important}
}

/* === assets/css/v32.css === */
/* V32 — deterministic mobile layout + brand components
   Loaded after all previous styles so old cached selectors cannot break media. */
:root{--v32-gutter:clamp(16px,4.8vw,22px)}
img{max-width:100%;}

/* Stable branded story block: no nested logo image, no oversized overlay. */
.v32-brand-strip{padding:84px 0;background:linear-gradient(145deg,#f4f1e9 0%,#fff 74%);border-block:1px solid #e5e8e4;overflow:hidden}
.v32-brand-strip-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:72px;align-items:center}
.v32-brand-media{position:relative;margin:0;aspect-ratio:1.08/1;border-radius:28px;overflow:hidden;background:#dce4df;box-shadow:0 28px 70px rgba(5,38,29,.16)}
.v32-brand-media>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%}
.v32-brand-badge{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.95);box-shadow:0 14px 34px rgba(5,35,27,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.v32-brand-mark{flex:0 0 39px;width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#0a4336;color:#fff;font-weight:900;font-size:1.02rem;line-height:1}
.v32-brand-badge div{min-width:0;display:grid;gap:2px}.v32-brand-badge strong{font-size:.84rem;color:#123c32}.v32-brand-badge small{font-size:.68rem;color:#6c7c76}
.v32-brand-copy h2{font-size:clamp(2.55rem,3.7vw,4.25rem);line-height:1.04;letter-spacing:-.048em;margin:16px 0 20px;color:#092f27}
.v32-brand-copy>p{font-size:1rem;line-height:1.78;max-width:680px;color:#586d65}
.v32-brand-copy ul{display:flex;flex-wrap:wrap;gap:11px 20px;padding:0;margin:25px 0;list-style:none}.v32-brand-copy li{display:flex;align-items:center;gap:7px;font-weight:800;font-size:.76rem;color:#31594d}.v32-brand-copy li svg{color:#16825a}

/* About media is also self-contained and cannot stretch nested assets. */
.v32-about-media{position:relative;min-height:610px}
.v32-about-media .v32-about-main{position:absolute;right:0;top:0;width:84%;height:86%;object-fit:cover;object-position:center 40%;border-radius:28px;box-shadow:0 28px 70px rgba(5,38,29,.16)}
.v32-about-media .v32-about-small{position:absolute;left:0;bottom:0;width:42%;height:45%;object-fit:cover;object-position:center 42%;border:9px solid #fff;border-radius:22px;box-shadow:0 18px 45px rgba(7,42,32,.18)}
.v32-about-label{position:absolute;right:20px;bottom:20px;display:grid;gap:2px;padding:12px 15px;border-radius:14px;background:#fff;box-shadow:0 14px 34px rgba(6,38,29,.18)}.v32-about-label b{font-size:.76rem}.v32-about-label small{font-size:.62rem;color:#72817a}

@media (max-width: 900px){
  .v32-brand-strip-grid{grid-template-columns:1fr;gap:38px}
  .v32-brand-media{aspect-ratio:1.2/1}
  .v32-about-media{min-height:520px}
}

@media (max-width: 767px){
  :root{--v32-gutter:18px}
  html,body{width:100%;max-width:100%;overflow-x:clip!important}
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  .shell,.shell.narrow{width:100%!important;max-width:100%!important;padding-left:var(--v32-gutter)!important;padding-right:var(--v32-gutter)!important;margin-left:auto!important;margin-right:auto!important}
  main,main>section,.section,.section-soft,.content-section,.faq-section,.final-cta,.site-footer{min-width:0;max-width:100%;overflow-x:clip}
  main *{min-width:0}
  img,svg,video,canvas,iframe{max-width:100%}

  /* Mobile header */
  .header-servicebar .shell{justify-content:center!important;min-height:44px}.header-servicebar .shell span:not(:first-child){display:none!important}
  .header-main{min-height:86px!important;gap:12px!important}.brand{width:min(294px,74vw)!important;max-width:calc(100% - 64px)!important}.brand img{display:block;width:100%!important;height:auto!important}.header-actions{margin-left:auto}.menu-toggle{width:48px!important;height:48px!important;flex:0 0 48px!important}

  /* Every mobile grid becomes a single clean column. */
  .hero-v22,.inner-hero-grid,.problem-hero-grid,.local-hero-grid,.content-grid,.article-layout,.service-scan-grid,.result-v22-grid,.quality-v22-grid,.seo-v22-grid,.home-seo-grid,.scan-shell,.final-cta-inner,.footer-grid,.hub-grid,.projects-grid,.process-cards,.process-grid,.service-cards,.answers-v24-grid,.problems-v22-grid,.services-v22-grid,.local-facts,.v32-brand-strip-grid,.v27-about-grid,.v27-about-story,.v27-contact-hero-grid{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important}

  /* Headings and paragraph measure */
  h1,h2,h3{max-width:100%;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
  p,li{overflow-wrap:break-word;word-break:normal;hyphens:none}
  .hero-v22 h1,.inner-copy h1,.problem-hero h1,.local-hero h1,.guide-hero h1,.static-hero h1,.v27-contact-hero h1,.v27-about-grid h1{font-size:clamp(2.42rem,11.8vw,3.25rem)!important;line-height:1.01!important;letter-spacing:-.052em!important}
  .section-heading h2,.section-heading-left h2,.answers-v24-head h2,.v32-brand-copy h2{font-size:clamp(2.18rem,9.5vw,2.85rem)!important;line-height:1.05!important;letter-spacing:-.045em!important}

  /* Hero: full but controlled, with proper inner gutters. */
  .hero-v22{display:grid!important;min-height:0!important;background:#fff!important;overflow:hidden!important}
  .hero-v22-copy{width:100%!important}.hero-v22-copy-inner{width:100%!important;max-width:100%!important;margin:0!important;padding:42px var(--v32-gutter) 30px!important}
  .hero-v22-intro{font-size:1rem!important;line-height:1.62!important}.hero-v22 .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.hero-v22 .hero-actions .btn{width:100%!important;justify-content:center!important}
  .hero-v22-proof{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.hero-v22-contact{align-items:flex-start!important;gap:10px!important}.hero-v22-contact>a{white-space:nowrap!important}
  .hero-v22-media{width:100%!important;max-width:100%!important;min-height:0!important;padding:0 var(--v32-gutter) 30px!important}
  .hero-v22-compare{position:relative!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:.94/1!important;border-radius:22px!important;overflow:hidden!important}
  .hero-v22-compare>.compare-before,.hero-v22-compare>.compare-after,.hero-v22-compare>.compare-after>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}
  .hero-v22-result-card{left:10px!important;right:10px!important;bottom:10px!important;max-width:none!important;padding:12px!important}.hero-v22-result-card p{display:none!important}.hero-v22-badge{width:76px!important;height:76px!important;right:12px!important;top:12px!important}

  /* Cards/media use predictable aspect ratios; no giant stretched images. */
  .service-v22-card,.problem-v22-card,.problem-card,.project-card,.hub-card,.answers-v24-grid article,.quality-v22-card,.aside-card,.v28-service-proof,.v30-person-proof{width:100%!important;max-width:100%!important;margin-inline:0!important;overflow:hidden}
  .service-v22-image{display:block!important;position:relative!important;width:100%!important;height:auto!important;aspect-ratio:1.36/1!important;overflow:hidden!important}
  .service-v22-image>img,.problem-v22-image>img,.problem-card img,.project-card img,.v27-hub-image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;max-width:none!important}
  .service-v22-body{min-height:0!important;padding:24px 21px 26px!important}.service-v22-body p{min-height:0!important}
  .problem-card>a:first-child,.project-card>a:first-child,.v27-hub-image{display:block!important;position:relative!important;aspect-ratio:1.34/1!important;overflow:hidden!important}

  /* Brand strip: one image, a small text badge, no logo file that can blow up. */
  .v32-brand-strip{padding:58px 0!important}
  .v32-brand-strip-grid{gap:30px!important}
  .v32-brand-media{width:100%!important;max-width:100%!important;aspect-ratio:.95/1!important;border-radius:22px!important;overflow:hidden!important}
  .v32-brand-media>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center 44%!important}
  .v32-brand-badge{left:10px!important;right:10px!important;bottom:10px!important;padding:11px 12px!important;border-radius:14px!important}.v32-brand-mark{width:35px;height:35px;flex-basis:35px}.v32-brand-badge strong{font-size:.77rem}.v32-brand-badge small{font-size:.62rem}
  .v32-brand-copy>p{font-size:.96rem!important;line-height:1.68!important}.v32-brand-copy ul{display:grid!important;gap:10px!important}.v32-brand-copy .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.v32-brand-copy .btn{width:100%!important;justify-content:center!important}

  /* About page — no overlapping off-screen collage on mobile. */
  .v32-about-media{width:100%!important;min-height:0!important;height:auto!important;aspect-ratio:.94/1!important;border-radius:22px!important;overflow:hidden!important}
  .v32-about-media .v32-about-main{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;border-radius:22px!important;object-fit:cover!important;object-position:center 40%!important}
  .v32-about-media .v32-about-small{display:none!important}.v32-about-label{left:10px!important;right:10px!important;bottom:10px!important}

  /* Service/problem/local/article media */
  .inner-visual,.problem-photo,.local-photo,.article-cover,.v27-contact-hero figure,.service-scan .mini-wall{position:relative!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1.12/1!important;margin:0!important;overflow:hidden!important;border-radius:21px!important}
  .inner-visual>img,.problem-photo>img,.local-photo>img,.article-cover>img,.v27-contact-hero figure>img,.service-scan .mini-wall>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}
  .visual-callout{left:10px!important;right:10px!important;bottom:10px!important;width:auto!important;max-width:none!important}

  /* Before/after widgets — two layers always occupy exactly the same box. */
  [data-compare],.result-v22-compare,.scan-compare,[data-scan-compare]{position:relative!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1/1!important;overflow:hidden!important;isolation:isolate!important;border-radius:21px!important}
  [data-compare]>.compare-before,[data-compare]>.compare-after,[data-compare]>.compare-after>img,[data-scan-compare]>.compare-before,[data-scan-compare]>.compare-after,[data-scan-compare]>.compare-after>img,.scan-clean,.scan-clean>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}
  .compare-after,.scan-clean{overflow:hidden!important}.compare-label{top:12px!important}.compare-label.before{left:12px!important}.compare-label.after{right:12px!important}

  /* Proof/contact cards */
  .v28-service-proof,.v30-person-proof{display:grid!important;grid-template-columns:56px minmax(0,1fr)!important;gap:13px!important;padding:15px!important;align-items:start!important}.v30-person-proof>span{width:56px!important;height:56px!important}.v30-person-proof>span img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important}.v30-person-proof p{font-size:.84rem!important;line-height:1.5!important}
  .v27-contact-card{grid-template-columns:64px minmax(0,1fr)!important;padding:14px!important}.v27-contact-card>img{width:64px!important;height:82px!important;object-fit:cover!important}.v27-contact-card p{font-size:.82rem!important}

  /* Forms/scanner */
  .lead-machine,.scan-panel,.scan-visual,.content-aside,.main-content,.article-body{width:100%!important;max-width:100%!important;min-width:0!important}
  .form-choice-grid,.form-grid,.form-grid.three,.scan-property-grid{grid-template-columns:minmax(0,1fr)!important;width:100%!important}.scan-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.scan-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  input,select,textarea,button{max-width:100%!important}.form-nav{position:static!important;display:flex!important;gap:9px!important;padding-top:16px!important}.form-nav>*{min-width:0!important;flex:1!important}.upload-zone{padding:24px 14px!important}

  /* Footer/chat/sticky */
  .final-cta-inner,.footer-grid{gap:28px!important}.final-actions{width:100%!important;min-width:0!important}.final-actions .btn{width:100%!important;justify-content:center!important}
  .footer-bottom{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}.footer-bottom>div{display:flex!important;flex-wrap:wrap!important;gap:12px!important}
  .mobile-sticky{left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:100%!important;padding:9px 10px calc(9px + env(safe-area-inset-bottom,0px))!important;gap:8px!important;z-index:9997!important}.mobile-sticky a{min-width:0!important;white-space:nowrap!important}
  .chat-launcher{right:14px!important;bottom:calc(90px + env(safe-area-inset-bottom,0px))!important}.chat-widget{left:10px!important;right:10px!important;bottom:calc(90px + env(safe-area-inset-bottom,0px))!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 112px)!important}
}

@media (max-width: 390px){
  :root{--v32-gutter:15px}
  .header-main{min-height:82px!important}.brand{width:min(272px,72vw)!important}.menu-toggle{width:45px!important;height:45px!important;flex-basis:45px!important}
  .hero-v22 h1,.inner-copy h1,.problem-hero h1,.local-hero h1,.guide-hero h1,.static-hero h1,.v27-contact-hero h1,.v27-about-grid h1{font-size:2.36rem!important}
  .scan-choice-grid{grid-template-columns:1fr!important}.mobile-sticky a{font-size:.79rem!important}.mobile-sticky .call{flex:.86!important}.mobile-sticky .quote{flex:1.14!important}
}

/* === assets/css/v33.css === */
/* V33 — focused compare-slider stability and small desktop hero gutter.
   No layout, content, CRM or form changes outside these selectors. */

/* One coordinate system for every before/after component. The clean layer is
   always full-size and only clipped, so both photos remain pixel-aligned. */
[data-compare],
[data-scan-compare]{
  --compare-position:50%;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  touch-action:pan-y;
}

[data-compare] > .compare-before,
[data-compare] > .compare-after,
[data-compare] > .compare-after > img,
[data-scan-compare] > img,
[data-scan-compare] > .scan-clean,
[data-scan-compare] > .scan-clean > img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
}

[data-compare] > .compare-after,
[data-scan-compare] > .scan-clean{
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  clip-path:inset(0 0 0 var(--compare-position))!important;
  -webkit-clip-path:inset(0 0 0 var(--compare-position))!important;
  will-change:clip-path;
}

[data-compare] > .compare-line,
[data-scan-compare] > .scan-divider{
  left:var(--compare-position)!important;
  transform:translateX(-1px);
  will-change:left;
}

[data-compare] > input[type="range"],
[data-scan-compare] > input[type="range"]{
  position:absolute!important;
  inset:0!important;
  z-index:20!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  cursor:ew-resize!important;
  touch-action:pan-y;
}

/* Controlled desktop gutter: visibly calmer, while leaving the hero layout intact. */
@media (min-width:1101px){
  .home-v22{
    background:#fff!important;
  }
  .hero-v22{
    width:min(calc(100% - 96px),1760px)!important;
    max-width:1760px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    border-radius:0 0 28px 28px!important;
  }
  .hero-v22-copy{
    border-radius:0 0 0 28px!important;
    overflow:hidden!important;
  }
  .hero-v22-compare{
    border-radius:0 0 28px 0!important;
  }
}

/* Keep the existing mobile dimensions; only stabilize image alignment. */
@media (max-width:767px){
  [data-compare] > .compare-before,
  [data-compare] > .compare-after > img,
  [data-scan-compare] > img,
  [data-scan-compare] > .scan-clean > img{
    object-position:center!important;
  }
}

/* === V34 SEO/GEO presentation additions === */
.seo-answer{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:start;margin:0 0 34px;padding:24px 26px;border:1px solid rgba(8,67,55,.12);border-radius:18px;background:linear-gradient(135deg,#f4faf7 0%,#fff 100%);box-shadow:0 12px 34px rgba(4,49,40,.06)}
.seo-answer-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#0b493d;color:#fff}
.seo-answer small,.seo-related-head .eyebrow{display:block;margin:0 0 7px;color:#e6531c;font-size:11px;font-weight:900;letter-spacing:.13em}
.seo-answer h2{margin:0 0 8px;font-size:clamp(21px,2vw,28px);line-height:1.16;color:#0a4035}
.seo-answer p{margin:0;color:#50645d;line-height:1.7}
.seo-related{padding:72px 0;background:#f7f4ee;border-top:1px solid rgba(8,67,55,.08);border-bottom:1px solid rgba(8,67,55,.08)}
.seo-related-head{max-width:760px;margin-bottom:26px}
.seo-related-head h2{margin:0 0 10px;color:#073c32;font-size:clamp(28px,3vw,44px);line-height:1.08}
.seo-related-head p{margin:0;color:#5b6d66;line-height:1.65}
.seo-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.seo-related-grid a{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:13px;row-gap:3px;align-items:center;padding:19px;border:1px solid rgba(8,67,55,.1);border-radius:16px;background:#fff;color:#0a4035;text-decoration:none;box-shadow:0 9px 24px rgba(4,49,40,.04);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.seo-related-grid a:hover{transform:translateY(-2px);border-color:rgba(230,83,28,.3);box-shadow:0 15px 32px rgba(4,49,40,.08)}
.seo-related-grid a>span{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf6f2;color:#0b493d}
.seo-related-grid strong{font-size:16px;line-height:1.25}
.seo-related-grid small{color:#6b7a75;font-size:13px;line-height:1.45}
.article-meta{margin:12px 0 22px!important;color:#697a74!important;font-size:14px!important;font-weight:700}
@media(max-width:900px){.seo-related{padding:52px 0}.seo-related-grid{grid-template-columns:1fr 1fr}.seo-answer{grid-template-columns:44px minmax(0,1fr);padding:20px}.seo-answer-icon{width:44px;height:44px}}
@media(max-width:620px){.seo-related-grid{grid-template-columns:1fr}.seo-answer{gap:13px;margin-bottom:26px;padding:18px 16px;border-radius:15px}.seo-answer h2{font-size:21px}.seo-related{padding:44px 0}.seo-related-grid a{padding:16px}}


/* V36.2 — betrouwbare meervoudige GevelCheck-foto-upload */
.scan-selected-photos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:10px}
.scan-selected-photos:empty{display:none}
.scan-selected-photos figure,.preview-grid figure{position:relative;aspect-ratio:1;border-radius:11px;overflow:hidden;background:#e9f0ed;border:1px solid #d7e2dd}
.scan-selected-photos img,.preview-grid img{width:100%;height:100%;object-fit:cover;display:block}
.scan-selected-photos .file-fallback,.preview-grid .file-fallback{width:100%;height:100%;display:grid;place-items:center;padding:8px;text-align:center;color:var(--green-900);font-size:.68rem;font-weight:800;overflow-wrap:anywhere}
.photo-remove{position:absolute;right:6px;top:6px;width:28px;height:28px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(8,42,34,.9);color:#fff;font-size:18px;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer;z-index:2}
.photo-remove:hover{background:#9d3327}
.photo-count{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:10px;background:#edf5f1;color:var(--green-900);font-size:.75rem;font-weight:800}
.photo-count.warning{background:#fff3e9;color:#9a451e}
@media(max-width:760px){.scan-selected-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-remove{width:30px;height:30px}}

/* V36.3 — mobile GevelCheck hard fix.
   The global mobile CTA must never sit above the lead modal. */
body.lead-modal-active{overflow:hidden!important}
body.modal-open .mobile-sticky,
body.lead-modal-active .mobile-sticky{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(140%)!important;
}
.lead-modal{z-index:10020!important}
.scan-photo-upload.has-photos{border-color:#4c9a7d!important;background:#eef8f3!important}
.scan-photo-upload.has-photos strong{color:var(--green-900)!important}
.scan-step-photo-state{margin:11px 0 0;padding:10px 12px;border-radius:11px;background:#edf5f1;color:var(--green-900);font-size:.78rem;font-weight:800;line-height:1.45}

@media(max-width:760px){
  .lead-modal{
    inset:0!important;
    padding:0!important;
    align-items:stretch!important;
    place-items:stretch!important;
  }
  .lead-modal-dialog{
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:env(safe-area-inset-bottom,0px)!important;
  }
  .lead-modal-head{padding-top:calc(16px + env(safe-area-inset-top,0px))!important}
  .lead-modal .lead-machine{padding-bottom:0!important}
  .lead-modal .form-nav{
    position:sticky!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:30!important;
    margin:18px -20px 0!important;
    padding:13px 20px calc(13px + env(safe-area-inset-bottom,0px))!important;
    background:rgba(255,255,255,.98)!important;
    border-top:1px solid #dbe4df!important;
    box-shadow:0 -12px 28px rgba(7,43,33,.11)!important;
    backdrop-filter:blur(12px);
  }
  .lead-modal .form-nav button{min-height:54px!important;touch-action:manipulation}
  .scan-step-photo-state{font-size:.76rem}
}
