:root{--side:278px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}a:hover{text-decoration:underline;text-underline-offset:5px}img{display:block;max-width:100%}figure,p,h1,h2,dl,dd{margin:0}button{font:inherit}.skip-link{position:fixed;z-index:100;left:20px;top:-90px;background:var(--dark);padding:14px}.skip-link:focus{top:15px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);padding:30px 28px 27px 32px;display:flex;flex-direction:column;z-index:20}.wordmark{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:bold;font-size:64px;letter-spacing:-7px;line-height:1}.wordmark:hover{text-decoration:none}.sidebar nav{margin-top:95px}.nav-label{color:var(--muted);font-size:12px;margin-bottom:18px}.sidebar nav a{display:block;margin:9px 0;font-size:13px;letter-spacing:-.2px;line-height:1.45}.sidebar nav a[aria-current]{text-decoration:underline;text-underline-offset:5px}.other-links{margin-top:32px}.sidebar-footer{margin-top:auto;font-size:11px;color:var(--muted)}.sidebar-footer>div{display:flex;gap:19px;margin-top:22px;color:var(--ink)}main{margin-left:var(--side);padding:0 36px 0 24px;max-width:1750px}.intro{padding:105px 0 66px}.eyebrow{font-size:12px;letter-spacing:.025em;line-height:1.5;margin-bottom:23px}.intro h1{font-size:clamp(30px,3.25vw,58px);line-height:1.12;font-weight:400;letter-spacing:-.045em;max-width:1100px;text-wrap:pretty}.home-intro{padding-bottom:62px}.home-intro h1{max-width:1000px}.intro-bottom{margin-top:42px;display:flex;justify-content:space-between;align-items:flex-end;font-size:13px}.intro-bottom p{color:var(--muted)}.project-card{display:block;margin-bottom:64px}.project-card:hover{text-decoration:none}.project-image{position:relative;overflow:hidden;aspect-ratio:1.65;background:var(--surface);display:grid;place-items:center}.project-image img{width:100%;height:100%;object-fit:contain;padding:7%;transition:transform .65s cubic-bezier(.2,.65,.3,1)}.project-card:hover .project-image img{transform:scale(1.025)}.image-psr9000{background:var(--panel-car)}.image-warwolf{background:var(--panel-trebuchet)}.image-wind-turbine{background:var(--panel-wind)}.image-bungee-drop{background:var(--panel-bungee)}.image-arrow{position:absolute;right:25px;bottom:22px;border:1px solid var(--image-line);border-radius:50%;color:var(--image-ink);width:44px;height:44px;display:grid;place-items:center;font-size:25px}.project-caption{display:flex;justify-content:space-between;gap:20px;padding-top:15px;align-items:baseline}.project-caption h2{font-size:17px;font-weight:400;letter-spacing:-.035em}.project-caption h2 span{color:var(--muted)}.project-number{font-size:11px;color:var(--muted)}.closing{padding:50px 0 105px}.closing h2{font-weight:400;font-size:clamp(36px,5.5vw,86px);line-height:1.08;letter-spacing:-.05em;margin-bottom:30px}.closing>a{font-size:16px}.page-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:22px 0 28px;font-size:11px;color:var(--muted)}.case-intro{padding-bottom:53px}.case-intro h1{font-size:clamp(28px,2.8vw,46px);max-width:1120px;line-height:1.14}.project-meta{display:grid;grid-template-columns:1.1fr 1.5fr 1.1fr .6fr;gap:24px;margin-top:45px;font-size:12px}.project-meta dt{color:var(--muted);margin-bottom:5px}.resource-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:28px;font-size:12px}.case-hero{aspect-ratio:1.65;display:grid;place-items:center}.case-hero img{width:100%;height:100%;object-fit:contain;padding:6%}.story-section{padding-top:84px}.story-copy{display:grid;grid-template-columns:1fr 2.2fr;gap:28px;padding-bottom:34px}.story-copy>.eyebrow{color:var(--muted)}.story-copy h2{font-size:clamp(27px,2.8vw,40px);line-height:1.1;font-weight:400;letter-spacing:-.04em;margin-bottom:22px}.story-copy>div>p{max-width:650px;color:var(--ink);font-size:16px;line-height:1.6}.gallery{display:grid;grid-template-columns:1fr;gap:20px}.gallery.paired{grid-template-columns:1fr 1fr}.gallery figure{min-width:0}.gallery img{width:100%;height:520px;object-fit:contain;background:var(--surface);padding:4%}.gallery.paired img{height:400px}.gallery figcaption{font-size:11px;color:var(--muted);margin-top:10px}.next-project{display:block;margin:100px 0 55px;border-top:1px solid var(--line);padding-top:30px}.next-project:hover{text-decoration:none}.next-project>.eyebrow{display:block}.next-project>span:last-child{font-size:clamp(38px,5vw,75px);letter-spacing:-.05em;display:flex;justify-content:space-between;align-items:center;gap:15px}.about-lead{font-size:20px;max-width:740px;line-height:1.5;margin-top:35px}.about-details{border-top:1px solid var(--line);padding:55px 0 75px;display:grid;grid-template-columns:1fr 1.4fr;gap:40px}.about-details h2{font-weight:400;font-size:55px;line-height:1.1;letter-spacing:-.05em}.about-details dl>div{padding:15px 0;border-bottom:1px solid var(--line)}.about-details dt{font-size:12px;color:var(--muted);margin-bottom:6px}.mobile-bar{display:none}
@media(min-width:1700px){main{padding-right:60px;padding-left:55px}.sidebar{padding-left:40px}.intro{padding-top:125px}}
@media(max-width:1050px){:root{--side:235px}.sidebar{padding-left:24px;padding-right:20px}.sidebar nav a{font-size:12px}main{padding-right:26px;padding-left:12px}.project-meta{grid-template-columns:1fr 1fr}.gallery.paired img{height:300px}}
@media(max-width:760px){html{scroll-padding-top:100px}.mobile-bar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:17px 20px;background:var(--bg);z-index:40}.wordmark{font-size:49px;letter-spacing:-5px}.desktop-mark{display:none}.menu-toggle{border:0;width:44px;height:44px;border-radius:50%;background:var(--dark);color:var(--ink);display:grid;align-content:center;justify-content:center;gap:6px;cursor:pointer}.menu-toggle span{display:block;width:16px;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.sidebar{display:none;inset:82px 0 0;width:100%;background:var(--bg);padding:30px 25px;z-index:35}.sidebar.is-open{display:flex}.sidebar nav{margin-top:0}.sidebar nav a{font-size:21px;margin:16px 0}.nav-label{font-size:12px}.sidebar-footer{font-size:13px}main{margin-left:0;padding:0 20px}.intro{padding-top:45px;padding-bottom:42px}.intro h1{font-size:clamp(31px,6.5vw,46px);line-height:1.14;letter-spacing:-.045em}.eyebrow{font-size:11px;margin-bottom:20px}.intro-bottom{margin-top:30px;font-size:12px}.project-card{margin-bottom:40px}.project-image{aspect-ratio:1.22}.project-caption h2{font-size:15px}.project-caption h2 span{display:block;font-size:12px;margin-top:3px;letter-spacing:0}.image-arrow{right:14px;bottom:14px;width:34px;height:34px;font-size:20px}.closing{padding:30px 0 65px}.closing h2{font-size:45px}.page-footer{font-size:10px;gap:14px}.page-footer a:last-child{display:none}.case-intro h1{font-size:29px}.project-meta{font-size:11px;gap:20px 16px;margin-top:30px}.resource-links{gap:14px 22px;font-size:11px;margin-top:25px}.case-hero{aspect-ratio:1.2}.story-section{padding-top:52px}.story-copy{grid-template-columns:1fr;gap:0;padding-bottom:25px}.story-copy h2{font-size:29px}.story-copy>div>p{font-size:15px;line-height:1.55}.gallery.paired{grid-template-columns:1fr}.gallery img,.gallery.paired img{height:330px}.gallery figcaption{line-height:1.4}.next-project{margin-top:65px;margin-bottom:35px}.next-project>span:last-child{font-size:42px}.about-lead{font-size:18px}.about-details{grid-template-columns:1fr;gap:25px;padding:35px 0 45px}.about-details h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.wordmark,.eyebrow{color:var(--accent)}a:hover{color:var(--accent)}.sidebar nav a[aria-current]{color:var(--accent)}.project-card:hover .project-caption h2{color:var(--accent)}.menu-toggle{color:var(--accent)}.image-arrow{background:var(--surface)}.model-section{margin-top:5px}.model-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:23px}.model-heading .eyebrow{margin-bottom:12px}.model-heading h2{font-size:clamp(30px,3vw,46px);font-weight:400;letter-spacing:-.04em;line-height:1.1}.model-reset{border:0;border-bottom:1px solid var(--line);padding:8px 0;background:none;color:var(--ink);font:inherit;font-size:12px;cursor:pointer}.model-reset:disabled{opacity:.4;cursor:default}.model-stage{position:relative;width:100%;height:clamp(360px,48vw,680px);background:var(--panel-car);overflow:hidden}.model-stage model-viewer{position:absolute;inset:0;width:100%;height:100%;--progress-bar-color:var(--image-ink);--progress-bar-height:3px}.model-poster{position:absolute;inset:0;padding:6%;display:grid;place-items:center;background:var(--panel-car)}.model-poster[hidden]{display:none}.model-poster>img{width:100%;height:100%;object-fit:contain}.model-load{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;gap:40px;align-items:center;justify-content:center;border:0;border-radius:2px;padding:15px 22px;min-width:200px;background:var(--dark);color:var(--ink);font:inherit;font-size:14px;cursor:pointer;box-shadow:0 5px 22px #0002}.model-load:hover{color:var(--accent)}.model-load:disabled{cursor:progress}.model-caption{display:flex;justify-content:space-between;gap:15px;margin-top:14px;font-size:11px;color:var(--muted)}.model-caption>p{max-width:65%}@media(max-width:760px){.model-heading{align-items:center}.model-heading h2{font-size:30px}.model-reset{font-size:11px}.model-stage{height:380px}.model-load{bottom:18px}.model-caption{flex-direction:column;gap:5px}.model-caption>p{max-width:none}}
.model-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.model-states{display:flex;gap:5px;flex-wrap:wrap}.model-states button,.model-label-toggle,.model-components button{font:inherit;font-size:12px;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 14px;border-radius:2px}.model-states button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--dark)}.model-states button:disabled{opacity:.5;cursor:wait}.model-label-toggle{border:0;padding-right:0;color:var(--accent)}.model-state-description{font-size:12px;color:var(--muted);margin:14px 0 18px;min-height:18px}.model-poster>p{color:var(--image-ink);font-size:15px}.model-load[hidden]{display:none}.model-inspector{padding:22px 0 0}.model-inspector[hidden]{display:none}.model-components{display:flex;gap:7px;flex-wrap:wrap}.model-components button{font-size:11px;padding:8px 11px}.model-components button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.model-detail{padding-top:19px;max-width:650px;min-height:105px}.model-detail h3{margin:0 0 8px;font-size:20px;font-weight:400;letter-spacing:-.02em}.model-detail>p{font-size:14px;line-height:1.6;color:var(--muted)}.model-hotspot{position:relative;display:flex;align-items:center;gap:0;padding:0;background:transparent;border:0;cursor:pointer;color:var(--image-ink);font:inherit;--min-hotspot-opacity:.2}.hotspot-number{display:grid;place-items:center;min-width:27px;height:27px;border-radius:50%;background:var(--dark);color:var(--accent);font-size:12px;border:1px solid var(--accent);box-shadow:0 2px 8px #0003}.hotspot-label{display:none;position:absolute;left:34px;top:0;background:var(--dark);color:var(--ink);font-size:11px;padding:6px 9px;white-space:nowrap;border-radius:2px;pointer-events:none}.model-hotspot.is-active .hotspot-number{background:var(--accent);color:var(--dark)}.model-hotspot.is-active .hotspot-label{display:block}.labels-off .model-hotspot{display:none}.model-hotspot:not([data-visible]){opacity:.3}@media(max-width:760px){.model-states button{padding:9px 10px;font-size:11px}.model-label-toggle{font-size:11px}.model-tools{gap:7px}.model-stage{height:380px}.model-detail{min-height:125px}.model-detail h3{font-size:19px}.model-hotspot .hotspot-label{display:none!important}.hotspot-number{min-width:25px;height:25px;font-size:11px}}
.model-reset{white-space:nowrap}

/* Bungee measured-data explorer */
.bungee-explorer{margin:0 0 100px;border-top:1px solid var(--line);padding-top:35px}
.data-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}
.data-heading h2{font-size:clamp(28px,3vw,42px);font-weight:400;letter-spacing:-.04em;margin:12px 0 0}
.data-heading>p{color:var(--muted);font-size:14px;line-height:1.6}
.data-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:16px 0;border-top:1px solid var(--line)}
.data-toolbar button,.data-toolbar select{font:inherit;font-size:13px;color:var(--ink);border:1px solid var(--line);border-radius:5px;background:var(--dark);padding:10px 14px;cursor:pointer}
.data-modes{display:flex;gap:4px}.data-modes button[aria-pressed=true]{background:var(--accent);color:var(--dark);border-color:var(--accent)}
.data-toolbar label{font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center}
#data-reset{margin-left:auto}.data-plot{height:540px;min-width:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--dark)}
.data-loading{padding:40px;color:var(--muted)}.data-readout{display:flex;justify-content:space-between;gap:20px;font-size:13px;padding:20px 0 8px;color:var(--accent);font-variant-numeric:tabular-nums}
#point-readout{color:var(--ink)}.data-help{color:var(--muted);font-size:12px}.data-notes{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;max-width:820px;font-size:13px;color:var(--muted);line-height:1.7}
.data-notes a{color:var(--accent)}.data-notes code{font-size:11px}.data-table{margin-top:25px;font-size:13px}.data-table summary{cursor:pointer;color:var(--accent);padding:15px 0}.data-table-scroll{max-height:350px;overflow:auto}.data-table table{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}.data-table th,.data-table td{padding:12px;border-bottom:1px solid var(--line)}.data-table caption{text-align:left;padding:15px;color:var(--muted)}
@media(max-width:700px){.data-heading{display:block}.data-heading>p{margin-top:18px}.data-plot{height:430px}.data-readout{flex-direction:column;gap:10px}.data-toolbar{gap:10px}#data-reset{margin-left:0}.data-toolbar label{flex-wrap:wrap}.bungee-explorer{margin-bottom:60px}.data-table th,.data-table td{padding:10px 5px;font-size:11px}}

/* Report summaries */
.home-summary{max-width:700px;margin-top:30px;color:var(--muted);font-size:18px;line-height:1.6}
.case-summary{max-width:780px;margin-top:35px}.case-summary>.eyebrow{margin-bottom:14px}.case-summary>p:last-child{font-size:20px;line-height:1.6}
.case-intro h1{font-size:clamp(48px,6vw,88px)}
.gallery:empty{display:none}
@media(max-width:760px){.case-intro h1{font-size:44px}.case-summary>p:last-child,.home-summary{font-size:17px}.case-summary{margin-top:28px}}

/* Use the supplied transparent PNG unchanged; frame its visible artwork. */
.brand-mark{--brand-width:84px;position:relative;display:block;flex:none;width:var(--brand-width);height:calc(var(--brand-width) * 478 / 440);overflow:hidden;line-height:0}
.brand-mark img{position:absolute;max-width:none;width:calc(var(--brand-width) * 800 / 440);height:auto;left:calc(var(--brand-width) * -153 / 440);top:calc(var(--brand-width) * -85 / 440)}
.sidebar nav{margin-top:68px}
@media(max-width:760px){.brand-mark{--brand-width:45px}.desktop-mark{display:none}.sidebar nav{margin-top:0}}
/* Full viewport project covers and navigation opened on request. */
html{scroll-padding-top:110px}
.mobile-bar{position:fixed;inset:0 0 auto;z-index:80;display:flex;align-items:center;justify-content:space-between;padding:24px 36px;background:none;pointer-events:none}
.mobile-bar>a,.mobile-bar>button{pointer-events:auto}.mobile-bar .brand-mark{--brand-width:50px;filter:drop-shadow(0 2px 8px #0005)}
.menu-toggle{display:flex;align-items:center;justify-content:center;gap:16px;width:auto;height:48px;padding:0 20px;border:1px solid var(--line);border-radius:30px;background:var(--bg);color:var(--ink);cursor:pointer}
.menu-toggle .menu-word{display:block;width:auto;height:auto;background:none;font-size:12px;text-transform:uppercase;letter-spacing:.1em;transition:none}
.menu-toggle .menu-lines{display:grid;gap:5px;width:17px;height:auto;background:none}.menu-lines i{display:block;width:17px;height:1px;background:var(--accent);transition:transform .2s}
.menu-toggle[aria-expanded=true] span:first-child,.menu-toggle[aria-expanded=true] span:last-child{transform:none}
.menu-toggle[aria-expanded=true] .menu-lines i:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines i:last-child{transform:translateY(-3px) rotate(-45deg)}
.sidebar{inset:0;width:100%;height:100dvh;display:none;background:var(--bg);padding:125px clamp(28px,8vw,140px) 35px;z-index:70;overflow:auto}
.sidebar[hidden]{display:none!important}.sidebar.is-open{display:flex}.sidebar .desktop-mark{display:none}.sidebar nav{margin:0}
.sidebar nav a{font-size:clamp(22px,3.8vw,55px);line-height:1.2;letter-spacing:-.04em;margin:12px 0}.sidebar .other-links{margin-top:30px}.sidebar .other-links a{font-size:clamp(19px,2vw,28px)}.sidebar-footer{padding-top:35px;font-size:12px}.sidebar-footer>div{margin-top:14px}
main{margin-left:0;max-width:1440px;margin-inline:auto;padding-inline:clamp(24px,6vw,100px)}.intro{padding-top:160px}
.home-page{max-width:none;padding:0}.home-page>.page-footer,.home-page>.closing{margin-inline:clamp(24px,6vw,100px)}
.home-cover{position:relative;height:100svh;min-height:640px;overflow:hidden;background:var(--bg)}
.cover-intro{position:absolute;top:125px;left:4vw;right:4vw;z-index:1;pointer-events:none}.cover-intro .eyebrow{margin-bottom:8px}
.cover-intro h1{font-size:17.6vw;font-weight:800;line-height:.85;letter-spacing:-.085em;white-space:nowrap;color:var(--ink)}
.car-cover{position:absolute;inset:25% 0 10%;display:block;z-index:2;overflow:visible}.car-cover model-viewer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;--poster-color:transparent}
.car-cover-poster{position:absolute;width:65%;height:90%;left:18%;object-fit:contain;mix-blend-mode:screen;opacity:.2}.car-cover.is-loaded .car-cover-poster{opacity:0}
.cover-caption{position:absolute;left:4vw;right:4vw;bottom:-3%;display:flex;align-items:end;justify-content:space-between;gap:20px;color:var(--ink)}
.cover-caption .eyebrow{display:block;margin-bottom:6px;color:var(--accent)}.cover-caption strong{font-size:clamp(30px,4vw,65px);font-weight:400;letter-spacing:-.055em;line-height:1}
.cover-link{font-size:14px;border-bottom:1px solid var(--accent);padding-bottom:9px}.cover-scroll{position:absolute;right:4vw;bottom:24px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;z-index:3}
.home-projects{scroll-margin-top:0}.immersive-project{position:relative;height:100svh;min-height:640px;display:block;overflow:hidden;border-top:1px solid var(--line)}.immersive-project.is-project-hover{text-decoration:none}
.immersive-art{position:absolute;inset:0;overflow:hidden;display:grid;place-items:center}.immersive-art img{width:100%;height:100%;object-fit:contain;transition:transform 1s cubic-bezier(.2,.65,.3,1)}.immersive-project.is-project-hover .immersive-art img{transform:scale(1.025)}
.warwolf-cover{background:var(--accent);color:var(--bg)}.warwolf-cover .immersive-art{inset:0 0 7%}.warwolf-cover .immersive-art img{width:95%;height:100%;mix-blend-mode:multiply;object-fit:contain}
.immersive-number{position:absolute;left:4vw;top:11%;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.immersive-caption{position:absolute;bottom:5%;left:4vw;right:4vw;display:flex;align-items:end;justify-content:space-between;gap:20px}.immersive-caption h2{font-size:clamp(46px,10vw,160px);font-weight:800;letter-spacing:-.075em;line-height:.9}.immersive-caption>span{white-space:nowrap;font-size:13px;margin-bottom:6px}
.warwolf-cover.is-project-hover{color:var(--bg)}.bungee-cover{background:var(--bg);color:var(--ink)}.bungee-cover .immersive-art{inset:5% 0 10%}.bungee-cover .immersive-art img{width:100%;height:100%;object-fit:contain}.bungee-cover .immersive-number{color:var(--accent);top:5%}
.home-about{padding:110px 6vw;display:grid;grid-template-columns:1fr 3fr;gap:30px}.home-about h2{font-size:clamp(30px,4.5vw,72px);font-weight:400;line-height:1.1;letter-spacing:-.05em;max-width:1000px}.home-about>div{grid-column:2;display:flex;justify-content:space-between;gap:35px;font-size:14px;color:var(--muted);line-height:1.6}.home-about>div p{max-width:530px}.home-about>div a{color:var(--accent);white-space:nowrap}
@media(max-width:760px){
 .mobile-bar{padding:16px 20px}.mobile-bar .brand-mark{--brand-width:42px}.menu-toggle{height:42px;padding:0 16px;gap:12px}.menu-toggle .menu-word{font-size:10px}
 .sidebar{inset:0;padding:110px 25px 30px;height:100dvh}.sidebar nav a{font-size:26px;margin:17px 0}.sidebar .other-links a{font-size:21px}.sidebar-footer{padding-top:25px}main{padding-inline:22px}.intro{padding-top:120px}.home-page{padding:0}
 .home-cover{height:100svh;min-height:600px}.cover-intro{top:120px;left:22px;right:22px}.cover-intro h1{font-size:17vw;letter-spacing:-.075em}.cover-intro .eyebrow{font-size:10px}.car-cover{inset:28% -20% 20%}.car-cover-poster{width:90%;left:5%}
 .car-cover .cover-caption{left:calc(14.286% + 22px);right:calc(14.286% + 22px);bottom:-19%;align-items:end}.cover-caption strong{font-size:36px}.cover-caption .eyebrow{font-size:9px}.cover-link{font-size:11px}.cover-scroll{right:22px;bottom:22px;font-size:10px}
 .immersive-project{height:100svh;min-height:600px}.immersive-number{left:22px;top:13%;font-size:10px}.immersive-caption{left:22px;right:22px;bottom:6%;display:block}.immersive-caption h2{font-size:13vw;margin-bottom:18px}.immersive-caption>span{font-size:12px}.warwolf-cover .immersive-art{inset:12% -25% 20%}.warwolf-cover .immersive-art img{width:100%;height:100%}
 .bungee-cover .immersive-art{inset:12% -25% 20%}.bungee-cover .immersive-number{top:12%}.home-about{padding:75px 24px;display:block}.home-about h2{font-size:36px}.home-about>div{display:block;margin-top:25px}.home-about>div a{display:inline-block;margin-top:20px}
}
@media(prefers-reduced-motion:reduce){.immersive-art img{transition:none}}

html:has(.home-page){scroll-padding-top:0}
/* Each homepage item is one viewport and one native scroll-snap stop. */
html:has(.home-page){scroll-snap-type:y mandatory;scroll-padding:0}
.home-cover,.home-projects>.immersive-project,.home-about{height:100svh;min-height:0;scroll-snap-align:center;scroll-snap-stop:always;scroll-margin:0}
.home-projects{display:contents}
.home-about{padding:120px 6vw 24px;grid-template-columns:1fr 3fr;grid-template-rows:auto auto 1fr auto;gap:24px;overflow:auto}
.home-about>h2{font-size:clamp(30px,4.2vw,64px)}
.home-about>.home-about-copy{grid-column:2;display:flex;justify-content:space-between;gap:30px;align-items:start}
.home-about>.home-contact{grid-column:2;display:block;align-self:center}.home-contact .eyebrow{margin-bottom:12px}.home-contact>a{font-size:clamp(22px,3vw,44px);letter-spacing:-.04em;color:var(--accent)}
.home-about>.page-footer{grid-column:1/-1;width:100%;margin:0;align-self:end}
.bungee-cover .bungee-live-art{inset:11% 6% 20%;pointer-events:none}
#home-bungee-plot{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.bungee-live-art .home-bungee-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.bungee-live-art.is-loaded .home-bungee-poster{display:none}
.home-pagination{position:fixed;right:12px;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:4px}
.home-pagination a{display:grid;place-items:center;width:32px;height:28px;border-radius:20px;background:color-mix(in srgb,var(--bg) 70%,transparent)}
.home-pagination span{display:block;width:6px;height:6px;border-radius:50%;background:var(--muted)}.home-pagination a[aria-current] span{background:var(--accent);box-shadow:0 0 0 3px var(--line)}
body:has(.sidebar.is-open) .home-pagination{visibility:hidden}
@media(max-width:760px){
 .home-about{display:flex;flex-direction:column;gap:20px;padding:110px 24px 16px}.home-about>.eyebrow{margin:0}.home-about>h2{font-size:clamp(25px,7vw,36px)}
 .home-about>.home-about-copy{display:block;margin:0;font-size:13px}.home-about>.home-about-copy a{margin-top:12px}.home-about>.home-contact{display:block;margin:0;align-self:start}.home-contact .eyebrow{margin-bottom:8px}.home-contact>a{font-size:22px}.home-about>.page-footer{margin-top:auto;font-size:9px;padding:16px 0 0}
 .bungee-cover .bungee-live-art{inset:13% -12% 22%}.home-pagination{right:5px}.home-pagination a{width:25px;height:25px}
}
@media(max-height:620px){.home-about{height:auto;min-height:100svh}.cover-intro{top:95px}.cover-intro h1{font-size:min(17vw,28vh)}}
@media(prefers-reduced-motion:reduce){html:has(.home-page){scroll-behavior:auto}}

.bungee-cover .immersive-number,.warwolf-cover .immersive-number{top:110px}
/* One display style for project titles on covers and project pages. */
.cover-caption strong,.immersive-caption h2,.case-intro h1,.next-project>span:last-child{
 font-family:Arial,Helvetica,sans-serif;font-size:clamp(46px,10vw,160px);font-weight:800;letter-spacing:-.075em;line-height:.9;text-transform:uppercase;
}
.car-cover{inset:0}
.car-cover model-viewer{inset:12% 0 12%;width:100%;height:76%;--progress-bar-height:0}
.cover-caption{bottom:5%;left:4vw;right:4vw}
.cover-caption>span:first-child{display:block}.cover-caption .eyebrow{margin-bottom:14px}
.case-intro h1{max-width:none}.case-summary{margin-top:40px}
@media(max-width:760px){
 .cover-caption strong,.immersive-caption h2,.case-intro h1,.next-project>span:last-child{font-size:13vw}
 .car-cover{inset:0}.car-cover model-viewer{inset:22% 0 22%;width:100%;height:56%}
 .car-cover .cover-caption{left:22px;right:22px;bottom:6%;display:block}
 .cover-caption>span:first-child{margin-bottom:18px}.cover-caption .eyebrow{margin-bottom:10px}
 .cover-link{display:inline-block}.cover-scroll{bottom:14px;font-size:9px}
 .case-summary{margin-top:30px}
}

/* Shared control styling. All colors derive from theme.css. */
:root{--control-bg:color-mix(in srgb,var(--ink) 5%,var(--bg));--control-hover:color-mix(in srgb,var(--ink) 10%,var(--bg));--control-radius:12px;--control-ring:color-mix(in srgb,var(--accent) 28%,transparent)}
:where(a,button,select,summary){-webkit-tap-highlight-color:transparent;touch-action:manipulation}
:where(a,button,select,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
:where(button,select,summary){transition:background .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s}
button:disabled{cursor:wait;opacity:.45;box-shadow:none}
.brand-mark{border-radius:8px;transition:transform .2s}.brand-mark:hover{transform:rotate(-4deg) scale(1.04)}
/* Main actions and downloads. */
.resource-links{gap:10px;margin-top:30px}
.resource-links a,.data-notes>a,.home-about-copy>a,.home-contact>a,.closing>a,.page-footer a,.sidebar-footer a{
 display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 19px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--control-bg);color:var(--ink);font-size:13px;font-weight:500;line-height:1.25;text-decoration:none;gap:12px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;
}
.resource-links a:first-child,.data-notes>a{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700}
.resource-links a:hover,.data-notes>a:hover,.home-about-copy>a:hover,.home-contact>a:hover,.closing>a:hover,.page-footer a:hover,.sidebar-footer a:hover{border-color:var(--accent);background:var(--control-hover);color:var(--ink);text-decoration:none;box-shadow:0 4px 18px color-mix(in srgb,var(--dark) 25%,transparent);transform:translateY(-2px)}
.resource-links a:first-child:hover,.data-notes>a:hover{background:color-mix(in srgb,var(--accent) 85%,var(--ink));color:var(--bg)}
.resource-links a:active,.data-notes>a:active,.home-about-copy>a:active,.home-contact>a:active,.closing>a:active,.page-footer a:active{transform:translateY(0);box-shadow:none}
.home-about>.home-about-copy a{margin-top:0}.home-about>.home-contact>a{font-size:clamp(16px,2.2vw,28px);letter-spacing:-.025em;white-space:normal;overflow-wrap:anywhere;padding:16px 22px}
.closing>a{font-size:clamp(16px,2vw,25px);padding:17px 24px;letter-spacing:-.025em}
.page-footer{align-items:center;gap:12px}.page-footer a{min-height:40px;padding:10px 14px;font-size:11px}.sidebar-footer>div{gap:10px}.sidebar-footer a{min-height:42px;font-size:12px;padding:10px 16px}
/* Project covers retain one accessible link with a styled action inside. */
.cover-link,.immersive-caption>span{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;border:1px solid var(--accent);border-radius:var(--control-radius);background:var(--accent);color:var(--bg);font-size:13px;font-weight:700;line-height:1.2;margin:0;white-space:nowrap;box-shadow:0 4px 20px color-mix(in srgb,var(--dark) 20%,transparent);transition:transform .18s,background .18s,box-shadow .18s}
.car-cover.is-project-hover,.immersive-project.is-project-hover{text-decoration:none}
.car-cover.is-project-hover .cover-link,.immersive-project.is-project-hover .immersive-caption>span{transform:translateY(-3px);background:color-mix(in srgb,var(--accent) 85%,var(--ink));box-shadow:0 8px 24px color-mix(in srgb,var(--dark) 30%,transparent)}
.car-cover.is-project-hover,.immersive-project.is-project-hover{outline-offset:-6px}
.warwolf-cover .immersive-caption>span{background:var(--bg);border-color:var(--bg);color:var(--ink)}
.warwolf-cover.is-project-hover .immersive-caption>span{background:var(--dark);color:var(--accent)}
.cover-scroll{top:100px;bottom:auto;right:4vw;min-height:40px;padding:11px 16px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--control-bg);color:var(--ink);font-size:10px;font-weight:600;letter-spacing:.05em;text-decoration:none;transition:background .18s,border-color .18s}
.cover-scroll:hover{background:var(--control-hover);border-color:var(--accent);text-decoration:none}
/* Navigation rows, menu trigger, and section indicator. */
.menu-toggle{min-height:48px;padding:0 20px;background:var(--control-bg);box-shadow:0 4px 24px color-mix(in srgb,var(--dark) 20%,transparent);transition:border-color .18s,background .18s}
.menu-toggle:hover{background:var(--control-hover);border-color:var(--accent)}.menu-toggle[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--control-ring)}
.sidebar nav>a,.sidebar .other-links>a{padding:17px 22px;border:1px solid var(--line);border-radius:16px;background:var(--control-bg);text-decoration:none;transition:background .18s,border-color .18s,transform .18s;min-height:48px}
.sidebar nav>a{display:flex;align-items:center;justify-content:space-between;gap:24px}.sidebar nav>a::after{content:none}
.sidebar nav a:hover{background:var(--control-hover);border-color:var(--accent);transform:translateX(4px);text-decoration:none}.sidebar nav a[aria-current]{border-color:var(--accent);color:var(--accent);text-decoration:none}
.sidebar .other-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.sidebar .other-links a{font-size:20px;margin:0}
.home-pagination{padding:6px;gap:5px;border:1px solid var(--line);border-radius:30px;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(12px)}
.home-pagination a{width:30px;height:30px;background:transparent;border-radius:50%;transition:background .18s,transform .18s}.home-pagination a:hover{background:var(--control-hover);transform:scale(1.08)}.home-pagination a[aria-current]{background:var(--accent)}.home-pagination a[aria-current] span{background:var(--bg);box-shadow:none}.home-pagination a:focus-visible{outline-offset:1px}
/* Viewer and data controls share the same selected/disabled states. */
.model-tools{gap:12px;align-items:center}.model-states,.data-modes{display:flex;flex-wrap:wrap;gap:4px;padding:5px;border:1px solid var(--line);border-radius:16px;background:var(--dark)}
.model-states button,.data-modes button{min-height:44px;padding:11px 15px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap}
.model-states button:hover:not(:disabled),.data-modes button:hover{background:var(--control-hover);color:var(--ink)}
.model-states button[aria-pressed=true],.data-modes button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg);box-shadow:0 2px 8px color-mix(in srgb,var(--dark) 30%,transparent)}
.model-reset,.model-label-toggle,#data-reset,.model-load{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 16px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--control-bg);color:var(--ink);font-size:12px;font-weight:600;line-height:1.2;cursor:pointer}
.model-reset:hover:not(:disabled),.model-label-toggle:hover,#data-reset:hover,.model-load:hover:not(:disabled){border-color:var(--accent);background:var(--control-hover);color:var(--accent)}
.model-label-toggle[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--bg));color:var(--accent)}
.model-components{gap:8px}.model-components button{min-height:40px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--control-bg);color:var(--muted);font-size:12px;font-weight:500;line-height:1.3;text-align:left}
.model-components button:hover{border-color:var(--accent);color:var(--ink);background:var(--control-hover)}.model-components button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 12%,var(--bg));color:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}
.model-inspector{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--ink) 2%,var(--bg))}.model-detail{margin-top:18px;border-top:1px solid var(--line);padding-top:18px;min-height:0;max-width:800px}
.hotspot-number{box-shadow:0 3px 12px color-mix(in srgb,var(--dark) 35%,transparent);border-width:2px}.hotspot-label{border:1px solid var(--line);border-radius:8px;padding:7px 10px;box-shadow:0 4px 16px color-mix(in srgb,var(--dark) 25%,transparent)}
.data-toolbar{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--control-bg);margin-bottom:14px;gap:14px}.data-toolbar label{font-size:12px;font-weight:500;gap:10px}.data-toolbar select{min-height:44px;border-radius:var(--control-radius);padding:11px 14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:13px;color-scheme:dark;cursor:pointer}.data-toolbar select:hover{border-color:var(--accent)}
.data-table summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:15px 18px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--control-bg);color:var(--ink);font-size:13px;font-weight:600;list-style:none;cursor:pointer}.data-table summary::-webkit-details-marker{display:none}.data-table summary::after{content:'+';color:var(--accent);font-size:22px;line-height:1}.data-table[open] summary::after{content:'−'}.data-table summary:hover{border-color:var(--accent);background:var(--control-hover)}.data-table-scroll{border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px}.data-table[open] summary{border-radius:12px 12px 0 0}
.next-project{padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--control-bg);transition:background .2s,border-color .2s}.next-project:hover{background:var(--control-hover);border-color:var(--accent);text-decoration:none}.next-project>span:last-child>span{font-weight:400;color:var(--accent)}
@media(max-width:760px){
 .resource-links{gap:8px}.resource-links a{font-size:12px;padding:12px 15px;min-height:44px}.page-footer{gap:10px}.page-footer a{min-height:44px;padding:10px 12px;font-size:10px}
 .home-about>.home-about-copy a{margin-top:12px}.home-about>.home-contact>a{font-size:18px;padding:14px 17px}.closing>a{font-size:17px;padding:15px 18px}
 .cover-scroll{top:80px;bottom:auto;right:22px;min-height:32px;font-size:9px;padding:8px 11px}.cover-link,.immersive-caption>span{min-height:44px;font-size:12px;padding:12px 17px}.car-cover .cover-caption>span:first-child{margin-bottom:14px}.cover-caption{align-items:end}
 .menu-toggle{min-height:44px;height:44px;padding:0 16px}.sidebar nav>a{font-size:23px;padding:15px 16px;gap:14px}.sidebar nav>a::after{width:34px;height:34px;font-size:20px}.sidebar .other-links>a{font-size:18px;padding:12px 18px}.sidebar-footer>div{margin-top:12px}
 .home-pagination{right:8px;padding:4px;gap:3px}.home-pagination a{width:26px;height:26px}
 .model-tools{gap:10px}.model-states{gap:4px;padding:4px}.model-states button{min-height:44px;font-size:11px;padding:10px 12px}.model-reset,.model-label-toggle,#data-reset{font-size:11px;padding:10px 13px}.model-heading{gap:14px}.model-components button{min-height:44px;font-size:11px;padding:10px 12px}.model-inspector{padding:15px}.model-detail{min-height:0}
 .data-toolbar{padding:12px;gap:12px}.data-toolbar label{flex:1;justify-content:space-between}.data-toolbar select{flex:1;max-width:170px}.data-modes{padding:4px}.data-modes button{padding:10px 14px}.data-toolbar #data-reset{margin-left:0}.next-project{padding:23px}
}
@media(prefers-reduced-motion:reduce){:where(a,button,select,summary),.cover-link,.immersive-caption>span{transition:none!important}.brand-mark:hover,.resource-links a:hover,.home-about-copy>a:hover,.home-contact>a:hover,.closing>a:hover,.sidebar nav a:hover,.car-cover.is-project-hover .cover-link,.immersive-project.is-project-hover .immersive-caption>span{transform:none}}

