/* Claim — a small publishing desk, not a checkout form */
body.claim-page {
  background:
    radial-gradient(850px 430px at 100% 0%, rgba(180,35,24,.16), transparent 62%),
    linear-gradient(110deg, #efe2c8 0%, #f4ead5 52%, #e5d4b6 100%);
}
.claim-page .mast { margin-bottom: 0; }
.claim-page .mast-kicker span:last-child { color: var(--red-deep); }
.claim-shell { padding: clamp(24px, 4vw, 52px) 0 64px; }
.claim-layout { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(280px, .85fr); gap:clamp(18px,4vw,56px); align-items:start; }
.claim-intro { padding: 10px 0 4px; }
.claim-intro h2 { font-size:clamp(46px,7.2vw,88px); line-height:.88; letter-spacing:-.065em; max-width:8ch; margin:10px 0 22px; }
.claim-intro h2 em { color:var(--red); font-style:normal; }
.claim-dek { max-width:38rem; font-size:clamp(17px,2vw,21px); line-height:1.42; color:var(--ink-soft); margin:0; }
.claim-markers { display:flex; flex-wrap:wrap; gap:8px 18px; list-style:none; margin:26px 0 0; padding:0; font-family:ui-monospace, Menlo, Consolas, monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--forest); }
.claim-markers li { display:flex; gap:7px; align-items:center; }
.claim-markers li:before { content:""; width:7px; height:7px; background:var(--red); display:block; }
.claim-card { position:relative; background:var(--sheet); border:2px solid var(--ink); box-shadow:10px 11px 0 rgba(36,28,22,.16); padding:clamp(20px,3vw,32px); overflow:hidden; }
.claim-card:before { content:""; position:absolute; left:0; top:0; right:0; height:8px; background:var(--red); }
.claim-card h3 { font-size:clamp(28px,3vw,38px); line-height:1; margin:5px 0 8px; letter-spacing:-.045em; }
.claim-card .eyebrow { margin-top:10px; }
.claim-form label { margin-top:16px; font-family:ui-monospace, Menlo, Consolas, monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.claim-form input { min-height:50px; border-color:var(--ink-soft); background:#fff9ec; transition:border-color .18s ease, box-shadow .18s ease; }
.claim-form input:focus { outline:0; border-color:var(--red); box-shadow:4px 4px 0 rgba(180,35,24,.18); }
.optional-row { margin-top:13px; }
.optional-row summary { cursor:pointer; color:var(--forest); font-size:14px; text-decoration:underline; text-underline-offset:3px; }
.claim-submit { width:100%; min-height:64px; margin-top:22px; background:var(--red)!important; font-weight:700; font-size:19px; transition:transform .17s ease, background .17s ease!important; }
.claim-submit:hover:not(:disabled) { background:var(--red-deep)!important; transform:translateY(-2px); }
.claim-trust { display:flex; gap:9px; align-items:flex-start; margin:15px 0 0; color:var(--muted); font-size:13px; line-height:1.4; }
.claim-trust:before { content:""; flex:0 0 8px; width:8px; height:8px; margin-top:5px; border-radius:50%; background:var(--forest); }
.claim-status { min-height:0; margin:16px 0 0; }
.claim-progress { margin-top:19px; padding:14px; background:var(--desk); color:var(--sheet); }
.claim-progress[hidden] { display:none; }
.progress-label { margin:0 0 10px; font:11px ui-monospace, Menlo, Consolas, monospace; letter-spacing:.1em; text-transform:uppercase; }
.progress-track { height:5px; background:rgba(251,243,224,.25); overflow:hidden; }
.progress-track i { display:block; height:100%; width:22%; background:var(--gold); transform:translateX(-100%); }
.claim-progress.is-working .progress-track i { animation:claim-loading 1.1s ease-in-out infinite; }
@keyframes claim-loading { 0%{transform:translateX(-100%);width:28%} 65%{width:65%} 100%{transform:translateX(370%);width:28%} }
.reveal { margin-top:16px; border-top:1px solid var(--line); padding-top:20px; animation:reveal-up .45s cubic-bezier(.2,.85,.35,1) both; }
.claim-card.is-published .claim-form { display:none; }
.claim-card.is-published .claim-status { margin-top:18px; color:var(--forest); font-weight:700; }
.claim-card.is-published .reveal { border-top:0; margin-top:10px; padding-top:0; }
@keyframes reveal-up { from {opacity:0; transform:translateY(16px)} to {opacity:1; transform:translateY(0)} }
.reveal-heading { display:flex; gap:12px; align-items:flex-start; }
.reveal-stamp { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; color:var(--sheet); background:var(--forest); font-family:Georgia,serif; font-size:24px; }
.reveal h3 { margin:0; font-size:30px; }
.reveal p { margin:4px 0 0; }
.live-path { font:600 16px ui-monospace, Menlo, Consolas, monospace; color:var(--red-deep); margin:17px 0 8px!important; overflow-wrap:anywhere; }
.story-preview { display:grid; gap:8px; margin:16px 0; }
.story-preview article { background:#ede0c6; border-left:4px solid var(--red); padding:11px 13px; }
.story-preview .meta { margin:0 0 2px; }
.story-preview h4 { font-size:17px; line-height:1.14; margin:0; }
.story-preview p { color:var(--ink-soft); font-size:13px; margin:5px 0 0; }
.reveal-actions { display:flex; gap:9px; flex-wrap:wrap; margin-top:16px; }
.reveal-actions .btn, .reveal-actions button { min-height:48px; padding:10px 15px; font-size:15px; }
.compact-share { margin-top:18px; padding:15px; background:#e9dcc3; border:1px solid var(--line); }
.compact-share h3 { font-size:20px; margin:0 0 3px; }
.compact-share p { margin:0; font-size:14px; }
.compact-share code { display:block; margin:10px 0; padding:8px; overflow-wrap:anywhere; background:#fff9ec; border:1px solid var(--line); font:11px ui-monospace, Menlo, Consolas, monospace; }
.compact-share .actions { margin-top:0; }
.compact-share button { min-height:42px; padding:9px 13px; font-size:14px; }
.after-claim { margin-top:18px; }
.after-claim h3 { font-size:22px; margin:0 0 5px; }
.after-claim .actions { margin-top:10px; }
.claim-side { border-top:4px solid var(--forest); background:rgba(251,243,224,.62); padding:23px; }
.claim-side h3 { font-size:24px; line-height:1.05; margin:4px 0 18px; }
.publish-steps { padding:0; margin:0; list-style:none; counter-reset:steps; }
.publish-steps li { counter-increment:steps; display:grid; grid-template-columns:28px 1fr; gap:11px; border-top:1px solid var(--line); padding:12px 0; font-size:14px; }
.publish-steps li:before { content:counter(steps, decimal-leading-zero); color:var(--red); font:11px ui-monospace, Menlo, Consolas, monospace; padding-top:3px; }
.farrell-link { display:inline-block; margin-top:22px; color:var(--sheet)!important; background:var(--forest); padding:12px 14px; text-decoration:none; font-size:14px; transition:transform .17s ease; }
.farrell-link:hover { transform:translateX(3px); color:var(--sheet); }
.claim-page .foot { margin-top:0; }
@media (max-width:780px) {
  .claim-layout { grid-template-columns:1fr; gap:28px; }
  .claim-intro { padding-top:0; }
  .claim-intro h2 { max-width:10ch; }
  .claim-side { order:3; }
}
@media (prefers-reduced-motion:reduce) {
  .claim-progress.is-working .progress-track i, .reveal { animation:none; }
  .claim-submit, .farrell-link { transition:none!important; }
}