:root{color-scheme:dark;--ink:var(--void);--deep:var(--void);--text:var(--ice);--muted:var(--mute);--dim:var(--faint);--cyan:var(--signal);--violet:var(--sim);--amber:var(--warn);--danger:var(--crit);background:var(--void);color:var(--ice);font-family:var(--f-data);font-synthesis:none;font-size:16px;line-height:1.7}
*{box-sizing:border-box}
html{scroll-padding-top:24px}
body{margin:0;min-width:0}
img,svg{max-width:100%;height:auto}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{color:var(--cyan)}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}
button,input,textarea{font:inherit}
h1,h2,h3,h4,p,figure{margin:0}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;line-height:1.12;overflow-wrap:break-word}
h1{font-size:clamp(44px,5.2vw,88px);letter-spacing:-.035em;max-width:11ch}
h2{font-size:clamp(26px,3vw,42px);letter-spacing:-.02em}
h3{font-size:24px;letter-spacing:-.015em}
p{overflow-wrap:break-word}
ul,ol{padding-left:1.4em}
li{padding-left:.25em}
li+li{margin-top:.7em}
::selection{background:rgba(var(--signal-rgb),.15);color:var(--text)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;z-index:20;top:12px;left:16px;transform:translateY(-180%);background:var(--ink);color:var(--cyan);border:1px solid var(--cyan);padding:12px 20px}
.skip-link:focus{transform:none}
.site-header{max-width:1720px;min-height:94px;margin:auto;padding:20px clamp(20px,4vw,72px);display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:14px;color:var(--text);text-decoration:none;flex-shrink:0;line-height:1.35}
.brand-mark{display:flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--cyan);color:var(--cyan);font-family:var(--f-display);font-size:17px;clip-path:polygon(0 0,75% 0,100% 25%,100% 100%,25% 100%,0 75%)}
.brand-mark>span{font-size:12px}
.brand-text{font-family:var(--f-display);font-size:16px;letter-spacing:.03em}
.brand-text>span{display:block;font-family:var(--f-data);font-size:10px;color:var(--muted);letter-spacing:.1em}
.brand-text strong{display:block;font-family:var(--f-display);font-weight:600;font-size:16px;letter-spacing:.03em}
.brand-text small{font-size:10px;color:var(--muted);letter-spacing:.1em}
.primary-nav{display:flex;flex:1;gap:clamp(16px,2.2vw,36px);align-items:center;justify-content:flex-end;flex-wrap:wrap}
.primary-nav a,.language-switch a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none;font-size:11px;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid transparent}
.primary-nav a[aria-current=page]{color:var(--cyan);border-bottom-color:var(--cyan)}
.language-switch a{min-width:44px;justify-content:center}
.language-switch{display:flex;gap:12px;border-left:1px solid var(--line);padding-left:24px;align-items:center;flex-shrink:0;font-size:11px}
.language-switch [aria-current],.language-switch .active{color:var(--cyan)}
.shell{width:min(100%,1720px);margin-inline:auto;padding-inline:clamp(20px,4vw,72px)}
main{min-height:65vh}
.eyebrow{font-size:11px;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan)}
.page-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;align-items:start}
.page-layout>.prose:only-child{grid-column:1/-1}
.page-index{border-left:1px solid var(--line);padding-left:18px;min-width:0}
.page-index .eyebrow{font-size:10px;margin-bottom:12px}
.page-index ol{list-style:none;padding:0;margin:0;counter-reset:section}
.page-index li{padding:0;margin:0;counter-increment:section}
.page-index a{display:flex;gap:10px;align-items:baseline;min-height:44px;padding-block:10px;color:var(--muted);font-size:11px;text-decoration:none;line-height:1.7;overflow-wrap:anywhere}
.page-index a::before{content:counter(section,decimal-leading-zero);flex-shrink:0;color:var(--cyan);font-family:var(--f-display);font-size:13px}
.page-index a:hover{color:var(--cyan)}
.home-intro{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(28px,4vw,78px);align-items:center;padding-block:clamp(44px,5vw,86px) 54px}
.intro-copy>.eyebrow,.intro-copy>.page-index{margin-bottom:25px}
.intro-copy h1{margin-bottom:28px}
.intro-copy>p:not(.eyebrow):not(.page-index){font-size:clamp(13px,1.05vw,16px);color:var(--muted);max-width:49ch;line-height:1.85}
.intro-copy .status-note{margin-top:22px;font-size:11px!important;line-height:1.6!important}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 26px;margin-top:32px}
.button{display:inline-flex;width:auto;transition:none;min-height:50px;padding:13px 24px;align-items:center;justify-content:center;gap:20px;border:1px solid var(--cyan);color:var(--cyan);background:rgba(var(--signal-rgb),.07);text-decoration:none;font-size:12px;letter-spacing:.04em;line-height:1.5}
.button>span{font-size:19px;line-height:1}
.button.hud-action:focus-visible{outline-offset:-4px}
.button:hover{background:rgba(var(--signal-rgb),.14);color:var(--text)}
.text-link{display:inline-flex;min-height:44px;align-items:center;gap:10px;font-size:12px}
.purdue-twin.hud-panel{min-width:0;padding:0;background:rgba(var(--signal-rgb),.03);backdrop-filter:none}
.twin-top{margin-bottom:0;padding:18px 20px 12px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.twin-top .eyebrow{color:var(--muted);font-size:10px;letter-spacing:.12em}
.simulation-tag{border-color:rgba(var(--sim-rgb),.4);background:rgba(var(--sim-rgb),.05);display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;line-height:1.7;color:var(--violet);white-space:nowrap}
.simulation-tag>span{font-size:18px;line-height:1}
.twin-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 102px;align-items:stretch;padding:10px 20px 0 0}
.twin-stage.hud{min-width:0;overflow:visible;background:linear-gradient(rgba(var(--signal-rgb),.035) 1px,transparent 1px) 0 0/var(--grid-cell) var(--grid-cell),linear-gradient(90deg,rgba(var(--signal-rgb),.035) 1px,transparent 1px) 0 0/var(--grid-cell) var(--grid-cell)}
.twin-stage .hud-twin{display:block;min-width:0;width:100%;height:auto;overflow:visible}
.twin-diagram :is(path,line,polygon,rect){vector-effect:non-scaling-stroke;stroke-width:1px}
.twin-diagram .node .pad{fill:rgba(var(--signal-rgb),.12)}
.twin-diagram .kit-boundary{fill:none;stroke:var(--mute);stroke-dasharray:5 6;opacity:.65}
.twin-diagram .kit-reservoir{fill:rgba(var(--signal-rgb),.06);stroke:rgba(var(--signal-rgb),.5)}
.twin-diagram .kit-water-lines{fill:none;stroke:rgba(var(--signal-rgb),.4)}
.twin-diagram .kit-dam-face{fill:rgba(var(--signal-rgb),.12);stroke:rgba(var(--signal-rgb),.75)}
.twin-diagram .kit-dam-ribs{fill:none;stroke:rgba(var(--signal-rgb),.6)}
.twin-diagram .kit-dam-crest{fill:rgba(var(--signal-rgb),.15);stroke:var(--signal)}
.twin-diagram .kit-level-guides{fill:none;stroke:rgba(var(--signal-rgb),.4)}
.twin-levels{position:relative;min-width:0;color:var(--muted)}
.twin-level{position:absolute;left:0;right:0;display:flex;flex-direction:column;gap:2px;font-size:10px;line-height:1.5;transform:translateY(-50%)}
.level-number{font-family:var(--f-display);font-weight:600;font-size:20px;color:var(--cyan);letter-spacing:.06em}
.level-four{top:15.357%}.level-three{top:32.143%}.level-two{top:48.929%}.level-one{top:65.714%}.level-zero{top:82.5%}
.twin-legend{letter-spacing:0;text-transform:none;display:flex;flex-wrap:wrap;gap:7px 24px;padding:0 20px 17px;color:var(--muted);font-size:10px;line-height:1.5}
.twin-legend>span{display:flex;align-items:center;gap:9px}
.legend-boundary{width:20px;border-top:1px dashed var(--muted)}
.legend-conduit{width:20px;border-top:1px dashed var(--cyan)}
.purdue-twin figcaption{padding:14px 20px;display:flex;gap:4px;flex-direction:column;border-top:1px solid var(--line);font-size:10px;line-height:1.65;color:var(--muted)}
.purdue-twin figcaption>span:first-child{color:var(--text);letter-spacing:.02em}
.section-head{display:flex;gap:20px 48px;align-items:start;justify-content:space-between;padding-block:36px 28px;border-top:1px solid var(--line)}
.section-head h2{max-width:21ch}
.section-head p{font-size:12px;color:var(--muted);max-width:50ch;line-height:1.8}
.section-head .eyebrow{margin-bottom:10px;flex:1;font-size:11px}
.learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;padding-bottom:60px}
.learning-grid article{position:relative;padding:24px 0 0;border-top:1px solid var(--line)}
.learning-grid article::before{content:'';position:absolute;top:-1px;left:0;width:28px;border-top:1px solid var(--cyan)}
.learning-grid h3{margin:12px 0 14px;font-size:25px;max-width:19ch}
.learning-grid p{font-size:12px;line-height:1.85;color:var(--muted)}
.learning-grid .eyebrow,.learning-grid .step-number{font-family:var(--f-display);font-size:15px;color:var(--cyan);letter-spacing:.05em}
.learning-grid a{display:inline-flex;min-height:44px;align-items:center;margin-top:12px;font-size:12px}
.content-page{padding-block:64px 80px;max-width:1280px;margin-inline:auto}
.page-intro{padding-bottom:42px;border-bottom:1px solid var(--line);margin-bottom:38px}
.page-intro .eyebrow,.page-intro .page-index{margin-bottom:20px}
.page-intro h1{max-width:18ch;font-size:clamp(40px,5vw,70px);margin-bottom:22px}
.page-intro>p:not(.eyebrow):not(.page-index){max-width:75ch;color:var(--muted);font-size:14px;line-height:1.85}
.prose{max-width:85ch}
.prose section{margin-block:0 38px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.prose section:last-child{border-bottom:0;margin-bottom:0}
.prose h2{font-size:clamp(25px,3vw,34px);margin-bottom:18px}
.prose h3{font-size:23px;margin-block:26px 14px}
.prose p,.prose li{font-size:13px;color:var(--muted);line-height:1.9}
.prose p+p,.prose p+ul,.prose ul+p{margin-top:16px}
.prose strong{color:var(--text);font-weight:400}
.prose a{color:var(--cyan);overflow-wrap:anywhere}
.prose code{font:inherit;color:var(--text);overflow-wrap:anywhere}
.placeholder{display:inline-block;border:1px dashed var(--muted);padding:4px 9px;font-size:12px;color:var(--text);margin-block:8px;overflow-wrap:anywhere}
.status-note{color:var(--muted);font-size:12px;line-height:1.7;max-width:75ch}
.status-note>span{color:var(--violet);margin-right:6px}
.home-notes{padding-block:8px 52px;max-width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}
.home-notes section{padding-top:26px;border-top:1px solid var(--line);border-bottom:0}
.home-notes h2{font-size:26px}
.home-notes p,.home-notes li{max-width:70ch;font-size:12px}
.return-link{padding-top:10px}
.site-footer{width:min(100%,1720px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px 28px;flex-wrap:wrap;border-top:1px solid var(--line);padding:26px clamp(20px,4vw,72px) 36px;color:var(--muted);font-size:10px;letter-spacing:.03em;line-height:1.7}
.site-footer nav{display:flex;gap:10px 24px;flex-wrap:wrap}
.site-footer a{display:inline-flex;min-height:44px;align-items:center}
.site-footer p{max-width:60ch}
.footer-name{display:block;color:var(--text);font-family:var(--f-display);font-size:18px;letter-spacing:.08em;margin-bottom:4px}
.site-footer .footer-meta{width:100%;max-width:none;padding-top:14px;border-top:1px solid var(--line);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em}
@media(min-width:1800px){.home-intro{padding-top:90px;padding-bottom:72px}.intro-copy h1{font-size:90px}.twin-level{font-size:12px}.twin-top .eyebrow,.simulation-tag,.twin-legend,.purdue-twin figcaption{font-size:11px}}
@media(max-width:1120px){.site-header{gap:20px;flex-wrap:wrap}.brand{margin-right:auto}.primary-nav{order:3;flex-basis:100%;justify-content:flex-start;gap:12px 32px}.site-header{padding-top:16px;padding-bottom:10px}.home-intro{gap:28px;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}h1{font-size:clamp(40px,5.8vw,64px)}.twin-body{grid-template-columns:minmax(0,1fr) 82px;padding-right:12px}.twin-top{padding-inline:12px;gap:10px}.twin-top .eyebrow{font-size:10px;max-width:19ch}.twin-level{font-size:10px}.level-number{font-size:18px}.twin-legend,.purdue-twin figcaption{padding-inline:12px}.learning-grid{gap:24px}}
@media(max-width:800px){.page-layout{grid-template-columns:minmax(0,1fr);gap:30px}.page-index{padding-left:0;border-left:0;border-bottom:1px solid var(--line);padding-bottom:22px}.page-index ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.home-notes{grid-template-columns:minmax(0,1fr);gap:0}.home-intro{grid-template-columns:minmax(0,1fr);padding-top:40px;gap:38px}.intro-copy h1{font-size:clamp(50px,9vw,72px);max-width:12ch}.intro-copy>p:not(.eyebrow):not(.page-index){max-width:60ch;font-size:14px}.intro-copy .status-note{max-width:65ch}.purdue-twin{width:100%;max-width:700px;justify-self:center}.twin-body{grid-template-columns:minmax(0,1fr) 112px;padding-right:20px}.twin-top{margin-bottom:0;padding:18px 20px 0}.twin-top .eyebrow{max-width:none}.twin-level{font-size:12px}.level-number{font-size:22px}.twin-legend,.purdue-twin figcaption{padding-inline:20px}.learning-grid{grid-template-columns:minmax(0,1fr);gap:24px}.learning-grid article{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:18px}.learning-grid article>:first-child{grid-column:1;grid-row:1/4}.learning-grid article>h3,.learning-grid article>p,.learning-grid article>a{grid-column:2}.learning-grid h3{margin-top:0;max-width:none}.learning-grid p{max-width:72ch}.section-head{flex-direction:column;gap:20px}.section-head h2{max-width:none}.section-head p{max-width:65ch}.content-page{padding-top:42px}.page-intro h1{font-size:clamp(40px,7vw,60px)}}
@media(max-width:480px){.page-index ol{grid-template-columns:minmax(0,1fr)}.home-notes{padding-bottom:24px}.site-header{padding-inline:20px;gap:8px 12px}.brand{gap:9px}.brand-text strong{font-size:13px}.brand-text small{font-size:9.5px;letter-spacing:.035em}.brand-mark{width:35px;height:35px;font-size:15px}.brand-text{font-size:14px}.brand-text>span{font-size:10px}.language-switch{padding-left:12px;gap:9px}.primary-nav{column-gap:21px;row-gap:0}.primary-nav a{font-size:10px;letter-spacing:.06em}.home-intro{padding-top:32px;padding-bottom:34px}.intro-copy>.eyebrow{margin-bottom:20px}h1,.intro-copy h1{font-size:clamp(40px,12vw,56px)}.intro-copy h1{margin-bottom:22px}.intro-copy>p:not(.eyebrow):not(.page-index){font-size:13px}.hero-actions{margin-top:26px;gap:10px 22px}.button{padding:12px 17px;font-size:11px}.twin-top{margin-bottom:0;padding:14px 12px 0;align-items:flex-start}.twin-top .eyebrow{max-width:16ch;line-height:1.5}.simulation-tag{font-size:9.5px;letter-spacing:.05em}.twin-body{grid-template-columns:minmax(0,1fr) 75px;padding-right:12px;padding-top:16px}.twin-level{font-size:9.5px;line-height:1.4}.level-number{font-size:16px}.twin-legend{font-size:9.5px;gap:8px 15px;padding:14px 12px}.purdue-twin figcaption{padding-inline:12px;font-size:9.5px}.learning-grid article{grid-template-columns:28px minmax(0,1fr);column-gap:12px}.learning-grid h3{font-size:24px}.content-page{padding-block:32px 50px}.prose p,.prose li{font-size:12px}.site-footer{padding-inline:20px;align-items:flex-start}.site-footer nav{gap:4px 20px}}
@media(max-width:480px){.twin-body{grid-template-columns:minmax(0,1fr);padding-right:0}.twin-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:0 12px 8px}.twin-level{position:static;transform:none;flex-direction:row;align-items:baseline;gap:9px}.level-number{flex-shrink:0}.twin-level>span:last-child{font-size:10px}.twin-legend{border-top:1px solid var(--line)}.brand-text{font-size:12px}.site-header{column-gap:8px}.language-switch{padding-left:8px;gap:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){.twin-diagram :is(path,line,polygon,rect){stroke:CanvasText}.twin-diagram .node .mk{fill:Canvas}.button,.purdue-twin,.site-header,.site-footer{border-color:CanvasText}.simulation-tag,.level-number,.eyebrow{color:CanvasText}}