a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.model-states button[aria-pressed=true]:hover:not(:disabled),.data-modes button[aria-pressed=true]:hover{background:color-mix(in srgb,var(--accent) 85%,var(--ink));color:var(--bg)}
/* Assembly and subsystem inspection */
.model-view-controls{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}
.model-view-group{display:flex;flex-direction:column;gap:8px}.model-view-group>.eyebrow{margin:0;font-size:10px;letter-spacing:.12em}
.model-view-controls>.model-label-toggle{margin-left:auto;min-height:46px}
.inventory-mode .model-hotspot:not(.is-active){display:none}
.model-components:has(.component-group){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px}
.component-group{border:1px solid var(--line);border-radius:12px;background:var(--control-bg);min-width:0}
.component-group summary{padding:13px 16px;min-height:46px;cursor:pointer;font-size:13px;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:12px}
.component-group summary::-webkit-details-marker{display:none}.component-group summary:after{content:'+';color:var(--accent)}.component-group[open] summary:after{content:'−'}
.component-group summary:hover{color:var(--accent)}.component-group-items{padding:0 10px 10px;display:flex;flex-wrap:wrap;gap:6px}
.component-group-items button{flex:1 1 170px}
.model-geometry{margin-top:18px;border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--dark);min-width:0}.model-geometry[hidden]{display:none}
.model-inspector:has(.model-geometry:not([hidden])){display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.model-inspector:has(.model-geometry:not([hidden]))>.model-components{grid-column:1/-1}.model-geometry>.eyebrow{margin:0 0 8px}.model-geometry svg{display:block;width:100%;max-height:260px}
.geometry-lines{fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.geometry-lines .reference{stroke:var(--line);stroke-dasharray:6 5}.geometry-lines .axis{stroke:var(--accent);stroke-width:3}.geometry-lines .joint{fill:var(--accent);stroke:var(--dark)}.geometry-lines .angle{stroke:var(--accent)}.geometry-lines text{fill:var(--muted);stroke:none;font:11px Arial,sans-serif}
.geometry-note{font-size:11px!important;line-height:1.5;color:var(--muted);margin:8px 0 12px}.geometry-source{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;font-size:11px;color:var(--muted)}.geometry-source:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:760px){.model-view-controls{gap:12px}.model-view-group{width:100%}.model-view-controls>.model-label-toggle{margin-left:0}.model-components:has(.component-group){grid-template-columns:1fr}.model-inspector:has(.model-geometry:not([hidden])){grid-template-columns:1fr;gap:0}.model-geometry{padding:12px}.component-group-items button{flex-basis:140px}}

.model-hotspot.is-active{z-index:5}

.geometry-lines text{font-size:14px}.geometry-source{min-height:44px}

/* Project pages share the scale and open composition of the homepage. */
.case-page{--case-gutter:clamp(22px,4vw,88px);--project-heading:clamp(260px,38svh,420px);margin:0;max-width:none;padding:0;width:100%}
.project-opening{height:var(--project-heading);padding:clamp(105px,13svh,155px) var(--case-gutter) 0}
.project-opening>.eyebrow{margin-bottom:15px;text-transform:uppercase;letter-spacing:.08em}
.project-opening h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(76px,min(17vw,24svh),280px);font-weight:800;line-height:.83;letter-spacing:-.08em;text-transform:uppercase;max-width:none}
.project-opening h1 span{display:inline-block}
.project-opening.project-warwolf h1{font-size:clamp(76px,min(14.2vw,24svh),240px)}
.project-opening.project-bungee-drop h1{font-size:clamp(76px,min(11.6vw,23svh),230px)}
.case-page .primary-experience{margin:0;padding:0;border:0}
.case-page .model-section{display:flex;flex-direction:column;padding-top:0}
.case-page .model-stage{order:0;height:calc(100svh - var(--project-heading));min-height:360px;background:var(--bg);border-radius:0}
.case-page .model-heading{order:1;margin:0;padding:22px var(--case-gutter);border-top:1px solid var(--line);align-items:center}
.case-page .model-heading .eyebrow{margin-bottom:4px}.case-page .model-heading h2{font-size:clamp(28px,3vw,44px);font-weight:800;text-transform:uppercase;letter-spacing:-.055em}
.case-page .model-caption{order:2;margin:0;padding:0 var(--case-gutter) 22px}
.case-page .model-view-controls{order:3;padding:0 var(--case-gutter)}
.case-page .model-state-description{order:4;margin:18px var(--case-gutter) 0;max-width:950px;line-height:1.7}
.case-page .model-inspector{order:5;margin:24px var(--case-gutter) 0;padding:24px 0 0;background:none;border:0;border-top:1px solid var(--line);border-radius:0}
.case-page .model-section>noscript{order:6;padding:20px var(--case-gutter)}
.case-page .case-hero{height:calc(100svh - var(--project-heading));min-height:360px;aspect-ratio:auto;margin-top:0;background:var(--accent);overflow:hidden}
.case-page .case-hero img{width:100%;height:100%;padding:2% 4%;mix-blend-mode:multiply;object-fit:contain}
.project-overview{margin:clamp(55px,9vw,140px) var(--case-gutter) 0;padding:38px 0 0;border-top:1px solid var(--line)}
.overview-copy{display:grid;grid-template-columns:1fr 2fr;gap:5vw;align-items:start}
.overview-copy h2{font-size:clamp(38px,5vw,80px);font-weight:800;line-height:.95;letter-spacing:-.06em;text-transform:uppercase}
.overview-copy>p{font-size:clamp(20px,2vw,30px);line-height:1.5;letter-spacing:-.025em;max-width:1000px}
.case-page .project-meta{margin-top:45px;padding-top:25px;border-top:1px solid var(--line);grid-template-columns:1.1fr 1.6fr 1.2fr .7fr;font-size:13px;gap:24px}
.case-page .project-meta dt{text-transform:uppercase;font-size:10px;letter-spacing:.08em;margin-bottom:10px}
.case-page .resource-links{margin-top:30px;gap:10px}
.project-index{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;padding-top:25px;border-top:1px solid var(--line)}
.project-index a{display:inline-flex;align-items:center;gap:22px;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--muted);font-size:12px;transition:background .2s,border-color .2s,color .2s}
.project-index a:after{content:none}.project-index a:hover{color:var(--ink);border-color:var(--accent);background:var(--control-bg);text-decoration:none}
.case-page .story-section{margin:clamp(65px,8vw,140px) var(--case-gutter) 0;padding:32px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4vw;align-items:start;scroll-margin-top:100px}
.case-page .story-copy{display:block;grid-column:1/6;padding:0}.case-page .story-copy>.eyebrow{font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:24px}
.case-page .story-copy h2{font-size:clamp(30px,4vw,70px);font-weight:800;text-transform:uppercase;line-height:.96;letter-spacing:-.06em;margin-bottom:25px;overflow-wrap:normal}
.case-page .story-copy>div>p{font-size:clamp(16px,1.25vw,20px);line-height:1.65;color:var(--muted);max-width:65ch}
.case-page .gallery{grid-column:6/-1;gap:24px}.case-page .gallery img,.case-page .gallery.paired img{height:clamp(360px,57svh,780px);padding:3%;background:var(--surface);object-fit:contain;border-radius:0}
.case-page .gallery.paired{grid-template-columns:1fr}.case-page .gallery.paired img{height:auto;max-height:75svh;min-height:260px}
.case-page .gallery figcaption{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0 14px;margin:0;font-size:11px;line-height:1.5}
.case-page .story-section:nth-of-type(even):not(.story-text-only) .story-copy{grid-column:8/-1;grid-row:1}.case-page .story-section:nth-of-type(even):not(.story-text-only) .gallery{grid-column:1/8;grid-row:1}
.case-page .story-text-only .story-copy{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:5vw}
.case-page .story-text-only .story-copy>.eyebrow{grid-column:1;margin:0}.case-page .story-text-only .story-copy>div{display:contents}
.case-page .story-text-only h2{grid-column:1;font-size:clamp(30px,4vw,70px)}.case-page .story-text-only .story-copy>div>p{grid-column:2;grid-row:1/3;font-size:clamp(19px,1.8vw,27px);line-height:1.55}
.case-page .story-text-only .gallery{display:none}
.case-page .bungee-explorer{display:flex;flex-direction:column;padding-top:0;margin:0}
.case-page .data-plot{order:0;border:0;border-radius:0;height:calc(100svh - var(--project-heading));min-height:420px;background:var(--bg)}
.case-page .data-heading{order:1;margin:0;padding:26px var(--case-gutter);border-top:1px solid var(--line)}
.case-page .data-heading .eyebrow{margin:0 0 5px}.case-page .data-heading h2{margin:0;font-size:clamp(28px,3vw,44px);font-weight:800;text-transform:uppercase;letter-spacing:-.055em}
.case-page .data-toolbar{order:2;margin:0 var(--case-gutter);background:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;border-radius:0}
.case-page .data-readout{order:3;margin:18px var(--case-gutter) 0}.case-page .data-help{order:4;margin:12px var(--case-gutter) 0}
.case-page .data-notes{order:5;margin:22px var(--case-gutter) 0;max-width:1000px}.case-page .data-table{order:6;margin:24px var(--case-gutter) 0}
.case-page .next-project{position:relative;display:flex;flex-direction:column;justify-content:space-between;margin:clamp(70px,9vw,150px) 0 0;padding:40px var(--case-gutter);height:70svh;min-height:420px;border:0;border-radius:0;background:var(--bg);overflow:hidden;color:var(--ink)}
.case-page .next-project>img{position:absolute;inset:8% 14% 12%;width:72%;height:80%;object-fit:contain;opacity:.65;transition:transform .7s;pointer-events:none}
.case-page .next-project:hover>img{transform:scale(1.03)}.case-page .next-project>.eyebrow{position:relative;z-index:1;color:inherit;text-transform:uppercase;letter-spacing:.08em}
.case-page .next-project>span:last-child{position:relative;z-index:1;font-size:clamp(55px,11vw,190px);font-weight:800;letter-spacing:-.075em;line-height:.9;margin-top:auto}
.case-page .next-project.next-warwolf{background:var(--accent);color:var(--bg)}.case-page .next-warwolf>img{mix-blend-mode:multiply;opacity:1}
.case-page .next-project>span:last-child>span{font-size:clamp(35px,6vw,100px)}
.case-page>.page-footer{margin:0;padding:24px var(--case-gutter);border:0}
@media(min-width:1700px){.case-page .story-copy>div>p{font-size:20px}.case-page .gallery.paired{grid-template-columns:1fr 1.25fr;align-items:start}}
@media(max-width:1000px){.case-page .story-section{gap:4vw}.case-page .story-copy{grid-column:1/6}.case-page .gallery{grid-column:6/-1}.case-page .story-section:nth-of-type(even):not(.story-text-only) .story-copy{grid-column:8/-1}.case-page .story-section:nth-of-type(even):not(.story-text-only) .gallery{grid-column:1/8}}
@media(max-width:760px){
 .case-page{--project-heading:clamp(220px,30svh,290px)}.case-page:has(.project-bungee-drop){--project-heading:clamp(280px,37svh,360px)}
 .project-opening{padding-top:115px}.project-opening>.eyebrow{font-size:10px;margin-bottom:16px}.project-opening h1{font-size:18vw}.project-opening.project-warwolf h1{font-size:14.5vw}.project-opening.project-bungee-drop h1{font-size:20vw}.project-bungee-drop h1 span{display:block}
 .case-page .model-stage{height:calc(100svh - var(--project-heading));min-height:340px}.case-page .model-heading{padding:20px var(--case-gutter)}.case-page .model-heading h2,.case-page .data-heading h2{font-size:28px}
 .case-page .model-caption{padding-bottom:20px}.case-page .model-view-controls{gap:14px}.case-page .model-state-description{font-size:12px}
 .case-page .model-inspector{margin-top:20px}.case-page .case-hero{height:calc(100svh - var(--project-heading));min-height:330px;margin-top:0}.case-page .case-hero img{padding:6% 0}
 .project-overview{margin-top:60px;padding-top:28px}.overview-copy{grid-template-columns:1fr;gap:24px}.overview-copy h2{font-size:42px}.overview-copy>p{font-size:21px;line-height:1.5}
 .case-page .project-meta{grid-template-columns:1fr 1fr;font-size:12px;margin-top:28px;gap:24px 18px}.project-index{margin-top:24px;padding-top:22px;gap:6px}.project-index a{font-size:11px;gap:14px;padding:9px 12px}
 .case-page .story-section{display:block;margin-top:60px;padding-top:26px}.case-page .story-copy>.eyebrow{margin-bottom:17px}.case-page .story-copy h2{font-size:clamp(28px,9.8vw,64px);margin-bottom:20px}.case-page .story-copy>div>p{font-size:16px;line-height:1.65}
 .case-page .gallery{margin-top:28px}.case-page .gallery img,.case-page .gallery.paired img{height:auto;max-height:none;min-height:0;padding:3%}.case-page .gallery figcaption{font-size:10px;padding-top:10px}
 .case-page .story-text-only .story-copy{display:block}.case-page .story-text-only .story-copy>.eyebrow{margin-bottom:17px}.case-page .story-text-only .story-copy>div{display:block}.case-page .story-text-only .story-copy>div>p{font-size:19px}
 .case-page .data-plot{height:calc(100svh - var(--project-heading));min-height:400px}.case-page .data-heading{display:block;padding-top:20px}.case-page .data-heading>p{margin-top:16px;font-size:13px}.case-page .data-toolbar{gap:16px}.case-page .data-notes{max-width:none}
 .case-page .next-project{height:65svh;min-height:390px;padding-top:30px;padding-bottom:35px}.case-page .next-project>img{inset:15% 0 20%;width:100%;height:65%}.case-page .next-project>span:last-child{font-size:13vw}.case-page>.page-footer{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.case-page .next-project>img{transition:none}}

/* Keep the home introduction aligned after removing its small subtitles. */
.home-about>h2{grid-column:2}

/* Homepage scroll prompt */
.home-cover .cover-scroll{top:auto;right:auto;bottom:18px;left:50%;transform:translateX(-50%);display:block;width:max-content;min-height:44px;padding:8px 16px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink);font-size:clamp(20px,2.4vw,36px);font-weight:800;line-height:1.1;letter-spacing:-.045em;text-transform:uppercase;text-align:center}
.home-cover .cover-scroll:hover{background:transparent;box-shadow:none;color:var(--accent);transform:translateX(-50%);text-decoration:none}
@media(max-width:760px){.home-cover .cover-scroll{bottom:14px;font-size:24px}.car-cover .cover-caption{bottom:15%}}

