/* Savannah Tracing Design System v1.0 */
:root{
  --sv-page-max:1180px;--sv-reading-max:760px;--sv-gutter:24px;--sv-gutter-mobile:16px;
  --sv-space-1:4px;--sv-space-2:8px;--sv-space-3:12px;--sv-space-4:16px;--sv-space-5:20px;--sv-space-6:24px;--sv-space-8:32px;--sv-space-10:40px;--sv-space-12:48px;--sv-space-16:64px;
  --sv-radius-sm:10px;--sv-radius-md:14px;--sv-radius-lg:20px;--sv-radius-xl:24px;--sv-radius-pill:999px;
  --sv-navy:#071b2d;--sv-navy-2:#0d2d49;--sv-gold:#d5a740;--sv-ink:#14212c;--sv-muted:#65717c;--sv-line:#dfe5e8;--sv-surface:#fff;--sv-soft:#f7f5ef;
  --sv-success:#0c7a5a;--sv-success-bg:#ecf9f3;--sv-warning:#8b6a18;--sv-warning-bg:#fff8e8;--sv-error:#9b2c2c;--sv-error-bg:#fff0f0;--sv-info:#245b82;--sv-info-bg:#eef6fb;
  --sv-shadow:0 18px 55px rgba(7,27,45,.10);--sv-shadow-soft:0 8px 28px rgba(7,27,45,.06);
}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--sv-ink);background:#fff}
.sv-container,.wrap{width:min(100% - (var(--sv-gutter)*2),var(--sv-page-max));margin-inline:auto;padding-inline:0}
.sv-reading{max-width:var(--sv-reading-max)}
.brand-logo{width:190px;height:62px;object-fit:contain;object-position:left center}
.footer-logo{width:190px;height:64px;object-fit:contain;object-position:left center}
.btn,.sv-button{min-height:48px;padding:13px 20px;border-radius:var(--sv-radius-pill);font:750 14px/1.2 inherit;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}
.input,select,textarea,.sv-field{min-height:48px;border:1px solid #ccd5da;border-radius:12px;padding:12px 13px;font:inherit;background:#fff}
.card,.sv-card{border:1px solid var(--sv-line);border-radius:var(--sv-radius-lg);background:#fff;box-shadow:var(--sv-shadow-soft)}
.sv-modal,.modal{width:min(820px,calc(100vw - 40px));max-height:calc(100dvh - 40px);border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.sv-modal-sm{width:min(520px,calc(100vw - 40px))}.sv-modal-lg{width:min(1040px,calc(100vw - 40px))}
.sv-toast-stack{position:fixed;right:20px;top:92px;z-index:100;display:grid;gap:10px;width:min(380px,calc(100vw - 32px))}
.sv-notice,.notice{border:1px solid transparent;border-radius:14px;padding:14px 16px;font-size:13px;line-height:1.5}
.sv-notice-info{background:var(--sv-info-bg);color:var(--sv-info);border-color:#d7eaf6}
.sv-notice-success,.notice.success,.success{background:var(--sv-success-bg);color:#145b45;border-color:#cceede}
.sv-notice-warning{background:var(--sv-warning-bg);color:#725817;border-color:#f0dfb1}
.sv-notice-error,.notice.error,.error{background:var(--sv-error-bg);color:var(--sv-error);border-color:#f2cccc}
.sv-toast{background:#fff;border:1px solid var(--sv-line);border-radius:14px;padding:14px 16px;box-shadow:var(--sv-shadow);font-size:13px;line-height:1.45}
.sv-page-title{font-size:clamp(34px,5vw,56px);line-height:1.04;letter-spacing:-.04em;margin:0}
.sv-section-title{font-size:clamp(28px,4vw,42px);line-height:1.08;letter-spacing:-.035em}
.sv-eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#8b6a18}
.sv-legal{max-width:820px;padding-block:56px}.sv-legal h1{font-size:clamp(36px,6vw,52px);letter-spacing:-.04em;margin:0 0 24px}.sv-legal h2{font-size:24px;margin:34px 0 10px}.sv-legal p{color:var(--sv-muted);line-height:1.75}
@media(max-width:850px){
  :root{--sv-gutter:20px}.brand-logo{width:170px;height:56px}.footer-logo{width:175px;height:58px}
  .sv-modal,.modal{width:min(760px,calc(100vw - 20px));max-height:calc(100dvh - 20px);border-radius:20px}
}
@media(max-width:520px){
  :root{--sv-gutter:var(--sv-gutter-mobile)}.brand-logo{width:150px;height:50px}.footer-logo{width:165px;height:56px}
  .btn,.sv-button{min-height:50px;font-size:14px}.sv-modal,.modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px}
  .sv-toast-stack{top:78px;right:16px;left:16px;width:auto}.sv-legal{padding-block:38px}
}
