/* ════════════════════════════════════════════════════════════════
   Solutions page — page hero, door selector, sticky segment
   progress bar, editorial split sections per segment, shared CTA.
   ════════════════════════════════════════════════════════════════ */

/* ── PAGE HERO ───────────────────────────────── */
.page-hero{
  padding:80px 0 72px;position:relative;overflow:hidden;
  background-image:var(--page-hero-image, none);
  background-size:cover;background-position:center 40%;
}
.page-hero.no-image{background:linear-gradient(135deg,#0c1a2e 0%,var(--navy) 60%,#254f7a 100%);}
.page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(8,18,34,.85) 0%,rgba(18,36,62,.68) 100%);z-index:0;}
.page-hero-inner{position:relative;z-index:1;max-width:720px;}
.page-hero h1{font-family:'Montserrat',sans-serif;font-size:clamp(36px,5.5vw,68px);font-weight:900;color:#fff;line-height:1.05;letter-spacing:-.025em;margin-top:18px;}
.page-hero p{margin-top:20px;font-size:18px;color:rgba(255,255,255,.78);max-width:580px;line-height:1.65;}

/* ── SEGMENT DOOR SELECTOR ───────────────────── */
.door-selector{display:flex;height:52vh;min-height:300px;max-height:520px;background:var(--ink);overflow:hidden;}
.door{flex:1;position:relative;cursor:pointer;overflow:hidden;transition:flex .45s cubic-bezier(.4,0,.2,1);border-right:1px solid rgba(255,255,255,.06);}
.door:last-child{border-right:none;}
.door:hover{flex:2.6;}
.door-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .45s cubic-bezier(.4,0,.2,1);filter:brightness(.45) saturate(.7);}
.door:hover .door-bg{transform:scale(1.06);filter:brightness(.55) saturate(.9);}
.door-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,18,34,.9) 0%,rgba(8,18,34,.25) 60%,transparent 100%);}

.door::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;z-index:2;transition:height .3s;background:var(--door-accent, var(--blue-lt));}
.door:hover::before{height:4px;}

.door-content{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:24px 20px;}
.door-num{
  font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.45);margin-bottom:8px;opacity:0;transform:translateY(8px);
  transition:opacity .35s .1s,transform .35s .1s;
}
.door:hover .door-num{opacity:1;transform:translateY(0);}
.door-label{font-family:'Montserrat',sans-serif;font-size:clamp(13px,1.4vw,18px);font-weight:800;color:#fff;line-height:1.2;transition:font-size .2s;}
.door:hover .door-label{font-size:clamp(16px,1.8vw,22px);}
.door-sub{
  font-size:13px;color:rgba(255,255,255,.65);margin-top:8px;line-height:1.5;
  max-height:0;overflow:hidden;transition:max-height .4s ease .1s,opacity .3s .15s;opacity:0;
}
.door:hover .door-sub{max-height:80px;opacity:1;}
.door-arrow{
  display:inline-flex;align-items:center;gap:6px;margin-top:12px;
  font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;color:rgba(255,255,255,.75);
  letter-spacing:.05em;text-transform:uppercase;opacity:0;transform:translateX(-6px);
  transition:opacity .3s .2s,transform .3s .2s;
}
.door:hover .door-arrow{opacity:1;transform:translateX(0);}
.door-arrow svg{width:14px;height:14px;}

.door-icon{
  position:absolute;top:24px;left:20px;z-index:2;width:40px;height:40px;border-radius:10px;
  background:rgba(255,255,255,.1);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;
}
.door-icon svg{width:20px;height:20px;color:#fff;}

/* ── STICKY SEGMENT PROGRESS ─────────────────── */
.seg-progress{
  position:sticky;top:72px;z-index:150;background:rgba(248,250,251,.96);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);display:flex;
}
.seg-pill{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink-soft);padding:14px 8px;cursor:pointer;border-bottom:2px solid transparent;
  transition:color .2s,border-color .2s,background .2s;text-align:center;line-height:1.2;
}
.seg-pill:hover{color:var(--blue);background:var(--blue-pale);}
.seg-pill.active{color:var(--navy);border-bottom-color:var(--navy);}
.seg-pill .seg-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--pill-accent, var(--blue-lt));}

/* ── SEGMENT SECTIONS ────────────────────────── */
.seg-section{padding:100px 0;position:relative;}
.seg-section.bg-paper{background:var(--paper);}
.seg-section.bg-white{background:var(--white);}

