:root { color-scheme: light; --paper:#f7f4ed; --ink:#23312b; --muted:#5f6860; --gold:#7c683e; --line:#dddcd3; --danger:#8b302a; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
[hidden] { display:none !important; }
a { color:inherit; text-underline-offset:4px; }
.site-header,main,footer { width:min(100% - 48px,760px); margin-inline:auto; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:32px 0; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; min-height:44px; font-family:Georgia,serif; font-size:24px; letter-spacing:4px; text-decoration:none; }
.site-header span,.eyebrow,.step { font-size:11px; font-weight:650; letter-spacing:2px; }
.site-header span { color:var(--muted); }
.intro { padding:48px 0 26px; max-width:660px; }
.eyebrow { color:var(--gold); text-transform:uppercase; margin:0 0 14px; }
h1 { font:normal clamp(38px,7vw,58px)/1.07 Georgia,serif; margin:0 0 24px; letter-spacing:-1.8px; }
.lead { color:var(--muted); font-size:18px; max-width:620px; }
.panel { padding:32px; border:1px solid var(--line); border-radius:20px; background:#fffdf8; box-shadow:0 6px 30px #25312b06; }
.step { color:var(--gold); margin:0 0 14px; }
h2 { margin:0 0 12px; font-size:24px; line-height:1.25; letter-spacing:-.5px; }
h3 { margin:0 0 10px; font-size:16px; }
p { margin:0 0 18px; }
#step-description { color:var(--muted); }
label { display:block; font-size:14px; font-weight:600; margin:22px 0 8px; }
input:not([type=checkbox]) { width:100%; min-height:52px; padding:12px 14px; border:1px solid #8c978d; border-radius:8px; color:var(--ink); background:#fff; font:inherit; }
button { min-height:50px; border:1px solid transparent; border-radius:8px; padding:12px 18px; font:600 15px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; cursor:pointer; }
button:disabled { opacity:.5; cursor:default; }
.primary { width:100%; display:flex; justify-content:space-between; gap:12px; margin-top:16px; color:#fff; background:var(--ink); }
.secondary { color:var(--ink); background:transparent; border-color:var(--line); }
.danger { color:#fff; background:var(--danger); }
.fine-print { color:var(--muted); font-size:12px; margin:12px 0 0; }
#status { margin:18px 0; padding:16px; border:1px solid #b1c3b4; border-radius:8px; background:#eff5ef; overflow-wrap:anywhere; }
#status[data-error=true] { border-color:#d5aaa3; background:#fbefec; color:#762720; }
.verified { padding:12px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.deletion-scope { font-size:14px; }
ul { padding-left:20px; }
li { margin-bottom:10px; }
.acknowledgment { display:flex; gap:12px; align-items:flex-start; font-size:14px; font-weight:400; }
input[type=checkbox] { flex-shrink:0; width:22px; height:22px; margin:2px 0; accent-color:var(--ink); }
.actions { display:flex; gap:12px; flex-wrap:wrap; margin:22px 0 0; }
.billing { padding:28px 0; margin-top:12px; border-bottom:1px solid var(--line); }
.billing h2 { font-size:18px; }
.billing p,.local-data { color:var(--muted); font-size:14px; }
.billing-links { display:flex; gap:12px 24px; flex-wrap:wrap; font-size:14px; }
.billing-links a { min-height:44px; display:inline-flex; align-items:center; }
.local-data { margin:24px 0; }
summary { cursor:pointer; color:var(--ink); min-height:44px; font-weight:600; }
footer { display:flex; gap:16px 24px; flex-wrap:wrap; padding:24px 0 36px; font-size:13px; color:var(--muted); }
footer a { display:inline-flex; align-items:center; min-height:44px; }
:focus-visible { outline:3px solid #517cac; outline-offset:4px; }
#step-title:focus,#status:focus { outline:none; }
@media (max-width:480px) { .site-header,main,footer { width:calc(100% - 32px); } .site-header { padding:24px 0; } .site-header span { letter-spacing:1px; font-size:9px; } .intro { padding-top:36px; } .panel { padding:24px 20px; } .actions { flex-direction:column; } .actions button { width:100%; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; } }