/* A quiet scroll prompt that becomes clear on interaction. */
.home-cover .cover-scroll{font-size:clamp(13px,1.25vw,18px);font-weight:500;letter-spacing:.08em;opacity:.45;background:transparent;transition:opacity .2s ease,color .2s ease}
.home-cover .cover-scroll:hover,.home-cover .cover-scroll:focus-visible{opacity:1;color:var(--ink);background:transparent}
@media(max-width:760px){.home-cover .cover-scroll{font-size:14px}}

/* The project itself is the link. */
.car-cover model-viewer,.bungee-live-art,.immersive-art img{transition:transform .55s cubic-bezier(.2,.65,.3,1)}
.car-cover.is-project-hover model-viewer,.car-cover.is-project-hover model-viewer{transform:scale(1.055)}
.immersive-project.is-project-hover .immersive-art img,.immersive-project.is-project-hover .immersive-art img{transform:scale(1.055)}
.bungee-cover.is-project-hover .bungee-live-art,.bungee-cover.is-project-hover .bungee-live-art{transform:scale(1.055)}
.bungee-cover.is-project-hover .bungee-live-art img,.bungee-cover.is-project-hover .bungee-live-art img{transform:none}
.car-cover.is-project-hover .cover-caption strong,.car-cover.is-project-hover .cover-caption strong,.bungee-cover.is-project-hover h2,.bungee-cover.is-project-hover h2{color:var(--accent)}
@media(prefers-reduced-motion:reduce){.car-cover model-viewer,.bungee-live-art,.immersive-art img{transition:none}.car-cover.is-project-hover model-viewer,.car-cover.is-project-hover model-viewer,.immersive-project.is-project-hover .immersive-art img,.immersive-project.is-project-hover .immersive-art img,.bungee-cover.is-project-hover .bungee-live-art,.bungee-cover.is-project-hover .bungee-live-art{transform:none}}

