/* IRONRIDGE V2 — architectural roofing experience */
:root{--r-bg:#070b0f;--r-panel:#0e151b;--r-paper:#f3f0e8;--r-accent:#f0a13a;--r-steel:#9ca9b2;--r-line:rgba(255,255,255,.13)}
body{background:var(--r-bg);background-image:radial-gradient(circle at 85% 8%,rgba(240,161,58,.09),transparent 24%)}
.hero-v2{min-height:100svh;position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);overflow:hidden;padding:120px var(--pad) 55px;gap:3vw;align-items:end}.hero-v2:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 82%);pointer-events:none}.hero-v2-copy{position:relative;z-index:4;padding-bottom:3vh}.hero-v2 h1{font-family:Inter,sans-serif;font-weight:700;letter-spacing:-.07em;line-height:.82;font-size:clamp(70px,10.2vw,170px);text-transform:uppercase}.hero-v2 h1 span{display:block}.hero-v2 h1 .outline{-webkit-text-stroke:1px rgba(243,240,232,.65);color:transparent}.hero-v2 .lead{max-width:610px;font-size:clamp(16px,1.4vw,21px);margin:30px 0}.hero-v2-media{height:min(78vh,850px);position:relative;z-index:2;clip-path:polygon(16% 0,100% 0,100% 86%,83% 100%,0 100%,0 16%);overflow:hidden}.hero-v2-media img{filter:saturate(.78) contrast(1.08)}.hero-v2-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,11,15,.58))}.hero-v2-index{position:absolute;right:22px;top:22px;z-index:2;font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:rgba(7,11,15,.7);padding:10px 12px}.hero-v2 #three-canvas{position:absolute;inset:0;z-index:3;pointer-events:none}.hero-v2 #three-canvas canvas{width:100%!important;height:100%!important}.trust-rail{position:relative;z-index:5;grid-column:1/-1;border-top:1px solid var(--r-line);border-bottom:1px solid var(--r-line);display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px}.trust-rail div{padding:17px 18px;border-right:1px solid var(--r-line);font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--r-steel)}.trust-rail strong{display:block;color:var(--r-paper);font-size:14px;margin-bottom:4px}.roof-intro{display:grid;grid-template-columns:.52fr 1.48fr;gap:7vw;align-items:start}.roof-intro .kicker{position:sticky;top:130px}.roof-intro h2{font-family:Inter,sans-serif;font-weight:600;letter-spacing:-.055em;line-height:.92;font-size:clamp(52px,7.4vw,118px)}.roof-intro h2 em{font-family:var(--serif);font-weight:400;color:var(--r-accent)}.roof-intro-body{display:grid;grid-template-columns:1fr .72fr;gap:4vw;margin-top:55px;align-items:end}.roof-intro-shot{height:520px;clip-path:polygon(0 0,100% 9%,100% 100%,0 91%);overflow:hidden}.system-section{padding:0 var(--pad)}.system-shell{max-width:1500px;margin:auto;border-top:1px solid var(--r-line)}.system-row{display:grid;grid-template-columns:80px .8fr 1.2fr 90px;gap:25px;align-items:center;padding:34px 0;border-bottom:1px solid var(--r-line);position:relative;overflow:hidden}.system-row:before{content:"";position:absolute;inset:0;background:var(--r-accent);transform:scaleY(0);transform-origin:bottom;transition:transform .45s cubic-bezier(.2,.8,.2,1);z-index:-1}.system-row:hover:before{transform:scaleY(1)}.system-row:hover{color:#071017}.system-row:hover p,.system-row:hover .eyebrow{color:#071017}.system-row h3{font-family:Inter,sans-serif;font-size:clamp(28px,3vw,48px);font-weight:500;letter-spacing:-.04em}.system-row p{margin:0}.process-v2{min-height:90vh;display:grid;grid-template-columns:1fr 1fr;background:var(--r-paper);color:#0a1116}.process-v2-media{position:relative;overflow:hidden}.process-v2-media img{filter:saturate(.75)}.process-v2-copy{padding:clamp(55px,8vw,130px);display:flex;flex-direction:column;justify-content:center}.process-v2-copy p{color:#4f5960}.process-step{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:23px 0;border-top:1px solid rgba(10,17,22,.16)}.process-step:last-child{border-bottom:1px solid rgba(10,17,22,.16)}.process-step b{color:#bd711a;font-weight:500}.process-step h3{font-family:Inter,sans-serif;font-size:clamp(24px,2.4vw,36px);font-weight:500;line-height:1}.project-v2{display:grid;grid-template-columns:1.2fr .8fr;gap:2vw}.project-v2-main{height:760px;position:relative;overflow:hidden}.project-v2-side{display:grid;grid-template-rows:1fr 1fr;gap:2vw}.project-v2-side figure{margin:0;overflow:hidden;position:relative}.project-label{position:absolute;left:20px;bottom:20px;background:#071017;padding:12px 14px;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.proof-band{background:var(--r-accent);color:#071017;padding:38px var(--pad);overflow:hidden}.proof-track{white-space:nowrap;font-family:Inter,sans-serif;font-weight:600;font-size:clamp(32px,5vw,78px);letter-spacing:-.04em;text-transform:uppercase}.proof-track span{margin-right:4vw}.cta-v2{min-height:75vh;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;background:#0d151b}.cta-v2:before,.cta-v2:after{content:"";position:absolute;width:46vw;height:46vw;border:1px solid rgba(240,161,58,.2);transform:rotate(45deg)}.cta-v2:after{width:28vw;height:28vw}.cta-v2 .container{position:relative;z-index:2}.cta-v2 h2{font-family:Inter,sans-serif;font-weight:600;letter-spacing:-.055em}.cta-v2 .actions{justify-content:center}.fast-img{background:#121a20}.fast-img img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}.fast-img:hover img{transform:scale(1.035)}
@media(max-width:900px){.hero-v2{grid-template-columns:1fr;padding-top:110px}.hero-v2-media{height:58vh;grid-row:1}.hero-v2-copy{grid-row:2}.trust-rail{grid-template-columns:1fr 1fr}.roof-intro,.roof-intro-body,.process-v2,.project-v2{grid-template-columns:1fr}.roof-intro .kicker{position:static}.system-row{grid-template-columns:50px 1fr 50px}.system-row p{grid-column:2}.process-v2-media{min-height:60vh}.project-v2-main{height:65vh}.project-v2-side{grid-template-columns:1fr 1fr;grid-template-rows:none}.project-v2-side figure{height:42vh}}
@media(max-width:600px){.hero-v2{padding-inline:20px}.hero-v2 h1{font-size:clamp(58px,19vw,92px)}.hero-v2-media{height:48vh}.trust-rail{grid-template-columns:1fr 1fr}.trust-rail div{padding:13px 8px}.roof-intro-shot{height:110vw}.system-row{grid-template-columns:38px 1fr 34px;gap:12px}.project-v2-side{grid-template-columns:1fr}.project-v2-side figure{height:58vh}.proof-band{padding-block:25px}.cta-v2{min-height:65vh}}
/* V3 inner-page architecture */
.inner-hero{min-height:88svh;padding:150px var(--pad) 70px;position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:4vw;align-items:end;border-bottom:1px solid var(--r-line);overflow:hidden}.inner-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:8.333vw 100%;pointer-events:none}.inner-number{position:absolute;top:135px;right:var(--pad);font:500 11px Inter,sans-serif;letter-spacing:.16em;color:var(--r-steel)}.inner-hero h1{font:600 clamp(64px,8.7vw,145px)/.86 Inter,sans-serif;letter-spacing:-.065em;text-transform:uppercase;position:relative;z-index:2}.inner-hero h1 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--r-accent)}.ih-image{height:68vh;clip-path:polygon(15% 0,100% 0,100% 85%,84% 100%,0 100%,0 16%);overflow:hidden}.ih-aside{max-width:390px;align-self:end}.manifesto{display:grid;grid-template-columns:1.45fr .55fr;gap:8vw;align-items:end}.manifesto-big{font:500 clamp(40px,5.8vw,88px)/1 Inter,sans-serif;letter-spacing:-.05em;color:var(--r-paper)}.manifesto-big em{font-family:var(--serif);color:var(--r-accent)}.split-proof{display:grid;grid-template-columns:1fr 1fr;background:var(--r-paper);color:#0b1217}.split-proof>figure{height:900px;margin:0}.split-proof>div{padding:clamp(55px,8vw,130px);align-self:center}.split-proof p{color:#4b555b}.belief{display:grid;grid-template-columns:48px 1fr;gap:18px;border-top:1px solid #ccd0d2;padding:24px 0}.belief b{color:#bd711a}.stat-wall{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--r-line)}.stat-wall div{padding:35px;border-right:1px solid var(--r-line)}.stat-wall strong{display:block;font:600 clamp(40px,5vw,76px) Inter,sans-serif;color:var(--r-accent);letter-spacing:-.05em}.stat-wall span{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.service-ih{grid-template-columns:1fr .8fr}.service-diagram{height:58vh;position:relative;display:grid;place-items:center}.service-diagram i{position:absolute;width:70%;aspect-ratio:1;border:1px solid rgba(240,161,58,.28);transform:rotate(45deg)}.service-diagram i:nth-child(2){width:48%}.service-diagram i:nth-child(3){width:25%;background:rgba(240,161,58,.06)}.service-diagram span{position:absolute;bottom:8%;font-size:10px;letter-spacing:.18em}.service-index{padding:0 var(--pad)}.service-line{max-width:1500px;margin:auto;display:grid;grid-template-columns:70px .8fr 1.1fr 150px;gap:28px;align-items:center;padding:34px 0;border-bottom:1px solid var(--r-line)}.service-line h3{font:500 clamp(27px,3vw,48px) Inter,sans-serif;letter-spacing:-.04em}.service-line p{margin:0}.service-line a{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.feature-band{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:center}.feature-band figure{height:650px;overflow:hidden}.price-ih{grid-template-columns:1fr .55fr}.estimate-stamp{justify-self:center;width:min(330px,70vw);aspect-ratio:1;border:1px solid var(--r-accent);border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(7deg)}.estimate-stamp strong{font:600 clamp(36px,4vw,64px)/.9 Inter,sans-serif}.estimate-stamp span{margin-top:18px;font-size:10px;letter-spacing:.13em}.price-ledger article{display:grid;grid-template-columns:70px 1fr 180px;gap:30px;padding:34px 0;border-top:1px solid var(--r-line);align-items:center}.price-ledger article:last-child{border-bottom:1px solid var(--r-line)}.price-ledger h3{font:500 clamp(25px,3vw,43px) Inter,sans-serif;letter-spacing:-.04em}.price-ledger p{margin:6px 0 0}.price-ledger strong{text-align:right;color:var(--r-accent)}.quote-process{background:var(--r-paper);color:#0a1116;padding:110px var(--pad)}.quote-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px}.quote-grid>div{padding:28px;border-left:1px solid #c8ccce}.quote-grid b{color:#bd711a}.quote-grid h3{font:500 28px Inter,sans-serif;margin:55px 0 10px}.quote-grid p{color:#535c61}.projects-ih{min-height:70svh;grid-template-columns:1.3fr .7fr}.project-filter{justify-content:flex-end}.project-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:90px;gap:18px}.project-tile{margin:0;position:relative;overflow:hidden}.project-tile:nth-child(1){grid-column:1/8;grid-row:1/7}.project-tile:nth-child(2){grid-column:8/13;grid-row:1/5}.project-tile:nth-child(3){grid-column:8/13;grid-row:5/10}.project-tile:nth-child(4){grid-column:1/5;grid-row:7/12}.project-tile:nth-child(5){grid-column:5/9;grid-row:7/12}.project-tile:nth-child(6){grid-column:9/13;grid-row:10/14}.project-tile figcaption{position:absolute;inset:auto 0 0;padding:20px;background:linear-gradient(transparent,rgba(7,11,15,.9));display:flex;justify-content:space-between}.project-tile figcaption b{font-weight:500}.ba-ih{min-height:72svh;grid-template-columns:1fr .5fr}.ba-key{display:flex;justify-content:space-between;border-top:1px solid var(--r-line);padding-top:14px;font-size:10px;letter-spacing:.13em}.cases{padding-top:110px;padding-bottom:110px}.case-study{display:grid;grid-template-columns:.55fr 1.45fr;gap:6vw;align-items:center;padding:80px 0;border-bottom:1px solid var(--r-line)}.case-meta h2{font:500 clamp(36px,4vw,62px)/.95 Inter,sans-serif;letter-spacing:-.045em}.case-meta ul{padding:0;list-style:none}.case-meta li{padding:10px 0;border-top:1px solid var(--r-line);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.case-study .ba{height:650px}.contact-ih{grid-template-columns:1fr .45fr}.contact-signal{align-self:center;border:1px solid var(--r-line);padding:25px;display:flex;gap:14px;align-items:center;font-size:10px;letter-spacing:.13em}.contact-signal i{width:9px;height:9px;border-radius:50%;background:var(--r-accent);box-shadow:0 0 0 7px rgba(240,161,58,.1)}.contact-v2{display:grid;grid-template-columns:.65fr 1.35fr;max-width:1500px;margin:auto;padding:110px var(--pad);gap:7vw}.contact-v2 aside{position:sticky;top:130px;align-self:start}.contact-step{display:grid;grid-template-columns:40px 1fr;border-top:1px solid var(--r-line);padding:20px 0}.contact-step p{margin:0}.contact-info{margin-top:60px}.form-v2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.form-v2 .full,.form-v2 button,.form-v2 .form-status{grid-column:1/-1}
@media(max-width:900px){.inner-hero,.service-ih,.price-ih,.projects-ih,.ba-ih,.contact-ih,.manifesto,.split-proof,.feature-band,.case-study,.contact-v2{grid-template-columns:1fr}.inner-hero{min-height:auto;padding-top:135px}.ih-image{height:55vh}.inner-number{top:105px}.split-proof>figure{height:60vh}.stat-wall,.quote-grid{grid-template-columns:1fr 1fr}.service-diagram{height:45vh}.service-line{grid-template-columns:45px 1fr}.service-line p,.service-line a{grid-column:2}.project-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:380px}.project-tile:nth-child(n){grid-column:auto;grid-row:auto}.case-study .ba{height:60vw}.contact-v2 aside{position:static}.form-v2{grid-template-columns:1fr}}
@media(max-width:600px){.inner-hero{padding-inline:20px}.inner-hero h1{font-size:clamp(52px,16vw,82px)}.stat-wall,.quote-grid,.project-mosaic{grid-template-columns:1fr}.stat-wall div{border-right:0;border-bottom:1px solid var(--r-line)}.service-line{padding:26px 0}.price-ledger article{grid-template-columns:40px 1fr}.price-ledger strong{grid-column:2;text-align:left}.project-mosaic{grid-auto-rows:110vw}.case-study .ba{height:115vw}.contact-v2{padding-inline:20px}.split-proof>div{padding:55px 24px}}
