/* Mobile behavior, safe areas, and comfortable reading and touch controls. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.tour-label-short{display:none}
@media screen and (max-width:740px){
 :root{--mobile-header-height:calc(72px + env(safe-area-inset-top,0px))}
 html{scroll-padding-top:calc(var(--mobile-header-height) + 16px)}
 body{overflow-wrap:break-word}
 .wrap{width:auto;margin-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px))}
 .header-shell{background:#091722;backdrop-filter:none}
 .header{width:auto;margin-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px));height:var(--mobile-header-height);min-height:var(--mobile-header-height);padding:env(safe-area-inset-top,0px) 0 0;flex-wrap:nowrap;gap:14px}
 .header .brand{gap:10px;min-width:0}
 .header .brand-mark{width:38px;height:38px;flex-shrink:0}
 .header .brand small{font-size:8px;letter-spacing:1.6px}
 .mobile-toggle{min-width:86px;min-height:46px;font:14px/1.4 var(--body);padding:11px 13px;justify-content:center;gap:10px;flex-shrink:0;touch-action:manipulation}
 .mobile-toggle[aria-expanded=true]{border-color:#79c6c0;color:#acebe2;background:#173b44}
 html.nav-ready .header nav{position:fixed;top:var(--mobile-header-height);bottom:0;left:0;right:0;width:auto;height:calc(100dvh - var(--mobile-header-height));max-height:none;margin:0;padding:15px max(20px,env(safe-area-inset-right,0px)) max(22px,env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));background:#0c202e;overflow-y:auto;overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:5px 10px;border-top:1px solid #34515e;box-shadow:0 14px 35px #0005}
 html.nav-ready .header nav.is-open{display:grid;max-height:none}
 .header nav .main-nav-link{font-size:16px;line-height:1.4;min-height:48px;padding:12px 14px;border-radius:5px;border:1px solid transparent;display:flex;align-items:center;white-space:normal}
 .header nav .main-nav-link:after{display:none}
 .header nav .main-nav-link.current{background:#20434a;border-color:#497e82;color:#b5f0e5}
 .header nav .mobile-app-links{grid-column:1/-1;display:grid;grid-template-columns:1fr;margin-top:11px;padding:17px 14px 5px;border-top:1px solid #3a5968;gap:0}
 .mobile-app-links>span{font-size:11px;letter-spacing:1.1px;margin-bottom:7px}
 .mobile-app-links>a{font-size:15px;min-height:48px;padding:12px 0;color:#b0e8df;border-bottom:1px solid #294452}
 .header nav .mobile-brief-link{grid-column:1/-1;display:flex;font-size:14px;min-height:48px;padding:12px 14px;border-top:0;color:#c1d6df}
 body.mobile-nav-open{position:fixed;top:var(--menu-scroll-top);left:0;right:0;width:100%;overflow:hidden}
 body.mobile-nav-open .header-shell{position:relative;top:calc(-1 * var(--menu-scroll-top))}
 body.mobile-nav-open .header{position:static}
 body :is(a,button,input,select,summary){touch-action:manipulation}
 body :is(button,.button,summary){min-height:44px}
 body .button{min-height:48px!important;line-height:1.45;white-space:normal;text-align:center}
 .text-link{min-height:44px}
 :is(main,footer) a:focus-visible,:is(main,footer) button:focus-visible{outline-offset:3px}
 input,select,textarea{font-size:16px!important}
 .portfolio-opening .portfolio-intro-grid{margin-top:24px;gap:26px;padding-bottom:25px}
 .portfolio-opening .opening-overline{font-size:10px;letter-spacing:1px;margin-bottom:15px}
 .portfolio-opening .portfolio-intro-copy h1{font-size:clamp(32px,8.1vw,49px);line-height:1.14;letter-spacing:-1.3px}
 .portfolio-opening .portfolio-intro-copy>p:not(.opening-overline){font-size:16px;line-height:1.75;margin-block:19px 23px}
 .portfolio-opening .portfolio-intro-actions{display:grid;grid-template-columns:1fr;gap:11px}
 .portfolio-opening .portfolio-intro-actions .button{font-size:15px;padding:14px 20px;justify-content:space-between}
 .opening-profile{justify-content:space-between;gap:8px;margin-top:14px}
 .opening-profile>span{display:none}
 .opening-profile a{font-size:13px;min-height:44px}
 .opening-product{padding:15px;border-radius:8px}
 .opening-product-top{font-size:9px;letter-spacing:.5px;gap:8px}
 .opening-product figcaption>div>span{font-size:10px;letter-spacing:.6px}
 .opening-product figcaption p{font-size:14px;line-height:1.6}
 .opening-product figcaption>a{font-size:14px;min-height:44px}
 .opening-product-note{font-size:11px;line-height:1.7}
 .opening-product-note>a{font-size:13px;min-height:44px}
 .opening-paths span{font-size:10px;letter-spacing:.7px}
 .opening-paths strong{font-size:15px}
 .section-heading .eyebrow,.page-intro .eyebrow,.work-intro .eyebrow{font-size:11px;line-height:1.6;letter-spacing:1px}
 .hub-page :is(.page-lead,.work-intro-copy>p,.profile-copy>p:not(.eyebrow),.lab-overview .large-copy,.lab-feature-copy>p:not(.eyebrow),.lab-page-hero .page-lead,.section-heading>p,.section-heading>div>p:not(.eyebrow)){font-size:16px;line-height:1.75}
 .hub-page :is(.section-heading .text-link,.featured-links a,.development-strip>a>span,.review-path-footer,.professional-next-actions .text-link){font-size:14px;min-height:44px}
 .featured-product>p,.review-path-grid p,.professional-next p:not(.eyebrow){font-size:16px;line-height:1.75}
 .featured-links{flex-wrap:wrap;gap:5px 22px;padding-top:10px}
 .featured-caption span,.review-path-label{font-size:11px;letter-spacing:.7px}
 .professional-next-actions{align-items:stretch}
 .professional-next-actions .button{font-size:14px;justify-content:space-between}
 .professional-next-actions .text-link{justify-content:space-between}
 .page-projects .project-controls{gap:20px}
 .page-projects .project-filters{display:grid;grid-template-columns:1fr;gap:8px}
 .page-projects .project-filters button{font-size:14px;min-height:46px;text-align:left;padding:12px 15px;display:flex;justify-content:space-between;align-items:center}
 .page-projects .project-filters span{font-size:12px}
 .page-projects .project-search>span{font-size:13px}
 .page-projects .project-search input{min-height:48px}
 .project-focus-bar>span{font-size:11px}
 .project-focus-bar>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}
 .project-focus-bar button{font-size:13px;min-height:44px;padding:10px 9px;border:1px solid #3d5967;border-radius:6px}
 .page-projects .work-results .results-count{font-size:12px;line-height:1.6}
 .reset-projects,.project-share .text-link{font-size:13px;min-height:44px}
 .page-projects .work-card .project-card-body{padding:24px 20px}
 .page-projects .work-card .project-card-body>p{font-size:16px;line-height:1.75}
 .work-card .project-card-meta>span:first-child{font-size:10px;letter-spacing:.6px;max-width:none}
 .work-card .release-label{font-size:11px;white-space:normal}
 .work-card .work-focus>span{font-size:10px}
 .work-card .work-focus strong{font-size:15px}
 .work-card .tech-chip{font-size:12px}
 .work-card .project-card-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
 .work-card .project-card-actions .button,.work-card .project-card-actions>.text-link{font-size:14px;justify-content:space-between}
 .page-projects .scope-note{padding:20px}
 .page-projects .scope-note p{font-size:14px;line-height:1.8}
 .scope-note .text-link{font-size:14px}
 .page-apps .app-center-intro p:not(.eyebrow),.live-app-card .app-entry-note,.live-app-card .app-description{font-size:16px;line-height:1.75}
 .page-apps .launcher-intro-copy>.text-link{display:flex;font-size:14px;min-height:44px;margin:4px 0;gap:14px}
 .live-app-card .app-secondary-links>a,.live-app-card .app-share>button{display:flex;align-items:center;font-size:14px;min-height:44px;gap:12px;line-height:1.5}
 .live-app-card .app-address{font-size:12px;overflow-wrap:anywhere}
 .live-app-card .app-release,.live-app-card .app-status{font-size:12px}
 .live-app-card .card-connection>a{display:flex;align-items:center;min-height:44px;font-size:13px}
 .app-faq summary{font-size:16px;line-height:1.5;padding-block:15px}
 .app-faq p,.check-details p,.app-next p{font-size:15px;line-height:1.75}
 .app-faq a,.check-details summary{display:flex;align-items:center;min-height:44px;font-size:14px;gap:12px}
 .connection-links .connection-copy strong{font-size:17px}
 .connection-links .connection-copy small,.connection-release,.connection-card-footer .app-status{font-size:12px;line-height:1.6}
 .circle-link{width:44px;height:44px}
 .product-tour{scroll-margin-top:90px}
 .tour-heading>div>p:not(.eyebrow){font-size:16px;line-height:1.75}
 .tour-heading .button{font-size:14px}
 .tour-selector{padding:10px}
 .tour-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .tour-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:70px;padding:11px 5px;text-align:center}
 .tour-tabs .tour-number{align-self:auto;font-size:11px;line-height:1.2}
 .tour-tabs strong{font-size:14px;line-height:1.4}
 .tour-tabs :is(small,.tour-tab-arrow,.tour-label-full){display:none}
 .tour-label-short{display:inline}
 .tour-panel-copy{padding:23px 20px}
 .tour-panel-label,.tour-panel-footer>span{font-size:11px;line-height:1.7;letter-spacing:.4px}
 .tour-panel-copy>p{font-size:16px;line-height:1.75}
 .tour-panel-footer a{font-size:14px;min-height:44px}
 .tour-image>span{font-size:11px;min-height:35px;padding:8px 10px}
 .study-page .study-intro{font-size:16px;line-height:1.75}
 .study-page .study-question p,.study-section-title>p,.decision>p,.tradeoff p,.scenario-panel p,.review-next p{font-size:16px;line-height:1.75}
 .study-page .study-actions{flex-wrap:wrap;gap:12px 22px}
 .study-page .study-actions .text-link{font-size:14px}
 .study-meta{gap:18px}
 .study-meta strong{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
 .study-page .study-nav{position:static;display:grid;grid-template-columns:1fr 1fr;gap:5px;padding-block:15px;font-size:14px}
 .study-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px;border:1px solid #395969;border-radius:5px}
 .study-section,.scenario-section{scroll-margin-top:90px}
 .scenario-tabs{display:flex;flex-wrap:wrap;gap:7px}
 .scenario-tabs button{font-size:14px;min-height:44px;padding:10px 13px}
 .architecture{padding:18px}
 .arch-node{padding:15px;min-width:0}
 .arch-node h3,.arch-boundary h3{font-size:17px;line-height:1.4}
 .arch-node p,.arch-boundary p{font-size:14px;line-height:1.7}
 .arch-caption{font-size:12px;line-height:1.7}
 .record-note,.evidence-status,.case-product-preview figcaption{font-size:12px;line-height:1.8}
 .evidence-path,.evidence-index code{font-size:12px;overflow-wrap:anywhere;word-break:break-word;white-space:normal}
 .evidence-record{padding:22px 20px}
 .evidence-record ul{font-size:15px;line-height:1.8;padding-left:20px}
 .study-bottom-actions .button{font-size:14px}
 .study-bottom-actions{min-width:0}
 .study-page .launch-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}
 .study-page .launch-actions .button{font-size:14px;justify-content:space-between}
 .study-page .launch-note{font-size:12px;line-height:1.7}
 .practice-row>div>p,.method-grid p,.capability-grid p,.path-grid p,.lens-grid p{font-size:16px;line-height:1.75}
 .request-context{display:grid;grid-template-columns:1fr;gap:12px}
 .request-context>div{display:flex!important;justify-content:space-between;gap:15px}
 .request-context dt{font-size:11px;margin:0!important;line-height:1.6}
 .request-context dd{font-size:14px;line-height:1.6}
 .lab-tabs{display:flex;flex-wrap:wrap;gap:6px}
 .lab-tabs button{font-size:13px;min-height:44px;padding:10px}
 .access-result p{font-size:14px;line-height:1.75}
 .inquiry-panel{padding:24px 20px}
 .inquiry-panel form label,.prepared-draft>label{font-size:14px}
 .inquiry-panel input,.inquiry-panel select{min-height:50px}
 .inquiry-panel textarea{min-height:160px}
 .inquiry-panel .button{font-size:15px;min-height:50px!important}
 .inquiry-panel .form-note{font-size:12px;line-height:1.75}
 .inquiry-panel>p,.prepared-draft>p:not(.eyebrow){font-size:15px;line-height:1.75}
 .draft-actions{flex-direction:column;align-items:stretch;gap:10px}
 .inquiry-panel .draft-actions .button{width:100%}
 .draft-actions .text-link{font-size:14px;justify-content:center}
 .email-direct{font-size:clamp(17px,5.2vw,23px);gap:8px}
 .gallery-dialog{width:calc(100% - 16px);max-width:none;max-height:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:16px;border-radius:9px;overscroll-behavior:contain}
 .gallery-dialog-toolbar{position:sticky;top:-16px;background:#0a202c;z-index:2;padding:10px 0 12px;margin-top:-10px;gap:12px}
 .gallery-dialog-toolbar h2{font-size:19px;line-height:1.35}
 .gallery-dialog button{min-height:44px;padding:10px 13px;font-size:13px}
 .gallery-dialog-toolbar button{flex-shrink:0;white-space:nowrap}
 .gallery-dialog .gallery-dialog-image{height:36dvh;min-height:160px;touch-action:pan-x pan-y pinch-zoom}
 .gallery-view-tools>span,.gallery-dialog [data-gallery-caption]{font-size:12px;line-height:1.7}
 .gallery-project-actions .button,.gallery-project-actions .text-link{font-size:13px;min-height:44px}
 .gallery-share-status,.gallery-share label{font-size:12px}
 .film-copy>p:not(.film-note){font-size:16px;line-height:1.75}
 .film-copy .film-note,.film-meta,.gallery-item figcaption>p,.lab-artwork figcaption{font-size:12px;line-height:1.75}
 .film-actions .text-link,.film-download,.film-transcript-link,.film-transcript summary,.film-transcript a{font-size:14px;min-height:44px}
 .film-transcript li p{font-size:14px;line-height:1.75}
 .showcase-jumps a{font-size:14px;min-height:44px}
 .brief-tools{display:flex;flex-direction:column;align-items:stretch}
 .brief-tools>a:first-child{margin-right:0;min-height:44px}
 .brief-tools .button{font-size:14px}
 .brief-contact{min-width:0;overflow-wrap:anywhere}
 .brief-heading p:last-child,.brief-focus>p:last-child,.brief-projects p,.brief-two-column p{font-size:15px;line-height:1.75}
 .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px;padding-block:35px}
 .footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}
 .footer-grid a:not(.brand){font-size:14px;line-height:1.6;min-height:44px;display:flex;align-items:center;gap:9px;padding-block:8px}
 .footer-grid p{font-size:14px;line-height:1.75}
 .footer-label{font-size:11px}
 .footer-bottom{font-size:11px;line-height:1.7;gap:14px;padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}
 .footer-bottom a{min-height:44px;display:flex;align-items:center;gap:10px}
}
@media screen and (max-width:360px){
 .wrap,.header{margin-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}
 .header .brand small{font-size:7px;letter-spacing:1.2px}
 .mobile-toggle{min-width:79px;padding-inline:10px}
 .opening-profile a{font-size:12px}
 .opening-product-top{font-size:8px}
 .arch-pair{grid-template-columns:1fr;gap:12px}
 .arch-connector span+span{display:none}
 .tour-tabs strong{font-size:13px}
 .professional-next h2{font-size:28px}
}
@media screen and (max-width:740px) and (max-height:500px){
 html.nav-ready .header nav{grid-template-columns:repeat(3,minmax(0,1fr))}
 .header nav .mobile-app-links,.header nav .mobile-brief-link{grid-column:1/-1}
 .gallery-dialog .gallery-dialog-image{height:50dvh;min-height:120px}
}