/* Gold is reserved for small accents, never full-page panels. */
.warwolf-cover,.warwolf-cover.is-project-hover,.warwolf-cover.is-project-hover{background:var(--ink);color:var(--bg)}
.case-page .case-hero{background:var(--ink)}
.case-page .next-project.next-warwolf{background:var(--ink);color:var(--bg)}
.car-cover.is-project-hover .cover-caption strong,.car-cover.is-project-hover .cover-caption strong,.bungee-cover.is-project-hover h2,.bungee-cover.is-project-hover h2{color:var(--ink)}

/* Metallic text highlights, using the supplied gold reference. */
@keyframes gold-shine{from{background-position:100% 50%}to{background-position:0% 50%}}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 :is(.eyebrow:hover,.home-contact>a:hover,.home-contact>a:focus-visible,.home-about-copy>a:hover,.home-about-copy>a:focus-visible,.closing>a:hover,.closing>a:focus-visible,.sidebar nav>a[aria-current]:hover,.sidebar nav>a[aria-current]:focus-visible,.geometry-source:hover,.geometry-source:focus-visible,.project-index a:hover,.project-index a:focus-visible,.model-components button[aria-pressed=true]:hover,.model-components button[aria-pressed=true]:focus-visible,.model-label-toggle[aria-pressed=true]:hover,.model-label-toggle[aria-pressed=true]:focus-visible){
  background-image:linear-gradient(110deg,var(--gold-shadow) 0%,var(--gold-highlight) 20%,var(--gold-light) 40%,#fff8d0 48%,var(--gold-light) 54%,var(--gold-mid) 72%,var(--gold-highlight) 88%,var(--gold-shadow) 100%);
  background-size:220% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-shine 1s ease-out both;
 }
}
@media(prefers-reduced-motion:reduce){:is(.eyebrow,.home-contact>a,.home-about-copy>a,.closing>a,.sidebar nav>a,.geometry-source,.project-index a,.model-components button,.model-label-toggle){animation:none!important}}

