:root{
  --ink:#0b1728;
  --text:#1e2c3d;
  --muted:#627184;
  --cream:#f6f0e7;
  --cream2:#efe5d7;
  --soft:#f1f3f4;
  --soft2:#e5eaee;
  --white:#ffffff;
  --navy:#071321;
  --navy2:#10243a;
  --sand:#c29a5b;
  --sand-soft:#ead8bd;
  --blue:#1b65bd;
  --blue-dark:#124f99;
  --line:#d8dee5;
  --line-warm:#ded3c4;
  --line-dark:rgba(255,255,255,.14);
  --radius:18px;
  --max:1180px;
  --shadow:0 14px 34px rgba(17,33,50,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--cream);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}p{margin-top:0}.container{width:min(var(--max),calc(100% - 42px));margin:0 auto}.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 6px 18px rgba(17,33,50,.04)}.nav-wrap{height:78px;display:flex;align-items:center;gap:28px}.brand img{height:42px;width:auto;display:block}.desktop-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.desktop-nav a{padding:10px 13px;border-radius:10px;color:#526172;font-weight:700;font-size:14px}.desktop-nav a:hover,.desktop-nav a.active{color:var(--ink);background:#f1f3f5}.nav-cta{margin-left:10px;background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;font-weight:850;box-shadow:0 10px 22px rgba(7,19,33,.12)}.nav-cta:hover{background:#10243a}.menu-button{display:none;margin-left:auto;background:transparent;border:0;width:42px;height:42px}.menu-button span{display:block;height:2px;background:var(--ink);margin:7px;border-radius:99px}.mobile-nav{display:none;border-top:1px solid var(--line);background:#fff}.mobile-nav .container{display:grid;gap:6px;padding:16px 20px 22px}.mobile-nav a{padding:12px 14px;border-radius:12px;color:#526172;background:#f5f6f7}.mobile-cta{background:var(--navy)!important;color:#fff!important;text-align:center;font-weight:850}.eyebrow{margin:0 0 14px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:12px;font-weight:850;border:1px solid transparent;transition:.18s ease}.button.primary{background:var(--navy);color:#fff}.button.primary:hover{background:var(--navy2);transform:translateY(-1px)}.button.secondary{background:#fff;border-color:#cfd6df;color:var(--ink)}.button.secondary:hover{border-color:#aeb9c7;background:#f7f8f9}.text-link{display:inline-flex;color:var(--blue);font-weight:850;margin-top:12px}.text-link:hover{text-decoration:underline}

/* Homepage v7 */
.home-hero{background:linear-gradient(180deg,#f6f0e7 0%,#f1ece4 100%);border-bottom:1px solid var(--line-warm);padding:92px 0 78px}.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:72px;align-items:center}.hero-main h1{font-size:clamp(42px,5.8vw,70px);line-height:1.03;letter-spacing:-.052em;margin:0 0 22px;color:var(--ink);max-width:760px}.lead{font-size:20px;line-height:1.7;color:#48586b;max-width:690px;margin:0 0 30px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.hero-trust{display:flex;gap:10px 18px;flex-wrap:wrap;margin-top:26px;color:#4f5f72;font-size:14px}.hero-trust span{position:relative;padding-left:18px}.hero-trust span:before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--sand)}.hero-side{background:#fff;border:1px solid var(--line-warm);border-radius:22px;padding:30px 32px;box-shadow:0 16px 36px rgba(90,66,36,.08)}.side-label{margin:0 0 18px;color:var(--ink);font-weight:900;font-size:17px}.hero-side ul{margin:0 0 22px;padding:0;list-style:none;display:grid;gap:14px}.hero-side li{color:#3e4d5e;position:relative;padding-left:28px}.hero-side li:before{content:"✓";position:absolute;left:0;top:-1px;color:var(--blue);font-weight:900}.side-note{margin:0;padding-top:18px;border-top:1px solid var(--line);color:#667487;font-size:14px;line-height:1.6}

.confidence-strip{background:var(--navy);color:#dce7f4}.confidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.confidence-grid div{padding:30px 34px;border-right:1px solid var(--line-dark)}.confidence-grid div:last-child{border-right:0}.confidence-grid strong{display:block;color:#fff;font-size:18px;margin-bottom:6px}.confidence-grid span{display:block;color:#b8c7d8;font-size:14px;line-height:1.58}

.section{padding:84px 0}.intro-section{background:#f1f3f4}.intro-block{background:#fff;border-left:6px solid var(--sand);border-radius:22px;padding:40px 48px;max-width:980px;box-shadow:0 12px 28px rgba(17,33,50,.05)}.intro-kicker{color:#8a6a39;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}.intro-block h2{font-size:clamp(32px,4.2vw,50px);line-height:1.12;letter-spacing:-.036em;margin:0 0 16px;color:var(--ink)}.intro-block p{font-size:18px;color:#526172;max-width:780px;margin:0}

.services-overview{background:#ebe3d7;border-top:1px solid var(--line-warm);border-bottom:1px solid var(--line-warm)}.services-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:62px;align-items:start}.services-head{position:sticky;top:110px}.services-head h2{font-size:clamp(32px,4.3vw,52px);line-height:1.1;letter-spacing:-.04em;margin:0 0 16px;color:var(--ink)}.services-head p{font-size:17px;color:#566579;max-width:470px}.service-list{background:#f9f5ee;border:1px solid var(--line-warm);border-radius:22px;overflow:hidden;box-shadow:0 12px 30px rgba(71,50,25,.06)}.service-row{display:grid;grid-template-columns:66px 1fr;gap:18px;padding:28px 32px;border-bottom:1px solid var(--line-warm);transition:.18s ease}.service-row:last-child{border-bottom:0}.service-row:hover{background:#fff}.service-row span{color:#8a6a39;font-size:13px;font-weight:950;padding-top:5px}.service-row h3{font-size:24px;margin:0 0 7px;color:var(--ink)}.service-row p{margin:0;color:#58687b;max-width:680px}

.reassurance-section{background:#f6f0e7}.reassurance-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:start;background:var(--navy);color:#dce7f4;border-radius:24px;padding:46px 50px}.reassurance-card .eyebrow{color:#d8bc89}.reassurance-card h2{color:#fff;font-size:clamp(32px,4.2vw,50px);line-height:1.12;letter-spacing:-.04em;margin:0}.reassurance-text{display:grid;gap:16px}.reassurance-text p{color:#c0ccda;font-size:17px;margin:0}.reassurance-text p:first-child{color:#edf4fb;font-size:18px}

.route-section{background:#f1f3f4}.route-layout{display:grid;grid-template-columns:0.82fr 1.18fr;gap:58px;align-items:start}.route-intro h2{font-size:clamp(32px,4vw,48px);line-height:1.12;letter-spacing:-.038em;margin:0 0 14px;color:var(--ink)}.route-intro p{color:#566579;max-width:460px}.route-steps{display:grid;grid-template-columns:1fr 1fr;gap:16px}.route-steps div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 10px 24px rgba(17,33,50,.04)}.route-steps span{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#f0e3cf;color:#7a5b2e;font-weight:950;margin-bottom:15px}.route-steps strong{display:block;color:var(--ink);font-size:18px;margin-bottom:6px}.route-steps p{color:#607084;margin:0;line-height:1.58}

.cta-section{padding:44px 0 92px;background:#f1f3f4}.final-cta{display:flex;align-items:center;justify-content:space-between;gap:34px;background:linear-gradient(135deg,#10243a 0%,#071321 100%);border-radius:24px;padding:44px 50px;color:#dce7f4;box-shadow:0 18px 40px rgba(7,19,33,.14)}.final-cta .eyebrow{color:#d8bc89}.final-cta h2{font-size:clamp(32px,4vw,48px);line-height:1.12;letter-spacing:-.04em;margin:0 0 14px;color:#fff}.final-cta p{color:#c0ccda;margin-bottom:0;max-width:650px}.cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.final-cta .button.primary{background:#fff;color:var(--ink)}.final-cta .button.primary:hover{background:#f4f0ea}.final-cta .button.secondary{background:transparent;border-color:rgba(255,255,255,.26);color:#fff}.final-cta .button.secondary:hover{background:rgba(255,255,255,.08)}

/* Shared page styles for the rest of the site */
.light-section{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{text-align:center;max-width:780px}.section-head.left{text-align:left;margin:0}.section-head h2,.section-title-block h2,.process-wrap h2,.trust-layout h2,.cta-card h2,.page-hero h1,.contact-info h2,.values-grid h2{font-size:clamp(30px,4vw,46px);margin:0 0 16px}.section-head p,.section-title-block p,.process-wrap p,.trust-layout p,.cta-card p{color:#54657a;margin-bottom:0}.cards{display:grid;gap:18px;margin-top:34px}.cards.three{grid-template-columns:repeat(3,1fr)}.card,.portfolio-card,.quote-card,.check-panel,.notice{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 8px 22px rgba(12,31,53,.04)}.card h3,.portfolio-card h3{margin:0 0 10px;font-size:21px}.card p,.portfolio-card p,.quote-card p,.check-panel li,.notice p{color:var(--muted);margin:0}.card a{display:inline-block;margin-top:18px;color:var(--blue);font-weight:800}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start}.steps-list{display:grid;gap:14px}.steps-list div,.timeline div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.steps-list span,.timeline span{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:10px;background:#e8f2ff;color:var(--blue);font-weight:900;margin-bottom:12px}.steps-list b{display:block;font-size:18px}.steps-list p{margin:5px 0 0;color:var(--muted)}.page-hero{padding:86px 0 66px;text-align:center;background:var(--soft);border-bottom:1px solid var(--line)}.page-hero p{font-size:19px;color:var(--muted);max-width:760px;margin:0 auto 28px}.narrow{max-width:850px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.timeline h3{margin:0 0 8px}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.portfolio-card span{display:inline-block;color:var(--blue);font-weight:850;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:18px}.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.check-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}.check-panel li{position:relative;padding-left:28px}.check-panel li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:start}.contact-info{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;position:sticky;top:102px;box-shadow:0 8px 22px rgba(12,31,53,.04)}.contact-info p{color:var(--muted)}.contact-link{display:block;background:#edf5ff;border:1px solid #c9def7;color:var(--ink);border-radius:14px;padding:14px 16px;font-weight:850;margin:18px 0}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 8px 22px rgba(12,31,53,.04)}.quote-form label{display:grid;gap:8px;color:var(--ink);font-weight:750}.quote-form label span{color:var(--muted);font-weight:500}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #cfd9e4;background:#fff;color:var(--ink);border-radius:12px;padding:14px 14px;font:inherit;outline:none}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(31,115,216,.12)}.quote-form .full,.quote-form button{grid-column:1/-1}.cta-card{display:flex;align-items:center;justify-content:space-between;gap:34px;background:var(--navy);color:#dbe7f6;border-radius:24px;padding:38px 42px}.cta-card h2{color:#fff}.cta-card .eyebrow{color:#7bb6ff}.cta-card p{color:#c4d2e3}.cta-card .button.secondary{background:transparent;border-color:rgba(255,255,255,.26);color:#fff}.cta-card .button.secondary:hover{background:rgba(255,255,255,.08)}
.site-footer{border-top:1px solid var(--line-dark);background:#071321;padding:48px 0 22px;color:#dbe7f6}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px}.footer-logo{height:38px}.footer-grid p{max-width:480px;color:#aebdd0}.footer-grid h3{font-size:15px;margin:0 0 14px;color:#fff}.footer-grid a{display:block;color:#aebdd0;margin:8px 0}.footer-grid a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line-dark);margin-top:32px;padding-top:20px;color:#7f8ba0;font-size:13px}
@media(max-width:980px){.desktop-nav,.nav-cta{display:none}.menu-button{display:block}.mobile-nav.open{display:block}.hero-layout,.calm-layout,.route-card,.local-layout,.split,.contact-grid,.values-grid{grid-template-columns:1fr}.confidence-grid{grid-template-columns:1fr}.confidence-grid div{border-right:0;border-bottom:1px solid var(--line)}.confidence-grid div:last-child{border-bottom:0}.service-board{grid-template-columns:1fr 1fr}.main-service{grid-row:auto;grid-column:1/-1}.route-steps{grid-template-columns:1fr 1fr}.cards.three,.timeline{grid-template-columns:1fr 1fr}.contact-info{position:static}.home-hero{padding:70px 0 56px}}
@media(max-width:640px){.container{width:min(100% - 28px,var(--max))}.nav-wrap{height:68px}.brand img{height:36px}.hero-main h1,.page-hero h1{font-size:38px}.lead,.page-hero p{font-size:17px}.hero-actions,.cta-actions{flex-direction:column;align-items:stretch}.button{width:100%}.home-hero{padding:56px 0 44px}.hero-side,.route-card,.local-panel,.final-cta{padding:24px}.service-board,.cards.three,.timeline,.portfolio-grid,.footer-grid,.quote-form,.route-steps{grid-template-columns:1fr}.route-steps div,.route-steps div:nth-child(2n),.route-steps div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.route-steps div:last-child{border-bottom:0}.section{padding:58px 0}.page-hero{padding:62px 0 44px}.final-cta,.cta-card{flex-direction:column;align-items:stretch}.footer-bottom{flex-direction:column}}


/* Homepage v7 responsive refinements */
@media(max-width:980px){
  .hero-layout,.services-layout,.reassurance-card,.route-layout{grid-template-columns:1fr;gap:34px}.services-head{position:static}.confidence-grid{grid-template-columns:1fr}.confidence-grid div{border-right:0;border-bottom:1px solid var(--line-dark)}.confidence-grid div:last-child{border-bottom:0}.home-hero{padding:70px 0 58px}.route-steps{grid-template-columns:1fr 1fr}.final-cta{align-items:flex-start;flex-direction:column}.cta-actions{justify-content:flex-start}
}
@media(max-width:640px){
  .container{width:min(100% - 28px,var(--max))}.hero-main h1{font-size:39px}.lead{font-size:17px}.hero-actions,.cta-actions{flex-direction:column;align-items:stretch}.button{width:100%}.home-hero{padding:54px 0 42px}.hero-side,.intro-block,.reassurance-card,.final-cta{padding:24px}.section{padding:58px 0}.service-row{grid-template-columns:1fr;gap:8px;padding:24px}.route-steps{grid-template-columns:1fr}.final-cta h2{font-size:34px}
}

/* Homepage v8 - DVLabs blue brand polish, homepage scoped */
.home-page .site-header{
  background:#e9edf2;
  border-bottom:1px solid #cfd8e3;
  box-shadow:0 8px 22px rgba(7,19,33,.07);
}
.home-page .desktop-nav a:hover,
.home-page .desktop-nav a.active{
  background:#dde7f2;
  color:#071321;
}
.home-page .nav-cta{
  background:#0b1728;
  border:1px solid rgba(27,101,189,.26);
  box-shadow:0 10px 22px rgba(7,19,33,.14);
}
.home-page .nav-cta:hover{background:#10243a}
.home-page .mobile-nav{background:#eef2f6;border-top-color:#d2dbe6}
.home-page .mobile-nav a{background:#fff;color:#425266}
.home-page .home-hero{
  background:
    radial-gradient(circle at 14% 18%,rgba(27,101,189,.10),transparent 30%),
    linear-gradient(180deg,#f4f7fa 0%,#eef2f6 100%);
  border-bottom:1px solid #d3dce7;
}
.home-page .eyebrow,
.home-page .intro-kicker{
  color:#1b65bd;
}
.home-page .hero-main h1{max-width:810px}
.home-page .lead{color:#43566d;max-width:735px}
.home-page .button.primary{
  background:#0b1728;
  border-color:rgba(27,101,189,.30);
  box-shadow:0 12px 26px rgba(7,19,33,.13);
}
.home-page .button.primary:hover{background:#10243a}
.home-page .button.secondary{
  background:#fff;
  border-color:#bfd0e4;
}
.home-page .button.secondary:hover{
  border-color:#1b65bd;
  background:#f3f8ff;
}
.home-page .hero-trust span:before{
  background:#1b65bd;
  box-shadow:0 0 0 4px rgba(27,101,189,.10);
}
.home-page .hero-side{
  border-color:#c8d8ea;
  box-shadow:0 16px 36px rgba(16,36,58,.08);
}
.home-page .hero-side li:before{color:#1b65bd}
.home-page .side-note{border-top-color:#d8e3ef}
.home-page .confidence-strip{
  background:linear-gradient(135deg,#0b1728 0%,#10243a 100%);
}
.home-page .confidence-grid div{border-right-color:rgba(123,182,255,.18)}
.home-page .confidence-grid strong:after{
  content:"";
  display:block;
  width:34px;
  height:2px;
  background:#1b65bd;
  border-radius:99px;
  margin-top:9px;
}
.home-page .intro-section{background:#f1f4f7}
.home-page .intro-block{
  border-left-color:#1b65bd;
  box-shadow:0 12px 28px rgba(17,33,50,.055);
}
.home-page .services-overview{
  background:#edf2f7;
  border-top-color:#d6e0eb;
  border-bottom-color:#d6e0eb;
}
.home-page .service-list{
  background:#ffffff;
  border-color:#ccdbea;
  box-shadow:0 12px 30px rgba(17,33,50,.055);
}
.home-page .service-row{
  border-bottom-color:#d9e4ef;
}
.home-page .service-row:hover{
  background:#f6faff;
}
.home-page .service-row span{
  color:#1b65bd;
}
.home-page .reassurance-section{background:#f4f7fa}
.home-page .reassurance-card{
  background:linear-gradient(135deg,#10243a 0%,#071321 100%);
  border:1px solid rgba(123,182,255,.16);
  box-shadow:0 18px 40px rgba(7,19,33,.13);
}
.home-page .reassurance-card .eyebrow,
.home-page .final-cta .eyebrow{
  color:#7bb6ff;
}
.home-page .route-section{background:#f1f4f7}
.home-page .route-steps div{
  border-color:#d4e0ec;
}
.home-page .route-steps span{
  background:#e8f2ff;
  color:#1b65bd;
}
.home-page .text-link{color:#1b65bd}
.home-page .cta-section{background:#f1f4f7}
.home-page .final-cta{
  background:linear-gradient(135deg,#10243a 0%,#071321 100%);
  border:1px solid rgba(123,182,255,.16);
}
.home-page .final-cta .button.primary{
  background:#fff;
  color:#071321;
  border-color:#fff;
  box-shadow:none;
}
.home-page .final-cta .button.primary:hover{background:#f3f8ff}
.home-page .final-cta .button.secondary:hover{
  border-color:rgba(123,182,255,.55);
  background:rgba(123,182,255,.10);
}
@media(max-width:980px){
  .home-page .confidence-grid div{border-right:0;border-bottom:1px solid rgba(123,182,255,.18)}
  .home-page .confidence-grid div:last-child{border-bottom:0}
}

/* Homepage v8.1 - content direction fix + darker header for logo visibility */
.home-page .site-header{
  background:#0b121d;
  border-bottom:1px solid rgba(123,182,255,.18);
  box-shadow:0 10px 26px rgba(7,19,33,.16);
}
.home-page .brand{
  display:inline-flex;
  align-items:center;
  padding:6px 8px;
  margin-left:-8px;
  border-radius:12px;
}
.home-page .desktop-nav a{
  color:#c8d5e5;
}
.home-page .desktop-nav a:hover,
.home-page .desktop-nav a.active{
  background:rgba(123,182,255,.12);
  color:#ffffff;
}
.home-page .nav-cta{
  background:#ffffff;
  color:#071321;
  border:1px solid rgba(123,182,255,.34);
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}
.home-page .nav-cta:hover{
  background:#eef6ff;
  color:#071321;
}
.home-page .menu-button span{
  background:#ffffff;
}
.home-page .mobile-nav{
  background:#0b121d;
  border-top-color:rgba(123,182,255,.18);
}
.home-page .mobile-nav a{
  background:#111c2b;
  color:#dbe7f6;
}
.home-page .mobile-nav a:hover{
  background:#162438;
  color:#ffffff;
}
.home-page .mobile-cta{
  background:#ffffff!important;
  color:#071321!important;
}

/* Homepage v8.2 - subtle global DVLabs background glow */
body.home-page{
  background:
    radial-gradient(circle at 18% 6%, rgba(27,101,189,.16), transparent 34%),
    radial-gradient(circle at 88% 20%, rgba(123,182,255,.11), transparent 30%),
    radial-gradient(circle at 54% 92%, rgba(27,101,189,.07), transparent 34%),
    linear-gradient(180deg,#f7f9fc 0%,#eef2f6 48%,#f6f8fb 100%);
  background-attachment:fixed;
}
.home-page .home-hero{
  background:
    radial-gradient(circle at 18% 12%, rgba(27,101,189,.15), transparent 34%),
    radial-gradient(circle at 86% 18%, rgba(123,182,255,.10), transparent 30%),
    linear-gradient(180deg,rgba(246,249,252,.92) 0%,rgba(239,243,248,.90) 100%);
}
.home-page .intro-section,
.home-page .route-section,
.home-page .cta-section{
  background:rgba(241,244,247,.82);
}
.home-page .services-overview{
  background:rgba(237,242,247,.86);
}
.home-page .reassurance-section{
  background:rgba(244,247,250,.82);
}


/* v8.3 - site-wide DVLabs visual system for inner pages
   Applies the approved v8.2 homepage feeling to the rest of the website,
   while keeping page-specific variation and leaving script.js/assets untouched. */
body.site-page{
  background:
    radial-gradient(circle at 16% 4%, rgba(27,101,189,.14), transparent 32%),
    radial-gradient(circle at 86% 18%, rgba(123,182,255,.10), transparent 30%),
    radial-gradient(circle at 52% 94%, rgba(27,101,189,.06), transparent 34%),
    linear-gradient(180deg,#f7f9fc 0%,#eef2f6 50%,#f7f9fc 100%);
  background-attachment:fixed;
}
.site-page .site-header{
  background:#0b121d;
  border-bottom:1px solid rgba(123,182,255,.18);
  box-shadow:0 10px 26px rgba(7,19,33,.16);
}
.site-page .brand{
  display:inline-flex;
  align-items:center;
  padding:6px 8px;
  margin-left:-8px;
  border-radius:12px;
}
.site-page .desktop-nav a{color:#c8d5e5}
.site-page .desktop-nav a:hover,
.site-page .desktop-nav a.active{
  background:rgba(123,182,255,.12);
  color:#ffffff;
}
.site-page .nav-cta{
  background:#ffffff;
  color:#071321;
  border:1px solid rgba(123,182,255,.34);
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}
.site-page .nav-cta:hover{background:#eef6ff;color:#071321}
.site-page .menu-button span{background:#ffffff}
.site-page .mobile-nav{
  background:#0b121d;
  border-top-color:rgba(123,182,255,.18);
}
.site-page .mobile-nav a{
  background:#111c2b;
  color:#dbe7f6;
}
.site-page .mobile-nav a:hover{background:#162438;color:#ffffff}
.site-page .mobile-cta{background:#ffffff!important;color:#071321!important}

.site-page .page-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(27,101,189,.16), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(123,182,255,.10), transparent 30%),
    linear-gradient(180deg,rgba(246,249,252,.94) 0%,rgba(239,243,248,.90) 100%);
  border-bottom:1px solid #d3dce7;
}
.site-page .page-hero:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(820px,72vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(27,101,189,.42),transparent);
}
.site-page .page-hero .container{position:relative;z-index:1}
.site-page .page-hero h1{
  color:#071321;
  letter-spacing:-.04em;
  line-height:1.08;
}
.site-page .page-hero p{color:#465a71}
.site-page .eyebrow{color:#1b65bd}
.site-page .hero-actions.center{justify-content:center}
.site-page .button.primary{
  background:#0b1728;
  border-color:rgba(27,101,189,.30);
  box-shadow:0 12px 26px rgba(7,19,33,.13);
}
.site-page .button.primary:hover{background:#10243a}
.site-page .button.secondary{
  background:#ffffff;
  border-color:#bfd0e4;
}
.site-page .button.secondary:hover{
  border-color:#1b65bd;
  background:#f3f8ff;
}
.site-page .light-section{
  background:rgba(241,244,247,.82);
  border-top:1px solid #d6e0eb;
  border-bottom:1px solid #d6e0eb;
}
.site-page .section:not(.light-section):not(.cta-section){
  background:rgba(247,249,252,.66);
}
.site-page .card,
.site-page .portfolio-card,
.site-page .quote-card,
.site-page .check-panel,
.site-page .notice,
.site-page .contact-info,
.site-page .quote-form,
.site-page .timeline div{
  border-color:#d4e0ec;
  box-shadow:0 12px 28px rgba(17,33,50,.055);
}
.site-page .card,
.site-page .portfolio-card,
.site-page .timeline div{
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.site-page .card:hover,
.site-page .portfolio-card:hover,
.site-page .timeline div:hover{
  transform:translateY(-2px);
  border-color:#bfd5ec;
  box-shadow:0 16px 34px rgba(17,33,50,.075);
  background:#fbfdff;
}
.site-page .card h3,
.site-page .portfolio-card h3,
.site-page .timeline h3{color:#071321}
.site-page .card h3:after,
.site-page .portfolio-card h3:after{
  content:"";
  display:block;
  width:34px;
  height:2px;
  margin-top:10px;
  background:#1b65bd;
  border-radius:99px;
  opacity:.76;
}
.site-page .timeline span,
.site-page .steps-list span{
  background:#e8f2ff;
  color:#1b65bd;
}
.site-page .check-panel li:before{color:#1b65bd}
.site-page .contact-link{
  background:#edf5ff;
  border-color:#c7ddf6;
}
.site-page .quote-form input:focus,
.site-page .quote-form select:focus,
.site-page .quote-form textarea:focus{
  border-color:#1b65bd;
  box-shadow:0 0 0 4px rgba(27,101,189,.12);
}
.site-page .cta-section{background:rgba(241,244,247,.82)}
.site-page .cta-card{
  background:linear-gradient(135deg,#10243a 0%,#071321 100%);
  border:1px solid rgba(123,182,255,.16);
  box-shadow:0 18px 40px rgba(7,19,33,.13);
}
.site-page .cta-card .button.primary{
  background:#ffffff;
  color:#071321;
  border-color:#ffffff;
  box-shadow:none;
}
.site-page .cta-card .button.primary:hover{background:#f3f8ff}

/* Page-specific variation, so every page keeps its own rhythm. */
.page-websites .page-hero{
  background:
    radial-gradient(circle at 15% 18%, rgba(27,101,189,.18), transparent 34%),
    radial-gradient(circle at 82% 30%, rgba(123,182,255,.11), transparent 28%),
    linear-gradient(180deg,rgba(247,250,253,.95),rgba(239,244,249,.91));
}
.page-websites .check-panel{
  border-left:4px solid #1b65bd;
}

.page-werkwijze .timeline div:nth-child(2n){
  background:#f8fbff;
}
.page-werkwijze .timeline div:nth-child(3n){
  border-top:4px solid rgba(27,101,189,.72);
}
.page-werkwijze .quote-card{
  background:linear-gradient(135deg,#10243a 0%,#071321 100%);
  color:#dbe7f6;
  border-color:rgba(123,182,255,.18);
}
.page-werkwijze .quote-card p{color:#dbe7f6;font-size:18px}

.page-onderhoud .cards.three .card{
  position:relative;
  overflow:hidden;
}
.page-onderhoud .cards.three .card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#1b65bd,rgba(123,182,255,.35));
}
.page-onderhoud .cta-card{
  background:linear-gradient(135deg,#071321 0%,#122b46 100%);
}

.page-voorbeelden .portfolio-grid{gap:20px}
.page-voorbeelden .portfolio-card{
  min-height:210px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.page-voorbeelden .portfolio-card span{
  color:#1b65bd;
  background:#e8f2ff;
  border:1px solid #c8def7;
  border-radius:999px;
  padding:7px 10px;
  width:max-content;
  margin-bottom:18px;
}
.page-voorbeelden .section-head{
  background:#ffffff;
  border:1px solid #d4e0ec;
  border-radius:24px;
  padding:34px 38px;
  box-shadow:0 12px 28px rgba(17,33,50,.055);
}

.page-about .values-grid > div:first-child{
  background:#ffffff;
  border:1px solid #d4e0ec;
  border-radius:24px;
  padding:34px 38px;
  box-shadow:0 12px 28px rgba(17,33,50,.055);
}
.page-about .check-panel{
  background:#fbfdff;
  border-left:4px solid #1b65bd;
}

.page-contact .contact-info,
.page-contact .quote-form{
  border-top:4px solid rgba(27,101,189,.76);
}
.page-contact .notice{
  background:#f5f9ff;
}
.page-contact .quote-form{
  background:rgba(255,255,255,.96);
}

.page-thank-you .page-hero{
  min-height:calc(100vh - 78px - 230px);
  display:flex;
  align-items:center;
}
.page-thank-you .page-hero .narrow{
  background:rgba(255,255,255,.76);
  border:1px solid #d4e0ec;
  border-radius:26px;
  padding:44px 40px;
  box-shadow:0 18px 40px rgba(7,19,33,.10);
}

@media(max-width:980px){
  .site-page .site-header .desktop-nav,
  .site-page .site-header .nav-cta{display:none}
  .site-page .site-header .menu-button{display:block}
  .site-page .mobile-nav.open{display:block}
}
@media(max-width:640px){
  body.site-page{background-attachment:scroll}
  .site-page .page-hero h1{font-size:38px}
  .page-voorbeelden .section-head,
  .page-about .values-grid > div:first-child,
  .page-thank-you .page-hero .narrow{padding:26px 22px}
}

/* v8.4 - CTA polish, cleaner section rhythm and safer button behaviour */
.button,
.nav-cta,
.mobile-cta{
  white-space:nowrap;
}

.home-page .final-cta,
.site-page .cta-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:34px;
  border:1px solid rgba(123,182,255,.22);
  box-shadow:0 20px 44px rgba(7,19,33,.14);
}
.home-page .final-cta:before,
.site-page .cta-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,rgba(123,182,255,.92),rgba(27,101,189,.28));
}
.home-page .final-cta > *,
.site-page .cta-card > *{
  position:relative;
  z-index:1;
}
.home-page .final-cta .cta-actions{
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  min-width:max-content;
}
.home-page .final-cta .button,
.site-page .cta-card .button{
  width:auto;
  min-width:168px;
  min-height:48px;
  padding:0 22px;
  line-height:1.2;
  flex:0 0 auto;
}
.home-page .final-cta .button.secondary{
  background:rgba(255,255,255,.04);
  border-color:rgba(123,182,255,.34);
  color:#ffffff;
}
.home-page .final-cta .button.secondary:hover{
  background:rgba(123,182,255,.12);
  border-color:rgba(123,182,255,.60);
}
.site-page .cta-card .button.primary{
  background:#ffffff;
  color:#071321;
  border-color:#ffffff;
  justify-self:end;
}
.site-page .cta-card .button.primary:hover{
  background:#eef6ff;
}

/* Reduce repeated hard divider lines; use soft spacing and page-specific cards instead. */
.site-page .page-hero{
  border-bottom:0;
  box-shadow:inset 0 -1px 0 rgba(27,101,189,.09);
}
.site-page .page-hero:after{
  opacity:.38;
}
.site-page .light-section{
  border-top:0;
  border-bottom:0;
  box-shadow:inset 0 1px 0 rgba(27,101,189,.06), inset 0 -1px 0 rgba(27,101,189,.045);
}
.site-page .section:not(.light-section):not(.cta-section){
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48);
}
.site-page .cta-section{
  border-top:0;
}

/* Keep the stronger light-blue card edge where it works well. */
.page-onderhoud .cards.three .card,
.page-contact .contact-info,
.page-contact .quote-form,
.page-contact .notice{
  border-color:#c8def7;
}
.page-onderhoud .cards.three .card:before{
  width:5px;
}

/* Cleaner CTA balance on specific inner pages. */
.page-onderhoud .cta-card,
.page-websites .cta-card{
  min-height:190px;
  padding:42px 46px;
}
.page-onderhoud .cta-card h2,
.page-websites .cta-card h2{
  max-width:720px;
}
.page-onderhoud .cta-card p,
.page-websites .cta-card p{
  max-width:660px;
}

@media(max-width:980px){
  .home-page .final-cta,
  .site-page .cta-card{
    grid-template-columns:1fr;
    align-items:start;
  }
  .home-page .final-cta .cta-actions,
  .site-page .cta-card .button.primary{
    justify-self:start;
  }
  .home-page .final-cta .cta-actions{
    justify-content:flex-start;
    min-width:0;
  }
}
@media(max-width:640px){
  .home-page .final-cta,
  .site-page .cta-card{
    padding:28px 24px;
  }
  .home-page .final-cta .cta-actions{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }
  .home-page .final-cta .button,
  .site-page .cta-card .button{
    width:100%;
    min-width:0;
  }
  .site-page .page-hero:after{
    width:68vw;
  }
}

/* v8.5.1 - correction: restore CTA blocks from v8.4 and only calm Werkwijze cards */
.page-werkwijze .timeline div,
.page-werkwijze .timeline div:nth-child(2n),
.page-werkwijze .timeline div:nth-child(3n){
  border-top:1px solid #d4e0ec;
}
.page-werkwijze .timeline div:hover,
.page-werkwijze .timeline div:nth-child(3n):hover{
  border-top-color:#bfd5ec;
}


/* v8.5.2 - correction: remove repeated bottom CTA blocks on inner pages and restore homepage nav CTA to navy */
.home-page .site-header .nav-cta{
  background:#10243a;
  color:#ffffff;
  border:1px solid rgba(123,182,255,.34);
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}
.home-page .site-header .nav-cta:hover{
  background:#16314d;
  color:#ffffff;
}
.page-werkwijze .timeline div,
.page-werkwijze .timeline div:nth-child(2n),
.page-werkwijze .timeline div:nth-child(3n),
.page-werkwijze .timeline div:hover,
.page-werkwijze .timeline div:nth-child(3n):hover{
  border-top:1px solid #d4e0ec;
}
.page-websites main > .section:last-of-type,
.page-onderhoud main > .section:last-of-type,
.page-about main > .section:last-of-type{
  padding-bottom:96px;
}
@media(max-width:640px){
  .page-websites main > .section:last-of-type,
  .page-onderhoud main > .section:last-of-type,
  .page-about main > .section:last-of-type{
    padding-bottom:64px;
  }
}

/* v8.5.4 - UX polish: remove hover feedback from non-clickable information cards */
.site-page .card,
.site-page .portfolio-card,
.site-page .timeline div{
  transition:none;
}
.site-page .card:hover,
.site-page .portfolio-card:hover,
.site-page .timeline div:hover,
.site-page .page-werkwijze .timeline div:hover,
.site-page .page-werkwijze .timeline div:nth-child(3n):hover{
  transform:none;
  border-color:#d4e0ec;
  box-shadow:0 12px 28px rgba(17,33,50,.055);
  background:#ffffff;
}
.site-page .page-werkwijze .timeline div:nth-child(2n):hover{
  background:#f8fbff;
}
.site-page .page-werkwijze .timeline div,
.site-page .page-werkwijze .timeline div:nth-child(2n),
.site-page .page-werkwijze .timeline div:nth-child(3n),
.site-page .page-werkwijze .timeline div:hover,
.site-page .page-werkwijze .timeline div:nth-child(3n):hover{
  border-top:1px solid #d4e0ec;
}

/* v8.5.5 - subtle header polish */
.home-page .site-header .nav-wrap,
.site-page .site-header .nav-wrap{
  min-height:78px;
  align-items:center;
}
.home-page .site-header .brand,
.site-page .site-header .brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 6px;
  margin-left:-6px;
}
.home-page .site-header .brand img,
.site-page .site-header .brand img{
  height:46px;
  width:auto;
  display:block;
}
.home-page .site-header .desktop-nav,
.site-page .site-header .desktop-nav{
  gap:5px;
}
.home-page .site-header .desktop-nav a,
.site-page .site-header .desktop-nav a{
  font-weight:650;
  font-size:14px;
  line-height:1;
  padding:11px 13px;
  letter-spacing:-.01em;
}
.home-page .site-header .desktop-nav a.active,
.site-page .site-header .desktop-nav a.active{
  font-weight:760;
  background:rgba(123,182,255,.13);
  color:#ffffff;
  box-shadow:inset 0 0 0 1px rgba(123,182,255,.06);
}
.home-page .site-header .nav-cta,
.site-page .site-header .nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  margin-left:14px;
  border-radius:12px;
  font-weight:760;
  letter-spacing:-.01em;
  background:linear-gradient(180deg,#132a44 0%,#0f2238 100%);
  color:#ffffff;
  border:1px solid rgba(123,182,255,.42);
  box-shadow:0 10px 24px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.05);
  white-space:nowrap;
}
.home-page .site-header .nav-cta:hover,
.site-page .site-header .nav-cta:hover{
  background:linear-gradient(180deg,#173451 0%,#10263f 100%);
  color:#ffffff;
  border-color:rgba(123,182,255,.58);
}
.page-contact .site-header .nav-cta{
  visibility:hidden;
  pointer-events:none;
}
.page-contact .mobile-nav .mobile-cta{
  display:none!important;
}
@media(max-width:640px){
  .home-page .site-header .brand img,
  .site-page .site-header .brand img{
    height:39px;
  }
  .home-page .site-header .brand,
  .site-page .site-header .brand{
    margin-left:-4px;
    padding:3px 4px;
  }
}

/* v8.5.7 - Homepage service links: clearer clickable hover/focus state */
.home-page .service-row{
  cursor:pointer;
  transition:background-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.home-page .service-row:hover,
.home-page .service-row:focus-visible{
  background:linear-gradient(90deg,rgba(27,101,189,.075) 0%,rgba(27,101,189,.035) 100%);
  transform:translateX(5px);
}
.home-page .service-row:focus-visible{
  outline:2px solid rgba(27,101,189,.42);
  outline-offset:-2px;
  box-shadow:inset 4px 0 0 rgba(27,101,189,.34);
}
@media(max-width:640px){
  .home-page .service-row:hover,
  .home-page .service-row:focus-visible{
    transform:translateX(3px);
  }
}

/* v8.5.8 - visual stability: keep global glow, but stop it affecting cards/hover states */
.home-page .hero-side,
.home-page .service-list,
.home-page .service-row,
.home-page .route-steps div,
.site-page .card,
.site-page .portfolio-card,
.site-page .quote-card,
.site-page .check-panel,
.site-page .notice,
.site-page .contact-info,
.site-page .quote-form,
.site-page .timeline div,
.page-voorbeelden .section-head,
.page-about .values-grid > div:first-child,
.page-thank-you .page-hero .narrow{
  background-color:#ffffff;
}

.home-page .service-list{
  background:#ffffff;
  border-color:#d4e0ec;
}

.home-page .service-row{
  background:#ffffff;
}

.home-page .service-row:hover,
.home-page .service-row:focus-visible{
  background:#f3f8ff;
}

.site-page .button.secondary:hover,
.site-page .cta-card .button.primary:hover,
.home-page .final-cta .button.primary:hover{
  background:#f3f8ff;
}

.page-werkwijze .timeline div:nth-child(2n),
.site-page .page-werkwijze .timeline div:nth-child(2n):hover{
  background:#f8fbff;
}

.page-contact .notice{
  background:#f5f9ff;
}

.page-about .check-panel{
  background:#fbfdff;
}

.home-page .intro-section,
.home-page .route-section,
.home-page .cta-section,
.home-page .services-overview,
.home-page .reassurance-section,
.site-page .light-section,
.site-page .section:not(.light-section):not(.cta-section),
.site-page .cta-section{
  background-clip:padding-box;
}

/* v8.5.11 - Websites page: visual variation for repeated content blocks */
.page-websites .technical-basis-section .section-head{
  max-width:760px;
  margin-bottom:30px;
}
.page-websites .technical-benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.page-websites .technical-benefits article{
  background:#ffffff;
  border:1px solid #d4e0ec;
  border-radius:22px;
  padding:24px;
  box-shadow:0 12px 28px rgba(17,33,50,.055);
  position:relative;
  overflow:hidden;
}
.page-websites .technical-benefits article:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#1b65bd,rgba(123,182,255,.38));
}
.page-websites .technical-benefits span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:12px;
  background:#e8f2ff;
  color:#1b65bd;
  font-size:13px;
  font-weight:900;
  margin-bottom:18px;
}
.page-websites .technical-benefits h3{
  margin:0 0 10px;
  font-size:21px;
  color:#071321;
}
.page-websites .technical-benefits p{
  margin:0;
  color:#54657a;
}
.page-websites .audience-section .container{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:44px;
  align-items:start;
}
.page-websites .audience-intro{
  max-width:520px;
}
.page-websites .audience-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.page-websites .audience-grid div{
  background:#ffffff;
  border:1px solid #d4e0ec;
  border-radius:16px;
  padding:16px 18px 16px 42px;
  color:#465a71;
  font-weight:750;
  box-shadow:0 10px 22px rgba(17,33,50,.045);
  position:relative;
}
.page-websites .audience-grid div:before{
  content:"✓";
  position:absolute;
  left:18px;
  top:16px;
  color:#1b65bd;
  font-weight:900;
}
.page-websites .audience-grid div:last-child{
  grid-column:1/-1;
}
@media(max-width:980px){
  .page-websites .technical-benefits,
  .page-websites .audience-section .container{
    grid-template-columns:1fr;
  }
  .page-websites .audience-intro{
    max-width:none;
  }
}
@media(max-width:640px){
  .page-websites .audience-grid{
    grid-template-columns:1fr;
  }
  .page-websites .audience-grid div:last-child{
    grid-column:auto;
  }
}

/* v8.5.12 - Websites final CTA button visibility fix */
.site-page .final-cta .cta-actions{
  justify-content:flex-end;
}
.site-page .final-cta .button.primary{
  background:#ffffff;
  color:#071321;
  border-color:#ffffff;
  box-shadow:none;
  min-width:220px;
}
.site-page .final-cta .button.primary:hover{
  background:#eef6ff;
  color:#071321;
}

/* v8.5.13 - Consistent white contact CTA buttons */
.nav-cta,
.home-page .nav-cta,
.site-page .nav-cta,
.mobile-cta,
.home-page .mobile-cta,
.site-page .mobile-cta,
a.button.primary[href="contact.html"],
.home-page a.button.primary[href="contact.html"],
.site-page a.button.primary[href="contact.html"],
.home-page .final-cta a.button.primary[href="contact.html"],
.site-page .final-cta a.button.primary[href="contact.html"],
.site-page .cta-card a.button.primary[href="contact.html"]{
  background:#ffffff !important;
  color:#071321 !important;
  border:1px solid #d6e0eb !important;
  box-shadow:0 10px 22px rgba(7,19,33,.08) !important;
}

.nav-cta:hover,
.home-page .nav-cta:hover,
.site-page .nav-cta:hover,
.mobile-cta:hover,
.home-page .mobile-cta:hover,
.site-page .mobile-cta:hover,
a.button.primary[href="contact.html"]:hover,
.home-page a.button.primary[href="contact.html"]:hover,
.site-page a.button.primary[href="contact.html"]:hover,
.home-page .final-cta a.button.primary[href="contact.html"]:hover,
.site-page .final-cta a.button.primary[href="contact.html"]:hover,
.site-page .cta-card a.button.primary[href="contact.html"]:hover{
  background:#f3f8ff !important;
  color:#071321 !important;
  border-color:#b9d2ee !important;
  transform:translateY(-1px);
}


/* v8.5.14 - Mail action clarity and unified CTA interaction */
.button,
.nav-cta,
.mobile-cta{
  transition:background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.button:active,
.nav-cta:active,
.mobile-cta:active{
  transform:translateY(0);
}

a.button.mail-button[href^="mailto:"]{
  gap:9px;
  background:#176fd6 !important;
  color:#ffffff !important;
  border-color:#2f86ee !important;
  box-shadow:0 12px 26px rgba(23,111,214,.22) !important;
}

a.button.mail-button[href^="mailto:"]:hover{
  background:#2584f2 !important;
  color:#ffffff !important;
  border-color:#6fb0ff !important;
  box-shadow:0 14px 30px rgba(23,111,214,.28) !important;
  transform:translateY(-1px);
}

a.button.mail-button[href^="mailto:"] .btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:21px;
  height:21px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  color:#ffffff;
  font-size:13px;
  line-height:1;
}

.nav-cta:hover,
.home-page .nav-cta:hover,
.site-page .nav-cta:hover,
.mobile-cta:hover,
.home-page .mobile-cta:hover,
.site-page .mobile-cta:hover,
a.button.primary[href="contact.html"]:hover,
.home-page a.button.primary[href="contact.html"]:hover,
.site-page a.button.primary[href="contact.html"]:hover,
.home-page .final-cta a.button.primary[href="contact.html"]:hover,
.site-page .final-cta a.button.primary[href="contact.html"]:hover,
.site-page .cta-card a.button.primary[href="contact.html"]:hover{
  box-shadow:0 14px 28px rgba(7,19,33,.11) !important;
  transform:translateY(-1px);
}

/* v8.5.15 - Websites hero werkwijze button navy */
.page-websites .page-hero a.button.navy-button[href="werkwijze.html"]{
  background:#071321 !important;
  color:#ffffff !important;
  border-color:#16304d !important;
  box-shadow:0 12px 26px rgba(7,19,33,.18) !important;
}

.page-websites .page-hero a.button.navy-button[href="werkwijze.html"]:hover{
  background:#10243a !important;
  color:#ffffff !important;
  border-color:#24517d !important;
  box-shadow:0 14px 30px rgba(7,19,33,.22) !important;
  transform:translateY(-1px);
}

/* v8.5.16 - polished section labels */
.eyebrow,
.intro-kicker,
.portfolio-card > span{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:fit-content;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.145em;
  text-transform:uppercase;
  margin:0 0 16px;
}

.eyebrow::before,
.intro-kicker::before,
.portfolio-card > span::before{
  content:"";
  display:inline-block;
  flex:0 0 auto;
  width:3px;
  height:14px;
  border-radius:999px;
  background:linear-gradient(180deg,#1b65bd 0%,#7bb6ff 100%);
  box-shadow:0 0 0 4px rgba(27,101,189,.08);
}

.site-page .eyebrow,
.home-page .eyebrow,
.portfolio-card > span{
  color:#185fae;
}

.page-hero .eyebrow,
.section-head:not(.left) .eyebrow{
  margin-left:auto;
  margin-right:auto;
}

.page-hero .eyebrow,
.final-cta .eyebrow,
.cta-card .eyebrow,
.reassurance-card .eyebrow{
  font-size:12px;
  line-height:1.2;
  margin-bottom:16px;
}

.final-cta .eyebrow::before,
.cta-card .eyebrow::before,
.reassurance-card .eyebrow::before{
  background:linear-gradient(180deg,#7bb6ff 0%,#d8bc89 100%);
  box-shadow:0 0 0 4px rgba(123,182,255,.10);
}

.intro-kicker::before{
  background:linear-gradient(180deg,#8a6a39 0%,#ead8bd 100%);
  box-shadow:0 0 0 4px rgba(194,154,91,.10);
}

/* v8.5.17 - disable sticky behavior on homepage services intro block */
.home-page .services-head{
  position:static;
  top:auto;
}

/* v8.5.19 - balanced background glow
   Keeps the DVLabs glow subtle and distributed across the page, while cards keep their stable surface. */
body.home-page{
  background:
    radial-gradient(ellipse 980px 560px at 12% 8%, rgba(27,101,189,.12), transparent 72%),
    radial-gradient(ellipse 820px 500px at 88% 26%, rgba(123,182,255,.10), transparent 70%),
    radial-gradient(ellipse 900px 540px at 20% 64%, rgba(27,101,189,.065), transparent 72%),
    radial-gradient(ellipse 760px 480px at 84% 88%, rgba(123,182,255,.06), transparent 70%),
    linear-gradient(180deg,#f7f9fc 0%,#eef2f6 44%,#f6f8fb 100%);
  background-attachment:fixed;
}
body.site-page{
  background:
    radial-gradient(ellipse 980px 560px at 12% 8%, rgba(27,101,189,.11), transparent 72%),
    radial-gradient(ellipse 820px 500px at 88% 26%, rgba(123,182,255,.10), transparent 70%),
    radial-gradient(ellipse 900px 540px at 18% 66%, rgba(27,101,189,.065), transparent 72%),
    radial-gradient(ellipse 760px 480px at 84% 90%, rgba(123,182,255,.055), transparent 70%),
    linear-gradient(180deg,#f7f9fc 0%,#eef2f6 45%,#f7f9fc 100%);
  background-attachment:fixed;
}
.home-page .home-hero,
.site-page .page-hero{
  background:
    radial-gradient(ellipse 900px 470px at 18% 14%, rgba(27,101,189,.12), transparent 72%),
    radial-gradient(ellipse 720px 420px at 86% 24%, rgba(123,182,255,.08), transparent 70%),
    linear-gradient(180deg,rgba(247,250,253,.88) 0%,rgba(239,244,249,.78) 100%);
}
.page-websites .page-hero,
.page-contact .page-hero{
  background:
    radial-gradient(ellipse 900px 470px at 18% 14%, rgba(27,101,189,.12), transparent 72%),
    radial-gradient(ellipse 720px 420px at 86% 24%, rgba(123,182,255,.08), transparent 70%),
    linear-gradient(180deg,rgba(247,250,253,.88) 0%,rgba(239,244,249,.78) 100%);
}
.home-page .intro-section,
.home-page .route-section,
.home-page .cta-section,
.site-page .light-section,
.site-page .cta-section{
  background:
    radial-gradient(ellipse 760px 420px at 88% 36%, rgba(123,182,255,.055), transparent 72%),
    linear-gradient(180deg,rgba(241,244,247,.74),rgba(241,244,247,.68));
}
.home-page .services-overview,
.home-page .reassurance-section,
.site-page .section:not(.light-section):not(.cta-section){
  background:
    radial-gradient(ellipse 780px 430px at 12% 42%, rgba(27,101,189,.05), transparent 72%),
    radial-gradient(ellipse 680px 380px at 86% 70%, rgba(123,182,255,.045), transparent 72%),
    linear-gradient(180deg,rgba(247,249,252,.72),rgba(247,249,252,.66));
}
.site-page .card,
.site-page .portfolio-card,
.site-page .quote-card,
.site-page .check-panel,
.site-page .notice,
.site-page .contact-info,
.site-page .quote-form,
.site-page .timeline div,
.home-page .hero-side,
.home-page .service-list,
.home-page .route-steps div,
.home-page .intro-block{
  background:#ffffff;
}


/* v8.5.20 - full page background glow
   Broader, continuous DVLabs-blue page glow while keeping cards and content surfaces stable. */
body.home-page,
body.site-page{
  background:
    radial-gradient(ellipse at 12% 7%, rgba(27,101,189,.20), transparent 42%),
    radial-gradient(ellipse at 88% 16%, rgba(123,182,255,.16), transparent 40%),
    radial-gradient(ellipse at 16% 43%, rgba(27,101,189,.105), transparent 38%),
    radial-gradient(ellipse at 86% 64%, rgba(123,182,255,.13), transparent 42%),
    radial-gradient(ellipse at 46% 92%, rgba(27,101,189,.11), transparent 46%),
    linear-gradient(180deg,#f8fbff 0%,#eef4fa 34%,#f7faff 68%,#edf3f9 100%);
  background-attachment:scroll;
  background-repeat:no-repeat;
  background-size:100% 100%;
}

.home-page .home-hero,
.site-page .page-hero{
  background:
    radial-gradient(ellipse at 20% 16%, rgba(27,101,189,.18), transparent 38%),
    radial-gradient(ellipse at 82% 18%, rgba(123,182,255,.14), transparent 36%),
    linear-gradient(180deg,rgba(248,251,255,.82) 0%,rgba(239,245,251,.72) 100%);
}

.home-page .intro-section,
.home-page .route-section,
.home-page .cta-section,
.site-page .light-section,
.site-page .cta-section{
  background:rgba(241,246,251,.58);
}

.home-page .services-overview,
.site-page .section:not(.light-section):not(.cta-section){
  background:rgba(247,250,253,.50);
}

.home-page .reassurance-section{
  background:rgba(244,248,252,.54);
}

.site-page .websites-overview,
.site-page .website-audience,
.site-page .website-trust,
.site-page .website-process,
.site-page .website-costs{
  background:rgba(247,250,253,.50);
}

.home-page .hero-side,
.home-page .service-list,
.home-page .route-steps div,
.site-page .card,
.site-page .portfolio-card,
.site-page .quote-card,
.site-page .check-panel,
.site-page .notice,
.site-page .quote-form,
.site-page .contact-info,
.site-page .website-card,
.site-page .audience-card,
.site-page .process-card,
.site-page .cost-card{
  background:#ffffff;
}

/* v8.5.21 - refined continuous background glow
   Softer, full-page DVLabs glow: less spot-like, more continuous atmospheric layer. */
body.home-page,
body.site-page{
  background:
    linear-gradient(90deg,
      rgba(27,101,189,.070) 0%,
      rgba(123,182,255,.040) 18%,
      rgba(247,251,255,0) 42%,
      rgba(123,182,255,.045) 72%,
      rgba(27,101,189,.055) 100%),
    linear-gradient(180deg,
      #f8fbff 0%,
      #eef6fd 16%,
      #f7fbff 34%,
      #edf5fc 52%,
      #f8fbff 70%,
      #eef6fd 86%,
      #f7fbff 100%),
    radial-gradient(ellipse 145% 86% at 50% 8%, rgba(27,101,189,.105), rgba(123,182,255,.045) 38%, transparent 74%),
    radial-gradient(ellipse 135% 82% at 50% 48%, rgba(123,182,255,.072), rgba(27,101,189,.035) 42%, transparent 76%),
    radial-gradient(ellipse 145% 86% at 50% 96%, rgba(27,101,189,.080), rgba(123,182,255,.035) 40%, transparent 78%);
  background-attachment:scroll;
  background-repeat:no-repeat;
  background-size:100% 100%;
}

.home-page .home-hero,
.site-page .page-hero,
.page-websites .page-hero,
.page-contact .page-hero{
  background:
    linear-gradient(90deg,rgba(27,101,189,.060),rgba(247,251,255,0) 42%,rgba(123,182,255,.050)),
    linear-gradient(180deg,rgba(248,251,255,.66) 0%,rgba(239,246,252,.52) 100%);
}

.home-page .intro-section,
.home-page .route-section,
.home-page .cta-section,
.site-page .light-section,
.site-page .cta-section{
  background:rgba(242,247,252,.36);
}

.home-page .services-overview,
.site-page .section:not(.light-section):not(.cta-section){
  background:rgba(248,251,254,.30);
}

.home-page .reassurance-section{
  background:rgba(244,249,253,.34);
}

.site-page .websites-overview,
.site-page .website-audience,
.site-page .website-trust,
.site-page .website-process,
.site-page .website-costs{
  background:rgba(248,251,254,.30);
}

.home-page .hero-side,
.home-page .service-list,
.home-page .route-steps div,
.home-page .intro-block,
.site-page .card,
.site-page .portfolio-card,
.site-page .quote-card,
.site-page .check-panel,
.site-page .notice,
.site-page .quote-form,
.site-page .contact-info,
.site-page .timeline div,
.site-page .website-card,
.site-page .audience-card,
.site-page .process-card,
.site-page .cost-card{
  background:#ffffff;
}

/* v8.5.22 - true full page background glow
   Move the DVLabs glow to the global page atmosphere instead of section/hero hotspots. */
html{
  background:#f3f8fe;
}
body.home-page,
body.site-page{
  background-color:#f4f9ff;
  background-image:
    linear-gradient(90deg,
      rgba(27,101,189,.095) 0%,
      rgba(123,182,255,.040) 20%,
      rgba(248,252,255,0) 48%,
      rgba(123,182,255,.042) 78%,
      rgba(27,101,189,.085) 100%),
    linear-gradient(180deg,
      rgba(248,252,255,.86) 0%,
      rgba(235,246,255,.80) 18%,
      rgba(247,251,255,.78) 36%,
      rgba(232,244,255,.80) 56%,
      rgba(248,252,255,.76) 76%,
      rgba(235,246,255,.78) 100%),
    radial-gradient(ellipse 130% 92% at -18% 22%, rgba(27,101,189,.105), transparent 62%),
    radial-gradient(ellipse 130% 94% at 118% 48%, rgba(123,182,255,.120), transparent 64%),
    radial-gradient(ellipse 130% 92% at -12% 78%, rgba(27,101,189,.082), transparent 62%);
  background-repeat:no-repeat;
  background-position:center top, center top, left top, right center, left bottom;
  background-size:100% 100%, 100% 100%, 100% 1800px, 100% 1800px, 100% 1800px;
  background-attachment:scroll;
}

.home-page .home-hero,
.site-page .page-hero,
.page-websites .page-hero,
.page-contact .page-hero{
  background:linear-gradient(180deg,rgba(248,252,255,.34) 0%,rgba(239,247,254,.20) 100%);
}

.home-page .intro-section,
.home-page .route-section,
.home-page .cta-section,
.site-page .light-section,
.site-page .cta-section,
.home-page .services-overview,
.site-page .section:not(.light-section):not(.cta-section),
.home-page .reassurance-section,
.site-page .websites-overview,
.site-page .website-audience,
.site-page .website-trust,
.site-page .website-process,
.site-page .website-costs{
  background:rgba(255,255,255,.10);
}

.home-page .hero-side,
.home-page .service-list,
.home-page .route-steps div,
.home-page .intro-block,
.site-page .card,
.site-page .portfolio-card,
.site-page .quote-card,
.site-page .check-panel,
.site-page .notice,
.site-page .quote-form,
.site-page .contact-info,
.site-page .timeline div,
.site-page .website-card,
.site-page .audience-card,
.site-page .process-card,
.site-page .cost-card{
  background:#ffffff;
}

/* v8.5.23 - subtle glow and quote card fix
   Keep the full-page atmosphere, but calm the blue intensity and restore quote/content surfaces. */
html{
  background:#f5f9fe;
}
body.home-page,
body.site-page{
  background-color:#f6faff;
  background-image:
    linear-gradient(90deg,
      rgba(27,101,189,.060) 0%,
      rgba(123,182,255,.030) 22%,
      rgba(248,252,255,0) 50%,
      rgba(123,182,255,.032) 78%,
      rgba(27,101,189,.055) 100%),
    linear-gradient(180deg,
      rgba(249,253,255,.92) 0%,
      rgba(239,248,255,.84) 20%,
      rgba(248,252,255,.86) 40%,
      rgba(238,247,255,.84) 60%,
      rgba(249,253,255,.86) 80%,
      rgba(241,248,255,.84) 100%),
    radial-gradient(ellipse 130% 92% at -18% 24%, rgba(27,101,189,.070), transparent 64%),
    radial-gradient(ellipse 130% 94% at 118% 52%, rgba(123,182,255,.078), transparent 66%),
    radial-gradient(ellipse 130% 92% at -12% 82%, rgba(27,101,189,.052), transparent 64%);
  background-repeat:no-repeat;
  background-position:center top, center top, left top, right center, left bottom;
  background-size:100% 100%, 100% 100%, 100% 1800px, 100% 1800px, 100% 1800px;
  background-attachment:scroll;
}

.home-page .home-hero,
.site-page .page-hero,
.page-websites .page-hero,
.page-contact .page-hero{
  background:linear-gradient(180deg,rgba(248,252,255,.46) 0%,rgba(240,248,255,.34) 100%);
}

.home-page .intro-section,
.home-page .route-section,
.home-page .cta-section,
.site-page .light-section,
.site-page .cta-section,
.home-page .services-overview,
.site-page .section:not(.light-section):not(.cta-section),
.home-page .reassurance-section,
.site-page .websites-overview,
.site-page .website-audience,
.site-page .website-trust,
.site-page .website-process,
.site-page .website-costs{
  background:rgba(255,255,255,.20);
}

.home-page .hero-side,
.home-page .service-list,
.home-page .route-steps div,
.home-page .intro-block,
.site-page .card,
.site-page .portfolio-card,
.site-page .quote-card,
.site-page .check-panel,
.site-page .notice,
.site-page .quote-form,
.site-page .contact-info,
.site-page .timeline div,
.site-page .website-card,
.site-page .audience-card,
.site-page .process-card,
.site-page .cost-card,
.page-voorbeelden .section-head,
.page-about .values-grid > div:first-child,
.page-thank-you .page-hero .narrow{
  background:#ffffff !important;
  background-image:none !important;
}

.site-page .quote-card,
.page-werkwijze .quote-card{
  color:var(--ink) !important;
  border-color:var(--line) !important;
  box-shadow:0 8px 22px rgba(12,31,53,.04) !important;
}

.site-page .quote-card p,
.page-werkwijze .quote-card p{
  color:var(--muted) !important;
}


/* v8.5.25 - refined smart hiding header
   Header hides with a calmer fade/slide and returns near the top or on near-top mouse movement. */
.site-header{
  transition:transform .42s ease, opacity .42s ease, box-shadow .28s ease;
  will-change:transform, opacity;
}

body.site-header--hidden .site-header{
  transform:translateY(-110%);
  opacity:0;
  pointer-events:none;
}

body.site-header--visible .site-header{
  transform:translateY(0);
  opacity:1;
}

@media (prefers-reduced-motion: reduce){
  .site-header{
    transition:none;
  }
}

/* v8.5.26 - improved contact form structure
   Group the contact form into clearer sections while keeping the existing fields and page design. */
.page-contact .quote-form{
  display:block;
  padding:28px;
}

.page-contact .quote-form > input[type="hidden"]{
  display:none;
}

.page-contact .form-section{
  padding:0 0 22px;
  margin:0 0 22px;
  border-bottom:1px solid rgba(207,217,228,.72);
}

.page-contact .form-section-message{
  padding-bottom:18px;
  margin-bottom:20px;
}

.page-contact .form-section-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
}

.page-contact .form-section-head span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:9px;
  background:#eaf4ff;
  border:1px solid #cce2fb;
  color:var(--blue);
  font-size:12px;
  font-weight:900;
  line-height:1;
}

.page-contact .form-section-head h3{
  margin:0;
  color:var(--ink);
  font-size:16px;
  line-height:1.2;
  letter-spacing:-.01em;
}

.page-contact .form-fields{
  display:grid;
  gap:16px;
}

.page-contact .form-fields.two-columns{
  grid-template-columns:1fr 1fr;
}

.page-contact .quote-form label{
  gap:7px;
  font-size:15px;
  line-height:1.35;
}

.page-contact .quote-form .wide,
.page-contact .quote-form .full{
  grid-column:1/-1;
}

.page-contact .label-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}


.page-contact .label-row > span{
  color:var(--text);
  font-weight:800;
}

.page-contact .label-row small{
  color:var(--muted);
  font-size:13px;
  font-weight:650;
}

.page-contact .quote-form input,
.page-contact .quote-form select{
  min-height:54px;
}

.page-contact .quote-form textarea{
  min-height:180px;
  resize:vertical;
}

.page-contact .quote-form .button.primary{
  width:100%;
  min-height:52px;
  margin-top:2px;
}

/* v8.5.28 - contact form validation states
   Make select placeholders visually subtle and mark missing required fields clearly. */
.page-contact .quote-form select.is-placeholder{
  color:#7c8da1;
}

.page-contact .quote-form select option{
  color:var(--ink);
}

.page-contact .quote-form input.field-error,
.page-contact .quote-form select.field-error,
.page-contact .quote-form textarea.field-error{
  border-color:#dc2626;
  box-shadow:0 0 0 4px rgba(220,38,38,.10);
}

.page-contact .quote-form input.field-error:focus,
.page-contact .quote-form select.field-error:focus,
.page-contact .quote-form textarea.field-error:focus{
  border-color:#dc2626;
  box-shadow:0 0 0 4px rgba(220,38,38,.14);
}

/* v8.5.29 - contact form message and placeholder polish
   Align all input placeholders with select placeholders and add a subtle form-level error message. */
.page-contact .quote-form input::placeholder,
.page-contact .quote-form textarea::placeholder{
  color:#7c8da1;
  opacity:1;
}

.page-contact .quote-form .form-error-message{
  display:none;
  margin:2px 0 0;
  padding:12px 14px;
  border:1px solid rgba(220,38,38,.28);
  border-radius:14px;
  background:rgba(254,242,242,.78);
  color:#b91c1c;
  font-size:14px;
  font-weight:750;
  line-height:1.4;
}

.page-contact .quote-form .form-error-message.is-visible{
  display:block;
}

@media(max-width:760px){
  .page-contact .quote-form{
    padding:22px;
  }

  .page-contact .form-fields.two-columns{
    grid-template-columns:1fr;
  }

  .page-contact .form-section{
    padding-bottom:20px;
    margin-bottom:20px;
  }
}

/* v8.5.30 - contact card and budget polish
   Refine the left contact card while keeping the contact page layout stable. */
.page-contact .contact-info{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.page-contact .contact-info h2{
  margin-bottom:4px;
}

.page-contact .contact-info > p{
  margin:0;
}

.page-contact .contact-info .contact-link{
  margin:0;
}

.page-contact .contact-card-points{
  display:grid;
  gap:10px;
  margin:2px 0 0;
}

.page-contact .contact-card-points div{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:10px;
  align-items:start;
  padding:13px 14px;
  border:1px solid rgba(207,217,228,.82);
  border-radius:14px;
  background:rgba(248,251,255,.92);
}

.page-contact .contact-card-points span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:8px;
  background:#eaf4ff;
  color:var(--blue);
  font-size:13px;
  font-weight:900;
  line-height:1;
}

.page-contact .contact-card-points p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}

.page-contact .contact-card-points b{
  color:var(--ink);
  font-size:14px;
  font-weight:850;
}

.page-contact .contact-info .notice{
  margin:0;
}

/* v8.5.31 - card contrast and stability polish
   Make website-page content surfaces feel more grounded while preserving the soft DVLabs atmosphere. */
.page-websites .card,
.page-websites .check-panel,
.page-websites .audience-grid div,
.page-websites .technical-benefits article,
.page-websites .quote-card,
.site-page .quote-card,
.site-page .check-panel{
  background:#ffffff !important;
  border-color:#cbd9e8 !important;
  box-shadow:0 14px 30px rgba(10,31,54,.070) !important;
}

.page-websites .card,
.page-websites .audience-grid div,
.page-websites .technical-benefits article{
  background-image:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
}

.page-websites .card p,
.page-websites .technical-benefits p,
.page-websites .audience-intro p,
.page-websites .check-panel li,
.page-websites .quote-card p,
.page-websites .section-head p,
.page-websites .split p,
.site-page .quote-card p,
.site-page .check-panel li{
  color:#405269 !important;
}

.page-websites .audience-grid div{
  color:#243a55 !important;
  font-weight:800;
}

.page-websites .card h3,
.page-websites .technical-benefits h3,
.page-websites .audience-intro h2,
.page-websites .split h2,
.page-websites .section-head h2{
  color:#071321 !important;
}

.page-websites .check-panel{
  border-left-color:#1b65bd !important;
}

.page-websites .technical-benefits article:before{
  opacity:.92;
}

.page-websites .quote-card,
.site-page .quote-card{
  color:#071321 !important;
}

/* v8.5.37 - header info dropdown and studio mark */
.site-header .brand-lockup{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  line-height:1;
}
.site-header .brand-lockup img{
  height:34px !important;
  width:auto;
  display:block;
}
.site-header .brand-studio{
  align-self:flex-end;
  margin-top: 1px;
  margin-right:2px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.52rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height:1;

  text-transform: uppercase;}
.home-page .site-header .nav-cta,
.site-page .site-header .nav-cta{
  background:rgba(255,255,255,.92);
  color:#071321;
  border:1px solid rgba(191,213,236,.72);
  box-shadow:0 8px 18px rgba(0,0,0,.115);
}
.home-page .site-header .nav-cta:hover,
.site-page .site-header .nav-cta:hover{
  background:#f4f9ff;
  border-color:rgba(123,182,255,.52);
  color:#071321;
  box-shadow:0 10px 20px rgba(0,0,0,.14);
}
.desktop-nav .nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}
.desktop-nav .nav-dropdown-trigger{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:10px 13px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#c8d5e5;
  font:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1;
  cursor:default;
}
.desktop-nav .nav-dropdown:hover .nav-dropdown-trigger,
.desktop-nav .nav-dropdown:focus-within .nav-dropdown-trigger,
.desktop-nav .nav-dropdown.active .nav-dropdown-trigger{
  background:rgba(123,182,255,.12);
  color:#ffffff;
}
.nav-chevron{
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
  opacity:.78;
  flex:0 0 auto;
}
.nav-dropdown-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:178px;
  padding:8px;
  border:1px solid rgba(123,182,255,.20);
  border-radius:14px;
  background:#0f1b2a;
  box-shadow:0 18px 36px rgba(0,0,0,.26);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav-dropdown-menu:before{
  content:"";
  position:absolute;
  top:-8px;
  left:22px;
  width:14px;
  height:14px;
  background:#0f1b2a;
  border-left:1px solid rgba(123,182,255,.20);
  border-top:1px solid rgba(123,182,255,.20);
  transform:rotate(45deg);
}
.desktop-nav .nav-dropdown:hover .nav-dropdown-menu,
.desktop-nav .nav-dropdown:focus-within .nav-dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.desktop-nav .nav-dropdown-menu a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  color:#dbe7f6;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}
.desktop-nav .nav-dropdown-menu a:hover,
.desktop-nav .nav-dropdown-menu a:focus{
  background:rgba(123,182,255,.12);
  color:#ffffff;
  outline:0;
}
.mobile-dropdown{
  display:grid;
  gap:6px;
}
.mobile-dropdown-trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:12px 14px;
  border:0;
  border-radius:12px;
  background:#111c2b;
  color:#dbe7f6;
  font:inherit;
  font-weight:850;
  text-align:left;
}
.home-page .mobile-dropdown-trigger,
.site-page .mobile-dropdown-trigger{
  background:#111c2b;
  color:#dbe7f6;
}
.mobile-dropdown.open .mobile-dropdown-trigger{
  background:#162438;
  color:#ffffff;
}
.mobile-dropdown.open .nav-chevron{
  transform:rotate(225deg) translate(-1px,-1px);
}
.mobile-dropdown-menu{
  display:none;
  gap:6px;
  padding-left:12px;
}
.mobile-dropdown.open .mobile-dropdown-menu{
  display:grid;
}
.mobile-dropdown-menu a{
  background:#0f1b2a !important;
  color:#dbe7f6 !important;
}
.mobile-dropdown-menu a:hover{
  background:#162438 !important;
  color:#ffffff !important;
}
.page-voorwaarden .terms-layout{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:46px;
  align-items:start;
}
.page-voorwaarden .terms-list{
  display:grid;
  gap:16px;
}
.page-voorwaarden .terms-list .card a{
  color:var(--blue);
  font-weight:850;
}
@media(max-width:980px){
  .page-voorwaarden .terms-layout{grid-template-columns:1fr}
}
@media(max-width:640px){
  .site-header .brand-lockup img{height:31px !important}
  .site-header .brand-studio{font-size: 0.52rem;margin-top:-3px
  font-weight: 500;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.68);
  text-transform: uppercase;
  line-height: 1;}
}

/* v8.5.38 - refined header balance */
.home-page .site-header .brand,
.site-page .site-header .brand{
  flex:0 0 auto;
}

.site-header .brand-lockup img{
  height:42px !important;
}

.site-header .brand-studio{
  margin-top: 1px;
  margin-right:3px;
  font-size: 0.52rem;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.68);

  font-weight: 500;
  text-transform: uppercase;
  line-height: 1;}

.home-page .site-header .desktop-nav,
.site-page .site-header .desktop-nav{
  margin-left:clamp(42px,5.5vw,86px) !important;
  margin-right:auto !important;
  gap:4px;
}

.home-page .site-header .nav-cta,
.site-page .site-header .nav-cta{
  min-height:40px;
  padding:0 15px;
  margin-left:18px;
  border-radius:11px;
  font-size:13.5px;
  font-weight:760;
  background:rgba(255,255,255,.88);
  border-color:rgba(191,213,236,.68);
  box-shadow:0 6px 14px rgba(0,0,0,.10);
}

.home-page .site-header .nav-cta:hover,
.site-page .site-header .nav-cta:hover{
  background:#f5f9fe;
  border-color:rgba(123,182,255,.46);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}

.desktop-nav .nav-dropdown-trigger{
  min-height:40px;
  padding:10px 12px;
  border-radius:10px;
}

.nav-chevron{
  width:6px;
  height:6px;
  border-right-width:2px;
  border-bottom-width:2px;
  opacity:.72;
  margin-left:1px;
}

.nav-dropdown-menu{
  top:calc(100% + 8px);
  left:50%;
  min-width:166px;
  padding:7px;
  border-radius:13px;
  background:linear-gradient(180deg,#132238 0%,#0d1827 100%);
  border:1px solid rgba(123,182,255,.24);
  box-shadow:0 16px 30px rgba(3,10,20,.24), inset 0 1px 0 rgba(255,255,255,.04);
  transform:translate(-50%,7px);
}

.nav-dropdown-menu:before{
  left:50%;
  top:-7px;
  width:12px;
  height:12px;
  background:#132238;
  border-left:1px solid rgba(123,182,255,.24);
  border-top:1px solid rgba(123,182,255,.24);
  transform:translateX(-50%) rotate(45deg);
}

.desktop-nav .nav-dropdown:hover .nav-dropdown-menu,
.desktop-nav .nav-dropdown:focus-within .nav-dropdown-menu{
  transform:translate(-50%,0);
}

.desktop-nav .nav-dropdown-menu a{
  padding:10px 11px;
  border-radius:9px;
  font-size:13.5px;
  color:#d8e5f5;
}

.desktop-nav .nav-dropdown-menu a:hover,
.desktop-nav .nav-dropdown-menu a:focus{
  background:rgba(123,182,255,.13);
  color:#ffffff;
}

@media(max-width:980px){
  .site-header .brand-lockup img{height:38px !important;}
  .site-header .brand-studio{font-size: 0.52rem;margin-top: 1px;
  font-weight: 500;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.68);
  text-transform: uppercase;
  line-height: 1;}
}


/* v8.5.39 - header balance correction */
@media (min-width: 900px) {
  .nav-links,
  .site-nav,
  .main-nav,
  .header-nav {
    /* Small correction back to the right after v8.5.38 moved the nav too far left. */
  }
}

/* v8.5.40 - final header logo and nav alignment */
@media (min-width: 981px){
  .home-page .site-header .desktop-nav,
  .site-page .site-header .desktop-nav{
    margin-left:clamp(128px,10vw,178px) !important;
    margin-right:auto !important;
  }
}

.site-header .brand-lockup{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
}

.site-header .brand-studio{
  align-self:flex-start !important;
  margin-top:-4px !important;
  margin-left:54px !important;
  margin-right:0 !important;
  font-size:.48rem !important;
  font-weight:500 !important;
  letter-spacing:.155em !important;
  color:rgba(255,255,255,.66) !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}

@media(max-width:980px){
  .site-header .brand-studio{
    margin-top:-3px !important;
    margin-left:49px !important;
    font-size:.46rem !important;
    letter-spacing:.145em !important;
  }
}


/* v8.5.41 - studio mark alignment fix */
.site-header .brand-lockup{
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:center !important;
  line-height:1 !important;
}

.site-header .brand-studio{
  align-self:flex-end !important;
  margin-top:-6px !important;
  margin-left:0 !important;
  margin-right:1px !important;
  font-size:.47rem !important;
  font-weight:500 !important;
  letter-spacing:.135em !important;
  color:rgba(255,255,255,.68) !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}

.footer-brand-lockup{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-end;
  line-height:1;
}

.footer-brand-lockup .footer-logo{
  display:block;
}

.footer-brand-studio{
  align-self:flex-end;
  margin-top:-5px;
  margin-right:1px;
  font-size:.46rem;
  font-weight:500;
  letter-spacing:.135em;
  color:rgba(255,255,255,.64);
  line-height:1;
  text-transform:uppercase;
}

@media(max-width:980px){
  .site-header .brand-studio{
    margin-top:-5px !important;
    margin-right:1px !important;
    font-size:.45rem !important;
    letter-spacing:.13em !important;
  }

  .footer-brand-studio{
    margin-top:-5px;
    font-size:.44rem;
    letter-spacing:.13em;
  }
}


/* v8.5.42 - clean CSS-only Info dropdown close delay
   Based on v8.5.41. Keeps the existing dropdown style intact. */
.desktop-nav .nav-dropdown .nav-dropdown-menu {
  pointer-events: auto;
  transition:
    opacity .18s ease .7s,
    transform .18s ease .7s,
    visibility 0s linear .88s;
}

.desktop-nav .nav-dropdown:hover .nav-dropdown-menu,
.desktop-nav .nav-dropdown:focus-within .nav-dropdown-menu {
  transition-delay: 0s, 0s, 0s;
}


/* v8.5.43 - workflow page polish and shorter dropdown delay */
.workflow-steps-intro {
  max-width: 620px;
  margin: 0.7rem auto 1.8rem;
  color: var(--muted, #51627a);
  font-size: 1rem;
  line-height: 1.7;
  text-align: center;
}

.process-grid,
.steps-grid,
.workflow-steps-grid,
.workflow-grid {
  position: relative;
}

.process-grid::before,
.steps-grid::before,
.workflow-steps-grid::before,
.workflow-grid::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(47, 124, 220, 0.22), transparent);
  pointer-events: none;
  z-index: 0;
}

.process-grid > *,
.steps-grid > *,
.workflow-steps-grid > *,
.workflow-grid > * {
  position: relative;
  z-index: 1;
}

.process-card,
.step-card,
.workflow-step,
.workflow-card {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(137, 170, 210, 0.38);
  box-shadow: 0 16px 34px rgba(15, 35, 60, 0.055);
}

.process-card:hover,
.step-card:hover,
.workflow-step:hover,
.workflow-card:hover {
  border-color: rgba(47, 124, 220, 0.38);
}

.process-card .step-number,
.step-card .step-number,
.workflow-step .step-number,
.workflow-card .step-number,
.process-card .number-badge,
.step-card .number-badge,
.workflow-step .number-badge,
.workflow-card .number-badge {
  box-shadow: 0 8px 18px rgba(47, 124, 220, 0.10);
}

@media (max-width: 900px) {
  .process-grid::before,
  .steps-grid::before,
  .workflow-steps-grid::before,
  .workflow-grid::before {
    display: none;
  }

  .workflow-steps-intro {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
  }
}








/* v8.5.47 - workflow CTA vertical compact fix */
.workflow-final-cta .final-cta {
  max-width: none;
}

.workflow-final-cta {
  padding-top: clamp(2.25rem, 4vw, 3.5rem);
  padding-bottom: clamp(2.25rem, 4vw, 3.5rem);
}

.workflow-final-cta .final-cta {
  padding-top: clamp(1.65rem, 3vw, 2.3rem);
  padding-bottom: clamp(1.65rem, 3vw, 2.3rem);
}

@media (max-width: 760px) {
  .workflow-final-cta {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .workflow-final-cta .final-cta {
    padding-top: 1.45rem;
    padding-bottom: 1.45rem;
  }
}



/* v8.5.51 - stronger about identity section */
.about-identity-section .container {
  max-width: 1180px;
}

.about-identity-intro {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.about-identity-intro p:not(.eyebrow) {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

.about-identity-points {
  margin-top: clamp(1.8rem, 4vw, 3rem);
}

.about-identity-points .card {
  min-height: 100%;
}

@media (max-width: 800px) {
  .about-identity-intro {
    text-align: left;
  }

  .about-identity-intro p:not(.eyebrow) {
    margin-left: 0;
    margin-right: 0;
  }
}


/* v8.5.52 - clearer about values section */
.about-values-statement {
  padding: clamp(2rem, 4vw, 3.2rem);
  border: 1px solid rgba(137, 170, 210, 0.38);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 42px rgba(15, 35, 60, 0.07);
}

.about-values-copy {
  max-width: 860px;
}

.about-values-copy p:not(.eyebrow) {
  color: #51627a;
  line-height: 1.75;
}

.about-values-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.4rem);
  margin-top: clamp(1.8rem, 4vw, 2.6rem);
  padding-top: clamp(1.5rem, 3vw, 2rem);
  border-top: 1px solid rgba(137, 170, 210, 0.24);
}

.about-values-row > div {
  min-width: 0;
}

.about-values-row span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  margin-bottom: 0.9rem;
  border-radius: 0.7rem;
  background: rgba(47, 124, 220, 0.10);
  color: #125fc5;
  font-size: 0.78rem;
  font-weight: 900;
}

.about-values-row h3 {
  margin-bottom: 0.55rem;
}

.about-values-row p {
  color: #51627a;
  line-height: 1.65;
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .about-values-row {
    grid-template-columns: 1fr;
  }
}


/* v8.5.53 - structured terms page */
.terms-hero .container {
  max-width: 900px;
}

.terms-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.34fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: start;
}

.terms-summary {
  position: sticky;
  top: 6.5rem;
  padding: clamp(1.5rem, 3vw, 2rem);
}

.terms-summary h2 {
  font-size: clamp(1.35rem, 2vw, 1.65rem);
}

.terms-summary ul {
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 0;
  display: grid;
  gap: 0.8rem;
}

.terms-summary li {
  position: relative;
  padding-left: 1.6rem;
  color: #51627a;
  font-weight: 650;
}

.terms-summary li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #1569d8;
  font-weight: 900;
}

.terms-content {
  display: grid;
  gap: 1rem;
}

.terms-block {
  padding: clamp(1.4rem, 3vw, 2rem);
}

.terms-block span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  margin-bottom: 0.9rem;
  border-radius: 0.7rem;
  background: rgba(47, 124, 220, 0.10);
  color: #125fc5;
  font-size: 0.78rem;
  font-weight: 900;
}

.terms-block h2 {
  margin-bottom: 0.6rem;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
}

.terms-block p {
  color: #51627a;
  line-height: 1.75;
  margin-bottom: 0;
}

.terms-final-cta {
  margin-top: 0;
}

@media (max-width: 980px) {
  .terms-layout {
    grid-template-columns: 1fr;
  }

  .terms-summary {
    position: static;
  }
}


/* v8.5.54 - targeted softer info cards
   Only specific informational white cards. Header/footer, final CTA, forms and inputs stay unchanged. */
:root {
  --info-card-soft: #f8fafc;
  --info-panel-soft: #f6f9fc;
  --info-card-border-soft: rgba(123, 158, 198, 0.38);
}

/* Standard informational cards across service/content sections */
.cards .card,
.technical-benefits article,
.process-grid .card,
.steps-grid .card,
.workflow-grid .card,
.workflow-steps-grid .card,
.terms-block,
.terms-summary {
  background: var(--info-card-soft);
  border-color: var(--info-card-border-soft);
}

/* Slightly stronger softening for quote/checklist/content panels */
.check-panel,
.quote-card,
.testimonial-card,
.info-card,
.content-card:not(.contact-card):not(.form-card),
.check-card,
.checklist-card,
.terms-content .card {
  background: var(--info-panel-soft);
  border-color: rgba(123, 158, 198, 0.40);
}

/* Homepage help-card: softer, but less than the rest */
.hero-card,
.home-help-card,
.home .help-card,
.home .info-card,
.index-help-card {
  background: #fafcff;
  border-color: rgba(123, 158, 198, 0.34);
}

/* Keep final CTAs and dark CTAs exactly in their own visual role */
.final-cta,
.cta-section .final-cta,
.dark-cta,
.dark-cta *,
.site-footer,
.site-header {
  /* intentional no-op: prevents this block from becoming a global surface system */
}

/* Never alter form fields/cards through this polish */
.contact-form,
.contact-form-card,
.form-card,
form,
input,
textarea,
select {
  /* forms keep existing styling */
}

/* Slightly calmer shadow only on selected info cards */
.cards .card,
.technical-benefits article,
.check-panel,
.quote-card,
.testimonial-card,
.info-card,
.content-card:not(.contact-card):not(.form-card),
.check-card,
.checklist-card,
.terms-block,
.terms-summary {
  box-shadow: 0 16px 36px rgba(15, 35, 60, 0.055);
}


/* v8.5.55 - stronger soft card shadows
   Stronger targeted version of v8.5.54. Only informational cards/panels. */
:root {
  --info-card-soft-v2: #f7faff;
  --info-panel-soft-v2: #f5f8fd;
  --info-card-border-v2: rgba(116, 153, 194, 0.46);
  --info-card-shadow-v2: 0 18px 44px rgba(15, 35, 60, 0.075);
  --info-card-shadow-hover-v2: 0 20px 48px rgba(15, 35, 60, 0.09);
}

/* Standard informational card surfaces */
.cards .card,
.technical-benefits article,
.terms-block,
.terms-summary,
.audience-grid > div {
  background: var(--info-card-soft-v2);
  border-color: var(--info-card-border-v2);
  box-shadow: var(--info-card-shadow-v2);
}

/* Larger or more prominent information panels */
.check-panel,
.quote-card,
.testimonial-card,
.content-card:not(.contact-card):not(.form-card),
.check-card,
.checklist-card,
.terms-content .card,
.about-values-statement {
  background: var(--info-panel-soft-v2);
  border-color: rgba(116, 153, 194, 0.48);
  box-shadow: var(--info-card-shadow-v2);
}

/* Workflow/process/step-style cards where class names differ per page */
.process-card,
.step-card,
.workflow-card,
.workflow-step,
.process-grid > *,
.steps-grid > *,
.workflow-grid > *,
.workflow-steps-grid > * {
  background: var(--info-card-soft-v2);
  border-color: var(--info-card-border-v2);
  box-shadow: var(--info-card-shadow-v2);
}

/* Homepage hero/help card: keep more subtle than the rest */
.hero-card,
.home-help-card,
.home .help-card,
.home .info-card,
.index-help-card {
  background: #fbfdff;
  border-color: rgba(116, 153, 194, 0.36);
  box-shadow: 0 14px 34px rgba(15, 35, 60, 0.055);
}

/* Subtle hover depth only where cards already behave as visual cards */
.cards .card:hover,
.technical-benefits article:hover,
.audience-grid > div:hover {
  box-shadow: var(--info-card-shadow-hover-v2);
}

/* Explicit exclusions: do not soften or shadow these roles */
.final-cta,
.cta-section .final-cta,
.dark-cta,
.contact-form,
.contact-form-card,
.form-card,
form,
input,
textarea,
select,
.site-header,
.site-footer {
  /* intentionally excluded from this card-surface system */
}


/* v8.5.56 - thank you button polish */
.thank-you-actions {
  justify-content: center;
}


/* v8.5.60 - mobile and tablet polish */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
video,
svg {
  max-width: 100%;
  height: auto;
}

@media (max-width: 980px) {
  .site-header .container,
  .header-inner,
  .nav-container {
    gap: 1rem;
  }

  .brand-lockup,
  .footer-brand-lockup {
    flex-shrink: 0;
  }

  .mobile-nav,
  .mobile-menu,
  .nav-menu {
    max-width: min(100%, 520px);
  }

  .hero,
  .page-hero {
    padding-top: clamp(4.8rem, 12vw, 6.5rem);
    padding-bottom: clamp(3.2rem, 9vw, 5rem);
  }

  .hero h1,
  .page-hero h1 {
    max-width: 12.5em;
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(2.15rem, 7vw, 3.65rem);
    line-height: 1.06;
  }

  .hero p,
  .page-hero p {
    max-width: 680px;
  }

  .hero-actions,
  .cta-actions {
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .cards.three,
  .technical-benefits,
  .audience-grid,
  .about-values-row,
  .feature-grid,
  .services-grid,
  .process-grid,
  .steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .split,
  .website-split,
  .terms-layout,
  .contact-layout,
  .contact-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .terms-summary {
    position: static;
  }

  .footer-grid {
    gap: 2rem;
  }
}

@media (max-width: 760px) {
  .container {
    width: min(100% - 2rem, var(--container, 1180px));
  }

  .section,
  .light-section,
  .audience-section,
  .terms-section,
  .cta-section {
    padding-top: clamp(3rem, 10vw, 4.5rem);
    padding-bottom: clamp(3rem, 10vw, 4.5rem);
  }

  .hero,
  .page-hero {
    text-align: left;
  }

  .hero-center,
  .hero.center .container,
  .page-hero.center .container {
    text-align: left;
  }

  .hero h1,
  .page-hero h1 {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    font-size: clamp(2rem, 10vw, 2.85rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
  }

  .hero p,
  .page-hero p,
  .section-heading p,
  .section-head p,
  .audience-intro p {
    font-size: 1rem;
    line-height: 1.7;
  }

  .hero-actions,
  .hero-actions.center,
  .cta-actions {
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
  }

  .hero-actions .button,
  .cta-actions .button,
  .button {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .thank-you-actions {
    justify-content: center;
  }

  .thank-you-actions .button {
    width: auto;
    min-width: 180px;
  }

  .cards.three,
  .technical-benefits,
  .audience-grid,
  .about-values-row,
  .feature-grid,
  .services-grid,
  .process-grid,
  .steps-grid,
  .workflow-grid,
  .workflow-steps-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .card,
  .check-panel,
  .final-cta,
  .terms-block,
  .terms-summary,
  .contact-card,
  .form-card,
  .content-card {
    border-radius: 18px;
  }

  .card,
  .check-panel,
  .terms-block,
  .terms-summary {
    padding: clamp(1.25rem, 6vw, 1.65rem);
  }

  .final-cta {
    padding: clamp(1.5rem, 7vw, 2rem);
    align-items: flex-start;
  }

  .form-grid,
  .contact-form-grid,
  .form-row {
    grid-template-columns: 1fr !important;
  }

  label,
  .form-label {
    line-height: 1.35;
  }

  input,
  textarea,
  select {
    width: 100%;
    min-height: 46px;
    font-size: 1rem;
  }

  textarea {
    min-height: 132px;
  }

  .form-error,
  .form-message,
  .field-message {
    font-size: 0.92rem;
    line-height: 1.45;
  }

  .site-footer {
    padding-top: 3rem;
  }

  .footer-grid {
    gap: 1.75rem;
  }

  .footer-grid h3 {
    margin-bottom: 0.7rem;
  }

  .footer-grid a {
    padding: 0.18rem 0;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
    text-align: left;
  }
}

@media (max-width: 480px) {
  .container {
    width: min(100% - 1.35rem, var(--container, 1180px));
  }

  .hero,
  .page-hero {
    padding-top: 4.5rem;
  }

  .hero h1,
  .page-hero h1 {
    font-size: clamp(1.85rem, 11.5vw, 2.45rem);
  }

  .eyebrow,
  .section-label {
    letter-spacing: 0.12em;
    font-size: 0.72rem;
  }

  .card,
  .check-panel,
  .terms-block,
  .terms-summary,
  .final-cta {
    border-radius: 16px;
  }

  .mobile-nav,
  .mobile-menu,
  .nav-menu {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
