/* The complete supplied identity is used unchanged on every page. */
.site-header{background:#fffefa;border-bottom:1px solid #eeeae1;box-shadow:none}
.header-inner{min-height:82px;gap:22px}
.brand{min-width:0;gap:0}
.brand-logo{display:block;position:relative;overflow:hidden;width:340px;aspect-ratio:1640/320}
.brand-logo img{position:absolute;width:117.0732%;max-width:none;height:auto;left:-7.3171%;top:-44.375%}
.site-header nav{gap:18px}
.site-header nav a{font-size:12px}
.site-header nav .nav-cta{margin-left:5px;background:#22584a}
.footer-service-hours{display:flex;flex-direction:column;gap:4px;margin-top:20px;padding-left:14px;border-left:2px solid #e8a58e}
.footer-service-hours span{font-size:11px;color:#b8d0c3;line-height:1.6}
.footer-service-hours a{font-size:18px;font-weight:600;color:#fffefa;letter-spacing:.02em}
.footer-service-hours a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid #277466;outline-offset:4px}

/* Selected direction: warm old-house room, generous editorial text and a service ribbon. */
.home-page{background:#fffefa}
.home-page .hero{background:#efb69d;overflow:hidden}
.hero-composition{display:grid;grid-template-columns:57% 43%;min-height:535px}
.hero-visual{position:relative;margin:0;min-width:0;overflow:hidden}
.hero-visual img{width:100%;height:100%;min-height:535px;object-fit:cover;object-position:center 54%}
.hero-visual:before{content:"";position:absolute;z-index:1;top:-54px;left:-56px;width:165px;height:165px;border-radius:50%;background:#efb69d}
.hero-visual:after{content:"";position:absolute;z-index:1;bottom:0;left:0;border-left:0 solid transparent;border-right:230px solid transparent;border-bottom:92px solid #efb69d}
.hero-visual figcaption{position:absolute;z-index:2;left:35px;bottom:39px;color:#1f574a;background:rgba(255,252,244,.9);backdrop-filter:blur(8px);font-family:'Noto Serif SC','Songti SC',serif;font-size:21px;line-height:1.6;padding:17px 24px;box-shadow:0 8px 28px rgba(26,59,46,.08)}
.home-page .hero-copy{position:relative;z-index:2;background:#fffaf2;border-radius:142px 0 0 142px;margin-left:-76px;padding:79px 48px 47px 126px;display:flex;flex-direction:column;justify-content:center}
.home-page .hero-copy .eyebrow{font-size:11px;letter-spacing:.12em;margin-bottom:24px;color:#42745a}
.home-page .hero-copy h1{font-size:clamp(39px,3.48vw,53px);font-weight:500;line-height:1.44;letter-spacing:.02em;margin-bottom:25px;white-space:nowrap;color:#193f38}
.home-page .hero-copy h1 em{color:#cb745c;font-style:normal}
.home-page .hero-copy .hero-intro{color:#4c665c;font-size:15px;line-height:1.95;margin:0 0 28px;white-space:nowrap}
.home-page .hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.home-page .hero-actions .button{min-height:48px;padding-inline:25px}
.home-page .hero-availability{font-size:11px;color:#789083;margin:22px 0 0;line-height:1.6}
.home-service-band{display:grid;grid-template-columns:1.5fr repeat(3,1fr) 1.04fr;min-height:194px;background:#739f7b}
.service-band-intro{padding:27px 24px 24px max(28px,calc((100vw - 1220px)/2));background:#24574d;color:#fff}
.service-band-intro span,.service-band-link span,.service-band-public span{display:block;font-size:10px;letter-spacing:.11em;opacity:.85}
.service-band-intro h2{font-family:'Noto Serif SC','Songti SC',serif;font-weight:500;font-size:clamp(19px,1.65vw,24px);line-height:1.55;margin:22px 0 0}
.service-band-link,.service-band-public{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:8px;padding:28px 22px 28px 25px;color:#fff;border-right:1px solid rgba(255,255,255,.2);transition:background .2s}
.service-band-link:hover{background:#5d8c69}
.service-band-link strong,.service-band-public strong{font-family:'Noto Serif SC','Songti SC',serif;font-size:20px;font-weight:500;line-height:1.5}
.service-band-link small,.service-band-public small{font-size:11px;line-height:1.8;color:#e8f4e7;max-width:220px}
.service-band-link b,.service-band-public b{position:absolute;bottom:24px;right:20px;font-size:18px;font-weight:400;line-height:1}
.service-band-public{background:#e8a58e;color:#164c43;padding-left:28px;border:0}
.service-band-public small{color:#315d4e}
.service-band-public:hover{background:#e3957b}
.home-page .section{padding-top:82px;padding-bottom:82px}
.home-page .section-head{grid-template-columns:145px 1fr auto;gap:30px;align-items:start;margin-bottom:34px}
.home-page .section-head .eyebrow{margin-top:9px;font-size:11px}
.home-page .section-head h2,.home-page .about-grid h2{font-size:clamp(28px,2.6vw,38px);font-weight:500;line-height:1.5}
.home-page .section-head .section-note{font-size:12px;margin-top:14px;line-height:1.9}
.home-page .home-about{background:#fffefa;padding:94px 0}
.home-page .about-grid{grid-template-columns:50% 43%;gap:7%;align-items:center}
.home-page .about-grid>div{max-width:570px}
.home-page .about-grid h2{font-size:clamp(29px,2.7vw,39px)}
.home-page .about-grid p{font-size:13px;line-height:1.95}
.home-page .about-grid .about-lead{font-size:16px;color:#355c4a;margin:24px 0 17px}
.home-page .about-grid .text-link{margin-top:17px}
.home-page .about-picture{margin:0;height:auto;border-radius:0;overflow:visible}
.home-page .about-picture img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:90px 3px 3px 3px}
.home-page .about-picture figcaption{margin-top:12px;font-size:10px;color:#687d6d}
.home-page .impact-grid{margin-top:40px;margin-bottom:35px}
.home-page .impact-grid strong{font-weight:400}
.home-page .public-feature{border-radius:3px}
.home-page .public-feature h3{font-weight:500}
.home-page .section-news{background:#f7f5ee}
.home-page .section-news .section-head h2{font-size:31px}
.home-news-card{border-color:#e3e7db;border-radius:3px;background:#fffefa;min-height:225px}
.home-news-card .news-copy{padding:30px 33px}
.home-news-card .news-copy h3{font-weight:500;margin:16px 0 10px}
.home-news-card .news-copy p{line-height:1.85}
.home-page .callout{background:#245347}
.home-page .callout h2{font-weight:500;font-size:30px}
@media(max-width:1200px){
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:1px solid #c9ddd2;border-radius:5px;background:#fff;padding:9px}
  .menu-toggle span{height:2px;width:22px;background:#24594f}
  .site-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fffefa;padding:16px 26px 23px;box-shadow:0 20px 25px rgba(30,66,58,.12);flex-direction:column;align-items:stretch;gap:2px}
  .site-header nav.open{display:flex}
  .site-header nav>a:not(.button){font-size:15px;padding:12px 0;border-bottom:1px solid #edf3ee}
  .site-header nav>a:not(.button)::after{display:none}
  .site-header nav .nav-cta{margin:15px 0 0}
  .home-page .hero-copy{padding-left:108px;padding-right:27px}
  .home-page .hero-copy h1{font-size:clamp(34px,3.8vw,45px)}
  .home-page .hero-copy .hero-intro{font-size:13px;white-space:normal}
  .service-band-intro{padding-left:28px}
  .service-band-link,.service-band-public{padding-left:17px;padding-right:12px}
  .service-band-link strong,.service-band-public strong{font-size:18px}
}
@media(max-width:850px){
  .header-inner{min-height:77px}
  .hero-composition{grid-template-columns:52% 48%;min-height:440px}
  .hero-visual img{min-height:440px}
  .home-page .hero-copy{margin-left:-45px;padding:45px 18px 38px 65px;border-radius:80px 0 0 80px}
  .home-page .hero-copy h1{font-size:clamp(27px,4.4vw,36px)}
  .home-page .hero-copy .hero-intro br{display:none}
  .home-service-band{grid-template-columns:repeat(2,1fr)}
  .service-band-intro,.service-band-public{grid-column:1/-1}
  .service-band-link{min-height:175px}
  .home-page .section-head{grid-template-columns:120px 1fr;gap:20px}
  .home-page .section-head .section-note{grid-column:2;margin:0}
}
@media(max-width:700px){
  .header-inner{min-height:72px;gap:10px}
  .brand-logo{width:min(270px,calc(100vw - 105px))}
  .menu-toggle{flex:none}
  .home-page .hero{background:#fffaf2}
  .hero-composition{display:flex;flex-direction:column;min-height:0}
  .hero-visual{height:280px;order:1}
  .hero-visual img{height:100%;min-height:0;object-position:center 60%}
  .hero-visual:before{width:115px;height:115px;top:-35px;left:-35px}
  .hero-visual:after{border-right-width:160px;border-bottom-width:60px}
  .hero-visual figcaption{left:22px;bottom:25px;font-size:15px;padding:9px 15px}
  .home-page .hero-copy{order:2;margin:-20px 0 0;padding:43px 24px 43px;border-radius:34px 34px 0 0}
  .home-page .hero-copy .eyebrow{font-size:10px;margin-bottom:17px}
  .home-page .hero-copy h1{font-size:clamp(32px,8.6vw,41px);white-space:normal;line-height:1.44;margin-bottom:20px}
  .home-page .hero-copy .hero-intro{font-size:14px;line-height:1.9;margin-bottom:23px}
  .home-page .hero-actions{gap:17px}
  .home-page .hero-actions .button{padding-inline:19px}
  .home-page .hero-availability{margin-top:19px}
  .service-band-intro{padding:25px 23px}
  .service-band-intro h2{font-size:24px;margin-top:13px}
  .service-band-link{padding:23px 20px;min-height:167px}
  .service-band-link strong{font-size:18px}
  .service-band-link small{font-size:10px}
  .service-band-public{padding:22px 23px;min-height:120px}
  .service-band-public small br{display:none}
  .home-page .section{padding-top:58px;padding-bottom:58px}
  .home-page .section-head{display:block;margin-bottom:28px}
  .home-page .section-head h2{font-size:29px}
  .home-page .section-head .section-note{margin-top:14px}
  .home-page .home-about{padding:65px 0}
  .home-page .about-grid{grid-template-columns:1fr;gap:32px}
  .home-page .about-grid h2{font-size:clamp(27px,7.2vw,34px)}
  .home-page .about-picture img{border-top-left-radius:55px}
  .home-page .impact-grid{margin-top:25px}
  .home-page .public-feature>div{padding:25px 20px}
  .home-page .public-feature .eyebrow{font-size:10px;letter-spacing:.04em}
  .home-page .public-feature h3{font-size:23px}
  .home-page .section-news .section-head h2,.home-page .callout h2{font-size:26px}
}
@media(max-width:360px){
  .brand-logo{width:238px}
  .home-page .hero-copy h1{font-size:31px}
  .service-band-link{padding-inline:13px}
  .service-band-link strong{font-size:16px}
}

/* A shared counseling menu keeps the overview and three audience routes together. */
.site-header .nav-group{position:relative;display:flex;align-items:center;white-space:nowrap}
.site-header .nav-group>a{position:relative;padding:10px 0;font-size:12px}
.site-header .nav-group>a:after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background:#2a766b;transition:right .2s}
.site-header .nav-group>a:hover:after,.site-header .nav-group>a[aria-current=page]:after,.site-header .nav-group>a[data-section-current]:after{right:0}
.nav-submenu-toggle{border:0;background:transparent;color:#286a60;font-size:20px;line-height:1;padding:5px 1px 7px 5px}
.nav-submenu{display:none;position:absolute;top:calc(100% + 17px);left:50%;transform:translateX(-50%);width:340px;padding:8px 23px;background:#fffefa;border:1px solid #eeeae1;border-radius:6px;box-shadow:0 18px 35px rgba(34,68,56,.14);z-index:20;white-space:normal}
.nav-submenu:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:18px}
.nav-group.open .nav-submenu{display:block}
.nav-submenu>a{position:relative;display:block;padding:14px 27px 14px 4px;border-bottom:1px solid #e6eae3}
.nav-submenu>a:last-child{border-bottom:0}
.nav-submenu>a strong{display:block;font-size:14px;font-weight:600;color:#1c5148}
.nav-submenu>a small{display:block;font-size:11px;color:#718079;line-height:1.6;margin-top:2px}
.nav-submenu>a span{position:absolute;right:2px;top:25px;font-size:17px;color:#4b756d}
.nav-submenu>a:hover strong,.nav-submenu>a[aria-current=page] strong{color:#b9634e}
@media(max-width:1200px){
  .site-header .nav-group{width:100%;flex-wrap:wrap;border-bottom:1px solid #edf3ee}
  .site-header .nav-group>a{flex:1;font-size:15px;padding:12px 0}
  .site-header .nav-group>a:after{display:none}
  .nav-submenu-toggle{min-width:44px;min-height:44px;text-align:center}
  .nav-submenu{position:static;transform:none;width:100%;padding:0 12px 6px;background:#f3f7f2;border:0;border-radius:4px;box-shadow:none}
  .nav-submenu:before{display:none}
  .nav-submenu>a{padding:11px 24px 11px 4px}
  .nav-submenu>a span{top:17px}
}

/* The selected homepage direction uses three audience entrances below the hero. */
.home-audience-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:190px}
.audience-panel{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:28px 74px 31px clamp(32px,4.7vw,80px);transition:filter .2s}
.audience-panel:hover{filter:brightness(.95)}
.audience-panel .audience-number{font-size:11px;font-weight:600;letter-spacing:.12em;opacity:.78;margin-bottom:15px}
.audience-panel strong{font-family:'Noto Serif SC','Songti SC',serif;font-size:clamp(26px,2.25vw,35px);font-weight:500;line-height:1.4;white-space:nowrap}
.audience-panel small{font-size:14px;line-height:1.7;margin-top:4px}
.audience-panel b{position:absolute;right:33px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;border:1px solid currentColor;border-radius:50%;font-size:19px;font-weight:400}
.audience-visitor{background:#145448;color:#fffaf3}
.audience-counselor{background:#79a284;color:#fffaf3}
.audience-learner{background:#e9a58f;color:#173f38}
.audience-counselor small{color:#edf4e8}
.audience-learner small{color:#3f5c4c}

/* New audience pages share the center's restrained editorial language. */
.entry-grid,.visitor-service-grid,.track-grid,.learning-steps{display:grid;gap:18px}
.entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.visitor-service-grid,.track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.visitor-service-grid article,.track-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:42px 44px;min-height:330px;background:#eef5f0;border-radius:7px}
.visitor-service-grid article:nth-child(2),.track-grid article:nth-child(2){background:#f6f1e8}
.visitor-service-grid article>span,.track-grid article>span{font-size:11px;letter-spacing:.12em;color:#438073;font-weight:600}
.visitor-service-grid h3,.track-grid h3,.learning-steps h3,.visitor-more h2{font-family:'Noto Serif SC','Songti SC',serif;font-weight:500;color:#1b4640}
.visitor-service-grid h3,.track-grid h3{font-size:27px;line-height:1.45;margin:20px 0 12px}
.visitor-service-grid p,.track-grid p{font-size:14px;color:#587369;line-height:1.95;margin:0 0 27px}
.visitor-service-grid .text-link{margin-top:auto}
.visitor-process .button{margin-top:20px}
.visitor-more{display:flex;align-items:center;justify-content:space-between;gap:35px}
.visitor-more h2{font-size:30px;margin:0}
.visitor-more-links{display:flex;gap:23px;flex-wrap:wrap}
.track-grid article{min-height:340px}
.track-links,.learning-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:auto}
.track-links .text-link{font-size:13px}
.track-note{font-size:13px;color:#647b70;margin:20px 0 0}
.track-note a{color:#21695b;text-decoration:underline}
.learning-steps{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dce8e3;border-bottom:1px solid #dce8e3;gap:0}
.learning-steps article{padding:34px 34px 37px;border-right:1px solid #dce8e3}
.learning-steps article:first-child{padding-left:0}
.learning-steps article:last-child{border-right:0}
.learning-steps article>span{font-family:Georgia,serif;color:#3d8775;font-size:20px}
.learning-steps h3{font-size:23px;margin:22px 0 10px}
.learning-steps p{color:#627b70;font-size:14px;margin:0}
.learning-next .about-grid{grid-template-columns:1fr 43%}
.learning-next .about-picture{height:310px;border-radius:90px 8px 8px 8px}
.learning-next .about-grid p{margin:18px 0 27px}

@media(max-width:850px){
  .home-audience-band{grid-template-columns:1fr}
  .audience-panel{min-height:140px;padding-left:32px}
  .entry-grid,.learning-steps{grid-template-columns:1fr}
  .visitor-service-grid,.track-grid{grid-template-columns:1fr}
  .learning-steps article,.learning-steps article:first-child{padding:25px 0;border-right:0;border-bottom:1px solid #dce8e3}
  .learning-steps article:last-child{border-bottom:0}
  .learning-steps h3{margin:10px 0 6px}
  .visitor-more{display:block}
  .visitor-more-links{margin-top:20px}
  .learning-next .about-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .audience-panel{min-height:126px;padding:21px 69px 22px 25px}
  .audience-panel .audience-number{margin-bottom:6px}
  .audience-panel strong{font-size:25px}
  .audience-panel small{font-size:12px}
  .audience-panel b{right:22px;width:35px;height:35px}
  .visitor-service-grid article,.track-grid article{min-height:0;padding:30px 25px}
  .visitor-service-grid h3,.track-grid h3{font-size:24px}
  .track-links,.learning-actions{align-items:flex-start;flex-direction:column;gap:14px}
  .visitor-more h2{font-size:26px}
}
