/* Shared public-page layout */
.public-main { overflow: hidden; }
.page-hero { padding: 96px 0 76px; border-bottom: 1px solid var(--line); }
.page-hero-grid { display:grid; grid-template-columns: 1fr .8fr; gap: 70px; align-items:end; }
.page-hero h1 { margin:14px 0 0; font-size:clamp(38px,6vw,68px); line-height:1.02; letter-spacing:-.055em; max-width:780px; }
.page-hero .lede { margin-top:20px; max-width:650px; color:var(--text-muted); font-size:17px; line-height:1.8; }
.page-hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:28px; }
.page-hero-note { border-left:2px solid #c8c8c1; padding:10px 0 10px 18px; color:var(--text-muted); font-size:13px; line-height:1.75; }
.section { padding:88px 0; border-bottom:1px solid var(--line); }
.section-head { max-width:760px; margin-bottom:40px; }
.section-head h2 { margin:12px 0 0; font-size:clamp(30px,4vw,46px); letter-spacing:-.045em; line-height:1.08; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feature-item { padding:24px; border-top:1px solid var(--line-strong); }
.feature-item .number { font-size:11px; color:var(--text-faint); font-family:var(--mono); }
.feature-item h3 { margin:14px 0 8px; font-size:17px; letter-spacing:-.02em; }
.feature-item p { margin:0; color:var(--text-muted); font-size:13px; line-height:1.75; }
.dark-band { background:#171717; color:#fff; }
.dark-band .section-copy, .dark-band .muted { color:#bdbdb7; }
.dark-band .eyebrow { color:#bdbdb7; }
.dark-band .eyebrow::before { background:#666; }
.dark-band .btn-outline { color:#fff; border-color:#555; background:transparent; }
.dark-band .btn-outline:hover { background:#242424; border-color:#777; }
.comparison { width:100%; border-collapse:collapse; margin-top:30px; }
.comparison th,.comparison td { text-align:left; padding:14px 12px; border-bottom:1px solid var(--line); font-size:13px; vertical-align:top; }
.comparison th { font-size:11px; color:var(--text-faint); text-transform:uppercase; letter-spacing:.06em; }
.callout { padding:22px; border:1px solid var(--line); border-radius:14px; background:var(--surface-subtle); }
.callout strong { display:block; margin-bottom:5px; }
.timeline { display:grid; gap:0; }
.timeline-item { display:grid; grid-template-columns:90px 1fr; gap:24px; padding:22px 0; border-top:1px solid var(--line); }
.timeline-item .time { font-family:var(--mono); font-size:11px; color:var(--text-faint); }
.timeline-item h3 { margin:0 0 6px; font-size:16px; }
.timeline-item p { margin:0; color:var(--text-muted); font-size:13px; line-height:1.7; }
.faq-list { display:grid; gap:0; border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); padding:18px 0; }
.faq-list summary { cursor:pointer; font-weight:650; font-size:14px; }
.faq-list p { color:var(--text-muted); font-size:13px; line-height:1.75; margin:12px 0 0; max-width:760px; }
.mini-link { color:var(--text); text-decoration:none; border-bottom:1px solid #b6b6af; }
.mini-link:hover { border-bottom-color:var(--text); }

@media(max-width:860px){ .page-hero-grid{grid-template-columns:1fr;gap:30px}.feature-grid{grid-template-columns:1fr 1fr} }
@media(max-width:620px){ .page-hero{padding:70px 0 54px}.section{padding:64px 0}.feature-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:8px}.comparison{display:block;overflow:auto;white-space:nowrap} }


.btn.is-disabled { opacity: .6; cursor: not-allowed; }
