/* Touch layouts and small screens. */
img{max-width:100%}button,a{-webkit-tap-highlight-color:transparent}main,section,.hero>*,.dashboard-grid>*,.story-layout>*,.expertise-layout>*{min-width:0}
@media(max-width:1000px) and (min-width:701px){.hero{gap:28px;grid-template-columns:1fr 1fr}.companion:not(.is-floating){width:260px}#approach .section-top{grid-template-columns:1fr;gap:8px}#approach .section-copy{max-width:620px;justify-self:start}.story-layout{grid-template-columns:1fr;gap:28px}.story-aside{position:static}}
@media(max-width:700px){
html{scroll-padding-bottom:115px}body{padding-bottom:calc(110px + env(safe-area-inset-bottom));overflow-wrap:break-word}.wrap{width:calc(100% - 36px)}section{scroll-margin-top:22px}.hero{padding:20px 0 38px;gap:32px}.hero-side{width:100%}.character-stage{height:390px}.companion:not(.is-floating) .character-button{height:285px;width:210px}.companion:not(.is-floating){width:280px}.companion-options button{min-height:44px;padding:10px 6px;font-size:12px}.hero-side h1{margin-top:12px}.profile-dashboard{width:100%}.profile-heading h2{font-size:26px}.profile-facts{grid-template-columns:1.2fr .85fr 1fr}.profile-facts a,.profile-facts button{padding:4px 10px;min-height:80px}.profile-facts strong{font-size:34px}.profile-facts span{font-size:11px}.profile-controls{gap:24px}.profile-controls button{min-height:44px;font-size:13px}.profile-milestone{grid-template-columns:75px minmax(0,1fr);gap:12px}.profile-detail{min-height:48px}.wide-nav{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 0}.wide-nav a{min-height:62px;font-size:15px}.wide-nav a:last-child{grid-column:1/-1}.work-section,.dashboard-section,.story-section,.expertise,.contact{padding:54px 0}.section-title{font-size:32px}.section-copy{font-size:15px;line-height:1.65}.work-grid{grid-template-columns:1fr;gap:22px;margin-top:25px}.work-card{padding:0}.project-body{padding:22px}.project-art{height:180px}.project-body .visit{min-height:44px;display:flex;align-items:center}
#approach .section-top{display:block}#approach .section-title{font-size:clamp(23px,5.8vw,38px)}#approach .section-title span{white-space:normal}#approach .section-copy{margin:18px 0 24px}.dashboard-shell{padding:20px 16px}.dashboard-head{padding:0 0 18px;gap:14px}.dashboard-head h3{font-size:19px}.filter-row{width:100%;justify-content:space-between;gap:4px}.filter{min-height:44px;padding:10px 12px}.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:22px}.metrics{grid-template-columns:1fr;gap:0}.metric,.metric+.metric{padding:14px 0;border:0;border-bottom:1px solid #31515b;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px}.metric strong{font-size:29px;margin:0;grid-row:1/3;grid-column:2}.metric .label{font-size:12px}.metric .change{font-size:11px}.panel{padding:12px 0;min-width:0}.panel-heading{gap:10px;flex-wrap:wrap}.chart-panel{min-height:240px}.chart{height:auto;aspect-ratio:3/1;margin-top:24px}.bar-row{grid-template-columns:72px minmax(0,1fr) 32px;gap:10px}.dashboard-foot{padding:18px 0 0}.story-layout,.expertise-layout{grid-template-columns:minmax(0,1fr);gap:24px}.story-aside{position:static}.timeline-item{grid-template-columns:1fr;gap:8px;padding:24px 0}.education-section{padding:10px 0 54px}.education-row{grid-template-columns:1fr;gap:18px}.education-row h3{font-size:22px}.skill-groups{grid-template-columns:1fr;gap:8px}.contact-card{padding:26px 22px;gap:18px}.contact-card h2{font-size:34px}.contact-card p{font-size:15px}.contact-card .btn{width:100%;min-height:48px;padding:14px 10px;font-size:13px}.footer{gap:16px;padding-bottom:30px}.footer-links{flex-wrap:wrap;gap:8px 20px}.footer-links a{min-height:44px;display:inline-flex;align-items:center}
.companion.is-floating{left:0;right:0;bottom:0;width:100%;height:calc(96px + env(safe-area-inset-bottom));padding:6px 12px calc(6px + env(safe-area-inset-bottom));display:grid;grid-template-columns:54px minmax(0,1fr) 70px;gap:9px;align-items:center;background:rgba(246,244,237,.97);border-top:1px solid #cbd7cc;transform:none!important;filter:none}.companion.is-floating .character-button{grid-column:1;grid-row:1;width:52px;height:80px}.companion.is-floating .companion-message{grid-column:2;grid-row:1;max-width:none;font-size:11px;margin:0;padding:8px;text-align:left;box-shadow:none;background:transparent}.companion.is-floating .companion-options{grid-column:3;grid-row:1;display:flex;flex-direction:column;gap:0}.companion.is-floating .companion-options button{font-size:10px;min-height:40px;padding:4px 0;line-height:1.2}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bar-fill{transition:none}}
/* Clean, consistent typography. */
body,button,input,select,textarea{font-family:Montserrat,Verdana,sans-serif}h1,h2,h3,h4,.section-title{font-family:Montserrat,Verdana,sans-serif;letter-spacing:-.035em}.section-copy,.timeline-item p,.skill-group p{line-height:1.75}button,.btn{letter-spacing:0}
.employer-logo{display:block;width:145px;height:42px;object-fit:contain;object-position:left center;margin:12px 0}.employer-logo.sponsor-logo{width:160px;height:54px}
.wide-nav .nav-label{background:var(--cream);color:var(--ink)!important;padding:7px 10px;position:relative;z-index:1;font-weight:800;border-radius:4px}.drag-instruction{font-size:12px;color:#456653;margin:0 0 4px}.character-stage{height:550px}.character-button{cursor:grab}.companion.is-floating .drag-instruction{display:none}.dragging-character{user-select:none;cursor:grabbing}.dragging-character .character-button{opacity:.25;cursor:grabbing}.drag-character-ghost{position:fixed;z-index:1000;width:90px;height:139px;transform:translate(-50%,-70%);pointer-events:none;filter:drop-shadow(0 9px 8px #16352d33)}.drag-character-ghost svg{width:100%;height:100%}.drag-character-ghost .academic-accessories,.drag-character-ghost .laptop{opacity:0}.drag-character-ghost .character-body{animation:none}.drag-destinations{position:fixed;z-index:900;bottom:12px;left:12px;right:12px;padding:12px;display:flex;justify-content:center;gap:8px;background:#f6f4ed;border:1px solid #b7c9bd;border-radius:16px;box-shadow:0 8px 35px #15392a22}.drag-destinations a{min-height:56px;display:flex;align-items:center;justify-content:center;padding:10px 16px;font-weight:700;font-size:13px}.wide-nav a.drop-ready,.drag-destinations a.drop-ready{background:#c2ebd5!important;outline:2px solid #467c61;border-radius:8px}.drop-ready .nav-label{background:#c2ebd5}.dragging-character .wide-nav a{outline:1px dashed #8cab94;outline-offset:-5px}.dragging-character .companion.is-floating{pointer-events:none}
@media(max-width:700px){.character-stage{height:425px}.drag-destinations{bottom:calc(8px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:4px}.drag-destinations a{flex:1 1 28%;padding:8px 6px;font-size:12px;min-height:48px}.wide-nav .nav-label{padding:7px 8px}.drag-instruction{font-size:11px}}
.drag-character-ghost{width:150px;height:232px;transform:translate(-50%,-22%)}.drag-character-ghost svg{overflow:visible}.drag-character-ghost .character-head{transform:none!important;transition:none}.drag-character-ghost .character-body{transform:none!important;animation:none!important}.drag-character-ghost .hanging-body{transform-origin:110px 132px}.character-button{cursor:default}.character-head{cursor:grab}.dragging-character .character-head{cursor:grabbing}.language-row{gap:20px}.language-row span{text-align:right;font-size:12px;max-width:55%}.language-row strong{flex-shrink:0}@media(max-width:700px){.drag-character-ghost{width:110px;height:170px}.language-row span{font-size:11px}}
.drag-character-ghost .hanging-body{transform-origin:0 0;transform-box:view-box}.drag-character-ghost .arm,.drag-character-ghost .leg{animation:none!important;transition:none!important}
.running-section{padding:70px 0 85px}.running-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:30px}.running-heading>p{color:#627269;font-size:15px}.running-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:55px;align-items:start}.running-section figure{margin:0}.running-section img{display:block;width:100%;height:auto;border-radius:5px}.running-section figcaption{font-size:11px;color:#6b7c73;margin-top:12px;line-height:1.5}.running-stats{display:flex;gap:36px;padding:5px 0 27px;border-bottom:1px solid #c7d5ca;margin-bottom:27px}.running-stats strong{display:block;font-size:clamp(32px,4vw,52px);font-weight:700;letter-spacing:-.055em;color:#456e59}.running-stats span{display:block;font-size:12px;margin-top:7px;color:#536a5f}.running-story>p{font-size:15px;line-height:1.85;color:#4e6358}.running-link{display:inline-block;font-size:13px;font-weight:700;border-bottom:1px solid #698e75;padding:10px 0;margin:3px 0 30px}.wide-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.wide-nav a{font-size:14px}.project-body p{max-width:none;line-height:1.8}.running-outfit{display:none}.companion[data-context=running] .running-outfit{display:block}.companion[data-context=running] .leg>path:first-child,.companion[data-context=running] .arm>path:first-child{stroke:#dbab8e}.companion[data-context=running] .leg>path:last-child{stroke:#a4c6ad}.companion-toggle{display:none}.companion.is-floating:not(.guide-expanded){width:64px!important;height:64px!important;left:auto!important;right:18px!important;bottom:18px!important;padding:0!important;background:none!important;border:0!important;transform:none!important;filter:none!important;display:block!important}.companion.is-floating:not(.guide-expanded)>*:not(.companion-toggle){display:none!important}.companion.is-floating .companion-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:60px;height:60px;border-radius:50%;background:#17382d;color:#f3f5e9;border:1px solid #91ad9d;cursor:pointer;font:700 17px Montserrat,Verdana,sans-serif;box-shadow:0 4px 18px #183d2320}.companion-toggle span{font-size:9px;font-weight:500}.companion.guide-expanded.is-floating .companion-toggle{position:absolute;right:0;top:-42px;width:42px;height:42px;font-size:20px}.companion.guide-expanded.is-floating{padding:12px;background:#f6f4ed;border:1px solid #d1ded4;border-radius:16px}.drag-character-ghost .running-outfit{display:none}
@media(max-width:700px){body{padding-bottom:80px}.running-section{padding:40px 0}.running-heading{display:block;margin-bottom:22px}.running-layout{grid-template-columns:1fr;gap:28px}.running-road{max-width:420px;margin:auto!important}.running-stats{gap:28px}.running-stats strong{font-size:38px}.running-story>p{font-size:14px}.wide-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-nav a:last-child{grid-column:auto}.companion.is-floating:not(.guide-expanded){right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important}.companion.guide-expanded.is-floating{border-radius:12px 12px 0 0}.running-trail img{object-fit:contain}}
/* Connected destinations around the character. */
.hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:38px}.character-stage{height:550px;isolation:isolate}.character-stage .world-nav{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;display:block;z-index:1;pointer-events:none}.world-connections{position:absolute;inset:0;width:100%;height:100%;color:#9ab2a3;pointer-events:none}.world-nav a{position:absolute;left:13%;top:25%;transform:translate(-50%,-50%);width:115px;min-height:65px;display:flex;align-items:center;justify-content:center;padding:8px 2px;pointer-events:auto;text-align:center;font-size:12px;line-height:1.4}.world-nav a:nth-of-type(2){left:87%;top:25%}.world-nav a:nth-of-type(3){left:13%;top:49%}.world-nav a:nth-of-type(4){left:87%;top:49%}.world-nav a:nth-of-type(5){left:13%;top:73%}.world-nav a:nth-of-type(6){left:87%;top:73%}.world-nav a:before{width:115px;height:100px;opacity:.8}.world-nav a .nav-label{padding:6px 7px;border-radius:12px;box-shadow:0 0 18px 9px #f6f4ed}.world-nav a:hover,.world-nav a:last-child:hover{transform:translate(-50%,-50%) scale(1.05)}.character-stage .companion:not(.is-floating){width:195px;z-index:2;pointer-events:none}.companion:not(.is-floating) .character-button{width:180px;height:320px}.companion:not(.is-floating) .character-button,.companion:not(.is-floating) .companion-options{pointer-events:auto}.companion:not(.is-floating) .companion-message{font-size:11px;max-width:185px}.companion:not(.is-floating) .drag-instruction{font-size:10px}.companion:not(.is-floating) .companion-options{gap:10px}.companion:not(.is-floating) .companion-options button{font-size:10px}.drag-destinations .world-connections{display:none}.profile-controls{margin-top:26px}.companion.guide-expanded.is-floating{box-shadow:none;background:rgba(246,244,237,.94);border:0}.companion.guide-expanded.is-floating .companion-toggle{font-family:Verdana,sans-serif}.dragging-character .world-nav a.drop-ready{transform:translate(-50%,-50%) scale(1.08)}
@media(max-width:700px){.hero{display:flex;gap:35px}.character-stage{height:490px}.world-nav a{width:88px;font-size:10px;min-height:58px;left:12%}.world-nav a:nth-of-type(even){left:88%}.world-nav a:nth-of-type(3),.world-nav a:nth-of-type(5){left:12%}.character-stage .companion:not(.is-floating){width:155px}.companion:not(.is-floating) .character-button{width:135px;height:280px}.companion:not(.is-floating) .companion-message{max-width:155px;padding:9px;font-size:10px}.companion:not(.is-floating) .companion-options{gap:4px}.companion:not(.is-floating) .companion-options button{font-size:9px}.world-nav a:before{width:90px}.world-nav a .nav-label{padding:5px;box-shadow:0 0 10px 5px #f6f4ed}.world-nav a:last-child{grid-column:auto}}
.running-link{display:inline-flex;align-items:center;gap:16px;line-height:1.5;padding:8px 0 12px}.running-section .running-link img{width:56px;height:56px;object-fit:contain;flex:0 0 56px;border-radius:0}.running-link span{min-width:0}
@media(max-width:700px){
.hero{width:calc(100% - 32px);display:flex;flex-direction:column;align-items:stretch;gap:38px;padding:18px 0 40px}.hero .hero-side{display:flex;flex-direction:column;width:100%;min-width:0;max-width:none;gap:0;text-align:center;align-items:center;order:-1}.hero-side>*{max-width:100%}.hero .hero-side h1{align-self:center;font-size:23px!important;line-height:1.2;margin:18px 0 6px!important;width:100%;letter-spacing:-.04em}.hero .hero-side .portrait-role{align-self:center;width:100%;margin:0;font-size:12px;line-height:1.6}.hero-side .character-stage{width:100%;height:445px;flex:none;display:grid;place-items:center;margin:0;position:relative}.character-stage .companion:not(.is-floating){width:150px;margin:auto;transform:none!important}.companion:not(.is-floating) .character-button{width:135px;height:255px;margin:0 auto}.companion:not(.is-floating) .companion-message{width:150px;max-width:150px;font-size:10px;line-height:1.5;padding:8px 6px;margin:0 auto 12px}.companion:not(.is-floating) .drag-instruction{max-width:150px;margin:8px auto 0;font-size:10px;line-height:1.5}.companion:not(.is-floating) .companion-options{justify-content:center;gap:8px}.companion:not(.is-floating) .companion-options button{min-height:44px;font-size:10px;padding:8px 0;background:none}.character-stage .world-nav{width:100%;height:100%;inset:0}.world-nav a,.world-nav a:last-child{width:88px;min-height:48px;font-size:10px;line-height:1.4;padding:5px 0;left:12%;top:28%}.world-nav a:nth-of-type(2){left:88%;top:28%}.world-nav a:nth-of-type(3){left:12%;top:50%}.world-nav a:nth-of-type(4){left:88%;top:50%}.world-nav a:nth-of-type(5){left:12%;top:72%}.world-nav a:nth-of-type(6){left:88%;top:72%}.world-nav a:before{width:84px;height:74px}.world-nav .nav-label{max-width:88px;white-space:normal;padding:5px 4px}.profile-dashboard{width:100%;align-self:stretch}.profile-heading{margin:0 0 18px}.profile-heading h2{font-size:26px}.profile-controls{margin-top:0;gap:22px}.profile-content{min-height:0}.profile-milestone{padding:18px 0;grid-template-columns:72px minmax(0,1fr);gap:12px}.profile-milestone h3{font-size:14px}.profile-milestone p{font-size:12px;line-height:1.7}.profile-detail{margin-top:15px}.section-title{font-size:30px;line-height:1.15}.project-body{padding:24px}.project-body p{font-size:14px}.project-body h3{font-size:25px}.running-stats{gap:18px;justify-content:space-between}.running-stats strong{font-size:34px}.running-stats span{font-size:11px;line-height:1.5}.companion.guide-expanded.is-floating{padding:6px 12px calc(6px + env(safe-area-inset-bottom));width:100%;height:calc(96px + env(safe-area-inset-bottom));background:#f6f4ed;border-top:1px solid #d1ded4;grid-template-columns:52px minmax(0,1fr) 68px;gap:8px}.companion.guide-expanded.is-floating .companion-options button{background:transparent;color:#244d3b;min-height:40px;line-height:1.3;font-size:10px}.companion.guide-expanded.is-floating .companion-message{font-size:10px;line-height:1.5;overflow-wrap:normal}.companion.guide-expanded.is-floating .companion-toggle{right:10px;top:-39px;width:38px;height:38px}body{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.footer{padding-bottom:35px}.running-link{font-size:12px;gap:12px}
}
@media(max-width:360px){.world-nav a,.world-nav a:last-child{width:76px;font-size:9px}.world-nav .nav-label{max-width:76px}.companion:not(.is-floating) .character-button{width:120px}.character-stage .companion:not(.is-floating){width:140px}.companion:not(.is-floating) .companion-message{width:140px}}
.hero-contact{width:100%;padding:24px 0 0;margin:0;text-align:left}.hero-contact .contact-card{padding:24px;gap:16px;display:flex;flex-direction:column;border-radius:16px}.hero-contact .contact-card h2{font-size:26px;line-height:1.18;margin:0 0 10px}.hero-contact .contact-card p{font-size:12px;line-height:1.65;margin:0}.hero-contact .contact-card .btn{font-size:12px;min-height:44px;margin:0;padding:12px 16px}.hero-contact .contact-card:before{pointer-events:none}.hero-contact .contact-card>div{position:relative}.hero{align-items:start}.hero .profile-dashboard{align-self:start;padding-top:65px}
@media(max-width:700px){.hero-contact{padding-top:24px}.hero-contact .contact-card{padding:22px}.hero-contact .contact-card h2{font-size:24px}.hero .profile-dashboard{padding-top:0}}

.site-footer{padding-top:12px;overflow:hidden}.site-footer .footer{padding-bottom:28px}.footer-signature{width:100%;overflow:hidden;text-align:center;color:#16382d;height:.8em;font-family:Montserrat,Verdana,sans-serif;font-size:8.65vw;font-weight:800;line-height:1;letter-spacing:-.065em;white-space:nowrap;user-select:none}.footer-signature span{display:block;transform:translateY(.07em)}.contact.wrap{padding-top:55px;padding-bottom:65px}
@media(max-width:700px){.site-footer .footer{gap:12px;padding-bottom:25px}.footer-signature{font-size:13.5vw;white-space:normal;height:1.72em;line-height:.94;letter-spacing:-.065em}.footer-signature span{max-width:95%;margin:auto;transform:translateY(.08em)}.contact.wrap{padding-top:20px;padding-bottom:44px}}
.footer-signature{opacity:.18}.companion.is-floating{z-index:100;isolation:isolate}.companion.is-floating.guide-yields-to-game{visibility:hidden!important;pointer-events:none!important}.companion.guide-points-to-game .arm-right{animation:none!important;transform:rotate(var(--point-angle,-90deg))!important;transition:transform .18s ease}.companion.guide-points-to-game .character-body{animation:none}.companion.is-floating .companion-message{background:#eef3e5}.companion.guide-expanded.is-floating{background:#f6f4ed}
@media(prefers-reduced-motion:reduce){.companion.guide-points-to-game .arm-right{transition:none}}

.language-switch{display:flex;justify-content:flex-end;align-items:center;gap:6px;padding-top:16px;padding-bottom:2px;position:relative;z-index:5}.language-switch button{font:700 12px Montserrat,Verdana,sans-serif;border:1px solid transparent;border-radius:20px;background:transparent;color:#50695b;min-width:44px;min-height:44px;cursor:pointer}.language-switch button[aria-pressed=true]{background:#173e2f;color:#fff}.language-switch button:hover{border-color:#7fa28c}.language-switch button:focus-visible{outline:2px solid #527f72;outline-offset:3px}html:not([lang=en]) #approach .section-title span{white-space:normal}html:not([lang=en]) .world-nav a{font-size:11px}html:not([lang=en]) .timing-result b{overflow-wrap:anywhere}
@media(max-width:700px){.language-switch{padding-top:8px}.hero{padding-top:6px}html:not([lang=en]) .world-nav a{font-size:9px}.language-switch button{min-height:44px}}
/* Shared vector icon system and a soft atmospheric background. */
.brand-icon{display:inline-block;width:1em;height:1em;min-width:1em;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;pointer-events:none}.brand-icon path{fill:none}.external .brand-icon,.arrow .brand-icon{width:17px;height:17px}.timing-close .brand-icon{width:20px;height:20px}.companion-toggle .brand-icon{width:17px;height:17px}.visit .brand-icon,.footer-links .brand-icon{margin-left:5px}.metric .change .brand-icon{margin-right:3px}
body{background-color:#f6f4ed;background-image:radial-gradient(ellipse at 12% 8%,rgba(163,197,170,.28) 0,transparent 43%),radial-gradient(ellipse at 93% 42%,rgba(189,215,178,.29) 0,transparent 48%),radial-gradient(ellipse at 28% 90%,rgba(157,193,180,.19) 0,transparent 46%),linear-gradient(135deg,#f8f6ef,#f3f5ed 55%,#f6f4ed);background-attachment:fixed}.work-section{background:transparent}.contact-card{isolation:isolate}.contact-card:before{z-index:-1;pointer-events:none}.contact-card>div,.contact-card>.btn{position:relative;z-index:1}.companion.guide-expanded.is-floating .companion-toggle{top:10px;right:10px;width:38px;height:38px;box-shadow:none;background:transparent;border-color:#bacdbf;color:#234b37}.companion.guide-expanded.is-floating{padding-top:56px}
@media(max-width:700px){.companion.guide-expanded.is-floating{height:calc(112px + env(safe-area-inset-bottom));padding:8px 10px calc(8px + env(safe-area-inset-bottom));grid-template-columns:44px minmax(0,1fr) 78px;gap:8px}.companion.guide-expanded.is-floating .companion-toggle{position:static;grid-column:3;grid-row:1;align-self:start;justify-self:end;width:76px;height:28px;min-height:28px;display:flex;flex-direction:row;gap:5px;border:0;border-radius:4px;font-size:11px;padding:2px}.companion.guide-expanded.is-floating .companion-toggle span{font-size:10px}.companion.guide-expanded.is-floating .companion-toggle .brand-icon{width:12px;height:12px;min-width:12px}.companion.guide-expanded.is-floating .companion-options{grid-column:3;grid-row:1;align-self:end;padding-top:28px;gap:0}.companion.guide-expanded.is-floating .companion-options button{min-height:22px;padding:2px 0;font-size:9px}.companion.guide-expanded.is-floating .character-button{width:44px;height:80px}.companion.guide-expanded.is-floating .companion-message{font-size:10px;padding:6px}.contact-card:before{opacity:.45}body{padding-bottom:calc(126px + env(safe-area-inset-bottom))}}
/* Mobile guide: separate hit areas, larger character, no overlapping controls. */
@media(max-width:700px){
.companion.guide-expanded.is-floating{display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-rows:44px 86px auto;gap:4px 10px;height:auto!important;min-height:176px;padding:6px 12px calc(8px + env(safe-area-inset-bottom));align-items:center;overflow:visible}
.companion.guide-expanded.is-floating .companion-toggle{position:static!important;grid-column:1;grid-row:1;align-self:center;justify-self:center;width:82px;height:44px;min-height:44px;z-index:3;pointer-events:auto;touch-action:manipulation;border:1px solid #c2d2c5;border-radius:8px;background:transparent}
.companion.guide-expanded.is-floating .character-button{grid-column:1;grid-row:2 / 4;width:80px;height:120px;align-self:end;justify-self:center;margin:0;z-index:1}
.companion.guide-expanded.is-floating .companion-message{grid-column:2;grid-row:1 / 3;align-self:center;justify-self:stretch;margin:0;padding:10px;font-size:11px;line-height:1.5;max-width:none}
.companion.guide-expanded.is-floating .companion-options{grid-column:2;grid-row:3;display:flex;flex-wrap:wrap;justify-content:flex-start;align-self:end;gap:3px 10px;padding:0!important;margin:0;z-index:2}
.companion.guide-expanded.is-floating .companion-options button{min-height:44px;padding:6px 0;font-size:10px;line-height:1.3;flex:0 1 auto;touch-action:manipulation}
body{padding-bottom:calc(224px + env(safe-area-inset-bottom))}
}
/* Connected career timeline. */
#experience .timeline{border-top:0;position:relative}#experience .timeline-item{position:relative;border-bottom:0;padding:0 0 38px 30px}#experience .timeline-item::before{content:"";position:absolute;left:6px;top:8px;bottom:-8px;width:2px;background:#a3bfac}#experience .timeline-item::after{content:"";position:absolute;left:1px;top:4px;width:12px;height:12px;border-radius:50%;background:#f3f5ed;border:2px solid #629579;box-sizing:border-box}#experience .timeline-item:first-child::after{background:#527f68;box-shadow:0 0 0 4px rgba(98,149,121,.13)}#experience .timeline-item:last-child{padding-bottom:0}#experience .timeline-item:last-child::before{display:none}#experience .timeline-item time{color:#4e7560}
@media(max-width:700px){#experience .timeline-item{grid-template-columns:minmax(0,1fr);gap:9px;padding:0 0 34px 27px}#experience .timeline-item:last-child{padding-bottom:0}#experience .timeline-item h3{font-size:17px;line-height:1.4}#experience .timeline-item p{font-size:14px;line-height:1.75}#experience .timeline-item .org{line-height:1.6}#experience .timeline-item time{font-size:12px;line-height:1.6}}
/* Compact mobile companion: one horizontal strip. */
@media(max-width:700px){
.companion.guide-expanded.is-floating{grid-template-columns:60px minmax(0,1fr) 82px;grid-template-rows:32px 76px;gap:0 8px;height:calc(120px + env(safe-area-inset-bottom))!important;min-height:0!important;padding:6px 10px calc(6px + env(safe-area-inset-bottom));align-items:center}
.companion.guide-expanded.is-floating .companion-toggle{grid-column:1;grid-row:1;width:60px;height:32px;min-height:32px;padding:4px;border:0;z-index:4;font-size:10px;align-self:center;justify-self:center}
.companion.guide-expanded.is-floating .companion-toggle span{font-size:9px}
.companion.guide-expanded.is-floating .character-button{grid-column:1;grid-row:2;width:54px;height:76px;align-self:center;justify-self:center;margin:0}
.companion.guide-expanded.is-floating .companion-message{grid-column:2;grid-row:1 / 3;font-size:10px;line-height:1.5;padding:7px;margin:0;align-self:center}
.companion.guide-expanded.is-floating .companion-options{grid-column:3;grid-row:1 / 3;align-self:center;display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;padding:0!important;justify-content:center;min-width:0}
.companion.guide-expanded.is-floating .companion-options button{width:100%;min-height:34px;flex:none;padding:4px 0;font-size:9px;line-height:1.3}
body{padding-bottom:calc(132px + env(safe-area-inset-bottom))}
}
.data-explorer{border-top:1px solid #35545d;margin-top:28px;padding:25px 0 5px}.explorer-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.explorer-heading h3{margin:0;font-size:21px}.explorer-actions{display:flex;gap:8px;flex-wrap:wrap}.data-explorer button{font:inherit;cursor:pointer;touch-action:manipulation}.explorer-actions button{border:1px solid #789b94;background:transparent;color:#e3efdf;padding:10px 12px;border-radius:8px;font-size:12px;min-height:44px}.explorer-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:38px;margin-top:26px}.explorer-columns>div{min-width:0}.explorer-columns h4{font-size:16px;margin:0 0 8px}.explorer-columns p{font-size:12px;line-height:1.6;color:#b7cbd0;min-height:38px;margin:0 0 18px}.week-bars{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;height:180px;align-items:stretch}.week-bars button{border:0;background:transparent;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;color:#b6ced0;font-size:10px;padding:0 0 6px;min-width:0;height:180px}.week-column{height:var(--bar-height);width:100%;max-width:42px;background:#496d73;border-radius:4px 4px 0 0;position:relative;margin-bottom:9px;min-height:20px}.week-column b{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:500}.week-bars button[aria-pressed=true] .week-column{background:#d5ef95}.week-bars button[aria-pressed=true]{color:white}.week-detail,.share-detail{display:block;font-size:13px;line-height:1.6;margin-top:15px;color:#e2eedc}.share-chart{width:130px;height:130px;position:relative;margin:0 auto 18px}.share-chart svg{width:100%;height:100%;transform:rotate(-90deg)}.share-chart circle{fill:none;stroke-width:10}.ring-base{stroke:#35545d}.ring-value{stroke-dasharray:0 301.6;transition:stroke-dasharray .35s ease}.share-value{position:absolute;inset:0;display:grid;place-items:center;font-size:24px}.channel-picks{display:grid;grid-template-columns:1fr 1fr;gap:6px}.channel-picks button{display:flex;gap:8px;justify-content:space-between;padding:10px 8px;color:#c7d9d8;background:transparent;border:0;border-bottom:1px solid #35545d;min-height:44px;font-size:11px}.channel-picks button[aria-pressed=true]{color:#d5ef95;border-color:#d5ef95}.data-explorer button:focus-visible{outline:2px solid #d5ef95;outline-offset:3px}.explorer-status{font-size:12px;color:#d5ef95;margin:16px 0 0}.share-fallback{width:100%;min-height:110px;background:#eff4eb;color:#173e2f;padding:12px;border:0;border-radius:8px}@media(max-width:700px){.explorer-heading{align-items:flex-start;flex-direction:column}.explorer-columns{grid-template-columns:minmax(0,1fr);gap:30px}.explorer-actions{width:100%}.explorer-actions button{flex:1;font-size:11px}.week-bars{gap:5px}.explorer-columns p{min-height:0}.share-chart{width:150px;height:150px}}@media(prefers-reduced-motion:reduce){.ring-value{transition:none}}

/* Province explorer and shared dashboard filters. */
.dashboard-controls{border-top:1px solid #35545d;padding:16px 0 24px}.dashboard-controls>p{font-size:12px;color:#b7cbd0;margin:0 0 12px}.dashboard-selects{display:grid;grid-template-columns:.7fr 1fr 1.4fr;gap:12px}.dashboard-selects label{display:grid;gap:7px;min-width:0;color:#c7d9d8;font-size:12px}.dashboard-selects select{width:100%;min-width:0;min-height:44px;border:1px solid #789b94;border-radius:8px;background:#183b46;color:#f1f5eb;padding:8px;font:inherit}.dashboard-selects select:focus-visible{outline:2px solid #d5ef95;outline-offset:2px}.dashboard-shell #revenue{font-size:clamp(20px,2.5vw,30px);overflow-wrap:anywhere}.province-map svg{display:block;width:100%;height:auto;overflow:visible}.province-map path{stroke:#102e39;stroke-width:.8;stroke-linejoin:round;cursor:pointer;vector-effect:non-scaling-stroke}.province-map path:hover,.province-map path:focus-visible,.province-map path[aria-pressed=true]{stroke:#fff;stroke-width:2;filter:brightness(1.18);outline:none}.province-map text{fill:#b7cbd0;font-size:12px}.island-frame{fill:none;stroke:#496d73;stroke-dasharray:3 3}.province-detail{display:block;color:#e4f2dc;font-size:14px;line-height:1.6;margin:15px 0 10px}.map-scale{display:flex;align-items:center;gap:10px;font-size:10px;color:#b7cbd0}.map-scale i{flex:1;height:6px;background:linear-gradient(90deg,hsl(91 52% 24%),hsl(91 52% 76%));border-radius:4px}.data-explorer [data-reset]{background:transparent;border:1px solid #789b94;border-radius:8px;color:#e3efdf;padding:8px 12px;min-height:44px;font-size:12px}.explorer-columns .map-source{font-size:10px;margin:12px 0 0;min-height:0}.map-source a{color:inherit;text-decoration:underline}.week-picker{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin:12px 0 18px}.week-picker button{font-size:10px;min-height:44px;padding:4px 0;border:1px solid #496d73;border-radius:6px;color:#c7d9d8;background:transparent}.week-picker button[aria-pressed=true]{background:#d5ef95;color:#102e39;border-color:#d5ef95}#dots circle{cursor:pointer}#dots circle:focus-visible{stroke:white;stroke-width:3;outline:none}
@media(max-width:700px){.dashboard-selects{grid-template-columns:1fr 1fr}.dashboard-selects label:last-child{grid-column:1/-1}.province-map{margin:0 -5px}.dashboard-shell #revenue{font-size:23px}.explorer-columns{gap:32px}.week-picker{gap:3px}}
