/* Supporting pages use the same palette, local fonts, and controls as the app landing page. */
.document-page .main-nav a[aria-current="page"] { color:var(--text); text-decoration:underline; text-decoration-color:var(--coral); text-underline-offset:8px; text-decoration-thickness:2px; }
.document-main { padding-bottom:80px; }
.document-hero { padding-block:64px 48px; max-width:880px; }
.document-hero .eyebrow { color:var(--mint); margin-bottom:24px; }
.document-hero h1 { font-size:clamp(40px,6vw,72px); line-height:1.08; letter-spacing:-2px; overflow-wrap:anywhere; }
.document-hero .body-lg { margin-top:24px; max-width:68ch; }
.document-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:48px; align-items:start; }
.document-sidebar { position:sticky; top:120px; min-width:0; }
.document-index { padding:24px; border:1px solid #403c3d; background:var(--canvas-soft); border-radius:20px; max-height:calc(100svh - 200px); overflow-y:auto; scrollbar-gutter:stable; }
.document-sidebar > .text-link { margin-top:16px; color:var(--mint); font-size:16px; }
.document-index h3,.document-mobile-index h3 { font-size:16px; margin-bottom:16px; }
.document-index h4,.document-mobile-index h4 { font:600 14px/1.5 Inter,sans-serif; color:var(--mint); margin-top:20px; }
.document-index ol,.document-mobile-index ol { list-style:none; padding:0; margin:0; }
.document-index a,.document-mobile-index nav a { display:flex; align-items:center; min-height:44px; padding-block:8px; font-size:16px; line-height:1.4; color:#ccc5c2; }
.document-index a:hover,.document-mobile-index nav a:hover { color:var(--mint); text-decoration:underline; text-underline-offset:4px; }
.document-mobile-index { display:none; }
.document-body { min-width:0; padding:40px 48px; background:var(--warm-white); color:var(--ink); border-radius:var(--editorial-soft); }
.document-body .legal-card { padding-block:32px; border-bottom:1px solid #d9cec7; scroll-margin-top:12px; }
.document-body .legal-card:first-child { padding-top:0; }
.document-body .legal-card:last-child { padding-bottom:0; border-bottom:0; }
.document-body h2 { font-size:26px; line-height:1.3; letter-spacing:-.5px; margin-bottom:20px; overflow-wrap:anywhere; }
.document-body h3 { font-size:18px; line-height:1.4; margin:24px 0 12px; }
.document-body p,.document-body li,.document-body dd { font-size:16px; line-height:1.75; color:#4c4746; max-width:72ch; overflow-wrap:anywhere; }
.document-body p { margin-bottom:16px; }
.document-body p:last-child { margin-bottom:0; }
.document-body ul { padding-left:24px; margin:16px 0; }
.document-body li { padding-left:4px; margin-bottom:8px; }
.document-body li::marker { color:#9b341c; }
.document-body a { color:#146357; text-decoration:underline; text-underline-offset:3px; }
.document-body a:hover { color:var(--ink); }
.document-body .button-primary { color:var(--canvas); text-decoration:none; font-size:16px; max-width:100%; }
.document-body strong { color:var(--ink); }
.document-body .legal-meta { display:grid; grid-template-columns:140px minmax(0,1fr); gap:12px 24px; margin:0; }
.document-body dt { font-size:16px; font-weight:600; }
.document-body dd { margin:0; }
.document-body .part-label { color:#146357; font-weight:600; }
.document-body .notice-box { background:var(--coral-surface); border:1px solid #c48270; padding:20px; border-radius:16px; font-size:16px; line-height:1.7; margin-bottom:24px; }
.document-body .placeholder { background:var(--coral-surface); color:#902b18; padding:2px 6px; border-radius:4px; }
.document-body :focus-visible { outline-color:#146357; }
.utility-header { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:100px; border-bottom:1px solid #403c3d; }
.utility-header .text-link { color:var(--muted); font-size:16px; }
.invite-main { display:grid; place-items:center; min-height:calc(100svh - 188px); padding-block:48px; }
.invite-page .card { width:min(100%,560px); padding:40px; background:var(--canvas-soft); border:1px solid #403c3d; border-radius:var(--editorial-sweep); }
.invite-mark { width:56px; height:56px; display:grid; place-items:center; color:var(--mint); background:#22332f; border-radius:16px; margin-bottom:24px; }
.invite-mark svg { width:30px; height:30px; }
.invite-page .eyebrow { color:var(--mint); margin-bottom:16px; }
.invite-page h1 { font-size:clamp(34px,4.4vw,48px); line-height:1.1; letter-spacing:-1.5px; }
.invite-page .subtitle { color:var(--muted); font-size:17px; line-height:1.65; margin-top:20px; margin-bottom:24px; }
.invite-page .code-box { background:var(--mint-surface); color:var(--ink); border-radius:16px; padding:20px 24px; margin-bottom:20px; max-width:100%; }
.invite-page .code-label { font-size:14px; margin-bottom:8px; }
.invite-page .code { font:600 30px/1.2 ui-monospace,monospace; letter-spacing:6px; overflow-wrap:anywhere; }
.invite-page .status { color:var(--mint); font-size:16px; font-weight:500; min-height:24px; margin-bottom:16px; }
.invite-page .store-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.invite-page .cta { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:58px; max-width:100%; padding:6px 6px 6px 24px; border-radius:999px; background:var(--coral); color:var(--canvas); font-size:16px; font-weight:600; transition:background var(--normal); }
.invite-page .cta::after { content:'↗'; display:grid; place-items:center; width:44px; height:44px; flex:none; border-radius:50%; color:white; background:var(--canvas); font-size:23px; }
.invite-page .cta:hover { background:#ff7151; }
.invite-page .secondary { color:var(--muted); font-size:16px; line-height:1.6; margin-top:16px; }
.invite-page .secondary a { color:var(--mint); text-decoration:underline; text-underline-offset:4px; min-height:44px; display:inline-flex; align-items:center; }
.invite-page .inapp-banner { display:none; padding:20px; background:var(--mint-surface); color:var(--ink); border-radius:16px; margin-block:24px; }
.invite-page .inapp-banner.visible { display:block; }
.invite-page .inapp-banner p { font-size:16px; line-height:1.6; }
.invite-page .inapp-banner a { display:inline-flex; align-items:center; min-height:44px; margin-top:12px; font-size:16px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.invite-page .mode-badge { width:max-content; max-width:100%; padding:6px 12px; margin-top:20px; border:1px solid #403c3d; border-radius:999px; color:var(--mint); font-size:16px; }
.invite-page .mode-badge.edit { color:var(--text); border-color:var(--coral); }
.invite-page .hidden { display:none!important; }
.utility-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; min-height:88px; padding-block:16px; border-top:1px solid #403c3d; color:var(--muted); font-size:14px; }
.utility-footer nav { display:flex; gap:8px 24px; flex-wrap:wrap; }
.utility-footer a { min-height:44px; display:inline-flex; align-items:center; font-size:16px; }
.utility-footer a:hover { color:var(--text); text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1100px) {
 .document-layout { grid-template-columns:1fr; gap:24px; }
 .document-sidebar { display:none; }
 .document-mobile-index { display:block; background:var(--canvas-soft); border:1px solid #403c3d; border-radius:16px; margin-bottom:24px; padding:16px 24px; }
 .document-mobile-index summary { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:16px; font-weight:600; min-height:44px; cursor:pointer; }
 .document-mobile-index summary::marker { content:''; }
 .document-mobile-index[open] summary { margin-bottom:16px; }
 .document-mobile-index[open] summary span { transform:rotate(45deg); }
 .document-mobile-index nav { max-height:320px; overflow-y:auto; padding:0 6px; }
 .document-body { max-width:880px; margin-inline:auto; }
}
@media(max-width:640px) {
 .document-main { padding-bottom:48px; }
 .document-hero { padding-block:40px 32px; }
 .document-hero h1 { font-size:40px; letter-spacing:-1.2px; }
 .document-hero .body-lg { font-size:16px; margin-top:20px; }
 .document-body { padding:28px 20px; border-radius:24px 24px 48px 24px; }
 .document-body h2 { font-size:23px; }
 .document-body .legal-meta { grid-template-columns:1fr; gap:8px; }
 .document-body dt:not(:first-child) { margin-top:12px; }
 .document-body .legal-card { padding-block:24px; scroll-margin-top:12px; }
 .document-mobile-index { padding:12px 20px; }
 .utility-header { min-height:80px; gap:12px; }
 .utility-header .wordmark { font-size:21px; }
 .utility-header .text-link { font-size:14px; gap:8px; }
 .invite-main { padding-block:32px; min-height:calc(100svh - 168px); }
 .invite-page .card { padding:28px 20px; border-radius:24px 24px 48px 24px; }
 .invite-page .subtitle { font-size:16px; }
 .invite-page .cta { font-size:14px; gap:12px; padding-left:18px; }
 .invite-page .code-box { padding:20px; }
 .invite-page .code { font-size:26px; letter-spacing:4px; }
}
@media(prefers-reduced-motion:reduce) { .invite-page .cta { transition:none; } }

.document-body .document-cookie-settings { padding:0; background:none; border:0; color:#146357; text-decoration:underline; text-underline-offset:3px; min-height:44px; font:inherit; }
.document-body .document-updated { color:#4c4746; font-size:16px; margin-top:14px; }
