/* BOSON Site Structure: menu dropdown + new page styles */

/* ---- Menu dropdown (Product) ---- */
.main-nav li{position:relative}
.main-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:240px;background:#fff;border-radius:12px;box-shadow:0 14px 30px rgba(0,0,0,.15);padding:8px;flex-direction:column;gap:2px;z-index:200;list-style:none;margin:0}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu,.main-nav li.open>.sub-menu{display:flex}
.main-nav .menu-item-has-children>a::after{content:" ▾";font-size:.75em}
.main-nav .sub-menu a{white-space:nowrap}

@media(max-width:820px){
  .main-nav.open{max-height:640px;overflow:auto}
  .main-nav .sub-menu{display:none;position:static;box-shadow:none;padding:0 0 0 16px;min-width:0;border-radius:0}
  .main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:none}
  .main-nav li.open>.sub-menu{display:flex}
}

/* ---- Slide text styles (same as other landing pages) ---- */
.site-page .slide-copy .hl-text{display:block;color:#e3a624;font-size:clamp(2.2rem,5.6vw,4.2rem);line-height:1.08}
.site-page .slide-copy .sub-text{display:block;color:#fff;font-size:clamp(1.2rem,2.8vw,2.1rem);font-weight:700;margin-top:10px;line-height:1.25}
.site-page .slide-line{color:#fff;font-style:italic;font-size:1.1rem;margin:0 0 12px;opacity:.95}

/* ---- Page header band ---- */
.page-head{background:linear-gradient(120deg,var(--green-d),var(--green));color:#fff;padding:56px 0;text-align:center}
.page-head h1{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:8px}
.page-head p{margin:0;opacity:.92}
.page-head .eyebrow{color:var(--gold)}

/* ---- Division cards ---- */
.div-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}
.div-card{display:block;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.08);transition:.3s;color:inherit}
.div-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);color:inherit}
.div-img{aspect-ratio:3/2;overflow:hidden}
.div-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.div-card:hover .div-img img{transform:scale(1.07)}
.div-body{padding:24px 26px 28px}
.div-body h3{font-size:1.4rem}
.div-body p{color:var(--muted)}
.div-link{display:inline-block;margin-top:14px;font-weight:700;color:var(--green)}
.div-card:hover .div-link{color:var(--gold-d)}
.div-body .chips li{font-size:.85rem;padding:5px 12px}

/* ---- Company details row ---- */
.c-list-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:28px}
.c-list-row li{margin-bottom:0}

@media(max-width:1024px){.c-list-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.div-grid{grid-template-columns:1fr}}
@media(max-width:640px){.c-list-row{grid-template-columns:1fr}.page-head{padding:42px 0}}

/* ---- Division summary list (Home + About) ---- */
.div-mini{display:grid;gap:12px;margin:18px 0 6px}
.div-mini>div{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.div-mini i{font-style:normal;font-size:1.5rem;width:44px;height:44px;flex:none;display:grid;place-items:center;background:var(--green-l);border-radius:10px}
.div-mini b{display:block;color:var(--green-d)}
.div-mini span{display:block;color:var(--muted);font-size:.92rem;line-height:1.5}

/* ---- Footer ---- */
.bosons-footer .f-brand p{max-width:380px;margin-top:6px}
.bosons-footer .f-brand img{height:64px}
.bosons-footer .f-contact li{margin-bottom:12px}

/* ---- About image matches the height of the text beside it ---- */
.site-page .about-grid{align-items:stretch}
.site-page .about-img{min-height:100%}
.site-page .about-img img{height:100%;min-height:420px;aspect-ratio:auto;object-fit:cover}
@media(max-width:820px){.site-page .about-img img{height:auto;min-height:0;aspect-ratio:4/3}}

/* ---- World map ---- */
.map-wrap{max-width:1100px;margin:0 auto 24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 18px rgba(0,0,0,.06);padding:12px;overflow:hidden}
.map-wrap img{width:100%;height:auto;display:block;border-radius:10px}

/* ---- Certifications ---- */
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cert{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 18px rgba(0,0,0,.06);overflow:hidden;text-align:center}
.cert-img{aspect-ratio:4/3;background:#f4f8f5;display:grid;place-items:center;padding:10px}
.cert-img img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.cert figcaption{padding:14px 10px;font-weight:700;color:var(--green-d);letter-spacing:.04em}
@media(max-width:900px){.cert-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cert-grid{grid-template-columns:1fr}}
.bosons-footer .f-contact li b{color:var(--gold)}
