@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#192027;--muted:#687078;--cream:#f4f2ed;--paper:#fbfaf7;--line:#d9dcd9;--blue:#5d94c5;--blue-light:#d8e9f6;--white:#fff;--display:Manrope,Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased;max-width:1600px;margin:0 auto}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,summary{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.065em}h1 em,h2 em{font-style:normal;color:var(--blue)}.preview-bar{height:31px;background:#dae6ef;color:#244863;font-size:10px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:10px}.preview-dot{width:6px;height:6px;border-radius:50%;background:#3e80b6}.preview-separator{opacity:.4}.site-header{height:91px;display:flex;align-items:center;gap:50px;padding:0 clamp(24px,5vw,80px);background:var(--paper);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;width:42px;height:42px;font:800 24px var(--display);letter-spacing:-.11em}.brand-slash{color:var(--blue);margin-left:-4px}.brand-name{font:800 21px/.83 var(--display);letter-spacing:-.07em}.brand-name small{display:block;font:700 8px/1.5 var(--display);letter-spacing:.17em;margin-top:4px}.desktop-nav{display:flex;gap:37px;margin-left:auto;font-size:12px;font-weight:700}.desktop-nav a{transition:color .2s}.desktop-nav a:hover,.footer-links a:hover{color:var(--blue)}.header-cta{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--ink);color:#fff;min-height:46px;padding:0 22px;display:flex;align-items:center;gap:28px;white-space:nowrap;transition:background .2s,transform .2s}.header-cta:hover,.button-primary:hover{background:#365e7c}.header-cta span,.button span,.project-more span,.contact-phone span{font-size:16px;font-weight:400}.mobile-menu{display:none}.hero{min-height:674px;background:var(--cream);display:grid;grid-template-columns:52% 48%;position:relative;overflow:hidden}.hero-copy{padding:clamp(70px,7.5vw,112px) 7% 48px clamp(24px,8vw,122px);display:flex;flex-direction:column}.eyebrow,.kicker{font-size:11px;font-weight:800;letter-spacing:.18em}.eyebrow{display:flex;align-items:center;gap:14px;color:#4d667a}.eyebrow-line{width:30px;height:1px;background:#4d667a}.hero h1{font-size:clamp(52px,6vw,92px);line-height:1.06;margin:31px 0 25px;white-space:nowrap}.hero-lede{max-width:490px;font-size:17px;line-height:1.8;color:#555d63}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:36px}.button{min-height:53px;padding:0 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;font-size:12px;font-weight:800;letter-spacing:.02em;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ink);color:#fff}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #838c91;padding:14px 0}.text-link span{margin-left:12px}.hero-bottom{margin-top:auto;display:flex;align-items:center;gap:15px;padding-top:55px}.round-icon{width:44px;height:44px;border:1px solid #b9c4c9;border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:20px}.hero-bottom p{font-size:11px;line-height:1.6;color:#737c81}.hero-bottom strong{font-weight:700;color:var(--ink)}.hero-visual{position:relative;min-height:674px;overflow:hidden}.hero-visual>img{height:100%;object-fit:cover;object-position:50% 52%;filter:brightness(.87)}.hero-photo-label{position:absolute;bottom:0;left:0;right:0;background:rgba(22,29,35,.83);backdrop-filter:blur(8px);color:#fff;padding:23px 35px;display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.14em}.hero-photo-label span:last-child{opacity:.6}.hero-vertical{position:absolute;right:14px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-size:9px;font-weight:700;letter-spacing:.22em;color:#fff}.intro-strip{min-height:95px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;border-bottom:1px solid var(--line);padding:0 clamp(24px,7.5vw,116px);gap:25px}.intro-strip div{font-size:13px;font-weight:700}.intro-strip div+div{border-left:1px solid var(--line);padding-left:42px}.section{padding:125px clamp(24px,7.5vw,116px)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:59px}.section-heading h2,.about h2{font-size:clamp(44px,5vw,72px);line-height:1.13;margin-top:25px}.section-heading>p{max-width:390px;font-size:15px;line-height:1.8;color:var(--muted);padding-bottom:5px}.kicker{color:#4f80a8}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.service-card{min-height:295px;padding:25px 25px 28px;position:relative;display:flex;flex-direction:column;transition:background .2s}.service-card+.service-card{border-left:1px solid var(--line)}.service-card:hover{background:#edf3f7}.service-number{font-size:10px;letter-spacing:.12em;color:#859198}.service-icon{height:72px;display:flex;align-items:center;font-size:35px;font-weight:400;color:var(--blue)}.service-card h3{font:700 18px var(--display);letter-spacing:-.04em;margin:16px 0 12px}.service-card p{font-size:12px;line-height:1.7;color:var(--muted);max-width:250px}.card-arrow{position:absolute;bottom:21px;right:24px;font-size:19px;color:var(--blue)}.statement{background:var(--ink);color:#fff;padding:32px clamp(24px,7.5vw,116px) 108px}.statement-index{border-bottom:1px solid #455057;padding-bottom:28px;font-size:10px;font-weight:700;letter-spacing:.16em;color:#96a5ae}.statement-index span{padding:0 12px;color:var(--blue)}.statement-content{display:grid;grid-template-columns:120px 1fr 260px;align-items:end;gap:30px;padding-top:97px}.asterisk{font-size:105px;line-height:1;color:var(--blue)}.statement h2{font-size:clamp(44px,5.4vw,76px);line-height:1.2}.statement-content p{font-size:14px;line-height:1.8;color:#b7c2c9;padding-bottom:10px}.projects{background:#f0f2f1}.project-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.project-card{position:relative;min-height:340px;overflow:hidden;background:#d9d9d6}.project-card img{height:100%;object-fit:cover;transition:transform .4s}.project-card:hover img{transform:scale(1.035)}.project-large{grid-row:span 2;min-height:698px}.project-large img{object-position:50% 45%}.project-card::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.project-card figcaption{position:absolute;z-index:1;bottom:25px;left:30px;color:#fff;display:flex;flex-direction:column;gap:7px}.project-card figcaption span{font-size:10px;letter-spacing:.17em}.project-card figcaption strong{font:700 19px var(--display);letter-spacing:-.035em}.project-more{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #a9b7be;padding:24px 0 15px;margin-top:30px;font-size:13px;font-weight:700;max-width:410px}.about{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.about-photo{position:relative;overflow:hidden}.about-photo img{height:100%;object-fit:cover;object-position:50% 43%}.photo-corner{position:absolute;right:0;bottom:0;width:100px;height:100px;background:var(--blue-light);clip-path:polygon(100% 0,100% 100%,0 100%)}.about-copy{background:#e5edf2;padding:clamp(70px,8vw,118px) clamp(28px,7vw,112px);display:flex;flex-direction:column;justify-content:center}.about h2{margin-bottom:28px}.about-copy>p:not(.kicker){max-width:440px;font-size:15px;line-height:1.85;color:#52606b}.about-rule{height:1px;background:#c3d1da;margin:35px 0 22px}.about-points{display:grid;gap:15px;font-size:13px;font-weight:700}.about-points span{color:#5a8fb5;font-size:11px;margin-right:22px}.contact{background:#5b91bf;color:#fff;padding:48px clamp(24px,7.5vw,116px) 100px}.contact-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em;font-weight:700}.contact .kicker{color:#e0eff9}.contact-top>span{color:#dbeefa}.contact h2{font-size:clamp(58px,7.8vw,110px);line-height:1.05;margin:85px 0 45px}.contact h2 em{color:#c8e3f6}.contact-bottom{border-top:1px solid rgba(255,255,255,.4);padding-top:32px;display:flex;justify-content:space-between;gap:30px;align-items:end}.contact-bottom p{max-width:420px;font-size:16px;line-height:1.75}.contact-actions{display:flex;gap:26px;align-items:center}.button-light{background:#fff;color:var(--ink);white-space:nowrap}.button-light:hover{background:#e8f4fb}.contact-phone{font-size:13px;font-weight:700;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.65);padding:16px 0}.contact-phone span{margin-left:8px}.site-footer{background:#172028;color:#fff;padding:60px clamp(24px,7.5vw,116px) 27px}.footer-brand{font:800 37px var(--display);letter-spacing:-.08em;display:inline-block}.footer-brand span{display:block;font-size:10px;letter-spacing:.19em;margin-top:-3px}.footer-links{display:flex;gap:40px;margin:40px 0 70px;font-size:13px}.footer-links a{transition:color .2s}.footer-bottom{border-top:1px solid #38424a;padding-top:25px;display:flex;justify-content:space-between;color:#84939e;font-size:11px}
@media(max-width:1100px){.site-header{gap:24px}.desktop-nav{gap:20px}.hero h1{font-size:clamp(49px,5.8vw,76px)}.hero-copy{padding-left:6%}.statement-content{grid-template-columns:80px 1fr}.statement-content p{grid-column:2;max-width:470px}.asterisk{font-size:75px}.contact-actions{flex-direction:column;align-items:start;gap:9px}}
@media(max-width:760px){.preview-bar{font-size:8px}.site-header{height:72px;padding:0 22px}.brand-mark{width:37px;height:37px;font-size:21px}.brand-name{font-size:18px}.desktop-nav,.header-cta{display:none}.mobile-menu{display:block;margin-left:auto;position:relative}.mobile-menu summary{list-style:none;width:32px;display:grid;gap:5px;padding:5px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{height:2px;background:var(--ink);width:23px}.mobile-menu nav{position:absolute;right:-22px;top:50px;width:210px;display:grid;background:var(--paper);box-shadow:0 15px 40px #15233022;padding:20px;gap:17px;font-size:13px;font-weight:700}.hero{display:flex;flex-direction:column}.hero-copy{padding:65px 24px 42px}.hero h1{font-size:clamp(50px,11vw,75px);margin:24px 0}.hero-lede{font-size:15px}.hero-actions{gap:20px;flex-wrap:wrap;margin-top:29px}.hero-bottom{padding-top:65px}.hero-visual{min-height:485px;height:485px}.hero-vertical{display:none}.intro-strip{grid-template-columns:1fr;padding:28px 24px;gap:11px}.intro-strip div+div{border:0;padding:0}.intro-strip div{font-size:12px}.section{padding:78px 24px}.section-heading{display:block;margin-bottom:40px}.section-heading h2,.about h2{font-size:clamp(43px,10vw,64px)}.section-heading>p{margin-top:22px;font-size:14px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:260px}.service-card:nth-child(3){border-left:0;border-top:1px solid var(--line)}.service-card:nth-child(4){border-top:1px solid var(--line)}.service-card h3{font-size:16px}.statement{padding:27px 24px 75px}.statement-index{font-size:8px}.statement-content{display:block;padding-top:58px}.asterisk{font-size:65px;display:block;margin-bottom:20px}.statement h2{font-size:clamp(45px,9vw,66px)}.statement-content p{margin-top:24px}.project-grid{grid-template-columns:1fr}.project-card,.project-large{min-height:450px;grid-row:auto}.project-large img{object-position:50% 40%}.about{grid-template-columns:1fr}.about-photo{height:420px}.about-copy{padding:75px 24px}.contact{padding:30px 24px 75px}.contact-top>span{display:none}.contact h2{font-size:clamp(52px,11vw,83px);margin:75px 0 42px}.contact-bottom{display:block}.contact-bottom p{font-size:15px}.contact-actions{margin-top:28px}.footer-links{flex-direction:column;gap:15px;margin-bottom:55px}.footer-bottom{flex-direction:column;gap:10px}}
@media(max-width:480px){.hero h1{font-size:49px}.hero-actions{align-items:start;flex-direction:column}.hero-visual{height:390px;min-height:390px}.hero-photo-label{padding:18px;font-size:8px}.service-grid{grid-template-columns:1fr}.service-card{min-height:230px;border-left:0!important;border-top:1px solid var(--line)}.service-card:first-child{border-top:0}.project-card,.project-large{min-height:340px}.project-card figcaption{left:20px;bottom:20px}.project-card figcaption strong{font-size:16px}.about-photo{height:350px}.contact h2{font-size:50px}.footer-brand{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand-logo{display:block;width:150px;height:auto;object-fit:contain}.footer-brand{display:inline-block;background:transparent;padding:0}.footer-brand img{width:180px;height:auto;object-fit:contain}@media(max-width:760px){.brand-logo{width:120px}.footer-brand img{width:155px}}

/* Inspection request */
#befaring{scroll-margin-top:26px}.inspection-card{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);gap:clamp(28px,5vw,80px);background:var(--paper);color:var(--ink);margin-top:62px;padding:clamp(28px,5vw,70px)}.inspection-intro{align-self:start;position:sticky;top:28px}.form-step-label{font-size:10px;font-weight:800;letter-spacing:.18em;color:#5b87a9}.inspection-intro h3{font:700 clamp(34px,3.5vw,55px)/1.16 var(--display);letter-spacing:-.055em;margin:21px 0}.inspection-intro h3 em{font-style:normal;color:var(--blue)}.inspection-intro p{font-size:14px;line-height:1.8;color:var(--muted);max-width:310px}.form-loading{font-size:14px;color:var(--muted)}.form-progress{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:25px;color:#6489a5;font-size:11px;letter-spacing:.11em;text-transform:uppercase}.form-progress strong{font-weight:800;color:var(--ink)}.inspection-fields{display:grid;grid-template-columns:1fr 1fr;gap:21px 16px}.form-field{min-width:0;display:flex;flex-direction:column;gap:8px;border:0;padding:0;margin:0}.form-field:has(textarea),.form-field:has(.choice-grid),.form-field:has(select){grid-column:1/-1}.form-field label,.form-field legend{font-size:12px;font-weight:800;line-height:1.5}.form-field label span,.form-field legend span{color:#b75342}.form-field input:not([type=radio]):not([type=checkbox]),.form-field textarea,.form-field select{width:100%;border:1px solid #cbd4d7;border-radius:0;background:#fff;color:var(--ink);font:14px var(--body);padding:13px 14px;min-height:49px;outline:0}.form-field textarea{resize:vertical;min-height:122px;line-height:1.5}.form-field input:focus-visible,.form-field textarea:focus-visible,.form-field select:focus-visible{border-color:#3e80b6;box-shadow:0 0 0 3px #d8e9f6}.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true]{border-color:#ba5a49}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice{display:flex;align-items:center;min-height:48px;border:1px solid #cbd4d7;padding:10px 12px;gap:10px;cursor:pointer;font-size:13px;font-weight:700;transition:border-color .15s,background .15s}.choice:hover,.choice.is-selected{border-color:#5d94c5;background:#e8f2f9}.choice input{accent-color:#4d87b9;width:17px;height:17px;flex:none}.field-hint{font-size:11px;color:var(--muted);line-height:1.5}.field-error,.form-error-global{font-size:12px;color:#a6362b;line-height:1.5}.form-error-global{padding:12px 14px;background:#fff0ed;margin-top:20px}.form-buttons{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:30px}.form-buttons>p{font-size:11px;color:var(--muted)}.button-send,.button-back{min-height:51px;border:0;font:800 12px var(--body);padding:0 20px}.button-send{background:var(--ink);color:#fff}.button-send:hover{background:#365e7c}.button-send:disabled{opacity:.5;cursor:wait}.button-back{background:transparent;color:var(--ink);padding-left:0}.button-back:hover{text-decoration:underline}.form-heading{font:700 30px/1.2 var(--display);letter-spacing:-.05em}.form-subheading{font-size:13px;color:var(--muted);line-height:1.6;margin:12px 0 22px}.review-list{border-top:1px solid var(--line)}.review-row{display:grid;grid-template-columns:minmax(130px,40%) 1fr;gap:18px;border-bottom:1px solid var(--line);padding:13px 0;font-size:13px;line-height:1.55}.review-row dt{font-weight:700;color:#5b6871}.review-row dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.form-success{padding:45px 0}.form-success>span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#dcefe3;color:#267348;font-size:26px}.form-success h4{font:700 30px var(--display);letter-spacing:-.05em;margin:24px 0 12px}.form-success p{font-size:15px;color:var(--muted);line-height:1.7}
@media(max-width:900px){.inspection-card{grid-template-columns:1fr}.inspection-intro{position:static}.inspection-intro p{max-width:none}}
@media(max-width:520px){.inspection-card{margin-top:42px;padding:24px 18px}.inspection-fields{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.form-buttons{align-items:stretch;flex-direction:column}.button-send{text-align:center}.button-back{text-align:left}.review-row{grid-template-columns:1fr;gap:3px}.form-progress{font-size:9px}.inspection-intro h3{font-size:38px}}

/* Keep choice labels neutral until the visitor attempts an invalid step. */
.form-field .choice span{color:var(--ink)}
.form-field.has-error .choice{border-color:#ba5a49}
.form-field.has-error .choice span{color:#a6362b}
.phone-input{display:flex;align-items:stretch;border:1px solid #cbd4d7;background:#fff}
.phone-input:focus-within{border-color:#3e80b6;box-shadow:0 0 0 3px #d8e9f6}
.form-field.has-error .phone-input{border-color:#ba5a49}
.phone-prefix{display:flex;align-items:center;padding:0 13px;border-right:1px solid #cbd4d7;font:700 14px var(--body);color:var(--ink);background:#f3f6f7}
.form-field .phone-input input{min-width:0;flex:1;border:0!important;box-shadow:none!important}

/* Company details in the site footer. */
.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:clamp(28px,5vw,80px);align-items:start;padding-bottom:58px}
.footer-identity p{margin-top:20px;color:#b9c6ce;font-size:13px;line-height:1.6}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:#d9e2e7;font-size:13px;line-height:1.55}
.footer-column h3{margin:0 0 8px;color:#8cbce0;font:800 11px var(--body);letter-spacing:.14em;text-transform:uppercase}
.footer-column a{text-decoration:underline;text-decoration-color:#667985;text-underline-offset:4px}
.footer-column a:hover{color:#8cbce0}
.footer-company p{margin:0}
.footer-company address{font-style:normal}
@media(max-width:760px){.footer-main{grid-template-columns:1fr 1fr;gap:38px}.footer-identity{grid-column:1/-1}}
@media(max-width:520px){.footer-main{grid-template-columns:1fr;gap:32px;padding-bottom:42px}.footer-identity{grid-column:auto}}

.form-sending{margin-top:18px;color:#52606b;font-size:12px;line-height:1.5}
.button-back:disabled{opacity:.5;cursor:wait;text-decoration:none}

.intro-strip>div{text-align:center}
.intro-strip>div+div{padding-left:0}

/* Give the company logo breathing room above and below. */
.site-header{height:auto;min-height:108px;padding-top:12px;padding-bottom:12px}
@media(max-width:760px){.site-header{min-height:87px;padding-top:10px;padding-bottom:10px}}

/* Keep the supplied transparent, dark-lettered logo readable in the footer. */
.site-footer{background:var(--paper);color:var(--ink)}
.footer-identity p{color:#5b6871}
.footer-column{color:#42505a}
.footer-column h3{color:#4f80a8}
.footer-column a{text-decoration-color:#9badb8}
.footer-bottom{border-top-color:var(--line);color:#687078}
