/* KTS v0.7.6 premium SaaS design pass
   Goal: premium first impression + bright readable product UI.
   Existing page structure and JavaScript flows are preserved. */

@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@600;700;900&display=swap");

:root {
  --ink: #17130d;
  --soft-ink: #4f4638;
  --muted: #7b7161;
  --line: rgba(45, 35, 19, .13);
  --bg: #f7f2e9;
  --panel: #fffdf8;
  --teal: #b98a3a;
  --teal-dark: #74501a;
  --coral: #a92d45;
  --amber: #a86b16;
  --mint: #f4e7cc;
  --charcoal: #0c0b09;
  --blue: #7a5a24;
  --rose: #a92d45;
  --focus: rgba(191, 143, 60, .28);
  --shadow: 0 24px 70px rgba(42, 31, 16, .10);

  --kts-black: #080706;
  --kts-black-2: #15110b;
  --kts-gold: #bf8f3c;
  --kts-gold-2: #f3d68d;
  --kts-gold-3: #8b6729;
  --kts-cream: #fff7e8;
  --kts-ivory: #fffdf8;
  --kts-paper: #f7f2e9;
  --kts-line: rgba(191, 143, 60, .26);
  --font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Segoe UI", sans-serif;
  --font-display: "Noto Serif KR", "AppleMyungjo", "Batang", serif;
}

* {
  text-rendering: geometricPrecision;
}

html {
  background: var(--kts-paper);
}

