/* =====================================================================
   Shared styles for subpages (Product / Pricing / About).
   Loaded after site.css.
   ===================================================================== */

/* ---- compact page hero ---- */
.page-hero{padding:clamp(60px,8vw,108px) 0 clamp(36px,5vw,60px);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:-50% -20% auto -20%;height:130%;z-index:-1;pointer-events:none;
  background:radial-gradient(50% 46% at 70% 0%,color-mix(in srgb,var(--brand) 11%,transparent),transparent 70%)}
.page-hero .ph-in{max-width:50ch}
.page-hero.center .ph-in{max-width:64ch;margin:0 auto;text-align:center}
.page-hero h1{margin-top:18px}
.page-hero .lede{margin-top:20px}
.page-hero .ph-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.page-hero.center .ph-actions{justify-content:center}

/* ---- alternating feature rows ---- */
.feat-row{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(30px,5vw,72px);align-items:center;
  padding:clamp(40px,5vw,68px) 0;border-top:1px solid var(--line-soft)}
.feat-row:first-child{border-top:0}
.feat-row.flip .fr-media{order:-1}
.fr-copy .eyebrow{margin-bottom:16px}
.fr-copy h2{font-family:var(--font-display);font-weight:var(--display-weight,700);color:var(--brand-deep);font-size:clamp(26px,3vw,38px);
  letter-spacing:var(--display-tracking,-.015em);line-height:1.05;margin:0 0 16px}
.fr-copy p{font-size:16.5px;color:var(--ink-2);margin:0 0 18px;max-width:46ch}
.fr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.fr-list li{display:flex;gap:12px;font-size:15px;color:var(--ink-2);line-height:1.45}
.fr-list li .ck{flex:0 0 22px;height:22px;border-radius:7px;background:var(--brand-soft);color:var(--brand);
  display:grid;place-items:center;font-size:12px;font-weight:700;margin-top:1px;border:1px solid var(--brand-line)}
.fr-list li b{color:var(--brand-deep)}
.fr-media .frame{box-shadow:var(--shadow)}
.fr-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}

/* ---- spec / capability cards ---- */
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px}
.spec{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow-sm);
  transition:transform .2s,box-shadow .2s,border-color .2s}
.spec:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--brand-line)}
.spec .si{width:42px;height:42px;border-radius:11px;background:var(--brand-soft);border:1px solid var(--brand-line);
  color:var(--brand);display:grid;place-items:center;margin-bottom:18px}
.spec .si svg{width:22px;height:22px}
.spec h3{font-size:17px;color:var(--brand-deep);margin:0 0 8px;font-weight:600}
.spec p{font-size:14px;color:var(--ink-2);margin:0;line-height:1.5}

/* ---- security band ---- */
.security{background:var(--paper);color:var(--ink);padding-top:clamp(10px,1.25vw,17px)}
.sec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px}
.sec-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;
  display:flex;gap:16px;align-items:flex-start;box-shadow:var(--shadow)}
.sec-card .si{flex:0 0 40px;height:40px;border-radius:11px;background:var(--brand-soft);
  border:1px solid var(--brand-line);display:grid;place-items:center;color:var(--brand)}
.sec-card .si svg{width:21px;height:21px}
.sec-card h3{color:var(--ink);font-size:16.5px;margin:0 0 7px;font-weight:600}
.sec-card p{color:var(--muted);font-size:14px;margin:0;line-height:1.5}
.security .display{color:var(--ink)}
.security .eyebrow{color:var(--brand)}
.security .lede{color:var(--muted)}

