/* ==========================================================================
   ORGANISATION SOLUTIONS — partnership / institutional segments page
   ========================================================================== */

/* --------------------------------- Hero ------------------------------------ */
.sol-hero{ background:var(--navy-900); color:#fff; padding-top:calc(var(--section-pad-y) + 4rem); padding-bottom:var(--space-8); }
.sol-hero-inner{ max-width:64ch; }
.sol-hero h1{ font-size:var(--fs-hero); max-width:18ch; margin-top:1.25rem; }
.sol-hero p{ margin-top:1.75rem; color:rgba(255,255,255,.65); font-size:var(--fs-body-lg); max-width:52ch; }
.sol-hero-ctas{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:2.25rem; }

/* ------------------------------- Sub-nav ----------------------------------- */
.sol-subnav{
  position:sticky; top:0; z-index:40;
  background:rgba(8,11,26,.86); backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line-on-dark-soft);
}
.sol-subnav-inner{ display:flex; gap:var(--space-7); overflow-x:auto; scrollbar-width:none; padding-block:1.1rem; }
.sol-subnav-inner::-webkit-scrollbar{ display:none; }
.sol-subnav a{
  flex:none; font-family:var(--font-mono); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.55); padding-bottom:.3rem; border-bottom:1px solid transparent;
  transition:color .25s var(--ease-out), border-color .25s var(--ease-out);
}
.sol-subnav a:hover, .sol-subnav a.is-active{ color:var(--sky-400); border-color:var(--sky-500); }

/* ------------------------------- Segments ----------------------------------- */
.sol-segment{ scroll-margin-top:5.5rem; }
.sol-segment-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-9); align-items:center; }
.sol-segment-photo{ position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:5/4; }
.sol-segment-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sol-segment.is-flip .sol-segment-wrap{ direction:rtl; }
.sol-segment.is-flip .sol-segment-wrap > *{ direction:ltr; }
.sol-segment-copy .kicker-num{ display:block; margin-bottom:1rem; }
.sol-segment-copy h2{ font-family:var(--font-display); font-size:var(--fs-display-md); max-width:16ch; margin-bottom:1.25rem; }
.sol-segment-copy > p{ font-size:var(--fs-body-lg); max-width:46ch; margin-bottom:1.75rem; }
.on-dark .sol-segment-copy > p{ color:rgba(255,255,255,.65); }
.sol-segment:not(.on-dark) .sol-segment-copy > p, .sol-segment.bg-white .sol-segment-copy > p, .sol-segment.bg-paper .sol-segment-copy > p{ color:var(--ink-soft); }
.sol-feature-list{ display:flex; flex-direction:column; gap:0; }
.sol-feature-list li{ display:flex; align-items:baseline; gap:.85rem; padding-block:.85rem; border-top:1px solid var(--line-on-light); font-size:.98rem; }
.sol-feature-list li:last-child{ border-bottom:1px solid var(--line-on-light); }
.on-dark .sol-feature-list li{ border-color:var(--line-on-dark); }
.sol-feature-list .check-ico{ flex:none; color:var(--sky-600); }
.on-dark .sol-feature-list .check-ico{ color:var(--sky-400); }
@media (max-width:900px){
  .sol-segment-wrap{ grid-template-columns:1fr; }
  .sol-segment.is-flip .sol-segment-wrap{ direction:ltr; }
}