body {
  color: var(--ink);
  background:
    radial-gradient(circle at 82% -10%, rgba(191, 143, 60, .14), transparent 30rem),
    linear-gradient(180deg, #fbf7ef 0%, #f4eadb 100%);
  font-family: var(--font-sans);
  letter-spacing: -.012em;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
  font-family: var(--font-sans);
}

h1,
h2,
h3,
.hero-panel h1,
.section-title h1,
.section-title h2,
.policy-cta-panel h2,
.preview-lines strong {
  font-family: var(--font-display);
  letter-spacing: -.045em;
  word-break: keep-all;
}

h1, h2, h3,
.hero-panel h1,
.section-title h1,
.section-title h2,
.panel h2,
.panel h3 {
  color: var(--ink);
}

p, li, small, .form-note, .field-help, .meta, .muted {
  line-height: 1.68;
}

::selection {
  color: #120f09;
  background: rgba(243, 214, 141, .72);
}

/* Header */
.site-header,
.app-header {
  color: var(--kts-cream);
  background:
    radial-gradient(circle at 8% 0%, rgba(243, 214, 141, .13), transparent 22rem),
    linear-gradient(180deg, rgba(13, 11, 8, .97), rgba(7, 6, 5, .94));
  border-bottom: 1px solid rgba(191, 143, 60, .26);
  box-shadow: 0 16px 46px rgba(0, 0, 0, .20);
  backdrop-filter: blur(18px) saturate(120%);
}

.site-header {
  height: 76px;
}

.brand {
  gap: 12px;
  min-width: 0;
}

.brand-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(243, 214, 141, .58);
  border-radius: 50%;
  color: var(--kts-gold-2);
  background:
    radial-gradient(circle at 35% 18%, rgba(243, 214, 141, .23), transparent 34%),
    linear-gradient(180deg, #1a140d, #070605);
  box-shadow:
    inset 0 0 0 1px rgba(0, 0, 0, .55),
    0 0 0 4px rgba(191, 143, 60, .07);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}

.brand strong {
  color: #fff8ea;
  letter-spacing: .02em;
}

.brand small,
.brand span {
  color: rgba(255, 248, 234, .68);
}

.site-nav {
  gap: 6px;
}

.site-nav a {
  border: 1px solid transparent;
  border-radius: 999px;
  color: rgba(255, 248, 234, .76);
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}

.site-nav a:hover {
  border-color: rgba(191, 143, 60, .30);
  color: #fff8ea;
  background: rgba(191, 143, 60, .12);
}

/* Buttons */
.btn {
  border-radius: 999px;
  letter-spacing: -.01em;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
}

.btn:hover:not(:disabled):not(.is-disabled) {
  transform: translateY(-1px);
}

.btn.primary {
  border-color: #1a1510;
  color: #fff8ea;
  background:
    linear-gradient(180deg, #211a12, #070605);
  box-shadow: 0 14px 30px rgba(42, 31, 16, .16);
}

.btn.primary:hover {
  border-color: rgba(191, 143, 60, .62);
  background:
    linear-gradient(180deg, #302515, #0a0907);
  box-shadow: 0 18px 38px rgba(42, 31, 16, .22);
}

.btn.secondary,
.btn.light,
.btn.ghost {
  border-color: rgba(45, 35, 19, .16);
  color: #1c160d;
  background: rgba(255, 253, 248, .94);
}

.btn.secondary:hover,
.btn.light:hover,
.btn.ghost:hover {
  border-color: rgba(191, 143, 60, .34);
  background: #fffdfa;
  box-shadow: 0 12px 28px rgba(42, 31, 16, .08);
}

.btn.dark {
  border-color: #1a1510;
  color: #fff8ea;
  background: #0c0b09;
}

.btn.danger {
  border-color: rgba(169, 45, 69, .35);
  color: #fff;
  background: #9f253f;
}

/* Hero: premium black/gold first impression */
.hero.premium-hero,
.hero {
  position: relative;
  min-height: 92vh;
  display: block;
  overflow: hidden;
  color: var(--kts-cream);
  padding: 118px clamp(18px, 6vw, 78px) 88px;
  background:
    radial-gradient(circle at 62% 22%, rgba(243, 214, 141, .17), transparent 19rem),
    radial-gradient(circle at 10% 86%, rgba(191, 143, 60, .11), transparent 26rem),
    linear-gradient(116deg, #070605 0%, #11100d 46%, #21180d 100%) !important;
  isolation: isolate;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 96px clamp(14px, 4vw, 56px) 32px;
  border: 1px solid rgba(191, 143, 60, .24);
  border-radius: 34px;
  box-shadow: inset 0 0 0 1px rgba(243, 214, 141, .04);
  pointer-events: none;
  z-index: -1;
}

.hero::after {
  content: "KTS";
  position: absolute;
  right: clamp(18px, 7vw, 120px);
  bottom: clamp(82px, 12vh, 170px);
  color: rgba(243, 214, 141, .045);
  font-family: var(--font-display);
  font-size: clamp(116px, 18vw, 260px);
  font-weight: 900;
  letter-spacing: -.08em;
  pointer-events: none;
}

.hero-shade {
  display: none;
}

.hero-grid {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  min-height: calc(92vh - 206px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, .76fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}

.hero-content {
  max-width: 760px;
}

.hero-seal {
  display: block;
  width: clamp(104px, 14vw, 150px);
  height: clamp(102px, 13.7vw, 147px);
  object-fit: cover;
  border-radius: 50%;
  margin: 0 0 22px;
  filter: drop-shadow(0 16px 36px rgba(0, 0, 0, .40));
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--kts-gold-3);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hero .eyebrow {
  color: #d9b86e;
}

.eyebrow.dark {
  color: var(--kts-gold-3);
}

.hero-question {
  width: fit-content;
  margin: 0 0 14px;
  border: 1px solid rgba(243, 214, 141, .22);
  border-radius: 999px;
  padding: 8px 12px;
  color: rgba(255, 248, 234, .80);
  background: rgba(255, 255, 255, .055);
  font-size: clamp(13px, 1.5vw, 15px);
  font-weight: 850;
  line-height: 1.45;
}

.hero h1 {
  max-width: 860px;
  margin: 0;
  color: #fff8ea;
  font-size: clamp(38px, 5.8vw, 72px);
  line-height: 1.08;
  font-weight: 900;
  text-shadow: 0 16px 44px rgba(0, 0, 0, .34);
}

.hero-copy {
  max-width: 720px;
  margin: 22px 0 0;
  color: rgba(255, 248, 234, .78);
  font-size: clamp(16px, 1.9vw, 20px);
  line-height: 1.78;
  font-weight: 650;
}

.hero-actions,
.tool-actions,
.actions,
.onboarding-actions,
.header-actions,
.panel-actions,
.toolbar-actions,
.shop-preview-actions,
.support-actions,
.link-actions,
.policy-update-actions {
  gap: 10px;
}

.hero-actions {
  margin-top: 28px;
}

.hero .btn.primary {
  border-color: rgba(243, 214, 141, .58);
  color: #120f09;
  background:
    linear-gradient(180deg, #f7dda0, #bf8f3c);
  box-shadow: 0 16px 36px rgba(191, 143, 60, .25);
}

.hero .btn.primary:hover {
  color: #080706;
  background: linear-gradient(180deg, #ffe8ad, #c79643);
}

.hero .btn.ghost,
.dark-section .btn.ghost,
.policy-cta-panel .btn.ghost {
  border-color: rgba(243, 214, 141, .35);
  color: #fff8ea;
  background: rgba(255, 255, 255, .065);
}

.hero .btn.ghost:hover,
.dark-section .btn.ghost:hover,
.policy-cta-panel .btn.ghost:hover {
  border-color: rgba(243, 214, 141, .58);
  background: rgba(191, 143, 60, .16);
}

.hero-note,
.hero-subnote {
  max-width: 720px;
  margin: 18px 0 0;
  border: 1px solid rgba(243, 214, 141, .18);
  border-left: 4px solid var(--kts-gold);
  border-radius: 18px;
  padding: 12px 14px;
  color: rgba(255, 248, 234, .78);
  background: rgba(255, 255, 255, .060);
  backdrop-filter: blur(12px);
  font-size: 14px;
  font-weight: 760;
}

.hero-product-card {
  position: relative;
  border: 1px solid rgba(243, 214, 141, .26);
  border-radius: 30px;
  padding: clamp(22px, 3vw, 30px);
  color: #fff8ea;
  background:
    linear-gradient(180deg, rgba(255, 248, 234, .10), rgba(255, 248, 234, .055)),
    rgba(9, 8, 6, .60);
  box-shadow:
    0 32px 84px rgba(0, 0, 0, .32),
    inset 0 1px 0 rgba(255, 255, 255, .10);
  backdrop-filter: blur(18px);
}

.hero-product-card::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(243, 214, 141, .13);
  border-radius: 22px;
  pointer-events: none;
}

.preview-topline {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 24px;
  color: rgba(255, 248, 234, .58);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
}

.preview-topline b {
  border-radius: 999px;
  padding: 5px 9px;
  color: #120f09;
  background: linear-gradient(180deg, #f7dda0, #bf8f3c);
  font-size: 11px;
  letter-spacing: .02em;
}

.hero-product-card h2 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #fff8ea;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.12;
}

.hero-product-card p {
  position: relative;
  z-index: 1;
  margin: 12px 0 0;
  color: rgba(255, 248, 234, .70);
  font-weight: 700;
}

.package-list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

.package-list span {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  border: 1px solid rgba(243, 214, 141, .15);
  border-radius: 14px;
  padding: 10px 12px;
  color: rgba(255, 248, 234, .88);
  background: rgba(255, 255, 255, .055);
  font-weight: 850;
}

.package-list span::before {
  content: "✓";
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: #120f09;
  background: var(--kts-gold-2);
  font-size: 13px;
  font-weight: 900;
}

.preview-record {
  position: relative;
  z-index: 1;
  margin-top: 22px;
  border-top: 1px solid rgba(243, 214, 141, .20);
  padding-top: 16px;
}

.preview-record strong,
.preview-record small {
  display: block;
}

.preview-record strong {
  color: #fff8ea;
  font-size: 16px;
}

.preview-record small {
  margin-top: 4px;
  color: rgba(255, 248, 234, .58);
  font-weight: 760;
}

.hero-status {
  position: absolute;
  z-index: 2;
  left: clamp(18px, 6vw, 78px);
  right: clamp(18px, 6vw, 78px);
  bottom: 20px;
  min-height: 54px;
  border-top: 1px solid rgba(243, 214, 141, .25);
  color: rgba(255, 248, 234, .76);
}

.hero-status span {
  color: var(--kts-gold-2);
}

.hero-status strong {
  color: rgba(255, 248, 234, .86);
}

/* Bright premium content sections */
.section {
  position: relative;
}

.section:not(.dark-section) {
  background: linear-gradient(180deg, rgba(255, 253, 248, .76), rgba(247, 242, 233, .86));
}

.intro-band,
.soft-band,
.tinted,
.tool-section,
.plain-page,
.policy-page {
  background:
    radial-gradient(circle at 88% 0%, rgba(191, 143, 60, .095), transparent 24rem),
    linear-gradient(180deg, #fffdf8 0%, #f6efe3 100%) !important;
}

.section-inner,
.plain-main,
.app-shell,
.login-shell {
  animation: none !important;
}

.section-heading {
  max-width: 820px;
}

.section-heading p:not(.eyebrow),
.copy-block > p:not(.eyebrow),
.plain-main p,
.product-card p,
.position-card p,
.policy-status-grid p,
.policy-status-panel p,
.panel p,
.hero-panel p,
.section-title p,
.muted,
.field-help,
.form-note {
  color: var(--soft-ink);
}

.lead-line {
  color: #21180d !important;
}

.panel,
.form-panel,
.product-card,
.flow-step,
.position-card,
.policy-status-panel,
.policy-summary-card,
.policy-update-card,
.policy-followup-grid article,
.score-grid article,
.copy-template,
.tool-preview,
.auth-loading-panel,
.hero-panel,
.workflow-actions-card,
.manual-record-box,
.test-flow-card,
.detail-section,
.workflow-checklist-section,
.link-box,
.empty-state,
.consent-group,
.shop-meta-box,
.record-action-notice,
.summary-card,
.metric,
.history-summary span {
  border: 1px solid var(--line);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 251, 243, .94));
  box-shadow: 0 18px 54px rgba(42, 31, 16, .08);
}

.form-panel,
.panel,
.product-card,
.flow-step,
.position-card {
  overflow: hidden;
}

.product-card,
.flow-step,
.position-card,
.record-item,
.workflow-record-card {
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.product-card:hover,
.flow-step:hover,
.position-card:hover,
.record-item:hover,
.workflow-record-card:hover {
  transform: translateY(-2px);
  border-color: rgba(191, 143, 60, .30);
  box-shadow: 0 24px 70px rgba(42, 31, 16, .12);
}

.product-card h3,
.flow-step h3,
.position-card h3 {
  color: #1c160d;
}

.product-card.compact h3 {
  font-size: clamp(18px, 1.8vw, 20px);
}

.plain-list li,
.mini-list li,
.resource-list {
  color: #382f22;
}

.plain-list li::before,
.mini-list li::before,
.flow-step strong,
.step-list li::before,
.workflow-checklist li.done::before {
  background: linear-gradient(180deg, var(--kts-gold-2), var(--kts-gold));
}

.badge,
.chip,
.position-card span,
.consent-label,
.status-pill,
.task-chip,
.policy-badge {
  border: 1px solid rgba(191, 143, 60, .18);
  color: #6d4b17;
  background: #f5e9cf;
}

.badge.warm,
.chip.warn,
.status-pill.warn,
.task-chip.warn {
  color: #7a4a06;
  background: #fff0d2;
}

.badge.coral,
.chip.danger,
.status-pill.danger,
.task-chip.danger {
  color: #9f1239;
  background: #ffe4ea;
}

.metric strong,
.summary-card strong,
.score-grid strong,
.code-card,
.back-link,
.inline-link,
.detail-row b,
.history-summary b,
.history-item b,
.policy-source-list a,
.policy-source-list.source-cards strong {
  color: var(--kts-gold-3);
}

.browser-bar {
  border-bottom-color: rgba(45, 35, 19, .10);
  background: #efe4d1;
}

.preview-lines span,
.preview-checks i,
.signature-line,
.record-table-preview i,
.record-stat-row b {
  border-color: rgba(45, 35, 19, .10);
  background: rgba(255, 253, 248, .95);
}

/* Dark CTA sections: make every text legible */
.dark-section,
.policy-bottom-cta {
  color: #fff8ea;
  background:
    radial-gradient(circle at 12% 0%, rgba(243, 214, 141, .16), transparent 24rem),
    linear-gradient(135deg, #080706 0%, #15110b 58%, #241a0e 100%) !important;
}

.dark-section h2,
.dark-section h3,
.dark-section .copy-block p,
.dark-section p,
.dark-section li,
.dark-section .eyebrow {
  color: #fff8ea;
}

.dark-section .eyebrow {
  color: var(--kts-gold-2);
}

.dark-section .panel,
.dark-section .form-panel,
.dark-section .product-card,
.dark-section .position-card,
.policy-cta-panel {
  border-color: rgba(243, 214, 141, .20);
  color: #fff8ea;
  background:
    linear-gradient(180deg, rgba(255, 248, 234, .10), rgba(255, 248, 234, .055)),
    rgba(9, 8, 6, .64);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .24);
}

.dark-section .panel h2,
.dark-section .panel h3,
.dark-section .form-panel h3,
.dark-section .product-card h3,
.policy-cta-panel h2 {
  color: #fff8ea;
}

.dark-section .panel p,
.dark-section .form-panel p,
.dark-section .product-card p,
.policy-cta-panel p {
  color: rgba(255, 248, 234, .74);
}

.dark-section input,
.dark-section select,
.dark-section textarea,
.policy-cta-panel input,
.policy-cta-panel select,
.policy-cta-panel textarea {
  color: #17130d;
  background: #fffdf8;
}

/* Forms and checkbox alignment */
input,
select,
textarea {
  border-color: rgba(45, 35, 19, .18);
  border-radius: 14px;
  color: #17130d;
  background: rgba(255, 253, 248, .96);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

input:hover,
select:hover,
textarea:hover {
  border-color: rgba(191, 143, 60, .34);
}

input:focus,
select:focus,
textarea:focus,
button:focus,
a:focus {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

label {
  color: #2a2116;
}

.check,
.core-check,
.question-item,
.consent-line,
.checkline,
.checkbox-fieldset label,
.setup-list label,
.workflow-checklist li {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.55;
}

.check,
.core-check,
.question-item,
.consent-line,
.checkbox-fieldset,
.setup-list label {
  border-color: rgba(45, 35, 19, .12);
  border-radius: 16px;
  background: rgba(255, 253, 248, .92);
}

.check,
.core-check,
.question-item,
.consent-line,
.setup-list label {
  padding: 11px 12px;
}

.check input[type="checkbox"],
.core-check input[type="checkbox"],
.question-item input[type="checkbox"],
.consent-line input[type="checkbox"],
.checkline input[type="checkbox"],
.checkbox-fieldset input[type="checkbox"],
.setup-list input[type="checkbox"],
.workflow-checklist input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: .18em 0 0 !important;
  flex: 0 0 18px;
  accent-color: var(--kts-gold-3);
}

.check span,
.core-check span,
.question-item span,
.consent-line span,
.checkbox-fieldset label,
.setup-list label span {
  min-width: 0;
}

.checkbox-fieldset {
  display: grid;
  gap: 10px;
  padding: 16px;
  background: rgba(255, 253, 248, .68);
}

.checkbox-fieldset legend {
  color: var(--kts-gold-3);
}

.compact-checks {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* App / dashboard surfaces */
.app-page,
.plain-page {
  background:
    radial-gradient(circle at 12% -10%, rgba(191, 143, 60, .11), transparent 26rem),
    linear-gradient(180deg, #fbf7ef 0%, #f3eadc 100%);
}

.app-shell,
.login-shell {
  margin-top: 30px;
}

.hero-panel,
.section-title {
  position: relative;
}

.hero-panel h1,
.section-title h1,
.section-title h2,
.workflow-hero h1 {
  color: #17130d;
}

.workflow-dashboard .workflow-layout {
  gap: 22px;
}

.record-item,
.workflow-record-card {
  border: 1px solid rgba(45, 35, 19, .12);
  border-radius: 18px;
  background: rgba(255, 253, 248, .94);
  box-shadow: 0 12px 30px rgba(42, 31, 16, .055);
}

.record-item:hover,
.record-item.active,
.workflow-dashboard .workflow-record-card.active,
.workflow-tab:hover,
.workflow-tab.active {
  border-color: rgba(191, 143, 60, .46);
  color: #503812;
  background: #fff7e6;
}

.workflow-dashboard .workflow-record-card.active::after {
  color: #4b3511;
  background: rgba(243, 214, 141, .60);
}

.record-flags span {
  color: #5e5548;
  background: #f0e5d3;
}

.workflow-tab {
  border-color: rgba(45, 35, 19, .12);
  color: #635647;
  background: rgba(255, 253, 248, .94);
}

.selected-record-hero {
  border-color: rgba(191, 143, 60, .28);
  border-radius: 20px;
  background:
    radial-gradient(circle at top right, rgba(243, 214, 141, .22), transparent 12rem),
    #fff7e6;
}

.workflow-dashboard .workflow-detail-panel {
  border-color: rgba(191, 143, 60, .22);
  background: rgba(255, 253, 248, .98);
}

.workflow-dashboard .workflow-detail-toolbar {
  border-bottom-color: rgba(45, 35, 19, .10);
  background: transparent;
}

.link-box code {
  color: #5a3e12;
}

.signature-box,
canvas {
  border-color: rgba(45, 35, 19, .16);
  background: #fffdf8;
}

.required {
  color: #a92d45;
}

/* Notices */
.notice-box,
.app-message.warn,
.record-action-notice.warn {
  border-color: rgba(168, 107, 22, .28);
  border-left-color: var(--amber);
  color: #684005;
  background: #fff3d8;
}

.simple-notice,
.app-message.info,
.app-message.success,
.record-action-notice.info,
.record-action-notice.success,
.public-done {
  border-color: rgba(191, 143, 60, .26);
  border-left-color: var(--kts-gold);
  color: #5e4215;
  background: #fff6df;
}

.app-message.error,
.record-action-notice.error {
  color: #8f1d34;
  background: #ffecef;
}

.public-done h2 {
  color: #4d3713;
}

/* Policy */
.policy-hero {
  background:
    radial-gradient(circle at 14% 0%, rgba(191, 143, 60, .12), transparent 24rem),
    linear-gradient(180deg, #fffdf8, #f5ecdd) !important;
}

.policy-hero h1 {
  color: #17130d;
}

.policy-lead {
  color: #463c2f;
}

.policy-record-check {
  border-color: rgba(243, 214, 141, .30);
  color: #fff8ea;
  background:
    radial-gradient(circle at top right, rgba(243, 214, 141, .15), transparent 14rem),
    linear-gradient(160deg, #100d09, #241a0d);
}

.policy-record-check p {
  color: rgba(255, 248, 234, .68);
}

.policy-followup-grid article p,
.policy-keywords,
.code-card {
  background: #fff7e6;
}

/* Footer */
.site-footer {
  color: rgba(255, 248, 234, .75);
  background: #080706;
  border-top: 1px solid rgba(191, 143, 60, .22);
}

.site-footer strong {
  color: #fff8ea;
}

.site-footer a {
  color: var(--kts-gold-2);
}

/* Mobile polish */
@media (max-width: 980px) {
  .site-header {
    position: sticky;
    height: auto;
    min-height: 72px;
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .site-nav {
    width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .site-nav::-webkit-scrollbar {
    display: none;
  }

  .site-nav a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .hero {
    min-height: auto;
    padding-top: 96px;
    padding-bottom: 108px;
  }

  .hero::before {
    inset: 82px 14px 24px;
    border-radius: 24px;
  }

  .hero-grid {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .hero-product-card {
    max-width: 560px;
  }

  .hero-status {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
    bottom: 16px;
  }

  .product-grid,
  .flow-grid,
  .metric-row,
  .mini-grid,
  .position-matrix,
  .policy-status-grid {
    grid-template-columns: 1fr 1fr;
  }

  .compact-checks {
    grid-template-columns: 1fr;
  }

  .workflow-dashboard .workflow-detail-panel {
    position: static;
    max-height: none;
    overflow: visible;
  }
}

@media (max-width: 640px) {
  body {
    font-size: 14px;
  }

  .site-header,
  .app-header {
    padding-left: 14px;
    padding-right: 14px;
  }

  .brand-mark {
    width: 38px;
    height: 38px;
    font-size: 9px;
  }

  .brand strong {
    font-size: 13px;
  }

  .brand small,
  .brand span {
    font-size: 11px;
  }

  .hero {
    padding: 86px 18px 118px;
  }

  .hero h1 {
    font-size: clamp(34px, 10.4vw, 48px);
    line-height: 1.14;
  }

  .hero-copy {
    font-size: 15px;
  }

  .hero-question {
    border-radius: 16px;
    padding: 8px 10px;
  }

  .hero-actions,
  .tool-actions,
  .header-actions,
  .actions,
  .onboarding-actions,
  .panel-actions,
  .toolbar-actions,
  .shop-preview-actions,
  .support-actions,
  .link-actions,
  .policy-update-actions {
    width: 100%;
  }

  .hero-actions .btn,
  .tool-actions .btn,
  .header-actions .btn,
  .actions .btn,
  .onboarding-actions .btn,
  .panel-actions .btn,
  .toolbar-actions .btn,
  .shop-preview-actions .btn,
  .support-actions .btn,
  .link-actions .btn {
    width: 100%;
  }

  .section {
    padding-top: 54px;
    padding-bottom: 54px;
  }

  .product-grid,
  .flow-grid,
  .metric-row,
  .mini-grid,
  .position-matrix,
  .policy-status-grid,
  .policy-summary-grid,
  .policy-card-grid,
  .policy-followup-grid,
  .policy-source-list.source-cards {
    grid-template-columns: 1fr !important;
  }

  .panel,
  .form-panel,
  .product-card,
  .flow-step,
  .position-card,
  .workflow-actions-card,
  .manual-record-box,
  .detail-section,
  .workflow-checklist-section,
  .hero-product-card {
    border-radius: 18px;
  }

  .app-shell,
  .login-shell {
    width: min(100% - 24px, 1180px);
  }

  .checkbox-fieldset label,
  .consent-line,
  .check,
  .core-check,
  .question-item {
    font-size: 13px;
  }
}

@media print {
  body,
  .app-page {
    background: #fff !important;
  }

  .panel,
  .detail-section,
  .workflow-checklist-section {
    box-shadow: none !important;
    background: #fff !important;
  }
}
