/* Keep navigation and controls outside the content viewport. */
:root{--panel-bottom:76px}
#skip-animation{bottom:12px;right:var(--page-margin);margin:0}
#devmode{left:12px;right:auto;bottom:12px;width:auto;max-width:calc(100vw - 24px)}
#devmode:not([open]) summary{font-size:9px;padding:7px 8px}
#devmode:not([open]) summary span{display:none}
#devmode:not([open]){padding:0;width:auto}
.mobile-menu-toggle,.mobile-sections{display:none}
.project-card-label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
.project-card-label>span:first-child{min-width:0;overflow-wrap:anywhere}
.project-card-label .gallery-open{position:static;margin:0;justify-self:end;flex:none}
.eyebrow,.render-kicker,.project-place{overflow-wrap:anywhere}
.approach-copy>.eyebrow,.byat-copy>.render-kicker{margin:12px 0 16px;padding-top:12px;border-top:var(--brand-border-width) solid currentColor;font-size:var(--ds-caption-size-base-2);line-height:var(--ds-caption-line-base-1);letter-spacing:var(--ds-caption-tracking-base-1);}
.pan-icon{display:none}
@media(max-width:1100px){
 #page-scroll-indicator>img{display:none}
 #page-scroll-indicator .pan-icon{display:block;width:30px;height:54px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;animation:pan-hint 2s ease-in-out infinite}
 #page-scroll-indicator{color:var(--brand-white);width:30px}
 #page-scroll-indicator.is-on-light{color:var(--brand-plum)}
}
@keyframes pan-hint{0%,100%{transform:translateY(-3px)}60%{transform:translateY(4px)}}
@media(max-width:900px){
 :root{--panel-top:108px;--panel-bottom:72px}
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{top:10px;min-height:0;padding:10px 12px;border-radius:calc(var(--brand-radius) * 0.8333333333333334);display:block}
 .site-header .header-timeline{display:grid;grid-template-columns:42px 16px repeat(3,minmax(0,1fr));gap:0;width:100%;height:64px}
 .site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){display:flex;flex-direction:column;min-height:64px;padding:0 3px 20px;border-radius:0;font-size:12px;line-height:1.15;background:none}
 .site-header .timeline-label{margin:auto 0;white-space:normal;max-width:100%;min-height:0;line-height:1.15}
 .site-header .timeline-home{grid-column:1;grid-row:1}
 .site-header .timeline-home .brand-logo{width:28px;height:28px}
 .site-header .timeline-dot{display:block;bottom:3px;width:9px;height:9px}
 .site-header .timeline-line{display:block;left:21px;right:calc((100% - 58px)/6);bottom:6px;height:2px}
 .site-header .timeline-line i{display:none}
 .site-header .header-timeline:after{content:'';grid-column:2;grid-row:1;border-bottom:2px dotted var(--brand-muted);align-self:end;margin-bottom:6px;z-index:1;background:var(--brand-plum)}
 .site-header .header-timeline .mobile-rail-hidden{display:none!important}
 .site-header .timeline-projects{grid-row:1;grid-column:auto;display:flex}
 .site-header .header-timeline>.mobile-rail-item{grid-row:1}
 .site-header .projects-menu{display:none}
 .site-header [aria-current=location] .timeline-label{color:var(--brand-primary)}
 .mobile-menu-toggle{display:flex;align-items:center;gap:8px;position:fixed;bottom:12px;right:var(--page-margin);height:40px;padding:8px 12px;border:var(--brand-border-width) solid currentColor;border-radius:var(--brand-radius);background:color-mix(in srgb, var(--brand-plum) 86.275%, transparent);color:var(--brand-white);z-index:45;font-size:13px;backdrop-filter:blur(var(--brand-blur))}
 .mobile-menu-toggle.is-on-light{color:var(--brand-plum);background:color-mix(in srgb, var(--brand-white) 90.196%, transparent)}
 #skip-animation{bottom:12px;right:calc(var(--page-margin) + 96px);height:40px;padding:8px 12px;font-size:12px}
 #devmode:not([open]){bottom:18px;left:5px;max-width:48px}
 #devmode:not([open]) summary{font-size:0;padding:5px}
 #devmode:not([open]) summary:after{content:'DEV';font-size:8px}
 .mobile-sections[open]{display:block;position:fixed;inset:auto var(--page-margin) 64px auto;width:min(340px,calc(100vw - 2 * var(--page-margin)));max-height:calc(100dvh - 180px);margin:0;padding:20px;overflow:auto;border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 37.647%, transparent);border-radius:calc(var(--brand-radius) * 0.9166666666666666);background:color-mix(in srgb, var(--brand-plum) 92.941%, transparent);color:var(--brand-white);backdrop-filter:blur(20px)}
 .mobile-sections::backdrop{background:color-mix(in srgb, var(--brand-ink) 46.667%, transparent)}
 .mobile-sections header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:18px}
 .mobile-sections header button{font-size:24px;width:36px;height:36px}
 .mobile-sections nav{display:grid;gap:4px}
 .mobile-sections nav a{display:block;padding:12px;border-radius:10px;font-size:15px}
 .mobile-sections nav a[aria-current=location]{background:color-mix(in srgb, var(--brand-white) 12.549%, transparent);color:var(--brand-primary)}
 .project-card-label{padding:14px;font-size:17px;gap:10px}
 .project-card-label .gallery-open{font-size:11px;padding:8px 10px}
 .contact .contact-pin{position:sticky;top:0;height:100svh;min-height:0;padding:var(--panel-top) var(--page-margin) var(--panel-bottom);gap:12px;overflow:hidden}
 .contact .contact-copy{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}
 .contact-copy h2{font-size:clamp(28px,4.5vw,40px);line-height:1.05;margin:0 0 12px}
 .contact .contact-manifesto{display:none}
 .contact .contact-paths{margin:0;gap:var(--ds-box-spacing-mobile-22);flex:1;min-height:0}
 .contact .contact-path{padding:var(--ds-box-spacing-mobile-23);min-height:0;gap:var(--ds-box-spacing-mobile-24);}
 .contact .contact-path h3{font-size:var(--ds-heading-size-mobile-15);line-height:var(--ds-heading-line-mobile-3);margin:0}
 .contact .contact-path h3 br{display:none}
 .contact .contact-path p{font-size:var(--ds-body-size-mobile-9);line-height:var(--ds-body-line-mobile-7);margin:0}
 .contact .contact-paths .eyebrow{font-size:var(--ds-caption-size-mobile-5);letter-spacing:var(--ds-caption-tracking-mobile-1);margin:0}
 .contact .contact-paths .contact-cta{font-size:12px;line-height:1.25;padding:var(--ds-box-spacing-mobile-25);gap:var(--ds-box-spacing-mobile-22);}
 .contact footer{position:static;display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;flex:none;padding-top:9px;font-size:10px;line-height:1.3;margin:0}
 .contact footer>a:first-child{margin:0}
 .contact footer>a[href^='mailto:']{grid-column:1/-1;font-size:11px}
 .contact footer>a:last-child{display:none}
 .contact footer>span:nth-last-child(2){position:absolute;right:var(--page-margin);bottom:var(--panel-bottom);font-size:9px}
}
@media(min-width:601px) and (max-width:899px){
 .hero-glass{display:grid;grid-template-columns:minmax(0,1fr) clamp(140px,24vw,210px);flex-wrap:nowrap;gap:var(--ds-box-spacing-mobile-26);padding:var(--ds-box-spacing-mobile-27);scale:none;width:100%;max-width:100%}
 .hero-copy{display:contents}
 .hero-glass h1{grid-column:1;grid-row:1;font-size:var(--ds-display-size-mobile-6);align-self:center}
 .hero-profile{grid-column:2;grid-row:1;order:0;width:100%;max-width:100%;height:auto}
 .hero-intro{grid-column:1/-1;grid-row:2;font-size:var(--ds-body-size-mobile-10);line-height:var(--ds-body-line-mobile-8);margin:0;max-width:none}
 .journey-hero .journey-pin{padding:var(--panel-top) var(--page-margin) var(--panel-bottom)}
 .contact .contact-copy{justify-content:center}
 .contact .contact-paths{flex:none;min-height:260px;max-height:380px}
}
@media(max-width:600px){
 :root{--panel-top:108px;--panel-bottom:72px}
 .contact .contact-paths{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
 .hero-scroll-hint{bottom:76px}
 .site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:11px}
 .contact .contact-path{padding:var(--ds-box-spacing-mobile-28);}
}
@media(max-width:900px) and (max-height:570px){
 .journey-hero .journey-pin{padding:var(--panel-top) var(--page-margin) var(--panel-bottom)}
 .hero-glass{grid-template-columns:minmax(0,1fr) 100px;padding:var(--ds-box-spacing-mobile-29);gap:var(--ds-box-spacing-mobile-30);}
 .hero-glass h1{font-size:var(--ds-display-size-mobile-7);}
 .hero-profile{width:100px;max-width:100px}
 .hero-intro{font-size:var(--ds-body-size-mobile-11);line-height:var(--ds-body-line-mobile-9);}
 .hero-scroll-hint{display:none}
 .contact .contact-copy{overflow:auto;flex:1;padding-bottom:8px}
 .contact .contact-copy>h2{position:sticky;top:0;background:var(--brand-ink);z-index:2;font-size:24px;padding:5px 0}
 .contact .contact-paths{flex:none;grid-template-columns:1fr 1fr;grid-template-rows:auto;min-height:0;max-height:none}
 .contact .contact-copy{justify-content:flex-start}
 .contact footer{font-size:9px;gap:2px 8px;padding-top:4px}
 .contact .contact-path{padding:var(--ds-box-spacing-mobile-31);gap:var(--ds-box-spacing-mobile-32);}
 .contact .contact-path h3{font-size:var(--ds-heading-size-mobile-16);}
 .contact .contact-path>p:not(.eyebrow){display:none}
 .contact .contact-paths .contact-cta{font-size:11px}
 .contact .contact-copy>h2{margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){.pan-icon{animation:none!important}.static-journey .contact .contact-pin{height:auto;overflow:visible;min-height:100svh}}
