:root{--ink:#142b3d;--muted:#4c6678;--line:#dbeaf4;--surface:#f2f9fe;background:#fff;color:var(--ink)}
body{background:#fff}
::selection{background:#b9e5ff;color:#102d43}
a:focus-visible,button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-color:#0067a7}
.site-header{background:rgba(241,249,255,.82);border-color:rgba(171,211,236,.52);box-shadow:0 8px 30px #2777a008}
.mark span{color:#5aaee2}
.desktop-nav a:hover,.site-footer a:hover{color:#1575ae}
.header-cta{border-color:#3a8cb9}
.section-kicker,.small-label{color:#267cad}
.button{border-radius:999px;padding:1rem 1.55rem}
.button-dark{background:#124f78;box-shadow:0 10px 26px #2d84b42b}
.button-dark:hover{background:#0a6aa1}
.button-outline{border-color:#a8d3eb;background:#ffffffb5}
.button-outline:hover{background:#fff}
.hero-shell{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#edf9ff 0%,#d5efff 40%,#e9f7ff 75%,#fff 100%)}
.hero-shell::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 93% 12%,#ffffff8a 0 7%,transparent 16%),radial-gradient(circle at 14% 86%,#ffffffae 0 10%,transparent 26%),radial-gradient(circle at 53% 4%,#ffffff60 0 12%,transparent 26%)}
.sky-cloud{position:absolute;z-index:0;width:340px;height:86px;border-radius:100px;background:#ffffff91;filter:blur(1.4px);pointer-events:none;box-shadow:0 18px 50px #fff8}
.sky-cloud::before,.sky-cloud::after{content:"";position:absolute;border-radius:50%;background:inherit}
.sky-cloud::before{width:150px;height:150px;left:55px;bottom:15px}
.sky-cloud::after{width:180px;height:125px;right:42px;bottom:10px}
.cloud-one{top:100px;right:7%;transform:scale(1.25)}
.cloud-two{bottom:64px;left:-70px;transform:scale(.85);opacity:.7}
.hero{position:relative;z-index:1;min-height:730px;padding-top:6rem;padding-bottom:6.5rem}
.eyebrow{color:#286f9b}
.eyebrow-line{background:#4da4d5}
.hero h1{color:#102b40}
.hero-lede{color:#38556a}
.trust-line{color:#527185}
.trust-line i{background:#74aed0}
.hero-visual{background:#ffffffa8;border:1px solid #ffffffde;border-radius:28px;box-shadow:0 25px 75px #448cb327,0 1px 0 #fff inset;backdrop-filter:blur(12px);overflow:hidden}
.visual-top,.visual-bottom,.device-bar,.device-foot{color:#5688a6}
.visual-top,.visual-bottom{border-color:#d6eaf5}
.workflow-spine{background:#9ac6de}
.flow-dot{background:#f0f9ff;border-color:#aed5e9;color:#2f84b3}
.flow-row:last-child .flow-dot{background:#197cae;border-color:#197cae}
.flow-card{border-color:#d9ecf5;border-radius:16px;box-shadow:0 7px 22px #457e9b10}
.flow-symbol{color:#70acd0}
.reviews-section{background:linear-gradient(180deg,#fff 0%,#f1f9fe 100%);overflow:hidden;padding-top:7rem;padding-bottom:7rem}
.reviews-section .section-heading{margin-bottom:2rem}
.review-stage{display:flex;gap:1.25rem;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:.25rem;padding:.5rem .25rem 1.8rem;min-height:0;scrollbar-width:none;overscroll-behavior-inline:contain}
.review-stage::-webkit-scrollbar{display:none}
.review{scroll-snap-align:start;flex:0 0 min(550px,calc(100vw - 7rem));max-width:none;min-height:375px;padding:2.5rem;background:#fff;border:1px solid #d8eaf5;border-radius:26px;box-shadow:0 18px 40px #397ca315}
.review[hidden]{display:flex}
.review-context{color:#287aa8}
.review-rating{color:#2d8bb7}
.review-bottom{border-color:#e3edf4}
.review-bottom strong{color:#143d59}
.text-button{color:#1a77a7}
.reviews-controls{max-width:none;margin-top:1rem}
.review-nav button{width:46px;height:46px;border-color:#b5d8eb;border-radius:50%;color:#1a6694;background:#fff}
.review-nav button:hover{background:#e1f4ff}
.review-nav .autoplay-control{font-size:1rem;margin-left:.3rem}
.review-counter{color:#587b92;font-weight:700;letter-spacing:.04em}
.review-progress{height:3px;background:#d7ebf6;border-radius:3px;margin-top:1.35rem;overflow:hidden}
.review-progress span{display:block;height:100%;width:14.2857%;background:#59ace0;border-radius:3px;transition:width .45s ease}
.underlined-link{color:#1c719e}
.company-section{background:#fff}
.company-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:2.5rem}
.company-heading h2{max-width:800px;margin:0}
.company-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.company-card{min-width:0;min-height:275px;padding:1rem;background:#f7fbff;border:1px solid #dbeaf4;border-radius:24px;display:flex;flex-direction:column;box-shadow:0 12px 30px #3e89b00a;transition:transform .25s ease,box-shadow .25s ease}
.company-card:hover{transform:translateY(-4px);box-shadow:0 20px 38px #3e89b01b}
.company-logo{min-height:145px;padding:1.4rem;display:grid;place-items:center;background:#fff;border-radius:17px}
.company-logo img{display:block;width:100%;max-height:108px;object-fit:contain}
.company-card--compost .company-logo{background:#245a43}
.company-card--compost .company-logo img{max-height:110px;width:auto}
.company-card--roofing .company-logo img{max-height:115px}
.company-info{padding:.9rem .35rem .25rem;display:flex;flex-direction:column;gap:.3rem}
.company-info strong{font-size:1.05rem;letter-spacing:-.03em;line-height:1.2}
.company-info span{font-size:.875rem;color:#59758a;line-height:1.35}
.company-info small{font-size:.875rem;color:#237cab;font-weight:700}
.company-note{font-size:.78rem;color:#6a8190;margin:1.4rem 0 0}
.services-grid{border:0;gap:1rem}
.service{min-height:285px;border:1px solid #deebf5;border-radius:23px;background:linear-gradient(145deg,#fff,#f8fcff);padding:2rem;box-shadow:0 10px 28px #487fa00b}
.service:hover{background:#eef8ff;box-shadow:0 16px 36px #487fa017}
.service svg{color:#2c8fc4}
.work-section{background:#f1f9fe}
.project-list{border-color:#cce3f0}
.project{border-color:#cce3f0}
.project-number,.project svg{color:#3185b3}
.product-panel{border-radius:30px;background:linear-gradient(135deg,#103959 0%,#1d648c 55%,#5dafe0 100%)}
.product-copy .section-kicker,.product-by{color:#b8e2fa}
.product-copy p{color:#e0f2ff}
.product-visual{background:radial-gradient(circle at 52% 42%,#9ed8f454 0%,transparent 54%),linear-gradient(135deg,#1f6288,#0f3555)}
.button-light{border-radius:999px;background:#edf8ff;color:#15405d}
.button-light:hover{background:#fff}
.device{border-radius:18px;border-color:#a6d3ec;background:#f8fcff;box-shadow:18px 18px 0 #0b3657,0 26px 55px #00294750}
.sound-core{background:#1d79a9;color:#e9f8ff;box-shadow:0 0 0 12px #dceffa}
.sound-ring{border-color:#95cbea}
.about-monogram{color:#236f9c}
.about-monogram span{color:#a5d5ee}
.about-monogram .monogram-dot{color:#60afe0}
.process-section{background:#f2f9fe}
.process-grid,.process-step{border-color:#cfe4f1}
.contact-section{background:linear-gradient(135deg,#eaf8ff 0%,#b8e3fb 100%);color:#102b40}
.contact-section .section-kicker{color:#247eae}
.contact-section p{color:#355d75}
.contact-actions .button-dark{background:#165a82;color:#fff}
.contact-actions>a:not(.button){border-color:#2e6e95}
.contact-email{border-color:#6ca9ca}
.site-footer{background:#e9f6fd}
@media(max-width:1180px){.company-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.hero{min-height:auto}.cloud-one{right:-90px;top:85px}.reviews-section{padding-top:5.5rem;padding-bottom:5.5rem}.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hero{padding-top:4.4rem;padding-bottom:4.5rem}.cloud-one{transform:scale(.72);right:-150px;top:55px}.cloud-two{transform:scale(.55);left:-150px;bottom:20px}.hero-visual{box-shadow:0 18px 40px #448cb322;border-radius:22px}.reviews-section{padding-top:4.5rem;padding-bottom:4.5rem}.review-stage{gap:.85rem;margin-right:-1rem;padding-right:1rem}.review{flex-basis:86vw;min-height:380px;padding:1.5rem;border-radius:21px}.review-nav button{width:42px;height:42px}.review-counter{margin-left:.35rem}.company-grid{grid-template-columns:1fr}.company-card{min-height:0;display:grid;grid-template-columns:42% 1fr;align-items:center;gap:.7rem}.company-logo{min-height:125px;padding:.8rem}.company-info{padding:.5rem}.company-note{font-size:.74rem}.service{min-height:230px}.product-panel{border-radius:22px}.contact-section h2{font-size:clamp(3rem,13vw,3.6rem)}}
@media(prefers-reduced-motion:reduce){.review-stage{scroll-behavior:auto}.review-progress span{transition:none}.company-card:hover{transform:none}}
