:root{--paper:#f8f7f3;--white:#fff;--ink:#222824;--muted:#626863;--line:#dcded7;--accent:#efa523;--soft:#eeeee7;--ease:cubic-bezier(.2,.7,.25,1);--gutter:clamp(20px,4.2vw,80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(40px,5.7vw,86px);margin-bottom:28px}h2{font-size:clamp(32px,3.6vw,56px);margin-bottom:26px}h3{font-size:24px;letter-spacing:-.03em}p{color:var(--muted);margin-bottom:22px}ul{padding-left:20px}button{border:0}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b16c00;outline-offset:5px}::selection{background:var(--accent);color:var(--ink)}[hidden]{display:none!important}.wrap{width:min(100% - var(--gutter)*2,1440px);margin-inline:auto}.section{padding-block:clamp(60px,7vw,110px)}.section-bottom{padding-bottom:clamp(60px,7vw,110px)}.border-top{border-top:1px solid var(--line)}.soft-section,.about-strip{background:var(--soft)}.serif{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.05em}.eyebrow{display:flex;gap:12px;align-items:center;font-size:11px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:28px}.eyebrow>span{font-size:20px;color:#b16c00;font-weight:400}.lead{font-size:clamp(19px,1.5vw,23px);line-height:1.55}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:17px 24px;font-size:13px;font-weight:700;line-height:1.5;min-height:54px;transition:background .25s,color .25s,transform .25s}.button span,.text-link span{font-size:22px;font-weight:400;line-height:1}.button:hover{background:#414940;transform:translateY(-2px)}.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-light:hover{background:var(--accent);border-color:var(--accent)}.button-outline{background:none;color:var(--ink)}.button-outline:hover{color:white}.text-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid currentColor;padding-block:8px;font-size:13px;font-weight:700;transition:gap .3s}.text-link:hover{gap:38px}.actions{display:flex;gap:15px;flex-wrap:wrap}.skip-link{position:fixed;top:0;left:20px;background:var(--ink);color:white;padding:12px;z-index:1000;transform:translateY(-120%)}.skip-link:focus{transform:none}.topbar{font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:#e7e9df}.topbar .wrap{display:flex;justify-content:space-between;padding-block:9px}.topbar a{font-size:12px;letter-spacing:.06em}.site-header{position:sticky;top:0;z-index:50;background:rgba(248,247,243,.97);border-bottom:1px solid var(--line);transition:box-shadow .25s}.site-header.is-scrolled{box-shadow:0 5px 20px #22282410}.admin-bar .site-header{top:32px}.header-inner{display:flex;align-items:center;gap:30px;min-height:100px}.brand{width:126px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--ink);padding:10px 13px}.brand-logo{width:100px;height:62px;object-fit:contain}.brand-name{font-size:23px;font-weight:700;color:white;line-height:1.1}.brand-name>span{display:block;font-size:7px;letter-spacing:.1em}.desktop-nav{margin-left:auto}.desktop-nav ul{display:flex;align-items:center;gap:clamp(14px,1.7vw,26px);list-style:none;padding:0;margin:0}.desktop-nav li{margin:0}.desktop-nav a{display:block;font-size:12px;line-height:1.4;padding:15px 0;white-space:nowrap;position:relative}.desktop-nav a:after{position:absolute;content:'';left:0;right:100%;height:2px;bottom:5px;background:var(--accent);transition:right .3s}.desktop-nav a:hover:after,.desktop-nav .current-menu-item a:after,.desktop-nav a[aria-current]:after{right:0}.header-cta{display:flex;align-items:center;gap:22px;font-size:12px;font-weight:700;border:1px solid var(--line);padding:13px 16px}.header-cta:hover{background:var(--accent);border-color:var(--accent)}.header-cta span{font-size:22px}.mobile-nav{display:none}.hero{padding-top:54px}.hero-heading{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:end;padding-bottom:38px}.hero-heading h1{margin-bottom:0}.hero-heading .serif{white-space:nowrap}.hero-aside{padding-bottom:3px;max-width:300px}.hero-aside p{font-size:15px;margin-bottom:12px}.hero-image{height:clamp(400px,39vw,570px);position:relative;isolation:isolate;overflow:hidden;background:var(--ink)}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:center 52%;animation:image-enter 1.2s var(--ease) both}.hero-image:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#0005,transparent 35%,#0008);pointer-events:none}.hero-image-top{position:absolute;top:25px;left:30px;right:30px;display:flex;justify-content:space-between;z-index:1;color:white;font-size:10px;letter-spacing:.16em}.hero-project{position:absolute;bottom:30px;right:30px;display:flex;align-items:end;gap:44px;padding:22px 24px;background:var(--paper);z-index:1;min-width:345px;transition:background .3s}.hero-project:hover{background:#ffe0a6}.hero-project small{display:block;font-size:9px;letter-spacing:.08em}.hero-project strong{display:block;font-size:48px;line-height:1.2;font-weight:400;letter-spacing:-.04em;margin-block:8px}.hero-project strong span{font-size:20px}.round-arrow{width:42px;height:42px;display:grid;place-items:center;border:1px solid #a6aba2;border-radius:100%;font-size:25px}.hero-scroll{position:absolute;bottom:35px;left:30px;color:white;font-size:11px;letter-spacing:.05em;z-index:1}.hero-foot{display:flex;justify-content:space-between;padding-block:20px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.hero-foot span:before{content:'+';color:#b16c00;margin-right:14px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading p{max-width:410px;margin-bottom:0}.section-heading .eyebrow{margin-bottom:24px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.service-card{border-top:1px solid var(--ink);padding-top:18px}.service-top{display:flex;justify-content:space-between;margin-bottom:30px;color:var(--muted);font-size:12px}.service-top>span:last-child{font-size:24px}.service-card h3{font-size:28px;min-height:63px;margin-bottom:22px;max-width:300px}.service-photo{height:240px;overflow:hidden;background:#e1e3da}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.service-card:hover img{transform:scale(1.035)}.service-card>p{font-size:14px;margin-block:24px 15px;min-height:92px}.service-card .text-link{font-size:12px}.dark-section{background:var(--ink);color:var(--paper)}.dark-section p{color:#bec7bb}.dark-section .eyebrow{color:#bec7bb}.dark-section .eyebrow>span{color:var(--accent)}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.expertise-grid>div:first-child>p{max-width:470px}.expertise-grid .button{margin-top:12px}.floor-diagram{background:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:38px 38px;border:1px solid #ffffff20;position:relative;min-height:420px;overflow:hidden;padding:30px}.diagram-caption{font-size:9px;letter-spacing:.16em;color:#c2cabf}.slab-stack{position:relative;height:240px;perspective:800px}.slab{position:absolute;width:60%;height:140px;left:20%;transform:rotateX(56deg) rotateZ(-28deg);box-shadow:12px 18px 0 #111915;border:1px solid #b8bfb0;transition:transform .8s var(--ease)}.slab-top{top:20px;background:var(--accent);border-color:#e4bf6c;z-index:3;box-shadow:9px 15px 0 #bd7d1c}.slab-middle{top:72px;background:repeating-linear-gradient(90deg,#83917f 0,#83917f 16px,#98a491 17px);z-index:2;box-shadow:10px 18px 0 #596552}.slab-base{top:130px;background:#52604e;box-shadow:10px 17px 0 #303d2e}.floor-diagram:hover .slab-top{transform:translateY(-12px) rotateX(56deg) rotateZ(-28deg)}.diagram-legend{list-style:none;display:flex;flex-direction:column;gap:9px;padding:5px 0 0;margin:0;font-size:11px;color:#dce2d6}.diagram-legend li{display:flex;gap:18px}.diagram-legend span{color:var(--accent)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.project-grid:has(.project-card:only-child){grid-template-columns:minmax(0,1fr)}.project-grid:has(.project-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.project-photo{position:relative;height:295px;overflow:hidden;background:var(--soft)}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.project-card a:hover img{transform:scale(1.04)}.photo-arrow{position:absolute;right:15px;bottom:15px;width:40px;height:40px;display:grid;place-items:center;background:var(--paper);font-size:23px}.photo-tag{position:absolute;top:15px;left:15px;background:var(--paper);padding:6px 10px;font-size:9px;letter-spacing:.08em}.project-info{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-top:20px}.project-info h3{font-size:22px;margin:0;letter-spacing:-.03em}.project-info>span{font-size:12px;white-space:nowrap}.project-card p{margin:8px 0 0;font-size:12px}.project-grid:has(.project-card:only-child) .project-photo{height:460px}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.about-photo{position:relative;height:480px}.about-photo img{width:100%;height:100%;object-fit:cover}.image-label{position:absolute;left:20px;bottom:20px;background:var(--paper);padding:9px 15px;font-size:9px;letter-spacing:.1em}.process-grid,.check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.process-grid article,.check-grid article{border-top:1px solid var(--line);padding-top:20px}.step{font:42px/1.2 Georgia,serif;font-style:italic;color:#9a6a22;display:block;margin-bottom:45px}.process-grid h3,.check-grid h3{font-size:21px;letter-spacing:-.025em}.process-grid p,.check-grid p{font-size:14px;margin:0}.faq-section{display:grid;grid-template-columns:1fr 1.3fr;gap:90px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:22px 0;line-height:1.5;font-size:16px;font-weight:500;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:24px;flex-shrink:0}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:15px;padding-right:35px}.project-cta{background:var(--accent);padding-block:85px}.cta-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.cta-grid .eyebrow,.cta-grid p{color:#44371d}.cta-grid .eyebrow>span{color:var(--ink)}.cta-grid h2{font-size:clamp(44px,5.6vw,86px);margin-bottom:26px}.cta-grid p{max-width:520px}.cta-actions{justify-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:30px}.phone-link{font-size:32px;letter-spacing:-.03em}.site-footer{background:#202621;color:#f1f3ec;padding-top:80px}.site-footer p{color:#bdc6b9;font-size:14px}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1.1fr;gap:75px;padding-bottom:65px}.footer-brand{display:block;font-size:43px;line-height:1;letter-spacing:.08em;margin-bottom:28px;color:var(--accent);font-weight:700}.footer-brand span{font-size:13px;display:block;margin-top:10px;letter-spacing:.4em;color:var(--paper)}.footer-caption{font-size:10px;letter-spacing:.06em;color:#b8c3b3}.footer-main h2{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#b9c5b5;margin-bottom:20px}.footer-main ul{list-style:none;margin:0 0 27px;padding:0;display:grid;gap:8px;font-size:13px}.footer-main a:hover{color:var(--accent)}.footer-main>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-main>div:last-child p{max-width:300px;margin-block:8px}.footer-main>div:last-child h2{margin-bottom:6px}.footer-phone{font-size:28px;letter-spacing:-.03em}.footer-main>div:last-child>a:not(.footer-phone){font-size:13px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff20;padding-block:22px;font-size:11px;color:#c0c9b9;gap:20px}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:25px}.studio-credit{text-align:center;padding:17px 0 23px;margin:0!important;border-top:1px solid #ffffff16;font-size:12px!important;color:#d9e0d3!important}.page-intro{padding-block:65px 50px}.page-intro h1{max-width:1050px;font-size:clamp(40px,5vw,76px)}.page-intro .lead{max-width:850px;margin-bottom:0}.wide-photo{height:500px;position:relative;overflow:hidden}.wide-photo img{width:100%;height:100%;object-fit:cover}.editorial-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px}.editorial-grid>div{max-width:800px}.editorial-grid .lead{color:var(--ink)}.editorial-grid h3{margin-top:35px}.facts-band{background:var(--ink);color:white;padding-block:50px}.facts-band>.wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.facts-band strong{display:block;font-weight:400;font-size:clamp(32px,4vw,60px);letter-spacing:-.04em}.facts-band span{font-size:12px;color:#c7cfc0}.application-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.application-grid>a{border:1px solid #ffffff30;padding:25px;transition:background .3s}.application-grid>a:hover{background:#ffffff08}.application-grid>a>span:first-child{font-size:11px;color:var(--accent)}.application-grid h3{margin-top:45px;font-size:23px}.application-grid p{font-size:13px}.application-grid>a>span:last-child{font-size:28px;color:var(--accent)}.service-hero{display:grid;grid-template-columns:2fr 1fr;background:var(--soft)}.service-hero-image{height:450px}.service-hero-image>img{width:100%;height:100%;object-fit:cover}.service-hero aside{padding:45px;display:flex;flex-direction:column;justify-content:space-between}.service-hero ul{padding:0;list-style:none;font-size:18px;margin-top:0;margin-bottom:30px;line-height:1.5}.service-hero li{border-bottom:1px solid var(--line);padding-block:12px}.service-hero .eyebrow{margin-bottom:15px}.type-list article{display:grid;grid-template-columns:60px 1fr 1.5fr;gap:35px;border-top:1px solid #cbd0c5;padding-block:30px}.type-list article>span{font-size:12px;color:#8d6621}.type-list h3{font-size:25px;max-width:350px}.type-list p{margin-bottom:0;font-size:15px}.surface-graphic{height:100%;background:var(--ink);color:var(--paper);position:relative;overflow:hidden;padding:50px}.surface-grid{position:absolute;width:140%;height:150%;background:linear-gradient(#ffffff16 1px,transparent 1px),linear-gradient(90deg,#ffffff16 1px,transparent 1px);background-size:55px 55px;transform:rotate(-25deg);inset:-30%}.surface-line{position:absolute;width:140%;height:40px;bottom:40px;background:var(--accent);transform:rotate(-25deg);left:-30%}.surface-graphic>div{position:relative;z-index:1}.surface-graphic small{font-size:10px;letter-spacing:.15em}.surface-graphic strong{display:block;margin-top:45px;font-size:clamp(28px,4vw,60px);font-weight:400;line-height:1.1;letter-spacing:-.04em}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{padding:12px 20px;background:transparent;border:1px solid #adb5a7;color:var(--ink);font-size:12px}.filters button.active{background:var(--ink);color:white}.reference-list article{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-block:25px;border-top:1px solid #ccd2c6}.reference-list h3{font-size:20px;margin:0}.reference-list p{font-size:13px;margin:0 0 4px}.filter-status{font-size:12px;margin-top:20px}.project-stats{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;border-bottom:1px solid var(--line);padding-block:30px;gap:30px}.project-stats span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:10px}.project-stats strong{font-size:22px;font-weight:400;line-height:1.3;display:block}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery>a{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--soft)}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery a:hover img{transform:scale(1.045)}.gallery a>span{position:absolute;right:12px;bottom:12px;background:var(--paper);padding:4px 14px;font-size:22px}.gallery a:last-child:nth-child(3n+1){grid-column:span 3;aspect-ratio:2.8}.lightbox{position:fixed;border:0;background:var(--ink);color:white;padding:16px;max-width:94vw;max-height:94vh;overflow:auto}.lightbox::backdrop{background:#000d}.lightbox img{max-height:80vh;object-fit:contain;max-width:88vw;width:auto;height:auto}.lightbox p{color:white;font-size:12px;margin:12px 6px 3px}.lightbox-close{position:sticky;display:block;top:0;margin-left:auto;width:44px;height:44px;background:var(--paper);font-size:28px;color:var(--ink);margin-bottom:12px}.solution-finder{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--soft);padding:50px}.solution-finder>div>p{max-width:420px}.solution-finder label{font-size:12px;display:block;margin-bottom:8px}.finder-result{border-top:1px solid #bbc3b3;margin-top:35px;padding-top:28px}.finder-result h3{font-size:25px}.knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.knowledge-grid article{border-top:1px solid #c9cfc2;padding-top:20px}.knowledge-grid h3{font-size:26px}.knowledge-grid p{font-size:14px}.knowledge-action{color:var(--ink);border-left:2px solid var(--accent);padding-left:15px;margin-top:25px}.large-list{padding:0;list-style:none;margin-bottom:35px}.large-list li{padding-block:15px;border-bottom:1px solid var(--line)}.large-list li:before{content:'↗';display:inline-block;margin-right:22px;color:#9a6a22}.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:100px}.contact-details>div{margin-bottom:35px}.contact-details .eyebrow{font-size:10px;margin-bottom:12px}.contact-details p{max-width:330px;margin-bottom:10px}.contact-phone{font-size:32px;letter-spacing:-.03em;display:block}.contact-map{position:relative;background:#e6e9df;height:220px;overflow:hidden;padding:30px;isolation:isolate}.map-grid{position:absolute;inset:-80px;background:linear-gradient(30deg,transparent 47%,#fff 48%,#fff 52%,transparent 53%),linear-gradient(90deg,transparent 47%,#fff 48%,#fff 52%,transparent 53%);background-size:90px 70px;transform:rotate(-12deg);z-index:-1}.map-dot{position:absolute;width:16px;height:16px;background:var(--ink);border:4px solid var(--accent);border-radius:50%;left:50%;top:45%;box-shadow:0 0 0 10px #efa52355}.contact-map strong{position:absolute;left:57%;top:44%;font-size:18px}.contact-map small{position:absolute;bottom:25px;left:25px;font-size:9px;letter-spacing:.12em;background:#e6e9df;padding:7px}.inquiry-form{margin-top:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.inquiry-form label{display:block;font-size:12px;font-weight:700;margin-bottom:20px;letter-spacing:.015em}input,select,textarea{display:block;width:100%;border:1px solid #c1c7ba;border-radius:0;background:transparent;color:var(--ink);padding:13px;line-height:1.5;min-height:49px;margin-top:7px}textarea{resize:vertical;min-height:150px}.inquiry-form .consent{display:flex;align-items:flex-start;gap:12px;font-size:12px;font-weight:400}.consent input{width:18px;height:18px;min-height:18px;flex-shrink:0;margin-top:3px;accent-color:var(--ink)}.consent a{text-decoration:underline}.form-note{font-size:12px;margin-top:18px}.form-note a{text-decoration:underline}.form-notice{border-left:3px solid var(--accent);padding:18px;background:var(--soft);color:var(--ink);font-size:15px}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.three-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.three-steps article{border-top:1px solid #c8cfc0;padding-top:20px}.three-steps h3{font-size:25px}.three-steps p{max-width:330px;font-size:14px}.legal-content{max-width:850px}.legal-content h2{font-size:28px;margin-top:40px}.legal-content a{text-decoration:underline;overflow-wrap:anywhere}.generic-content{padding-block:65px 100px;max-width:1040px}.generic-content img{max-width:100%;height:auto}.generic-content a{text-decoration:underline}.generic-content h2{font-size:34px}.post-item{border-top:1px solid var(--line);padding-block:30px}.search-form{margin-bottom:35px}.search-form>label{font-size:12px}.search-form>div{display:flex;gap:12px;max-width:600px}.search-form input{margin:0;min-width:0}.reveal-ready{transition:opacity .6s var(--ease),transform .6s var(--ease);opacity:.3;transform:translateY(16px)}.reveal-ready.is-visible{opacity:1;transform:none}@keyframes image-enter{from{transform:scale(1.025)}to{transform:scale(1)}}
@media(min-width:1700px){.hero-aside{max-width:350px}.hero-heading{grid-template-columns:1fr 330px}.hero-image{height:620px}}
@media(max-width:1190px){.desktop-nav{display:none}.header-inner{min-height:86px}.header-cta{margin-left:auto}.mobile-nav{display:block}.mobile-nav>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:18px;min-height:48px;font-size:12px;font-weight:700}.mobile-nav>summary::-webkit-details-marker{display:none}.menu-lines{display:block;width:23px;height:14px;border-top:1px solid;border-bottom:1px solid;position:relative}.menu-lines:before{content:'';position:absolute;top:5px;width:100%;height:1px;background:var(--ink)}.mobile-nav[open] .menu-lines{border:0}.mobile-nav[open] .menu-lines:before{transform:rotate(45deg)}.mobile-nav[open] .menu-lines:after{content:'';position:absolute;top:5px;width:100%;height:1px;background:var(--ink);transform:rotate(-45deg)}.mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px var(--gutter) 35px;border-bottom:1px solid var(--ink);box-shadow:0 20px 40px #0002;max-height:calc(100dvh - 120px);overflow-y:auto}.mobile-nav ul{padding:0;margin:0;list-style:none}.mobile-nav li a{display:block;padding:12px 0;font-size:25px;line-height:1.3;border-bottom:1px solid var(--line)}.mobile-phone{display:block;padding-top:25px;font-size:23px}.hero-heading{grid-template-columns:1fr 240px;gap:30px}.hero h1{font-size:clamp(46px,5.6vw,68px)}.hero-aside p{font-size:14px}.service-grid,.project-grid{gap:22px}.service-photo{height:210px}.service-card h3{font-size:25px}.expertise-grid{gap:45px}.about-grid{gap:45px}.about-photo{height:430px}.process-grid,.check-grid{gap:25px}.faq-section{gap:45px}.footer-main{gap:40px}.application-grid{grid-template-columns:repeat(2,1fr)}.service-hero aside{padding:30px}.service-hero ul{font-size:16px}.contact-layout{gap:50px}.solution-finder{gap:40px;padding:40px}.gallery{gap:15px}}
@media(max-width:800px){.hero{padding-top:36px}.hero-heading{grid-template-columns:1fr;gap:25px}.hero h1{font-size:clamp(40px,7.5vw,62px)}.hero-aside{max-width:560px;display:flex;align-items:center;gap:35px}.hero-aside p{margin:0;flex:1}.hero-aside .text-link{flex-shrink:0;font-size:11px;gap:15px}.hero-image{height:440px}.section-heading{align-items:start}.section-heading p{max-width:320px;font-size:14px}.service-grid{grid-template-columns:1fr;gap:40px}.service-card{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.service-top{grid-column:1/-1;margin-bottom:15px}.service-card h3{min-height:0;grid-column:1;margin-top:10px}.service-photo{grid-column:2;grid-row:2/5;height:230px}.service-card>p{grid-column:1;margin-top:0;min-height:0}.service-card .text-link{grid-column:1;justify-self:start}.expertise-grid{grid-template-columns:1fr;gap:35px}.floor-diagram{min-height:390px;max-width:600px}.project-grid{grid-template-columns:1fr;gap:40px}.project-photo{height:360px}.project-info h3{font-size:26px}.about-grid{grid-template-columns:1fr;gap:40px}.about-photo{height:430px}.process-grid,.check-grid{grid-template-columns:repeat(2,1fr);row-gap:40px}.step{margin-bottom:25px}.faq-section{grid-template-columns:1fr;gap:25px}.cta-grid{grid-template-columns:1fr;gap:25px}.cta-actions{justify-self:start}.cta-grid p{margin-bottom:0}.project-cta{padding-block:60px}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:first-child p{max-width:500px}.site-footer{padding-top:60px}.footer-bottom{align-items:start}.footer-bottom>div{gap:15px}.page-intro{padding-block:45px 36px}.wide-photo{height:380px}.editorial-grid{grid-template-columns:1fr;gap:15px}.editorial-grid>.eyebrow{margin-bottom:0}.service-hero{grid-template-columns:1fr}.service-hero-image{height:380px}.service-hero aside{padding:30px}.service-hero ul{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.service-hero aside .button{align-self:start}.type-list article{grid-template-columns:35px 1fr;gap:15px}.type-list p{grid-column:2}.type-list h3{max-width:none;margin-bottom:0}.reference-list article{grid-template-columns:1fr;gap:14px}.project-stats{grid-template-columns:1fr 1fr;gap:25px}.project-stats strong{font-size:20px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery a:last-child:nth-child(3n+1){grid-column:auto;aspect-ratio:4/3}.gallery a:last-child:nth-child(2n+1){grid-column:span 2;aspect-ratio:2}.solution-finder{grid-template-columns:1fr;gap:30px;padding:30px}.knowledge-grid{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-details>div{margin:0}.contact-map{height:190px}.contact-layout #inquiry{border-top:1px solid var(--line);padding-top:40px}.three-steps{gap:25px}.three-steps h3{font-size:22px}}
@media(max-width:540px){body{font-size:15px}.topbar .wrap{padding-block:8px}.topbar span{font-size:8px;letter-spacing:.035em}.topbar a{font-size:10px}.header-inner{min-height:76px;gap:18px}.brand{width:105px;padding:7px 10px}.brand-logo{height:53px;width:85px}.header-cta{display:none}.mobile-nav{margin-left:auto}.hero .eyebrow{font-size:9px;letter-spacing:.08em;gap:8px;margin-bottom:23px}.hero h1{font-size:clamp(36px,9.3vw,49px);letter-spacing:-.055em}.hero-heading{padding-bottom:26px;gap:22px}.hero-heading .serif{white-space:normal}.hero-aside{display:block}.hero-aside p{max-width:330px;font-size:14px;margin-bottom:12px}.hero-image{height:440px}.hero-image>img{object-position:48% center}.hero-image-top{top:18px;left:18px;right:18px;font-size:8px;letter-spacing:.08em}.hero-project{left:16px;right:16px;bottom:18px;min-width:0;gap:16px;justify-content:space-between;padding:17px}.hero-project strong{font-size:39px;margin-block:6px}.hero-project small{font-size:8px}.hero-scroll{display:none}.hero-foot{gap:15px;font-size:9px;padding-block:16px;align-items:start}.hero-foot span{flex:1}.hero-foot span:before{display:none}.hero-foot span:last-child{display:none}.section-heading{display:block;margin-bottom:30px}.section-heading p{max-width:none;margin-top:22px}.section-heading>.text-link{margin-top:18px}h2{font-size:36px;letter-spacing:-.045em}.section-heading .eyebrow{font-size:10px}.service-card{display:block}.service-top{margin-bottom:22px}.service-card h3{margin-bottom:22px;max-width:250px;font-size:28px}.service-photo{height:240px}.service-card>p{margin-top:20px;font-size:14px}.service-card .text-link{font-size:12px}.floor-diagram{padding:20px;min-height:360px}.slab-stack{height:210px}.slab{height:125px;width:67%;left:17%}.slab-top{top:20px}.slab-middle{top:65px}.slab-base{top:110px}.diagram-caption{font-size:8px}.project-photo{height:290px}.project-info h3{font-size:22px}.project-info>span{font-size:11px}.project-info{gap:8px}.project-grid:has(.project-card:nth-child(2):last-child){grid-template-columns:1fr}.project-grid:has(.project-card:only-child) .project-photo{height:290px}.about-photo{height:330px}.process-grid,.check-grid{gap:30px 24px}.process-grid h3,.check-grid h3{font-size:20px;letter-spacing:-.025em}.process-grid p,.check-grid p{font-size:13px}.step{font-size:34px;margin-bottom:22px}.faq summary{font-size:15px;padding-block:20px}.faq details p{padding-right:10px;font-size:14px}.cta-grid h2{font-size:53px}.cta-grid .eyebrow{font-size:9px}.phone-link{font-size:29px}.footer-main{grid-template-columns:1fr;gap:25px}.footer-main>div:first-child{grid-column:auto}.footer-main>div:nth-child(2){border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;padding-top:25px}.footer-bottom{display:block}.footer-bottom>div{margin-top:16px;gap:18px}.footer-main{padding-bottom:40px}.page-intro h1{font-size:41px;line-height:1.08}.page-intro .eyebrow{font-size:9px;overflow-wrap:anywhere}.page-intro .lead{font-size:18px}.wide-photo{height:300px}.facts-band>.wrap{grid-template-columns:1fr;gap:25px}.facts-band>.wrap>div{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #ffffff20;padding-bottom:18px}.facts-band strong{font-size:38px}.facts-band span{max-width:145px;font-size:11px}.application-grid{grid-template-columns:1fr}.application-grid h3{margin-top:25px}.application-grid>a{padding:22px}.service-hero-image{height:290px}.service-hero aside{padding:24px}.service-hero ul{display:block;font-size:16px}.type-list article{padding-block:25px}.type-list h3{font-size:24px;overflow-wrap:anywhere}.type-list p{font-size:14px}.surface-graphic{padding:30px}.surface-graphic strong{font-size:42px;margin-top:28px}.reference-list h3{font-size:21px;line-height:1.3}.reference-list p{font-size:12px}.filters{gap:7px}.filters button{padding:10px 14px;font-size:11px}.project-stats{gap:25px 18px}.project-stats strong{font-size:20px}.project-stats span{font-size:9px}.gallery{gap:10px}.gallery a>span{right:7px;bottom:7px;padding:2px 10px;font-size:18px}.solution-finder{padding:24px}.knowledge-grid{grid-template-columns:1fr;gap:30px}.knowledge-grid .step{margin-bottom:24px}.contact-details{grid-template-columns:1fr}.contact-map{height:190px}.contact-details .text-link{font-size:12px}.contact-phone{font-size:30px}.form-grid{grid-template-columns:1fr;gap:0}.inquiry-form .button{width:100%}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font-size:16px}.three-steps{grid-template-columns:1fr;gap:28px}.legal-content h2{font-size:26px}.generic-content h1{font-size:38px;overflow-wrap:anywhere}.search-form>div{flex-wrap:wrap}.search-form input{flex:1;min-width:140px}.search-form button{font-size:12px}.admin-bar .site-header{top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}
