* { box-sizing:border-box; margin:0; padding:0; }
html,body { min-height:100%; }
a { color:inherit; text-decoration:none; }
/* Palette, system type, radii and controls from apps/extension/styles.css. */
.page,.holding { --bg:#faf9f7; --surface:#f1efec; --border:#ded9d2; --fg:#1c1c22; --accent:#3a3a44; color-scheme:light; background:var(--bg); color:var(--fg); font:16px/1.6 system-ui,sans-serif; }
.page { padding:0 max(24px,calc((100vw - 1120px)/2)); }
.holding { min-height:100vh; padding:48px 24px; }
.page a { text-underline-offset:5px; }
.page a:hover { text-decoration:underline; }
.page :focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.skip { position:absolute; left:24px; top:-100px; background:var(--bg); padding:12px; z-index:2; }
.skip:focus { top:12px; }
.preview { padding:12px 0; font-size:13px; border-bottom:1px solid var(--border); }
.header,.header nav,.actions,.footer,.footer div { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.header { justify-content:space-between; padding:28px 0; }
.brand { font-size:28px; font-weight:650; letter-spacing:-1px; }
.brand span { color:var(--accent); }
.header nav { font-size:14px; }
.header nav a,.footer a { display:inline-flex; align-items:center; min-height:44px; }
.hero { padding:96px 0 112px; max-width:920px; }
.eyebrow { font-size:13px; margin-bottom:24px; }
.page h1 { font-size:clamp(48px,7.3vw,92px); font-weight:500; letter-spacing:-.055em; line-height:1.03; max-width:1000px; }
.page h2 { font-size:clamp(32px,4vw,48px); font-weight:500; letter-spacing:-.04em; line-height:1.14; margin-bottom:24px; }
.page h3 { font-size:20px; font-weight:600; letter-spacing:-.015em; margin-bottom:12px; }
.page p { margin-bottom:20px; }
.page .lead { font-size:clamp(18px,2vw,22px); max-width:670px; margin-top:28px; }
.actions { margin-top:32px; }
.actions a { min-height:48px; display:inline-flex; align-items:center; }
.button { display:inline-flex; padding:12px 20px; border:1px solid var(--accent); border-radius:8px; background:var(--accent); color:var(--bg); min-height:48px; }
.unavailable { display:inline-block; padding:12px 16px; border:1px solid var(--border); border-radius:8px; font-size:14px; }
.page .small { font-size:14px; margin-top:20px; max-width:660px; }
.section { padding:72px 0; border-top:1px solid var(--border); scroll-margin-top:24px; }
.columns { display:grid; grid-template-columns:1fr 1fr; gap:72px; }
.page ul { padding-left:20px; margin:20px 0; }
.page li { padding-left:4px; margin:10px 0; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:24px; margin:32px 0; }
.cards article { background:var(--surface); padding:28px; border-radius:14px; }
.cards article p:last-child,.cards article ul:last-child { margin-bottom:0; }
.faq { max-width:800px; margin-top:32px; }
.faq details { border-bottom:1px solid var(--border); padding:4px 0; }
.faq summary { padding:20px 0; cursor:pointer; font-weight:500; min-height:48px; }
.faq details p { max-width:680px; padding-bottom:12px; }
.closing { padding:80px 0; border-top:1px solid var(--border); }
.closing h2 { font-size:clamp(44px,6vw,72px); }
.footer { padding:28px 0; justify-content:space-between; border-top:1px solid var(--border); font-size:14px; }
@media(max-width:640px) { .header { align-items:flex-start; gap:12px; } .header nav { gap:16px; } .hero { padding:56px 0 64px; } .section { padding:48px 0; } .columns { grid-template-columns:1fr; gap:8px; } .actions { align-items:flex-start; flex-direction:column; gap:16px; } .cards article { padding:24px; } .closing { padding:56px 0; } }
.page .tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 0; list-style: none; }
.page .tool-grid li { padding: 0; margin: 0; }
.page .tool-grid a { display: block; height: 100%; padding: 24px; border: 1px solid var(--border); border-radius: 14px; }
.page .tool-grid p { margin: 0; }
.page button.unavailable { font-family: inherit; background: transparent; color: var(--fg); }
@media(max-width:640px) { .page .tool-grid { grid-template-columns: 1fr; } }
