/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5 */
/* Hallmark · genre: modern-minimal · macrostructure: Long Document · theme: HELPER industrial · enrichment: E8 disclosed concept imagery · nav: N11 · footer: Ft3 */
@import url("../../tokens.css");

html,body{overflow-x:clip}
body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:1.68}
*,*::before,*::after{box-sizing:border-box}
img{display:block;max-width:100%;height:auto}
a{color:var(--color-link)}
.project-wrap{width:min(100% - var(--space-lg),72rem);margin-inline:auto}
.project-crumbs{padding-block:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm)}
.project-crumbs a{text-decoration:none;white-space:nowrap}
.project-hero{padding:clamp(var(--space-xl),8vw,var(--space-3xl)) 0 var(--space-xl);border-bottom:var(--rule-thin) solid var(--color-rule)}
.project-hero__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);gap:clamp(var(--space-lg),6vw,var(--space-3xl));align-items:end}
.project-hero__label{margin:0 0 var(--space-sm);color:var(--color-accent-dark);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase}
.project-hero h1{min-width:0;max-width:14ch;margin:0;color:var(--color-navy-deep);font-family:var(--font-display);font-size:clamp(2.8rem,6vw,5.25rem);font-style:normal;line-height:1.02;letter-spacing:var(--tracking-tight);overflow-wrap:anywhere}
.project-hero__lede{max-width:34rem;margin:0;color:var(--color-ink-2);font-size:var(--text-lg);line-height:1.55}
.project-hero__link{display:inline-flex;min-height:var(--control-height);align-items:center;margin-top:var(--space-md);border-bottom:var(--rule-thin) solid currentColor;color:var(--color-link);font-weight:800;text-decoration:none;white-space:nowrap;transition:color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}
.project-hero__link:hover{color:var(--color-accent-dark);transform:translateY(var(--lift))}
.project-hero__link:focus-visible,.project-prose a:focus-visible,.project-cta a:focus-visible{outline:var(--rule-focus) solid var(--color-focus);outline-offset:var(--space-3xs)}
.project-hero__link:active,.project-cta a:active{transform:translateY(1px)}
.project-stat{padding-block:var(--space-xl)}
.project-stat__number{margin:0;color:var(--color-navy);font-family:var(--font-display);font-size:clamp(6rem,18vw,13rem);font-variant-numeric:tabular-nums;line-height:.78;letter-spacing:var(--tracking-tight)}
.project-stat__unit{font-size:.2em;letter-spacing:0}
.project-stat__qualifier{max-width:46rem;margin:var(--space-lg) 0 0;color:var(--color-muted);font-size:var(--text-lg)}
.project-figure{margin:0 auto var(--space-2xl);width:min(100% - var(--space-lg),80rem)}
.project-figure img{width:100%;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper-2)}
.project-figure figcaption{display:flex;justify-content:space-between;gap:var(--space-md);padding-top:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm)}
.project-figure figcaption span:last-child{font-family:var(--font-mono);text-align:right}
.project-prose{width:min(100% - var(--space-lg),65ch);margin-inline:auto;padding-bottom:var(--space-2xl)}
.project-prose>p{margin:0 0 var(--space-md)}
.project-prose h2{margin:var(--space-2xl) 0 var(--space-md);color:var(--color-navy-deep);font-family:var(--font-display);font-size:clamp(var(--text-xl),4vw,var(--text-2xl));font-style:normal;line-height:1.15;letter-spacing:-.025em}
.project-prose h3{margin:0 0 var(--space-2xs);color:var(--color-navy);font-family:var(--font-display);font-size:var(--text-lg);font-style:normal;line-height:1.25}
.project-note{margin-block:var(--space-xl);padding:var(--space-md);border-inline-start:var(--profile-rule-accent) solid var(--color-accent);background:var(--color-paper-2);color:var(--color-ink-2)}
.project-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);margin-block:var(--space-xl)}
.project-fact{padding:var(--space-md) 0;border-top:var(--rule-thin) solid var(--color-rule-strong)}
.project-fact b,.project-fact span{display:block}
.project-fact b{color:var(--color-navy);font-family:var(--font-display);font-size:var(--text-xl)}
.project-fact span{margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm)}
.process-steps{margin:var(--space-xl) 0;padding:0;list-style:none;border-top:var(--rule-thin) solid var(--color-rule-strong)}
.process-steps li{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:var(--space-md);padding:var(--space-lg) 0;border-bottom:var(--rule-thin) solid var(--color-rule)}
.process-steps__stage{padding-top:.15rem;color:var(--color-accent-dark);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:800;font-variant-numeric:tabular-nums}
.process-steps p{margin:0;color:var(--color-muted)}
.process-visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin:var(--space-xl) 0}
.process-visual figure{margin:0;min-width:0}
.process-visual img{width:100%;aspect-ratio:4/3;object-fit:contain;border:var(--rule-thin) solid var(--color-rule);background:var(--color-paper-2)}
.process-visual figcaption{padding-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm)}
.project-spec{width:100%;margin:var(--space-xl) 0;border-collapse:collapse;font-variant-numeric:tabular-nums}
.project-spec th,.project-spec td{padding:var(--space-sm) var(--space-xs);border-bottom:var(--rule-thin) solid var(--color-rule);text-align:left;vertical-align:top}
.project-spec th{width:42%;color:var(--color-navy);font-family:var(--font-display)}
.project-spec td{color:var(--color-ink-2)}
.project-boundary{margin-top:var(--space-xl);padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule-strong);background:var(--color-paper-2)}
.project-boundary ul{margin-bottom:0;padding-left:1.25rem}
.project-cta{padding:var(--space-2xl) 0;background:var(--color-navy-deep);color:var(--color-light-muted)}
.project-cta__inner{width:min(100% - var(--space-lg),65ch);margin-inline:auto}
.project-cta h2{margin:0 0 var(--space-md);color:var(--color-paper);font-family:var(--font-display);font-size:clamp(var(--text-xl),4vw,var(--text-2xl));font-style:normal;line-height:1.15}
.project-cta p{margin:0 0 var(--space-md)}
.project-cta a{display:inline-flex;min-height:var(--control-height);align-items:center;border-bottom:var(--rule-thin) solid currentColor;color:var(--color-paper);font-weight:800;text-decoration:none;white-space:nowrap;transition:color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}
.project-cta a:hover{color:var(--color-accent);transform:translateY(var(--lift))}
@media(max-width:60rem){.project-hero__grid{grid-template-columns:minmax(0,1fr)}.project-facts{grid-template-columns:minmax(0,1fr)}.project-figure figcaption{display:block}.project-figure figcaption span{display:block}.project-figure figcaption span:last-child{margin-top:var(--space-2xs);text-align:left}}
@media(max-width:40rem){.project-wrap,.project-prose,.project-cta__inner{width:min(100% - var(--space-md),100%)}.project-hero{padding-top:var(--space-xl)}.project-hero h1{font-size:var(--text-display-mobile)}.project-stat__number{font-size:clamp(5.2rem,32vw,8rem)}.process-steps li{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}.process-visual{grid-template-columns:minmax(0,1fr)}.project-spec,.project-spec tbody,.project-spec tr,.project-spec th,.project-spec td{display:block}.project-spec tr{padding-block:var(--space-xs);border-bottom:var(--rule-thin) solid var(--color-rule)}.project-spec th,.project-spec td{width:auto;padding:0;border:0}.project-spec td{margin-top:var(--space-3xs)}.project-hero__link,.project-cta a{min-height:var(--profile-touch-target)}}
@media(prefers-reduced-motion:reduce){.project-hero__link,.project-cta a{transition-duration:var(--dur-reduced)}.project-hero__link:hover,.project-cta a:hover{transform:none}}
