:root{--ink:#142126;--night:#07171e;--paper:#fcfaf5;--cream:#ece2cf;--red:#b9272d;--pine:#245a50;--gold:#ecbd4c;--line:rgba(20,33,38,.16);--sans:"DM Sans",Arial,sans-serif;--serif:"Fraunces",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}img{max-width:100%}.snow{position:fixed;inset:0;z-index:10;pointer-events:none;opacity:.33;background-image:radial-gradient(#fff 1px,transparent 1.6px),radial-gradient(#fff 1px,transparent 1.6px);background-size:70px 70px,110px 110px;background-position:0 0,25px 30px;animation:snow 22s linear infinite}@keyframes snow{to{background-position:0 650px,25px 700px}}.notice{position:relative;z-index:12;background:var(--red);padding:8px 15px;color:#fff;text-align:center;font-weight:700;font-size:.76rem;letter-spacing:.04em}.notice a{margin-left:10px;color:#fff;text-underline-offset:3px}header{position:relative;z-index:12;display:flex;align-items:center;justify-content:space-between;height:92px;padding:0 clamp(22px,5vw,84px);background:var(--paper)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand img{width:94px;height:58px}.brand strong,.brand small{display:block;line-height:1;letter-spacing:.19em}.brand strong{font-size:1.08rem}.brand small{margin-top:7px;font-size:.55rem;font-weight:700}nav{display:flex;align-items:center;gap:27px}nav a{color:var(--ink);font-size:.9rem;font-weight:600;text-decoration:none}.dark-button{padding:11px 16px;border-radius:2px;background:var(--ink);color:#fff!important}.menu{display:none;background:transparent;border:0;font:700 .8rem var(--sans);text-transform:uppercase}.hero{position:relative;display:flex;align-items:center;min-height:680px;height:calc(100vh - 122px);max-height:880px;overflow:hidden;color:#fff}.hero-image{position:absolute;inset:0;background:url("warm-white-home.png") center/cover;animation:zoom 15s ease-in-out infinite alternate}@keyframes zoom{to{transform:scale(1.06)}}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,15,19,.86),rgba(0,15,19,.53) 42%,rgba(0,15,19,.08)),linear-gradient(0deg,rgba(0,0,0,.22),transparent 55%)}.hero-content{position:relative;z-index:1;width:min(650px,88vw);margin-left:clamp(22px,11vw,180px)}.eyebrow{margin:0 0 16px;color:#dce9df;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow.red,.red{color:var(--red)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);line-height:.98;letter-spacing:-.045em}h1{margin-bottom:22px;font-size:clamp(3.3rem,7vw,6.65rem)}h1 em{color:#ffd15c;font-weight:600}.hero-content>p:not(.eyebrow){max-width:540px;color:#edf3f1;font-size:1.08rem}.actions{display:flex;align-items:center;gap:25px;margin-top:33px}.red-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 18px;border:0;border-radius:2px;background:var(--red);box-shadow:0 10px 25px rgba(0,0,0,.17);color:#fff;font:700 .84rem var(--sans);letter-spacing:.02em;text-decoration:none;cursor:pointer}.red-button b{font-size:1.2rem}.phone{font-weight:700;text-decoration:none}.phone.light{color:#fff}.section{padding:clamp(75px,11vw,150px) clamp(22px,8vw,130px)}.overline{margin-bottom:50px;color:#586767;font-size:.74rem;font-weight:700;letter-spacing:.12em}.intro-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:clamp(40px,11vw,180px);padding-bottom:65px;border-bottom:1px solid var(--line)}.intro h2,.gallery h2,.process h2,.service-area h2,.closing h2{font-size:clamp(2.55rem,5vw,4.8rem)}.intro-grid>div:last-child{padding-top:14px;font-size:1.03rem;line-height:1.75}.inline-link{display:inline-block;margin-top:13px;color:var(--ink);font-weight:700;text-decoration:none}.cards{display:grid;grid-template-columns:repeat(3,1fr);padding-top:42px}.cards article{min-height:190px;padding:0 35px;border-left:1px solid var(--line)}.cards article:first-child{padding-left:0;border:0}.cards article:last-child{padding-right:0}.cards span,.process ol>b{color:var(--red);font:600 1.25rem var(--serif)}.cards h3,.process h3{margin:28px 0 7px;font:600 1.55rem var(--serif);letter-spacing:-.03em}.cards p{color:#536365;font-size:.91rem}.split{display:grid;grid-template-columns:1fr 1fr;background:var(--night);color:#fff}.split-photo{min-height:620px}.split-photo img{display:block;width:100%;height:100%;object-fit:cover}.split-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(66px,9vw,140px);background:radial-gradient(circle at 70% 20%,#1d493f,transparent 40%),var(--night)}.split-copy h2{font:600 clamp(2.4rem,4.4vw,4.5rem)/.98 var(--serif);letter-spacing:-.04em}.split-copy>p:not(.eyebrow){max-width:510px;color:#d3dfdc}.split-copy ul{margin:17px 0 0;padding:7px 0 0;list-style:none;border-top:1px solid rgba(255,255,255,.24)}.split-copy li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.24);font-size:.93rem;font-weight:600}.split-copy li:before{margin-right:10px;color:#ffd15c;content:"*"}.gallery{background:var(--cream)}.gallery-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:48px}.gallery-top>p{max-width:180px;margin-bottom:4px;color:#607071;font-size:.84rem}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:280px 280px;gap:18px}.gallery-item{padding:0;border:0;background:#111;overflow:hidden;cursor:zoom-in}.gallery-item.tall{grid-row:span 2}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.05)}.gallery-note{display:flex;flex-direction:column;justify-content:end;padding:32px;background:var(--red);color:#fff}.gallery-note p{font:600 1.75rem/1.15 var(--serif);letter-spacing:-.035em}.gallery-note span{font-size:.68rem;font-weight:700;letter-spacing:.12em}.process{background:var(--paper)}.process>div{max-width:650px;margin-bottom:65px}.process ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:90px 1fr;gap:18px;padding:28px 0;border-bottom:1px solid var(--line)}.process li>b{color:var(--red);font:600 1.45rem var(--serif)}.process h3{margin:0 0 7px}.process li p{margin:0;color:#596869}.service-area{overflow:hidden;background:#255c51;color:#fff}.mountains{height:100px;background:var(--paper);clip-path:polygon(0 73%,11% 28%,17% 50%,26% 0,37% 60%,45% 28%,52% 63%,61% 17%,72% 72%,82% 37%,100% 80%,100% 0,0 0)}.service-area .section{padding-top:78px;background:linear-gradient(115deg,transparent,rgba(0,0,0,.19))}.service-area h2{color:#fff}.service-area p:not(.eyebrow){max-width:440px;color:#dce8e2}.closing{display:flex;align-items:end;justify-content:space-between;gap:60px;background:linear-gradient(120deg,#e8e0cf,#f7f2e8)}.closing>div{max-width:700px}.closing h2{margin-bottom:20px}.closing>div>p:not(.eyebrow){max-width:540px;color:#536364}.closing .red-button{margin-top:16px}.call-card{display:flex;flex-direction:column;gap:7px;min-width:270px;padding-top:14px;border-top:2px solid var(--ink);color:var(--ink);font:600 1.5rem var(--serif);text-decoration:none}.call-card span{color:#637173;font:700 .68rem var(--sans);letter-spacing:.13em}.call-card b{color:var(--red);font:400 1rem var(--sans)}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:38px clamp(22px,5vw,84px);background:var(--ink);color:#e9efea}footer .brand{color:#fff}footer .brand img{width:72px;height:47px}footer p{margin:0;color:#a8b4b0;font-size:.73rem;text-align:center}footer>a:last-child{color:#fff;font-size:.82rem;font-weight:700;text-decoration:none}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.show{opacity:1;transform:none}dialog{max-width:min(95vw,1100px);max-height:94vh;padding:24px;border:0;background:#07171eea}dialog::backdrop{background:rgba(0,0,0,.75)}dialog img{display:block;max-width:100%;max-height:82vh}dialog button{position:absolute;right:6px;top:0;border:0;background:transparent;color:#fff;font-size:2rem;cursor:pointer}
.quote-page{background:#f4f0e8}.quote-page header{background:#f4f0e8}.quote-layout{display:grid;grid-template-columns:minmax(350px,.82fr) minmax(480px,1.18fr);align-items:start;gap:clamp(45px,8vw,125px);padding:clamp(70px,8vw,125px) clamp(22px,7vw,115px)}.quote-intro h1{color:#174937;font-size:clamp(3rem,5vw,5.7rem)}.quote-intro>p:not(.eyebrow){max-width:550px;color:#546465;font-size:1.04rem}.quote-phone{display:flex;flex-direction:column;gap:4px;margin:18px 0 34px;color:#174937;font:600 1.42rem var(--serif);text-decoration:none}.quote-phone span{color:#657172;font:700 .68rem var(--sans);letter-spacing:.13em}.quote-photos{display:grid;grid-template-columns:1fr 1fr;gap:11px}.quote-photos img{display:block;width:100%;aspect-ratio:1.12;object-fit:cover}.form-card{padding:clamp(30px,5vw,64px);border-radius:3px;background:#fff;box-shadow:0 20px 55px rgba(24,42,42,.09)}.form-overline{color:var(--red);font-size:.7rem;font-weight:700;letter-spacing:.14em}.form-card h2{margin-bottom:35px;font:600 clamp(2.2rem,3vw,3.3rem)/.98 var(--serif);letter-spacing:-.04em}.form-card form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-card label,.form-card legend{color:#3d5051;font-size:.76rem;font-weight:700;letter-spacing:.08em}.form-card input:not([type=radio]):not([type=checkbox]),.form-card select{display:block;width:100%;padding:10px 0;border:0;border-bottom:1px solid #9daaa8;background:transparent;color:var(--ink);font:500 1rem var(--sans);outline:0}.form-card input:focus,.form-card select:focus{border-color:var(--red)}.wide{grid-column:1/-1}.form-card fieldset{margin:0;padding:0;border:0}.form-card legend{margin-bottom:12px}.two-options,.three-options{display:grid;gap:10px}.two-options{grid-template-columns:1fr 1fr}.three-options{grid-template-columns:repeat(3,1fr)}.option{position:relative;display:block!important;color:var(--ink)!important;font-size:.86rem!important;letter-spacing:0!important}.option input{position:absolute;opacity:0}.option span{display:block;min-height:50px;padding:13px;border:1px solid #b5c0bc;background:#fff;line-height:1.3}.option small{display:block;margin-top:3px;color:#768484;font-size:.68rem}.option input:checked+span{border-color:#215c4c;background:#e3f0ea;box-shadow:inset 0 0 0 1px #215c4c}.consent{display:flex;align-items:flex-start;gap:10px;color:#637172!important;font-size:.74rem!important;font-weight:500!important;letter-spacing:0!important;line-height:1.5}.consent input{width:15px;height:15px;margin:2px 0 0;flex:0 0 auto}.form-note{grid-column:1/-1;margin:-5px 0 0;color:#6c7878;font-size:.73rem}
@media(max-width:780px){header{height:78px;padding-right:18px}.brand img{width:67px;height:48px}.brand strong{font-size:.91rem}.brand small{font-size:.47rem}.menu{display:block}header nav{position:absolute;top:78px;right:0;left:0;display:none;flex-direction:column;align-items:flex-start;padding:22px;background:var(--paper);box-shadow:0 13px 25px rgba(0,0,0,.1)}header nav.open{display:flex}.hero{height:auto;min-height:640px}.hero-content{margin-left:22px}.intro-grid,.split,.quote-layout{grid-template-columns:1fr}.intro-grid{gap:24px}.cards{grid-template-columns:1fr;gap:25px}.cards article,.cards article:first-child,.cards article:last-child{padding:25px 0 0;border-top:1px solid var(--line);border-left:0}.cards article:first-child{padding-top:0;border-top:0}.split-photo{min-height:390px}.split-copy{padding:72px 22px}.gallery-top{display:block}.gallery-top>p{margin-top:18px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 180px}.gallery-note{padding:20px}.gallery-note p{font-size:1.25rem}.process li{grid-template-columns:50px 1fr}.closing{display:block}.call-card{margin-top:50px}footer{flex-direction:column;padding:35px 22px;text-align:center}.quote-layout{padding-top:60px}.quote-page header nav a:first-child{display:none}.quote-page header nav{display:flex;position:static;padding:0;box-shadow:none}.quote-page header nav .dark-button{padding:10px 12px;font-size:.75rem}.form-card{padding:30px 22px}.form-card form,.two-options,.three-options{grid-template-columns:1fr}.wide{grid-column:auto}.notice{font-size:.67rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
