/* ============================================================
   BUYOUT PAGE — extends site-base.css
   Only buyout-unique sections live here: the 4-stage process,
   the all-caps statement band, "what is a buyout" + services
   panel, the testimonial spotlight, the dark understanding-offers
   tab bar + diagrams, why-Nexus chips, and who-benefits cards.
   All shared chrome/components (reset, tokens, header, footer,
   bo-hero, bo-trust, lead form, video modal, trust float,
   responsive nav/footer collapse) come from site-base.css.
   ============================================================ */

/* active nav state (shared chrome + bo-hero + responsive now in site-base.css) */

/* page-specific bo-hero overrides */
.bo-hero .wrap{padding-bottom:clamp(150px,20vh,210px)}
.bo-sub{margin:0 auto 2.2rem}
.bo-hero .hero-city svg{height:clamp(130px,18vh,200px)}

/* mini-hero skyline (shared by buyout/consult/about; not in site-base) */
.hero-city{position:absolute;left:0;right:0;bottom:0;z-index:1;pointer-events:none}
.hero-city svg{display:block;width:100%;height:clamp(160px,22vh,235px)}
.hero-city .w{opacity:0;animation:winOn .6s ease-out forwards;animation-delay:calc(.7s + var(--i)*.14s)}
@keyframes winOn{to{opacity:1}}
.hero-city .tw{
  opacity:0;
  animation:winOn .6s ease-out forwards, twBreathe 9s ease-in-out infinite;
  animation-delay:calc(.7s + var(--i)*.14s), calc(4s + var(--i)*1.7s);
}
@keyframes twBreathe{0%,100%{opacity:1}50%{opacity:.3}}
.sky-beacon{animation:beaconBreathe 5s ease-in-out infinite}
.sky-beacon.b2{animation-delay:2.2s}
@keyframes beaconBreathe{0%,100%{opacity:1}50%{opacity:.3}}
.city-ring{fill:none;stroke:#3FC8BC;stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center;animation:cityPulse 7s ease-out 2.4s infinite}
@keyframes cityPulse{0%{opacity:0;transform:scale(.3)}8%{opacity:.5}55%{opacity:.12}70%,100%{opacity:0;transform:scale(2.2)}}
@media (prefers-reduced-motion:reduce){
  .hero-city .w,.hero-city .tw{animation:none;opacity:1}
  .sky-beacon,.city-ring{animation:none}
  .city-ring{opacity:0}
}

/* video card (used by the testimonial spotlight; not in site-base) */
.video-card{
  position:relative;width:min(100%,360px);aspect-ratio:16/10;
  border-radius:20px;overflow:hidden;padding:0;cursor:pointer;
  border:1px solid rgba(234,245,251,.16);background:#06222F;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.6);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.video-card:hover{transform:translateY(-5px);border-color:rgba(250,215,120,.55);box-shadow:0 42px 84px -22px rgba(0,0,0,.7)}
.video-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.vc-shade{position:absolute;inset:0;background:linear-gradient(180deg, rgba(5,30,42,.05) 30%, rgba(5,30,42,.93) 100%)}
.vc-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);
  width:54px;height:54px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:var(--navy);
  display:grid;place-items:center;box-shadow:0 12px 34px rgba(0,0,0,.45);
  transition:transform .3s ease;
}
.video-card:hover .vc-play{transform:translate(-50%,-60%) scale(1.1)}
.vc-play svg{width:20px;height:20px;margin-left:3px}
.vc-meta{position:absolute;left:1.1rem;right:1.1rem;bottom:.9rem;display:flex;flex-direction:column;gap:.1rem;text-align:left}
.vc-title{font-family:var(--font-display);font-weight:800;font-size:1.1rem;letter-spacing:-.01em;color:#fff}
.vc-sub{font-size:.85rem;color:var(--muted-ice)}

/* process stages */
.bo-process{padding:clamp(4.5rem,9vw,7rem) 0;background:#fff}
.bo-process .process-head{text-align:center;max-width:760px;margin:0 auto clamp(2.6rem,5vw,3.8rem)}
.bo-process .process-head .eyebrow{justify-content:center}
.bo-process .process-head h2{font-size:clamp(1.9rem,3.8vw,2.9rem);margin-top:1rem}
.bo-process .process-head p{color:var(--muted);margin-top:1rem}
.stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.stage{position:relative;border-radius:22px;padding:1.7rem 1.5rem 1.9rem;transition:transform .3s ease, box-shadow .3s ease}
.stage:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.stage::after{content:"";position:absolute;top:calc(50% - 9px);right:-9px;width:18px;height:18px;transform:rotate(45deg);border-radius:4px;background:inherit;z-index:1}
.stage:last-child::after{display:none}
.stage-num{display:block;font-family:var(--font-display);font-weight:800;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin-bottom:.45rem}
.stage h3{font-size:1.16rem;margin-bottom:1rem;color:inherit;line-height:1.2}
.stage ul{display:grid;gap:.65rem}
.stage li{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;line-height:1.45;font-weight:500}
.stage li svg{flex:none;width:14px;height:14px;margin-top:.25rem}
.stage.s1{background:#FAD778;color:#4A3A10}
.stage.s1 h3{color:#2C2305}
.stage.s2{background:var(--ice);color:#23454F}
.stage.s2 h3{color:var(--navy)}
.stage.s3{background:var(--navy);color:var(--muted-ice)}
.stage.s3 h3{color:#fff}
.stage.s3 li{color:var(--ice)}
.stage.s4{background:var(--teal);color:#06302C}
.stage.s4 h3{color:#06302C}
.bo-process .process-cta{text-align:center;margin-top:2.6rem}

/* process tabs (light theme — overrides the dark .bo-tabs tab styles) */
.bo-process .proc-tabs{margin-bottom:2.2rem}
.bo-process .tab-btn{color:var(--navy);background:var(--ice);border-color:var(--line)}
.bo-process .tab-btn:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.bo-process .tab-btn[aria-selected="true"]{background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:var(--ink);border-color:transparent;box-shadow:0 12px 30px -10px rgba(229,185,78,.5)}
.bo-process .proc-step{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(6,34,47,.08);font-family:var(--font-display);font-weight:800;font-size:.72rem;letter-spacing:.02em}
.bo-process .tab-btn[aria-selected="true"] .proc-step{background:rgba(6,34,47,.16)}
.bo-process .tab-panels{max-width:760px}
.bo-process .tab-panel.active{display:block}
.bo-process .tab-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:2rem 2.2rem;box-shadow:var(--shadow-lg)}
.bo-process .tab-card:hover{border-color:var(--line);transform:none}
.bo-process .tab-card .stage-num{display:block;font-family:var(--font-display);font-weight:800;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.5rem}
.bo-process .tab-card h3{color:var(--ink);font-size:1.3rem;margin-bottom:1.1rem}
.bo-process .tab-card ul{display:grid;gap:.7rem}
.bo-process .tab-card li{display:flex;gap:.7rem;align-items:flex-start;font-size:.96rem;line-height:1.45;font-weight:500;color:var(--text)}
.bo-process .tab-card li svg{flex:none;width:15px;height:15px;margin-top:.25rem;color:var(--teal-dark)}

/* reviews carousel inside the statement band */
.bo-statement .rev-carousel{margin-top:clamp(2rem,4vw,3rem);text-align:left}

/* statement */
.bo-statement{padding:clamp(3.5rem,7vw,5.5rem) 0;background:var(--paper);border-block:1px solid var(--line);text-align:center}
.bo-statement p{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;line-height:1.08;font-size:clamp(1.9rem,5.2vw,4.2rem);color:var(--ink);text-transform:uppercase}
.bo-statement p em{font-style:normal;display:inline-block;padding:0 .1em;background-image:linear-gradient(to top, rgba(250,215,120,.6) 34%, transparent 34%);background-repeat:no-repeat;background-size:100% 100%}
.bo-statement small{display:block;margin-top:.9rem;font-size:.95rem;color:var(--muted)}

/* what is a buyout + services */
.bo-what{padding:clamp(4.5rem,9vw,7rem) 0;background:#fff}
.bo-what-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.2rem,5vw,4rem);align-items:start}
.bo-what h2{margin-top:1rem}
.bo-what .lede{font-size:1.12rem;color:var(--text);font-weight:500;margin:1.2rem 0 1rem}
.bo-what p{color:var(--muted);margin-bottom:1.1rem}
.bo-what .btn{margin-top:.6rem}
.svc-panel{
  background:radial-gradient(420px 260px at 90% -10%, rgba(50,176,166,.22), transparent 60%),linear-gradient(160deg,#082A3B, var(--navy) 55%, #0C3850);
  border-radius:24px;padding:clamp(1.6rem,3vw,2.3rem);color:var(--ice);
  border:1px solid rgba(250,215,120,.25);box-shadow:var(--shadow-lg);
}
.svc-panel .panel-label{font-family:var(--font-display);font-weight:800;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;display:block}
.svc-row{display:flex;gap:1rem;align-items:flex-start;padding:.95rem 0}
.svc-row + .svc-row{border-top:1px solid rgba(234,245,251,.1)}
.svc-row .ic{flex:none;width:40px;height:40px;border-radius:12px;background:rgba(50,176,166,.16);color:#7FD1CB;display:grid;place-items:center}
.svc-row .ic svg{width:20px;height:20px}
.svc-row b{display:block;font-family:var(--font-display);font-weight:700;font-size:1.04rem;color:#fff}
.svc-row span{font-size:.88rem;color:var(--muted-ice)}

/* testimonial spotlight */
.bo-quote{padding:clamp(4.5rem,9vw,7rem) 0;background:linear-gradient(135deg,#E8F6F1, #F6FAFC 55%, #FBF3DC)}
.bo-quote-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.2rem,5vw,4rem);align-items:center}
.bq-stars{color:var(--gold-deep);letter-spacing:.22em;font-size:.95rem;margin-bottom:1.1rem}
.bo-quote blockquote{font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,2.7vw,2.05rem);line-height:1.3;color:var(--ink);margin-bottom:1.6rem}
.bq-who{display:flex;align-items:center;gap:.9rem}
.bq-who .bq-avatar{flex:none;width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-family:var(--font-display);font-weight:800}
.bq-who b{display:block;font-family:var(--font-display);font-weight:700}
.bq-who small{color:var(--muted);font-size:.85rem}
.bo-quote .video-card{justify-self:end}

/* understanding offers: full-bleed dark tabs with diagrams */
.bo-tabs{
  position:relative;overflow:hidden;color:var(--ice);
  padding:clamp(4.5rem,9vw,7.5rem) 0;
  background:
    radial-gradient(820px 420px at 80% 0%, rgba(50,176,166,.16), transparent 60%),
    radial-gradient(620px 320px at 8% 100%, rgba(250,215,120,.08), transparent 60%),
    linear-gradient(160deg,#051E2A, var(--navy) 60%, #0C3850);
}
.bo-tabs::before,.bo-tabs::after{
  content:"";position:absolute;bottom:0;width:300px;height:250px;pointer-events:none;
  background:conic-gradient(at 42% 42%, rgba(234,245,251,.07) 25%, transparent 0);
  background-size:26px 26px;
  -webkit-mask-image:linear-gradient(to top,#000 15%,transparent 85%);
  mask-image:linear-gradient(to top,#000 15%,transparent 85%);
}
.bo-tabs::before{left:0}
.bo-tabs::after{right:0}
.bt-head{position:relative;z-index:1;text-align:center;max-width:780px;margin:0 auto clamp(2.6rem,5vw,3.6rem)}
.bt-head .eyebrow{justify-content:center;color:var(--gold)}
.bt-head .eyebrow::before{background:var(--gold)}
.bt-head h2{color:#fff;font-size:clamp(2rem,4.2vw,3.2rem);margin:1rem 0 .9rem}
.bt-head p{color:var(--muted-ice)}
.tab-row{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin-bottom:2.4rem;position:relative;z-index:1}
.tab-btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--font-body);font-weight:600;font-size:1rem;color:var(--muted-ice);
  background:rgba(234,245,251,.06);border:1px solid rgba(234,245,251,.16);border-radius:999px;
  padding:.9rem 1.6rem;cursor:pointer;transition:all .25s;
}
.tab-btn svg{width:17px;height:17px;flex:none}
.tab-btn:hover{border-color:rgba(250,215,120,.5);color:var(--gold)}
.tab-btn[aria-selected="true"]{background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:var(--ink);border-color:transparent;box-shadow:0 12px 30px -10px rgba(229,185,78,.5)}
.tab-panels{position:relative;z-index:1;max-width:1060px;margin:0 auto}
.tab-panel{display:none}
.tab-panel.active{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.tab-tag{grid-column:1/-1;text-align:center;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700}
.tab-card{background:rgba(234,245,251,.05);border:1px solid rgba(234,245,251,.12);border-radius:20px;padding:1.9rem;transition:border-color .3s, transform .3s}
.tab-card:hover{border-color:rgba(250,215,120,.35);transform:translateY(-3px)}
.tab-fig{margin:0 0 1.4rem;background:rgba(5,30,42,.5);border:1px solid rgba(234,245,251,.08);border-radius:14px;padding:1.1rem .9rem .8rem}
.tab-fig svg{display:block;width:100%;height:auto}
.tab-fig text{font-family:var(--font-body)}
.tab-card h3{color:#fff;font-size:1.2rem;margin-bottom:.6rem}
.tab-card p{font-size:.95rem;color:var(--muted-ice)}

/* why nexus */
.bo-why{padding:clamp(4.5rem,9vw,7rem) 0;background:var(--paper)}
.why-points{display:flex;flex-wrap:wrap;gap:.8rem;margin:0 0 2.4rem}
.why-chip{display:inline-flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.7rem 1.2rem;font-weight:600;font-size:.93rem;box-shadow:var(--shadow-sm);transition:transform .25s, border-color .25s}
.why-chip:hover{transform:translateY(-3px);border-color:var(--line-gold)}
.why-chip svg{flex:none;width:16px;height:16px;color:var(--teal-dark)}

/* who benefits */
.bo-who{padding:clamp(4.5rem,9vw,7rem) 0;background:#fff}
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.who-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:1.7rem 1.5rem;transition:transform .3s, box-shadow .3s, border-color .3s}
.who-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm);border-color:var(--line-gold)}
.who-card .ico{width:46px;height:46px;border-radius:13px;background:var(--navy);color:var(--gold);display:grid;place-items:center;margin-bottom:1rem}
.who-card .ico svg{width:22px;height:22px}
.who-card h3{font-size:1.1rem;margin-bottom:.5rem}
.who-card p{font-size:.9rem;color:var(--muted)}

@media (max-width:1080px){
  .stage-grid{grid-template-columns:1fr 1fr}
  .stage::after{display:none}
  .bo-what-grid,.bo-quote-grid{grid-template-columns:1fr}
  .bo-quote .video-card{justify-self:start}
  .who-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .stage-grid,.who-grid{grid-template-columns:1fr}
  .tab-panel.active{grid-template-columns:1fr}
}
