.terms-document main { padding-block:40px 64px; }
.terms-document h1 { font-size:clamp(1.8rem,5vw,2.65rem); margin:18px 0; }
.terms-document h2 { margin:28px 0 12px; font-size:1.35rem; }
.terms-document p { line-height:1.7; margin-block:12px; }
.terms-document a:not(.btn) { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.terms-brand { display:flex; align-items:center; gap:14px; margin-bottom:32px; text-decoration:none!important; }
.terms-brand small { font-size:.75rem; letter-spacing:.12em; }
.legal-agreement { padding:16px; border:1px solid var(--line); border-radius:16px; }
.legal-agreement a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.legal-agreement label { display:flex; align-items:flex-start; gap:12px; min-height:44px; padding-block:8px; cursor:pointer; }
.legal-agreement input[type=checkbox] { flex:0 0 22px; width:22px; height:22px; min-height:22px; margin-top:3px; accent-color:var(--accent); }
.legal-agreement:focus-within { outline:2px solid var(--accent); outline-offset:3px; }
.legal-agreement input:checked + span { color:var(--accent); }
.legal-agreement span { transition:color 180ms ease; }
.legal-dialog { width:min(760px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid var(--line); border-radius:20px; background:var(--bg,#f7f4ed); }
.legal-dialog::backdrop { background:rgba(30,34,29,.5); }
.legal-dialog__bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid var(--line); }
.legal-dialog iframe { display:block; width:100%; height:min(70dvh,680px); border:0; background:#f7f4ed; }
@media (prefers-reduced-motion:reduce) { .legal-agreement span { transition:none; } }
.equipment-region { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows 240ms ease,opacity 180ms ease; }
.equipment-region.is-open { grid-template-rows:1fr; opacity:1; }
.equipment-region__inner { min-height:0; overflow:hidden; }
.equipment-checklist { margin:4px 0 12px; }
.equipment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:4px; }
.equipment-choice { display:flex; align-items:center; gap:12px; min-height:52px; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--card); cursor:pointer; transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease; }
.equipment-choice:has(input:checked) { background:rgba(154,107,60,.08); border-color:var(--accent); }
.equipment-choice:focus-within { outline:2px solid var(--accent); outline-offset:2px; }
.equipment-choice input[type=checkbox] { width:22px; height:22px; min-height:22px; flex:0 0 22px; margin:0; accent-color:var(--accent); }
.equipment-choice span { line-height:1.4; font-size:14px; }
.legal-dialog iframe { color-scheme:light; }
@media(max-width:420px) { .equipment-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .equipment-region,.equipment-choice { transition:none; } }
.support-document .support-lede { font-size:1.08rem; max-width:62ch; }
.support-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-block:30px; }
.support-grid .card { margin:0; padding:20px; }
.support-grid h2,.support-alert h2 { margin:6px 0 10px; }
.support-alert { margin-block:30px; border-color:var(--accent); }
.support-list { display:grid; gap:10px; padding-left:20px; line-height:1.6; }
@media(max-width:680px) { .support-grid { grid-template-columns:1fr; } }
.terms-document { font-size:1rem; overflow-wrap:anywhere; }
.terms-document .eyebrow { font-size:12px; color:var(--muted); }
.terms-document section { scroll-margin-top:24px; }
.legal-nav { display:flex; flex-wrap:wrap; gap:8px 24px; margin-block:16px 28px; }
.legal-nav a { display:inline-flex; align-items:center; min-height:44px; }
.legal-nav [aria-current=page] { font-weight:600; text-decoration-thickness:2px!important; }
.legal-lede { color:var(--muted); max-width:60ch; }
.legal-status { margin-block:24px; padding:20px; border-left:3px solid var(--accent); }
.legal-status p:last-child { margin-bottom:0; }
.legal-contents { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px; padding-block:20px; border-block:1px solid var(--line); }
.legal-contents a { display:flex; align-items:center; min-height:44px; }
.legal-footer { margin-top:40px; padding-top:20px; border-top:1px solid var(--line); }
.terms-document a { overflow-wrap:anywhere; transition:color 180ms ease; }
.terms-document a:focus-visible { outline:2px solid var(--sage); outline-offset:4px; border-radius:3px; }
.terms-document .btn { white-space:normal; max-width:100%; text-align:center; }
.terms-brand img { flex:0 0 48px; }
.terms-brand span { min-width:0; }
.legal-skip { position:absolute; top:-120px; left:16px; z-index:100; padding:12px; background:var(--surface); }
.legal-skip:focus { top:12px; }
@media(prefers-reduced-motion:no-preference) {
  .terms-document main { animation:legal-enter 260ms ease-out both; }
  .terms-document { scroll-behavior:smooth; }
  @keyframes legal-enter { from { opacity:0;transform:translateY(4px); } to { opacity:1;transform:none; } }
}
@media(max-width:480px) { .legal-contents { grid-template-columns:1fr; } }
