/* Dual Forge / Industrial Engineering — project-first capability pages
   All visuals inherit the existing company gold, graphite and type system. */
.ind-hero.page-hero{padding:86px 0 80px}
.ind-hero .page-hero-inner{grid-template-columns:minmax(0,1fr) minmax(350px,.77fr);align-items:center;gap:45px}
.ind-hero h1{max-width:890px;font-size:clamp(3.1rem,5.7vw,6rem)}
.ind-hero .ind-hero-lead{max-width:700px}
.ind-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}
.ind-hero-actions .button{min-height:48px}
.ind-hero-tags{margin-top:24px;display:flex;gap:7px;flex-wrap:wrap}
.ind-hero-tags span{padding:7px 10px;font:.59rem var(--mono);color:var(--gold-hi);letter-spacing:.085em;border:1px solid rgba(223,184,117,.26);background:rgba(223,184,117,.035)}
.ind-blueprint{position:relative;min-height:390px;aspect-ratio:1.04/1;border:1px solid rgba(223,184,117,.25);background:radial-gradient(ellipse at 50% 48%,rgba(207,152,73,.13),transparent 66%),linear-gradient(155deg,#151922,#0a0d13);overflow:hidden;box-shadow:inset 0 0 45px rgba(0,0,0,.32)}
.ind-blueprint::before{content:"";position:absolute;inset:0;opacity:.55;background-image:linear-gradient(rgba(213,163,91,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(213,163,91,.08) 1px,transparent 1px);background-size:28px 28px}
.ind-blueprint::after{content:"";position:absolute;inset:14px;border:1px solid rgba(215,177,109,.1);pointer-events:none}
.ind-blueprint-svg{position:absolute;inset:3% 2%;width:96%;height:94%;filter:drop-shadow(0 0 12px rgba(228,169,93,.15))}
.ind-blueprint-code{position:absolute;top:24px;left:24px;color:var(--gold);font:.61rem var(--mono);letter-spacing:.11em}
.ind-blueprint-foot{position:absolute;bottom:20px;left:24px;right:24px;display:flex;gap:12px;justify-content:space-between;color:#b4a080;font:.57rem var(--mono)}
.ind-blueprint-tick{position:absolute;right:25px;top:25px;font:.57rem var(--mono);color:#aa9475}
.ind-intro{max-width:820px;margin:0 0 37px;color:#b2b9c1;line-height:1.8;font-size:1.02rem}
.ind-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ind-service-card{position:relative;display:flex;flex-direction:column;min-height:275px;padding:29px 28px;background:linear-gradient(145deg,#171b23,#0c1016);border:1px solid var(--white-stroke);transition:border-color .25s,transform .25s}
.ind-service-card::before{content:"";position:absolute;right:0;top:0;width:31px;height:31px;background:linear-gradient(45deg,transparent 48%,rgba(223,184,117,.24) 50%,transparent 52%)}
.ind-service-card:hover{border-color:rgba(223,184,117,.53);transform:translateY(-3px)}
.ind-service-card .ind-index{font:.65rem var(--mono);letter-spacing:.06em;color:var(--gold)}
.ind-service-card h3{font:600 clamp(1.35rem,2vw,1.7rem)/1.18 var(--display);letter-spacing:-.04em;margin:23px 0 13px}
.ind-service-card p{font-size:.88rem;color:#a3abb5;line-height:1.7;margin:0 0 23px}
.ind-service-card .ge-link,.ind-service-card .inline-link{margin-top:auto;width:max-content}
.ind-spec-banner{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:center;padding:38px 40px;position:relative;overflow:hidden;border:1px solid rgba(223,184,117,.3);background:linear-gradient(110deg,#171c24,#10141a 60%,#1c1710)}
.ind-spec-banner::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 96% 40%,rgba(209,151,78,.11),transparent 58%)}
.ind-spec-banner h2{font:600 clamp(2rem,3.6vw,3.5rem)/1.12 var(--display);letter-spacing:-.05em;margin:18px 0 17px}
.ind-spec-banner p{font-size:.93rem;color:#b6bec8;max-width:650px}
.ind-spec-banner .ind-badge{font:.66rem var(--mono);color:var(--gold);letter-spacing:.1em}
.ind-spec-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:center;position:relative}
.ind-spec-list span{min-height:72px;border:1px solid rgba(223,184,117,.22);background:rgba(13,16,23,.7);padding:13px;display:flex;align-items:center;gap:12px;color:#d6d3cb;font-size:.86rem}
.ind-spec-list b{font:700 .68rem var(--mono);color:var(--gold)}
.ind-scope-panel{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.ind-scope-panel article{background:linear-gradient(135deg,#151c23,#0d1117);padding:33px 32px;border:1px solid var(--white-stroke)}
.ind-scope-panel article:first-child{border-color:rgba(223,184,117,.42)}
.ind-scope-panel h3{font:600 1.6rem var(--display);letter-spacing:-.04em;margin:0 0 14px}
.ind-scope-panel p{font-size:.9rem;color:#aab2bc;max-width:610px}
.ind-scope-panel ul{padding:0;margin:17px 0 0;list-style:none}
.ind-scope-panel li{padding:10px 0;border-top:1px solid var(--white-stroke);font-size:.86rem;color:#c1c6cb}
.ind-scope-panel li::before{content:"+";color:var(--gold);font:700 .86rem var(--mono);margin-right:11px}
.ind-scope-panel article:last-child li::before{content:"−";color:#b5a288}
.ind-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ind-step{min-height:218px;padding:25px 21px;border:1px solid var(--white-stroke);background:#11161d;position:relative}
.ind-step::after{content:"→";position:absolute;right:-16px;top:42%;z-index:2;color:var(--gold);font-size:1.25rem}
.ind-step:last-child::after{display:none}
.ind-step .ind-id{color:var(--gold);font:.68rem var(--mono)}
.ind-step h3{font:600 1.17rem var(--display);margin:22px 0 10px}
.ind-step p{font-size:.83rem;color:#9faab4;line-height:1.65;margin:0}
.ind-file-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ind-file-card{padding:23px;border:1px solid rgba(223,184,117,.18);background:#111720;min-height:167px}
.ind-file-card .ind-format{font:700 .77rem var(--mono);letter-spacing:.04em;color:var(--gold);display:inline-block;padding:5px 10px;border:1px solid var(--stroke);margin-bottom:18px}
.ind-file-card h3{font:600 1.08rem var(--display);margin:0 0 8px}
.ind-file-card p{font-size:.82rem;color:#a6afb8;margin:0}
.ind-dossier{position:relative;overflow:hidden;min-height:370px;border:1px solid rgba(223,184,117,.25);background:linear-gradient(120deg,#171b23,#0c1118);display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center;padding:42px}
.ind-dossier::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(206,163,93,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(206,163,93,.06) 1px,transparent 1px);background-size:32px 32px;opacity:.7}
.ind-dossier-copy{position:relative;z-index:2}
.ind-dossier-copy h2{font:600 clamp(2.1rem,3.8vw,4rem)/1.13 var(--display);letter-spacing:-.055em;margin:16px 0}
.ind-dossier-copy p{font-size:.94rem;color:#aeb8c3;max-width:640px;margin:0 0 24px}
.ind-sheet-stack{height:260px;position:relative;z-index:1}
.ind-sheet{position:absolute;width:72%;height:214px;top:15px;right:5%;transform:rotate(7deg);background:#1a202a;border:1px solid rgba(230,190,121,.43);box-shadow:0 18px 45px rgba(0,0,0,.4);padding:18px}
.ind-sheet:nth-child(2){transform:rotate(-5deg) translate(-17%,12px);background:#10151d}
.ind-sheet:nth-child(3){transform:rotate(2deg) translate(-8%,26px);background:#151b22}
.ind-sheet .ind-sheet-top{font:.6rem var(--mono);letter-spacing:.1em;color:var(--gold);border-bottom:1px solid var(--stroke);padding-bottom:11px}
.ind-sheet svg{width:100%;height:150px}
.ind-document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ind-document{padding:27px 28px;background:#121821;border:1px solid var(--white-stroke)}
.ind-document .ind-id{font:.65rem var(--mono);color:var(--gold)}
.ind-document h3{font:600 1.36rem var(--display);margin:17px 0 10px}
.ind-document p{font-size:.87rem;color:#a8b1bb;margin:0}
.ind-standards{padding:22px 27px;background:rgba(223,184,117,.047);border-left:2px solid var(--gold);font-size:.9rem;color:#b9c0c9;line-height:1.75}
.ind-standards strong{color:#e1d0ac}
.ind-legacy-note{font-size:.84rem;color:#7e8793;max-width:790px;margin:25px 0 0}
.ind-sector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ind-sector-card{padding:26px;background:#11161d;border:1px solid var(--white-stroke)}
.ind-sector-card span{font:.65rem var(--mono);color:var(--gold)}
.ind-sector-card h3{font:600 1.25rem var(--display);margin:15px 0 7px}
.ind-sector-card p{color:#a6b0b9;font-size:.88rem;margin:0}
.ind-contact-preview{border:1px solid rgba(223,184,117,.34);background:linear-gradient(135deg,#191d23,#10151c);display:grid;grid-template-columns:1.35fr .65fr;gap:25px;align-items:center;padding:34px 39px}
.ind-contact-preview h2{font:600 clamp(1.9rem,3.2vw,3.1rem)/1.13 var(--display);margin:13px 0}
.ind-contact-preview p{color:#a9b2be;font-size:.92rem;max-width:650px}
.ind-contact-preview ul{padding-left:18px;color:#c5cbd0;font-size:.85rem}
.ind-contact-preview li{margin:9px 0}
.ind-context-link{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:26px}
.ind-context-link p{color:#a7b0bb;font-size:.9rem;margin:0}
.ind-context-link .inline-link{margin-left:auto}
.ind-small-link{font:700 .69rem var(--mono);letter-spacing:.045em;text-transform:uppercase;color:var(--gold-hi);border-bottom:1px solid rgba(223,184,117,.5);padding-bottom:7px}
.ind-small-link:hover{color:#f7dca7}
@media(max-width:1200px){.ind-flow{grid-template-columns:repeat(3,1fr)}.ind-step:nth-child(3)::after{display:none}.ind-file-grid{grid-template-columns:repeat(2,1fr)}.ind-hero .page-hero-inner{grid-template-columns:1fr .75fr}.ind-blueprint{min-height:320px}}
@media(max-width:980px){.ind-hero .page-hero-inner{grid-template-columns:1fr}.ind-hero .ind-blueprint{max-width:580px;width:100%;min-height:330px}.ind-service-grid{grid-template-columns:repeat(2,1fr)}.ind-spec-banner{grid-template-columns:1fr}.ind-flow{grid-template-columns:repeat(2,1fr)}.ind-step:nth-child(2)::after,.ind-step:nth-child(4)::after{display:none}.ind-step:nth-child(3)::after{display:block}.ind-document-list{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.ind-hero.page-hero{padding:66px 0}.ind-hero .ind-blueprint{max-width:500px;margin-inline:auto}.ind-scope-panel,.ind-dossier,.ind-contact-preview{grid-template-columns:1fr}.ind-sheet-stack{height:285px;max-width:420px;width:100%;margin:auto}.ind-dossier{padding:30px}.ind-file-grid{grid-template-columns:repeat(2,1fr)}.ind-contact-preview{padding:28px}}
@media(max-width:560px){.ind-hero.page-hero{padding:56px 0}.ind-hero h1{font-size:clamp(2.75rem,11.5vw,4.5rem)}.ind-hero .ind-blueprint{min-height:0;aspect-ratio:1.04}.ind-hero-actions{display:grid;grid-template-columns:1fr}.ind-hero-actions .button{width:100%}.ind-service-grid,.ind-sector-grid,.ind-document-list,.ind-scope-panel,.ind-file-grid,.ind-flow{grid-template-columns:1fr}.ind-step{min-height:0}.ind-step::after{display:none!important}.ind-spec-banner{padding:27px 23px}.ind-spec-list{grid-template-columns:1fr 1fr}.ind-spec-list span{font-size:.76rem;padding:10px}.ind-spec-list b{display:none}.ind-dossier{padding:27px 19px}.ind-sheet-stack{height:250px}.ind-sheet{height:195px}.ind-scope-panel article{padding:27px}.ind-service-card{min-height:220px}.ind-contact-preview{padding:27px 21px}.ind-context-link .inline-link{margin-left:0}}

.capability-grid.ind-capabilities{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.capability-grid.ind-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.capability-grid.ind-capabilities{grid-template-columns:1fr}}

@media(max-width:560px){.ind-blueprint-tick{display:none}.ind-blueprint-code{top:15px;left:14px;font-size:.53rem}.ind-blueprint-foot{left:14px;right:14px;font-size:.48rem}}

/* Dual Forge cinematic industrial hero. Visual files remain separate from editable text/UI. */
.ind-hero--cinematic .page-hero-inner{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:40px}
.ind-hero--cinematic .page-hero-inner>div:first-child{max-width:980px}
.ind-hero--cinematic .page-hero-inner>div:first-child h1{max-width:1120px}
.ind-hero--cinematic.page-hero{padding-bottom:86px}
.ind-hero-art{position:relative;width:100%;margin:0;border:1px solid rgba(223,184,117,.38);background:#0b1017;overflow:hidden;box-shadow:0 28px 86px rgba(0,0,0,.35),0 0 52px rgba(202,142,55,.055);aspect-ratio:2.5/1}
.ind-hero-art::before{content:"";position:absolute;z-index:1;inset:0;border:1px solid rgba(233,182,113,.07);pointer-events:none}
.ind-hero-art::after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:0;height:43%;background:linear-gradient(transparent,rgba(5,9,14,.68));pointer-events:none}
.ind-hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%;transition:transform .65s ease;filter:saturate(.92) contrast(1.045)}
.ind-hero-art:hover img{transform:scale(1.025)}
.ind-hero-art figcaption{position:absolute;bottom:23px;left:27px;right:27px;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:15px;color:#f0ce93;font:.63rem/1.5 var(--mono);letter-spacing:.09em;text-shadow:0 1px 10px #000}
.ind-hero-art figcaption span:last-child{color:#bec4c9;max-width:440px;text-align:right;font-size:.57rem}
@media(max-width:980px){.ind-hero--cinematic .page-hero-inner{grid-template-columns:minmax(0,1fr);gap:26px}.ind-hero--cinematic .page-hero-inner>div:first-child{max-width:100%}}
@media(max-width:780px){.ind-hero--cinematic.page-hero{padding:65px 0}.ind-hero-art{aspect-ratio:1.65/1}}
@media(max-width:560px){.ind-hero--cinematic.page-hero{padding:56px 0 65px}.ind-hero--cinematic .page-hero-inner{gap:22px}.ind-hero-art{aspect-ratio:1.35/1}.ind-hero-art figcaption{left:14px;right:14px;bottom:13px;display:block;font-size:.58rem}.ind-hero-art figcaption span:last-child{display:block;text-align:left;margin-top:3px;font-size:.51rem}}
@media(prefers-reduced-motion:reduce){.ind-hero-art img{transition:none}.ind-hero-art:hover img{transform:none}}

/* Above-the-fold composition: cinematic hero image beside live text on desktop. */
@media(min-width:981px){
.ind-hero--cinematic .page-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.01fr);align-items:center;gap:clamp(22px,3vw,48px)}
.ind-hero--cinematic .page-hero-inner>div:first-child{max-width:none}
.ind-hero--cinematic .page-hero-inner>div:first-child h1{font-size:clamp(3rem,4.25vw,4.8rem);line-height:1.07;letter-spacing:-.06em}
.ind-hero--cinematic .ind-hero-art{aspect-ratio:1.14/1;max-height:630px}
.ind-hero--cinematic .ind-hero-art img{object-position:44% 50%}
.ind-hero--cinematic.page-hero{padding-top:78px;padding-bottom:85px}
.ind-hero--cinematic .ind-hero-tags{margin-top:22px}
}
@media(min-width:981px) and (max-width:1160px){
.ind-hero--cinematic .page-hero-inner>div:first-child h1{font-size:clamp(2.7rem,4.2vw,3.6rem)}
.ind-hero--cinematic .ind-hero-art{aspect-ratio:1/1}
}

/* Additive-manufacturing hero has a portrait-friendly crop without hiding the printer. */
.ind-hero-art--additive img{object-position:60% 50%}
@media(min-width:981px){.ind-hero--cinematic .ind-hero-art--additive img{object-position:57% 49%}}