/* --------------------------- Managed infra band ----------------------------- */
.sol-infra{ background:var(--navy-700); color:#fff; padding-block:var(--section-pad-y-lg); text-align:center; position:relative; overflow:hidden; }
.sol-infra blockquote{ font-family:var(--font-display); font-weight:400; font-size:clamp(1.75rem, 3vw + 1rem, 3.4rem); max-width:30ch; margin-inline:auto; line-height:1.28; }
.sol-infra cite{ display:block; margin-top:2.25rem; font-style:normal; font-family:var(--font-mono); font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:var(--sky-400); }

/* -------------------------------- Benefits (asymmetric bento) ---------------- */
.sol-benefits-head{ max-width:56ch; margin-bottom:var(--space-8); }
.sol-benefits-head h2{ font-size:var(--fs-display-md); margin-top:1.1rem; max-width:20ch; }
.sol-benefits-grid{
  display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:minmax(172px,auto); gap:1.25rem;
}
.sol-benefit{
  padding:2rem 1.75rem;
  display:flex; flex-direction:column; justify-content:flex-end; gap:1.1rem;
}
.sol-benefit-ico{
  flex:none; width:44px; height:44px; border-radius:50%;
  background:var(--sky-100); color:var(--sky-700);
  display:flex; align-items:center; justify-content:center;
  transition:background .4s var(--ease-out), color .4s var(--ease-out), transform .4s var(--ease-premium);
}
.sol-benefit-ico svg{ width:20px; height:20px; }
.sol-benefit:hover .sol-benefit-ico{ background:var(--sky-500); color:var(--navy-900); transform:scale(1.08); }
.sol-benefit p{ font-size:1rem; color:var(--ink-soft); line-height:1.42; }

/* Two "hero" tiles carry the section's editorial weight */
.sol-benefit.is-lg{
  grid-column:span 2;
  background:linear-gradient(155deg, var(--white) 55%, var(--sky-100) 145%);
}
.sol-benefit.is-lg .sol-benefit-ico{ width:52px; height:52px; background:var(--sky-500); color:var(--navy-900); }
.sol-benefit.is-lg .sol-benefit-ico svg{ width:24px; height:24px; }
.sol-benefit.is-lg p{ font-family:var(--font-display); font-size:1.3rem; color:var(--ink); max-width:20ch; line-height:1.28; }

/* Closing pair — wide, horizontal orientation for rhythm variation */
.sol-benefit.is-wide{ grid-column:span 2; flex-direction:row; align-items:center; }
.sol-benefit.is-wide .sol-benefit-ico{ margin-bottom:0; }

@media (max-width:900px){
  .sol-benefits-grid{ grid-template-columns:1fr 1fr; }
  .sol-benefit.is-lg, .sol-benefit.is-wide{ grid-column:span 2; }
}
@media (max-width:520px){
  .sol-benefits-grid{ grid-template-columns:1fr; }
  .sol-benefit.is-lg, .sol-benefit.is-wide{ grid-column:span 1; }
  .sol-benefit.is-wide{ flex-direction:column; }
}

/* ------------------------------- Accordion ------------------------------------ */
.sol-accordion-wrap{ display:grid; grid-template-columns:.8fr 1.2fr; gap:var(--space-9); align-items:start; }
.sol-accordion-head h2{ font-size:var(--fs-display-md); margin-top:1.1rem; max-width:16ch; }
.sol-accordion-head p{ color:rgba(255,255,255,.6); margin-top:1.25rem; max-width:34ch; }

[data-accordion]{ border-top:1px solid var(--line-on-dark); }
.accordion-item{ border-bottom:1px solid var(--line-on-dark); transition:background .4s var(--ease-out); }
.accordion-item:hover{ background:var(--surface-on-dark); }
.accordion-trigger{
  width:100%; display:flex; align-items:center; gap:1.25rem;
  padding-block:1.5rem; padding-inline:0; text-align:left; cursor:pointer;
  transition:padding-inline .4s var(--ease-premium);
}
.accordion-item:hover .accordion-trigger, .accordion-item.is-open .accordion-trigger{ padding-inline:1rem; }
.accordion-num{ font-family:var(--font-mono); font-size:.78rem; color:var(--sky-400); flex:none; width:2ch; transition:color .3s var(--ease-out); }
.accordion-title{ font-family:var(--font-display); font-size:1.15rem; color:#fff; flex:1; transition:color .3s var(--ease-out); }
.accordion-icon{ flex:none; width:20px; height:20px; position:relative; }
.accordion-icon::before, .accordion-icon::after{
  content:''; position:absolute; top:50%; left:50%; background:rgba(255,255,255,.6);
  transform:translate(-50%,-50%); transition:transform .35s var(--ease-out), opacity .35s var(--ease-out), background .3s var(--ease-out);
}
.accordion-icon::before{ width:14px; height:1.4px; }
.accordion-icon::after{ width:1.4px; height:14px; }
.accordion-item.is-open .accordion-icon::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
.accordion-item:hover .accordion-icon::before, .accordion-item:hover .accordion-icon::after{ background:var(--sky-400); }
.accordion-item.is-open .accordion-trigger .accordion-title{ color:var(--sky-400); }
.accordion-item:hover .accordion-trigger .accordion-title{ color:var(--sky-300); }
.accordion-panel{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .5s var(--ease-premium); }
.accordion-item.is-open .accordion-panel{ grid-template-rows:1fr; }
.accordion-panel-inner{ overflow:hidden; }
.accordion-panel-inner p{ padding:0 0 1.75rem 3.25rem; color:rgba(255,255,255,.62); max-width:52ch; font-size:.96rem; }
@media (max-width:900px){ .sol-accordion-wrap{ grid-template-columns:1fr; } }

/* ---------------------------------- Why -------------------------------------- */
.sol-why{ background:var(--paper); }
.sol-why-head{ max-width:56ch; margin-bottom:var(--space-7); }
.sol-why-head h2{ font-size:var(--fs-display-md); margin-top:1.1rem; max-width:22ch; }
.sol-why-row{ border-top:1px solid var(--line-on-light); }
.sol-why-item{ display:grid; grid-template-columns:80px 1fr; gap:var(--space-6); padding-block:var(--space-6); border-bottom:1px solid var(--line-on-light); align-items:start; transition:background .35s var(--ease-out); }
.sol-why-item:hover{ background:var(--white); }
.sol-why-item .idx{ font-family:var(--font-mono); font-size:.85rem; color:var(--sky-600); }
.sol-why-item h3{ font-family:var(--font-display); font-size:1.35rem; margin-bottom:.5rem; }
.sol-why-item p{ color:var(--ink-soft); max-width:56ch; }
@media (max-width:700px){ .sol-why-item{ grid-template-columns:1fr; gap:.6rem; } }
