:root{--bg:#f4f2ec;--ink:#242a27;--muted:#62675e;--line:#cecec3;--accent:#d1db8a;--white:#fff;--pad:clamp(22px,5.4vw,100px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a,button,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #63723b;outline-offset:5px}.wrap{padding:90px var(--pad)}.header{display:flex;align-items:center;justify-content:space-between;padding:25px var(--pad);gap:24px;border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:13px;font-size:16px;letter-spacing:.12em;font-weight:bold;line-height:1.3;flex-shrink:0}.brand-mark{font-size:49px;font-weight:normal;line-height:1}.brand-sub{display:block;font-size:11px;letter-spacing:.28em;margin-top:6px}.header nav{display:flex;align-items:center;gap:24px;font-size:14px}.header nav a{position:relative}.header nav a[aria-current=page]:after{content:'';height:1px;background:currentColor;position:absolute;bottom:-5px;left:0;right:0}.header nav a:hover{color:#617035}.header .nav-contact{padding:11px 17px;background:var(--ink);color:white;white-space:nowrap}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:9px 12px}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.18em;margin:0 0 27px}.hero{padding-top:49px;padding-bottom:63px}.hero-top,.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.hero-number{color:var(--muted);font-size:12px;letter-spacing:.08em}.hero h1{font-weight:400;font-size:clamp(56px,7.5vw,122px);line-height:1.06;letter-spacing:-.065em;margin:35px 0 40px}.hero h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.05em}.hero-bottom p{margin:0;font-size:17px;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:white;padding:17px 24px;min-height:56px;font-size:14px;border:1px solid var(--ink);cursor:pointer;transition:background .2s}.button:hover{background:#465044}.button span,.text-link span{font-size:22px;font-weight:400}.text-link{display:inline-flex;gap:34px;align-items:center;font-size:14px;border-bottom:1px solid currentColor;padding:9px 0}.hero-image{position:relative;margin:0 25px;height:clamp(360px,49vw,750px);overflow:hidden;background:#b5b2a8}.hero-image img{height:100%;width:100%;object-fit:cover}.hero-image figcaption{position:absolute;bottom:22px;right:25px;background:rgba(25,31,27,.8);color:white;padding:5px 12px;font-size:11px}.image-overlay{position:absolute;left:var(--pad);bottom:40px;color:white;font-family:Georgia,serif;font-size:32px;line-height:1.2;text-shadow:0 1px 12px #222}.intro-grid{display:grid;grid-template-columns:1fr 1.8fr;gap:7vw}.intro-grid>div{max-width:810px}h2{font-size:clamp(34px,4.1vw,67px);font-weight:400;line-height:1.14;letter-spacing:-.045em;margin:0 0 28px}h3{font-size:25px;font-weight:400;line-height:1.25;letter-spacing:-.025em;margin:0 0 17px}p{margin:0 0 22px}p:last-child{margin-bottom:0}.intro-grid p:not(.eyebrow),.copy p{color:var(--muted)}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:45px}.section-head h2{margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card figure{margin:0 0 25px;aspect-ratio:4/4.3;overflow:hidden;position:relative}.card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card a:hover img{transform:scale(1.03)}figcaption{font-size:11px;color:var(--muted);margin-top:7px}.card figcaption{position:absolute;bottom:10px;left:12px;background:rgba(244,242,236,.93);padding:3px 8px;margin:0}.card p{font-size:16px;color:var(--muted)}.card-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;font-size:12px;margin-bottom:18px}.dark{background:var(--ink);color:var(--bg)}.dark p{color:#c4c8bf}.dark .eyebrow{color:var(--accent)}.dark .text-link{color:var(--accent)}.split{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.split figure{margin:0}.split img{display:block;width:100%;height:auto}.split .text-link{margin-top:10px}.material-word{font-size:clamp(70px,11vw,185px);font-weight:700;letter-spacing:-.065em;line-height:1.1;margin:25px 0}.material-note{font-size:12px!important}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:45px}.step{border-top:1px solid var(--line);padding-top:22px}.step>span{font-family:Georgia,serif;font-size:30px;color:#737b68;display:block;margin-bottom:24px}.step h3{font-size:22px}.step p{color:var(--muted);font-size:16px}.cta{border-top:1px solid var(--line);display:grid;grid-template-columns:1.3fr 1fr;gap:10vw;align-items:center;background:#e4e7d6}.cta .button{margin-top:15px}.cta h2{font-size:clamp(55px,6.7vw,100px);margin-bottom:0}footer{padding:65px var(--pad) 25px;background:var(--ink);color:var(--bg)}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;padding-bottom:65px}.footer-top>.brand{align-self:start}.footer-top>p{font-size:28px;font-family:Georgia,serif;line-height:1.35}.footer-top>div p{font-size:14px;color:#c4c8bf}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:22px;border-top:1px solid #51594e;font-size:12px;color:#c4c8bf}.footer-bottom>div{display:flex;gap:25px}.page-intro{padding-bottom:65px;max-width:1300px}.page-intro h1{font-size:clamp(48px,6.7vw,98px);line-height:1.07;letter-spacing:-.055em;font-weight:400;margin:0 0 30px}.lead{max-width:850px;font-size:clamp(18px,1.8vw,24px);line-height:1.55;color:var(--muted)}.wide-image{margin:0 var(--pad)}.wide-image img{width:100%;max-height:670px;object-fit:cover;display:block}.service-list{padding-top:0}.service-row{display:grid;grid-template-columns:70px 1fr 1.15fr;gap:40px;border-top:1px solid var(--line);padding:42px 0}.service-row>span{font-family:Georgia,serif;font-size:24px;color:var(--muted)}.service-row h2{font-size:34px}.service-row p{color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 1.7fr;column-gap:8vw}.faq>.eyebrow{grid-column:1/-1}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:18px;padding:22px 30px 22px 0;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;top:19px;font-size:25px}details[open] summary:after{content:'−'}details p{padding:0 20px 22px 0;color:var(--muted);font-size:16px}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}.fact-grid>div{border-top:1px solid var(--line);padding-top:23px}.fact-grid p{font-size:16px;color:var(--muted)}.editorial{max-width:980px}.editorial h2{font-size:32px;margin-top:45px}.editorial ul{padding-left:20px}.notice{border-left:3px solid #778452;background:#e8ebdf;padding:20px 24px;font-size:16px;margin-bottom:35px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 35px}.project-grid article:first-child{grid-column:1/-1}.project-grid figure{margin:0 0 25px}.project-grid img{width:100%;height:420px;object-fit:cover}.project-grid article:first-child img{height:620px}.project-grid p{max-width:740px;color:var(--muted)}.contact-layout{padding-top:0;display:grid;grid-template-columns:.8fr 1.3fr;gap:8vw}.contact-aside{border-top:1px solid var(--line);padding-top:30px}.contact-aside h2{font-size:30px}.contact-aside dl{margin:25px 0}.contact-aside dt{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-top:24px}.contact-aside dd{margin:7px 0;color:var(--muted)}.form{background:white;padding:clamp(24px,4vw,55px)}.form h2{font-size:35px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:block;font-size:14px}.field.wide{grid-column:1/-1}.field input,.field textarea,.field select{display:block;width:100%;border:0;border-bottom:1px solid #959d8d;background:#f6f7f2;color:var(--ink);padding:12px;margin-top:7px;border-radius:0;min-height:48px}.field textarea{min-height:145px;resize:vertical}.help{font-size:13px;color:var(--muted);margin:22px 0}.form .button{width:100%;margin-top:10px}.form-status{margin-top:18px;font-size:14px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.compact{padding-top:55px;padding-bottom:55px}.full-width{width:100%}.quote{font-family:Georgia,serif;font-size:clamp(28px,3.3vw,50px);line-height:1.3;font-style:italic}.caption-text{font-size:12px;color:var(--muted)}@media(min-width:1600px){body{max-width:2000px;margin:auto}}@media(max-width:1150px){.header nav{gap:15px;font-size:13px}.brand{font-size:14px}.header{gap:15px}.header .nav-contact{padding:10px}.hero h1{font-size:8.7vw}}@media(max-width:980px){.menu-toggle{display:block}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:20px var(--pad) 30px;border-bottom:1px solid var(--line);font-size:17px;align-items:stretch;gap:15px}.header nav.open{display:flex;flex-direction:column}.header nav a{padding:8px 0}.header nav a[aria-current=page]:after{display:none}.header .nav-contact{padding:12px 16px}.hero-number{display:none}.steps{grid-template-columns:1fr 1fr}.cards{gap:18px}.footer-top{gap:30px}.service-row{grid-template-columns:40px 1fr 1.2fr;gap:20px}.hero h1{font-size:9.3vw}}@media(max-width:650px){body{font-size:16px}.wrap{padding:60px var(--pad)}.header{padding-top:19px;padding-bottom:19px}.brand-mark{font-size:38px}.hero{padding-top:32px;padding-bottom:38px}.hero h1{font-size:clamp(43px,10.3vw,66px);letter-spacing:-.055em;margin:25px 0 30px}.eyebrow{font-size:11px;letter-spacing:.13em;margin-bottom:21px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:24px}.hero-bottom p{font-size:16px}.hero-image{margin:0 12px;height:430px}.hero-image img{object-position:55% center}.hero-image figcaption{bottom:13px;right:12px;font-size:10px}.image-overlay{left:20px;bottom:48px;font-size:26px}.intro-grid,.split,.cta,.faq,.contact-layout{grid-template-columns:1fr;gap:30px}.intro-grid>.eyebrow{margin-bottom:0}.cards,.fact-grid,.project-grid{grid-template-columns:1fr;gap:35px}.section-head{display:block}.section-head .text-link{margin-top:18px}.card figure{aspect-ratio:4/3}.steps{gap:28px 22px}.step h3{font-size:20px}.step p{font-size:15px}.footer-top{grid-template-columns:1fr;gap:30px;padding-bottom:40px}.footer-top>p{margin:0}.footer-bottom{flex-direction:column;gap:15px}.page-intro h1{font-size:48px;overflow-wrap:break-word}.service-list,.contact-layout{padding-top:0}.service-row{grid-template-columns:35px 1fr;gap:12px}.service-row>div{grid-column:2}.service-row h2{font-size:29px;margin:0}.faq h2{margin-bottom:0}.wide-image{margin:0 12px}.wide-image img{height:370px}.project-grid article:first-child{grid-column:auto}.project-grid img,.project-grid article:first-child img{height:340px}.fields{grid-template-columns:1fr}.form{padding:26px 20px}.cta h2{font-size:66px}.hero-top .eyebrow{max-width:260px}.material-word{font-size:105px}.compact{padding-top:40px;padding-bottom:40px}.header .brand-sub{font-size:10px}.project-grid h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:380px){.header{gap:9px}.header .brand{gap:8px;font-size:12px}.header .brand-sub{font-size:8px;letter-spacing:.18em}.header .brand-mark{font-size:31px}.menu-toggle{font-size:14px;padding:8px}.hero h1{font-size:10.6vw}.form .button{padding:14px;font-size:13px;gap:12px}.page-intro h1{font-size:42px}}
.dark .fact-grid p{color:#c4c8bf}.dark figcaption{color:#c4c8bf}
.split>*,.intro-grid>*,.cta>*,.faq>*,.contact-layout>*,.footer-top>*,.service-row>*,.fields>*{min-width:0}.text-link{max-width:100%}.footer-top a,.contact-aside a{overflow-wrap:anywhere}h1,h2,h3,p{overflow-wrap:break-word}@media(max-width:380px){.material-word{font-size:85px}.text-link{gap:16px}.footer-top .text-link{font-size:13px}}
.material-brands{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin:25px 0 35px;font-size:clamp(45px,5.6vw,82px);font-weight:600;letter-spacing:-.05em;line-height:1.05}.material-brands span+span{padding-top:18px;border-top:1px solid #51594e;width:100%}
@media(min-width:981px) and (max-width:1300px){.menu-toggle{display:block}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:20px var(--pad) 30px;border-bottom:1px solid var(--line);font-size:17px;align-items:stretch;gap:15px}.header nav.open{display:flex;flex-direction:column}.header nav a{padding:8px 0}.header nav a[aria-current=page]:after{display:none}.header .nav-contact{padding:12px 16px}}
@media(min-width:1301px) and (max-width:1550px){.header nav{gap:18px;font-size:13px}}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:0 var(--pad)}.original-photo img{display:block;width:100%;height:auto}.photo-pair figure{margin:0}.photo-pair img{aspect-ratio:3/4;object-fit:cover}.original-wide img{max-height:none}.contact-photo{margin:0 0 38px}.contact-photo img{width:100%;height:auto}.real-gallery article:first-child{grid-column:auto}.real-gallery img,.real-gallery article:first-child img{height:auto;max-height:none;width:100%}.real-gallery h2{font-size:clamp(30px,3vw,44px)}.real-gallery .eyebrow{margin-top:24px}.split .original-photo img{max-height:690px;object-fit:contain}.split .original-photo{align-self:center}@media(max-width:650px){.photo-pair{gap:14px;padding:0 12px}.photo-pair figcaption{font-size:10px}.original-wide img{height:auto}.real-gallery img,.real-gallery article:first-child img{height:auto}.contact-photo{max-width:360px}.real-gallery{gap:48px}}
.company-logo{display:block;width:245px;max-width:100%;height:auto}.header .brand{flex-shrink:0}.footer-brand{width:265px;background:#fff;padding:12px;border-radius:2px}.footer-brand .company-logo{width:100%}@media(max-width:650px){.header .company-logo{width:210px}.header{padding-top:15px;padding-bottom:15px}}@media(max-width:380px){.header .company-logo{width:185px}}
