:root{--ink:#153b40;--cream:#f5efe5;--paper:#fcfaf6;--teal:#103f46;--sand:#e9dfce;--line:#d9cfbf;--muted:#5f6965}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}[id]{scroll-margin-top:110px}.nav{height:88px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px;text-decoration:none}.brand span{font:52px/.9 'Libre Caslon Display',Georgia,serif;letter-spacing:-3px}.brand small{font-size:8px;letter-spacing:2px;line-height:1.8;max-width:85px}.nav nav{display:flex;gap:28px;align-items:center}.nav nav a{font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;text-decoration:none}.nav nav a:hover{color:#936e4d}.nav nav .nav-cta{border-radius:30px;padding:17px 26px;background:var(--teal);color:white;box-shadow:0 6px 18px #103f4615}.menu{display:none;border:1px solid var(--line);background:transparent;padding:12px;font-size:10px;letter-spacing:1.4px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.6px;line-height:1.7;margin:0 0 25px;text-transform:uppercase}.hero{min-height:680px;position:relative;display:grid;place-items:center;isolation:isolate;color:white;text-align:center}.hero-photo{position:absolute;inset:0;z-index:-2;background:#414440}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#092d35a8,#0e252776,#132c2c80);z-index:-1}.hero-copy{padding:85px 24px 110px;max-width:1000px}.hero h1{font:400 clamp(48px,5.5vw,78px)/1.07 'Libre Caslon Display',Georgia,serif;letter-spacing:-1.3px;margin:0}.hero h1 em{font-style:normal}.lede{max-width:720px;margin:32px auto;font-size:18px;line-height:1.8;color:#f7f3ed}.actions{display:flex;gap:18px;align-items:center;justify-content:center}.button,.text-link{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:17px 25px;border:1px solid transparent;cursor:pointer}.dark{background:var(--teal);color:white}.light{background:var(--cream);color:var(--ink)}.hero .dark{background:white;color:var(--teal)}.hero .text-link{border-color:#ffffff70;color:white}.hero .text-link:hover{background:#ffffff15}.button:hover{filter:brightness(.94)}.hero-note{position:absolute;bottom:28px;font-size:8px;letter-spacing:2px;line-height:1.8;padding:0 20px;color:#eee8dd}.intro{padding:95px 7vw 100px;display:grid;grid-template-columns:1fr 1.15fr;gap:0 8vw;max-width:1500px;margin:auto}.intro .eyebrow{grid-column:1/-1;color:#8d745d;margin-bottom:30px}.intro h2,.section-heading h2,.gallery-heading h2,.care h2,.business h2,.lifecycle h2,.contact h2,.statement h2{font:400 clamp(42px,4.6vw,65px)/1.08 'Libre Caslon Display',Georgia,serif;letter-spacing:-1px;margin:0}.intro-copy{font-size:16px;line-height:1.9;color:var(--muted)}.intro-copy p:first-child{margin-top:0;font-size:19px;color:var(--ink)}.solutions{background:#eae2d3;padding:90px 5vw 100px}.section-heading{text-align:center;max-width:760px;margin:0 auto 50px}.section-heading>p:last-child{font-size:16px;line-height:1.8;color:var(--muted);margin-top:24px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;max-width:1400px;margin:auto}.service-card{text-decoration:none;background:var(--paper);border:1px solid #d8cebd;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #173b4010}.service-image{height:220px;overflow:hidden;background:#dbd9cb}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.service-card:hover img{transform:scale(1.04)}.service-copy{padding:28px;display:flex;flex-direction:column;flex:1}.service-copy>span:first-child{font-size:9px;letter-spacing:2px;color:#927b64}.service-copy h3{font:32px/1.1 'Libre Caslon Display',Georgia,serif;margin:15px 0}.service-copy p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 25px}.service-link{margin-top:auto;font-size:9px;letter-spacing:1.7px;display:flex;justify-content:space-between}.service-link b{font-size:18px}.installation-gallery{padding:95px 6vw;background:var(--paper)}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}.gallery-heading>p{max-width:350px;font-size:15px;line-height:1.9;color:var(--muted)}.photo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a8b4ad transparent;overscroll-behavior-x:contain}.photo-slide{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:60% 40%;scroll-snap-align:start;scroll-snap-stop:always;background:var(--cream)}.photo-frame{height:480px;overflow:hidden;background:#d8d5c9}.photo-frame img{width:100%;height:100%;object-fit:cover}.access-photo img{object-fit:contain;padding:30px}.slide-copy{padding:40px;display:flex;flex-direction:column;justify-content:center}.photo-number{font-size:9px;letter-spacing:2px;color:#8b745b;display:block;margin-bottom:24px}.slide-copy h3{font:46px/1.08 'Libre Caslon Display',Georgia,serif;letter-spacing:-.7px;margin:0 0 24px}.slide-copy p{font-size:15px;line-height:1.8;color:var(--muted);margin:0}.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.carousel-controls[hidden]{display:none}.carousel-dots,.carousel-navigation{display:flex;align-items:center;gap:6px}.carousel-dot{width:44px;height:44px;display:grid;place-items:center;border:0;background:none;cursor:pointer}.carousel-dot span{height:7px;width:7px;border-radius:50%;background:#bbc2bb}.carousel-dot[aria-pressed=true] span{background:var(--teal);transform:scale(1.5)}.carousel-prev,.carousel-next{height:46px;width:46px;border:1px solid #abb7b0;border-radius:50%;background:none;color:var(--ink);font-size:23px;cursor:pointer}.carousel-prev:disabled,.carousel-next:disabled{opacity:.3;cursor:default}.carousel-status{font-size:10px;letter-spacing:2px;margin-right:16px}.gallery-note{font-size:10px;color:var(--muted);margin:25px 0 0}.statement{text-align:center;padding:90px 20px;background:var(--sand)}.statement h2 em{font-style:normal;color:#8b745b}.statement>p:not(.eyebrow){max-width:600px;margin:25px auto;font-size:15px;line-height:1.8}.statement .button{background:var(--teal);color:white;margin-top:8px}.care{padding:100px 7vw;background:var(--teal);color:var(--cream);display:grid;grid-template-columns:1.1fr 1fr;gap:8vw}.care h2{font-size:clamp(43px,4.5vw,62px)}.care-copy{font-size:15px;line-height:1.9;max-width:560px;color:#d5e0da;margin:30px 0}.care-list{border-top:1px solid #668085;align-self:center}.care-list div{padding:24px 0;border-bottom:1px solid #668085;display:grid;gap:8px}.care-list b{font:28px 'Libre Caslon Display',Georgia,serif;font-weight:400}.care-list span{font-size:12px;color:#cbd9d4}.business{display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}.business-card{padding:100px 6vw}.business-card>p:not(.eyebrow){font-size:15px;line-height:1.9;color:var(--muted);margin:30px 0}.business-card .text-link{border-bottom:1px solid var(--ink);padding:10px 0}.business-photo{min-height:500px}.business-photo img{height:100%;width:100%;object-fit:cover}.lifecycle{padding:95px 7vw;text-align:center}.lifecycle>p:not(.eyebrow){max-width:740px;font-size:16px;line-height:1.9;color:var(--muted);margin:30px auto 45px}.steps{display:flex;gap:25px;align-items:center;justify-content:center;border-block:1px solid var(--line);padding:26px 0;font-size:10px;letter-spacing:2px}.steps i{font-style:normal;color:#9a856c}.contact{padding:95px 7vw;background:#eae2d3;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact>div>p:not(.eyebrow){font-size:15px;line-height:1.9;color:var(--muted);margin-top:28px}.contact .region{max-width:350px;font-size:12px!important;margin-top:50px!important}.contact form{display:grid;gap:22px}.contact label{font-size:10px;letter-spacing:1.4px;line-height:1.5}.contact input,.contact select,.contact textarea{width:100%;display:block;border:0;border-bottom:1px solid #9baba2;border-radius:0;background:transparent;padding:12px 0;color:var(--ink);font-size:15px;margin-top:6px}.contact textarea{resize:vertical}.contact .form-note{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.contact .button{justify-self:start}.hidden{display:none}footer{padding:55px 6vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:center;background:var(--teal);color:var(--cream)}footer>p{font-size:11px;line-height:1.8}.legal{text-align:right;color:#c1cec7}.legal a{text-underline-offset:4px}.confirmation{max-width:900px;margin:auto;padding:100px 7vw 150px}.confirmation h1{font:400 clamp(56px,7vw,96px)/1 'Libre Caslon Display',Georgia,serif;margin:0}.confirmation>p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:540px;margin:35px 0}:focus-visible{outline:2px solid #9e7549;outline-offset:4px}
@media(min-width:1600px){.hero{min-height:780px}}@media(max-width:1050px){.nav nav{gap:17px}.nav nav a{font-size:9px}.nav nav .nav-cta{padding:15px 18px}.brand span{font-size:44px}.brand small{font-size:7px}.slide-copy h3{font-size:38px}.service-copy{padding:23px}.service-image{height:190px}}
@media(max-width:1000px){.nav{height:76px}.menu{display:block}.nav nav{display:none;position:absolute;top:76px;left:0;right:0;padding:25px 6vw;background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.nav nav.open{display:flex}.nav nav a{font-size:11px;padding:15px 0}.nav nav .nav-cta{text-align:center;margin-top:12px}.hero{min-height:680px}.hero-copy{padding:80px 25px 115px}.hero h1{font-size:56px}.lede{font-size:16px}.intro{grid-template-columns:1fr;gap:30px;padding:75px 7vw}.intro .eyebrow{margin:0}.intro-copy{max-width:650px}.services{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-heading{display:block}.gallery-heading>p{max-width:550px;margin-top:25px}.photo-slide{grid-template-columns:55% 45%}.photo-frame{height:420px}.slide-copy{padding:28px}.slide-copy h3{font-size:34px}.care,.contact{grid-template-columns:1fr;gap:50px}.care,.contact,.lifecycle{padding:75px 7vw}.business-card{padding:70px 6vw}.business-photo{min-height:460px}.business h2{font-size:42px}.steps{gap:18px;font-size:9px;letter-spacing:1px}[id]{scroll-margin-top:95px}}
@media(max-width:550px){.hero{min-height:710px}.hero-copy{padding-top:65px}.hero h1{font-size:46px;line-height:1.08}.hero .eyebrow{font-size:8px;letter-spacing:1.8px}.lede{font-size:15px;line-height:1.8;margin:26px auto}.actions{flex-direction:column;gap:12px}.actions a{min-width:255px}.hero-note{font-size:7px;letter-spacing:1.3px;bottom:22px}.intro h2,.section-heading h2,.gallery-heading h2,.care h2,.lifecycle h2,.contact h2,.statement h2{font-size:43px}.intro-copy p:first-child{font-size:17px}.intro-copy{font-size:15px}.solutions{padding:70px 6vw}.services{grid-template-columns:1fr;gap:22px}.service-image{height:235px}.service-copy{padding:28px}.service-copy h3{font-size:34px}.installation-gallery{padding:70px 6vw}.photo-slide{grid-template-columns:1fr}.photo-frame{height:300px}.slide-copy{padding:28px;min-height:250px;justify-content:flex-start}.slide-copy h3{font-size:36px;margin-bottom:18px}.slide-copy p{font-size:14px}.photo-number{margin-bottom:16px}.carousel-dots{gap:0}.carousel-dot{width:32px}.carousel-navigation{gap:4px}.carousel-prev,.carousel-next{height:42px;width:38px}.carousel-status{font-size:9px;margin-right:8px}.business{grid-template-columns:1fr}.business-card{padding:70px 7vw}.business-photo{height:320px;min-height:0}.steps{gap:10px;font-size:8px;letter-spacing:.5px}.statement{padding:70px 7vw}.contact .region{margin-top:30px!important}footer{grid-template-columns:1fr;gap:20px;padding:45px 7vw}.legal{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
