:root{--paper:#f6f4ee;--white:#fffefa;--ink:#252c27;--muted:#72766d;--rust:#8b4536;--line:#d9dbd2;--forest:#263a30;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--ease:cubic-bezier(.2,.7,.25,1)}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{color:inherit}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.02}h2{font-size:clamp(44px,4.6vw,74px);letter-spacing:-2px}em{font-family:var(--serif);font-weight:400}h2 em,h3 em{color:var(--rust)}button{border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--rust);outline-offset:6px}::selection{background:#d5bca7;color:var(--ink)}[hidden]{display:none!important}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:8px;left:8px;z-index:1000;transform:translateY(-200%);padding:12px 20px;background:var(--white)}.skip:focus{transform:translateY(0)}
.topbar{display:flex;justify-content:space-between;padding:10px 4.2%;background:var(--forest);color:#e5e8df;font-size:9px;letter-spacing:1.5px}.topbar i,.footer-bottom i{display:inline-block;width:3px;height:3px;background:#b3bdaa;border-radius:50%;margin:0 12px;vertical-align:middle}.header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 4.2%;gap:30px;background:var(--paper);position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line);transition:box-shadow .3s}.header.scrolled{box-shadow:0 6px 25px #252c2707}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-tree{width:39px;height:47px;color:var(--rust);stroke-width:1.5}.brand>span{font-family:var(--serif);font-size:27px;letter-spacing:.4px;font-weight:600;line-height:1}.brand small{display:block;font:500 8px/1 var(--sans);letter-spacing:2.5px;margin-top:10px}.desktop-nav{display:flex;gap:28px;font-size:11px;font-weight:500}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{content:'';height:1px;position:absolute;bottom:3px;left:0;right:0;background:var(--rust);transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after{transform:scaleX(1)}.button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 23px;min-height:55px;font-size:11px;font-weight:600;line-height:1.3;overflow:hidden;transition:background .25s,box-shadow .25s,transform .25s}.button svg{width:18px;height:18px;transition:transform .3s}.button:hover svg{transform:translate(3px,-2px)}.button:active{transform:scale(.98)}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:var(--forest)}.button-rust{background:var(--rust);color:#fffaf1}.button-rust:hover{background:#713a2f;box-shadow:0 5px 15px #723b2920}.button-light{background:var(--paper);color:var(--ink)}.button-outline{border:1px solid #b8bcb1;background:transparent}.button-outline:hover{background:#e9e9df}.header-cta{font-size:10px;min-height:47px;padding:15px 20px;gap:25px}.menu-toggle{display:none}.mobile-nav{position:fixed;top:80px;left:0;right:0;z-index:59;background:var(--paper);padding:20px 6% 30px;border-bottom:1px solid var(--line)}.mobile-nav a{display:flex;align-items:center;min-height:56px;font-family:var(--serif);font-size:28px;border-bottom:1px solid var(--line)}
.hero{display:grid;grid-template-columns:49% 51%;min-height:690px;height:calc(100svh - 134px);max-height:900px;border-bottom:1px solid var(--line)}.hero-copy{position:relative;padding:clamp(42px,5vw,85px) 8.5% 60px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.8px;line-height:1.5;display:flex;align-items:center;gap:10px}.little-cross{font-size:23px;line-height:1;color:var(--rust);font-weight:400}.hero h1{font-size:clamp(72px,7.9vw,126px);line-height:.92;letter-spacing:-3.6px;margin:32px 0 24px;position:relative;z-index:2}.hero h1>span{display:block}.hero h1 em{color:var(--rust)}.hero-description{font-size:12px;line-height:1.9;max-width:325px;color:#6e7268}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:29px}.text-link{display:inline-flex;align-items:center;gap:18px;padding:6px 0;border-bottom:1px solid currentColor;font-size:11px;font-weight:600;background:none}.text-link svg{width:17px;height:17px;transition:transform .3s}.text-link:hover svg{transform:translate(3px,-2px)}.hero-review{margin-top:32px;display:flex;gap:13px;align-items:center;font-size:10px;line-height:1.6}.stars{color:var(--rust);letter-spacing:2px;font-size:12px}.hero-review strong{font-size:12px;margin-right:3px}.hero-review small{display:block;color:var(--muted);font-size:9px}.scroll-hint{position:absolute;bottom:24px;display:flex;align-items:center;gap:13px;font-size:8px;letter-spacing:1.8px;color:var(--muted)}.scroll-hint span{font-size:19px}.hero-visual{position:relative;overflow:hidden;background:#68716d}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:48% 50%}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#15271e20,transparent 45%,#12251c73)}.hero-image-label{position:absolute;top:30px;left:30px;right:30px;display:flex;justify-content:space-between;color:#fff;font-size:8px;letter-spacing:1.5px}.hero-photo-bottom{position:absolute;bottom:28px;left:30px;right:30px;display:flex;justify-content:space-between;color:#fff;font-size:8px;letter-spacing:1.6px;line-height:1.5}.heritage-badge{position:absolute;right:30px;bottom:75px;width:112px;height:112px;border:1px solid #f6f4ee8f;border-radius:50%;background:#f6f4ee10;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--paper);gap:6px;text-align:center}.heritage-badge svg{height:30px;width:30px}.heritage-badge span{font-size:9px;line-height:1.3}.heritage-badge em{font-size:21px}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 4.2%;background:#efefe6;border-bottom:1px solid var(--line)}.proof-strip>div{display:flex;align-items:center;gap:20px;padding-left:28px;border-left:1px solid #cfd3c7}.proof-strip>div:first-child{padding-left:0;border:0}.proof-icon{font-size:33px;color:#7c826e;line-height:1;font-family:var(--serif)}.proof-strip svg{width:29px;height:32px;color:#7c826e;stroke-width:1.1}.proof-strip strong{font-size:11px;font-weight:600;display:block}.proof-strip small{font-size:9px;color:var(--muted);display:block;margin-top:3px}
.section-pad{padding:100px 7%}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.section-index{font-size:8px;letter-spacing:1.6px;color:var(--muted)}.material-intro{display:grid;grid-template-columns:1.6fr 1fr;gap:65px;align-items:end;margin-bottom:45px}.material-intro h2{font-size:clamp(40px,4.3vw,68px)}.material-intro>p{font-size:12px;color:var(--muted);line-height:1.9;max-width:340px;padding-bottom:4px}.material-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center}.aging-photo{position:relative;height:460px;overflow:hidden;background:#d9c8b6}.aging-photo>img{height:100%;width:100%;object-fit:cover;transition:filter 1.1s,transform 1.1s}.aging-photo.aged>img{filter:saturate(.08) brightness(.95);transform:scale(1.025)}.aging-badge{position:absolute;left:22px;top:22px;background:var(--paper);padding:10px 13px;display:flex;align-items:center;gap:8px;font-size:8px}.status-dot{width:5px;height:5px;background:var(--rust);border-radius:50%}.aging-controls{position:absolute;bottom:22px;left:22px;display:flex;padding:4px;background:var(--paper)}.aging-controls button{padding:10px 17px;background:none;font-size:10px;transition:background .3s,color .3s;min-height:40px}.aging-controls button.active{background:var(--ink);color:var(--paper)}.material-facts article{display:flex;gap:17px;padding:24px 0;border-top:1px solid var(--line);align-items:flex-start}.material-facts article>span{color:var(--rust);font-size:9px;margin-top:8px}.material-facts article>svg{margin-top:8px;width:16px;height:16px}.material-facts h3{font-size:27px;line-height:1.2;margin-bottom:10px;letter-spacing:-.4px}.material-facts p{font-size:11px;line-height:1.9;color:var(--muted)}.material-facts>.text-link{margin:10px 0 0 30px}
.products{background:#eceee5}.products-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.products-title>p{font-size:12px;line-height:1.9;color:var(--muted);padding-bottom:7px}.product-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c9cfbf;border-bottom:1px solid #c9cfbf;margin-bottom:32px}.product-tabs button{display:flex;align-items:center;gap:18px;padding:24px 16px;background:none;text-align:left;border-bottom:2px solid transparent;font-size:13px;transition:background .3s,border .3s}.product-tabs button>span{font-size:8px;color:var(--muted)}.product-tabs svg{margin-left:auto;width:17px;height:17px;color:var(--muted)}.product-tabs button[aria-selected="true"]{border-bottom-color:var(--rust);color:var(--rust);background:#e5e8dd}.product-tabs button:hover{background:#e5e8dd}.product-panel{display:grid;grid-template-columns:1.05fr 1fr;background:var(--paper)}.product-photo-wrap{position:relative;min-height:470px;overflow:hidden;perspective:1000px;background:#b2a389}.product-photo-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.product-photo-wrap:hover img{transform:scale(1.035) rotateZ(.25deg)}.photo-caption{position:absolute;bottom:25px;left:25px;font-size:8px;letter-spacing:1.5px;background:var(--paper);padding:10px 14px}.sample-number{position:absolute;top:20px;right:25px;color:white;font-family:var(--serif);font-size:64px;font-style:italic;opacity:.8}.product-detail{padding:45px 50px}.product-detail h3{font-size:58px;letter-spacing:-1px;margin:22px 0}.product-detail>p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.9;max-width:350px}.product-detail dl{margin:25px 0 28px}.product-detail dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:9px}.product-detail dt{color:var(--muted)}.product-detail dd{margin:0;text-align:right}.product-note{text-align:right;color:var(--muted);font-size:9px;margin-top:16px}
.projects-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:20px}.project-filters{display:flex;gap:22px;padding-bottom:7px}.project-filters button{font-size:10px;padding:5px 0;background:none;color:var(--muted);border-bottom:1px solid transparent;min-height:34px}.project-filters button.active{border-color:var(--rust);color:var(--rust)}.project-filters sup{font-size:7px;margin-left:4px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 28px;align-items:start}.project-card{background:none;padding:0;display:block;text-align:left;min-width:0}.project-image{aspect-ratio:4/3;position:relative;overflow:hidden;background:#deddd2}.project-image>img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s}.project-card:hover .project-image>img{transform:scale(1.055);filter:brightness(.93)}.project-expand{position:absolute;bottom:15px;right:15px;display:flex;align-items:center;justify-content:center;background:var(--paper);width:39px;height:39px;transition:background .3s,color .3s}.project-card:hover .project-expand{background:var(--rust);color:var(--paper)}.project-expand svg{width:18px;height:18px}.project-caption{display:flex;justify-content:space-between;align-items:start;margin-top:17px;font-family:var(--serif);font-size:27px;line-height:1.2}.project-caption small{display:block;font:400 8px/1.5 var(--sans);letter-spacing:1.2px;color:var(--muted);margin-top:8px}.project-caption>span:last-child{font:400 9px/1.5 var(--sans);color:var(--muted);margin-top:6px}.project-grid>.project-card:nth-child(even){padding-top:60px}.image-cursor{position:absolute;top:var(--my,50%);left:var(--mx,50%);width:92px;height:92px;background:#f6f4eedb;backdrop-filter:blur(5px);border-radius:50%;transform:translate(-50%,-50%) scale(.5);display:flex;align-items:center;justify-content:center;font-size:8px;letter-spacing:1px;opacity:0;transition:opacity .2s,transform .3s;pointer-events:none}.project-large:hover .image-cursor{opacity:1;transform:translate(-50%,-50%) scale(1)}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:50px;padding-top:25px;border-top:1px solid var(--line)}.gallery-bottom p{font-size:10px;color:var(--muted)}.gallery-bottom button{min-width:185px}.gallery-bottom button>span{font-size:22px;font-weight:400}
.about{display:grid;grid-template-columns:1fr 1fr;min-height:610px;background:var(--forest);color:var(--paper)}.about-photo{position:relative;overflow:hidden}.about-photo>img{width:100%;height:100%;object-fit:cover;filter:brightness(.8)}.about-photo-label{position:absolute;left:35px;bottom:35px;font-size:9px;letter-spacing:2px;line-height:1.9;color:#fff}.about-copy{padding:75px 11%}.about-copy .eyebrow{color:#b5c3b2}.about-copy h2{font-size:clamp(40px,4vw,64px);line-height:1.06;margin:28px 0}.about-copy h2 em{color:#c6b29c}.about-copy>p:not(.eyebrow){font-size:11px;line-height:2;color:#b9c4b8;margin:16px 0}.about-signature{display:flex;align-items:center;gap:15px;padding-top:30px;margin-top:25px;border-top:1px solid #516052}.about-signature svg{width:31px;height:39px;color:#c6b29c}.about-signature>span{font:500 23px/1.1 var(--serif)}.about-signature small{display:block;font:400 7px/1.4 var(--sans);letter-spacing:1.6px;color:#b9c4b8;margin-top:9px}.process-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}.process-heading>p{font-size:11px;color:var(--muted)}.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:55px}.process-steps article>span{display:flex;justify-content:space-between;border-bottom:1px solid #a3ac97;padding-bottom:23px;font-size:10px;color:var(--rust)}.process-steps article>span svg{width:19px;height:19px}.process-steps h3{font-size:28px;line-height:1.15;margin:25px 0 13px;max-width:230px}.process-steps p{font-size:11px;color:var(--muted);line-height:1.9;max-width:300px}
.faq{display:grid;grid-template-columns:1fr 1.65fr;gap:70px;border-top:1px solid var(--line)}.faq h2{margin:25px 0}.faq>div>p:not(.eyebrow){font-size:11px;color:var(--muted);margin-bottom:15px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 0;font-size:11px;font-weight:600;cursor:pointer;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-family:var(--sans);font-size:19px;font-weight:400;color:var(--rust);transition:transform .3s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details[open] summary{color:var(--rust)}.faq-list details p{font-size:11px;line-height:1.9;color:var(--muted);padding-bottom:24px;padding-right:35px}.faq-list details .text-link{margin:0 0 25px}
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;background:#e8eadd}.contact h2{margin:25px 0}.contact-intro>p:not(.eyebrow){font-size:12px;color:#68705f;line-height:1.9;max-width:315px}.contact-phone{display:flex;align-items:center;gap:20px;font-family:var(--serif);font-size:34px;letter-spacing:-.8px;margin-top:30px}.contact-phone svg{width:19px;height:19px}.contact-email{display:inline-block;font-size:12px;border-bottom:1px solid #87927a;margin:5px 0 18px}.contact-intro .contact-hours{font-size:9px!important;line-height:1.9}.contact-ornament{display:flex;gap:20px;align-items:center;margin-top:45px;padding-top:27px;border-top:1px solid #c6cebb;max-width:310px}.contact-ornament svg{width:43px;height:55px;color:#89997a}.contact-ornament>span{font:400 29px/1.05 var(--serif);color:#6c7c60}.contact-ornament em{font-size:32px}.quote-form{padding:35px;background:var(--paper);align-self:center;box-shadow:0 14px 35px #24372106}.quote-form h3{font-size:31px;margin-bottom:20px}.quote-form fieldset{border:0;padding:0;margin:0 0 27px;display:flex;flex-wrap:wrap;gap:7px}.quote-form fieldset label{position:relative;cursor:pointer}.quote-form fieldset input{position:absolute;opacity:0;width:1px;height:1px}.quote-form fieldset span{display:block;padding:9px 12px;font-size:9px;border:1px solid #cfd4c5;transition:background .3s,color .3s}.quote-form fieldset input:checked+span{background:var(--forest);color:var(--paper);border-color:var(--forest)}.quote-form fieldset input:focus-visible+span{outline:2px solid var(--rust);outline-offset:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.quote-form label{display:block;font-size:10px}.quote-form label>span{color:var(--rust)}.quote-form input:not([type="radio"]),.quote-form textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #cbd0c2;border-radius:0;outline-offset:2px;padding:10px 0;margin:1px 0 23px;font-size:11px;line-height:1.7;color:var(--ink)}.quote-form textarea{resize:vertical;min-height:80px;max-height:350px}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#8b8e83;font-size:10px}.quote-form input:focus,.quote-form textarea:focus{border-bottom-color:var(--rust)}.form-explainer{font-size:9px;color:var(--muted);line-height:1.8;margin-bottom:18px}.quote-form>.button{width:100%}.form-small{font-size:8px;color:var(--muted);margin-top:13px}.inline-button{background:none;padding:0;border-bottom:1px solid currentColor;color:inherit;font-size:inherit}
.location{display:grid;grid-template-columns:1fr 1.1fr;min-height:380px}.location-copy{padding:60px 14%}.location-copy h2{font-size:45px;letter-spacing:-1px;margin:22px 0}.location-copy address{font-style:normal;font-size:11px;line-height:1.9;color:var(--muted);margin-bottom:17px}.map-area{position:relative;overflow:hidden;background:#d8dfd0;min-height:380px}.map-pattern{position:absolute;inset:0;background:repeating-linear-gradient(22deg,transparent 0 27px,#b6c3a344 27px 28px,transparent 28px 71px),repeating-linear-gradient(112deg,transparent 0 67px,#b6c3a350 67px 69px,transparent 69px 120px)}.map-street{position:absolute;width:900px;height:22px;background:#eef0e6;transform-origin:center;top:42%;left:-20%;transform:rotate(-24deg);border:1px solid #cad3be}.street-b{top:34%;transform:rotate(52deg)}.street-c{top:86%;transform:rotate(4deg)}.map-river{position:absolute;width:600px;height:20px;background:#b8cecc;transform:rotate(-60deg);right:-250px;top:50%}.map-marker{position:absolute;top:35%;left:45%;background:var(--forest);color:var(--paper);width:55px;height:55px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 12px #263a300d}.map-marker svg{height:33px;width:29px}.map-city{position:absolute;left:45%;top:56%;font-size:10px;letter-spacing:5px;color:#64735a}.map-loader{position:absolute;bottom:25px;left:25px;right:25px;display:flex;align-items:flex-start;flex-direction:column;gap:8px}.map-loader .button{font-size:10px;min-height:46px}.map-loader small{font-size:8px;color:#5f6c56;background:#e9eddfcc;padding:2px 5px}.map-area iframe{width:100%;height:100%;position:absolute;inset:0;border:0}.footer{background:var(--forest);color:var(--paper);padding:55px 4.2% 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:50px;border-bottom:1px solid #ffffff20}.footer .brand-tree{color:#c6b29c}.footer-top>p{font-family:var(--serif);font-size:40px;line-height:1}.footer-top>p em{color:#c6b29c}.back-top{border:1px solid #9eaa9677;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;transition:background .3s}.back-top:hover{background:#ffffff15}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:23px;font-size:8px;color:#b3beac}.footer-bottom>span:nth-child(2){font-size:7px;letter-spacing:1.2px}.footer-bottom button{background:none;color:inherit;font-size:9px}.mobile-contact{display:none}.load-line{position:fixed;top:0;left:0;height:2px;width:0;background:var(--rust);z-index:999;pointer-events:none;animation:load 1.2s var(--ease) forwards}@keyframes load{0%{width:0}80%{width:100%;opacity:1}100%{width:100%;opacity:0}}
dialog{padding:0;border:0;color:var(--ink)}dialog::backdrop{background:#13221be6;backdrop-filter:blur(10px)}.dialog-close{position:absolute;top:20px;right:20px;display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:var(--paper);z-index:3}.dialog-close svg{width:21px;height:21px}.lightbox{background:transparent;color:var(--paper);width:min(980px,94vw);max-height:94svh;overflow:visible}.lightbox .dialog-close{top:0;right:0}.lightbox-body>img{width:100%;height:min(70svh,700px);object-fit:contain;background:#18271f}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;padding:20px 0}.lightbox-bottom h2{font-size:30px;letter-spacing:0}.lightbox-bottom p{font-size:10px;margin-top:8px;color:#bdc6b7}.lightbox-arrows{display:flex;gap:10px}.lightbox-arrows button{width:45px;height:45px;background:#f6f4ee15;color:var(--paper);border:1px solid #f6f4ee44;font-size:24px}.lightbox-arrows button:hover{background:#f6f4ee30}.info-dialog{width:min(620px,92vw);max-height:90svh;overflow:auto;background:var(--paper);padding:52px}.info-dialog h2{font-size:43px;letter-spacing:-1px;margin:23px 0}.info-dialog>p:not(.eyebrow):not(.form-small){font-size:12px;line-height:1.9;color:var(--muted);margin:16px 0}.info-dialog pre{font:400 11px/1.8 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;max-height:250px;overflow:auto;padding:20px;background:#e7eade;color:var(--ink);margin:22px 0}.info-dialog .button{margin-top:12px}.info-dialog>.text-link{margin:20px 0 0;display:flex;width:max-content}.info-dialog p>a{text-decoration:underline}.info-dialog .dialog-close{background:transparent;top:13px;right:13px}
.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}.lenis:not(.lenis-scrolling) iframe{pointer-events:auto}
@media(min-width:1600px){.hero-copy{padding-left:max(8.5%,calc((100vw - 1440px)/2))}.section-pad{padding-left:max(7%,calc((100vw - 1330px)/2));padding-right:max(7%,calc((100vw - 1330px)/2))}}
@media(max-width:1150px){.desktop-nav{gap:19px;font-size:10px}.header{gap:20px}.brand>span{font-size:24px}.hero{min-height:650px}.hero-copy{padding-top:50px}.hero h1{font-size:91px;margin-top:30px}.hero-actions{gap:22px}.hero-actions .button{gap:16px;padding:17px}.hero-actions .text-link{gap:10px}.hero-description{max-width:280px}.hero-review{margin-top:28px}.hero-image-label{font-size:7px;letter-spacing:1px}.section-pad{padding:80px 5%}.material-grid{gap:40px}.material-intro{gap:40px}.product-detail{padding:35px}.product-detail h3{font-size:52px}.contact{gap:45px}.quote-form{padding:28px}.form-row{gap:17px}.about-copy{padding:60px 9%}.about{min-height:570px}}
@media(max-width:900px){.desktop-nav{display:none}.header{height:80px}.header-cta{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;width:42px;height:42px;background:none}.menu-toggle span{height:1px;background:var(--ink);width:22px;transition:transform .3s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{min-height:600px;max-height:750px;height:auto}.hero h1{font-size:80px;letter-spacing:-2.5px}.hero-copy{padding-top:40px;padding-bottom:75px}.hero .eyebrow{font-size:7px;letter-spacing:1px}.hero-actions{flex-wrap:wrap;gap:13px;margin-top:24px}.hero-review{margin-top:24px}.hero-visual{min-height:600px}.hero-image-label{display:block;line-height:1.9;left:23px;top:23px}.hero-image-label span{display:block}.hero-photo-bottom{left:23px;right:23px;font-size:6px}.heritage-badge{right:22px;bottom:65px;width:95px;height:95px}.proof-strip{padding:25px 4.2%}.proof-strip>div{gap:12px;padding-left:17px}.proof-strip strong{font-size:10px}.proof-strip small{font-size:8px}.proof-icon{font-size:26px}.proof-strip svg{width:25px}.material-intro{grid-template-columns:1.3fr 1fr;gap:25px}.material-intro h2{font-size:42px;letter-spacing:-1px}.material-grid{gap:30px}.aging-photo{height:430px}.material-facts article{gap:13px;padding:20px 0}.material-facts h3{font-size:25px}.material-facts p{font-size:10px}.aging-badge{max-width:calc(100% - 30px);left:15px;top:15px;font-size:7px}.aging-controls{left:15px;bottom:15px}.aging-controls button{padding:9px 13px;font-size:9px}.products-title h2{font-size:55px}.product-tabs button{font-size:11px;gap:12px;padding:20px 12px}.product-detail{padding:28px}.product-detail h3{font-size:46px}.product-photo-wrap{min-height:470px}.photo-caption{font-size:7px;left:15px;bottom:15px}.product-detail dl>div{font-size:8px}.about{min-height:570px}.about-copy h2{font-size:42px;letter-spacing:-1px}.about-copy{padding:55px 8%}.about-signature>span{font-size:20px}.process-heading>p{max-width:235px;font-size:10px}.process-heading h2{font-size:49px}.process-steps{gap:25px}.process-steps h3{font-size:25px}.faq{gap:40px;grid-template-columns:1fr 1.5fr}.faq-list summary{font-size:10px}.contact{gap:30px;grid-template-columns:.9fr 1.1fr}.contact h2{font-size:52px}.contact-phone{font-size:29px}.form-row{grid-template-columns:1fr;gap:0}.quote-form input:not([type="radio"]){margin-bottom:17px}.quote-form fieldset{margin-bottom:22px}.location-copy{padding:50px 10%}.location-copy h2{font-size:40px}.footer-bottom>span:nth-child(2){display:none}}
@media(max-width:640px){html{scroll-padding-top:80px}.topbar{padding:8px 5%;font-size:7px;letter-spacing:1.1px;justify-content:center}.topbar>span:first-child{display:none}.header{padding:0 5%;height:74px;gap:15px}.brand{gap:9px}.brand-tree{width:29px;height:38px}.brand>span{font-size:23px}.brand small{font-size:6px;letter-spacing:2px;margin-top:8px}.header-cta{display:none}.menu-toggle{margin-left:auto}.mobile-nav{top:74px;padding:15px 6% 25px}.hero{display:flex;flex-direction:column;height:auto;max-height:none}.hero-copy{padding:38px 6% 35px}.hero .eyebrow{font-size:8px;letter-spacing:1.1px}.hero h1{font-size:clamp(72px,19.8vw,110px);letter-spacing:-2.6px;margin:28px 0 24px;line-height:.91}.hero h1>span:first-child{white-space:nowrap}.hero-description{font-size:12px;max-width:320px;line-height:1.9}.hero-actions{flex-wrap:nowrap;gap:24px;margin-top:25px}.hero-actions .button{font-size:10px;padding:16px 18px;min-height:52px;gap:17px}.hero-actions .text-link{font-size:10px;gap:12px}.hero-review{margin-top:24px;gap:14px;font-size:9px}.hero-review small{display:inline;margin-left:6px;font-size:8px}.hero-review .stars{font-size:10px;letter-spacing:1px}.scroll-hint{display:none}.hero-visual{height:420px;min-height:0;order:2;margin:0 5% 22px}.hero-photo{object-position:center 53%}.hero-image-label{top:20px;left:20px;font-size:6px}.hero-photo-bottom{bottom:20px;left:20px;right:20px;font-size:6px}.heritage-badge{width:86px;height:86px;right:20px;bottom:55px}.heritage-badge svg{height:25px;width:25px}.heritage-badge span{font-size:8px}.heritage-badge em{font-size:18px}.proof-strip{grid-template-columns:1fr 1fr;padding:5px 6% 18px;gap:0 20px}.proof-strip>div{padding:22px 0 10px;border:0;gap:15px}.proof-strip>div:nth-child(n+3){border-top:1px solid #d2d6c9;padding-top:20px;margin-top:10px}.proof-strip strong{font-size:10px}.proof-strip small{font-size:8px}.proof-icon{font-size:29px;width:25px;text-align:center}.proof-strip svg{width:25px;height:29px}.section-pad{padding:65px 6%}.section-heading{margin-bottom:25px}.eyebrow{font-size:8px;letter-spacing:1.3px}.section-index{display:none}h2{font-size:46px;letter-spacing:-1.4px}.material-intro{grid-template-columns:1fr;gap:23px;margin-bottom:30px}.material-intro h2{font-size:44px;letter-spacing:-1.1px}.material-intro>p{font-size:12px;max-width:none}.material-grid{grid-template-columns:1fr;gap:26px}.aging-photo{height:390px}.aging-badge{top:20px;left:20px;font-size:8px}.aging-controls{left:20px;bottom:20px}.aging-controls button{font-size:10px;padding:10px 15px}.material-facts article{padding:23px 0;gap:17px}.material-facts h3{font-size:28px}.material-facts p{font-size:11px}.material-facts article>span{font-size:8px}.material-facts article>svg{width:16px}.material-facts>.text-link{margin-top:10px}.products-title{display:block;margin-bottom:28px}.products-title h2{font-size:51px}.products-title>p{font-size:11px;margin-top:20px}.product-tabs{margin-bottom:20px}.product-tabs button{flex-wrap:wrap;gap:5px;position:relative;font-size:9px;line-height:1.5;padding:15px 10px}.product-tabs button>span{width:100%;font-size:7px}.product-tabs svg{position:absolute;right:10px;top:15px;width:12px;height:12px}.product-panel{grid-template-columns:1fr}.product-photo-wrap{min-height:0;height:300px}.product-detail{padding:30px 25px}.product-detail h3{font-size:49px;margin:20px 0}.product-detail>p:not(.eyebrow){font-size:12px}.product-detail dl>div{font-size:9px;padding:11px 0}.product-detail .button{margin-top:3px}.product-note{font-size:8px;text-align:left;line-height:1.9}.projects-heading{display:block;margin-bottom:26px}.projects-heading h2{font-size:46px}.project-filters{padding:0;margin-top:22px;gap:27px}.project-filters button{font-size:10px}.project-grid{gap:28px;grid-template-columns:1fr}.project-grid>.project-card:nth-child(even){padding:0}.project-image{aspect-ratio:1.25}.project-caption{font-size:28px;margin-top:15px}.project-caption small{font-size:7px}.image-cursor{display:none}.project-expand{width:39px;height:39px}.gallery-bottom{align-items:flex-start;flex-direction:column;gap:20px;margin-top:30px;padding-top:20px}.gallery-bottom p{font-size:9px}.gallery-bottom button{width:100%;font-size:10px}.about{display:flex;flex-direction:column}.about-photo{height:380px}.about-photo-label{left:25px;bottom:25px;font-size:8px}.about-copy{padding:50px 6%}.about-copy h2{font-size:49px;line-height:1.04}.about-copy>p:not(.eyebrow){font-size:12px;line-height:1.9}.about-signature>span{font-size:25px}.about-signature small{font-size:7px}.process-heading{display:block}.process-heading h2{font-size:46px}.process-heading>p{max-width:none;font-size:11px;margin-top:22px}.process-steps{grid-template-columns:1fr;gap:28px;margin-top:35px}.process-steps article>span{padding-bottom:15px;font-size:9px}.process-steps h3{max-width:none;font-size:29px;margin-top:20px}.process-steps p{max-width:none;font-size:12px}.faq{grid-template-columns:1fr;gap:35px}.faq h2{font-size:49px}.faq-list summary{font-size:11px;padding:22px 0;gap:20px}.faq-list details p{font-size:11px;padding-right:12px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:60px}.contact-intro>p:not(.eyebrow){max-width:none}.contact-phone{font-size:36px;margin-top:25px}.contact-ornament{display:none}.contact-intro .contact-hours{font-size:10px!important}.quote-form{padding:25px 22px}.quote-form h3{font-size:33px}.quote-form fieldset span{font-size:9px;padding:10px 11px}.form-row{grid-template-columns:1fr}.quote-form label{font-size:10px}.quote-form input:not([type="radio"]),.quote-form textarea{font-size:13px;min-height:43px;margin-bottom:21px}.quote-form input::placeholder,.quote-form textarea::placeholder{font-size:11px}.form-explainer{font-size:10px}.form-small{font-size:9px}.quote-form>.button{font-size:11px}.location{grid-template-columns:1fr}.location-copy{padding:50px 6%}.location-copy h2{font-size:47px}.map-area{min-height:330px}.location-copy address{font-size:12px}.map-loader{left:22px;bottom:22px}.map-loader small{font-size:7px}.map-marker{top:24%;left:47%}.map-city{top:46%;left:43%}.footer{padding:40px 6% 90px}.footer-top{flex-wrap:wrap;gap:35px;padding-bottom:35px}.footer-top>p{font-size:38px;width:70%;order:3}.back-top{width:42px;height:42px}.footer-bottom{padding-top:20px;gap:15px;font-size:8px}.footer-bottom button{font-size:8px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:55;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border-top:1px solid #c3cbbb;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -5px 22px #263a3010}.mobile-contact a{min-height:55px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:10px}.mobile-contact a:last-child{background:var(--rust);color:var(--paper)}.mobile-contact svg{width:17px;height:17px}.info-dialog{padding:42px 26px 30px}.info-dialog h2{font-size:37px;line-height:1.06}.info-dialog>.button{font-size:10px;gap:15px;min-height:53px}.info-dialog>p:not(.eyebrow):not(.form-small){font-size:11px}.lightbox{width:92vw}.lightbox-body>img{height:65svh}.lightbox-bottom h2{font-size:25px}.lightbox-arrows button{width:39px;height:39px}.lightbox-bottom{gap:18px}.dialog-close{width:37px;height:37px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.load-line{display:none}.image-cursor{display:none}}

/* Comfortable reading sizes on wide layouts. */
@media(min-width:641px){.hero-description,.material-intro>p,.products-title>p{font-size:13px}.material-facts p,.product-detail>p:not(.eyebrow),.process-steps p,.faq-list details p,.about-copy>p:not(.eyebrow){font-size:12px}.faq-list summary{font-size:12px}.form-explainer{font-size:10px}.quote-form label{font-size:11px}.quote-form input:not([type="radio"]),.quote-form textarea{font-size:12px}.location-copy address{font-size:12px}}
.product-photo-wrap{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .5s var(--ease);transform-style:preserve-3d}.photo-caption{transform:translateZ(12px)}

@media(max-width:375px){.hero h1{font-size:64px}.material-intro h2{font-size:37px}.contact h2{font-size:50px}.contact-phone{font-size:30px}.hero-actions{gap:17px}.hero-actions .button{padding:15px;font-size:9px;gap:13px}.hero-review small{display:block;margin-left:0}.products-title h2{font-size:46px}.about-copy h2{font-size:43px}.process-heading h2{font-size:41px}.material-intro>*,.contact-intro{min-width:0}.quote-form{padding:23px 18px}}
@media(max-width:640px){.project-filters button{min-height:44px}.aging-controls button{min-height:44px}}
