/* OpenHealthSim launch extension to the existing static Masterplan foundation. */
:root{--ohs-night:#002c36;--ohs-line:#356675}
.site-header{background:var(--ohs-night);border-bottom:1px solid #35616b;color:#fff}
.header-inner{height:100px;gap:24px;position:relative}
.ohs-brand{flex-shrink:0;display:block;width:282px}
.ohs-brand>img{display:block;width:282px;height:94px;object-fit:contain}
.nav{margin-inline-start:auto;gap:8px}
.nav a{font-size:12px;color:#e0f0f2;text-transform:none;letter-spacing:0;padding:12px 11px;min-height:44px;display:inline-flex;align-items:center}
.nav a:hover,.nav a[aria-current=page]{background:#164955;color:#fff}
.nav a:active{background:#0b7080}
.header-cta{white-space:nowrap;padding-inline:18px;font-size:13px;gap:12px}
.header-cta:hover{background:#fff;color:var(--deep)}
.nav-toggle,.nav .nav-mobile-demo{display:none}
.site-header :focus-visible,.footer :focus-visible{outline:3px solid #93dce1;outline-offset:4px}
.hero-promise{font-size:clamp(18px,1.5vw,22px)}
.hero-note{display:grid;gap:4px;font-size:12px;line-height:1.6}
.hero-actions{gap:18px 22px}
.hero-actions .button{gap:20px}
.hero-actions .text-link{font-size:14px}
.hero h1{font-size:clamp(3.1rem,5.8vw,5.25rem)}
.hero h1 span{white-space:nowrap}
.workflow-tabs button>span{font-size:12px}
.experience-top>svg{display:none}
.application-section{border-block:1px solid var(--rule)}
.application-section .section-heading{align-items:start}
.application-section .section-heading .text-link{margin-top:18px;font-size:15px}
.application-frame{margin:0;background:#fff;border:1px solid var(--rule);border-radius:16px;overflow:hidden}
.application-frame>img{display:block;width:100%;height:auto;max-height:800px;object-fit:cover;object-position:top}
.application-frame figcaption{padding:16px 22px;font-size:13px;line-height:1.65;color:var(--muted);border-top:1px solid var(--rule)}
.open-copy>.license-note{max-width:58ch}
.local-first h3{line-height:1.3}
.freedom-list .text-link{margin-top:14px;font-size:13px}
.room-center>span{font-size:26px;overflow-wrap:anywhere}
.room-center small{font-size:12px}
.contributor-note .repo-note{font-size:12px;line-height:1.6}
.learning-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--column-gap)}
.learning-section h2{font-size:clamp(2.3rem,4.4vw,3.7rem);line-height:.98}
.learning-section>div>p{max-width:46ch;margin-top:24px;font-size:17px;line-height:1.7;color:var(--ink-soft)}
.learning-section>div>.text-link{margin-top:22px;font-size:14px}
.learning-links>a{display:flex;gap:24px;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);padding:26px 0;color:var(--ink);min-height:132px}
.learning-links>a:last-child{border-bottom:1px solid var(--rule)}
.learning-links h3{font-size:24px;line-height:1.25;letter-spacing:-.02em;color:var(--deep)}
.learning-links p{font-size:15px;line-height:1.6;color:var(--muted);margin-top:8px;max-width:48ch}
.learning-links svg{width:24px;height:24px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7}
.learning-links>a:hover h3{text-decoration:underline;text-underline-offset:5px}
.learning-links>a:active{color:var(--teal)}
.overview-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:var(--column-gap);border-top:1px solid var(--rule)}
.overview-section h2{font-size:clamp(2.3rem,4.4vw,3.7rem);line-height:.98}
.overview-section p{font-size:17px;line-height:1.7;color:var(--ink-soft);margin-top:24px;max-width:44ch}
.overview-section .text-link{font-size:14px;margin-top:20px}
.overview-video{margin:0;min-width:0}
.overview-video video{width:100%;height:auto;display:block;border-radius:14px;background:var(--ohs-night)}
.overview-video figcaption{font-size:13px;color:var(--muted);margin-top:12px;line-height:1.6}
.contact-action .button-large{font-size:20px;gap:22px;padding:21px 28px}
.contact-action>span{max-width:310px;line-height:1.7;font-size:13px}
.contact-email{font-size:14px}
.copy-email{font-size:13px;min-height:44px}
.footer,.footer::before{background:var(--ohs-night)}
.footer-brand{display:block;width:250px;flex-shrink:0}
.footer-brand img{display:block;width:250px;height:auto}
.footer-main>p{max-width:30ch;font-size:14px;color:#d1e8ec}
.footer-main>a:last-child{font-size:13px}
.footer-bottom{font-size:12px;line-height:1.6;gap:16px}
.footer-bottom nav{display:flex;gap:8px 20px;flex-wrap:wrap;margin-inline-start:auto}
.footer-bottom nav a{padding:10px 0;min-width:44px;min-height:44px;display:inline-flex;align-items:center;color:#d1e8ec}
.footer-bottom nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.footer-bottom>span:last-child{flex-basis:100%;color:#b9d7de}
.button,.copy-email,.reset,.state-button,.icon-button,.flag-button{min-height:44px}
.icon-button,.flag-button{min-width:44px}
.sim-label,.simulation-label,.trace>span,.vitals small,.monitor-bottom,.picker-label,.reset,.state-button,.event-time,.preview-caption,.format-list span,.document-label,.document-heading>div>span,.outline-badge,.extraction-row,.document-footer,.graph-node>span,.graph-node small,.branch-label,.route-row,.debrief-row>span,.debrief-row p,.flagged-summary,.room-map-top,.device-code,.connection,.room-center small,.room-map-bottom,.lab-details .integration-note{font-size:12px}
@media(max-width:1120px){.ohs-brand,.ohs-brand>img{width:240px}.header-inner{gap:14px}.nav{gap:0}.nav a{padding-inline:9px}.header-cta{padding-inline:14px;font-size:12px}.hero-grid{column-gap:32px}.hero-actions .button{font-size:15px;padding-inline:21px}.hero-actions .text-link{font-size:13px}}
@media(max-width:950px){
 .header-inner{height:90px;justify-content:space-between;gap:12px}.ohs-brand,.ohs-brand>img{width:250px}.ohs-brand>img{height:84px}
 .header-cta{margin-inline-start:auto}.nav-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:10px 12px;border:1px solid #57838d;border-radius:8px;color:#fff;background:transparent;font:inherit;font-size:13px;order:3}
 .nav-toggle svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none}.nav-toggle:hover{background:#164955}
 .nav{display:none;position:absolute;top:100%;inset-inline:var(--gutter);padding:12px;background:var(--ohs-night);border:1px solid var(--ohs-line);border-radius:0 0 12px 12px;box-shadow:0 14px 25px -12px #002c3655;flex-direction:column;align-items:stretch;margin:0;gap:4px;z-index:20}
 .nav.is-open{display:flex}.nav a{font-size:15px;min-height:46px;padding-inline:14px}.nav .nav-mobile-demo{display:flex;gap:12px;color:#93dce1;border-top:1px solid #356675;margin-top:4px}.nav-mobile-demo svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
 .hero-grid{padding-top:52px}.learning-section,.overview-section{grid-template-columns:1fr;gap:32px}.learning-section>div>p,.overview-section p{max-width:62ch}.overview-video{max-width:780px}.learning-links>a{min-height:120px}
}
@media(max-width:600px){
 .header-inner{height:82px}.ohs-brand,.ohs-brand>img{width:224px}.ohs-brand>img{height:75px}.header-cta{display:none}.nav-toggle{padding:10px}.nav-toggle>span{display:none}
 .experience-top{font-size:12px}
 .hero-grid{padding-top:42px}.hero h1{font-size:clamp(2.8rem,13vw,4.6rem)}.hero-description{font-size:17px}.hero-promise{margin-top:24px;font-size:18px}.hero-actions{align-items:flex-start;gap:16px;flex-direction:column}.hero-actions .button{font-size:16px;min-height:54px;padding:15px 22px}.hero-actions .text-link{font-size:14px}.hero-note{font-size:12px;margin-top:20px}
 .section-heading h2,.open-copy h2,.learning-section h2,.overview-section h2,.questions-title h2,.store-inner h2{font-size:clamp(2.2rem,10vw,3rem);line-height:1.03}.application-frame figcaption{padding:14px 16px;font-size:12px}.application-section .section-heading p{font-size:16px}
 .learning-section>div>p,.overview-section p{font-size:16px}.learning-links h3{font-size:23px}.learning-links p{font-size:15px}.learning-links>a{padding-block:23px;gap:20px}.overview-video figcaption{font-size:12px}
 .contact-action{width:100%}.contact-action .button-large{font-size:17px;padding:18px 22px;min-height:64px;gap:20px}.contact-action>span{font-size:12px}.contact-inner h2{font-size:clamp(2.8rem,12vw,3.8rem)}
 .footer-brand,.footer-brand img{width:230px}.footer-main{gap:18px;padding-block:22px}.footer-bottom nav{margin:0;gap:8px 22px;flex-basis:100%}.footer-bottom>span:last-child{font-size:11px}
 .sim-label,.simulation-label,.trace>span,.vitals small,.monitor-bottom,.picker-label,.reset,.state-button,.event-time,.preview-caption,.format-list span,.document-label,.document-heading>div>span,.outline-badge,.extraction-row,.document-footer,.graph-node>span,.graph-node small,.branch-label,.route-row,.debrief-row>span,.debrief-row p,.flagged-summary,.room-map-top,.device-code,.connection,.room-center small,.room-map-bottom{font-size:11px}
}
@media(max-width:350px){.ohs-brand,.ohs-brand>img{width:205px}.hero-promise{font-size:17px}.hero-actions .button{font-size:14px}.vitals strong{font-size:32px}.contact-action .button-large{font-size:16px;padding-inline:18px}}
@media print{.site-header{position:static}.nav-toggle,.nav{display:none}.ohs-brand img{print-color-adjust:exact}.hero::after,.open-section::after,.store-section::after{display:none}}
