/* Lovable-style package rows — companies + individuals */
.pkg-bento-stack{
  display:grid;
  gap:clamp(20px,3vw,28px);
  margin-top:clamp(32px,5vw,48px);
}

/* Subpages (apply / companies): centered copy in package rows */
.page-bento-center .pkg-bento__copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.page-bento-center .pkg-bento__title,
.page-bento-center .pkg-bento__lead,
.page-bento-center .pkg-bento__body{margin-inline:auto}
.page-bento-center .pkg-bento__outcomes-h{align-self:center}
.page-bento-center .pkg-bento__outcomes,
.page-bento-center .pkg-bento__examples{width:100%;max-width:420px}
.page-bento-center .pkg-bento__examples ul{text-align:center}
.page-bento-center .pkg-bento__examples li{padding-left:0}
.page-bento-center .pkg-bento__examples li::before{display:none}
.page-bento-center .pkg-bento__closing{width:100%;max-width:40ch;margin-inline:auto;text-align:center}

/* Fallback if cohort-compare.css missing: never two-column + mock on compare stack */
.cohort-compare-stack .pkg-bento__card{
  display:flex;
  flex-direction:column;
  grid-template-columns:unset;
  padding:0;
}
.cohort-compare-stack .pkg-bento__visual{display:none !important}

.pkg-bento{scroll-margin-top:88px}
.pkg-bento__card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(28px,4vw,48px);
  align-items:center;
  background:#fff;
  border:1px solid rgba(10,10,10,.08);
  border-radius:clamp(22px,2.5vw,32px);
  padding:clamp(28px,4vw,44px);
  box-shadow:0 20px 50px rgba(10,10,10,.06);
}
@media(max-width:900px){
  .pkg-bento__card{grid-template-columns:1fr;gap:24px;padding:clamp(24px,5vw,32px)}
  .pkg-bento--flip .pkg-bento__visual{order:-1}
}
.pkg-bento--flip .pkg-bento__copy{order:2}
.pkg-bento--flip .pkg-bento__visual{order:1}
@media(max-width:900px){
  .pkg-bento--flip .pkg-bento__copy,.pkg-bento--flip .pkg-bento__visual{order:unset}
}

