:root{
  --navy:#07182d;
  --navy-2:#0b2341;
  --blue:#0d4f8b;
  --orange:#ff6a00;
  --orange-2:#ff8a1f;
  --silver:#d9e0e7;
  --ink:#122033;
  --muted:#607083;
  --paper:#f6f8fb;
  --white:#fff;
  --line:#dce3ea;
  --shadow:0 18px 55px rgba(4,20,38,.12);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 36px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,24,45,.96);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.nav-wrap{min-height:86px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;min-width:260px}
.brand img{height:62px;width:auto;object-fit:contain}
.nav{margin-left:auto;display:flex;align-items:center;gap:22px;color:#dbe7f5;font-weight:700;font-size:.94rem}
.nav a:hover{color:#fff}
.nav-cta{background:var(--orange);color:#fff!important;padding:12px 18px;border-radius:999px;box-shadow:0 8px 20px rgba(255,106,0,.25)}
.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:10px;padding:8px 12px;font-size:1.2rem}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#07182d 0%,#0c2f55 57%,#07182d 100%);color:#fff}
.hero:before{content:"";position:absolute;inset:-20% -10% auto 45%;height:520px;background:radial-gradient(circle,rgba(255,106,0,.32),transparent 64%);pointer-events:none}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(to bottom,#000,transparent)}
.hero-content{position:relative;padding:88px 0 78px;max-width:1050px}
.eyebrow,.kicker{display:inline-block;font-size:.78rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}
h1{font-size:clamp(2.9rem,6.2vw,6rem);line-height:.96;letter-spacing:-.055em;margin:14px 0 24px;max-width:1050px}
.hero p{font-size:clamp(1.08rem,2vw,1.36rem);max-width:780px;color:#d5e2ef;margin:0 0 32px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:12px;font-weight:900;border:1px solid transparent;cursor:pointer;font-size:.96rem}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 10px 24px rgba(255,106,0,.24)}
.btn-primary:hover{background:#e85f00}
.btn-secondary{border-color:rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.04)}
.btn-dark{background:var(--navy);color:#fff}
.btn-full{width:100%}
.hero-proof{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);color:#b8c8d9;font-size:.9rem;font-weight:700}
.hero-proof span:before{content:"✓";color:var(--orange);margin-right:7px}
.logo-ribbon{background:#fff;border-bottom:1px solid var(--line)}
.logo-ribbon .container{padding:18px 0;display:grid;grid-template-columns:minmax(220px,400px) 1fr;align-items:center;gap:28px}
.logo-ribbon img{max-height:88px;object-fit:contain}
.logo-ribbon p{margin:0;color:var(--muted);font-weight:650}
.trust-strip{background:#0a1f39;color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-grid div{padding:25px 24px;border-right:1px solid rgba(255,255,255,.09)}
.trust-grid div:last-child{border-right:0}
.trust-grid strong{display:block;color:var(--orange);font-size:.78rem;letter-spacing:.16em}
.trust-grid span{display:block;margin-top:6px;color:#c2d0dd;font-size:.92rem}
.section{padding:90px 0}
.section-soft{background:var(--paper)}
.section-dark{background:linear-gradient(135deg,#07182d,#0d2b4e);color:#fff}
.section-head{display:grid;grid-template-columns:1.45fr .8fr;gap:54px;align-items:end;margin-bottom:42px}
h2{font-size:clamp(2rem,4.2vw,3.6rem);line-height:1.04;letter-spacing:-.045em;margin:10px 0 0}
.section-head p{margin:0;color:var(--muted);font-size:1.03rem}
.section-dark .section-head p{color:#c2cfdd}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff;box-shadow:0 3px 0 rgba(8,27,51,.02);transition:.2s transform,.2s box-shadow}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card-no{display:inline-flex;width:42px;height:42px;border-radius:10px;align-items:center;justify-content:center;background:#fff1e7;color:var(--orange);font-weight:950}
.card h3{font-size:1.2rem;margin:20px 0 10px}
.card p{color:var(--muted);margin:0}
.card .more{display:inline-block;margin-top:16px;color:var(--blue);font-weight:900}
.problem-grid,.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.problem,.industry{border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:24px;background:rgba(255,255,255,.045)}
.problem strong,.industry strong{display:block;font-size:1.06rem;margin-bottom:8px}
.problem span,.industry span{color:#c2cfdd;font-size:.94rem}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{padding:28px;border-radius:16px;border:1px solid var(--line);background:#fff}
.step span{display:flex;width:38px;height:38px;align-items:center;justify-content:center;background:var(--navy);color:#fff;border-radius:999px;font-weight:900}
.step h3{margin:18px 0 8px}.step p{margin:0;color:var(--muted)}
.proof-band{background:#fff3e9;border-block:1px solid #ffd8ba}
.proof-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.proof-list{display:grid;gap:12px;margin-top:24px}
.proof-list div{display:flex;gap:12px;align-items:flex-start}
.proof-list b{color:var(--orange)}
.quote-section{background:linear-gradient(135deg,#081a31,#0f355d);color:#fff}
.quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:start}
.quote-grid p{color:#c9d5e2}
.contact-note{margin-top:28px;display:grid;gap:5px}.contact-note a{font-weight:900;color:#fff}
.quote-form{background:#fff;color:var(--ink);border-radius:20px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:0 30px 70px rgba(0,0,0,.25)}
.quote-form label{display:grid;gap:7px;font-size:.86rem;font-weight:850}.quote-form label:nth-child(n+5){grid-column:1/-1}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;padding:13px 14px;border:1px solid #cfd8e2;border-radius:10px;font:inherit;background:#fff}
.quote-form textarea{resize:vertical}.quote-form button,.form-note{grid-column:1/-1}.form-note{font-size:.78rem;color:#6d7884;margin:0;text-align:center}
.footer{background:#061426;color:#b9c7d5;padding:40px 0}
.footer-grid{display:flex;justify-content:space-between;gap:32px;align-items:flex-start}.footer strong{color:#fff;font-size:1.1rem}.footer span{display:block}.footer a:hover{color:#fff}
.page-hero{background:linear-gradient(135deg,#07182d,#0d3158);color:#fff;padding:70px 0}.page-hero h1{font-size:clamp(2.6rem,5vw,5rem);margin-bottom:18px}.page-hero p{max-width:760px;color:#c8d7e6;font-size:1.12rem}
.content-grid{display:grid;grid-template-columns:1.6fr .7fr;gap:55px}.content-grid h2{font-size:2.4rem}.content-grid p,.content-grid li{color:var(--muted)}
.side-card{background:var(--paper);border:1px solid var(--line);padding:24px;border-radius:18px;position:sticky;top:110px}.side-card h3{margin-top:0}.side-card a{display:flex;margin-top:12px;color:var(--blue);font-weight:900}
.service-list{padding-left:20px}.cta-band{padding:45px 0;background:var(--orange);color:#fff}.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:26px}.cta-band h2{font-size:2rem;margin:0;letter-spacing:-.03em}.cta-band .btn{background:#fff;color:var(--navy)}
@media(max-width:900px){
 .brand{min-width:0}.brand img{height:48px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:86px;background:#07182d;padding:20px;flex-direction:column;align-items:stretch;border-top:1px solid rgba(255,255,255,.1)}.nav.open{display:flex}
 .hero-content{padding:70px 0 62px}.logo-ribbon .container,.section-head,.proof-grid,.quote-grid,.content-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.trust-grid,.problem-grid,.industry-grid,.steps{grid-template-columns:repeat(2,1fr)}.quote-form{grid-template-columns:1fr}.quote-form label{grid-column:1/-1}.side-card{position:static}.cta-band .container,.footer-grid{display:grid}
}
@media(max-width:580px){.container{width:min(100% - 24px,1180px)}.site-header .container{width:min(100% - 18px,1180px)}.brand img{height:43px;max-width:220px}.hero-content{padding:58px 0 54px}.hero-proof{gap:12px}.logo-ribbon .container{grid-template-columns:1fr}.logo-ribbon img{max-height:72px}.cards,.trust-grid,.problem-grid,.industry-grid,.steps{grid-template-columns:1fr}.section{padding:70px 0}.quote-form{padding:20px}.trust-grid div{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}}

.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.quote-form button:disabled{opacity:.68;cursor:wait}
.form-error{color:#a5281b!important;font-weight:800}
.quote-success{background:#fff;color:var(--ink);border-radius:20px;padding:38px;box-shadow:0 30px 70px rgba(0,0,0,.25);text-align:center}
.quote-success[hidden]{display:none}
.success-mark{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;background:#eaf7ef;color:#16723a;font-size:1.8rem;font-weight:950}
.quote-success h3{font-size:1.65rem;margin:0 0 12px;color:var(--navy)}
.quote-success p{color:#596675;margin:0 auto 12px;max-width:560px}
.quote-success .confirmation-line{margin:18px auto 24px;color:var(--ink)}
/* V4 additions */
.appliance-feature{background:#fff3e9;border-block:1px solid #ffd8ba}.appliance-feature-grid,.recurring-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center}.appliance-feature p,.recurring-section p{color:var(--muted);max-width:720px}.appliance-mini-grid,.recurring-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.appliance-mini-grid span,.recurring-cards div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;font-weight:850}.recurring-cards div{display:grid;gap:4px}.recurring-cards span{font-size:.86rem;color:var(--muted);font-weight:650}
.home-project{display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;border:1px solid var(--line);border-radius:22px;padding:28px;background:#fff;box-shadow:var(--shadow)}.home-project-copy{align-self:center}.home-project-copy h3{font-size:1.8rem;line-height:1.08;margin:12px 0}.project-badge{display:inline-block;background:#fff1e7;color:var(--orange);font-size:.72rem;font-weight:950;letter-spacing:.12em;padding:7px 10px;border-radius:999px}.project-tags{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.project-tags span{font-size:.78rem;font-weight:800;background:var(--paper);border:1px solid var(--line);padding:6px 9px;border-radius:999px}.home-ba,.before-after{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-ba figure,.before-after figure{margin:0;position:relative;overflow:hidden;border-radius:15px;background:var(--paper)}.home-ba img{width:100%;height:360px;object-fit:cover}.before-after img{width:100%;height:560px;object-fit:cover}.home-ba figcaption,.before-after figcaption{position:absolute;left:12px;bottom:12px;background:rgba(7,24,45,.9);color:#fff;padding:7px 10px;border-radius:8px;font-size:.72rem;font-weight:950;letter-spacing:.1em}.project-feature{display:grid;gap:30px}.project-copy{max-width:850px}.project-location{color:var(--orange);font-weight:900}.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.project-meta div{border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:6px}.project-meta span{color:var(--muted)}.scope-note{background:var(--paper);border-left:4px solid var(--orange);padding:14px 16px;border-radius:8px}.secondary-pair{margin-top:6px}
.appliance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.appliance-grid div{border:1px solid var(--line);border-radius:15px;padding:22px;background:#fff;font-weight:900;text-align:center}.light-problems .problem{border-color:var(--line);background:#fff}.light-problems .problem strong{color:var(--navy)}.light-problems .problem span{color:var(--muted)}.pricing-note{margin-top:24px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:12px}.label-help{font-weight:600;color:#74808d;font-size:.76rem}.quote-form input[type=file]{padding:10px;background:var(--paper)}.steps-five{grid-template-columns:repeat(5,1fr)}
@media(max-width:900px){.appliance-feature-grid,.recurring-grid,.home-project{grid-template-columns:1fr}.steps-five{grid-template-columns:repeat(2,1fr)}.appliance-grid{grid-template-columns:repeat(2,1fr)}.before-after img{height:460px}}
@media(max-width:580px){.appliance-mini-grid,.recurring-cards,.home-ba,.before-after,.project-meta,.appliance-grid,.steps-five{grid-template-columns:1fr}.home-ba img,.before-after img{height:auto;max-height:560px;object-fit:cover}}

/* V4.1 illustrative capability photography */
.visual-showcase{padding:34px 0 48px;background:#07182d;border-top:1px solid rgba(255,255,255,.08)}
.visual-showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.visual-showcase figure,.service-visual-band figure{margin:0;position:relative;overflow:hidden;border-radius:18px;background:#0b2039}
.visual-showcase .visual-wide{grid-column:1/-1}
.visual-showcase img{width:100%;height:235px;object-fit:cover;display:block}
.visual-showcase .visual-wide img{height:380px}
.visual-showcase figcaption,.service-visual-band figcaption{position:absolute;left:14px;bottom:14px;padding:8px 11px;border-radius:8px;background:rgba(7,24,45,.88);color:#fff;font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.visual-note{margin:12px 2px 0;color:#9fb2c4;font-size:.76rem}
.service-visual-band{background:#07182d;padding:0 0 34px}
.service-visual-band .container{padding-top:0}
.service-visual-band figure{box-shadow:0 18px 45px rgba(0,0,0,.18)}
.service-visual-band img{width:100%;height:360px;object-fit:cover;display:block}
@media(max-width:900px){.visual-showcase-grid{grid-template-columns:1fr 1fr}.visual-showcase .visual-wide{grid-column:1/-1}.visual-showcase .visual-wide img{height:300px}.service-visual-band img{height:300px}}
@media(max-width:580px){.visual-showcase-grid{grid-template-columns:1fr}.visual-showcase .visual-wide{grid-column:auto}.visual-showcase img,.visual-showcase .visual-wide img,.service-visual-band img{height:230px}}

/* V4.2 Legal & Trust */
.policy-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:.86rem}.policy-links a{text-decoration:underline;text-underline-offset:3px}.policy-page{max-width:900px}.policy-page h2{margin:34px 0 10px;color:var(--ink)}.policy-page p{line-height:1.75}.policy-updated{padding:14px 18px;background:#f3f6f9;border-radius:12px}.consent-row{grid-column:1/-1!important;display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;font-size:.78rem!important;font-weight:500!important;line-height:1.45}.consent-row input{width:auto!important;margin-top:3px;flex:0 0 auto}.consent-row a{text-decoration:underline;font-weight:800}.consent-row span{display:block}.page-hero{background:var(--navy);color:#fff;padding:70px 0}.page-hero h1{color:#fff;margin:.25em 0}.page-hero p{max-width:760px;color:#dbe6ef}.policy-page a{text-decoration:underline;text-underline-offset:2px}
