:root{--ink:#272c2f;--copper:#aa552d;--accent:#bd6a3c;--paper:#f4f1eb;--white:#fff;--muted:#59676d;--line:#d9d7d1;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;display:block}img{height:auto}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a:hover{color:var(--copper)}.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:12px 20px}.skip:focus{top:10px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700;color:var(--copper);margin:0 0 20px}.muted{color:var(--muted)}.section{padding:100px 0}.white{background:#fff}.serif{font-family:var(--serif);font-weight:400;font-style:italic}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.04em}h1{font-size:clamp(42px,5.6vw,76px);font-weight:750;margin-bottom:26px}h2{font-size:clamp(32px,3.8vw,50px);font-weight:700;margin-bottom:24px}h3{font-size:24px;letter-spacing:-.025em}p{margin-bottom:22px}.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:640px}.site-header{background:rgba(244,241,235,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.header-inner{min-height:99px;display:flex;align-items:center;gap:30px;justify-content:space-between}.brand{display:block;flex:0 0 255px}.brand img{width:255px;height:56px;object-fit:contain}.nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:600;white-space:nowrap}.nav a{text-decoration:none}.nav a[aria-current=page]{color:var(--copper)}.header-phone{font-size:14px;letter-spacing:.025em;font-weight:700;text-decoration:none;border-bottom:2px solid var(--accent);padding:7px 0}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:9px 12px;color:var(--ink);font-weight:600;border-radius:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:13px 23px;background:var(--copper);color:#fff;text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.015em;border:1px solid var(--copper);cursor:pointer;border-radius:2px;transition:background .18s,color .18s}.button:hover{background:#8c4425;color:#fff}.button.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.button.secondary:hover{background:var(--ink);color:#fff}.button.light{background:#fff;border-color:#fff;color:var(--ink)}.actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.text-link{font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid var(--ink);padding:0 0 5px}.arrow{font-size:20px;line-height:1}.home-hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;position:relative}.hero-copy{padding:76px 55px 76px 0;align-self:center}.hero-copy h1{max-width:600px}.hero-copy .lead{max-width:485px}.hero-image{position:relative;min-height:645px}.hero-image>picture{display:block;height:100%}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:58% 54%;position:absolute;inset:0}.image-note{position:absolute;bottom:22px;left:22px;background:rgba(39,44,47,.94);color:#fff;padding:10px 13px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.service-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.service-strip .wrap{display:flex;gap:28px;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:64px;margin-bottom:45px}.section-intro h2{max-width:600px;margin-bottom:0}.section-intro p{max-width:400px;color:var(--muted);margin:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-card{border-top:1px solid var(--line);padding-top:25px}.service-card .num{color:var(--copper);font-size:12px;letter-spacing:.08em;margin-bottom:30px}.service-card svg{height:60px;width:85px;margin-bottom:30px}.service-card p{color:var(--muted);font-size:15px;max-width:340px;min-height:80px}.service-card h3{margin-bottom:17px}.work-feature{display:grid;grid-template-columns:1.1fr .9fr;background:var(--ink);color:#fff}.work-feature .feature-img{min-height:610px}.work-feature .feature-img img{width:100%;height:100%;object-fit:cover;object-position:52% 65%}.feature-copy{padding:90px 64px;align-self:center}.feature-copy .eyebrow{color:#e6a47c}.feature-copy p{color:#d6d9da}.feature-copy h2{max-width:460px}.feature-copy .text-link{border-color:#fff}.feature-copy a:hover{color:#e6a47c}.photo-caption{font-size:11px;letter-spacing:.03em;color:var(--muted);margin:12px 0 0}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:45px}.step{border-top:1px solid var(--line);padding-top:24px}.step .number{font-family:var(--serif);font-style:italic;font-size:42px;color:var(--copper);display:block;margin-bottom:15px}.step h3{font-size:23px}.step p{font-size:15px;color:var(--muted)}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.faq-layout>div:first-child p{color:var(--muted);max-width:300px}.faqs{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:17px;font-weight:600;line-height:1.4;padding:24px 38px 24px 0;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;top:22px;font-size:22px;color:var(--copper);font-weight:400}details[open] summary:after{content:'−'}details p{font-size:15px;color:var(--muted);margin:0 35px 26px 0;max-width:740px}.contact-band{padding:75px 0;background:var(--copper);color:#fff}.contact-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-band h2{font-size:clamp(32px,4vw,50px);margin:0}.contact-band p{margin:15px 0 0;color:#fff;max-width:620px}.contact-band .button{flex-shrink:0}.site-footer{background:var(--ink);color:#fff;padding:65px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:60px;margin-bottom:60px}.footer-brand img{width:265px;height:58px;object-fit:contain;object-position:left;margin-bottom:25px}.footer-brand p{font-size:14px;color:#bbc3c6;max-width:270px}.footer-grid h3{font-size:11px;text-transform:uppercase;letter-spacing:.13em;margin:0 0 22px;color:#d3d8d9}.footer-grid a{display:block;text-decoration:none;font-size:14px;margin-bottom:10px;overflow-wrap:anywhere}.footer-grid a:hover{color:#e6a47c}.footer-grid .primary-phone{font-size:25px;font-weight:700;letter-spacing:-.02em}.footer-bottom{border-top:1px solid #495256;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#b6bfc3;font-size:11px}.mobile-call{display:none}.breadcrumb{padding:26px 0 0;font-size:11px;color:var(--muted)}.breadcrumb a{text-decoration:none}.page-hero{padding:65px 0 75px}.page-hero h1{font-size:clamp(40px,5vw,64px);max-width:850px}.service-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding:55px 0 80px}.service-hero h1{font-size:clamp(37px,4.4vw,58px)}.service-hero .lead{font-size:16px}.service-hero img{width:100%;height:505px;object-fit:cover;object-position:50% 65%}.service-hero figure{margin:0}.service-hero .detail-figure{background:#fff;padding:25px;border:1px solid var(--line)}.service-hero .detail-figure svg{width:100%;height:350px}.service-hero .detail-figure figcaption{font-size:11px;color:var(--muted);margin-top:15px}.article-layout{display:grid;grid-template-columns:1fr 300px;gap:90px;align-items:start}.article-content{max-width:780px}.article-content h2{font-size:31px;margin-bottom:20px;line-height:1.15}.article-content p{font-size:16px;color:var(--muted);margin-bottom:42px}.article-content a{color:var(--copper)}.article-content ul{padding-left:22px;color:var(--muted);margin:0 0 35px}.article-content li{margin-bottom:12px}.aside{border-left:3px solid var(--accent);padding:8px 0 8px 25px;position:sticky;top:130px}.aside h3{font-size:22px}.aside p{font-size:14px;color:var(--muted)}.aside a{display:block;margin:15px 0;overflow-wrap:anywhere}.aside .button{display:inline-flex;margin-top:7px}.service-next{margin-top:55px;border-top:1px solid var(--line);padding-top:30px}.service-next h3{font-size:22px}.service-next a{display:block;margin:14px 0}.project-hero .lead{max-width:670px}.project-block{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center;margin-bottom:90px}.project-block figure{margin:0}.project-block img{width:100%;height:650px;object-fit:cover;object-position:center}.project-block:last-child{margin-bottom:0}.project-block h2{font-size:40px}.project-block p{color:var(--muted)}.project-block .project-meta{border-top:1px solid var(--line);padding-top:22px;font-size:12px}.project-block .project-meta span{display:block;margin:7px 0}.project-block.reverse{grid-template-columns:.9fr 1.1fr}.project-block.reverse figure{order:2}.project-block.reverse .project-copy{order:1}.planning-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:30px 0 40px}.planning-card{border:1px solid var(--line);padding:28px}.planning-card h3{font-size:21px}.planning-card p{font-size:14px;margin-bottom:0}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.contact-list{margin:35px 0}.contact-list a{display:block;margin:12px 0;text-decoration:none;overflow-wrap:anywhere}.contact-list .big-phone{font-size:32px;font-weight:700;letter-spacing:-.04em}.contact-list .email{font-size:16px}.contact-list .alt{font-size:14px;color:var(--muted)}.contact-note{padding:25px 0;border-top:1px solid var(--line);max-width:390px;font-size:14px;color:var(--muted)}.inquiry{background:#fff;border:1px solid var(--line);padding:38px}.inquiry h2{font-size:28px;margin-bottom:14px}.form-intro{font-size:14px;color:var(--muted);margin-bottom:25px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.field input,.field select,.field textarea{display:block;width:100%;min-height:46px;border:1px solid #b7bfc2;background:#fff;border-radius:1px;padding:10px 11px;font-size:15px;color:var(--ink)}.field textarea{min-height:126px;resize:vertical}.inquiry .button{margin-top:22px;width:100%}.form-status{margin:15px 0 0;color:var(--muted);font-size:13px}.guide-intro{max-width:760px}.not-found{text-align:center;padding:130px 0;max-width:650px;margin:auto}.not-found .actions{justify-content:center}
@media(min-width:1500px){.hero-copy h1{font-size:80px}.hero-image{min-height:705px}}
@media(max-width:1120px){.wrap{width:calc(100% - 64px)}.header-inner{gap:20px}.brand{flex-basis:225px}.brand img{width:225px}.nav{gap:17px;font-size:12px}.header-phone{font-size:12px}.hero-copy{padding:65px 38px 65px 0}.hero-copy h1{font-size:58px}.feature-copy{padding:65px 40px}.service-hero{gap:40px}.article-layout{gap:55px;grid-template-columns:1fr 250px}.contact-layout{gap:45px}}
@media(max-width:880px){.wrap{width:calc(100% - 44px)}.header-inner{min-height:83px}.brand{flex-basis:225px}.header-phone{display:none}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--paper);padding:22px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #0000000a;white-space:normal;z-index:20}.nav.is-open{display:grid;gap:0}.nav a{padding:12px 0;font-size:16px}.home-hero{grid-template-columns:1fr 1fr;min-height:570px}.hero-copy h1{font-size:48px}.hero-copy .lead{font-size:16px}.hero-image{min-height:570px}.hero-copy{padding:55px 28px 55px 0}.section{padding:75px 0}.section-intro{gap:35px;align-items:start}.section-intro p{font-size:15px}.services-grid{gap:20px}.service-card h3{font-size:22px}.service-card p{min-height:105px;font-size:14px}.feature-copy{padding:50px 35px}.work-feature .feature-img{min-height:550px}.feature-copy h2{font-size:38px}.step-grid{gap:28px}.faq-layout{gap:40px;grid-template-columns:.7fr 1.3fr}.footer-grid{gap:35px;grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:500px}.service-hero{grid-template-columns:1fr 1fr;gap:32px}.service-hero h1{font-size:40px}.service-hero img{height:460px}.article-layout{grid-template-columns:1fr 230px;gap:40px}.project-block{gap:35px}.project-block img{height:550px}.project-block h2{font-size:34px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-layout>.contact-copy{display:grid;grid-template-columns:1.1fr .9fr;gap:25px}.contact-copy>.contact-intro{grid-column:1/-1}.contact-list{margin:0}.contact-note{padding-top:0;border-top:0}.inquiry{max-width:760px}.contact-band .wrap{align-items:start}.contact-band h2{font-size:38px}}
@media(max-width:640px){body{padding-bottom:60px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:77px}.brand{flex-basis:220px}.brand img{width:220px;height:49px}.menu-toggle{font-size:12px;padding:8px 10px}.home-hero{display:flex;flex-direction:column}.hero-copy{padding:50px 0 43px}.hero-copy h1{font-size:52px;max-width:500px}.eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:20px}.hero-copy .lead{font-size:16px;max-width:480px}.actions{gap:11px;margin-top:25px}.button{font-size:13px;min-height:49px;padding:12px 17px}.hero-image{min-height:440px;height:440px;margin:0 -20px}.hero-image img{object-position:50% 58%}.image-note{left:20px;bottom:20px;font-size:8px}.service-strip{padding:17px 0}.service-strip .wrap{gap:10px;font-size:8px;letter-spacing:.07em}.service-strip .wrap span:last-child{display:none}.section{padding:60px 0}h2{font-size:36px}.section-intro{display:block;margin-bottom:33px}.section-intro p{margin-top:22px;max-width:500px}.services-grid{grid-template-columns:1fr;gap:32px}.service-card{display:grid;grid-template-columns:54px 1fr;column-gap:15px;padding-top:20px}.service-card .num{grid-column:1;grid-row:1;margin-bottom:0}.service-card svg{grid-column:1;grid-row:2;width:44px;height:46px;margin-top:7px}.service-card h3,.service-card p,.service-card .text-link{grid-column:2}.service-card h3{grid-row:1;font-size:26px;margin-bottom:16px}.service-card p{grid-row:2;min-height:0;max-width:450px;font-size:15px;margin-bottom:18px}.service-card .text-link{justify-self:start}.work-feature{grid-template-columns:1fr}.work-feature .feature-img{min-height:400px;height:400px}.feature-copy{padding:47px 25px 50px}.feature-copy h2{font-size:37px}.step-grid{grid-template-columns:1fr;gap:28px;margin-top:28px}.step{display:grid;grid-template-columns:50px 1fr;column-gap:12px}.step .number{grid-column:1;grid-row:1/3;font-size:36px}.step h3,.step p{grid-column:2}.step h3{font-size:23px;margin:5px 0 15px}.step p{margin-bottom:0}.faq-layout{grid-template-columns:1fr;gap:22px}.faq-layout>div:first-child p{max-width:480px}.faq-layout h2{margin-bottom:18px}summary{font-size:16px;padding-block:23px}.contact-band{padding:48px 0}.contact-band .wrap{display:block}.contact-band .button{margin-top:27px}.contact-band h2{font-size:36px}.contact-band p{font-size:15px}.site-footer{padding:45px 0 27px}.footer-grid{gap:38px;grid-template-columns:1fr;margin-bottom:40px}.footer-brand{grid-column:auto}.footer-grid h3{margin-bottom:17px}.footer-grid a{font-size:15px}.footer-bottom{display:block;font-size:10px}.footer-bottom span{display:block;margin-top:7px}.mobile-call{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--copper);color:#fff;height:60px;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:15px;font-weight:700;border-top:1px solid #fff3}.mobile-call:hover{color:#fff}.breadcrumb{padding-top:20px;font-size:10px}.page-hero{padding:42px 0 50px}.page-hero h1{font-size:44px}.service-hero{grid-template-columns:1fr;padding:38px 0 55px;gap:35px}.service-hero h1{font-size:43px}.service-hero img{height:420px}.service-hero .detail-figure{padding:20px}.service-hero .detail-figure svg{height:280px}.article-layout{grid-template-columns:1fr;gap:25px}.article-content h2{font-size:29px}.article-content p{font-size:15px;margin-bottom:34px}.aside{position:static;border-left:0;border-top:3px solid var(--accent);padding:25px 0 0;margin-top:10px}.project-block,.project-block.reverse{grid-template-columns:1fr;gap:30px;margin-bottom:65px}.project-block img{height:500px}.project-block.reverse figure,.project-block.reverse .project-copy{order:initial}.project-block h2{font-size:34px}.planning-grid{grid-template-columns:1fr;gap:18px}.planning-card{padding:23px}.contact-layout>.contact-copy{display:block}.contact-list{margin:30px 0}.contact-note{border-top:1px solid var(--line);padding-top:25px}.contact-list .big-phone{font-size:31px}.inquiry{padding:25px 20px}.fields{grid-template-columns:1fr;gap:20px}.field.full{grid-column:auto}.inquiry h2{font-size:27px}.inquiry .button{font-size:14px}.form-intro{font-size:13px}.field input,.field select,.field textarea{font-size:16px}.guide-intro{font-size:16px}.not-found{padding:80px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

[hidden]{display:none!important}.form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.form-privacy{font-size:12px;color:var(--muted);margin:20px 0 0}.field-error{display:block;color:#9d291b;font-size:12px;margin-top:6px}.field [aria-invalid=true]{border-color:#9d291b}.inquiry[aria-busy=true] .button{opacity:.7;cursor:wait}.inquiry .button:disabled{opacity:.65;cursor:default}.form-status:not(:empty){padding:15px;border-left:3px solid var(--accent);background:var(--paper);font-size:14px;overflow-wrap:anywhere}.form-status.is-error{border-color:#9d291b;color:#742016}.form-status:focus{outline:2px solid var(--accent);outline-offset:3px}#inquiry-new{margin-top:20px}

.project-story-summary{padding:0 0 65px;margin:0 0 65px;border-bottom:1px solid var(--line);max-width:900px}.project-story-summary p{max-width:650px;color:var(--muted)}.gallery-heading{margin-bottom:40px}.availability{font-size:14px;color:var(--copper);font-weight:700}
.story-photos{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-bottom:70px}.story-photos figure{margin:0}.story-photos img{width:100%;height:auto}.story-photos figcaption{font-size:13px;color:var(--muted);margin-top:14px;line-height:1.5}.project-story-summary{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;max-width:none;align-items:center}.project-story-image img{width:100%;height:470px;object-fit:cover;object-position:center 75%}.project-story-summary h2{font-size:38px}.case-link{border-top:1px solid var(--line);padding-top:32px}
@media(max-width:640px){.story-photos{grid-template-columns:1fr;gap:35px;padding-bottom:45px}.project-story-summary{grid-template-columns:1fr;gap:28px}.project-story-summary h2{font-size:34px}.project-story-image img{height:420px}.story-photos figcaption{font-size:12px}}

.steel-project-note{border-left:3px solid var(--accent);padding:0 0 0 28px;margin:0 0 70px;max-width:820px}.steel-project-note h2{font-size:clamp(30px,3.4vw,42px)}.steel-project-note p{color:var(--muted)}

/* Approved logo: preserve natural proportions at existing responsive widths. */
.brand img,.footer-brand img{height:auto;aspect-ratio:570/163}
