/* Keep supporting copy readable at normal browser zoom. */
:root{--muted:#aab8c8}
body{font-size:18px;line-height:1.7}
.desktop-nav{font-size:16px;gap:18px}
.desktop-nav a{font-size:16px;white-space:nowrap}
.header-contact{font-size:16px;white-space:nowrap;gap:16px}
.motion-toggle span{font-size:14px;color:#aebfd1}
.brand{flex-shrink:0}
.hero{height:auto;min-height:850px;min-height:max(850px,90svh)}
.hero-content{max-width:900px;padding-bottom:165px}
.hero-description{font-size:18px;max-width:550px;line-height:1.7}
.hero-role{font-size:14px;letter-spacing:1px;max-width:640px}
.hero-tagline{font-size:23px;line-height:1.5}
.hero-actions{gap:24px;row-gap:18px}
.hero-project small{font-size:14px;line-height:1.6}
.hero-controls button{min-width:40px;min-height:40px;font-size:15px}
.scroll-cue{font-size:14px}
.discipline-strip{font-size:14px;letter-spacing:.8px;flex-wrap:wrap;row-gap:16px}
.impact-strip{gap:32px;padding-top:42px;padding-bottom:42px;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(200px,.95fr)}
.impact-strip p{font-size:16px;line-height:1.65;color:#b6c4d4;max-width:250px;margin-top:12px}
.impact-strip small{font-size:14px;color:#a7bad0;letter-spacing:.5px}
.impact-strip>a{font-size:16px;gap:10px 18px}
.impact-strip strong{font-size:56px}
.section-intro{font-size:18px;line-height:1.7;max-width:450px}
.current-work .section-intro{max-width:420px}
.eyebrow{font-size:14px;letter-spacing:1.3px;line-height:1.65}
.project-info h3{line-height:1.4}
.project-category,.project-number,.gallery-caption{color:#acbed1}
.project-top-tag,.video-tag{font-size:13px;letter-spacing:1px}
.current-card>p:not(.eyebrow),.current-card li,.current-card details p,.hardware-intro p:not(.eyebrow),.hardware-specs p{font-size:17px;line-height:1.7}
.current-card .eyebrow,.development-note,.current-tags span{font-size:13px;line-height:1.6;letter-spacing:.5px;color:#afc5dc}
.current-tags{gap:9px}
.current-tags span{padding:6px 10px}
.current-card ul{padding-left:20px}
.geofusion-card #geofusion-step-description{font-size:17px;line-height:1.7;min-height:115px}
.geofusion-controls button{font-size:15px;min-height:44px;padding:10px;gap:8px}
.geofusion-controls button span{font-size:13px}
.geofusion-study figcaption,.field-visual figcaption,.field-visual-bar{font-size:13px;line-height:1.65;letter-spacing:.4px;flex-wrap:wrap}
.geofusion-study svg text,.field-visual svg text{font-size:12px;letter-spacing:.6px}
.field-heading .eyebrow,.field-panel .eyebrow,.field-capability>span{font-size:14px;letter-spacing:.9px;line-height:1.7}
.field-heading p:last-child:not(.eyebrow),.field-panel>p:not(.eyebrow),.field-capability p{font-size:18px;line-height:1.7}
.field-heading .field-lead{font-size:24px;line-height:1.55}
.field-panel>p:not(.eyebrow){min-height:160px}
.field-steps{flex-wrap:wrap}
.field-steps button{font-size:15px;min-width:120px;min-height:44px;padding:10px}
.field-note{font-size:15px;color:#b0c4d8}
.field-capability h3{font-size:21px;line-height:1.5}
.hardware-specs h4{font-size:19px;line-height:1.5}
.hardware-badge{font-size:13px;line-height:1.7;letter-spacing:.5px}
.film-toolbar{flex-wrap:wrap}
.film-filters{gap:22px}
.filter{font-size:16px;flex-shrink:0}
.filter sup{font-size:13px}
.film-more-row .text-button,.vimeo-profile-link,.hardware-link,.current-inquiry a,.current-inquiry p,.public-project>a{font-size:16px;line-height:1.7}
.public-project{align-items:flex-start;flex-wrap:wrap}
.public-project p:last-child{font-size:17px;line-height:1.7}
.current-inquiry{flex-wrap:wrap}
.current-inquiry p{max-width:750px}
.experience-intro>p:not(.eyebrow),.career-text p{font-size:17px;line-height:1.75}
.career-entry summary strong{font-size:20px}
.career-entry summary small{font-size:16px}
.career-date,.experience-intro small{font-size:14px;color:#b0c5da;letter-spacing:.6px}
.career-filters{flex-wrap:wrap;row-gap:20px}
.career-filters button{font-size:15px;min-height:36px}
.career-entry summary>span{min-width:0}
.lab-bar,.lab-caption,.lab-hint{font-size:14px;color:#a9c0d6;line-height:1.7;letter-spacing:.4px}
.lab-bar{flex-wrap:wrap}
.lab-options>div{flex-wrap:wrap;gap:18px}
.lab-options button,.lab-options label,.lab-options output{font-size:15px;color:#adc3d9}
.lab-options button{min-height:36px}
.lab-options output{min-width:42px}
.lab-stage #form-spin{font-size:14px;min-height:40px;right:15px;bottom:15px;padding:5px 10px;background:#09131ed9;border:1px solid #455f79}
.expertise-detail p,.project-details p,.project-details small{font-size:17px;line-height:1.75}
.expertise-detail>span{font-size:13px;letter-spacing:.8px;line-height:1.8}
.expertise summary{font-size:21px;line-height:1.5}
.expertise-number{font-size:14px;flex-shrink:0}
.site-footer p,.site-footer>span,.site-footer>a:last-child,.video-footer p,.video-footer a{font-size:14px;line-height:1.7;color:#abbdd0}
.site-footer{flex-wrap:wrap;gap:25px}
.professional-links{font-size:16px;gap:24px;flex-wrap:wrap}
.video-footer{flex-wrap:wrap}
.video-footer p{max-width:100%;flex:1 1 500px}
.video-dialog .dialog-top h2{font-size:18px}
.video-footer a{color:var(--blue)}
.hero-description,.section-intro,.current-card,.hardware-specs article,.field-panel,.career-timeline{min-width:0}
@media(max-width:1360px){
 .desktop-nav{display:none}
 .site-header{gap:20px}
 .motion-toggle{margin-left:auto}
 .menu-toggle{display:flex;width:32px;height:44px;flex-shrink:0;flex-direction:column;justify-content:center;gap:7px}
 .menu-toggle span{height:1px;width:25px;background:#c7d5e4}
 .mobile-nav:not([hidden]){display:flex;position:absolute;top:100%;left:0;right:0;padding:25px var(--gutter);background:#101820;border-bottom:1px solid var(--line);flex-direction:column;gap:10px;max-height:calc(100svh - 88px);overflow-y:auto;font-size:18px}
 .mobile-nav a{padding:8px 0;line-height:1.5}
 .impact-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
 .impact-strip>a{grid-column:1/-1;justify-self:stretch;border-left:0;border-top:1px solid var(--line);padding:20px 0 0;grid-template-columns:1fr auto auto;align-items:center}
 .impact-strip>a>span{grid-row:1;grid-column:3}
 .impact-strip small{grid-row:1;grid-column:2}
}
@media(max-width:1000px){
 .field-heading{grid-template-columns:1fr;gap:26px}
 .field-heading p:last-child:not(.eyebrow){max-width:720px}
 .field-heading .field-lead{font-size:23px}
 .field-capabilities{grid-template-columns:1fr;gap:26px}
 .field-capability p{max-width:720px}
 .current-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .geofusion-card,.hardware-card{grid-column:1/-1}
 .geofusion-card #geofusion-step-description{min-height:0}
 .current-card:not(.geofusion-card):not(.hardware-card){grid-column:auto}
 .hardware-card{grid-template-columns:1fr}
 .hardware-intro p:not(.eyebrow){max-width:650px}
 .experience{grid-template-columns:1fr;gap:35px}
 .experience-intro{position:static}
 .experience-intro>p:not(.eyebrow){max-width:650px}
}
@media(max-width:600px){
 .site-header{gap:12px}
 .header-contact{font-size:14px;padding:10px 12px;gap:10px}
 .brand{font-size:23px;gap:8px}
 .brand-icon{width:25px}
 .motion-toggle{margin-left:auto;gap:0;font-size:18px}
 .motion-toggle span{display:none}
 .menu-toggle{width:28px;margin-left:0}
 .hero{min-height:0}
 .hero-content{padding-top:65px;padding-bottom:170px;max-width:none}
 .hero-description{font-size:17px;max-width:none;line-height:1.7}
 .hero-tagline{font-size:21px;max-width:none;line-height:1.55}
 .hero-role{font-size:13px;letter-spacing:.7px;max-width:none;line-height:1.7}
 .hero .eyebrow{font-size:13px;line-height:1.7;letter-spacing:1px;flex-wrap:wrap}
 .hero-actions{max-width:none;gap:18px 22px}
 .hero-actions .button{font-size:15px;padding:16px 20px}
 .hero-actions .reel-button,.hero-talk{font-size:15px}
 .hero-bottom{bottom:30px;gap:18px}
 .hero-project{gap:10px;max-width:58%}
 .hero-project strong{font-size:16px;line-height:1.5}
 .hero-project small{font-size:13px;line-height:1.5}
 .hero-project .circle-arrow{display:none}
 .hero-controls{gap:3px}
 .hero-controls button{min-width:30px;font-size:14px}
 .discipline-strip{font-size:13px;gap:12px 16px}
 .impact-strip{grid-template-columns:minmax(0,1fr);gap:0;padding-top:20px;padding-bottom:25px}
 .impact-strip>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
 .impact-strip strong{font-size:52px}
 .impact-strip p{font-size:16px;line-height:1.6;max-width:none;margin:0}
 .impact-strip>a{border-top:0;font-size:16px;gap:14px}
 .impact-strip small{font-size:13px;letter-spacing:0}
 .section-intro{font-size:17px;line-height:1.7}
 .section-heading .eyebrow,.current-work .eyebrow,.field-heading .eyebrow{font-size:13px;line-height:1.7;letter-spacing:.8px}
 .current-grid{grid-template-columns:minmax(0,1fr)}
 .current-card,.current-card:last-child{grid-column:auto}
 .current-card .eyebrow,.development-note,.current-tags span{font-size:13px}
 .geofusion-controls{flex-wrap:wrap;gap:7px}
 .geofusion-controls button{font-size:14px;padding:10px 5px;gap:5px}
 .geofusion-study figcaption,.field-visual figcaption{font-size:13px;flex-direction:column;gap:5px}
 .geofusion-study svg text,.field-visual svg text{display:none}
 .geofusion-card #geofusion-step-description{font-size:17px;min-height:0}
 .field-heading .field-lead{font-size:22px}
 .field-heading p:last-child:not(.eyebrow),.field-panel>p:not(.eyebrow),.field-capability p{font-size:17px}
 .field-steps{gap:8px}
 .field-steps button{font-size:14px;min-width:90px;flex:1 1 90px;padding:10px 6px}
 .field-panel>p:not(.eyebrow){min-height:0}
 .field-panel .eyebrow,.field-capability>span{font-size:13px}
 .field-note{font-size:15px}
 .hardware-specs{grid-template-columns:1fr}
 .film-filters .filter,.filter{font-size:15px;min-height:42px;padding-top:10px}
 .film-filters{gap:10px 18px}
 .motion-info h3{font-size:20px;line-height:1.4}
 .motion-card>p{font-size:16px}
 .project-info h3{font-size:18px}
 .project-category{font-size:14px;line-height:1.65}
 .project-top-tag,.video-tag{font-size:12px;letter-spacing:.5px}
 .video-duration{font-size:13px}
 .public-project p:last-child{font-size:17px}
 .about-copy>p:not(.eyebrow):not(.about-lead){font-size:17px;line-height:1.75}
 .about-meta{flex-wrap:wrap;gap:24px}
 .about-meta span,.about-meta a{font-size:15px;line-height:1.7}
 .experience-intro>p:not(.eyebrow),.career-text p{font-size:17px}
 .career-entry summary strong{font-size:19px}
 .career-entry summary small{font-size:16px}
 .career-filters{gap:12px 22px}
 .career-filters button{font-size:15px}
 .expertise summary{font-size:20px}
 .expertise-detail{padding-left:0}
 .expertise-detail p{font-size:17px}
 .lab-options button,.lab-options label,.lab-options output{font-size:15px}
 .lab-options label{flex-wrap:wrap}
 .lab-bar,.lab-caption,.lab-hint{font-size:13px}
 .contact .eyebrow{font-size:13px;line-height:1.7;letter-spacing:.8px}
 .contact-bottom p{font-size:17px}
 .site-footer p,.site-footer>span,.site-footer>a:last-child{font-size:14px}
 .professional-links{font-size:16px;gap:18px}
 .professional-links>span{width:100%;margin-right:0}
 .dialog-title-row>p{font-size:15px}
 .project-dialog .dialog-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center}
 .project-dialog .dialog-eyebrow{grid-column:1/-1;font-size:13px;letter-spacing:.8px;line-height:1.6}
 .project-dialog .share-project{justify-self:start;white-space:nowrap;font-size:14px;padding:3px 0}
 .project-dialog .dialog-close{grid-column:2;grid-row:2}
 .dialog-body{padding:24px 20px}
 .project-details p,.project-details small{font-size:17px}
 .video-footer p{font-size:15px}
 .video-dialog .dialog-top h2{font-size:17px}
}
