:root{--navy:#0c2c44;--petrol:#0e4b57;--teal:#22bdb2;--ivory:#faf8f5;--stone:#eae6df;--muted:#617078;--line:#dcded9;--serif:'Instrument Serif',Georgia,serif;--sans:'Hanken Grotesk',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--navy);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--petrol);outline-offset:5px}img{max-width:100%;display:block}figure,p{margin:0}h1,h2,h3{margin:0;font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.035em;line-height:1.02}h2{font-size:clamp(42px,4.6vw,68px)}em{font-weight:400}.wrap{max-width:1440px;margin:auto;padding-inline:clamp(24px,6vw,96px)}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.14em;line-height:1.6;color:var(--petrol)}.header{height:100px;padding:20px clamp(24px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:rgba(250,248,245,.93);position:sticky;top:0;z-index:20;backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:border-color .3s}.scrolled .header{border-bottom-color:var(--line)}.brand img{width:180px;height:auto}.header nav{display:flex;gap:28px;font-size:14px}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-5px;left:0;height:1px;width:100%;background:var(--petrol);transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav a:hover:after{transform:scaleX(1)}.header-quote{background:transparent;color:var(--navy);border-bottom:1px solid var(--navy);padding:7px 0;font-size:14px;font-weight:600;white-space:nowrap}.header-quote .arrow{margin-left:16px}.menu{display:none}.hero{position:relative;display:grid;grid-template-columns:48% 52%;max-width:1680px;margin:auto;min-height:min(740px,calc(100svh - 100px));padding-bottom:28px}.hero-copy{padding:64px 7% 32px 12.5%;display:flex;flex-direction:column;justify-content:center;gap:25px}.hero h1{font-size:clamp(58px,6.4vw,98px);line-height:.99}.hero h1 em{color:var(--petrol)}.hero-description{max-width:385px;font-size:18px;color:#263b48;line-height:1.55}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 23px;background:var(--teal);color:#08263a;font-size:15px;font-weight:600;border-radius:2px;min-height:54px;transition:background .25s,box-shadow .25s}.button:hover{background:#43cfc3;box-shadow:0 4px 18px #0c2c440b}.arrow{display:inline-block;width:14px;height:14px;flex-shrink:0;vertical-align:-1px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 16 16 4M4 4h12v12' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .3s}.button:hover .arrow{transform:translate(3px,-3px)}.micro{font-size:12px;line-height:1.65;color:var(--muted);margin-top:13px}.discover{font-size:12px;display:flex;align-items:center;gap:14px;margin-top:22px}.discover>span{width:35px;height:1px;background:var(--navy)}.discover>b{font-weight:400;margin-left:7px}.hero-photo{position:relative;overflow:hidden;margin:22px 32px 0 0;min-height:530px}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:51% 52%;transform:scale(1.035);will-change:transform}.hero-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#112b3a50);pointer-events:none}figcaption{position:absolute;bottom:15px;left:20px;font-size:10px;color:white;text-shadow:0 1px 3px #0008;z-index:1}.photo-note{position:absolute;bottom:45px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;color:white;z-index:1}.hero-seam{position:absolute;left:46%;top:36px;bottom:28px;width:1px;background:repeating-linear-gradient(to bottom,#8fa6a7 0 4px,transparent 4px 11px)}.promise{padding-block:100px;display:grid;grid-template-columns:1fr 1.9fr 1fr;align-items:center;gap:35px;border-bottom:1px solid var(--line)}.promise>p{font:42px/1.15 var(--serif);letter-spacing:-.02em}.promise>p em{color:var(--petrol)}.promise-note{font-size:14px;color:var(--muted)}.services{padding-block:105px 110px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.section-head h2{margin-top:15px}.section-head>p{font-size:14px;color:var(--muted);padding-bottom:5px}.service-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:65px}.service-list{padding-top:12px}.service-tab{width:100%;display:flex;align-items:baseline;gap:18px;text-align:left;border-top:1px solid var(--line);padding:27px 0;background:transparent;color:#657580;transition:color .3s}.service-tab .number{font-size:10px;letter-spacing:.08em}.service-tab>span:nth-child(2){font:34px/1.2 var(--serif)}.service-tab small{display:block;font:12px/1.5 var(--sans);margin-top:9px;color:var(--muted)}.service-tab .arrow{width:18px;height:18px;margin-left:auto;opacity:0;transform:translateX(-5px);transition:opacity .3s,transform .3s}.service-tab[aria-selected=true]{color:var(--navy)}.service-tab[aria-selected=true] .arrow{opacity:1;transform:none}.service-tab[aria-selected=true] .number{color:var(--petrol)}.service-foot{border-top:1px solid var(--line);padding-top:32px;color:var(--muted);font-size:13px}.text-button{background:transparent;color:var(--navy);border-bottom:1px solid #7e9699;padding:6px 0;font-size:14px;font-weight:600;text-align:left;transition:color .2s}.text-button .arrow{margin-left:8px}.text-button:hover{color:#087e78}.service-photo{height:360px;position:relative;overflow:hidden;background:var(--stone)}.service-photo img{height:100%;width:100%;object-fit:cover}.service-description{display:flex;align-items:start;gap:28px;justify-content:space-between;margin-top:21px}.service-description p{max-width:330px;font-size:13px;color:var(--muted)}.service-description button{white-space:nowrap;font-size:12px}.process{background:var(--navy);color:var(--ivory);padding-block:100px;overflow:hidden}.process-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:100px}.process .eyebrow{color:#9ccece}.process h2{margin:23px 0;font-size:clamp(40px,4vw,62px)}.process-title>p:not(.eyebrow){color:#bac8cf;font-size:15px;max-width:370px}.stitch{display:block;margin-top:50px;width:150px;height:1px;background:repeating-linear-gradient(to right,#92b2b7 0 4px,transparent 4px 11px)}.steps{padding:0;margin:0;list-style:none}.steps li{display:flex;gap:27px;border-top:1px solid #ffffff28;padding:25px 0}.steps li:last-child{border-bottom:1px solid #ffffff28}.steps li>span{font:32px var(--serif);color:#9bcecc;min-width:32px}.steps h3{font-size:19px;font-weight:500;margin-bottom:10px}.steps p{font-size:14px;color:#bac8cf;line-height:1.6}.outside{padding-block:120px;display:grid;grid-template-columns:1.25fr 1fr;gap:90px;align-items:center}.outside-photo{height:480px;position:relative;overflow:hidden}.outside-photo img{width:100%;height:100%;object-fit:cover}.photo-label{position:absolute;left:24px;top:24px;color:white;font-size:10px;letter-spacing:.14em;text-shadow:0 1px 4px #0008}.outside-copy h2{margin:22px 0 25px}.outside-copy>p:not(.eyebrow){font-size:15px;max-width:370px}.outside-copy .muted{color:var(--muted);margin-top:17px}.outside-copy button{margin-top:28px}.coverage{background:#e9efec;text-align:center}.coverage-inner{padding-block:78px}.coverage h2{margin:21px 0 24px}.coverage p:not(.eyebrow){font-size:15px;color:#4c6265}.coverage-line{display:flex;justify-content:center;align-items:center;gap:18px;margin:36px auto 0;font-size:10px;font-weight:600;letter-spacing:.14em}.coverage-line b{width:130px;height:1px;background:repeating-linear-gradient(to right,#98aeaa 0 4px,transparent 4px 9px)}.coverage-line i{width:5px;height:5px;border-radius:50%;background:var(--petrol)}.faq{padding-block:100px;display:grid;grid-template-columns:1fr 1.3fr;gap:100px}.faq h2{margin:20px 0}.faq>div>p:not(.eyebrow){font-size:14px;color:var(--muted)}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{padding:22px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:22px;font-size:16px;cursor:pointer}summary::-webkit-details-marker{display:none}summary>span{font-size:22px;font-weight:400;transition:transform .25s}details[open] summary>span{transform:rotate(45deg)}details p{padding:0 32px 23px 0;color:var(--muted);font-size:14px;line-height:1.7}footer{background:var(--navy);color:var(--ivory)}.footer-top{padding-block:90px 70px;text-align:center}.footer-top .eyebrow{color:#9bcecc}.footer-top h2{font-size:clamp(50px,5.8vw,84px);margin:25px 0 33px}.footer-top .micro{color:#a6bdc5}.footer-bottom{border-top:1px solid #ffffff22;display:flex;gap:35px;align-items:center;justify-content:space-between;padding-block:30px;font-size:12px;color:#b1c2c9}.footer-bottom img{width:165px;height:auto}.footer-bottom>a:last-child{color:white}.preview-note{text-align:center;color:#94aab6;font-size:10px;padding-bottom:23px}.mobile-action{display:none}.skip{position:fixed;top:-80px;left:12px;z-index:100;padding:12px;background:var(--ivory)}.skip:focus{top:12px}dialog{border:0;border-radius:4px;background:var(--ivory);padding:32px;max-width:560px;width:calc(100% - 32px);max-height:90svh;color:var(--navy);box-shadow:0 30px 100px #04192555}dialog::backdrop{background:#061d32a3;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.close-dialog{background:none;color:var(--navy);font-size:32px;line-height:1;padding:4px 8px}.dialog-top .eyebrow{font-size:9px}dialog h2{font-size:44px;margin:18px 0}.dialog-info{font-size:13px;color:var(--muted);margin-bottom:22px}form label{display:block;font-size:12px;margin:13px 0 5px}input,select,textarea{width:100%;padding:12px;border:1px solid #bfcac6;background:#fff;color:var(--navy);border-radius:2px;min-width:0;font-size:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form .button{width:100%;margin-top:20px}#copy-status{font-size:13px;color:var(--petrol);margin-top:12px}textarea{min-height:130px;margin-top:12px}.no-scroll{overflow:hidden}.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.15,1),transform .9s cubic-bezier(.2,.7,.15,1)}.motion-ready .reveal.visible{opacity:1;transform:none}.intro{animation:arrive .9s both}.intro:nth-child(2){animation-delay:.1s}.intro:nth-child(3){animation-delay:.18s}.intro:nth-child(4){animation-delay:.26s}.intro:nth-child(5){animation-delay:.34s}@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero-copy{padding-left:96px}.hero{min-height:720px}}
@media(max-width:1100px){.header nav{gap:18px}.brand img{width:150px}.header{gap:20px}.hero-copy{padding-left:8%;padding-right:7%;gap:20px}.hero h1{font-size:70px}.hero-description{font-size:16px}.button{font-size:13px;gap:15px;padding:17px}.hero-photo{margin-right:24px}.promise{grid-template-columns:1fr 1.8fr}.promise-note{grid-column:2}.service-layout{gap:35px}.service-tab>span:nth-child(2){font-size:29px}.service-description{flex-direction:column;gap:10px}.process-grid,.outside,.faq{gap:50px}.section-head>p{max-width:260px}}
@media(max-width:800px){html{scroll-padding-top:80px}.header{height:76px;padding:15px 24px}.header-quote{display:none}.menu{display:flex;gap:12px;align-items:center;background:none;color:var(--navy);font-size:14px;padding:10px 0}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--ivory);padding:22px 24px 32px;border-bottom:1px solid var(--line);flex-direction:column;gap:0;box-shadow:0 15px 20px #08263a0a}.header nav.open{display:flex}.header nav a{font:30px var(--serif);padding:13px 0}.hero{grid-template-columns:1fr;padding-bottom:0;min-height:0}.hero-copy{padding:37px 24px 30px;gap:19px}.hero h1{font-size:clamp(54px,10vw,80px)}.hero-description{max-width:390px}.hero .eyebrow{font-size:10px}.hero-copy .button{font-size:14px}.discover{margin-top:4px}.hero-photo{margin:0 24px;height:420px;min-height:0}.hero-seam{display:none}.promise{padding-block:65px;gap:22px;grid-template-columns:1fr}.promise-note{grid-column:auto;max-width:380px}.promise>p{font-size:38px}.services{padding-block:65px}.section-head{display:block;margin-bottom:25px}.section-head>p{margin-top:22px;max-width:100%}.service-layout{grid-template-columns:1fr;gap:26px}.service-tab{padding:20px 0}.service-foot{padding-top:19px}.service-photo{height:350px}.service-description{gap:13px}.service-description p{max-width:100%}.service-description button{font-size:14px}.process{padding-block:65px}.process-grid{grid-template-columns:1fr;gap:36px}.process-title .stitch{display:none}.process h2{font-size:45px}.outside{grid-template-columns:1fr;padding-block:65px;gap:35px}.outside-photo{height:360px}.outside-copy h2{font-size:48px}.coverage-inner{padding-block:60px}.coverage h2{font-size:43px}.coverage-line b{width:80px}.faq{grid-template-columns:1fr;padding-block:65px;gap:30px}.faq h2{font-size:48px}.footer-top{padding-block:65px 50px}.footer-top h2{font-size:53px}.footer-bottom{flex-wrap:wrap;gap:22px}.footer-bottom>span{width:100%;order:3}.preview-note{padding-bottom:100px;text-align:left;line-height:1.6}.mobile-action{display:block;position:fixed;bottom:0;left:0;right:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(250,248,245,.96);border-top:1px solid var(--line);z-index:15;transform:translateY(110%);transition:transform .35s}.mobile-action.show{transform:none}.mobile-action .button{width:100%;font-size:14px;min-height:48px;padding:13px 18px}.field-row{grid-template-columns:1fr;gap:0}dialog{padding:24px}dialog h2{font-size:39px}}
@media(max-width:380px){.hero h1{font-size:54px}.hero .button{font-size:12px;padding:16px 14px;gap:8px}.hero-photo{height:310px}.service-photo{height:275px}.outside-photo{height:290px}.coverage h2{font-size:37px}.footer-top h2{font-size:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.hero-photo>img{transform:none!important}}
