/* One frontal macro, one impact, then the existing photograph of the forge. */
.s38-strike { --strike-reveal:0; --strike-drawing:1; --strike-offset:calc(var(--header) + 62px); --strike-height:calc(100svh - var(--strike-offset)); position:relative; isolation:isolate; background:#15211e; color:#e9e4d5; scroll-margin-top:37px; overflow-anchor:none; }
.s38-stage { position:relative; }
.s38-drawing { position:relative; height:var(--strike-height); min-height:520px; background:#15211e; overflow:hidden; }
.s38-heading { position:absolute; z-index:2; top:8%; left:var(--gutter); pointer-events:none; width:31%; }
.s38-heading .eyebrow { color:#b8aa87; font-size:9px; letter-spacing:.17em; }
.s38-heading h2 { font-size:clamp(50px,5.7vw,88px); line-height:.99; font-weight:400; letter-spacing:-.06em; margin:24px 0 20px; }
.s38-heading h2 span { color:#b7a27a; }
.s38-heading > p:last-child { max-width:180px; font-size:11px; line-height:1.85; color:#969f8d; }
.s38-art { position:absolute; inset:0 -4% -5% 18%; }
.s38-art::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#15211e,transparent 13%,transparent 91%,#15211e),linear-gradient(0deg,#15211e,transparent 11%,transparent 94%,#15211e); }
.s38-art > img,.s38-art > canvas { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.s38-art > canvas { opacity:0; }
.s38-art[data-state=ready] > canvas { opacity:1; }
.s38-art[data-state=ready] > img { opacity:0; }
.s38-contact-glow { pointer-events:none; position:absolute; width:140px; height:140px; left:var(--strike-x,50%); top:var(--strike-y,50%); transform:translate(-50%,-50%); opacity:var(--strike-glow,0); background:radial-gradient(circle,#fdf0cdc0, #e2b76545 17%,#e2b7650d 42%,transparent 70%); }
.s38-bottom { position:absolute; z-index:2; bottom:30px; left:var(--gutter); right:var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.s38-bottom > span { font-size:8px; letter-spacing:.025em; color:#8e9787; }
.s38-bottom p,.s38-bottom a { font-size:10px; color:#c0ad86; }
.s38-bottom a { display:flex; align-items:center; gap:20px; min-height:44px; }
.s38-bottom i { font-size:20px; font-style:normal; margin-left:15px; }
.s38-bottom a:focus-visible { outline:2px solid #c0ad86; outline-offset:4px; }
.s38-reveal { position:relative; color:#edeade; }
.s38-reveal .s33-forge { height:var(--strike-height); min-height:520px; max-height:none; }
.s38-reveal .s33-forge-image img { transform:none; }
.s38-reveal .s33-forge h2 { font-size:clamp(56px,7.5vw,116px); }
.s38-destination { position:absolute; bottom:0; height:var(--strike-height); min-height:520px; width:1px; pointer-events:none; scroll-margin-top:37px; }
.s38-progress { display:none; }
@media (min-height:521px) and (prefers-reduced-motion:no-preference) {
 .s38-strike:is(.is-enhanced,.is-pending) { height:calc(var(--strike-height) + 145svh); }
 .s38-strike:is(.is-enhanced,.is-pending) .s38-stage { position:sticky; top:var(--strike-offset); height:var(--strike-height); overflow:hidden; }
 .s38-strike:is(.is-enhanced,.is-pending) .s38-drawing { height:100%; min-height:0; opacity:var(--strike-drawing); }
 .s38-strike:is(.is-enhanced,.is-pending) :is(.s38-heading,.s38-bottom) { opacity:var(--strike-copy,1); }
 .s38-strike:is(.is-enhanced,.is-pending) .s38-reveal { position:absolute; inset:0; opacity:var(--strike-reveal); pointer-events:none; }
 .s38-strike:is(.is-enhanced,.is-pending) .s38-reveal:not([inert]) { pointer-events:auto; }
 .s38-strike:is(.is-enhanced,.is-pending) .s38-reveal .s33-forge { height:100%; min-height:0; }
 .s38-strike:is(.is-enhanced,.is-pending) .s38-reveal :is(.s33-forge-copy,.s33-forge-foot) { opacity:var(--strike-next-copy,0); }
 .s38-strike:is(.is-enhanced,.is-pending) .s38-destination { min-height:0; }
 .s38-strike:is(.is-enhanced,.is-pending) .s38-progress { display:block; position:absolute; bottom:0; left:0; right:0; height:1px; background:#aa997122; pointer-events:none; }
 .s38-progress span { display:block; height:100%; background:#a78d5a; transform:scaleX(var(--strike-progress,0)); transform-origin:left; }
}
@media (max-width:1100px) {
 .s38-heading { width:35%; }
 .s38-heading h2 { font-size:clamp(45px,5.9vw,67px); }
 .s38-art { left:12%; right:-5%; }
 .s38-bottom > span { max-width:160px; line-height:1.7; }
}
@media (max-width:760px) {
 .s38-strike { --strike-offset:calc(var(--header) + 62px); }
 .s38-heading { top:5%; width:80%; }
 .s38-heading .eyebrow { font-size:8px; }
 .s38-heading h2 { font-size:clamp(47px,13vw,68px); margin:17px 0 14px; }
 .s38-heading h2 br { display:none; }
 .s38-heading h2 span::before { content:' '; }
 .s38-heading > p:last-child { font-size:10px; max-width:245px; }
 .s38-art { inset:26% -20% 4%; }
 .s38-bottom { bottom:14px; flex-wrap:wrap; gap:0 10px; }
 .s38-bottom > span { max-width:none; width:100%; font-size:7px; }
 .s38-bottom p,.s38-bottom a { font-size:9px; }
 .s38-bottom a { margin-left:auto; gap:7px; }
 .s38-bottom i { font-size:17px; margin-left:8px; }
 .s38-reveal .s33-forge-copy { padding:30px var(--gutter); }
 .s38-reveal .s33-forge h2 { font-size:clamp(43px,12vw,72px); margin-bottom:20px; }
 .s38-reveal .s33-forge-copy > p { font-size:11px; margin-bottom:65px; }
 .s38-reveal .s33-forge-image img { object-position:59% 50%; }
}
@media (max-height:690px) and (min-width:761px) {
 .s38-heading h2 { font-size:50px; margin:16px 0; }
 .s38-heading > p:last-child { font-size:10px; }
 .s38-reveal .s33-forge h2 { font-size:60px; margin-bottom:15px; }
 .s38-reveal .s33-forge-copy { padding-top:28px; padding-bottom:28px; }
 .s38-reveal .s33-forge-copy > p { margin-bottom:40px; font-size:11px; }
}
@media (prefers-reduced-motion:reduce),(max-height:520px) {
 .s38-scroll-hint { display:none; }
 .s38-contact-glow { display:none; }
}