.pkg-bento__eyebrow{
  display:block;
  font-size:.72rem;
  font-weight:650;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--steel-lo, #6d6d72);
  margin:0 0 12px;
}
.pkg-bento__title{
  font-family:var(--font-display, system-ui, sans-serif);
  font-weight:700;
  font-size:clamp(1.65rem,1.2rem + 1.4vw,2.35rem);
  letter-spacing:-.03em;
  line-height:1.08;
  margin:0;
  max-width:18ch;
}
.pkg-bento__lead{
  font-family:var(--font-display, system-ui, sans-serif);
  font-weight:700;
  font-size:clamp(1.05rem,1rem + .35vw,1.25rem);
  letter-spacing:-.02em;
  line-height:1.35;
  margin:14px 0 0;
  max-width:34ch;
}
.pkg-bento__body{
  color:var(--text-muted, #6e6e73);
  font-size:1.02rem;
  line-height:1.55;
  margin:12px 0 0;
  max-width:46ch;
}
.pkg-bento__outcomes-h{
  margin:clamp(20px,3vw,26px) 0 10px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--steel-lo, #6d6d72);
}
.pkg-bento__outcomes{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
  max-width:420px;
}
.pkg-bento__outcomes li{
  background:#fff;
  border:1px solid rgba(10,10,10,.1);
  border-radius:14px;
  padding:11px 14px 11px 16px;
  font-size:.9rem;
  font-weight:600;
  box-shadow:inset 4px 0 0 var(--ink, #0a0a0a);
}
.pkg-bento__examples{
  margin-top:clamp(18px,2.5vw,22px);
}
.pkg-bento__examples-h{
  margin:0 0 10px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--steel-lo, #6d6d72);
}
.pkg-bento__examples ul{
  margin:0;
  padding:0;
  list-style:none;
  columns:2;
  column-gap:20px;
  max-width:440px;
}
@media(max-width:520px){.pkg-bento__examples ul{columns:1}}
.pkg-bento__examples li{
  break-inside:avoid;
  padding:4px 0 4px 14px;
  position:relative;
  font-size:.92rem;
  color:var(--text-muted, #6e6e73);
  line-height:1.45;
}
.pkg-bento__examples li::before{
  content:"";
  position:absolute;
  left:0;
  top:11px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--steel-3, #8e8e93);
}
.pkg-bento__closing{
  margin-top:clamp(18px,2.5vw,24px);
  padding:clamp(16px,2vw,20px);
  border-radius:16px;
  background:var(--paper-2, #fefffa);
  border:1px solid rgba(10,10,10,.06);
  display:grid;
  gap:4px;
}
.pkg-bento__closing p{
  margin:0;
  font-family:var(--font-display, system-ui, sans-serif);
  font-weight:700;
  font-size:1.05rem;
  letter-spacing:-.02em;
  line-height:1.25;
}

.pkg-bento__facts{
  list-style:none;
  margin:clamp(18px,2.5vw,24px) 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
  max-width:480px;
}
@media(max-width:560px){.pkg-bento__facts{grid-template-columns:1fr}}
.pkg-bento__facts li{
  margin:0;
  padding:0;
  border:1px solid var(--line, #e3e3e6);
  border-radius:14px;
  padding:12px 14px;
  background:var(--paper-2, #fefffa);
}
.pkg-bento__facts-k{
  margin:0;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--steel-lo, #6d6d72);
}
.pkg-bento__facts-v{
  margin:6px 0 0;
  font-size:1rem;
  font-weight:650;
  color:var(--ink, #0a0a0a);
  line-height:1.3;
}
.pkg-bento__facts-v .cmp__sub{
  display:block;
  margin-top:4px;
  font-size:.82rem;
  font-weight:450;
  color:var(--text-muted, #6e6e73);
  line-height:1.4;
}
.pkg-bento__highlights{
  margin-top:clamp(16px,2vw,20px);
}
.pkg-bento__highlights-k{
  margin:0 0 8px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--steel-lo, #6d6d72);
}
.pkg-bento__baseline{
  margin:0 0 10px;
  font-size:.92rem;
  line-height:1.5;
  color:var(--ink, #0a0a0a);
  max-width:38ch;
}
.pkg-bento__actions{
  margin-top:clamp(22px,3vw,28px);
  display:flex;
  flex-wrap:wrap;
  gap:12px 16px;
  align-items:center;
}
.pkg-bento__actions .cmp__cta{min-width:min(100%,280px)}
.pkg-bento__link{
  font:inherit;
  font-size:.92rem;
  font-weight:600;
  color:var(--text-muted, #6e6e73);
  background:none;
  border:0;
  cursor:pointer;
  padding:.35em 0;
  text-decoration:underline;
  text-underline-offset:3px;
}
.pkg-bento__link:hover{color:var(--ink, #0a0a0a)}

/* Visual panel + abstract UI mocks */
.pkg-bento__visual{
  border-radius:clamp(18px,2vw,24px);
  padding:clamp(20px,3vw,28px);
  min-height:min(320px, 42vw);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.pkg-bento__visual--lime{
  background:linear-gradient(145deg, rgba(218,255,165,.95) 0%, rgba(254,255,250,.9) 55%, #fff 100%);
}
.pkg-bento__visual--lavender{
  background:linear-gradient(145deg, #e8e0ff 0%, #f3eeff 45%, rgba(218,255,165,.35) 100%);
}
.pkg-bento__visual--peach{
  background:linear-gradient(145deg, #ffd8c4 0%, #ffe8dc 40%, rgba(218,255,165,.45) 100%);
}
.pkg-bento__visual--sky{
  background:linear-gradient(145deg, #cce8ff 0%, #e8f4ff 50%, rgba(218,255,165,.4) 100%);
}
.pkg-bento__visual--rose{
  background:linear-gradient(145deg, #ffd6ea 0%, #ffeef5 48%, rgba(218,255,165,.35) 100%);
}
.pkg-bento__visual--mint{
  background:linear-gradient(145deg, rgba(218,255,165,.85) 0%, #f0fbe4 55%, #fff 100%);
}

.pkg-mock{
  width:min(100%,340px);
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(10,10,10,.08);
  box-shadow:0 18px 40px rgba(10,10,10,.12);
  padding:16px;
  position:relative;
  z-index:1;
}
.pkg-mock__bar{
  height:10px;
  width:42%;
  border-radius:999px;
  background:var(--line, #e3e3e6);
  margin-bottom:14px;
}
.pkg-mock__row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid var(--line, #e3e3e6);
}
.pkg-mock__row:last-child{border-bottom:0}
.pkg-mock__av{
  width:36px;
  height:36px;
  border-radius:10px;
  background:linear-gradient(135deg, var(--lime, #daffa5), #fff);
  flex:0 0 36px;
}
.pkg-mock__lines{flex:1;min-width:0}
.pkg-mock__lines span{
  display:block;
  height:8px;
  border-radius:999px;
  background:var(--line, #e3e3e6);
}
.pkg-mock__lines span+span{width:70%;margin-top:6px}
.pkg-mock__pill{
  display:inline-block;
  font-size:.68rem;
  font-weight:650;
  padding:.35em .65em;
  border-radius:999px;
  background:var(--paper-2, #fefffa);
  border:1px solid var(--line, #e3e3e6);
  margin:0 6px 6px 0;
}
.pkg-mock__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:8px;
}
.pkg-mock__cell{
  height:48px;
  border-radius:10px;
  background:var(--paper-2, #fefffa);
  border:1px solid var(--line, #e3e3e6);
}
.pkg-mock__split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}
.pkg-mock__half{
  border-radius:12px;
  padding:12px;
  background:var(--paper-2, #fefffa);
  border:1px solid var(--line, #e3e3e6);
  font-size:.72rem;
  font-weight:650;
  color:var(--steel-lo, #6d6d72);
  line-height:1.35;
}

/* Cohort detail shell (individuals) */
.pkg-section--cream{background:var(--paper-2, #fefffa);padding-block:clamp(56px,8vw,88px)}
#offers.pkg-section--cream{padding-bottom:clamp(32px,5vw,48px)}
.cohort-details.pkg-section--cream{padding-top:0}
.cd-shell{
  background:#fff;
  border:1px solid var(--line, #e3e3e6);
  border-radius:clamp(22px,2.5vw,28px);
  padding:clamp(28px,4vw,40px);
  box-shadow:0 24px 60px rgba(10,10,10,.05);
}
.cohort-details.pkg-section--cream{border-top:0}
.cd-shell .cd-meta{border-radius:18px;margin-bottom:clamp(32px,4vw,44px)}
.cd-shell .cd-meta>div{padding:18px 20px}
.cd-shell .cd-tabs{
  gap:0 28px;
  margin-bottom:clamp(28px,4vw,36px);
}
.cd-shell .cd-tab{
  font-size:1rem;
  padding:14px 4px;
}

/* ---- Home page ---- */
.home-problem{padding-top:clamp(48px,7vw,72px);padding-bottom:clamp(48px,7vw,72px)}
.problem.dark .home-problem .pkg-bento__card{background:#fff;color:var(--ink, #0a0a0a)}
.problem.dark .home-problem .pkg-bento__title{color:var(--ink, #0a0a0a);max-width:var(--headline-2l, 44rem)}
.problem.dark .home-problem .pkg-bento__body{color:var(--text-muted, #6e6e73)}
.problem.dark .home-problem .pkg-bento__title .steel{background-image:var(--steel-text, none);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

.method.pkg-section--cream{padding-block:clamp(56px,8vw,88px)}
.method.pkg-section--cream .os-bento{margin-top:clamp(28px,4vw,40px)}
/* Method steps: alternate slide-in from left / right (uses existing .fade + IO) */
.js .os-bento .pkg-bento.fade{
  transform:translate3d(-56px,0,0) scale(.985);
}
.js .os-bento .pkg-bento.pkg-bento--flip.fade{
  transform:translate3d(56px,0,0) scale(.985);
}
.reveal-ready .os-bento .pkg-bento.fade{
  transition:
    opacity .95s var(--ease, cubic-bezier(.22,1,.36,1)),
    transform .95s var(--ease, cubic-bezier(.22,1,.36,1));
}
.js .os-bento .pkg-bento.fade.in{
  opacity:1;
  transform:none;
}
.os-bento .pkg-bento__copy .os-foot{margin-top:clamp(16px,2vw,20px)}
.os-bento .pkg-bento__copy .os-meta__k{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--steel-lo, #6d6d72)}

.home-step-mock{
  width:min(100%,280px);
  text-align:center;
  padding:clamp(24px,4vw,36px);
  background:#fff;
  border-radius:20px;
  border:1px solid rgba(10,10,10,.08);
  box-shadow:0 18px 40px rgba(10,10,10,.1);
}
.home-step-mock__n{
  display:block;
  font-family:var(--font-display, system-ui, sans-serif);
  font-weight:800;
  font-size:clamp(3rem,2rem + 4vw,4.5rem);
  letter-spacing:-.04em;
  line-height:1;
  color:var(--ink, #0a0a0a);
}
.home-step-mock__out{
  display:inline-block;
  margin-top:16px;
  font-size:.82rem;
  font-weight:650;
  padding:10px 16px;
  border-radius:12px;
  background:var(--paper-2, #fefffa);
  border:1px solid rgba(10,10,10,.1);
  box-shadow:inset 4px 0 0 var(--ink, #0a0a0a);
}

.build.pkg-section--cream{padding-block:clamp(56px,8vw,88px)}
.build .head{max-width:none;margin-bottom:clamp(40px,6vw,60px)}
.build .head h2{max-width:var(--headline-2l);line-height:1.06;letter-spacing:-.035em;text-wrap:normal}
.build .head h2.build-headline{max-width:none}
.build .head h2.build-headline .h2-line{display:block;white-space:nowrap}
@media(max-width:480px){.build .head h2.build-headline .h2-line{white-space:normal}}

/* Build — outcome cards (white panel + gradient mock, Lovable-style) */
.outcomes-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,2.5vw,20px);
  margin-top:clamp(40px,6vw,56px);
}
@media(max-width:900px){.outcomes-grid{grid-template-columns:1fr;max-width:520px}}
.outcome-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid rgba(10,10,10,.08);
  border-radius:clamp(20px,2vw,24px);
  overflow:hidden;
  box-shadow:0 14px 44px rgba(10,10,10,.05);
  transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease;
}
.outcome-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 56px rgba(10,10,10,.09);
}
.outcome-card__visual{
  min-height:clamp(148px,24vw,192px);
  padding:clamp(18px,2.8vw,24px);
  border-radius:0;
}
.outcome-card__visual .outcome-mock{
  width:min(100%,300px);
  padding:14px 14px 12px;
  margin:0 auto;
}
.outcome-card__body{
  padding:clamp(22px,3vw,28px) clamp(22px,3vw,28px) clamp(26px,3.5vw,32px);
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.outcome-card__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:10px;
  border:1px solid rgba(10,10,10,.1);
  background:var(--paper-2,#fefffa);
  color:var(--ink,#0a0a0a);
  margin:0 0 14px;
}
.outcome-card__icon svg{display:block;width:18px;height:18px}
.outcome-card__body .pkg-bento__eyebrow{margin-bottom:0}
.outcome-card__title{
  font-family:var(--font-display,system-ui,sans-serif);
  font-weight:700;
  font-size:clamp(1.08rem,1rem + .35vw,1.22rem);
  letter-spacing:-.025em;
  line-height:1.28;
  margin:10px 0 0;
  max-width:26ch;
}
.outcome-card__list{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:7px;
  width:100%;
}
.outcome-card__list li{
  position:relative;
  padding:0 0 0 14px;
  font-size:.88rem;
  line-height:1.45;
  color:var(--text-muted,#6e6e73);
}
.outcome-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--steel-3,#8e8e93);
}

.proof.pkg-section--cream{padding-block:clamp(56px,8vw,88px)}
.proof-shell{margin-top:0}
.proof-shell .proof-grid{margin-bottom:0}
.proof-shell .cred-logos{border-top:1px solid var(--line, #e3e3e6);margin-top:clamp(36px,5vw,48px)}

.method-audiences{
  margin-top:clamp(56px,8vw,88px);
  padding-top:clamp(48px,7vw,72px);
  border-top:1px solid var(--line, #e3e3e6);
}
.method-audiences h2{
  font-family:var(--font-display, system-ui, sans-serif);
  font-weight:700;
  font-size:var(--step-3, clamp(1.75rem,1.4rem + 1.2vw,2.5rem));
  letter-spacing:-.03em;
  line-height:1.08;
  margin:0 auto clamp(32px,5vw,48px);
  max-width:var(--headline-2l, 44rem);
  text-align:center;
}
.method-audiences .pkg-bento-stack{margin-top:0}

.about-bento .pkg-bento__body{max-width:48ch}
.about-mission-inline{
  margin-top:clamp(22px,3vw,28px);
  padding:clamp(18px,2.5vw,22px);
  border-radius:16px;
  background:var(--paper-2, #fefffa);
  border:1px solid rgba(10,10,10,.08);
  font-family:var(--font-display, system-ui, sans-serif);
  font-weight:700;
  font-size:clamp(1.05rem,1rem + .4vw,1.35rem);
  letter-spacing:-.02em;
  line-height:1.35;
  max-width:36ch;
}
.about-mission-inline .about-mission__line--accent{color:var(--ink, #0a0a0a)}

.home-route-mock .pkg-mock__pill{margin-top:8px}

.os-bento .pkg-bento__title--step{
  font-size:clamp(1.35rem,1.1rem + .85vw,1.85rem);
  max-width:24ch;
}
.proof-shell .stat{border:1px solid var(--line, #e3e3e6);box-shadow:none}
.proof-shell .stat:hover{box-shadow:0 16px 36px rgba(10,10,10,.06)}
.about.pkg-section--cream{padding-block:clamp(56px,8vw,88px)}
.about-bento .pkg-bento-stack{margin-top:0}

.os-loop{
  margin-top:clamp(32px,5vw,48px);
  font-family:var(--font-display, system-ui, sans-serif);
  font-weight:700;
  font-size:var(--step-2, clamp(1.5rem,1.3rem + .9vw,2rem));
  letter-spacing:-.025em;
  line-height:1.35;
  max-width:28ch;
}
