/* BOHSEI SCIENCE — editorial + accessible hybrid, 2026-11-02.
   Original site design. Earlier typography/scroll interactions are preserved;
   clarity, navigation and section hierarchy are refined. No external assets. */
:root{
  --navy:#164779;
  --dark:#102f4d;
  --deep:#092842;
  --teal:#087a93;
  --cyan:#2aa1b5;
  --ink:#19364c;
  --muted:#596f80;
  --pale:#f5f8fb;
  --powder:#edf5f9;
  --line:#dbe6ec;
  --shadow:0 14px 42px rgba(20,59,85,.075);
  --radius:12px;
  --hybrid-focus:#1b69c2;
}
html{scroll-padding-top:100px}
body.bohsei-hybrid{color:#193449;background:#fff;font-size:15px;line-height:1.9;letter-spacing:.008em}
body.bohsei-hybrid .shell{max-width:1260px;padding-inline:clamp(20px,4.25vw,55px)}
body.bohsei-hybrid :is(h1,h2,h3){letter-spacing:-.055em;text-wrap:pretty}
body.bohsei-hybrid :is(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--hybrid-focus);outline-offset:4px;border-radius:3px;
}
body.bohsei-hybrid a{text-underline-offset:4px}
body.bohsei-hybrid .skip-link{color:#123f6d;background:#fff;border:2px solid #2669ac;border-radius:6px;box-shadow:0 10px 24px #1331492a}

/* Header: simple and predictable site navigation. */
body.bohsei-hybrid .utility{height:29px;color:#365d7e;background:#edf4fa;letter-spacing:.07em;border-bottom:1px solid #dbe5ee}
body.bohsei-hybrid .site-header{background:rgba(255,255,255,.975);border-bottom:1px solid #dbe7ee;box-shadow:0 3px 12px rgba(29,70,100,.035);backdrop-filter:blur(10px)}
body.bohsei-hybrid .header-inner{height:82px;gap:20px}
body.bohsei-hybrid .logo img{width:240px}
body.bohsei-hybrid .desktop-nav{font-size:13px;gap:clamp(12px,1.55vw,24px);font-weight:800}
body.bohsei-hybrid .desktop-nav>a:not(.nav-contact){padding:14px 0;color:#274157}
body.bohsei-hybrid .desktop-nav>a:not(.nav-contact):hover,
body.bohsei-hybrid .desktop-nav>a[aria-current="page"]:not(.nav-contact){color:#155e9b}
body.bohsei-hybrid .desktop-nav>a:not(.nav-contact)::after{background:#1468a9;bottom:5px;height:2px}
body.bohsei-hybrid .nav-contact{min-height:47px;background:#175da5;padding:10px 17px;border-radius:7px;gap:18px;font-size:13px}
body.bohsei-hybrid .nav-contact:hover{background:#0e457d}
body.bohsei-hybrid .nav-contact[aria-current="page"]{background:#0c477f}

/* The earlier dark typographic hero stays; geometry is deliberately abstract. */
body.bohsei-hybrid .hero-home.hero-text-only{
  position:relative;isolation:isolate;color:#fff;
  background:linear-gradient(115deg,#092a48 0%,#0e4169 55%,#075876 100%);
  border-bottom:4px solid #2c9db0;
}
body.bohsei-hybrid .hero-text-only::before{
  display:block;content:"";position:absolute;inset:0;z-index:-1;width:auto;height:auto;border:0;border-radius:0;
  background-image:linear-gradient(90deg,#9acbe50c 1px,transparent 1px),linear-gradient(#9acbe50c 1px,transparent 1px);
  background-size:74px 74px;pointer-events:none;
}
body.bohsei-hybrid .hero-text-only::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;right:-245px;top:-270px;
  width:810px;height:810px;border:1px solid rgba(134,221,231,.24);border-radius:50%;
  box-shadow:0 0 0 65px rgba(177,234,238,.028),0 0 0 140px rgba(177,234,238,.026),0 0 0 240px rgba(177,234,238,.015);
}
body.bohsei-hybrid .hero-text-only .hero-grid{padding-top:100px;padding-bottom:88px;position:relative}
body.bohsei-hybrid .hero-text-only .hero-text{max-width:1050px}
body.bohsei-hybrid .hero-text-only .hero-tag{color:#8ee2e7;font-size:12px;letter-spacing:.17em}
body.bohsei-hybrid .hero-text-only h1{font-size:clamp(44px,5vw,73px);line-height:1.42;letter-spacing:-.077em;margin:21px 0 28px;font-weight:850}
body.bohsei-hybrid .hero-text-only h1 em{position:relative;display:inline-block;color:#84e3e7;isolation:isolate}
body.bohsei-hybrid .hero-text-only h1 em::after{
  content:"";position:absolute;height:3px;left:0;right:1%;bottom:-9px;
  background:linear-gradient(90deg,#6ee4e7,#2fa5bf 78%,transparent);
  transform-origin:left center;transform:scaleX(0);
}
body.bohsei-hybrid .hero-text-only .hero-text>p{max-width:780px;color:#e0ebf1;font-size:16px;line-height:2.12;margin:0 auto 32px}
body.bohsei-hybrid .hero-buttons{gap:13px}
body.bohsei-hybrid .hero-buttons .button{min-height:56px;border-radius:7px;padding:12px 24px;font-size:14px;font-weight:800}
body.bohsei-hybrid .hero-buttons .button-primary{background:#fff;color:#145b93;border:2px solid #fff}
body.bohsei-hybrid .hero-buttons .button-primary:hover{background:#eaf6fc;border-color:#eaf6fc}
body.bohsei-hybrid .hero-buttons .button-outline{color:#fff;border:1.5px solid #9ebfce;background:rgba(255,255,255,.045)}
body.bohsei-hybrid .hero-buttons .button-outline:hover{background:rgba(255,255,255,.13);border-color:#e5f3f7}
body.bohsei-hybrid .hero-text-only .hero-bottom{color:#a9d5e3;margin-top:40px;font-size:10px;letter-spacing:.18em}
@media (prefers-reduced-motion:no-preference){
  body.bohsei-hybrid .hero-text-only h1 em::after{animation:hybrid-underline 1.35s cubic-bezier(.23,.75,.19,1) .48s forwards}
  @keyframes hybrid-underline {to{transform:scaleX(1)}}
}
@media (prefers-reduced-motion:reduce){body.bohsei-hybrid .hero-text-only h1 em::after{transform:scaleX(1)}}

/* Trust facts: compact, useful, no artificial 01/04 numbering. */
body.bohsei-hybrid .facts-strip{border-bottom:1px solid #e1e8ef;background:#fff;box-shadow:none}
body.bohsei-hybrid .facts-grid{padding-top:24px;padding-bottom:24px}
body.bohsei-hybrid .facts-grid>div{padding:6px 15px;border-right-color:#dce7ed}
body.bohsei-hybrid .facts-grid strong{font-size:31px;color:#1b6697;font-weight:750}
body.bohsei-hybrid .facts-grid strong span{font-size:12px}
body.bohsei-hybrid .facts-grid small{color:#5b7384;font-size:12px}

/* Editorial headings, approachable reading width and consistent backgrounds. */
body.bohsei-hybrid .section{padding-top:80px;padding-bottom:80px}
body.bohsei-hybrid .eyebrow{color:#186e9d;letter-spacing:.13em;font-size:11px}
body.bohsei-hybrid .section-title{font-size:clamp(30px,3.45vw,45px);line-height:1.45;color:#173a56}
body.bohsei-hybrid .section-heading{margin-bottom:32px}
body.bohsei-hybrid .section-heading>p{color:#586f7e;font-size:14px}
body.bohsei-hybrid .accent{color:#0d7898}
body.bohsei-hybrid .pale-section,body.bohsei-hybrid .tint-section{background:#f7fafc}
body.bohsei-hybrid .sky-section{background:#ecf5f9}
body.bohsei-hybrid .button{min-height:51px;border-radius:7px;font-weight:800}
body.bohsei-hybrid .button-primary{background:#175da4;border-color:#175da4}
body.bohsei-hybrid .button-primary:hover{background:#11497c;border-color:#11497c}
body.bohsei-hybrid .button-outline{background:#fff;color:#195c99;border-color:#aac8d9}
body.bohsei-hybrid .inline-more{font-size:13px;color:#166099;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
body.bohsei-hybrid .inline-more:hover{color:#0c416f}

/* Clear news list: date, category, headline. */
body.bohsei-hybrid .home-news{background:#fff;padding-top:72px;padding-bottom:74px}
body.bohsei-hybrid .news-list{border-top:2px solid #cbdce8}
body.bohsei-hybrid .news-row{grid-template-columns:110px 110px minmax(0,1fr) 24px;gap:22px;min-height:84px;padding:15px 12px;border-bottom-color:#e0e8ee;transition:background .2s ease}
body.bohsei-hybrid .news-row:hover{background:#f2f8fc}
body.bohsei-hybrid .news-row time{font-size:13px;color:#557086}
body.bohsei-hybrid .news-tag{color:#1c6796;border:1px solid #c9dfed;background:#f1f7fc;border-radius:5px;line-height:1.8}
body.bohsei-hybrid .news-row strong{font-size:14px;color:#193951;line-height:1.6}
body.bohsei-hybrid .news-row>span:last-child{color:#216ca2}

/* Older 2020 notices remain accessible, but are collapsed by default. */
body.bohsei-hybrid .hybrid-news-archive{margin-top:22px;border:1px solid #d7e5ed;border-radius:9px;background:#f9fcfd;overflow:hidden}
body.bohsei-hybrid .hybrid-news-archive>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:17px 22px;cursor:pointer;color:#175e94;font-size:13px;font-weight:800}
body.bohsei-hybrid .hybrid-news-archive>summary::-webkit-details-marker{display:none}
body.bohsei-hybrid .hybrid-news-archive>summary span{font-size:20px;transition:transform .2s}
body.bohsei-hybrid .hybrid-news-archive[open]>summary span{transform:rotate(180deg)}
body.bohsei-hybrid .hybrid-news-archive>summary:hover{background:#eef7fc}
body.bohsei-hybrid .hybrid-news-archive>.news-list{border-top:1px solid #d7e5ed}
body.bohsei-hybrid .hybrid-news-archive .news-row{border-bottom:0}

/* Commitment section: keep original scroll-reveal typography and links. */
body.bohsei-hybrid .bohsei-vision{background:#eef6fa;padding-top:83px;padding-bottom:83px}
body.bohsei-hybrid .bohsei-vision::before{background-size:82px 82px;opacity:.8}
body.bohsei-hybrid .bohsei-vision-top{border-bottom:1px solid #cbdfe8;color:#54778a}
body.bohsei-hybrid .bohsei-vision-content{gap:clamp(40px,5.5vw,80px)}
body.bohsei-hybrid .bohsei-vision-heading{font-size:clamp(37px,4.1vw,61px);line-height:1.45;color:#153d5b}
body.bohsei-hybrid .bohsei-vision-heading .accent{color:#087b98}
body.bohsei-hybrid .bohsei-vision-copy p{color:#4d6c7b;font-size:14px}
body.bohsei-hybrid .bohsei-vision-cta{color:#086b92;border-bottom-color:#2785a5}
body.bohsei-hybrid .bohsei-vision-panel{border:1px solid #d6e5ed;border-radius:14px;background:rgba(255,255,255,.93);box-shadow:0 18px 40px rgba(20,70,100,.05)}
body.bohsei-hybrid .bohsei-vision-panel-count{font-size:12px;font-weight:800;line-height:1.4;font-family:inherit;color:#206c97;letter-spacing:0;background:#eaf4fb;border:1px solid #d0e4f0;border-radius:999px;padding:9px 13px;white-space:nowrap}
body.bohsei-hybrid .bohsei-vision-service{border-top-color:#dce8ed}
body.bohsei-hybrid .bohsei-vision-service:hover{background:#f3f9fc}
body.bohsei-hybrid .bohsei-vision-service-name{font-size:clamp(14px,1.14vw,16px);color:#214055}
body.bohsei-hybrid .bohsei-vision-service-arrow{color:#16749c}

/* Home services are information-first, without large distracting stock photos. */
body.bohsei-hybrid .home-services{background:#fff}
body.bohsei-hybrid .home-services .section-heading{padding-bottom:20px;border-bottom:1px solid #d6e6ed}
body.bohsei-hybrid .home-services .service-photo{display:none}
body.bohsei-hybrid .home-services .service-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
body.bohsei-hybrid .home-services .service-card{
  min-height:220px;background:#f9fbfc;box-shadow:none;border:1px solid #d9e5ec;
  border-radius:12px;position:relative;overflow:hidden;transition:background .22s,border-color .22s,box-shadow .22s,transform .22s;
}
body.bohsei-hybrid .home-services .service-card::before{
  content:"";width:4px;position:absolute;inset:0 auto 0 0;background:#2b87b3;
  transform:scaleY(.18);transform-origin:top;transition:transform .35s;
}
body.bohsei-hybrid .home-services .service-card:hover{border-color:#8bb9d2;background:#fff;transform:translateY(-3px);box-shadow:0 11px 28px rgba(26,68,95,.07)}
body.bohsei-hybrid .home-services .service-card:hover::before{transform:scaleY(1)}
body.bohsei-hybrid .home-services .service-content{padding:29px 33px 27px}
body.bohsei-hybrid .home-services .service-number{font-size:11px;color:#317aa2;letter-spacing:.10em}
body.bohsei-hybrid .home-services .service-content h3{color:#1a3e59;font-size:clamp(19px,1.85vw,23px);line-height:1.5;margin:12px 0 8px}
body.bohsei-hybrid .home-services .service-content p{color:#5c7481;font-size:13px;line-height:1.9;margin-bottom:23px}
body.bohsei-hybrid .home-services .text-arrow{color:#176ba0;font-size:12px}
body.bohsei-hybrid .home-services .text-arrow b{font-size:20px}

/* Who we are, president, locations and form: functional rather than decorative. */
body.bohsei-hybrid .company-home.company-text-only{gap:clamp(30px,6vw,82px)}
body.bohsei-hybrid .company-intro-lead{color:#1c5477;font-weight:750}
body.bohsei-hybrid .company-section-links{border-top-color:#d4e5ed}
body.bohsei-hybrid .company-section-links a:hover{color:#12679b}
body.bohsei-hybrid .president-home{border:1px solid #dde8ee;background:#f5f9fb;border-radius:13px}
body.bohsei-hybrid .president-home-copy{background:#f5f9fb}
body.bohsei-hybrid .office-card{border-color:#d9e6ed;box-shadow:none;background:#fff;border-radius:10px}
body.bohsei-hybrid .office-card h3{color:#183b54}
body.bohsei-hybrid .contact-form-panel{border:1px solid #d5e3ec;border-radius:13px;box-shadow:0 7px 22px rgba(28,70,90,.045)}
body.bohsei-hybrid .form-field :is(input,select,textarea){background:#fff;border-color:#a4bfce}

/* Subpages: calm hero, visible breadcrumbs, card and table consistency. */
body.bohsei-hybrid .page-hero{background:linear-gradient(120deg,#eaf4f9 0%,#f7fafc 100%);border-bottom:1px solid #dbe7ee;color:#1b3b53;padding:68px 0 62px}
body.bohsei-hybrid .page-hero::after{border-color:#4f95b110;right:-190px;top:-240px}
body.bohsei-hybrid .page-hero .eyebrow{color:#176f97}
body.bohsei-hybrid .page-hero h1{color:#173e5c;font-size:clamp(35px,4.1vw,53px);line-height:1.36;margin:15px 0 14px}
body.bohsei-hybrid .page-hero p{color:#516e80;font-size:15px}
body.bohsei-hybrid .breadcrumbs{color:#587c90;padding-top:22px;font-size:12px}
body.bohsei-hybrid .breadcrumbs a{text-decoration:underline;text-decoration-color:#bfd7e6}
body.bohsei-hybrid .company-philosophy{background:#eef6fa;border-radius:13px}
body.bohsei-hybrid .profile-table th{color:#225b7b;background:#f4f9fc}
body.bohsei-hybrid .profile-table tr{border-bottom-color:#dce7ec}
body.bohsei-hybrid .group-card,
body.bohsei-hybrid .job-card,
body.bohsei-hybrid .info-panel{border-color:#d8e5ed;border-radius:11px;box-shadow:none}
body.bohsei-hybrid .group-card h2{color:#193c58}
body.bohsei-hybrid .site-links a{border-color:#d8e5ed}
body.bohsei-hybrid .site-links a:hover{background:#f0f8fc;color:#135e90}
body.bohsei-hybrid .download-row{border-color:#d8e5ed}

/* Retain the business page's sticky four-chapter scroll animation. */
@media (min-width:981px){
  body.bohsei-hybrid .bohsei-story-intro{color:#38718f;border-color:#d0e2eb}
  body.bohsei-hybrid .bohsei-story-step{color:#1a3d57}
  body.bohsei-hybrid .bohsei-story-step-rule{background:#d0e2ea}
  body.bohsei-hybrid .bohsei-story-step-rule::after{background:#168cb0}
  body.bohsei-hybrid .bohsei-story-step h3{color:#183d5a}
  body.bohsei-hybrid .bohsei-story-cta{color:#0a7199}
  body.bohsei-hybrid .bohsei-story-display{background:linear-gradient(145deg,#0d3553,#104e70);border-radius:12px}
  body.bohsei-hybrid .bohsei-stage-rings{opacity:.37}
  body.bohsei-hybrid .bohsei-story-progress span.is-active{background:#85e0ea}
}

/* Footer maintains the brand tone while clarifying links. */
body.bohsei-hybrid .footer{background:#142f47;color:#fff}
body.bohsei-hybrid .footer-list h3{color:#e9f3f8;font-size:12px}
body.bohsei-hybrid .footer-list a{color:#c1d5e1;font-size:12px;line-height:1.75}
body.bohsei-hybrid .footer-list a:hover{color:#fff;text-decoration:underline}
body.bohsei-hybrid .footer-base{border-top-color:#365269}
body.bohsei-hybrid .backtop{background:#17659d;border-radius:7px}

/* Tablet: keep controls usable and cards readable. */
@media (max-width:1120px){
 body.bohsei-hybrid .desktop-nav{font-size:12px;gap:11px}
 body.bohsei-hybrid .logo img{width:208px}
 body.bohsei-hybrid .hero-text-only .hero-grid{padding-top:80px;padding-bottom:74px}
 body.bohsei-hybrid .bohsei-vision-content{gap:30px}
}
@media (max-width:960px){
 body.bohsei-hybrid .header-inner{height:72px}
 body.bohsei-hybrid .mobile-nav{box-shadow:0 15px 30px rgba(19,54,76,.13);border-top:1px solid #dce8ed}
 body.bohsei-hybrid .mobile-nav a{font-size:15px;padding-top:13px;padding-bottom:13px}
 body.bohsei-hybrid .mobile-nav a[aria-current="page"]{font-weight:850;color:#1b669b;background:#eef7fd}
 body.bohsei-hybrid .hero-text-only .hero-grid{padding-top:66px;padding-bottom:65px}
 body.bohsei-hybrid .bohsei-vision-content{grid-template-columns:1fr}
 body.bohsei-hybrid .bohsei-vision-copy{max-width:720px}
 body.bohsei-hybrid .bohsei-vision-panel{max-width:740px}
 body.bohsei-hybrid .home-services .service-cards{gap:12px}
}
@media (max-width:690px){
 html{scroll-padding-top:75px}
 body.bohsei-hybrid .shell{padding-inline:20px}
 body.bohsei-hybrid .utility{height:25px;font-size:8px;letter-spacing:.03em}
 body.bohsei-hybrid .utility-inner span:last-child{display:none}
 body.bohsei-hybrid .header-inner{height:68px}
 body.bohsei-hybrid .logo img{width:min(56vw,220px)}
 body.bohsei-hybrid .hero-text-only::after{right:-360px;top:-240px;width:610px;height:610px}
 body.bohsei-hybrid .hero-text-only::before{background-size:55px 55px}
 body.bohsei-hybrid .hero-text-only .hero-grid{padding-top:55px;padding-bottom:48px}
 body.bohsei-hybrid .hero-text-only .hero-text{text-align:left}
 body.bohsei-hybrid .hero-text-only .hero-tag{font-size:10px;letter-spacing:.11em}
 body.bohsei-hybrid .hero-text-only h1{font-size:clamp(34px,8.15vw,48px);line-height:1.47;margin:18px 0 26px;letter-spacing:-.068em}
 body.bohsei-hybrid .hero-text-only .hero-text>p{font-size:14px;line-height:2.05;margin-bottom:26px}
 body.bohsei-hybrid .hero-text-only .hero-text>p br{display:none}
 body.bohsei-hybrid .hero-buttons{align-items:stretch;flex-wrap:wrap;gap:10px}
 body.bohsei-hybrid .hero-buttons .button{min-height:49px;font-size:12px;padding:10px 14px}
 body.bohsei-hybrid .hero-text-only .hero-bottom{margin-top:29px;font-size:9px;gap:10px;letter-spacing:.055em}
 body.bohsei-hybrid .facts-grid{grid-template-columns:1fr 1fr;padding-top:12px;padding-bottom:12px;gap:0}
 body.bohsei-hybrid .facts-grid>div{padding:13px 5px}
 body.bohsei-hybrid .facts-grid>div:last-child{grid-column:1/-1;border-top:1px solid #dfe9ef;border-right:0}
 body.bohsei-hybrid .facts-grid strong{font-size:25px}
 body.bohsei-hybrid .facts-grid small{font-size:10px}
 body.bohsei-hybrid .section{padding-top:55px;padding-bottom:55px}
 body.bohsei-hybrid .section-title{font-size:clamp(28px,7vw,36px)}
 body.bohsei-hybrid .home-news{padding-top:55px;padding-bottom:55px}
 body.bohsei-hybrid .news-row{grid-template-columns:88px 1fr 20px;gap:7px;min-height:87px;padding:15px 5px}
 body.bohsei-hybrid .news-row .news-tag{grid-column:2;grid-row:1;justify-self:start;font-size:10px;padding:1px 6px}
 body.bohsei-hybrid .news-row time{grid-column:1;grid-row:2;font-size:10px}
 body.bohsei-hybrid .news-row strong{grid-column:2;grid-row:2;font-size:13px}
 body.bohsei-hybrid .news-row>span:last-child{grid-column:3;grid-row:2;font-size:19px}
 body.bohsei-hybrid .bohsei-vision{padding-top:49px;padding-bottom:53px}
 body.bohsei-hybrid .bohsei-vision-heading{font-size:clamp(28px,7.4vw,44px)}
 body.bohsei-hybrid .bohsei-vision-panel{padding:21px 18px 15px}
 body.bohsei-hybrid .bohsei-vision-panel-count{font-size:10px;padding:7px 10px}
 body.bohsei-hybrid .bohsei-vision-service{min-height:68px}
 body.bohsei-hybrid .home-services .service-cards{grid-template-columns:1fr;gap:12px}
 body.bohsei-hybrid .home-services .service-card{min-height:0}
 body.bohsei-hybrid .home-services .service-content{padding:23px 23px 23px}
 body.bohsei-hybrid .home-services .service-content h3{font-size:19px}
 body.bohsei-hybrid .home-services .service-content p{margin-bottom:15px}
 body.bohsei-hybrid .page-hero{padding:45px 0 45px}
 body.bohsei-hybrid .page-hero h1{font-size:clamp(32px,7.8vw,43px)}
 body.bohsei-hybrid .page-hero p{font-size:14px}
 body.bohsei-hybrid .group-card h2{font-size:18px}
}
@media (max-width:370px){
 body.bohsei-hybrid .hero-buttons{flex-direction:column}
 body.bohsei-hybrid .hero-buttons .button{justify-content:space-between}
 body.bohsei-hybrid .hero-text-only h1{font-size:32px}
 body.bohsei-hybrid .bohsei-vision-panel-count{display:none}
}
@media (prefers-reduced-motion:reduce){
 body.bohsei-hybrid .hero-text-only h1 em::after{transform:scaleX(1)}
 body.bohsei-hybrid .home-services .service-card{transform:none!important;transition:none!important}
}
