:root{--ink:#192d32;--cream:#f7f4ee;--muted:#536268;--accent:#b27c45;--line:#dcded8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9c671f;outline-offset:5px}.skip{position:fixed;top:5px;left:5px;z-index:100;background:white;padding:15px;clip-path:inset(100%);white-space:nowrap}.skip:focus{clip-path:none}.preview{background:var(--ink);color:white;text-align:center;font-size:10px;letter-spacing:.15em;padding:6px 12px}.preview span{opacity:.75;margin-left:16px;letter-spacing:.04em}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 5%;border-bottom:1px solid var(--line);background:var(--cream)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;line-height:1}.brand b{font-size:52px;letter-spacing:-5px}.brand>span{font-size:24px;font-weight:700;letter-spacing:.12em}.brand small{display:block;font-size:7px;letter-spacing:.15em;margin-top:8px}nav{display:flex;gap:32px;align-items:center}nav>a{font-size:13px;font-weight:700;text-decoration:none}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--ink);color:white;padding:15px 24px;border:1px solid var(--ink);border-radius:4px;text-decoration:none;font-size:14px;font-weight:700;min-height:48px;cursor:pointer}.button:hover{background:#2d494e}.button.small{padding:12px 20px}.button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;line-height:1.12;letter-spacing:-.045em}h1,h2,.project-deck{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(46px,4.6vw,74px);margin-bottom:27px}h1 em{font-weight:400;color:#60776f}h2{font-size:clamp(36px,3.7vw,57px);margin-bottom:25px}h3{font-size:32px;letter-spacing:-.035em}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:700;margin-bottom:22px;line-height:1.6}.hero{display:grid;grid-template-columns:44% 56%;min-height:610px}.hero-copy{padding:80px 8% 55px 11.4%;align-self:center}.lead{font-size:19px;line-height:1.7;color:var(--muted);max-width:510px}.actions{display:flex;align-items:center;gap:24px;margin:34px 0}.text-link{display:inline-block;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:7px}.hero-note{font-size:9px;letter-spacing:.18em;margin:44px 0 0}.hero-photo{position:relative;min-width:0}.photo{display:block;width:100%;height:100%;position:relative;padding:0;border:0;background:#d1d8d1;cursor:zoom-in;overflow:hidden}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo:hover img{transform:scale(1.025)}.hero-photo>.photo{position:absolute;inset:0}.hero-photo img{object-position:48% center}.zoom{position:absolute;right:16px;bottom:16px;background:rgba(255,255,255,.94);color:var(--ink);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:32px;line-height:1}.image-label{position:absolute;pointer-events:none;bottom:28px;left:28px;background:rgba(25,45,50,.93);color:white;padding:18px 25px;display:grid;gap:4px}.image-label span{font-size:10px;letter-spacing:.1em}.image-label strong{font:26px Georgia,serif}.intro-bar{display:flex;gap:60px;align-items:center;padding:32px 7%;border-bottom:1px solid var(--line)}.intro-bar strong{font:26px Georgia,serif;white-space:nowrap}.intro-bar p{font-size:14px;max-width:550px;margin:0;color:var(--muted)}.section{padding:95px 7%;max-width:1640px;margin:auto}.section-heading{display:flex;gap:60px;justify-content:space-between;align-items:end;margin-bottom:55px}.section-heading>p{max-width:330px;font-size:16px;color:var(--muted)}.section-heading h2{margin-bottom:0}.project{display:grid;grid-template-columns:55% 45%;margin-bottom:88px}.project-visual{position:relative;min-height:510px}.project-visual>.photo{position:absolute;inset:0}.project-visual img{object-position:center}.tag{position:absolute;pointer-events:none;top:20px;left:20px;padding:8px 14px;background:var(--cream);font-size:9px;letter-spacing:.13em;font-weight:700}.project-copy{padding:28px 0 20px 12%}.project-copy h3{font-size:38px;margin-bottom:24px}.project-copy .eyebrow{color:var(--muted);font-size:10px}.project-copy>p:not(.eyebrow):not(.project-deck){font-size:14px;color:var(--muted)}.project-deck{font-size:23px;line-height:1.35;letter-spacing:-.025em}.fact{padding-top:8px}.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}.mini-gallery .photo{height:96px}.mini-gallery .zoom{width:25px;height:25px;font-size:23px;right:6px;bottom:6px}.reverse .project-visual{order:2}.reverse .project-copy{padding:20px 12% 20px 0}.concept{display:grid;grid-template-columns:55% 45%;background:#e8ece6}.concept>div:first-child{min-height:340px}.concept>div:last-child{padding:38px 45px}.concept p{font-size:14px}.concept .concept-note{font-size:12px;color:#465856;border-left:2px solid #7f938a;padding-left:14px}.capabilities{background:var(--ink);color:var(--cream);max-width:none}.capabilities>.eyebrow,.capabilities>h2,.service-grid{max-width:1410px;margin-left:auto;margin-right:auto}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:50px}.service-grid article{border-top:1px solid #526267;padding-top:22px}.service-grid span{font-size:12px;color:#d8bb95}.service-grid h3{font-size:26px;margin:30px 0 16px}.service-grid p{font-size:15px;color:#c5d1cf}.approach{display:grid;grid-template-columns:1fr 1fr;gap:12%}.approach>div>p:not(.lead):not(.eyebrow){font-size:15px;color:var(--muted)}.approach .button{margin-top:18px}.steps{margin:0;padding:0;list-style:none}.steps li{display:flex;gap:30px;border-top:1px solid var(--line);padding:28px 0}.steps li>span{font-size:12px;color:#856a49;padding-top:6px}.steps h3{font-size:30px;margin-bottom:10px}.steps p{font-size:15px;color:var(--muted);margin:0}.detail-band{height:450px;position:relative;overflow:hidden}.detail-band>img{width:100%;height:100%;object-fit:cover;object-position:center 50%}.detail-band>div{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,28,27,.85),rgba(10,28,27,.05));padding:100px 7%;color:white}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.contact-copy>p:not(.lead):not(.eyebrow){font-size:15px;color:var(--muted)}.phone{display:block;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:35px 0 15px;text-decoration:none}.phone span{display:block;font-size:11px;letter-spacing:.12em}.phone strong{font-size:32px;letter-spacing:.02em}.hours{text-align:center;line-height:2}.hours a{font-weight:700}details{font-size:14px;margin-top:35px}summary{cursor:pointer}details p{padding-top:12px}form{background:white;border:1px solid #d9ddd8;border-radius:6px;padding:36px;box-shadow:10px 10px 0 #e5e9e1;max-width:540px;width:100%;justify-self:end}form h3{font-size:27px;margin-bottom:10px}.form-intro{font-size:13px;color:var(--muted);margin-bottom:25px}label{display:block;font-size:13px;font-weight:700;margin:16px 0 6px}label>span:not(.consent span){font-weight:400;font-size:11px;color:var(--muted)}input,select,textarea{width:100%;min-width:0;background:#fafbf8;border:1px solid #9aa6a1;border-radius:3px;padding:11px 12px;color:var(--ink);font-size:16px}textarea{resize:vertical;min-height:125px}.consent{display:flex;gap:10px;font-weight:400;font-size:12px;line-height:1.55;margin:20px 0}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:2px}.form-note,noscript p{font-size:12px;line-height:1.5}.submit{width:100%;margin:8px 0}.trap{display:none}#form-status{font-size:14px;margin-top:15px}#form-status:empty{display:none}.success{padding:22px;border:1px solid #8cb9a0;background:#edf7ef;color:#215333;border-radius:4px}.success strong{display:block;font:29px Georgia,serif;margin-bottom:6px}.success .check{font-size:31px;float:left;margin-right:12px}.error{padding:15px;border-left:3px solid #a33524;background:#fff1ed;color:#8c291c}footer{display:flex;gap:60px;justify-content:space-between;align-items:start;background:#e9ece5;padding:45px 7%;border-top:1px solid var(--line)}footer p{font-size:12px}footer>div{display:flex;flex-wrap:wrap;gap:10px 20px;max-width:280px;font-size:11px}footer small{width:100%;margin-top:10px;color:var(--muted)}.legal{max-width:850px;margin:auto;padding:80px 25px}.legal h1{font-size:50px}.legal h2{font-size:29px;margin-top:35px}.legal p{font-size:16px}dialog{padding:15px 25px 22px;border:0;border-radius:7px;max-width:1100px;width:94vw;max-height:94dvh;background:#10272b;color:white;overflow:auto}dialog::backdrop{background:rgba(6,16,20,.9)}dialog button{cursor:pointer;color:white;background:transparent;border:1px solid #648080;border-radius:4px;min-height:44px;min-width:44px}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.viewer-top p{font-size:12px;margin:0}.viewer-top{margin-bottom:15px}.viewer-top button{padding:8px 15px}#viewer-image{display:block;max-width:100%;height:56dvh;width:100%;object-fit:contain}.viewer-bottom{margin-top:15px}.viewer-bottom p{font-size:14px;margin:0;text-align:center}.viewer-bottom button{font-size:28px}#viewer-thumbs{display:flex;gap:8px;justify-content:center;margin:15px 0;overflow:auto}#viewer-thumbs button{padding:2px;min-width:60px;width:75px;height:52px;opacity:.65}#viewer-thumbs button[aria-current=true]{border:2px solid white;opacity:1}#viewer-thumbs img{width:100%;height:100%;object-fit:cover}.viewer-contact{display:block;text-align:center;font-size:13px;padding:10px}body.viewer-open{overflow:hidden}@media(min-width:1600px){.hero{max-width:1800px;margin:auto}}@media(max-width:1000px){nav{gap:20px}.hero{grid-template-columns:46% 54%;min-height:560px}.hero-copy{padding:55px 9%}h1{font-size:49px}.actions{align-items:start;flex-direction:column;gap:20px}.section{padding:70px 5%}.project{grid-template-columns:50% 50%}.project-copy{padding-left:9%}.reverse .project-copy{padding-right:9%}.project-visual{min-height:470px}.concept{grid-template-columns:1fr 1fr}.concept>div:last-child{padding:30px}.contact{gap:6%}form{padding:26px}.mini-gallery .photo{height:75px}.approach{gap:7%}}@media(max-width:700px){html{scroll-padding-top:20px}.preview{font-size:9px}.preview span{margin-left:8px}header{padding:17px 5%;gap:12px}.brand b{font-size:41px}.brand>span{font-size:18px}.brand small{font-size:5.5px}nav>a:not(.button){display:none}nav .button{font-size:11px;padding:10px 12px;min-height:44px}.hero{display:flex;flex-direction:column}.hero-copy{padding:47px 6% 35px}.hero h1{font-size:49px}.hero .lead{font-size:17px;max-width:440px}.actions{flex-direction:row;align-items:center;gap:20px;margin:25px 0}.actions .button{padding:13px 17px;font-size:12px}.actions .text-link{font-size:12px}.hero-note{margin-top:25px;font-size:9px}.hero-photo{height:360px}.image-label{bottom:18px;left:20px;padding:12px 18px}.image-label strong{font-size:22px}.intro-bar{display:block;padding:25px 6%}.intro-bar strong{font-size:23px}.intro-bar p{font-size:13px;margin-top:12px}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:none;font-size:15px}h2{font-size:39px}.project,.concept{display:flex;flex-direction:column;margin-bottom:55px}.project-visual{min-height:320px;order:0!important}.project-copy,.reverse .project-copy{padding:28px 0 0}.project-copy h3{font-size:33px}.mini-gallery .photo{height:100px}.concept{margin-bottom:0}.concept>div:first-child{min-height:0;height:270px}.concept>div:last-child{padding:28px}.service-grid{display:block;margin-top:30px}.service-grid article{padding-top:17px;margin-top:28px}.service-grid h3{margin:15px 0 12px}.service-grid p{max-width:490px}.approach{display:block}.steps{margin-top:42px}.detail-band{height:330px}.detail-band>div{padding:60px 6%}.contact{display:block}.contact-copy{margin-bottom:35px}.phone strong{font-size:32px}form{max-width:none;padding:25px 22px;box-shadow:6px 6px 0 #e5e9e1}footer{display:block;padding:35px 6%}footer p{margin:25px 0}footer>div{max-width:none}.legal{padding:50px 6%}.legal h1{font-size:39px}dialog{padding:12px 13px 15px}#viewer-image{height:48dvh}.viewer-bottom p{font-size:12px}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.brand img{width:170px;height:auto;display:block;mix-blend-mode:multiply}.brand{background:transparent;border-radius:3px;padding:6px 10px}header .brand{padding:3px 8px}footer .brand{max-width:190px}@media(max-width:700px){.brand img{width:128px}header .brand{padding:3px 5px}}

.warranty-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.warranty-copy h1{font-size:clamp(42px,4.2vw,64px)}.warranty-copy h1 em{color:#60776f}.warranty-copy>p:not(.lead):not(.eyebrow){font-size:15px;color:var(--muted)}.warranty-steps{margin:38px 0 20px}.warranty-steps .step-title{font-size:25px}.warranty-steps li{padding:20px 0}.warranty-note{border-left:2px solid var(--accent);padding-left:16px}.warranty-layout form h2{font:30px Georgia,serif;margin-bottom:12px}.warranty-layout .field-help{font-size:12px;line-height:1.5;color:var(--muted);margin-top:8px}@media(max-width:700px){.warranty-layout{display:block}.warranty-copy{margin-bottom:38px}.warranty-copy h1{font-size:46px}}
