/* Parent/product surfaces only. No selector affects the six-scene homepage. */
.sodog-surface { --paper:#fdf4ed; --ink:#2d1e12; --muted:#59432f; --line:#a38569; --action:#71300a; margin:0; background:var(--paper); color:var(--ink); font-family:ui-rounded,"SF Pro Rounded",system-ui,sans-serif; line-height:1.65; overflow-wrap:anywhere; }
.sodog-surface *, .sodog-surface *::before, .sodog-surface *::after { box-sizing:border-box; }
.sodog-surface [hidden] { display:none !important; }
.sodog-surface a { color:var(--action); text-underline-offset:4px; }
.sodog-surface :focus-visible { outline:4px solid #71300a; outline-offset:4px; }
.sodog-surface .surface-shell { width:calc(100% - 48px); max-width:1152px; margin-inline:auto; }
.sodog-surface .surface-skip { position:fixed; left:24px; top:16px; padding:16px; background:var(--ink); color:#fff; transform:translateY(-200%); z-index:10; }
.sodog-surface .surface-skip:focus { transform:none; }
.sodog-surface .surface-header { border-bottom:1px solid var(--line); }
.sodog-surface .surface-header .surface-shell { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; padding-block:24px; }
.sodog-surface .surface-brand { display:inline-flex; }
.sodog-surface .surface-brand img { max-width:128px; object-fit:contain; }
.sodog-surface nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
.sodog-surface nav a { display:inline-flex; align-items:center; min-height:48px; font-weight:650; }
.sodog-surface main { padding-block:64px; }
.sodog-surface h1 { max-width:880px; margin:0 0 24px; font-size:clamp(2rem,5vw,3.5rem); line-height:1.14; letter-spacing:-.025em; }
.sodog-surface h2 { font-size:clamp(1.5rem,3vw,2rem); line-height:1.25; margin:0 0 16px; }
.sodog-surface h3 { font-size:1.25rem; line-height:1.3; margin:0 0 16px; }
.sodog-surface p { margin:0 0 16px; max-width:80ch; }
.sodog-surface .surface-lead { font-size:1.25rem; max-width:64ch; }
.sodog-surface section { margin-block:0 48px; scroll-margin-top:24px; }
.sodog-surface .surface-note { padding:24px; border:1px solid var(--line); border-left:8px solid #a6420d; border-radius:8px; background:#fffaf4; }
.sodog-surface .surface-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,224px),1fr)); gap:24px; }
.sodog-surface .surface-panel { padding:24px; border:1px solid var(--line); border-radius:16px; background:#fffaf4; min-width:0; }
.sodog-surface .surface-panel ul, .sodog-surface .surface-panel ol { padding-left:24px; }
.sodog-surface .surface-price { font-size:1.75rem; font-weight:750; font-variant-numeric:tabular-nums; }
.sodog-surface .surface-muted { color:var(--muted); }
.sodog-surface .surface-action { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:8px 24px; border-radius:24px; border:1px solid #71300a; background:#ffd78c; color:#422309; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.sodog-surface .surface-action:active { transform:scale(.98); }
.sodog-surface .surface-action:disabled { background:#e6d6c7; color:#59432f; cursor:not-allowed; }
.sodog-surface .surface-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-block:24px; }
.sodog-surface label { display:block; margin-bottom:16px; }
.sodog-surface input[type=checkbox] { width:24px; height:24px; margin:0 8px 0 0; vertical-align:middle; }
.sodog-surface dl { margin:0; }
.sodog-surface dt { font-weight:750; margin-top:16px; }
.sodog-surface dd { margin:0; }
.sodog-surface .surface-footer { border-top:1px solid var(--line); padding-block:40px; font-size:.875rem; }
.sodog-surface .surface-status { font-weight:700; }
@media (max-width:640px) { .sodog-surface .surface-shell { width:calc(100% - 32px); } .sodog-surface main { padding-block:40px; } .sodog-surface .surface-header .surface-shell { gap:16px; } .sodog-surface nav { gap:8px 16px; } }
@media (prefers-reduced-motion:reduce) { .sodog-surface * { scroll-behavior:auto !important; transition:none !important; } }
