/* ============================================================================
   PRICING PAGE
   ========================================================================== */
.tier-grid{display:grid;gap:1.6rem;align-items:stretch}
@media(min-width:900px){.tier-grid{grid-template-columns:repeat(3,1fr)}}
.tier{
  position:relative;border-radius:var(--r-xl);padding:.5rem;
  background:rgba(25,36,81,.04);border:1px solid rgba(25,36,81,.07);
  transition:transform var(--t-med);
}
.tier:hover{transform:translateY(-5px)}
.tier--featured{background:var(--grad);border-color:transparent;box-shadow:var(--shadow-glow)}
@media(min-width:900px){.tier--featured{transform:scale(1.03)}.tier--featured:hover{transform:scale(1.03) translateY(-5px)}}
.tier-inner{
  height:100%;display:flex;flex-direction:column;
  background:#fff;border-radius:calc(var(--r-xl) - .5rem);
  padding:2rem 1.8rem;box-shadow:var(--shadow-sm);
}
.tier-tag{
  display:inline-block;align-self:flex-start;
  font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-faint);background:var(--bg-soft);
  padding:.35rem .75rem;border-radius:var(--r-pill);margin-bottom:1.1rem;
}
.tier-tag--hot{background:var(--purple-tint);color:var(--purple)}
.tier-name{font-size:1.5rem;margin-bottom:.5rem}
.tier-sub{font-size:var(--fs-small);min-height:2.8em}
.tier-price{display:flex;align-items:baseline;gap:.45rem;margin:1.3rem 0 1.5rem;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}
.tp-from{font-size:.85rem;color:var(--ink-faint);font-weight:500}
.tp-num{
  font-family:var(--font-display);font-size:2.7rem;font-weight:600;line-height:1;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.tp-num--sm{font-size:1.9rem}
/* "/month" sits after the figure at body size so the number still reads as
   the price and the cadence reads as a qualifier. */
.tp-per{font-size:1rem;color:var(--ink-faint);font-weight:500;margin-inline-start:-.25rem}
.tier-list{flex:1}
.tier-list li{font-size:var(--fs-small)}
.tier-btn{width:100%;justify-content:center;margin-top:1.7rem}

.ta-r{text-align:right;font-weight:650;color:var(--ink)}
th:last-child{text-align:right}

/* why custom */
/* ---- HOW THE FEE IS SET ----------------------------------------------------
   Deliberately not a card. The factors read as a ruled spec sheet so the eye
   lands on the price first and the list second, instead of on a box outline.
   Columns are intentionally uneven so the section does not mirror itself. */
.fee-grid{display:grid;gap:clamp(2.4rem,5vw,4.5rem);align-items:start}
.fee-intro h2{text-wrap:balance}
@media(min-width:940px){
  .fee-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
  /* capped only where the column is wide enough for the cap to shape the
     wrap; on a narrow screen it would just squeeze the headline. */
  .fee-intro h2{max-width:14ch}
}
.fee-intro p:not(.fee-price){max-width:56ch;font-size:var(--fs-small);color:var(--ink-soft)}
.fee-intro p:not(.fee-price)+p{margin-top:.9rem}

/* the price is the subject of the section, so it gets the weight */
.fee-price{
  margin:clamp(1.6rem,3vw,2.2rem) 0 clamp(1.4rem,2.5vw,1.9rem);
  padding-top:clamp(1.2rem,2.5vw,1.6rem);
  border-top:2px solid var(--ink);
}
.fee-price-label{
  display:block;font-size:var(--fs-tiny);font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-faint);margin-bottom:.5rem;
}
.fee-price-row{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap}
.fee-price-num{
  font-family:var(--font-display);font-size:clamp(3rem,6.5vw,4.2rem);
  font-weight:600;line-height:.95;letter-spacing:-.02em;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.fee-price-per{font-size:var(--fs-small);font-weight:500;color:var(--ink-soft)}

/* ruled rows: hairlines instead of a container, numbers in their own column */
.fee-factors{list-style:none;margin:0;padding:0;display:grid}
.fee-row{
  display:grid;grid-template-columns:2.25rem minmax(0,1fr);
  gap:clamp(1rem,2.2vw,1.7rem);align-items:baseline;
  padding:clamp(1.05rem,2.2vw,1.45rem) 0;
  border-top:1px solid var(--line);
  transition:border-color var(--t-med) var(--ease);
}
.fee-row:last-child{border-bottom:1px solid var(--line)}
.fee-row-n{
  font-family:var(--font-display);font-variant-numeric:tabular-nums;
  font-size:1.05rem;font-weight:600;color:var(--ink-faint);
  letter-spacing:.02em;
  transition:color var(--t-med) var(--ease);
}
.fee-row-body{display:block}
.fee-row-body b{display:block;font-size:1.02rem;font-weight:600;color:var(--ink);margin-bottom:.2rem}
.fee-row-body>span{display:block;font-size:var(--fs-small);color:var(--ink-soft);line-height:1.55;max-width:46ch}

/* transform-only hover so it stays on the compositor */
@media(hover:hover){
  .fee-row:hover{border-top-color:var(--line-strong)}
  .fee-row:hover+.fee-row{border-top-color:var(--line-strong)}
  .fee-row:last-child:hover{border-bottom-color:var(--line-strong)}
  .fee-row:hover .fee-row-n{color:var(--purple)}
  .fee-row:hover .fee-row-body{transform:translateX(3px)}
  .fee-row-body{transition:transform var(--t-med) var(--ease-spring)}
}
@media(prefers-reduced-motion:reduce){
  .fee-row-body{transition:none}
  .fee-row:hover .fee-row-body{transform:none}
}

/* included / not */
.inc-h{display:flex;align-items:center;gap:.6rem;font-size:1.15rem}
.inc-h::before{
  content:"";width:10px;height:10px;border-radius:50%;flex:none;
}
.inc-h--yes::before{background:var(--success)}
.inc-h--no::before{background:var(--ink-faint)}
.checklist--muted li{color:var(--ink-faint)}
.ck--muted{background:rgba(25,36,81,.12)!important;color:var(--ink-soft)!important}

/* learn strip */
.learn-strip{
  display:grid;gap:1.8rem;align-items:center;
  padding:clamp(2rem,4vw,3rem);
  border-radius:var(--r-xl);
  background:linear-gradient(135deg,var(--purple-tint),var(--blue-tint));
  border:1px solid rgba(96,36,149,.12);
}
@media(min-width:860px){.learn-strip{grid-template-columns:1.4fr auto}}
.learn-strip h2{font-size:clamp(1.5rem,2.4vw,2rem);margin:.4rem 0 .7rem}
.learn-strip p{max-width:60ch}
