/* Accure corporate homepage — isolated layout and interaction layer */
:root {
  --ac-navy: #21334d;
  --ac-navy-deep: #142338;
  --ac-slate: #314a68;
  --ac-gold: #d4af37;
  --ac-gold-soft: #f2e7bd;
  --ac-paper: #f7f8fa;
  --ac-white: #ffffff;
  --ac-ink: #182335;
  --ac-copy: #536174;
  --ac-line: #dce2e8;
}

body.corporate-home {
  background: var(--ac-white);
  color: var(--ac-ink);
  font-family: "Manrope", sans-serif;
}
.corporate-home h1,.corporate-home h2,.corporate-home h3,.corporate-home h4 { font-family: "Sora", sans-serif; letter-spacing: 0; }
.corporate-home .container { max-width: 1280px; padding-inline: 28px; }
.corporate-home .header { background: var(--ac-white); border-color: var(--ac-line); box-shadow: none; z-index: 1000; }
.corporate-home .header-nav { min-height: 78px; padding-block: 0; gap: 32px; }
.corporate-home .logo img { height: 44px; width: auto; max-width: 100%; object-fit: contain; }
.corporate-home .logo { flex:0 0 auto; width:auto; }
.corp-nav { display: none; align-items: stretch; align-self: stretch; margin-left: auto; }
.corp-nav-item { position: static; display: flex; align-items: stretch; }
.corp-nav-trigger,.corp-nav-link { display:flex; align-items:center; gap:7px; padding:0 15px; border:0; background:none; color:var(--ac-ink); font:600 14px/1 "Manrope",sans-serif; cursor:pointer; position:relative; }
.corp-nav-trigger::after,.corp-nav-link::after { content:""; position:absolute; height:3px; left:15px; right:15px; bottom:0; background:var(--ac-gold); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.corp-nav-trigger:hover::after,.corp-nav-trigger[aria-expanded="true"]::after,.corp-nav-link:hover::after { transform:scaleX(1); }
.corp-chevron { width:12px; height:12px; transition:transform .2s ease; }
.corp-nav-trigger[aria-expanded="true"] .corp-chevron { transform:rotate(180deg); }
.mega-panel { position:absolute; top:100%; left:0; right:0; background:var(--ac-white); border-top:1px solid var(--ac-line); box-shadow:0 22px 45px rgba(20,35,56,.14); visibility:hidden; opacity:0; transform:translateY(-8px); pointer-events:none; transition:opacity .2s ease,transform .2s ease,visibility .2s; }
.corp-nav-item.open .mega-panel { visibility:visible; opacity:1; transform:none; pointer-events:auto; }
.mega-inner { max-width:1280px; margin:auto; padding:38px 28px 42px; display:grid; grid-template-columns:1.1fr 1fr 1fr 1.2fr; gap:38px; }
.mega-intro { padding-right:28px; border-right:1px solid var(--ac-line); }
.mega-eyebrow,.eyebrow { color:var(--ac-slate); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.mega-intro .mega-intro-title { font-size:25px; line-height:1.25; margin:12px 0; color:var(--ac-navy); }
.mega-intro p,.mega-feature p { color:var(--ac-copy); font-size:14px; line-height:1.7; }
.mega-column .mega-column-title { color:var(--ac-navy); font-size:13px; text-transform:uppercase; margin-bottom:14px; }
.mega-column a { display:block; padding:8px 0; color:var(--ac-copy); font-size:14px; font-weight:600; }
.mega-column a:hover,.text-link:hover { color:var(--ac-navy); text-decoration:underline; text-decoration-color:var(--ac-gold); text-underline-offset:4px; }
.mega-feature { background:var(--ac-paper); padding:0 22px 22px; overflow:hidden; }
.mega-feature-media { display:block; height:112px; margin:0 -22px 20px; overflow:hidden; background:var(--ac-navy); }
.mega-feature-media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.mega-feature:hover .mega-feature-media img { transform:scale(1.04); }
.mega-feature strong { display:block; color:var(--ac-navy); font-family:"Sora",sans-serif; font-size:17px; margin:12px 0 8px; }
.mega-feature a { display:inline-block; color:var(--ac-navy); font-weight:800; margin-top:16px; }
.corp-contact { align-self:center; margin-left:8px; display:inline-flex; align-items:center; gap:10px; color:var(--ac-navy-deep); background:var(--ac-gold); padding:13px 18px; font-weight:800; font-size:13px; }
.corp-contact:hover { background:var(--ac-gold-soft); }
.corp-menu-btn { display:flex; width:44px; height:44px; align-items:center; justify-content:center; border:1px solid var(--ac-line); background:var(--ac-white); color:var(--ac-navy); cursor:pointer; }
.corp-mobile-menu { display:none; position:fixed; inset:var(--mobile-menu-top,78px) 0 0; overflow:auto; overscroll-behavior:contain; background:var(--ac-white); padding:16px max(24px,calc((100vw - 1280px)/2 + 28px)) 40px; z-index:999; }
.corp-mobile-menu.open { display:block; }
.mobile-nav-group { border-bottom:1px solid var(--ac-line); }
.mobile-nav-toggle,.mobile-direct { width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 0; border:0; background:none; color:var(--ac-navy); font:700 17px "Sora",sans-serif; text-align:left; }
.mobile-nav-content { display:none; padding:0 0 16px 12px; }
.mobile-nav-group.open .mobile-nav-content { display:grid; gap:12px; }
.mobile-nav-content a { color:var(--ac-copy); font-weight:600; }
.mobile-contact { margin-top:24px; width:100%; justify-content:center; }
body.menu-open { overflow:hidden; }

.corp-hero { min-height:calc(100svh - 78px); max-height:880px; display:flex; align-items:center; position:relative; overflow:hidden; padding:88px 0 76px; background:var(--ac-navy-deep); }
.corp-hero-media { position:absolute; inset:-4% 0; }
.corp-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.corp-hero-scrim { position:absolute; inset:0; background:linear-gradient(90deg,rgba(14,26,41,.96) 0%,rgba(14,26,41,.9) 32%,rgba(14,26,41,.36) 58%,rgba(14,26,41,.08) 100%); }
.hero-network { position:absolute; inset:0; opacity:.2; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,#000,transparent 60%); }
.corp-hero-content { position:relative; width:min(680px,58%); color:var(--ac-white); }
.corp-hero .eyebrow { color:var(--ac-gold); }
.corp-hero h1 { font-size:clamp(42px,5.2vw,74px); line-height:1.04; font-weight:650; margin:18px 0 24px; color:var(--ac-white); max-width:650px; }
.corp-hero p { color:rgba(255,255,255,.86); font-size:18px; line-height:1.75; max-width:610px; margin:0 0 32px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }
.btn-gold,.btn-light,.btn-navy { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 22px; font-weight:800; font-size:14px; transition:transform .2s ease,background .2s ease; }
.btn-gold { background:var(--ac-gold); color:var(--ac-navy-deep); }
.btn-light { border:1px solid rgba(255,255,255,.6); color:var(--ac-white); }
.btn-navy { background:var(--ac-navy); color:var(--ac-white); }
.btn-gold:hover,.btn-light:hover,.btn-navy:hover { transform:translateY(-2px); }
.hero-proof { display:flex; gap:32px; margin-top:48px; padding-top:24px; border-top:1px solid rgba(255,255,255,.24); }
.hero-proof span { display:block; color:rgba(255,255,255,.65); font-size:12px; text-transform:uppercase; margin-bottom:5px; }
.hero-proof strong { font-size:14px; font-weight:700; }
.hero-scroll { position:absolute; bottom:24px; right:28px; color:var(--ac-white); font-size:11px; text-transform:uppercase; writing-mode:vertical-rl; letter-spacing:.14em; }

.home-band { padding:88px 0; }
.home-band.paper { background:var(--ac-paper); }
.home-band.navy { background:var(--ac-navy-deep); color:var(--ac-white); }
.section-head { display:grid; grid-template-columns:.75fr 1.25fr; gap:64px; align-items:end; margin-bottom:46px; }
.section-head h2,.split-copy h2,.career-copy h2 { color:var(--ac-navy); font-size:clamp(34px,4vw,54px); line-height:1.12; margin-top:12px; }
.section-head p { color:var(--ac-copy); font-size:17px; line-height:1.75; max-width:620px; }
.capability-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--ac-line); border-left:1px solid var(--ac-line); }
.capability { padding:34px; min-height:245px; border-right:1px solid var(--ac-line); border-bottom:1px solid var(--ac-line); background:var(--ac-white); position:relative; }
.capability-number { color:var(--ac-gold); font:700 13px "Sora",sans-serif; }
.capability h3 { color:var(--ac-navy); font-size:23px; margin:30px 0 12px; }
.capability p { color:var(--ac-copy); line-height:1.7; }
.capability .text-link { position:absolute; bottom:30px; font-weight:800; font-size:13px; color:var(--ac-navy); }
.editorial-split { display:grid; grid-template-columns:1.05fr .95fr; min-height:600px; }
.split-media { overflow:hidden; min-height:520px; }
.split-media img { width:100%; height:100%; object-fit:cover; transition:transform 1.1s ease; }
.editorial-split:hover .split-media img { transform:scale(1.025); }
.split-copy { padding:64px; display:flex; flex-direction:column; justify-content:center; background:var(--ac-navy); color:var(--ac-white); }
.split-copy .eyebrow { color:var(--ac-gold); }
.split-copy h2 { color:var(--ac-white); }
.split-copy p { margin:24px 0; color:rgba(255,255,255,.78); line-height:1.8; font-size:17px; }
.platform-list { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; margin:8px 0 30px; }
.platform-list li { border-top:1px solid rgba(255,255,255,.24); padding-top:12px; font-weight:700; font-size:14px; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.process-step { padding:28px 26px; border-left:1px solid var(--ac-line); }
.process-step:last-child { border-right:1px solid var(--ac-line); }
.process-step span { color:var(--ac-gold); font:700 13px "Sora",sans-serif; }
.process-step h3 { color:var(--ac-navy); font-size:21px; margin:24px 0 10px; }
.process-step p { color:var(--ac-copy); font-size:14px; line-height:1.7; }
.insights-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:22px; }
.insight { display:flex; flex-direction:column; background:var(--ac-white); border:1px solid var(--ac-line); min-height:390px; }
.insight-media { aspect-ratio:16/10; overflow:hidden; background:var(--ac-navy); }
.insight-media img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.insight:hover img { transform:scale(1.035); }
.insight-body { padding:24px; display:flex; flex-direction:column; flex:1; }
.insight-tag { color:var(--ac-slate); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.insight h2,.insight h3 { color:var(--ac-navy); font-size:21px; line-height:1.35; margin:12px 0 18px; }
.insight a { margin-top:auto; color:var(--ac-navy); font-weight:800; font-size:13px; }
.career-band { display:grid; grid-template-columns:1fr 1fr; min-height:520px; }
.career-copy { background:var(--ac-gold); padding:68px; display:flex; flex-direction:column; justify-content:center; }
.career-copy p { margin:22px 0 30px; color:var(--ac-navy-deep); line-height:1.75; max-width:520px; }
.career-photo { overflow:hidden; }
.career-photo img { width:100%; height:100%; object-fit:cover; }
.consult-cta { display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:center; }
.consult-cta h2 { color:var(--ac-white); font-size:clamp(34px,4vw,56px); line-height:1.1; }
.consult-cta p { color:rgba(255,255,255,.72); margin-top:18px; }
.consult-actions { display:flex; justify-content:flex-end; gap:12px; flex-wrap:wrap; }
.corp-footer { background:#0f1b2b; color:rgba(255,255,255,.72); padding:68px 0 24px; }
.corp-footer-grid { display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:46px; }
.corp-footer img { height:42px; width:auto; max-width:100%; object-fit:contain; margin-bottom:20px; filter:brightness(0) invert(1); }
.corp-footer h3 { color:var(--ac-white); font-size:14px; margin-bottom:18px; }
.corp-footer a { display:block; color:rgba(255,255,255,.68); margin:9px 0; font-size:14px; }
.corp-footer a:hover { color:var(--ac-gold); }
.corp-footer p { font-size:14px; line-height:1.8; }
.footer-legal { border-top:1px solid rgba(255,255,255,.14); margin-top:44px; padding-top:22px; display:flex; justify-content:space-between; font-size:12px; }

@media (min-width:1050px) { .corp-nav { display:flex; } .corp-menu-btn { display:none; } }
@media (max-width:1049px) { .corporate-home .header-nav { min-height:70px; } .corp-mobile-menu { inset-block-start:var(--mobile-menu-top,70px); } .corp-contact.desktop { display:none; } }
@media (max-width:900px) {
  .corp-hero { min-height:720px; max-height:none; align-items:flex-end; }
  .corp-hero-content { width:100%; }
  .corp-hero-scrim { background:linear-gradient(0deg,rgba(14,26,41,.98) 0%,rgba(14,26,41,.76) 58%,rgba(14,26,41,.24) 100%); }
  .section-head,.editorial-split,.career-band,.consult-cta { grid-template-columns:1fr; }
  .section-head { gap:20px; }
  .split-media { min-height:430px; }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .insights-grid { grid-template-columns:1fr 1fr; }
  .insight:first-child { grid-column:1/-1; }
  .consult-actions { justify-content:flex-start; }
  .corp-footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  html,body.corporate-home { overflow-x:hidden; }
  .corporate-home .container { padding-inline:20px; }
  .corporate-home .header-nav { padding-inline:20px; justify-content:space-between; }
  .corporate-home .logo img { width:190px; height:auto; max-width:calc(100vw - 92px); }
  .corp-menu-btn { flex:0 0 44px; }
  .corp-hero { min-height:680px; padding:70px 0 48px; }
  .corp-hero h1 { font-size:40px; }
  .corp-hero p { font-size:16px; }
  .hero-proof { gap:18px; flex-direction:column; }
  .hero-actions { display:grid; grid-template-columns:1fr; width:100%; }
  .hero-actions a { width:100%; white-space:normal; }
  .hero-scroll { display:none; }
  .home-band { padding:64px 0; }
  .capability-grid,.process-grid,.insights-grid,.corp-footer-grid { grid-template-columns:1fr; }
  .insight:first-child { grid-column:auto; }
  .split-media { min-height:320px; }
  .split-copy,.career-copy { padding:42px 24px; }
  .platform-list { grid-template-columns:1fr; }
  .career-photo { min-height:340px; }
  .footer-legal { flex-direction:column; gap:8px; }
}
@media (max-width:420px) {
  .corporate-home .container { padding-inline:16px; }
  .corporate-home .header-nav { padding-inline:16px; }
  .corporate-home .logo img { width:168px; max-width:calc(100vw - 76px); }
  .corp-hero h1 { font-size:36px; line-height:1.08; }
  .section-head h2,.split-copy h2,.career-copy h2,.consult-cta h2 { font-size:32px; }
  .capability,.process-step,.insight-body { padding:24px 20px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }


/* ---------------------------------------------------------------------------
   Mobile safety net. Added after an audit found the mobile nav was a separate,
   much smaller hand-written menu than the desktop mega-panels, and .stats-grid
   was the one multi-column grid with no small-screen fallback.
   Everything else already collapsed via existing breakpoints or auto-fit.
   --------------------------------------------------------------------------- */
@media (max-width:520px){
  .stats-grid{grid-template-columns:1fr;}
}
@media (max-width:1049px){
  /* nothing may exceed the viewport width on a phone */
  .corporate-home img,.corporate-inner img{max-width:100%;height:auto;}
  .corporate-home pre,.corporate-home code{white-space:pre-wrap;word-break:break-word;}
  /* long unbroken strings (emails, URLs) must wrap rather than push the page */
  .corp-footer a,.footer-link{overflow-wrap:anywhere;}
}
