/* Pricing page, adapted from the supplied v2 mockup. */
.pricing-page {
  --bg:#f4f1e8; --panel:#faf8f2; --ink:#1f2b23; --muted:#5d685f;
  --line:rgba(31,43,35,.14); --brand:#394632; --soft:#e7eadf;
  background:var(--bg); color:var(--ink); padding-top:88px;
  -webkit-font-smoothing:antialiased;
}
.pricing-page .tp-wrap { max-width:1180px; margin:0 auto; padding:0 28px; }
.pricing-page .tp-btn { min-height:44px; padding:10px 18px; border-radius:999px; border:1px solid var(--line); display:inline-flex; align-items:center; justify-content:center; font-weight:600; font-size:14px; line-height:1.4; transition:background .2s, border-color .2s, transform .2s; }
.pricing-page .tp-btn.tp-primary { background:var(--brand); color:white; border-color:var(--brand); }
.pricing-page .tp-btn.tp-ghost { background:rgba(255,255,255,.36); }
.pricing-page .tp-btn:hover { transform:translateY(-2px); border-color:var(--brand); background:var(--soft); }
.pricing-page .tp-btn.tp-primary:hover { background:#263128; color:white; }
.pricing-page .tp-eyebrow { font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); font-weight:700; margin:0 0 18px; }
.pricing-page h1, .pricing-page h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.045em; margin:0; }
.pricing-page h1 { font-size:clamp(58px,7vw,90px); line-height:.98; }
.pricing-page .tp-lead { font-size:18px; line-height:1.55; color:#465148; max-width:610px; margin:24px 0 0; }
.pricing-page .tp-hero{padding:78px 0 50px}
.pricing-page .tp-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end}
.pricing-page .tp-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}
.pricing-page h1,.pricing-page h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;margin:0}
.pricing-page h1{font-size:clamp(58px,7vw,96px);line-height:.94;max-width:760px}
.pricing-page .tp-lead{font-size:18px;line-height:1.55;color:#465148;max-width:610px;margin:24px 0 0}
.pricing-page .tp-hero-art{
    min-height:250px;border:1px solid var(--line);border-radius:24px;padding:22px;
    background:linear-gradient(145deg,rgba(255,255,255,.55),rgba(255,255,255,.14));
    display:grid;grid-template-columns:1.1fr .9fr;gap:16px
  }
.pricing-page .tp-screen{
    border-radius:18px;background:#263128;padding:14px;min-height:208px;box-shadow:0 20px 45px rgba(35,44,37,.11)
  }
.pricing-page .tp-screen-top{height:9px;width:34%;border-radius:999px;background:#74806f;margin-bottom:12px}
.pricing-page .tp-screen-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10px;height:166px}
.pricing-page .tp-menu{border-radius:12px;background:#f1efe8;padding:12px}
.pricing-page .tp-menu .tp-row{height:18px;border-bottom:1px solid #d7d5ce;display:flex;align-items:center;justify-content:space-between;font-size:7px;color:#4b554e}
.pricing-page .tp-ticket{border-radius:12px;background:#dfe4d7;padding:12px}
.pricing-page .tp-ticket .tp-bar{height:8px;background:#bac4b3;border-radius:999px;margin-bottom:7px}
.pricing-page .tp-terminal{display:flex;align-items:flex-end;justify-content:center}
.pricing-page .tp-terminal-box{
    width:132px;height:184px;border-radius:22px;background:#d8dbd4;border:1px solid #c5c9c1;padding:10px;
    transform:rotate(5deg);box-shadow:0 18px 35px rgba(41,49,42,.12)
  }
.pricing-page .tp-terminal-screen{height:132px;border-radius:14px;background:#1f2922;padding:10px}
.pricing-page .tp-tiny-line{height:8px;background:#647163;border-radius:999px;margin-bottom:7px}
.pricing-page .tp-tiny-line.tp-short{width:60%}
.pricing-page .tp-section{padding:72px 0;border-top:1px solid var(--line)}
.pricing-page .tp-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}
.pricing-page h2{font-size:48px;line-height:1}
.pricing-page .tp-section-note{font-size:14px;color:var(--muted);max-width:460px;line-height:1.45}
.pricing-page .tp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pricing-page .tp-card{
    border:1px solid var(--line);background:rgba(255,255,255,.31);border-radius:22px;padding:26px;min-height:440px;
    display:flex;flex-direction:column;position:relative
  }
.pricing-page .tp-card.tp-featured{background:#e8ebdf;border-color:#aeb6a5}
.pricing-page .tp-badge{
    position:absolute;right:20px;top:20px;font-size:11px;font-weight:700;background:var(--brand);color:white;
    border-radius:999px;padding:6px 9px
  }
.pricing-page .tp-plan-top{display:flex;gap:12px;align-items:center}
.pricing-page .tp-icon{
    width:40px;height:40px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.45)
  }
.pricing-page .tp-icon svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pricing-page .tp-plan-name{font-size:18px;font-weight:700}
.pricing-page .tp-price{font-family:var(--serif);font-size:58px;letter-spacing:-.04em;margin-top:28px}
.pricing-page .tp-price small{font-family:var(--sans);font-size:13px;letter-spacing:0;color:var(--muted)}
.pricing-page .tp-one-liner{font-size:15px;line-height:1.45;color:#4f5a51;margin-top:8px;min-height:44px}
.pricing-page .tp-features{list-style:none;padding:0;margin:28px 0 26px;display:grid;gap:12px;font-size:14px}
.pricing-page .tp-features li{display:flex;align-items:center;gap:10px}
.pricing-page .tp-check{width:17px;height:17px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-size:11px}
.pricing-page .tp-card .tp-btn{margin-top:auto;width:100%}
.pricing-page .tp-strip{
    margin-top:14px;border:1px solid var(--line);border-radius:18px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;
    background:rgba(255,255,255,.24)
  }
.pricing-page .tp-strip-left{display:flex;align-items:center;gap:14px}
.pricing-page .tp-strip strong{display:block;font-size:15px}
.pricing-page .tp-strip span{font-size:13px;color:var(--muted)}
.pricing-page .tp-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pricing-page .tp-value{
    border-top:1px solid var(--line);padding:18px 0 8px
  }
.pricing-page .tp-value .tp-icon{margin-bottom:18px}
.pricing-page .tp-value strong{display:block;font-size:16px;margin-bottom:6px}
.pricing-page .tp-value span{font-size:13px;color:var(--muted);line-height:1.4}
.pricing-page .tp-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pricing-page .tp-duo-card{
    border:1px solid var(--line);border-radius:22px;padding:28px;background:rgba(255,255,255,.28);min-height:250px
  }
.pricing-page .tp-duo-card .tp-icon{margin-bottom:46px}
.pricing-page .tp-duo-card h3{font-family:var(--serif);font-size:32px;font-weight:400;letter-spacing:-.03em;margin:0 0 8px}
.pricing-page .tp-duo-card p{color:var(--muted);line-height:1.5;margin:0 0 22px;max-width:500px;font-size:14px}
.pricing-page .tp-comparison{width:100%;border-collapse:collapse;border-top:1px solid var(--line)}
.pricing-page .tp-comparison th,.pricing-page .tp-comparison td{padding:15px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
.pricing-page .tp-comparison th{font-size:12px;color:var(--muted);font-weight:700}
.pricing-page .tp-comparison td:not(:first-child),.pricing-page .tp-comparison th:not(:first-child){text-align:center}
.pricing-page .tp-faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}
.pricing-page details{border-top:1px solid var(--line);padding:18px 0}
.pricing-page details:last-child{border-bottom:1px solid var(--line)}
.pricing-page summary{cursor:pointer;font-weight:650;list-style:none}
.pricing-page summary::-webkit-details-marker{display:none}
.pricing-page details p{font-size:14px;line-height:1.55;color:var(--muted);max-width:660px}
.pricing-page .tp-cta{
    margin:72px 0 40px;padding:44px;border-radius:28px;background:var(--brand);color:white;
    display:flex;align-items:end;justify-content:space-between;gap:30px
  }
.pricing-page .tp-cta h2{font-size:52px;max-width:620px}
.pricing-page .tp-cta .tp-btn{background:white;color:var(--brand);border-color:white}

  @media(max-width:900px){
    .pricing-page .tp-hero-grid,.pricing-page .tp-duo,.pricing-page .tp-faq{grid-template-columns:1fr}
.pricing-page .tp-hero-art{max-width:600px}
.pricing-page .tp-cards{grid-template-columns:1fr}
.pricing-page .tp-value-grid{grid-template-columns:1fr 1fr}
.pricing-page .tp-section-head,.pricing-page .tp-strip,.pricing-page .tp-cta{align-items:flex-start;flex-direction:column}
.pricing-page .tp-faq{gap:20px}
  }
  @media(max-width:560px){
    .pricing-page .tp-wrap{padding:0 18px}
.pricing-page .tp-hero{padding-top:48px}
.pricing-page h1{font-size:56px}
.pricing-page h2{font-size:38px}
.pricing-page .tp-hero-art{grid-template-columns:1fr;padding:14px}
.pricing-page .tp-terminal{display:none}
.pricing-page .tp-cards{gap:10px}
.pricing-page .tp-card{min-height:auto}
.pricing-page .tp-value-grid{grid-template-columns:1fr}
.pricing-page .tp-cta{padding:28px}
.pricing-page .tp-cta h2{font-size:40px}
.pricing-page .tp-comparison{font-size:12px}
.pricing-page .tp-comparison th,.pricing-page .tp-comparison td{padding:12px 4px}
  }

.pricing-page .tp-plan-name { margin:0; }
.pricing-page .tp-plan-top { padding-top:12px; }
.pricing-page .tp-badge { top:12px; right:16px; font-size:10px; padding:4px 8px; }
.pricing-page .tp-price { line-height:1.15; }
.pricing-page .tp-price small { display:inline-block; }
.pricing-page .tp-icon { flex:0 0 40px; }
.pricing-page .tp-check { flex:0 0 17px; }
.pricing-page .tp-check svg { width:12px; height:12px; }
.pricing-page .tp-comparison-scroll { overflow-x:auto; }
.pricing-page .tp-comparison { min-width:610px; }
.pricing-page .tp-comparison th[scope="row"] { color:var(--ink); font-size:14px; font-weight:500; }
.pricing-page .tp-comparison thead th { padding-top:20px; padding-bottom:20px; }
.pricing-page .tp-comparison th:nth-child(3), .pricing-page .tp-comparison td:nth-child(3) { background:rgba(231,234,223,.6); }
.pricing-page summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:28px; }
.pricing-page .tp-faq-toggle { font-size:22px; font-weight:400; transition:transform .2s; }
.pricing-page details[open] .tp-faq-toggle { transform:rotate(45deg); }
.pricing-page details[open] p { animation:pricing-enter .22s ease-out; }
.pricing-page .tp-hero-grid > div { animation:pricing-enter .65s both; }
.pricing-page .tp-hero-grid > div:nth-child(2) { animation-delay:.1s; }
.pricing-page .tp-cta .tp-btn.tp-ghost:hover { background:rgba(255,255,255,.12) !important; }
@keyframes pricing-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:900px) {
  .pricing-page { padding-top:72px; }
  .pricing-page .tp-hero-grid { gap:36px; }
  .pricing-page .tp-hero-art { width:100%; }
  .pricing-page .tp-card { min-height:0; }
  .pricing-page .tp-one-liner { min-height:0; }
  .pricing-page .tp-plan-top { padding-top:4px; }
}
@media(max-width:560px) {
  .pricing-page h1 { font-size:clamp(44px,12vw,56px); }
  .pricing-page .tp-hero { padding-bottom:40px; }
  .pricing-page .tp-hero-art { display:none; }
  .pricing-page .tp-section { padding:48px 0; }
  .pricing-page .tp-section-head h2 { font-size:36px; }
  .pricing-page .tp-duo-card .tp-icon { margin-bottom:28px; }
  .pricing-page .tp-value-grid { grid-template-columns:1fr 1fr; gap:20px; }
  .pricing-page .tp-cta { margin-top:48px; }
  .pricing-page .tp-strip-left { align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) {
  .pricing-page *, .pricing-page *::before, .pricing-page *::after { animation:none !important; transition:none !important; }
}