.seg-divider{display:flex;align-items:center;gap:20px;margin-bottom:56px;}
.seg-div-num{
  font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.9);background:var(--navy);padding:6px 14px;border-radius:50px;white-space:nowrap;
}
.seg-div-line{flex:1;height:1px;background:var(--line);}
.seg-div-label{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;}

.seg-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.seg-split.flip{direction:rtl;}
.seg-split.flip > *{direction:ltr;}

.seg-img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;background:var(--blue-pale);position:relative;box-shadow:var(--sh-lg);}
.seg-img img{width:100%;height:100%;object-fit:cover;}
.seg-img-placeholder{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  color:var(--blue);opacity:.4;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;text-align:center;padding:24px;
}
.seg-img-placeholder svg{width:48px;height:48px;}

.seg-img-tag{
  position:absolute;bottom:24px;right:-16px;background:var(--white);border-radius:var(--r);padding:14px 18px;
  box-shadow:var(--sh-lg);border:1px solid var(--line);font-family:'Montserrat',sans-serif;
}
.seg-img-tag.flip-side{right:auto;left:-16px;}
.seg-img-tag-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);}
.seg-img-tag-val{font-size:18px;font-weight:900;color:var(--navy);margin-top:2px;}

.seg-text{}
.seg-pain{
  font-family:'Montserrat',sans-serif;font-size:clamp(18px,2vw,24px);font-weight:700;font-style:italic;
  color:var(--ink-soft);line-height:1.45;margin-top:20px;margin-bottom:28px;
  padding-left:20px;border-left:3px solid var(--blue-lt);
}
.seg-text h2{font-family:'Montserrat',sans-serif;font-size:clamp(28px,3.2vw,44px);font-weight:900;color:var(--navy);line-height:1.1;letter-spacing:-.02em;}
.seg-text p{font-size:16px;color:var(--ink-soft);line-height:1.75;margin-bottom:16px;}
.seg-benefits{display:flex;flex-direction:column;gap:12px;margin:24px 0 32px;}
.seg-benefit{display:flex;align-items:flex-start;gap:12px;}
.seg-benefit-icon{width:32px;height:32px;border-radius:8px;background:var(--blue-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.seg-benefit-icon svg{width:16px;height:16px;color:var(--blue);}
.seg-benefit-text{font-size:15px;color:var(--charcoal);line-height:1.6;padding-top:5px;}
.seg-benefit-text strong{color:var(--navy);font-weight:700;}
.seg-cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}

/* ── SHARED CTA STRIP ─────────────────────────── */
.shared-cta{background:var(--navy);padding:100px 0;text-align:center;position:relative;overflow:hidden;}
.shared-cta::before{
  content:'';position:absolute;top:-180px;left:50%;transform:translateX(-50%);width:700px;height:700px;border-radius:50%;
  background:radial-gradient(circle,rgba(58,124,166,.2) 0%,transparent 70%);pointer-events:none;
}
.shared-cta-inner{position:relative;z-index:1;}
.shared-cta h2{font-family:'Montserrat',sans-serif;font-size:clamp(28px,4vw,52px);font-weight:900;color:#fff;letter-spacing:-.025em;line-height:1.1;margin-top:14px;margin-bottom:16px;}
.shared-cta p{color:rgba(255,255,255,.75);font-size:17px;margin-bottom:36px;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.65;}
.shared-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ── RESPONSIVE ──────────────────────────────── */
@media(max-width:1024px){
  .seg-split{grid-template-columns:1fr;gap:40px;}
  .seg-split.flip{direction:ltr;}
  .seg-img{aspect-ratio:16/9;max-height:360px;}
  .seg-img-tag{right:0;}
  .seg-img-tag.flip-side{left:0;right:0;}
  .door-label{font-size:13px;}
}
@media(max-width:768px){
  .door-selector{height:auto;flex-direction:column;}
  .door{height:80px;flex:none !important;border-right:none;border-bottom:1px solid rgba(255,255,255,.06);}
  .door:hover{height:auto;}
  .door-content{position:relative;padding:20px;}
  .door-bg{display:none;}
  .door-overlay{background:transparent;}
  .door-icon{top:16px;left:16px;}
  .seg-section{padding:64px 0;}
  .seg-progress{display:none;}
  .page-hero{padding:60px 0 52px;}
}
@media(max-width:480px){
  .shared-cta{padding:72px 0;}
  .door-label{font-size:16px;}
}