/* White resting text; gold appears as an interactive highlight. */
.eyebrow,.wordmark,.sidebar nav a[aria-current],.home-about>div a,.home-contact>a,.model-label-toggle,.model-components button[aria-pressed=true],.case-page .story-copy>.eyebrow,.project-index a,.geometry-source{color:var(--ink)}
.resource-links a:first-child,.data-notes>a,.model-states button[aria-pressed=true],.data-modes button[aria-pressed=true],.model-components button[aria-pressed=true],.model-label-toggle[aria-pressed=true]{background:var(--dark);color:var(--ink)}
.hotspot-number,.model-hotspot.is-active .hotspot-number{background:var(--dark);color:var(--ink)}
/* Keep drawings readable with white text on the black portfolio panels. */
.warwolf-cover,.warwolf-cover.is-project-hover,.warwolf-cover.is-project-hover,.case-page .next-project.next-warwolf{background:var(--bg);color:var(--ink)}
.case-page .case-hero{background:var(--bg)}
.warwolf-cover .immersive-art img,.case-page .case-hero img,.case-page .next-warwolf>img{filter:grayscale(1) invert(1);mix-blend-mode:screen}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 :is(.car-cover.is-project-hover .cover-caption strong,.car-cover.is-project-hover .cover-caption strong,.immersive-project.is-project-hover .immersive-caption h2,.immersive-project.is-project-hover .immersive-caption h2,.next-project:hover>span:last-child,.next-project:focus-visible>span:last-child,.resource-links a:hover,.resource-links a:focus-visible,.data-notes>a:hover,.data-notes>a:focus-visible,.page-footer a:hover,.page-footer a:focus-visible,.sidebar-footer a:hover,.sidebar-footer a:focus-visible,.sidebar nav>a:hover,.sidebar nav>a:focus-visible,.other-links a:hover,.other-links a:focus-visible,.model-states button:hover:not(:disabled),.model-states button:focus-visible,.data-modes button:hover,.data-modes button:focus-visible,.model-components button:hover,.model-components button:focus-visible,.model-reset:hover,.model-reset:focus-visible,#data-reset:hover,#data-reset:focus-visible,.model-label-toggle:hover,.model-label-toggle:focus-visible){
  background-image:linear-gradient(110deg,var(--gold-shadow) 0%,var(--gold-highlight) 20%,var(--gold-light) 40%,#fff8d0 48%,var(--gold-light) 54%,var(--gold-mid) 72%,var(--gold-highlight) 88%,var(--gold-shadow) 100%);
  background-size:220% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-shine 1s ease-out both;
 }
}
@media(prefers-reduced-motion:reduce){.home-page a *,.case-page a *,a,button{animation:none!important}}

