/* Atlas type foundations. Fluent 2-informed hierarchy, with a deliberately
   larger 14px supporting-text floor and 16px reading size for this portfolio.
   Decorative, aria-hidden artwork and geographic SVG annotations are not UI copy. */
:root{
 --sans:'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',Arial,sans-serif;
 --type-caption:.875rem;
 --type-body:1rem;
 --type-reading:1rem;
 --type-subtitle:1.25rem;
 --type-title:1.5rem;
 --type-leading:1.75;
}
body{font-family:var(--sans);font-size:var(--type-body);line-height:var(--type-leading)}
button,input,select,textarea{font-family:var(--sans)}
p,li,dd{overflow-wrap:break-word}
.eyebrow{font-size:var(--type-caption);line-height:1.5;letter-spacing:.07em}
.site-header .brand{font-size:var(--type-caption)}.brand small{font-size:var(--type-caption);letter-spacing:.04em;line-height:1.4}
.site-header nav,.site-header nav a,.header-contact{font-size:var(--type-body)}.site-header nav a{min-height:44px;display:flex;align-items:center}
.appearance-title{font-size:var(--type-caption);letter-spacing:.04em}.theme-field,.theme-field label,.contrast-toggle{font-size:var(--type-caption)}.theme-field select{font-size:var(--type-body);min-height:44px}
.hero-intro{font-size:1.125rem;line-height:1.75}.hero .eyebrow{font-size:var(--type-caption)}.hero::before{font-size:var(--type-caption);letter-spacing:.12em}.hero-footnote,.hero-footnote p,.hero-footnote span{font-size:var(--type-caption);line-height:1.6}
.button,.text-button,.work-card .text-button{font-size:var(--type-body);line-height:1.5;min-height:44px}
.hero-actions{flex-wrap:wrap}.capability-strip span{font-size:var(--type-caption);line-height:1.6}
.profile-intro>p:not(.eyebrow),.profile-focus dd,.profile-toolbox dd{font-size:var(--type-body);line-height:var(--type-leading)}
.profile-focus dt,.profile-toolbox dt,.profile-toolbox summary{font-size:var(--type-body);line-height:1.5}.profile-focus h3{font-size:var(--type-title)}
.section-heading>p{font-size:var(--type-body);line-height:1.7;max-width:400px}
.card-meta,.draft-tag,.work-card .tags span{font-size:var(--type-caption);line-height:1.5;letter-spacing:0}.work-card-body>p{font-size:var(--type-body);line-height:var(--type-leading)}
.work-card h3{font-size:1.75rem;line-height:1.3}.content-note{font-size:var(--type-caption);line-height:1.7}
.lab-controls .lab-title,.lab-controls legend,.lab-controls>label,.lab-width-control,.lab-controls .segmented button{font-size:var(--type-caption);line-height:1.5}
.lab-controls input[type=range]{min-height:44px}.lab-controls .lab-disclaimer{font-size:var(--type-caption);line-height:1.7}.lab-width-control select{font-size:var(--type-body)}
.lab-display-top,.lab-version,.token-output>span{font-size:var(--type-caption);line-height:1.5;letter-spacing:0}.lab-display-top{flex-wrap:wrap;gap:8px}.lab-version{margin-left:auto}.token-output{flex-wrap:wrap;gap:12px}.token-output>span{width:auto;flex:1 1 180px}.token-output pre{font-size:var(--type-caption);white-space:pre-wrap;overflow-wrap:anywhere}
.sample-interface>p,.sample-task strong{font-size:var(--type-body);line-height:1.6}.sample-profile small,.sample-task small,.sample-badge,.sample-feedback{font-size:var(--type-caption);line-height:1.6}.sample-profile h3{font-size:var(--type-title);line-height:1.3}.sample-tabs button,.sample-cta{font-size:var(--type-body);line-height:1.5}.sample-cta{white-space:normal}.practice-row span,.practice-row b{font-size:var(--type-caption);line-height:1.7}
.journey-intro>p:not(.eyebrow){font-size:var(--type-body);line-height:var(--type-leading)}
.passport-caption,.passport-modes button,.route-index,.passport-route button>span:last-child,.passport-position,.passport-book-caption,.passport-folio,.cover-edition,.cover-owner,.cover-invitation,.close-passport,.book-gesture-hint{font-size:var(--type-caption);line-height:1.5;letter-spacing:0;font-family:var(--sans)}
.passport-route button{min-width:0;min-height:124px;gap:8px;padding:16px 12px}.passport-route strong{font-size:var(--type-subtitle);line-height:1.3}.route-index{white-space:normal}.passport-toolbar{flex-wrap:wrap}.passport-owner{font-size:var(--type-body)}.passport-stamp small{font-size:var(--type-caption);font-family:var(--sans)}
/* The passport and full résumé share the complete original work content. */
.passport-ready:not(.passport-all) .timeline .book-brief{display:none}
.passport-ready:not(.passport-all) .timeline article>p:not([class]),.passport-ready:not(.passport-all) .timeline .experience-detail{display:block}
.passport-ready .timeline .experience-detail{border:0;background:transparent;padding:0;max-width:none;margin-top:24px}
.passport-ready .timeline .experience-detail summary{display:none}.passport-ready .timeline .experience-detail-body{padding:0;max-width:68ch}
.passport-ready .timeline .experience-detail-body p,.passport-ready .timeline .experience-detail-body li,.passport-ready .timeline article>p:not([class]),.book-page-face>p:not([class]),.book-page-face .experience-detail-body p,.book-page-face .experience-detail-body li{font-size:var(--type-reading);line-height:var(--type-leading);max-width:68ch}
.passport-ready .timeline .experience-detail-body h4,.book-page-face .experience-detail-body h4{font-size:var(--type-subtitle);line-height:1.4;font-weight:600;margin:28px 0 12px}
.passport-ready .timeline .experience-detail-body .experience-dates,.passport-ready .timeline .experience-tools span,.passport-ready .timeline-date,.book-page-face>.timeline-date,.book-page-face .experience-dates,.book-page-face .experience-tools span{font-size:var(--type-caption);line-height:1.6;letter-spacing:0;font-family:var(--sans)}
.passport-ready .timeline-role,.book-page-face>.timeline-role{font-size:var(--type-body);line-height:1.6}
.passport-ready:not(.passport-all) .passport-book .timeline>article{height:auto;max-height:none;min-height:0;overflow:visible;scrollbar-gutter:auto;overscroll-behavior-y:auto}
.passport-all .passport-book .timeline>article{height:auto;max-height:none;overflow:visible;scrollbar-gutter:auto}
.book-page-face{scrollbar-gutter:auto}.book-page-face .experience-detail-body{padding:0;max-width:68ch}.book-page-face>.timeline-date{margin-bottom:22px}.book-page-face>p:not([class]){color:var(--muted);margin-bottom:0}
.passport-ready .timeline>article:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}
.archive-section>div>p:not(.eyebrow),.archive-links a,.closing>p:not(.eyebrow){font-size:var(--type-body);line-height:1.7}.archive-links small{font-size:var(--type-caption);line-height:1.5}.site-footer,.site-footer>div,.site-footer a,.private-label{font-size:var(--type-caption);line-height:1.6}
/* Map controls use full-size text; the map itself remains a geographic graphic. */
.geographic-atlas .atlas-top,.geographic-atlas .atlas-bottom,.map-credit,.atlas-edition,.map-view-toolbar>span{font-size:var(--type-caption);line-height:1.5;letter-spacing:0}.geographic-atlas .atlas-top,.geographic-atlas .atlas-bottom{flex-wrap:wrap;gap:8px}.map-stops a,.map-view-buttons button,.map-location-detail .text-button{font-size:var(--type-caption);min-height:48px;line-height:1.5}.map-location-detail .eyebrow{font-size:var(--type-caption)}.map-location-detail>p:not(.eyebrow){font-size:var(--type-body);line-height:1.7}.map-location-detail h3{font-size:var(--type-title);line-height:1.3}.map-view-toolbar{flex-wrap:wrap;gap:10px}.map-view-toolbar>span{max-width:none}
.study-tabs button{font-size:var(--type-body)}#study-panel,#study-panel p,#study-panel li,#study-panel .decision-list p:last-child{font-size:var(--type-body)!important;line-height:var(--type-leading)}#study-panel .trace-caption,.dialog-top .eyebrow,.dialog-footer>span,.dialog-header .tags span{font-size:var(--type-caption)!important;line-height:1.6}
#study-panel .demo-code{font-size:var(--type-caption)}.atlas-demo label,.atlas-demo legend,.atlas-demo .demo-action,.atlas-demo select{font-size:var(--type-body)}.demo-device-label,.kinetic-coordinates,.kinetic-card-copy .eyebrow,.kinetic-card-copy>span:not(.eyebrow){font-size:var(--type-caption);line-height:1.6}
@media(max-width:680px){.site-header nav a{font-size:var(--type-body)}.hero .hero-intro{font-size:var(--type-body)}.hero-actions{flex-wrap:wrap}.hero-actions .button{font-size:var(--type-body)}.brand small{font-size:var(--type-caption)}.study-tabs button{font-size:var(--type-body);min-height:68px}.passport-route button{padding:13px 9px}.passport-route strong{font-size:1.125rem}.passport-route button>span:last-child,.passport-position,.route-index,.passport-caption{font-size:var(--type-caption)}.passport-ready .timeline-date,.book-page-face>.timeline-date{max-width:100%}.passport-ready:not(.passport-all) .passport-book .timeline>article{height:auto}.passport-ready .passport-book .timeline>article,.book-page-face{padding:26px 20px}.passport-endpaper{gap:12px}.passport-stamp{min-width:100px;min-height:85px}.passport-stamp small{font-size:var(--type-caption)}.passport-owner,.passport-folio{font-size:var(--type-caption)}.capability-strip{gap:10px 0}.capability-strip span{font-size:var(--type-caption);padding:0 10px}.profile-intro>p:not(.eyebrow),.profile-focus dd,.profile-toolbox dd{font-size:var(--type-body)}.site-footer{gap:20px}.theme-field select{max-width:100%}.appearance-inner{gap:12px;align-items:center}.theme-field{max-width:55%}.contrast-toggle{font-size:var(--type-caption)}.map-stops{gap:8px}.map-stops a{font-size:var(--type-caption);padding:10px 7px}.geographic-atlas .atlas-top,.geographic-atlas .atlas-bottom,.map-credit{font-size:var(--type-caption)}}
@container(max-width:340px){.sample-profile h3{font-size:var(--type-title)}.sample-feedback,.sample-profile small,.sample-task small,.sample-badge{font-size:var(--type-caption)}.sample-cta{font-size:var(--type-body)}.sample-tabs{gap:12px}.sample-task{align-items:flex-start}.sample-task .sample-badge{flex-basis:100%;width:max-content}.sample-profile{flex-wrap:wrap}.sample-tabs button{font-size:var(--type-body)}}
@media print{.passport-ready:not(.passport-all) .passport-book .timeline>article{height:auto;overflow:visible;scrollbar-gutter:auto}.passport-ready .timeline .experience-detail-body p,.passport-ready .timeline .experience-detail-body li{font-size:var(--type-body)}}
.geographic-atlas .atlas-top .atlas-edition,.map-stops a small,.lab-controls label output,.passport-endpaper .eyebrow{font-size:var(--type-caption);line-height:1.5}
.geographic-atlas .geo-label,.geographic-atlas .geo-marker--viome .geo-label,.geographic-atlas .geo-marker--microsoft .geo-label{font-size:var(--type-caption);line-height:1.5}
.geo-marker--microsoft .geo-label{left:22px;transform:none}
.book-page-face>.experience-detail-body{margin-top:24px}
.switch-label span{font-size:var(--type-caption);line-height:1.5}
.eyebrow,.card-meta,.draft-tag,.tags span,.appearance-title,.lab-title,.lab-display-top,.atlas-top,.atlas-bottom,.map-credit,.practice-row b,.dialog-footer{font-family:var(--sans)}
#study-panel h4,#study-panel .decision-list h3{font-size:var(--type-subtitle)!important}
@media(max-width:360px){.study-tabs{display:flex;flex-wrap:wrap;gap:0 20px}.study-tabs button{flex:0 1 auto;min-height:52px;padding:12px 0}.study-tabs button:last-child{flex-basis:100%}}
#card-scale-value{font-size:var(--type-caption)}

