@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{--green:#132e59;--ink:#17243a;--muted:#586476;--paper:#f3f5f8;--gold:#bd242a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:16px/1.65 'DM Sans',sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bd8240;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',sans-serif;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(48px,5.4vw,82px);font-weight:800;margin-bottom:25px}h2{font-size:clamp(34px,3.8vw,54px);font-weight:700;margin-bottom:24px}h3{font-size:25px;letter-spacing:-.025em}.topline{background:var(--green);color:white;padding:8px 5%;display:flex;justify-content:space-between;font-size:14px}header{height:100px;padding:16px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:white;border-bottom:1px solid #e5e9e3}header img{width:180px;height:65px;object-fit:contain}nav{display:flex;gap:30px;font-size:15px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 25px;color:white;background:var(--green);font-weight:700;font-size:15px;border-radius:3px;line-height:1.3}.button:hover{background:#244876}.small{padding:14px 20px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--paper)}.hero-copy{padding:75px 8% 65px 10%}.eyebrow{font-size:13px;letter-spacing:.15em;font-weight:700;color:#b62028;margin-bottom:20px}.lead{font-size:20px;line-height:1.65;color:var(--muted);max-width:480px}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:30px 0}.text-link{font-weight:700;font-size:15px;border-bottom:1px solid;padding-bottom:4px}.hero-proof{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:40px}.hero-proof span:before{content:'✓';margin-right:6px;color:var(--green)}.hero-photo{position:relative;min-height:500px}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover}.photo-label{position:absolute;bottom:35px;left:35px;background:white;padding:22px 28px;box-shadow:0 10px 35px #0001}.photo-label span,figcaption span{display:block;font-size:12px;letter-spacing:.12em;margin-bottom:6px}.photo-label strong{font-size:22px}.service-strip{display:flex;justify-content:space-around;gap:20px;background:var(--green);color:white;padding:23px 5%;font-size:14px}.section{padding:95px 7%;max-width:1600px;margin:auto}.section-intro{display:flex;justify-content:space-between;align-items:center;gap:50px;margin-bottom:42px}.section-intro>p{max-width:370px;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service{background:var(--paper);padding:32px 25px;min-height:340px}.service p{color:var(--muted);font-size:15px}.number{font-size:12px;letter-spacing:.1em;display:block;margin-bottom:30px}.service.featured{background:var(--green);color:white}.service.featured p{color:#e0e7f2}.service a{font-size:14px;border-bottom:1px solid}.why{background:var(--paper);padding:75px 7%;display:grid;grid-template-columns:1fr 1fr;gap:80px}.why-list article{border-bottom:1px solid #d6ded6;padding:0 0 15px;margin-bottom:25px}.why-list h3{font-size:22px;margin-bottom:12px}.why-list p{color:var(--muted);margin-bottom:10px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}figure{margin:0}figure img{width:100%;height:350px;object-fit:cover}figcaption{padding:20px 0}figcaption strong{font-size:23px}.process{background:var(--paper);max-width:none}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:45px}.steps span{font-family:Manrope,sans-serif;color:#a1b0a5;font-size:42px}.steps h3{font-size:22px;margin-top:17px}.steps p{color:var(--muted)}.about{display:grid;grid-template-columns:.85fr 1fr;gap:85px;align-items:center}.about-image{background:#e6ebe4;min-height:390px;display:flex;align-items:center;justify-content:center;overflow:hidden}.about-image img{width:100%;height:420px;object-fit:cover}.about p:not(.eyebrow){color:var(--muted)}.signature{font-family:Manrope,sans-serif;font-size:24px;font-weight:700;margin:30px 0}.signature span{display:block;font:14px 'DM Sans',sans-serif;color:var(--muted);margin-top:8px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:75px;border-top:1px solid #e3e8e0}details{border-bottom:1px solid #dce3da;padding:20px 0}summary{cursor:pointer;font-size:18px;font-weight:600}details p{margin:16px 0;color:var(--muted)}.final-cta{padding:80px 7%;text-align:center;background:var(--green);color:white}.final-cta .eyebrow{color:#ffffff}.final-cta h2{font-size:clamp(40px,5vw,68px)}.final-cta .actions{justify-content:center}.light{background:white;color:var(--green)}.light:hover{background:#e4ebe4}footer{padding:55px 7% 20px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;font-size:14px}footer strong{display:block;margin-bottom:14px}footer a{display:block}footer p{color:var(--muted)}.footer-bottom{grid-column:1/-1;border-top:1px solid #e2e7df;padding-top:20px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.mobile-cta{display:none}@media(max-width:1000px){nav{gap:15px}.hero-copy{padding:55px 7%}.services{grid-template-columns:1fr 1fr}.hero .actions{gap:15px}.about{gap:40px}.service-strip{flex-wrap:wrap}}@media(max-width:700px){header{height:82px;padding:10px 5%;flex-wrap:wrap;position:relative}header img{width:140px;height:55px}header>.button{display:none}.menu{display:block;border:1px solid #d3dbd2;background:white;padding:10px 15px;border-radius:3px;font-size:14px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;padding:20px;z-index:20;border-bottom:1px solid #ddd}nav.open{display:flex;flex-direction:column}.topline{font-size:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7%}.hero-photo{min-height:340px}.hero-proof{margin-top:25px;font-size:12px;gap:12px}.photo-label{bottom:20px;left:20px;padding:18px}.service-strip{justify-content:flex-start;font-size:12px;gap:12px 20px}.section{padding:60px 7%}.section-intro{display:block;margin-bottom:28px}.section-intro>p{max-width:none}.services{grid-template-columns:1fr}.service{min-height:0;padding:28px}.number{margin-bottom:20px}.why{grid-template-columns:1fr;gap:25px;padding:55px 7%}.project-grid{grid-template-columns:1fr}figure img{height:280px}.steps{grid-template-columns:1fr;gap:15px;margin-top:25px}.about{grid-template-columns:1fr;gap:30px}.about-image{min-height:0}.about-image img{height:320px}.faq{grid-template-columns:1fr;gap:0}.final-cta{padding:60px 7%}footer{grid-template-columns:1fr;gap:20px;padding-bottom:90px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:30;background:white;border-top:1px solid #ccc;padding:9px;gap:9px}.mobile-cta a{text-align:center;padding:12px;background:var(--green);color:white;font-weight:700;font-size:14px;border-radius:3px}.mobile-cta a:first-child{background:var(--paper);color:var(--green)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.chat-launch{position:fixed;bottom:25px;right:25px;z-index:50;background:#132e59;color:white;border:0;border-radius:32px;padding:16px 21px;display:flex;align-items:center;gap:11px;box-shadow:0 6px 24px #14253b30;font:600 15px 'DM Sans',sans-serif;cursor:pointer}.chat-panel{position:fixed;bottom:95px;right:25px;width:365px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 125px);z-index:51;border-radius:16px;background:white;box-shadow:0 12px 55px #14253b40;border:1px solid #dbe1ea;overflow:auto}.chat-panel[hidden]{display:none}.chat-heading{background:#132e59;color:white;padding:19px 20px;display:flex;align-items:center;justify-content:space-between}.chat-heading strong{font-size:15px;display:block}.chat-heading span{font-size:13px;display:block;opacity:.8}.chat-close{border:0;background:transparent;color:white;font-size:28px;cursor:pointer;padding:4px 9px}.chat-notice{font-size:12px;color:#5d6778;background:#f3f5f8;padding:9px 15px;margin:0}.chat-messages{height:230px;overflow:auto;padding:17px;display:flex;flex-direction:column;gap:12px}.chat-bubble{font-size:14px;line-height:1.55;padding:13px 15px;border-radius:12px;max-width:92%;flex-shrink:0;overflow-wrap:anywhere}.bot{background:#eef2f7;align-self:flex-start}.user{background:#132e59;color:white;align-self:flex-end}.chat-options{display:flex;gap:6px;padding:0 15px 12px;flex-wrap:wrap}.chat-options button{border:1px solid #cdd6e4;color:#132e59;background:white;font:500 13px 'DM Sans',sans-serif;padding:9px 10px;border-radius:20px;cursor:pointer}.chat-form{display:flex;gap:8px;padding:12px 15px;border-top:1px solid #e1e6ed}.chat-form input{width:100%;min-width:0;border:1px solid #d1d9e4;border-radius:6px;padding:11px;font:16px 'DM Sans',sans-serif}.chat-form button{border:0;background:#132e59;color:white;border-radius:6px;padding:10px 14px;font-weight:600;cursor:pointer}.chat-estimate{display:block;text-align:center;font-size:13px;font-weight:700;color:#132e59;padding:0 15px 15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:700px){.chat-launch{bottom:85px;right:16px;padding:15px}.chat-launch span{display:none}.chat-panel{bottom:150px;right:16px;max-height:calc(100dvh - 175px)}.chat-messages{height:180px}}

.hero-slides{position:absolute;inset:0;overflow:hidden}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}.hero-slide.active{opacity:1}.hero-slides:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0005);pointer-events:none}.slideshow-controls{position:absolute;bottom:28px;right:25px;display:flex;gap:13px;align-items:center;z-index:2;background:#132e59e8;border-radius:30px;padding:10px 14px}.slide-dots{display:flex;gap:9px}.slide-dots button{width:24px;height:24px;border:0;background:transparent;padding:6px;cursor:pointer;display:grid;place-items:center}.slide-dots button:after{content:'';width:8px;height:8px;background:#ffffff70;border-radius:50%}.slide-dots button.selected:after{background:white}.slide-pause{background:transparent;color:white;border:0;border-left:1px solid #ffffff50;padding:3px 0 3px 12px;font:600 13px 'DM Sans',sans-serif;cursor:pointer}.photo-label{bottom:92px}@media(max-width:700px){.photo-label{bottom:78px}.slideshow-controls{bottom:18px;right:20px}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
/* Full-width photographic hero with foreground content. */
.hero{position:relative;display:block;min-height:700px;isolation:isolate;background:#132e59;overflow:hidden;color:white}.hero-photo{position:absolute;inset:0;min-height:0;z-index:-1}.hero-slides:after{inset:0;background:linear-gradient(90deg,rgba(7,19,38,.88) 0%,rgba(7,19,38,.72) 38%,rgba(7,19,38,.28) 72%,rgba(7,19,38,.22) 100%)}.hero-copy{position:relative;padding:100px 7% 105px;max-width:850px;pointer-events:none}.hero-copy a{pointer-events:auto}.hero .eyebrow{color:#fff}.hero h1{font-size:clamp(48px,5.8vw,86px);text-shadow:0 2px 22px #0002}.hero .lead{color:#f0f3f7;max-width:510px}.hero .button{background:#b92029;color:white;box-shadow:0 4px 20px #0002}.hero .button:hover{background:#991c23}.hero .text-link{color:white}.hero-proof{color:#f1f3f7}.hero-proof span:before{color:white}.hero .photo-label{display:none}.hero .slideshow-controls{bottom:32px;right:7%;z-index:3;pointer-events:auto;background:rgba(10,25,46,.7);border:1px solid #ffffff35}.hero-slide{object-position:center 48%}@media(max-width:700px){.hero{min-height:640px}.hero-copy{padding:65px 7% 110px;max-width:none}.hero h1{font-size:clamp(44px,11vw,66px)}.hero .lead{font-size:18px;max-width:420px}.hero-photo{min-height:0}.hero-slides:after{background:linear-gradient(90deg,rgba(7,19,38,.85),rgba(7,19,38,.55))}.hero .slideshow-controls{bottom:24px;right:7%}.hero .actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-proof{font-size:13px;gap:10px 16px}.hero-slide{object-position:center}}
