@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#163e46;--paper:#f7f6f1;--muted:#607173;--line:#d8dfd9;--sand:#e8e5d8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #24a8be;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Manrope',sans-serif;font-weight:400;line-height:1.12;letter-spacing:-2.7px}h1{font-size:clamp(50px,5.7vw,86px);margin-bottom:25px}h2{font-size:clamp(38px,4vw,59px);margin-bottom:25px}h3{font-weight:500;line-height:1.25;font-size:23px}em{font-family:Georgia,serif;font-weight:400}p{color:var(--muted)}svg{width:20px;height:20px;vertical-align:middle;flex-shrink:0}i{font-style:normal;display:inline-flex}.nav{height:100px;padding:0 4.5%;background:var(--paper);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;border-bottom:1px solid #d8dfd944}.brand{display:flex;align-items:center;gap:13px;line-height:1.2;font-weight:700;letter-spacing:1px}.brand img{width:53px;height:53px;object-fit:contain}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:7px;font-weight:500}.nav nav{display:flex;align-items:center;gap:30px;font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:19px 25px;background:var(--ink);color:white;border:1px solid transparent;font-size:13px;line-height:1.3;font-weight:500;transition:background .2s,transform .2s}.btn:hover{background:#265b66;transform:translateY(-2px)}.btn.small{padding:16px 20px;gap:18px}.btn.cream{background:#f2f0e5;color:var(--ink)}.btn.cream:hover{background:white}.menu{display:none}.hero{height:720px;max-height:calc(100svh - 100px);min-height:580px;position:relative;color:white;overflow:hidden}.hero-img{width:100%;height:100%;object-fit:cover;object-position:center 64%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,36,42,.83),rgba(8,36,42,.38) 48%,rgba(8,36,42,.04)),linear-gradient(0deg,rgba(8,36,42,.5),transparent 25%)}.hero-content{position:absolute;top:12%;left:7%;max-width:650px}.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:600;margin-bottom:24px;color:var(--ink)}.eyebrow.light{color:#dfebe6}.hero-content>p:not(.eyebrow){color:#e4eeec;font-size:16px;max-width:330px}.actions{display:flex;align-items:center;gap:28px;margin-top:30px}.hero-link{font-size:13px;border-bottom:1px solid #ffffff66;padding:12px 0;display:flex;gap:18px;align-items:center}.hero-bottom{position:absolute;bottom:30px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.hero-bottom span:last-child{font-family:Georgia,serif;font-style:italic;font-size:18px;letter-spacing:0}.trust{padding:25px 7%;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.trust strong{font-weight:500;color:var(--ink);margin-left:8px}.section{padding:100px 7%;scroll-margin-top:0}.intro{display:grid;grid-template-columns:1fr 2fr;gap:6%;padding-top:100px;padding-bottom:100px}.intro>div{display:grid;grid-template-columns:1fr 1fr;gap:15px 50px}.intro h2{grid-row:span 2}.intro p:not(.eyebrow){font-size:15px}.text-link{display:inline-flex;gap:28px;align-items:center;font-size:13px;padding-bottom:9px;border-bottom:1px solid #869c9d;width:fit-content}.work{background:#eeefe9}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:40px}.section-head h2{margin:0}.section-head>p{max-width:330px;font-size:14px;margin:0}.filters{display:flex;gap:8px;margin:35px 0 28px;flex-wrap:wrap}.filters button{border:1px solid #cbd3cd;background:transparent;color:var(--ink);padding:9px 18px;font-size:12px;border-radius:30px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:40px 25px}.gallery article[hidden]{display:none}.gallery article:nth-child(3n){grid-column:auto}.gallery img{width:100%;height:310px;object-fit:cover;transition:transform .4s}.gallery article:first-child img{height:390px}.gallery article:nth-child(2){padding-top:80px}.gallery-photo{overflow:hidden;background:#dbe3dc}.gallery a:hover img{transform:scale(1.025)}.gallery-meta{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.gallery-meta h3{font-size:21px;margin:3px 0}.gallery-meta span{font-size:9px;letter-spacing:1.6px;text-transform:uppercase}.gallery-note{font-size:11px;margin:30px 0 0}.service-list a{display:grid;grid-template-columns:50px 1.1fr 1fr 25px;gap:35px;align-items:center;border-top:1px solid var(--line);padding:30px 0}.service-list a:last-child{border-bottom:1px solid var(--line)}.service-list h3,.service-list p{margin:0}.service-list p{font-size:14px}.number{font-size:11px;color:#768987}.service-list a:hover h3{color:#16839a}.story{display:grid;grid-template-columns:1fr 1fr;background:#e8e5da}.story-image{position:relative;min-height:690px}.story-image img{height:100%;width:100%;object-fit:cover}.story-image>span{position:absolute;bottom:35px;left:35px;color:white;font-family:Georgia,serif;font-style:italic;font-size:26px;text-shadow:0 1px 10px #000}.story-copy{padding:80px 14%}.story-copy p{font-size:14px}.signature{font-family:Georgia,serif;font-style:italic;margin-top:35px;font-size:24px}.signature span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;font-style:normal;color:var(--muted);margin-top:8px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:30px;margin-top:65px}.steps article{border-top:1px solid #b9c7be;padding-top:25px}.steps span{font-size:12px;color:#859690}.steps h3{font-size:19px;margin-top:28px}.steps p{font-size:13px}.reviews{text-align:center;background:#e9efeb}.reviews iframe{display:block;width:100%;height:330px;border:0;margin:35px auto 20px;max-width:1100px}.reviews .text-link{margin:auto}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:20px}details[open] summary:after{content:'−'}details p{font-size:14px;margin:15px 25px 0 0}.contact{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1.15fr;gap:10%}.contact h2{font-size:clamp(38px,4vw,58px)}.contact p{color:#c5d5d4;font-size:14px}.contact>div>a{display:block;font-size:14px}.contact .phone{font-size:25px;margin:35px 0 5px}.contact-note{font-size:11px;margin-top:45px;color:#b9cdcb;line-height:2}.contact form{border:1px solid #547077;padding:30px}.contact form h3{font-size:23px;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}label{font-size:11px;display:block}input,select,textarea{display:block;margin-top:7px;width:100%;border:1px solid #6a8488;background:#204851;color:white;border-radius:0;padding:12px;font-size:13px;min-width:0}input::placeholder,textarea::placeholder{color:#b6c6c6}input:focus,select:focus,textarea:focus{outline:2px solid #b6d5cf;outline-offset:2px}select option{color:white;background:#204851}textarea{resize:vertical}.contact form>.btn{width:100%;margin-top:24px}.contact .form-help{font-size:10px;margin:12px 0 0;line-height:1.7}.copy-btn{border:1px solid #b9cdcb;padding:9px 14px;background:transparent;color:white;margin-right:15px}#form-result{margin-top:20px;border-top:1px solid #547077;padding-top:15px}#form-result a{font-size:13px;text-decoration:underline}footer{padding:45px 7% 25px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-top>div{display:flex;gap:30px;font-size:12px}.footer-top svg{width:14px}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;font-size:10px;color:var(--muted)}.footer-bottom a{margin-left:20px}.mobile-bar{display:none}.skip{position:absolute;left:10px;top:-100px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}.detail{max-width:1100px;margin:auto;padding:70px 7%}.detail>img{width:100%;max-height:650px;object-fit:cover;margin:30px 0}.detail p{max-width:700px}.detail .btn{margin-top:20px}@media(min-width:1500px){.section,footer{padding-left:max(7%,calc((100vw - 1300px)/2));padding-right:max(7%,calc((100vw - 1300px)/2))}}@media(max-width:1100px){.nav nav{gap:18px}.nav .btn{display:none}.intro{grid-template-columns:1fr}.intro>div{gap:20px 35px}.story-copy{padding:60px 10%}.steps{gap:18px}.contact{gap:5%}.service-list a{gap:20px;grid-template-columns:30px 1fr 1fr 20px}}@media(max-width:700px){html{scroll-padding-top:76px}.nav{height:76px;padding:0 6%}.brand img{width:43px;height:43px}.brand{font-size:14px;gap:8px}.brand small{font-size:7px;letter-spacing:1.5px}.menu{display:flex;align-items:center;gap:12px;border:0;background:none;color:var(--ink);padding:12px 0;font-size:13px}.nav nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:24px 6%;box-shadow:0 15px 25px #183e4615;flex-direction:column;align-items:stretch;gap:20px;font-size:16px}.nav nav.open{display:flex}.nav .btn{display:flex}.hero{height:680px;max-height:none;min-height:0}.hero-img{object-position:61% center}.hero-shade{background:linear-gradient(90deg,#092a36bf,#092a3625),linear-gradient(0deg,#08242a88,transparent)}.hero-content{left:7%;right:7%;top:12%}h1{font-size:53px;letter-spacing:-2px;line-height:1.1}h2{letter-spacing:-1.7px;font-size:40px}.eyebrow{font-size:9px;letter-spacing:1.7px}.hero-content>p:not(.eyebrow){font-size:15px;max-width:270px}.actions{gap:18px;align-items:start;flex-direction:column;margin-top:28px}.hero-bottom{bottom:24px}.hero-bottom span:first-child{font-size:8px;max-width:165px}.hero-bottom span:last-child{font-size:15px}.trust{padding:20px 6%;gap:12px;flex-wrap:wrap;font-size:10px}.trust span:last-child{display:none}.section{padding:65px 7%}.intro>div{display:block}.intro p:not(.eyebrow){margin-bottom:25px}.section-head{display:block;margin-bottom:30px}.section-head>p,.section-head>.text-link{margin-top:22px}.gallery{grid-template-columns:1fr;gap:30px}.gallery img,.gallery article:first-child img{height:290px}.gallery article:nth-child(2){padding-top:0}.filters{gap:6px}.filters button{padding:8px 12px;font-size:11px}.service-list a{grid-template-columns:25px 1fr 20px;gap:15px;padding:25px 0}.service-list h3{font-size:21px}.service-list p{grid-column:2;grid-row:2}.service-list i{grid-column:3;grid-row:1}.story{grid-template-columns:1fr}.story-image{min-height:0;height:330px}.story-copy{padding:55px 7%}.story-copy h2 br:nth-child(2){display:none}.steps{grid-template-columns:1fr;margin-top:30px;gap:0}.steps article{display:grid;grid-template-columns:35px 1fr;padding:22px 0;gap:0 15px}.steps h3{margin:0 0 10px}.steps p{grid-column:2;margin:0}.reviews iframe{height:390px}.faq{grid-template-columns:1fr;gap:10px}summary{font-size:15px}.contact{grid-template-columns:1fr;gap:35px}.contact form{padding:22px 18px}.form-grid{gap:15px 12px}input,select,textarea{font-size:16px}.contact-note{margin-top:25px}.contact form h3{font-size:21px}.footer-top{align-items:start;flex-direction:column}.footer-bottom{align-items:start;font-size:9px}.footer-bottom span:last-child{display:flex}.footer-bottom a{margin-left:12px}footer{padding:35px 7% 100px}.mobile-bar{display:grid;grid-template-columns:1fr 1.6fr;position:fixed;bottom:0;left:0;right:0;background:var(--paper);z-index:30;border-top:1px solid #cbd3cd;padding-bottom:env(safe-area-inset-bottom)}.mobile-bar a{text-align:center;padding:16px 8px;font-size:12px}.mobile-bar a:last-child{background:var(--ink);color:white}.mobile-bar svg{width:15px;margin-left:12px}.detail{padding:45px 7%}.detail h1{font-size:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