/* Full-length book leaves: only the document scrolls, never a chapter panel. */
.passport-ready .passport-book{grid-template-columns:minmax(180px,.5fr) minmax(0,1.5fr)}
.passport-endpaper{padding-inline:24px}.passport-endpaper h3{font-size:34px}
@media(max-width:800px){.passport-ready .passport-book{grid-template-columns:minmax(160px,.45fr) minmax(0,1.55fr)}}
@media(max-width:600px){.passport-ready .passport-book{display:block}.passport-endpaper h3{font-size:28px}}
/* Design-system story and name sketches, using the existing shared foundations. */
.system-section{border-top:1px solid var(--line)}.system-section .section-heading{align-items:end}.system-section .section-heading h2{font-size:clamp(34px,4.2vw,56px);line-height:1.12}.ds-introduction{display:grid;grid-template-columns:1fr 1fr;gap:42px;max-width:1050px;margin:0 0 34px}.ds-introduction p{font-size:var(--type-body);line-height:var(--type-leading);color:var(--muted)}
.ds-foundations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ds-foundations article{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.ds-step{font-size:var(--type-caption);line-height:1.5;color:var(--mint)}.ds-foundations h3{font-size:var(--type-title);line-height:1.3;margin:20px 0 14px}.ds-foundations p{font-size:var(--type-body);line-height:var(--type-leading);color:var(--muted)}.ds-palette{display:flex;gap:10px;margin-top:24px}.ds-palette span{width:30px;height:30px;border-radius:50%;background:var(--sample);border:1px solid var(--control-border)}.ds-example-link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--type-body);margin-top:16px;color:var(--mint);text-decoration:underline;text-underline-offset:5px}.ds-progress{display:block;font-size:var(--type-caption);line-height:1.6;color:var(--gold);margin-top:24px}
.ds-name-lab{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:30px}.ds-name-specimen{padding:34px;background:var(--surface-soft);border-right:1px solid var(--line)}.ds-wordmark{display:flex;align-items:center;gap:22px;margin:34px 0 26px;min-height:80px}.ds-wordmark h3{font:clamp(30px,3.3vw,48px)/1.15 var(--serif);letter-spacing:-.04em;overflow-wrap:anywhere}.ds-orbit-mark{width:56px;height:56px;flex-shrink:0;border:2px solid var(--coral);border-radius:50%;position:relative;transform:rotate(-25deg)}.ds-orbit-mark::before{content:"";position:absolute;inset:10px -9px;border:1px solid var(--mint);border-radius:50%}.ds-orbit-mark::after{content:"";position:absolute;right:-5px;top:11px;width:10px;height:10px;background:var(--gold);border-radius:50%}.ds-name-specimen>p{font-size:var(--type-body);line-height:var(--type-leading);color:var(--muted);min-height:84px}.ds-name-options{padding:34px;background:var(--panel)}.ds-name-options h3{font-size:var(--type-title);line-height:1.3;margin-bottom:14px}.ds-name-options>p{font-size:var(--type-body);line-height:var(--type-leading);color:var(--muted)}.ds-name-choices{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.ds-name-choices button{background:var(--bg);color:var(--paper);border:1px solid var(--control-border);border-radius:24px;min-height:48px;padding:10px 18px;font-size:var(--type-body);line-height:1.5}.ds-name-choices button[aria-pressed=true]{background:var(--paper);color:var(--bg);border-color:var(--paper)}.ds-name-options .ds-naming-note{font-size:var(--type-caption);line-height:1.6}
@media(max-width:850px){.ds-foundations{grid-template-columns:1fr}.ds-foundations article{padding:25px}.ds-name-lab{grid-template-columns:1fr}.ds-name-specimen{border-right:0;border-bottom:1px solid var(--line)}.ds-introduction{gap:24px}.ds-name-specimen>p{min-height:0}}
@media(max-width:600px){.system-section .section-heading{display:block}.system-section .section-heading>p{margin-top:20px}.ds-introduction{grid-template-columns:1fr;gap:18px}.ds-name-specimen,.ds-name-options{padding:24px}.ds-wordmark{gap:18px}.ds-orbit-mark{width:42px;height:42px}.ds-name-choices button{padding:10px 14px}.ds-name-specimen .eyebrow{font-size:var(--type-caption)}}
@media(forced-colors:active){.ds-name-choices button[aria-pressed=true]{outline:3px solid Highlight}.ds-orbit-mark,.ds-orbit-mark::before{border-color:CanvasText}.ds-orbit-mark::after{background:Highlight}.ds-palette{display:none}}

.passport-ready .book-closed>.timeline,.passport-ready .book-closed>.passport-endpaper{display:none}
@media print{.passport-ready .book-closed>.timeline{display:block!important}}

.ds-brand-banner .ds-name-options .ds-future-note{font-size:var(--type-caption);line-height:1.6;color:var(--mint);margin-top:24px}.ds-brand-banner .ds-name-specimen>p{min-height:0}
