/* Truvit case study. Scoped additions preserve the shared drawing system. */
.truvit-case{--truvit-green:#9cbea8}
html[data-theme="day"] .truvit-case{--truvit-green:#315c45}
.truvit-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;align-items:end;margin-bottom:28px}
.truvit-hero .p-title{font-size:clamp(70px,10vw,148px);line-height:.9;letter-spacing:-.055em}
.truvit-thesis{font-family:Archivo,sans-serif;font-size:clamp(28px,3.8vw,54px);line-height:1.08;letter-spacing:-.035em;max-width:22ch}
.truvit-hero .p-sub{max-width:850px;font-size:clamp(17px,1.8vw,23px);line-height:1.55}
.truvit-facts{display:grid;grid-template-columns:1.2fr 1fr 1fr;border-block:1px solid var(--line);margin-top:32px}
.truvit-facts>div{padding:19px 20px 19px 0;display:flex;flex-direction:column;gap:8px}
.truvit-facts .lbl,.truvit-opening figcaption span{font:10px/1.4 'IBM Plex Mono',monospace;letter-spacing:.1em;color:var(--accent)}
.truvit-facts b{font-size:13px;font-weight:500}
.truvit-links{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:24px}
.truvit-links a{color:var(--ink);text-decoration:none;font-size:13px;border-bottom:1px solid var(--accent);padding:6px 0}
.truvit-opening{padding:28px clamp(24px,6vw,80px) 30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,3vw,44px)}
.truvit-opening figure{min-width:0}
.truvit-opening img{display:block;width:100%;height:auto;border:1px solid var(--line-soft)}
.truvit-opening figcaption{font-size:12px;line-height:1.6;color:var(--ink-soft);display:flex;flex-direction:column;gap:6px;padding-top:17px}
.truvit-note{font-size:12px;line-height:1.7;color:var(--ink-soft);max-width:900px}
.truvit-opening>.truvit-note{grid-column:1/-1;margin-top:2px}
.truvit-section-intro{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(25px,5vw,90px);margin:30px 0 36px}
.truvit-section-intro h3{font:500 clamp(25px,3vw,40px)/1.2 Archivo,sans-serif;letter-spacing:-.025em}
.truvit-section-intro .copy{max-width:none;margin:0 0 16px;font-size:16px;line-height:1.75}
.truvit-film{margin-top:28px}
.truvit-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#171612;border:1px solid var(--line)}
.truvit-details{border-block:1px solid var(--line-soft);padding:16px 0;margin-top:24px;color:var(--ink-soft);font-size:14px;line-height:1.8}
.truvit-details summary{color:var(--ink);font-weight:500;cursor:pointer;padding:3px 0}
.truvit-details ol{padding:20px 22px 0;columns:2;column-gap:44px}
.truvit-details li{padding:0 0 14px;break-inside:avoid}
.truvit-details p{margin-top:16px;max-width:1000px}
.truvit-contribution{display:grid;grid-template-columns:220px 1fr;gap:30px;margin-top:28px}
.truvit-contribution p{color:var(--ink-soft);font-size:14px;line-height:1.8;max-width:950px}
.truvit-flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;border:1px solid var(--line);margin-top:32px}
.truvit-flow li{padding:28px 22px;display:flex;flex-direction:column;border-right:1px solid var(--line);min-width:0}
.truvit-flow li:last-child{border:0}
.truvit-skill,.truvit-layers span{font:10px/1.7 'IBM Plex Mono',monospace;letter-spacing:.1em;color:var(--accent)}
.truvit-flow h3{font-size:21px;line-height:1.3;font-weight:500;margin:22px 0 12px}
.truvit-flow p{color:var(--ink-soft);font-size:14px;line-height:1.7;margin-bottom:26px}
.truvit-gate{margin-top:auto;border-top:1px solid var(--line);padding-top:16px;color:var(--truvit-green);font:500 11px/1.8 'IBM Plex Mono',monospace}
.truvit-layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:30px 0}
.truvit-layers p{font-size:14px;line-height:1.75;color:var(--ink-soft);margin-top:7px}
.truvit-revision{padding:clamp(24px,4vw,50px);border:1px solid var(--line);background:var(--card);display:grid;grid-template-columns:1fr 1.1fr;gap:50px;margin-top:12px}
.truvit-revision h3{font-size:26px;line-height:1.2;font-weight:500;margin:16px 0}
.truvit-revision p{font-size:13px;color:var(--ink-soft);line-height:1.8}
.truvit-options{display:flex;flex-direction:column;gap:10px;margin-top:24px;align-items:flex-start}
.truvit-options button{font:500 13px/1.5 'Instrument Sans',sans-serif;padding:10px 16px;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;text-align:left}
.truvit-options button[aria-pressed="true"]{border-color:var(--accent);background:var(--paper-2);box-shadow:inset 3px 0 var(--accent)}
.truvit-dependency ol{list-style:none;padding:0;margin:0 0 20px}
.truvit-dependency li{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line-soft);padding:12px 0;font-size:14px}
.truvit-dependency li span{font:10px/1.8 'IBM Plex Mono',monospace;text-align:right}
.truvit-dependency .kept span{color:var(--truvit-green)}
.truvit-dependency .reopen span{color:var(--accent)}
.truvit-iteration{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,4vw,60px)}
.truvit-iteration article{min-width:0}
.truvit-iteration h3{font:500 clamp(21px,2.1vw,29px)/1.25 Archivo,sans-serif;letter-spacing:-.015em;margin:16px 0 26px}
.truvit-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.truvit-pair img{width:100%;height:auto;display:block;border:1px solid var(--line-soft)}
.truvit-iteration p{font-size:14px;line-height:1.8;color:var(--ink-soft);margin-top:22px}
.truvit-proof-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:1px solid var(--line);margin-top:38px;padding-top:25px}
.truvit-proof-strip b{display:block;font-weight:500;font-size:15px;margin-bottom:9px}
.truvit-proof-strip span{font-size:13px;line-height:1.8;color:var(--ink-soft)}
.truvit-format-grid{display:grid;grid-template-columns:1fr .705fr 1fr;gap:clamp(24px,4vw,54px);align-items:center}
.truvit-format-grid img{width:100%;height:auto;display:block;border:1px solid var(--line-soft)}
.truvit-format-grid figure{align-self:start}
.truvit-package-copy h3{font:500 clamp(24px,2.9vw,39px)/1.16 Archivo,sans-serif;margin:17px 0 22px;letter-spacing:-.02em}
.truvit-package-copy p{font-size:14px;color:var(--ink-soft);line-height:1.8;margin-bottom:20px}
.truvit-download{display:inline-block;color:var(--ink);font-size:13px;text-decoration:none;border:1px solid var(--accent);padding:14px 16px;margin:4px 0 24px}
.truvit-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px;margin-top:36px}
.truvit-evidence-grid h3{font:500 clamp(23px,2.5vw,34px)/1.2 Archivo,sans-serif;margin:18px 0 24px;letter-spacing:-.025em}
.truvit-evidence-grid p{color:var(--ink-soft);font-size:15px;line-height:1.85;margin:15px 0}
.truvit-closing{border-top:1px solid var(--line);margin-top:48px;padding-top:40px;margin-bottom:36px}
.truvit-closing>p{font:400 clamp(23px,3vw,39px)/1.35 Archivo,sans-serif;max-width:1050px;letter-spacing:-.02em;margin:20px 0 26px}
@media(min-width:1600px){.truvit-case{max-width:1600px;margin:auto}}
@media(max-width:1000px){.truvit-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.truvit-flow li:nth-child(2){border-right:0}.truvit-flow li:nth-child(-n+2){border-bottom:1px solid var(--line)}.truvit-format-grid{grid-template-columns:1fr .705fr;max-width:850px;margin:auto}.truvit-package-copy{grid-column:1/-1}.truvit-contribution{grid-template-columns:160px 1fr}.truvit-revision{gap:30px}}
@media(max-width:720px){
 .truvit-heading{grid-template-columns:1fr;gap:24px}.truvit-hero .p-title{font-size:86px}.truvit-thesis{font-size:31px;line-height:1.12}.truvit-hero .p-sub{font-size:16px;line-height:1.7}
 .truvit-facts{grid-template-columns:1fr}.truvit-facts>div{padding:15px 0;border-bottom:1px solid var(--line-soft)}.truvit-facts>div:last-child{border:0}.truvit-facts b{font-size:13px}
 .truvit-opening{grid-template-columns:1fr;gap:28px;padding-top:12px}.truvit-opening figure{max-width:420px;width:100%;margin:auto}.truvit-opening img{max-height:62vh;object-fit:contain;object-position:left;width:auto;max-width:100%;border:0}.truvit-opening>.truvit-note{font-size:11px}
 .truvit-section-intro{grid-template-columns:1fr;gap:22px;margin:25px 0 28px}.truvit-section-intro h3{font-size:29px}.truvit-section-intro .copy{font-size:15px}
 .truvit-details ol{columns:1}.truvit-contribution{grid-template-columns:1fr;gap:14px}.truvit-flow{grid-template-columns:1fr}.truvit-flow li{border-right:0;border-bottom:1px solid var(--line);padding:25px}.truvit-flow h3{margin:14px 0 10px}
 .truvit-layers,.truvit-revision,.truvit-proof-strip,.truvit-evidence-grid,.truvit-iteration{grid-template-columns:1fr;gap:26px}.truvit-revision{padding:22px}.truvit-revision h3{font-size:24px}.truvit-options{align-items:stretch}.truvit-dependency li{font-size:13px}.truvit-dependency li span{font-size:9px}
 .truvit-iteration{gap:42px}.truvit-pair{gap:10px}.truvit-iteration h3{font-size:25px}.truvit-format-grid{grid-template-columns:1fr;gap:30px}.truvit-format-grid figure{max-width:330px;width:100%;margin:auto}.truvit-format-grid figure:nth-child(2){max-width:260px}.truvit-format-grid img{max-height:65vh;object-fit:contain;object-position:left;border:0;width:auto;max-width:100%}.truvit-format-grid .fig-cap{font-size:9px}
 .truvit-evidence-grid h3{font-size:27px}.truvit-closing>p{font-size:25px}.truvit-links{gap:12px 24px}.truvit-note{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.truvit-case *{scroll-behavior:auto}}
