/* Approved graphics: source originals live in ../../Website Graphics. */
.brand-logo{width:46px;height:46px;object-fit:contain;flex:none}
.brand{gap:22px}.footer .brand-logo{width:34px;height:34px}
.hero-art{display:block;width:100%;height:auto;overflow:visible}
.hero-label{font-family:Arial,Helvetica,sans-serif;font-size:17px;fill:#071e1b}
.leader{stroke:#7a8990;stroke-width:1;fill:none;vector-effect:non-scaling-stroke}
.leader-dot{fill:#005c3d}
.home-visual{width:49%;right:-1%;top:4px}
.home-hero{min-height:560px;padding-bottom:115px}
.home-copy h1{font-size:clamp(3.6rem,7.4vw,6.8rem)}
.portrait-link{left:45%;bottom:6px}
.portrait-link img{width:112px;height:163px;object-position:center}
.hero{grid-template-columns:1.08fr 1fr;gap:12px;padding-top:35px;padding-bottom:35px}
.hero-copy h1{font-size:clamp(2.5rem,4.6vw,4.3rem)}
.page-career .hero{grid-template-columns:1.3fr .8fr}
.page-career .hero-art{transform:scale(1.08)}
.page-about .hero{grid-template-columns:1.15fr .9fr}
.about-portrait{width:64%;padding-top:24px}
.about-portrait img{height:auto;aspect-ratio:240/355;object-fit:cover;object-position:center}
.capability>.glyph{width:135px;max-width:100%;height:100px;object-fit:contain}
.diagram>.glyph{width:165px;max-width:100%;height:180px;object-fit:contain}
.chapter-tab>.glyph{width:58px;height:46px;object-fit:contain}
.chapter-content{grid-template-columns:minmax(0,1fr) 360px;gap:30px}
.chapter-content:not(:has(.chapter-graphic)){grid-template-columns:1fr}
.chapter-graphic{width:100%;height:auto;display:block}
.learning-graphic{width:100%;height:auto;display:block}
.learning-thread{max-width:100%}
.closing-related{display:inline-block;color:white;margin-left:28px;padding:12px 0}
.closing-related:hover{color:var(--lime)}
.closing .closing-mark{opacity:.8}
@media(min-width:1450px){.home-hero{min-height:590px}.home-visual{width:48%}}
@media(max-width:1100px){.chapter-content{grid-template-columns:minmax(0,1fr) 290px}.home-hero{min-height:510px}.portrait-link{left:46%}.hero-copy h1{font-size:4.5vw}}
@media(max-width:800px){
 .brand-logo{width:38px;height:38px}
 .hero,.page-career .hero,.page-about .hero{grid-template-columns:minmax(0,1fr)}
 .hero-copy h1{font-size:clamp(2.5rem,7.5vw,4rem)}
 .home-hero{display:grid;grid-template-columns:1fr;min-height:0;padding-bottom:24px}
 .home-copy h1{font-size:clamp(3.5rem,10vw,5.6rem)}
 .home-visual{grid-column:1;grid-row:2;position:static;width:100%;margin:14px 0 0;max-width:540px;justify-self:center}
 .portrait-link{grid-column:1;grid-row:3;position:static;flex-direction:row;align-items:center;margin:0 0 0 10px}
 .portrait-link img{width:82px;height:120px}
 .hero-visual,.page-career .hero-visual{width:min(540px,100%)}
 .page-career .hero-art{transform:none;max-width:430px;margin:auto}
 .page-about .hero-visual{width:min(390px,100%)}
 .diagram>.glyph{height:115px}
 .chapter-content{grid-template-columns:1fr}
 .chapter-graphic{max-width:370px;justify-self:center}
 .learning-graphic{max-width:480px;margin:auto}
 .hero-label{font-size:18px}
}
@media(max-width:480px){
 .editorial-grid{grid-template-columns:44px minmax(0,1fr);gap:16px}
 .editorial .diagram{display:none}
 .editorial .body-copy{grid-column:2}
 .editorial h2{font-size:1.85rem;letter-spacing:-.045em}
 .editorial .eyebrow{font-size:.72rem;letter-spacing:.13em}
 .capability>.glyph{height:75px}
 .chapter-tab>.glyph{display:none}
 .closing-related{margin-left:18px;font-size:.9rem}
 .hero-label{font-size:21px}
 .page-about .hero-copy h1{font-size:2.4rem}
}

/* Revision 3: services, compact navigation, and readable diagram labels. */
p,.body-copy p{line-height:1.55}
.body-copy{max-width:65ch}
.header nav{gap:26px}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links>a{padding:12px 0}
.mobile-menu{display:none}
.service-active>summary{color:var(--green);border-bottom:2px solid var(--green)}
.menu{border-radius:5px;width:280px;font-size:1rem}
.menu [aria-current]{border-bottom:0;font-weight:600;background:var(--sage);padding-left:10px;padding-right:10px}
.menu-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--green);margin:8px 0 4px}
.menu-background{border-top:1px solid var(--line);margin-top:8px}
.menu-background a+a{border-top:0}
.hero-services{display:inline-block;margin-left:22px;font-size:1rem;padding:12px 0}
.portrait-link{align-items:center;left:45%;bottom:4px}
.portrait-cue{display:inline-block;color:var(--green);text-decoration:underline;text-underline-offset:4px;margin-top:8px;font-size:.9rem}
.experience-strip{font-size:.85rem;letter-spacing:.08em}
.experience-grid .section-title p:not(.eyebrow){max-width:32ch;margin-top:18px;font-size:1rem}
.anchor-alias{display:block;height:0}
.closing-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px}
.closing>.wrap{grid-template-columns:minmax(0,1fr) 215px}
.closing-related{margin:0;font-size:1rem}
.closing p{max-width:70ch;line-height:1.5}
.contact-email{display:inline-block;margin-top:18px;color:white;font-size:1rem;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-email:hover{color:var(--lime)}
.closing-mark .glyph{width:100px;height:100px;object-fit:contain}
.closing-mark span{font-size:.68rem;letter-spacing:.14em}
.footer{font-size:.85rem;gap:22px}
.footer .brand{font-size:.7rem}
.footer-links{margin-left:auto;display:flex;gap:24px;flex-wrap:wrap}
.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.chapter-panel{margin-bottom:20px;scroll-margin-top:24px}
.chapter-controls{display:none}
.chapters-enhanced .chapter-controls{display:grid}
.chapter-tab{border-radius:3px}
.chapter-tab:hover{color:var(--green)}
.connection-diagram{display:grid;grid-template-columns:1fr .85fr 1.05fr;align-items:center;gap:8px;margin:0;color:var(--green)}
.connection-inputs{display:flex;flex-direction:column;justify-content:space-between;height:180px;padding:8px 0;font-size:.9rem;line-height:1.45;color:var(--body)}
.connection-diagram svg{width:100%;height:180px}
.connection-diagram figcaption{font-size:.95rem;line-height:1.55;color:var(--ink)}
.learning-diagram{margin:0;color:var(--green)}
.learning-diagram>svg{width:100%;height:auto;display:block}
.learning-diagram figcaption{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:.95rem;line-height:1.5;text-align:center;color:var(--body)}
@media(max-width:1100px){
 .header nav,.nav-links{gap:20px}
 .connection-diagram{grid-template-columns:1fr .65fr 1fr;gap:5px}
 .connection-inputs{font-size:.85rem}
 .connection-diagram figcaption{font-size:.9rem}
}
@media(max-width:800px){
 .header{flex-wrap:nowrap;min-height:76px;padding:12px 0}
 .header>.brand{margin-right:0}
 .header nav{width:auto;justify-content:flex-end}
 .nav-links,.desktop-menu,.header-contact{display:none}
 .mobile-menu{display:block}
 .mobile-menu>summary{padding:12px 8px;font-size:1rem}
 .mobile-menu .menu{right:0;max-width:calc(100vw - 40px);width:320px}
 .mobile-menu .menu>a.button{display:flex;margin:10px 0 4px;padding:13px;color:#fff}
 .hero-services{margin-left:18px}
 .home-visual{max-width:430px}
 .portrait-link{margin:8px 0 0;justify-self:center}
 .experience-strip{padding:24px 0;font-size:.85rem;letter-spacing:.04em}
 .closing{padding:32px 0}
 .closing>.wrap{grid-template-columns:minmax(0,1fr)}
 .closing p{font-size:1.12rem}
 .closing-related{font-size:1rem}
 .footer-links{margin-left:0;width:100%;gap:24px}
 .chapter-graphic{max-width:400px}
 .connection-inputs{font-size:.95rem}
 .connection-diagram figcaption{font-size:1rem}
 .learning-thread{max-width:480px;width:100%;margin-inline:auto}
 .body-copy{max-width:none}
}
@media(max-width:480px){
 .header{min-height:68px;gap:12px}
 .header .brand{gap:12px;font-size:.7rem;letter-spacing:.2em}
 .header .brand-logo{width:34px;height:34px}
 .home-hero{padding-top:28px}
 .home-copy h1{font-size:clamp(2.8rem,13vw,3.5rem)}
 .hero-services{display:block;width:max-content;margin:12px 0 0}
 .home-visual{max-width:340px}
 .hero-copy>p:not(.eyebrow){font-size:1.08rem;line-height:1.55}
 .hero-copy h1{font-size:clamp(2.25rem,10vw,2.6rem)}
 .experience-strip:before,.experience-strip:after{min-width:12px}
 .experience-strip{gap:14px;letter-spacing:0;font-size:.85rem}
 .capability{grid-template-columns:52px minmax(0,1fr)}
 .capability>.glyph{height:65px}
 .contact-email{font-size:.95rem}
 .chapter-panel{padding:20px 16px}
 .chapter-content h2{font-size:1.75rem}
 .connection-diagram{grid-template-columns:1fr .7fr 1fr;gap:4px}
 .connection-inputs{font-size:.875rem}
 .connection-diagram figcaption{font-size:.875rem}
 .learning-diagram figcaption{font-size:.875rem;gap:8px}
 .journey-heading{gap:16px}
 .journey-heading>div{padding-left:16px}
 .footer>.brand+span{font-size:.85rem}
}
@media print{
 :root{color:#000;background:white}
 body{font-size:11pt}
 .wrap{width:100%;max-width:none}
 .skip,.header nav,.hero-visual,.home-visual,.closing-mark,.chapter-controls,.footer-links,.hero-services{display:none!important}
 .header{min-height:50px;padding:0;margin-bottom:20px}
 .hero,.page-career .hero,.page-about .hero{grid-template-columns:1fr;padding:16px 0}
 h1,.hero-copy h1,.page-about .hero-copy h1{font-size:28pt}
 h2,.editorial h2,.chapter-content h2{font-size:19pt}
 p,.body-copy p{color:#222}
 .chapter-panel[hidden],.chapter-panel{display:block!important;break-inside:avoid;border:1px solid #9bb5a9;padding:16px;margin:16px 0}
 .chapter-content,.chapter-content:not(:has(.chapter-graphic)){grid-template-columns:1fr}
 .chapter-graphic{max-width:340px}
 .timeline{grid-template-columns:repeat(3,1fr)}
 .chapter-tab{display:flex}
 .chapter-tab:before,.timeline-node,.chapter-tab>.glyph{display:none}
 .editorial,.learning,.home-section,.closing{background:white;color:#000;padding:18px 0}
 .editorial-grid{grid-template-columns:40px 1fr 2fr;gap:16px}
 .editorial .diagram{display:none}
 .editorial .body-copy{grid-column:3}
 .closing>.wrap{display:block}
 .closing p,.contact-email{color:#000}
 .button{background:white!important;border:1px solid #005c3d!important;color:#005c3d!important}
 .footer{border-top:1px solid #9bb5a9}
 .footer>.brand+span{width:auto}
 .portrait-link{position:static;margin-top:15px}
 .home-hero{min-height:0;padding:15px 0}
 .home-copy h1{font-size:36pt}
}