/* ---- pricing tiers ---- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px;align-items:stretch}
.tier{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;display:flex;flex-direction:column;
  box-shadow:var(--shadow-sm);position:relative;transition:transform .2s,box-shadow .2s}
.tier:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.tier.feature{border-color:var(--brand);box-shadow:0 24px 60px -30px var(--brand)}
.tier.feature::before{content:"Most chosen";position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--brand);color:#fff;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 13px;border-radius:999px;white-space:nowrap}
.tier .t-name{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.tier .t-price{font-family:var(--font-display);font-weight:500;color:var(--brand-deep);font-size:40px;line-height:1;margin:16px 0 4px;letter-spacing:-.02em}
.tier .t-price .t-unit{font-family:var(--font-ui);font-size:14px;color:var(--muted);font-weight:500}
.tier .t-desc{font-size:14px;color:var(--ink-2);margin:0 0 22px;line-height:1.5;min-height:42px}
.tier .t-feats{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:12px;flex:1}
.tier .t-feats li{display:flex;gap:11px;font-size:14.5px;color:var(--ink-2);line-height:1.4}
.tier .t-feats li .ck{flex:0 0 19px;height:19px;border-radius:6px;background:var(--accent-soft);color:var(--accent-deep);
  display:grid;place-items:center;font-size:11px;font-weight:700;margin-top:1px}
.tier .t-feats li.off{color:var(--muted-2)}
.tier .t-feats li.off .ck{background:var(--paper-2);color:var(--muted-2)}
.tier .btn{width:100%}

/* comparison strip */
.compare{margin-top:40px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
.compare table{width:100%;border-collapse:collapse}
.compare th,.compare td{text-align:left;padding:15px 20px;font-size:14.5px;border-top:1px solid var(--line-soft)}
.compare thead th{background:var(--paper-2);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);border-top:0}
.compare tbody th{font-weight:600;color:var(--brand-deep)}
.compare td{color:var(--ink-2);text-align:center}
.compare td.yes{color:var(--accent-deep);font-weight:600}
.compare td.no{color:var(--muted-2)}

/* ---- FAQ ---- */
.faq{max-width:780px;margin:46px auto 0}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{list-style:none;cursor:pointer;padding:20px 4px;font-size:17px;font-weight:600;color:var(--brand-deep);
  display:flex;justify-content:space-between;align-items:center;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q-ic{flex:0 0 24px;height:24px;border-radius:7px;border:1px solid var(--line);display:grid;place-items:center;
  color:var(--brand);font-size:16px;transition:transform .2s,background .2s}
.faq details[open] summary .q-ic{transform:rotate(45deg);background:var(--brand-soft)}
.faq details p{margin:0 4px 22px;font-size:15px;color:var(--ink-2);line-height:1.6;max-width:62ch}

/* ---- about: principles + steps ---- */
.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:46px}
.principle{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow-sm)}
.principle .pn{font-family:var(--font-mono);font-size:12px;color:var(--brand);letter-spacing:.08em}
.principle h3{font-family:var(--font-display);font-weight:var(--display-weight,700);color:var(--brand-deep);font-size:22px;margin:12px 0 10px;letter-spacing:var(--display-tracking,-.02em)}
.principle p{font-size:15px;color:var(--ink-2);margin:0;line-height:1.55}

.about-quote{max-width:60ch;margin:0 auto;text-align:center}
.about-quote blockquote{font-family:var(--font-display);font-weight:400;font-style:italic;font-size:clamp(24px,3.2vw,38px);
  line-height:1.2;color:var(--brand-deep);margin:0;letter-spacing:-.01em}
.about-quote .src{margin-top:22px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}

/* contact band */
.contact-card{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;background:#fff;border:1px solid var(--line);
  border-radius:22px;padding:clamp(28px,4vw,48px);box-shadow:var(--shadow)}
.contact-card h2{font-family:var(--font-display);font-weight:var(--display-weight,700);color:var(--brand-deep);font-size:clamp(26px,3vw,38px);margin:0 0 12px;letter-spacing:var(--display-tracking,-.015em)}
.contact-card p{font-size:16px;color:var(--ink-2);margin:0;max-width:42ch}
.contact-actions{display:flex;flex-direction:column;gap:12px}
.contact-actions .btn{width:100%}
.contact-actions .ci{font-family:var(--font-mono);font-size:12.5px;color:var(--muted);text-align:center;margin-top:2px}

@media (max-width:1000px){
  .feat-row{grid-template-columns:1fr;gap:28px}
  .feat-row.flip .fr-media{order:0}
  .spec-grid,.tiers,.principles,.sec-grid{grid-template-columns:1fr}
  .spec-grid{grid-template-columns:1fr 1fr}
  .contact-card{grid-template-columns:1fr;gap:26px}
}
@media (max-width:600px){
  .spec-grid{grid-template-columns:1fr}
  .compare{overflow-x:auto}
}
