@font-face{font-family:Barlow;src:url('assets/barlow-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url('assets/barlow-600.ttf') format('truetype');font-weight:600 800;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/barlow-condensed-600.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--ink:#242724;--dark:#1d201e;--orange:#ef713d;--paper:#efeee8;--line:#c6c7bf;--muted:#5d615b;--heading:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:Barlow,Arial,sans-serif;--gutter:clamp(24px,5.5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.55 var(--body)}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{border:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3b71ac;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:600;line-height:1;letter-spacing:-.02em}h2{font-size:clamp(48px,5.1vw,76px)}h3{font-size:32px}.eyebrow{font-size:14px;line-height:1.4;font-weight:600;letter-spacing:.1em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:56px;padding:15px 23px;font-size:14px;font-weight:600;letter-spacing:.035em;line-height:1.25;transition:background .2s,color .2s,transform .2s}.button span{font-size:23px;line-height:1}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#0e100f}.button-orange{background:var(--orange);color:var(--ink)}.button-orange:hover{background:#ff8a52}.skip-link{position:fixed;z-index:100;left:15px;top:15px;background:white;padding:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.concept-strip{padding:8px 28px;background:#e4e5de;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;font-weight:600;letter-spacing:.065em;line-height:1.4}.concept-strip a{border-bottom:1px solid #6b6d64}.concept-strip a span{padding-left:6px}.site-header{position:sticky;top:0;z-index:20;min-height:108px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:20px 3.2vw;gap:28px;border-bottom:1px solid #414540}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-type{display:flex;flex-direction:column;font:600 34px/.94 var(--heading);letter-spacing:.015em}.brand-sub{font-family:var(--body);font-size:12px;letter-spacing:.3em;margin-top:9px}.site-header nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,40px);font-size:13px;font-weight:600;letter-spacing:.04em}.site-header nav>a:not(.button){padding:12px 0;border-bottom:1px solid transparent}.site-header nav>a:not(.button):hover{border-color:var(--orange);color:var(--orange)}.header-cta{font-size:13px;min-height:49px;padding:13px 18px;gap:20px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:44% 56%;min-height:590px}.hero-copy{background:var(--orange);padding:32px var(--gutter) 20px;position:relative;display:flex;flex-direction:column;align-items:flex-start}.hero .eyebrow{font-size:13px;letter-spacing:.07em;margin-bottom:24px}.hero h1{font-size:clamp(80px,7.4vw,118px);line-height:.92;letter-spacing:-.012em}.hero-description{font-size:20px;max-width:29ch;line-height:1.4;margin:25px 0}.hero .button{font-size:13px;min-height:54px}.hero-foot{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;align-items:center;width:100%;gap:15px;font-size:12px;letter-spacing:.07em;font-weight:600}.hero-foot>span:last-child{font-size:26px;line-height:1;font-weight:400}.hero-visual{position:relative;min-width:0;background:#484c43;overflow:hidden}.hero-visual img{position:absolute;inset:0;object-position:50% 50%}.hero-visual:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#151b16b3);pointer-events:none}.photo-label{position:absolute;z-index:1;left:30px;bottom:29px;color:white;display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.09em;font-weight:600}.label-line{width:26px;height:3px;background:var(--orange)}.build-stamp{position:absolute;z-index:1;right:30px;bottom:80px;background:var(--orange);padding:14px 18px;text-align:center;transform:rotate(-6deg);box-shadow:0 0 0 1px var(--orange),inset 0 0 0 5px var(--orange),inset 0 0 0 6px #2427248c}.build-stamp>span{display:block;font-size:10px;letter-spacing:.09em;line-height:1.5}.build-stamp strong{display:block;font:600 27px/.96 var(--heading);padding:8px 0;letter-spacing:-.01em}.trade-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--dark);color:var(--paper);padding:21px var(--gutter);font:600 clamp(16px,1.5vw,22px)/1.2 var(--heading);letter-spacing:.04em}.trade-strip i{color:var(--orange);font-size:27px;font-style:normal}
.section-pad{padding:52px var(--gutter)}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end;margin-bottom:28px}.section-intro .eyebrow{margin-bottom:18px}.section-intro>p{max-width:40ch;font-size:19px;padding-bottom:4px}.service-list{border-top:2px solid var(--ink)}.service-list details{border-bottom:1px solid var(--line)}.service-list summary{list-style:none;display:grid;grid-template-columns:24% 1fr 30px;align-items:center;gap:20px;padding:28px 0}.service-list summary::-webkit-details-marker{display:none}.service-list summary:hover h3{color:#aa3a16}.service-category{font-size:12px;letter-spacing:.07em;font-weight:600;color:var(--muted)}.service-list h3{font-size:clamp(26px,2.9vw,40px);letter-spacing:0}.plus{width:26px;height:26px;position:relative;display:block}.plus:before,.plus:after{content:'';position:absolute;top:12px;left:3px;background:var(--ink);width:21px;height:2px}.plus:after{transform:rotate(90deg);transition:transform .15s}.service-list details[open] .plus:after{transform:rotate(0deg)}.service-content{padding:0 7% 30px calc(24% + 15px);max-width:100%}.service-content p{max-width:66ch}.service-content a{display:inline-block;font-weight:600;font-size:13px;letter-spacing:.04em;margin-top:17px;border-bottom:1px solid var(--ink);padding-bottom:2px}.service-content a span{margin-left:10px}
.work{background:var(--ink);color:var(--paper)}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.work-heading .eyebrow{color:var(--orange);margin-bottom:17px}.work-heading>p{font-size:13px;font-weight:600;line-height:1.6;letter-spacing:.075em}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:start}.project-image{position:relative;overflow:hidden;background:#414740;aspect-ratio:1.4}.project-image img{transition:transform .6s}.project:hover img{transform:scale(1.025)}.project-tag{position:absolute;left:0;bottom:0;background:var(--orange);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.06em;padding:10px 15px}.project-shop{padding-top:24px}.project-shop .project-image{aspect-ratio:1.3}.project figcaption{padding-top:21px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px 16px;align-items:baseline}.project h3{font-size:30px}.project figcaption p{font-size:16px;color:#c7cbc3}.project-note{font-size:12px;color:#b2b7ad;margin-top:23px;padding-top:16px;border-top:1px solid #4a4e47}
.crew{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#e3e5de}.crew-title .eyebrow{margin-bottom:23px}.crew-title h2{font-size:clamp(55px,5.7vw,83px);line-height:1}.crew-title h2 span{color:#b1441c}.crew-rule{margin-top:35px;height:14px;width:110px;background:repeating-linear-gradient(135deg,var(--ink) 0,var(--ink) 4px,transparent 4px,transparent 9px)}.crew-copy{padding-top:10px}.crew-copy .lead{font-size:25px;line-height:1.35;font-weight:600;margin-bottom:20px}.crew-copy>p{font-size:17px}.standards{margin:29px 0 0;padding:0;list-style:none}.standards li{padding:17px 0;border-top:1px solid #b8bcb2}.standards li>span{font-size:13px;font-weight:600;letter-spacing:.06em}.standards li p{font-size:16px;margin-top:4px;color:#4e534b}
.contact{background:var(--orange);display:grid;grid-template-columns:1fr 1fr;gap:9%;position:relative}.contact .eyebrow{margin-bottom:19px}.contact h2{font-size:clamp(72px,7.4vw,108px);line-height:.91}.contact-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.contact-copy>p:first-child{font-size:20px;line-height:1.5;max-width:39ch;margin-bottom:25px}.contact-area{font-size:12px;letter-spacing:.04em;font-weight:600;margin-top:23px}.gateway-callout{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:40px var(--gutter);background:var(--dark);color:var(--paper);border-bottom:1px solid #42463e}.gateway-callout .eyebrow{color:#afb6aa;font-size:12px;margin-bottom:9px}.gateway-callout p:not(.eyebrow){font-size:21px;line-height:1.5}.gateway-callout p a{font-weight:600;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:5px}.gateway-callout .button{flex-shrink:0}footer{background:var(--dark);color:var(--paper);padding:31px var(--gutter);display:flex;gap:32px;align-items:center;justify-content:space-between}.footer-wordmark{font:600 29px/1 var(--heading);display:flex;flex-direction:column;white-space:nowrap}.footer-wordmark span{font:600 10px/1 var(--body);letter-spacing:.24em;margin-top:7px}footer>div{font-size:12px;color:#b8beb1}footer>div p+p{margin-top:4px}footer>div a{text-decoration:underline;text-underline-offset:3px}footer>div p>span{padding:0 9px}.back-top{font-size:24px;border:1px solid #656b60;width:43px;height:43px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.back-top:hover{background:var(--orange);color:var(--ink)}
dialog{border:0;padding:50px;max-width:610px;width:calc(100% - 36px);background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #0005}dialog::backdrop{background:#121812bf;backdrop-filter:blur(4px)}dialog h2{font-size:48px;margin:20px 0}dialog>p:not(.eyebrow){font-size:17px;margin-bottom:15px}dialog .button{margin-top:10px}.dialog-close{position:absolute;top:10px;right:12px;width:40px;height:40px;background:transparent;color:var(--ink);font-size:31px;line-height:1}.dialog-close:hover{background:var(--orange)}
@media(min-width:1600px){.hero{min-height:640px}.hero-copy{padding-top:37px}.hero h1{font-size:126px}}
@media(max-width:1100px){.site-header{padding:20px 24px;gap:20px}.brand-type{font-size:29px}.brand-sub{font-size:10px}.site-header nav{gap:18px;font-size:12px}.site-header .header-cta{gap:12px;font-size:12px;padding:13px}.hero{grid-template-columns:47% 53%;min-height:570px}.hero-copy{padding-left:var(--gutter);padding-right:30px}.hero h1{font-size:clamp(79px,8.3vw,96px)}.hero-description{font-size:18px}.hero .eyebrow{font-size:12px}.hero-foot{font-size:10px}.build-stamp{right:22px;bottom:85px}.photo-label{font-size:10px;left:22px}.section-pad{padding-top:42px;padding-bottom:42px}.project figcaption{display:block}.project figcaption p{margin-top:9px}.contact .button{gap:17px;font-size:13px}}
@media(max-width:880px){html{scroll-padding-top:94px}.concept-strip{padding:8px 24px;font-size:10px}.site-header{min-height:90px;padding:15px 24px}.brand-type{font-size:30px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;background:transparent;width:48px;height:48px;padding:10px}.menu-toggle span{display:block;width:28px;height:2px;background:var(--paper);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);padding:10px 24px 24px;flex-direction:column;align-items:stretch;gap:5px;border-top:1px solid #555b50}.site-header nav.is-open{display:flex}.site-header nav>a:not(.button){font-size:15px;padding:15px 0}.site-header nav .button{font-size:14px;margin-top:10px}.hero{min-height:540px;grid-template-columns:51% 49%}.hero-copy{padding:33px 26px 24px}.hero h1{font-size:clamp(71px,9.4vw,83px)}.hero .eyebrow{font-size:11px;margin-bottom:25px}.hero-description{margin:22px 0;font-size:18px}.hero .button{font-size:12px;padding:14px 17px;gap:17px}.hero-foot{padding-top:30px;font-size:9px;letter-spacing:.02em}.build-stamp{right:19px;bottom:71px;padding:12px 15px}.build-stamp strong{font-size:23px}.build-stamp>span{font-size:9px}.photo-label{font-size:9px;gap:8px;left:18px;letter-spacing:.03em}.label-line{width:17px}.trade-strip{padding:18px 24px;gap:14px;font-size:16px}.section-intro{gap:7%;grid-template-columns:1fr 1fr}.section-intro>p{font-size:17px}.service-list summary{grid-template-columns:21% 1fr 26px;gap:15px}.service-category{font-size:11px}.service-content{padding-left:calc(21% + 15px)}.project-grid{gap:23px}.project-shop{padding-top:20px}.project h3{font-size:26px}.work-heading>p{font-size:11px}.crew{gap:6%}.crew-title h2{font-size:56px}.crew-copy .lead{font-size:22px}.contact{gap:7%}.contact h2{font-size:78px}.contact-copy>p:first-child{font-size:18px}.contact-area{font-size:10px}.gateway-callout p:not(.eyebrow){font-size:19px}footer{flex-wrap:wrap;gap:23px}footer>div{order:3;width:100%}}
@media(max-width:600px){.concept-strip{justify-content:center;padding:8px 14px}.concept-strip>span{display:none}.concept-strip>a{font-size:10px}.hero{display:flex;flex-direction:column}.hero-copy{padding:34px 26px 23px}.hero h1{font-size:clamp(64px,23.5vw,109px)}.hero .eyebrow{font-size:11px;margin-bottom:24px}.hero-description{font-size:19px;max-width:30ch;margin:22px 0}.hero .button{font-size:13px;gap:26px;min-height:53px}.hero-foot{font-size:10px;padding-top:24px}.hero-visual{height:360px;min-height:0}.hero-visual img{object-position:50% 48%}.build-stamp{bottom:58px;right:25px}.photo-label{left:25px;font-size:10px;bottom:21px}.trade-strip{padding:18px 25px;gap:10px;flex-wrap:wrap;justify-content:center;font-size:16px}.trade-strip i{font-size:18px}.trade-strip i:nth-of-type(2){display:none}.trade-strip>span:last-child{flex-basis:100%;text-align:center}.section-pad{padding:36px 25px}.section-intro{display:block;margin-bottom:29px}.section-intro .eyebrow{margin-bottom:15px}h2{font-size:55px}.section-intro>p{margin-top:22px;font-size:18px;max-width:38ch}.service-list summary{grid-template-columns:1fr 26px;padding:22px 0;gap:8px 10px}.service-category{grid-column:1;font-size:11px}.service-list h3{grid-column:1;font-size:29px;line-height:1.08}.plus{grid-column:2;grid-row:1 / span 2;align-self:center}.service-content{padding:0 0 23px}.service-content p{font-size:17px}.service-content a{font-size:12px}.work-heading{display:block;margin-bottom:27px}.work h2{font-size:53px}.work-heading>p{display:none}.project-grid{display:block}.project-shop{padding-top:28px}.project-image,.project-shop .project-image{aspect-ratio:1.24}.project-tag{font-size:11px}.project figcaption{padding-top:18px}.project h3{font-size:29px}.project-note{margin-top:27px;font-size:12px}.crew{display:block}.crew-title h2{font-size:63px}.crew-rule{margin-top:25px;width:87px;height:11px}.crew-copy{padding-top:28px}.crew-copy .lead{font-size:23px}.standards{margin-top:25px}.contact{display:block}.contact h2{font-size:88px}.contact-copy{margin-top:28px}.contact-copy>p:first-child{font-size:19px}.contact .button{font-size:12px;gap:16px;padding:16px 19px;max-width:100%}.contact-area{font-size:10px}.gateway-callout{padding:32px 25px;display:block}.gateway-callout .eyebrow{font-size:11px}.gateway-callout p:not(.eyebrow){font-size:19px}.gateway-callout .button{margin-top:24px;font-size:13px;min-height:51px}footer{padding:28px 25px}.footer-wordmark{font-size:28px}footer>div{font-size:12px}footer>div p:last-child{line-height:1.9}dialog{padding:44px 26px 30px}dialog h2{font-size:39px}dialog .eyebrow{font-size:12px}dialog .button{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Iron Ridge revision: forged ridge mark, compact rhythm, working button hammers. */
.brand-ridge{width:116px;height:72px;object-fit:contain;flex-shrink:0}
.site-header{min-height:98px;padding-top:14px;padding-bottom:14px}
.brand{gap:11px}.brand-type{font-size:33px}.brand-sub{font-size:11px}
.hero .eyebrow{margin-bottom:18px}.hero-description{margin:20px 0}.hero-foot{padding-top:22px}
.footer-wordmark{flex-direction:row;align-items:center;gap:11px}
.footer-ridge{width:95px;height:59px;object-fit:contain;flex-shrink:0}
.footer-wordmark .footer-type{font:600 29px/1 var(--heading);letter-spacing:0;margin:0;display:flex;flex-direction:column}
.footer-type>span{font:600 10px/1 var(--body);letter-spacing:.24em;margin-top:7px}
.button .hammer,.back-top .hammer{position:relative;display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex:0 0 29px;line-height:1}
.hammer-icon{display:block;width:27px;height:27px;transform-origin:24% 83%;overflow:visible}
.hammer-impact{position:absolute;width:15px;height:10px;right:-6px;bottom:-2px;opacity:0;background:linear-gradient(20deg,transparent 43%,currentColor 44% 56%,transparent 57%) 100% 100%/8px 6px no-repeat,linear-gradient(90deg,transparent 40%,currentColor 41% 59%,transparent 60%) 50% 0/5px 7px no-repeat}
.hammer-striking .hammer-icon{animation:hammer-strike 390ms ease-in-out}
.hammer-striking .hammer-impact{animation:hammer-spark 390ms linear}
@keyframes hammer-strike{0%{transform:rotate(0)}30%{transform:rotate(-42deg)}64%{transform:rotate(39deg)}77%{transform:rotate(12deg)}90%{transform:rotate(26deg)}100%{transform:rotate(0)}}
@keyframes hammer-spark{0%,58%{opacity:0;transform:scale(.6)}65%,80%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.25)}}
.back-top{width:auto;min-width:88px;gap:8px;padding:0 10px}.back-top>span:first-child{font-size:12px;font-weight:600;letter-spacing:.04em}
.contact{padding-top:71px;padding-bottom:71px}
.ruler{position:absolute;inset:0 0 auto;height:33px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-top:2px solid var(--ink);pointer-events:none}
.ruler>span{height:31px;border-left:2px solid var(--ink);font-size:10px;font-weight:600;line-height:1;padding:19px 0 0 7px;color:var(--ink);background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),var(--ink) calc(10% - 1px) 10%) left top/100% 10px no-repeat}
.ruler>span:first-child{border-left:0}.ruler-bottom{top:auto;bottom:0;transform:rotate(180deg)}.ruler-bottom>span{font-size:0;padding:0}
@media(max-width:1100px){.brand-ridge{width:98px;height:61px}.brand-type{font-size:29px}.brand-sub{font-size:10px}.site-header nav{gap:15px}.contact{padding-top:64px;padding-bottom:64px}}
@media(max-width:880px){.site-header{min-height:86px;padding-top:12px;padding-bottom:12px}.brand-ridge{width:96px;height:60px}.hero .eyebrow{margin-bottom:18px}.contact{padding-top:62px;padding-bottom:62px}}
@media(max-width:600px){.brand-ridge{width:88px;height:55px}.brand-type{font-size:28px}.brand-sub{font-size:9px}.brand{gap:8px}.site-header{padding-left:19px;padding-right:19px;gap:12px}.hero-copy{padding-top:27px;padding-bottom:19px}.hero-visual{height:320px}.hero-foot{padding-top:20px}.section-intro{margin-bottom:24px}.section-intro>p{margin-top:17px}.crew-title .eyebrow{margin-bottom:17px}.crew-copy{padding-top:23px}.contact{padding-top:58px;padding-bottom:58px}.contact-copy{margin-top:23px}.ruler{grid-template-columns:repeat(6,minmax(0,1fr))}.ruler>span:nth-child(n+7){display:none}.footer-ridge{width:77px;height:48px}.footer-wordmark .footer-type{font-size:25px}.footer-type>span{font-size:9px}.back-top{min-width:78px;gap:5px;padding:0 8px}.button{gap:21px}}