/* Contrasting homepage panels, with gold reserved for interaction. */
.warwolf-cover,.warwolf-cover.is-project-hover,.warwolf-cover.is-project-hover{background:var(--ink);color:var(--bg)}
.warwolf-cover .immersive-art img{filter:none;mix-blend-mode:multiply}
.warwolf-cover .immersive-caption h2{color:var(--bg)}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .warwolf-cover.is-project-hover .immersive-caption h2,.warwolf-cover.is-project-hover .immersive-caption h2{color:transparent;background-image:linear-gradient(110deg,var(--gold-shadow) 0%,var(--gold-highlight) 20%,var(--gold-light) 40%,#fff8d0 48%,var(--gold-light) 54%,var(--gold-mid) 72%,var(--gold-highlight) 88%,var(--gold-shadow) 100%);background-size:220% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;animation:gold-shine 1s ease-out both}
}

/* A deeper metallic gold keeps highlights legible on white panels. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .warwolf-cover.is-project-hover .immersive-caption h2,.warwolf-cover.is-project-hover .immersive-caption h2{
  background-image:linear-gradient(110deg,#59400b 0%,#765719 22%,#856319 40%,#705016 52%,#533b0c 70%,#493208 88%,#3d2a06 100%);
 }
}

/* About: biography and portrait, followed by one consistent action row. */
.about-intro{padding-bottom:65px}.about-profile{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,6vw,100px);align-items:start;margin-top:38px}
.about-biography .about-lead{margin:0 0 24px;font-size:clamp(17px,1.55vw,23px);line-height:1.6;max-width:65ch}.about-biography .about-lead:last-child{margin-bottom:0}
.about-portrait{aspect-ratio:4/5;overflow:hidden;background:var(--dark)}.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;transform:scale(1.25);transform-origin:50% 28%}
.about-actions{padding:36px 0 50px;border-top:1px solid var(--line)}.about-actions h2{font-size:clamp(24px,2.5vw,36px);font-weight:800;line-height:1.1;letter-spacing:-.045em}
.about-actions .resource-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:26px}
.about-actions .resource-links a,.about-actions .resource-links a:first-child{display:flex;align-items:center;justify-content:center;min-height:52px;width:100%;padding:13px 12px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--control-bg);color:var(--ink);font-size:13px;font-weight:500;text-align:center;line-height:1.3}
.about-actions .resource-links a:hover,.about-actions .resource-links a:focus-visible{border-color:var(--accent)}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .about-actions .resource-links a:hover,.about-actions .resource-links a:focus-visible{background-image:linear-gradient(110deg,var(--gold-shadow) 0%,var(--gold-highlight) 20%,var(--gold-light) 40%,#fff8d0 48%,var(--gold-light) 54%,var(--gold-mid) 72%,var(--gold-highlight) 88%,var(--gold-shadow) 100%);background-size:220% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-shine 1s ease-out both}
}
@media(max-width:900px){.about-profile{grid-template-columns:1.1fr .9fr;gap:28px}.about-actions .resource-links{gap:8px}.about-actions .resource-links a{font-size:12px}}
@media(max-width:760px){.about-profile{grid-template-columns:1fr;margin-top:28px;gap:28px}.about-portrait{grid-row:1;max-width:460px;width:100%;aspect-ratio:4/5}.about-biography .about-lead{font-size:18px}.about-intro{padding-bottom:40px}.about-actions .resource-links{grid-template-columns:1fr;gap:10px}.about-actions .resource-links a{min-height:50px;font-size:14px}}

/* Navigation drawer: the current page remains visible behind the panel. */
.sidebar{inset:0 0 0 auto;width:min(440px,calc(100vw - 48px));height:100dvh;display:flex;padding:110px 26px 28px;background:var(--bg);border-left:1px solid var(--line);box-shadow:-18px 0 60px #0004;transform:translateX(105%);visibility:hidden;pointer-events:none;transition:transform .38s cubic-bezier(.22,.7,.2,1),visibility 0s .38s;overscroll-behavior:contain}
.sidebar.is-open{display:flex;transform:translateX(0);visibility:visible;pointer-events:auto;transition:transform .38s cubic-bezier(.22,.7,.2,1),visibility 0s}
.sidebar nav{margin:0}.sidebar nav>a{font-size:22px;padding:15px 16px;line-height:1.2;letter-spacing:-.035em;margin:0 0 10px}.sidebar .other-links{margin-top:20px}.sidebar .other-links a{font-size:17px;padding:11px 16px}.sidebar-footer{padding-top:28px;font-size:12px}.sidebar-footer>div{flex-wrap:wrap}
.nav-scrim{position:fixed;inset:0;z-index:65;background:#000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .38s ease,visibility 0s .38s}
.nav-open .nav-scrim{opacity:.35;visibility:visible;pointer-events:auto;transition:opacity .38s ease,visibility 0s}
@media(max-width:760px){.sidebar{width:calc(100vw - 44px);padding:100px 20px 24px}.sidebar nav>a{font-size:20px;padding:14px}.sidebar .other-links a{font-size:16px}.sidebar-footer{font-size:11px;padding-top:24px}}
@media(prefers-reduced-motion:reduce){.sidebar,.sidebar.is-open,.nav-scrim,.nav-open .nav-scrim{transition:none}}

/* Allow for the final glyph's overhang when the title uses clipped gradient text. */
.cover-caption strong,.immersive-caption h2{padding-inline-end:.16em;margin-inline-end:-.16em}
.cover-caption strong{display:inline-block}

/* Final homepage panel: statement and mascot, with actions along the bottom. */
.home-about{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:1fr auto auto;gap:28px 5vw;padding:110px 6vw 24px;overflow:auto}
.home-about>h2{grid-column:1;grid-row:1;align-self:center;font-size:clamp(32px,4.6vw,74px);line-height:1.08;max-width:950px}
.home-mascot{position:relative;grid-column:2;grid-row:1;align-self:center;justify-self:end;width:min(100%,400px);aspect-ratio:440/478;overflow:hidden}
.home-mascot img{position:absolute;width:181.818%;max-width:none;height:auto;left:-34.773%;top:-17.782%}
.home-actions{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%}
.home-actions a{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--control-bg);color:var(--ink);font-size:14px;font-weight:500;text-align:center;line-height:1.3;transition:border-color .2s,background .2s}
.home-actions a:hover,.home-actions a:focus-visible{border-color:var(--accent);text-decoration:none}
.home-about>.page-footer{grid-column:1/-1;grid-row:3;align-self:end;margin:0;padding:16px 0 0;width:100%;font-size:11px}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .home-actions a:hover,.home-actions a:focus-visible{background-image:linear-gradient(110deg,var(--gold-shadow) 0%,var(--gold-highlight) 20%,var(--gold-light) 40%,#fff8d0 48%,var(--gold-light) 54%,var(--gold-mid) 72%,var(--gold-highlight) 88%,var(--gold-shadow) 100%);background-size:220% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-shine 1s ease-out both}
}
@media(max-width:760px){.home-about{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto auto;gap:20px;padding:110px 24px 18px}.home-about>h2{grid-column:1;grid-row:1;font-size:clamp(25px,7vw,36px)}.home-mascot{grid-column:1;grid-row:2;justify-self:center;width:min(43vw,220px);align-self:center}.home-actions{grid-column:1;grid-row:3;gap:8px}.home-actions a{font-size:12px;min-height:56px;padding:12px 8px}.home-about>.page-footer{grid-column:1;grid-row:4;font-size:10px;padding:14px 0 0}}
@media(max-height:620px){.home-about{height:auto;min-height:100svh}.home-mascot{max-width:240px}}

/* Refined closing actions, with room for the full email address. */
.home-actions{gap:16px}
.home-actions a{min-height:64px;padding:18px 22px;border:1px solid #ffffff24;border-radius:14px;background:linear-gradient(180deg,#ffffff09,#ffffff03);color:var(--ink);font-size:15px;font-weight:500;letter-spacing:-.015em;box-shadow:inset 0 1px 0 #ffffff08;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.home-actions a:hover,.home-actions a:focus-visible{border-color:var(--gold-mid);box-shadow:inset 0 1px 0 #ffffff10,0 6px 22px #0004;transform:translateY(-2px)}
.home-actions a:active{transform:translateY(0);box-shadow:inset 0 1px 4px #0004}
@media(max-width:760px){.home-actions{grid-template-columns:1fr;gap:10px}.home-actions a{min-height:52px;padding:14px 18px;font-size:14px}.home-mascot{width:min(34vw,180px)}}
@media(prefers-reduced-motion:reduce){.home-actions a{transition:none}.home-actions a:hover,.home-actions a:focus-visible{transform:none}}

/* Footer links morph from line icons into labels. */
.home-actions{display:flex;align-items:center;justify-content:flex-start;gap:clamp(24px,4vw,64px);min-height:88px}
.home-actions .morph-action{--reveal-width:170px;position:relative;display:grid;place-items:center;flex:0 0 auto;width:80px;min-height:80px;height:80px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--ink);text-decoration:none;transform:none;overflow:visible;transition:width .42s cubic-bezier(.22,.7,.2,1)}
.home-actions .action-mail{--reveal-width:310px}.home-actions .action-reports{--reveal-width:250px}
.home-actions .morph-action:hover,.home-actions .morph-action:focus-visible{width:var(--reveal-width);background:none;background-clip:border-box;-webkit-background-clip:border-box;box-shadow:none;color:var(--ink);transform:none;animation:none}
.action-icon{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .24s ease,transform .38s cubic-bezier(.22,.7,.2,1);pointer-events:none}
.action-icon svg{display:block;width:48px;height:48px}
.action-label{display:block;white-space:nowrap;padding:0 .14em;font-size:clamp(20px,2.2vw,32px);font-weight:500;letter-spacing:-.045em;opacity:0;transform:translateY(10px) scale(.94);transition:opacity .25s ease .08s,transform .38s cubic-bezier(.22,.7,.2,1);pointer-events:none}
.morph-action:after{content:'';position:absolute;left:12px;right:12px;bottom:5px;height:1px;background:var(--gold-mid);transform:scaleX(0);transform-origin:left;transition:transform .38s cubic-bezier(.22,.7,.2,1)}
.morph-action:hover .action-icon,.morph-action:focus-visible .action-icon{opacity:0;transform:translateY(-8px) scale(.7)}
.morph-action:hover .action-label,.morph-action:focus-visible .action-label{opacity:1;transform:translateY(0) scale(1)}
.morph-action:hover:after,.morph-action:focus-visible:after{transform:scaleX(1)}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .morph-action:hover .action-label,.morph-action:focus-visible .action-label{background-image:linear-gradient(110deg,var(--gold-shadow) 0%,var(--gold-highlight) 20%,var(--gold-light) 40%,#fff8d0 48%,var(--gold-light) 54%,var(--gold-mid) 72%,var(--gold-highlight) 88%,var(--gold-shadow) 100%);background-size:220% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-shine 1s ease-out both}
}
@media(max-width:760px),(hover:none){
 .home-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start;min-height:96px}
 .home-actions .morph-action,.home-actions .morph-action:hover,.home-actions .morph-action:focus-visible{width:100%;height:auto;min-height:90px;display:flex;flex-direction:column;gap:12px;justify-content:flex-start;padding-top:5px}
 .action-icon{position:static;display:block}.action-icon svg{width:36px;height:36px}
 .action-label{white-space:normal;overflow-wrap:anywhere;opacity:1;transform:none;font-size:12px;line-height:1.35;letter-spacing:0;padding:0}
 .morph-action:hover .action-icon,.morph-action:focus-visible .action-icon{opacity:1;transform:none;color:var(--accent)}
 .morph-action:after{bottom:0}
}
@media(prefers-reduced-motion:reduce){.home-actions .morph-action,.action-icon,.action-label,.morph-action:after{transition:none}.morph-action:hover .action-label,.morph-action:focus-visible .action-label{animation:none}}

/* Local typography trial: report-like text with sans-serif project titles and controls. */
body{font-family:'Times New Roman',Times,serif}
.cover-intro h1,.cover-caption strong,.immersive-caption h2,.project-opening h1,.case-page .story-copy h2,.next-project>span:last-child{font-family:Arial,Helvetica,sans-serif}
a,button,select,input,textarea,summary,.model-components,.model-caption,.model-state-description,.model-detail,.model-geometry,.data-heading,.data-readout,.data-help,.data-notes,.data-table,.home-pagination,.project-index{font-family:Arial,Helvetica,sans-serif}
.eyebrow,.project-opening>.eyebrow,.case-page .story-copy>.eyebrow,.project-meta,.gallery figcaption,.sidebar-footer>p{font-family:'Times New Roman',Times,serif}
.home-about>h2{font-family:'Times New Roman',Times,serif;letter-spacing:-.035em}
.home-actions .action-label{font-family:Arial,Helvetica,sans-serif}

/* Bring the closing mascot inward without changing the text or action layout. */
@media(min-width:761px){.home-mascot{transform:translateX(-3vw)}}

/* Match footer labels to the menu UI, with an icon-only navigation toggle. */
.home-actions .morph-action,.home-actions .action-label{font-family:Arial,Helvetica,sans-serif;font-weight:500}
.menu-toggle{width:48px;height:48px;min-height:48px;padding:0;gap:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink)}
.menu-toggle:hover{background:transparent;color:var(--accent);box-shadow:none}
.menu-toggle .menu-lines{width:22px;gap:5px}
.menu-toggle .menu-lines i{width:22px;height:2.5px;background:currentColor;transition:transform .25s ease,opacity .2s ease;transform-origin:center}
.menu-toggle[aria-expanded=true] .menu-lines i:first-child{transform:translateY(7.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-lines i:nth-child(2){opacity:0;transform:none}
.menu-toggle[aria-expanded=true] .menu-lines i:last-child{transform:translateY(-7.5px) rotate(-45deg)}

/* The drawer uses matching portfolio rows and compact morphing footer links. */
.sidebar-footer{margin-top:auto;padding-top:30px}
.sidebar-footer .sidebar-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:12px;min-height:72px;margin:0;width:100%}
.sidebar-actions .morph-action{width:64px;height:64px;min-height:64px;flex:0 1 64px;padding:0;--reveal-width:128px}
.sidebar-actions .action-mail{--reveal-width:248px}.sidebar-actions .action-linkedin{--reveal-width:150px}
.sidebar-actions .morph-action:hover,.sidebar-actions .morph-action:focus-visible{width:var(--reveal-width);flex:0 0 var(--reveal-width)}
.sidebar-actions .action-icon svg{width:34px;height:34px}.sidebar-actions .action-label{font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:500;letter-spacing:-.03em}
.sidebar-actions .action-mail .action-label{font-size:18px}
.sidebar-actions .morph-action:after{left:5px;right:5px;bottom:3px}
@media(max-width:760px),(hover:none){
 .sidebar-footer .sidebar-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start;min-height:90px}
 .sidebar-actions .morph-action,.sidebar-actions .morph-action:hover,.sidebar-actions .morph-action:focus-visible{width:100%;height:auto;min-height:88px;padding-top:5px;flex:initial}
 .sidebar-actions .action-label,.sidebar-actions .action-mail .action-label{font-size:11px;line-height:1.4;letter-spacing:0}
}

/* Fixed footer slots: revealing a label never resizes or moves sibling links. */
.sidebar-footer{padding-top:64px}
.sidebar-footer .sidebar-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:center;min-height:72px;position:relative}
.sidebar-actions .morph-action,.sidebar-actions .morph-action:hover,.sidebar-actions .morph-action:focus-visible{position:static;display:grid;place-items:center;flex:initial;width:100%;height:64px;min-height:64px;padding:0;transition:none}
.sidebar-actions .action-icon{position:static;display:grid;place-items:center;width:100%;height:64px;transform:none}
.sidebar-actions .action-label,.sidebar-actions .action-mail .action-label{position:absolute;left:0;right:0;bottom:84px;text-align:center;width:100%;padding:0 8px;font-size:18px;line-height:1.4;white-space:nowrap;opacity:0;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease}
.sidebar-actions .morph-action:hover .action-icon,.sidebar-actions .morph-action:focus-visible .action-icon{opacity:1;transform:none;color:var(--accent)}
.sidebar-actions .morph-action:hover .action-label,.sidebar-actions .morph-action:focus-visible .action-label{opacity:1;transform:translateY(0)}
.sidebar-actions .morph-action:after{display:none}
@media(hover:none){.sidebar-footer{padding-top:30px}.sidebar-actions .morph-action,.sidebar-actions .morph-action:hover,.sidebar-actions .morph-action:focus-visible{display:flex;flex-direction:column;height:auto;min-height:94px;gap:8px}.sidebar-actions .action-icon{height:44px}.sidebar-actions .action-label,.sidebar-actions .action-mail .action-label{position:static;width:100%;font-size:11px;white-space:normal;overflow-wrap:anywhere;opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.sidebar-actions .action-label{transition:none}}

/* Swap icon and text inside the same fixed slot. */
.sidebar-actions .morph-action,.sidebar-actions .morph-action:hover,.sidebar-actions .morph-action:focus-visible{position:relative}
.sidebar-actions .action-icon{position:absolute;inset:0;transition:opacity .2s ease,transform .25s ease}
.sidebar-actions .action-label,.sidebar-actions .action-mail .action-label{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:64px;padding:0 4px;white-space:normal;overflow-wrap:anywhere;text-align:center;opacity:0;transform:scale(.94);transition:opacity .2s ease,transform .25s ease}
.sidebar-actions .action-mail .action-label{font-size:13px;letter-spacing:-.025em}
.sidebar-actions .morph-action:hover .action-icon,.sidebar-actions .morph-action:focus-visible .action-icon{opacity:0;transform:scale(.75)}
.sidebar-actions .morph-action:hover .action-label,.sidebar-actions .morph-action:focus-visible .action-label{opacity:1;transform:scale(1)}
@media(hover:none){.sidebar-actions .action-icon{position:static}.sidebar-actions .action-label,.sidebar-actions .action-mail .action-label{position:static;height:auto;font-size:11px;opacity:1;transform:none}.sidebar-actions .morph-action:hover .action-icon,.sidebar-actions .morph-action:focus-visible .action-icon{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.sidebar-actions .action-icon,.sidebar-actions .action-label{transition:none}}

/* Match the homepage's gold underline without changing the fixed slot widths. */
.sidebar-actions .morph-action:after{display:block;content:'';position:absolute;left:10px;right:10px;bottom:3px;height:1px;background:var(--gold-mid);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,.7,.2,1)}
.sidebar-actions .morph-action:hover:after,.sidebar-actions .morph-action:focus-visible:after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.sidebar-actions .morph-action:after{transition:none}}

/* Borderless project previews in the navigation drawer. */
.sidebar{padding-top:96px}
.sidebar>nav{display:flex;flex-direction:column;gap:10px}
.sidebar nav>a.nav-project,.sidebar nav>a.nav-project:hover,.sidebar nav>a.nav-project:focus-visible{position:relative;display:flex;align-items:center;isolation:isolate;min-height:clamp(100px,16svh,145px);margin:0;padding:16px;border:0;border-radius:0;overflow:hidden;background:var(--bg);background-clip:border-box;-webkit-background-clip:border-box;color:var(--ink);box-shadow:none;transform:none;animation:none;text-decoration:none}
.nav-project>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.72;transform:scale(1.18);transition:opacity .35s ease,transform .55s cubic-bezier(.22,.7,.2,1)}
.sidebar nav>a.nav-project:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#0007,#0001);transition:opacity .35s ease}
.sidebar nav>a.nav-project:after{content:none}
.sidebar .nav-project-title{display:block;font-family:Arial,Helvetica,sans-serif;font-size:46px;font-weight:800;line-height:.95;letter-spacing:-.07em;text-transform:uppercase;white-space:nowrap;padding-right:.16em;margin-right:-.16em;color:var(--ink);opacity:1;transition:opacity .35s ease}
.sidebar nav>a.nav-project:hover .nav-project-title,.sidebar nav>a.nav-project:focus-visible .nav-project-title{opacity:.2}
.sidebar nav>a.nav-project:hover>img,.sidebar nav>a.nav-project:focus-visible>img{opacity:1;transform:scale(1.23)}
.sidebar nav>a.nav-project:hover:before,.sidebar nav>a.nav-project:focus-visible:before{opacity:0}
.sidebar nav>a.nav-project[aria-current]{box-shadow:inset 0 -1px var(--gold-mid)}
.nav-project-warwolf>img{filter:grayscale(1) invert(1);mix-blend-mode:screen;object-fit:cover;transform:scale(1.05)}
.sidebar nav>a.nav-about,.sidebar nav>a.nav-about:hover,.sidebar nav>a.nav-about:focus-visible{display:flex;align-items:center;min-height:64px;margin:0;padding:10px 16px;border:0;border-radius:0;background:none;background-clip:border-box;-webkit-background-clip:border-box;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:46px;font-weight:800;line-height:.95;letter-spacing:-.07em;text-transform:uppercase;box-shadow:none;transform:none;animation:none;text-decoration:none;transition:opacity .3s ease}
.sidebar nav>a.nav-about:hover,.sidebar nav>a.nav-about:focus-visible{opacity:.5}
.sidebar nav>a.nav-about:after{content:none}
.sidebar-footer{padding-top:22px}
@media(max-width:760px){.sidebar{padding-top:90px}.sidebar>nav{gap:8px}.sidebar nav>a.nav-project{min-height:clamp(100px,14svh,130px);padding:12px}.sidebar .nav-project-title,.sidebar nav>a.nav-about{font-size:clamp(26px,8.8vw,38px)}.sidebar nav>a.nav-about{min-height:56px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.nav-project>img,.nav-project-title,.nav-project:before,.sidebar nav>a.nav-about{transition:none}.sidebar nav>a.nav-project:hover>img,.sidebar nav>a.nav-project:focus-visible>img{transform:scale(1.18)}}

/* Fully unframed drawer: artwork and type, without card edges or dividers. */
.sidebar{border:0;box-shadow:none}
.sidebar>nav{gap:0}
.sidebar nav>a.nav-project,.sidebar nav>a.nav-project:hover,.sidebar nav>a.nav-project:focus-visible,.sidebar nav>a.nav-project[aria-current],.sidebar nav>a.nav-about,.sidebar nav>a.nav-about:hover,.sidebar nav>a.nav-about:focus-visible,.sidebar nav>a.nav-about[aria-current]{border:0;border-radius:0;box-shadow:none;background-color:transparent}
.sidebar nav>a.nav-project:before{background:none}
.sidebar nav>a.nav-project>img{mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 80%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 80%,transparent 100%)}
.sidebar-footer,.sidebar-footer .sidebar-actions{border:0;box-shadow:none;background:none}
.sidebar-actions .morph-action,.sidebar-actions .morph-action:hover,.sidebar-actions .morph-action:focus-visible{border:0;box-shadow:none}

/* Blend the temporary Warwolf artwork into the drawer and align every row. */
.sidebar nav>a.nav-project-warwolf{background-color:var(--bg)}
.sidebar .nav-project-warwolf>img{filter:grayscale(1) invert(1) brightness(1.9);mix-blend-mode:screen;opacity:.88;mask-image:radial-gradient(ellipse at center,#000 18%,#000c 50%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse at center,#000 18%,#000c 50%,transparent 76%)}
.sidebar nav>a.nav-about,.sidebar nav>a.nav-about:hover,.sidebar nav>a.nav-about:focus-visible{min-height:clamp(100px,16svh,145px)}
@media(max-width:760px){.sidebar nav>a.nav-about,.sidebar nav>a.nav-about:hover,.sidebar nav>a.nav-about:focus-visible{min-height:clamp(100px,14svh,130px)}}

/* Local refinement batch: quieter project pages and integrated tools. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.case-page .overview-copy{display:block;max-width:1060px}.case-page .overview-copy>p{max-width:none}
.case-page .project-meta{grid-template-columns:1fr 1fr;max-width:760px}
.case-page .project-overview{margin-top:clamp(45px,6vw,90px)}
.case-page>.page-footer{margin-top:70px;align-items:center;border-top:1px solid var(--line)}
.case-page .story-copy>div>p{color:var(--ink)}
.icon-links{display:flex;align-items:center;gap:clamp(18px,4vw,54px);flex-wrap:wrap}
.icon-links .icon-link{position:relative;display:grid;place-items:center;flex:0 0 100px;width:100px;height:72px;min-height:72px;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--ink);font-family:Arial,Helvetica,sans-serif;text-decoration:none;transform:none;cursor:pointer}
.icon-link-glyph{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;transition:opacity .2s,transform .25s}
.icon-link-glyph svg{display:block;width:34px;height:34px}
.icon-link-label{position:absolute;inset:0;display:grid;place-items:center;padding:0 4px;white-space:normal;overflow-wrap:anywhere;text-align:center;font:500 13px/1.3 Arial,Helvetica,sans-serif;opacity:0;transform:scale(.94);pointer-events:none;transition:opacity .2s,transform .25s}
.icon-links .icon-link:hover,.icon-links .icon-link:focus-visible{background:none;box-shadow:none;color:var(--ink);transform:none;text-decoration:none}
.icon-link:after{content:'';position:absolute;left:9px;right:9px;bottom:2px;height:1px;background:var(--gold-mid);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.icon-link:hover .icon-link-glyph,.icon-link:focus-visible .icon-link-glyph{opacity:0;transform:scale(.75)}
.icon-link:hover .icon-link-label,.icon-link:focus-visible .icon-link-label{opacity:1;transform:scale(1)}
.icon-link:hover:after,.icon-link:focus-visible:after{transform:scaleX(1)}
.icon-links .icon-link:disabled{opacity:.35;cursor:wait}
.project-resources{margin-top:28px}.footer-icon-links{margin-left:auto}.footer-icon-links .icon-link{width:96px;flex-basis:96px}
.about-portrait{border:1px solid #ffffff70}
.about-actions{padding:28px 0 36px}.about-icon-links{justify-content:space-between;gap:10px}.about-icon-links .icon-link{flex:1 1 0;max-width:200px}
/* The viewer is narrower than the page, leaving reliable scroll gutters. */
.case-page .model-section{display:block;padding:0 var(--case-gutter);margin:0}
.model-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:stretch}
.model-control-panel{display:flex;flex-direction:column;min-width:0;padding:12px 0}
.case-page .model-view-controls{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding:0}
.case-page .model-view-group{gap:7px;width:100%}.case-page .model-view-group>.eyebrow{font:11px/1.4 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.09em;color:var(--ink);opacity:.6}
.case-page .model-states{display:flex;flex-direction:column;gap:0;padding:0;border:0;border-radius:0;background:none}
.case-page .model-states button,.case-page .model-states button[aria-pressed=true]{width:100%;min-height:43px;padding:9px 0;border:0;border-bottom:1px solid transparent;border-radius:0;background:none;box-shadow:none;color:var(--ink);font:800 19px/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.045em;text-align:left;transform:none}
.case-page .model-states button[aria-pressed=true]{border-bottom-color:var(--gold-mid)}
.case-page .model-states button:hover:not(:disabled){background:none;color:var(--ink);opacity:.65}
.model-utilities{flex-wrap:nowrap;gap:12px;margin-top:auto;padding-top:16px}.model-utilities .icon-link,.model-utilities .icon-link[aria-pressed=true]{flex:0 0 78px;width:78px;height:62px;min-height:62px;padding:0;border:0;background:none;color:var(--ink);box-shadow:none}
.model-viewport{min-width:0}.case-page .model-stage{height:clamp(440px,65svh,720px);min-height:440px;width:100%;margin:0;background:var(--bg)}
.case-page .model-inspector{margin:22px 0 0;padding-top:18px}
.aero-note{display:flex;align-items:center;gap:10px;font:11px/1.5 Arial,Helvetica,sans-serif;color:var(--ink);opacity:.75;padding:10px 0}.aero-note[hidden]{display:none}.flow-swatch{flex:0 0 65px;height:3px;background:linear-gradient(90deg,#205aff,#20d9ed,#8ae750,#ff7835)}
.case-page .model-section>noscript{padding:20px 0}
/* No permanent captions under icon controls, including on touch screens. */
.sidebar-footer .sidebar-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:72px;gap:0}
.sidebar-actions .morph-action .action-label,.sidebar-actions .morph-action.action-mail .action-label{font-size:13px}
/* The original PNG remains unchanged; an alpha-edge mask colors just its outline. */
.home-mascot:after{content:'';position:absolute;left:-34.773%;top:-17.782%;width:181.818%;aspect-ratio:4/3;background:linear-gradient(110deg,var(--gold-shadow),var(--gold-highlight) 24%,var(--gold-light) 45%,#fff8d0 50%,var(--gold-mid) 75%,var(--gold-highlight));background-size:220% 100%;mask:url('assets/chudlet-outline.svg') center/100% 100% no-repeat;mask-mode:alpha;-webkit-mask:url('assets/chudlet-outline.svg') center/100% 100% no-repeat;opacity:0;pointer-events:none;transition:opacity .25s ease}
.home-mascot:hover:after{opacity:1;animation:gold-shine 1.2s ease-out both}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .icon-link:hover .icon-link-label,.icon-link:focus-visible .icon-link-label{background-image:linear-gradient(110deg,var(--gold-shadow),var(--gold-highlight) 22%,var(--gold-light) 42%,#fff8d0 48%,var(--gold-mid) 72%,var(--gold-highlight));background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-shine 1s ease-out both}
}
@media(max-width:1000px) and (min-width:761px){.model-workspace{grid-template-columns:190px minmax(0,1fr);gap:20px}.case-page .model-states button{font-size:17px}}
@media(max-width:760px){
 .model-workspace{grid-template-columns:1fr;gap:16px}.model-viewport{grid-row:1}.model-control-panel{grid-row:2;padding:0}
 .case-page .model-stage{height:50svh;min-height:350px}.case-page .model-view-controls{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.case-page .model-view-group{width:auto}.case-page .model-states button,.case-page .model-states button[aria-pressed=true]{font-size:17px;min-height:43px}
 .model-utilities{justify-content:flex-start;margin-top:10px;padding-top:0}.case-page .model-inspector{margin-top:15px}
 .case-page .project-meta{gap:22px}.icon-links{gap:8px}.icon-links .icon-link{flex-basis:85px;width:85px;height:68px;min-height:68px}
 .about-icon-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.about-icon-links .icon-link{width:100%;max-width:none}.about-icon-links .icon-link-label{font-size:11px}
.sidebar-actions .morph-action .action-label,.sidebar-actions .morph-action.action-mail .action-label{font-size:11px}
 .aero-note{font-size:10px}.case-page>.page-footer{margin-top:45px}.home-about{grid-template-rows:auto 1fr auto auto}
}
@media(prefers-reduced-motion:reduce){.icon-link-glyph,.icon-link-label,.icon-link:after,.home-mascot:after{transition:none}.icon-link:hover .icon-link-label,.icon-link:focus-visible .icon-link-label,.home-mascot:hover:after{animation:none}}

.case-page .model-control-panel>.model-view-controls{order:0}
.case-page .model-control-panel>.model-utilities{order:1}
.case-page .data-utility{margin-left:auto}.case-page .data-toolbar .icon-link{background:none;border:0;box-shadow:none;width:72px;height:62px;min-height:62px;padding:0}
/* Warwolf uses the painted CAD assembly, with scroll space on either side. */
.case-page .warwolf-model{padding:0 var(--case-gutter);margin:0}.warwolf-model-stage{position:relative;width:100%;height:clamp(440px,65svh,720px);min-height:440px;overflow:hidden}.warwolf-model-stage model-viewer{display:block;width:100%;height:100%;background:transparent;--poster-color:transparent}.warwolf-model-stage>.warwolf-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:grayscale(1) invert(1);pointer-events:none}.warwolf-model-stage.is-loaded>.warwolf-poster{opacity:0}.warwolf-utilities{justify-content:flex-end;margin-top:8px}.warwolf-live-art model-viewer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;--poster-color:transparent;transition:transform .55s cubic-bezier(.2,.65,.3,1)}.warwolf-live-art.is-loaded>.warwolf-poster{opacity:0}.warwolf-cover.is-project-hover .warwolf-live-art model-viewer,.warwolf-cover.is-project-hover .warwolf-live-art model-viewer{transform:scale(1.055)}
@media(max-width:760px){.warwolf-model-stage{height:55svh;min-height:350px}.warwolf-cover .warwolf-live-art{inset:10% 0 20%}}
@media(prefers-reduced-motion:reduce){.warwolf-live-art model-viewer{transition:none}}

.sidebar .nav-project-warwolf>img{filter:none;mix-blend-mode:screen;opacity:.9;object-fit:cover;object-position:center 48%;transform:scale(1);mask-image:radial-gradient(ellipse at center,#000 25%,#000d 55%,transparent 90%);-webkit-mask-image:radial-gradient(ellipse at center,#000 25%,#000d 55%,transparent 90%)}
/* Part labels use the same unframed type and gold hover treatment as the navigation. */
.case-page .model-components{gap:8px 27px;align-items:center}
.case-page .model-components button,.case-page .model-components button:hover,.case-page .model-components button[aria-pressed=true]{position:relative;display:inline-flex;align-items:baseline;gap:9px;min-height:44px;margin:0;padding:10px 2px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--ink);font:700 15px/1.35 Arial,Helvetica,sans-serif;letter-spacing:-.025em;transform:none;text-align:left;cursor:pointer}
.model-components .component-index{font:400 11px/1.35 Arial,Helvetica,sans-serif;opacity:.55;letter-spacing:0;flex-shrink:0}
.case-page .model-components button:after{content:'';position:absolute;left:2px;right:2px;bottom:3px;height:1px;background:linear-gradient(90deg,var(--gold-shadow),var(--gold-highlight),var(--gold-mid));transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.case-page .model-components button:hover:after,.case-page .model-components button:focus-visible:after,.case-page .model-components button[aria-pressed=true]:after{transform:scaleX(1)}
.case-page .model-components button:focus-visible{outline-offset:5px}
.case-page .component-group{border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
.case-page .component-group summary{padding:16px 0;font:800 17px/1.3 Arial,Helvetica,sans-serif;letter-spacing:-.035em;color:var(--ink)}
.case-page .component-group summary:after{color:var(--ink)}
.case-page .component-group-items{padding:0 0 16px;gap:4px 24px}
.case-page .component-group-items button{flex:1 1 180px}
.case-page .hotspot-number{font:500 12px/1 Arial,Helvetica,sans-serif}
.case-page .hotspot-label{border:0;border-radius:0;background:#090909d9;color:var(--ink);font:600 12px/1.4 Arial,Helvetica,sans-serif}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .case-page .model-components button:hover,.case-page .model-components button:focus-visible,.case-page .model-components button[aria-pressed=true]{color:var(--ink);background:none;animation:none}
 .model-components button:hover .component-title,.model-components button:focus-visible .component-title,.model-components button[aria-pressed=true] .component-title{background-image:linear-gradient(110deg,var(--gold-shadow),var(--gold-highlight) 22%,var(--gold-light) 42%,#fff8d0 48%,var(--gold-mid) 72%,var(--gold-highlight));background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-shine 1s ease-out both}
}
@media(max-width:760px){.case-page .model-components{gap:4px 20px}.case-page .model-components button{font-size:14px}.case-page .component-group-items button{flex-basis:140px}}
@media(prefers-reduced-motion:reduce){.case-page .model-components button:after{transition:none}.model-components .component-title{animation:none!important}}
/* In-model dynamics guides and Brian's own explanation drawings. */
.dynamics-note{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:12px 0 0;font:11px/1.5 Arial,Helvetica,sans-serif;color:var(--ink)}.dynamics-note[hidden]{display:none}.dynamics-note>span:last-child{opacity:.55}.dynamics-key{display:inline-flex;align-items:center;gap:7px}.dynamics-key i{width:24px;height:2px;background:#ffcf55}.dynamics-key.reference i{background:repeating-linear-gradient(90deg,#fff 0 5px,transparent 5px 8px)}
.model-guide-label{--min-hotspot-opacity:1;opacity:1;display:block;pointer-events:none;color:var(--ink);background:#090909d9;border:0;border-bottom:1px solid var(--gold-mid);padding:4px 6px;font:500 11px/1.3 Arial,Helvetica,sans-serif;white-space:nowrap;transform:translate(-50%,-120%)}.model-guide-label.guide-reference{border-bottom-color:#ffffff80}.labels-off .model-guide-label{display:none}
.case-page .model-geometry{border:0;border-radius:0;background:none;padding:0;margin:0}.dynamics-drawing{margin:0}.dynamics-drawing img{display:block;width:100%;height:auto;max-height:420px;min-height:230px;object-fit:contain;background:#fff}.dynamics-drawing figcaption{padding-top:10px;font:11px/1.5 Arial,Helvetica,sans-serif;color:var(--ink)}.dynamics-drawing figcaption a{color:inherit;text-decoration:underline;text-underline-offset:3px}.dynamics-drawing figcaption a:hover{color:var(--accent)}
@media(max-width:760px){.dynamics-drawing img{height:auto;max-height:360px;min-height:180px}.dynamics-note{gap:8px 14px}.model-guide-label{font-size:10px}.case-page .model-inspector:has(.model-geometry:not([hidden])){gap:22px}}
/* A stable, borderless launch control alongside the existing reset icon. */
.warwolf-utilities .warwolf-launch{position:relative;display:grid;place-items:center;width:116px;height:72px;min-height:72px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--ink);font:800 18px/1.3 Arial,Helvetica,sans-serif;letter-spacing:-.03em;cursor:pointer;transform:none}
.warwolf-utilities .warwolf-launch:after{content:'';position:absolute;left:8px;right:8px;bottom:5px;height:1px;background:var(--gold-mid);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.warwolf-utilities .warwolf-launch:hover:after,.warwolf-utilities .warwolf-launch:focus-visible:after,.warwolf-model[data-launch-state=launching] .warwolf-launch:after{transform:scaleX(1)}
.warwolf-utilities .warwolf-launch:disabled{opacity:.55;cursor:default}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .warwolf-launch:hover:not(:disabled) .launch-label,.warwolf-launch:focus-visible .launch-label{background-image:linear-gradient(110deg,var(--gold-shadow),var(--gold-highlight) 22%,var(--gold-light) 42%,#fff8d0 48%,var(--gold-mid) 72%,var(--gold-highlight));background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-shine 1s ease-out both}
}
@media(prefers-reduced-motion:reduce){.warwolf-utilities .warwolf-launch:after{transition:none}.warwolf-launch .launch-label{animation:none!important}}

.home-light-section .menu-toggle[aria-expanded=false]{color:var(--bg)}
.home-light-section .menu-toggle[aria-expanded=false]:hover{color:var(--gold-shadow)}
/* Local project hit regions drive the shine; blank panel space stays neutral. */
.home-page .car-cover,.home-page .immersive-project{cursor:default}
.home-page .car-cover.is-project-hover,.home-page .immersive-project.is-project-hover{cursor:pointer}
.home-page .car-cover:focus-visible,.home-page .immersive-project:focus-visible{outline:none}
.home-page .car-cover:focus-visible .cover-caption strong,.home-page .immersive-project:focus-visible .immersive-caption h2{outline:1px solid currentColor;outline-offset:7px}
/* Override the shared accent rule's ID specificity on the white Warwolf panel. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 #home-warwolf.is-project-hover .immersive-caption h2{color:transparent;background-image:linear-gradient(110deg,#59400b 0%,#765719 22%,#856319 40%,#705016 52%,#533b0c 70%,#493208 88%,#3d2a06 100%)}
}

/* Resting titles reset immediately; polling is only for moving model geometry. */
#home-intro .car-cover:not(.is-project-hover) .cover-caption strong,
#home-bungee:not(.is-project-hover) .immersive-caption h2{color:var(--ink);-webkit-text-fill-color:var(--ink);background-image:none;animation:none}
#home-warwolf:not(.is-project-hover) .immersive-caption h2{color:var(--bg);-webkit-text-fill-color:var(--bg);background-image:none;animation:none}
#home-intro .cover-caption strong,#home-bungee .immersive-caption h2,#home-warwolf .immersive-caption h2{transition-property:transform;transition-duration:.25s}
