/* Café Imperial — palette and type approved for the public site and triage. */
body.cafe-imperial,
body.cafe-imperial #canva-entrance,
body.cafe-imperial #inicio {
  color-scheme: dark;
  --cafe-ebony: #070605;
  --cafe-coffee: #1B1512;
  --cafe-umber: #30231C;
  --cafe-bronze: #AD8660;
  --cafe-ivory: #E7DDCE;
  --cafe-muted: #C1B3A3;
  --cafe-line: #70553F;
  --cafe-soft-line: #3D2E23;
  --cafe-error: #E8AC97;
  --black: var(--cafe-ebony);
  --ink: var(--cafe-ebony);
  --panel: var(--cafe-coffee);
  --cream: var(--cafe-ivory);
  --ivory: var(--cafe-ivory);
  --muted: var(--cafe-muted);
  --gold: var(--cafe-bronze);
  --gold2: var(--cafe-bronze);
  --gold-light: var(--cafe-bronze);
  --line: var(--cafe-line);
  --soft-line: var(--cafe-soft-line);
  --serif: 'Bodoni Moda', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
  --final-black: var(--cafe-ebony);
  --final-graphite: var(--cafe-coffee);
  --final-gold: var(--cafe-bronze);
  --final-gold-light: var(--cafe-bronze);
  --final-ivory: var(--cafe-ivory);
  --editorial-ink: var(--cafe-ebony);
  --editorial-gold: var(--cafe-bronze);
  --editorial-ivory: var(--cafe-ivory);
  --editorial-line: var(--cafe-line);
  --db-color-bg: var(--cafe-ebony);
  --db-color-bg-deep: var(--cafe-ebony);
  --db-color-surface: var(--cafe-coffee);
  --db-color-surface-raised: var(--cafe-umber);
  --db-color-text: var(--cafe-ivory);
  --db-color-text-muted: var(--cafe-muted);
  --db-color-muted: var(--cafe-muted);
  --db-color-gold: var(--cafe-bronze);
  --db-color-gold-light: var(--cafe-bronze);
  --db-color-line: var(--cafe-line);
  --db-color-line-soft: var(--cafe-soft-line);
  --db-font-display: var(--serif);
  --db-font-body: var(--sans);
  --db-type-body: 1.0625rem;
  --db-type-h2: clamp(34px, 4.5vw, 54px);
  --db-type-h3: clamp(24px, 2.5vw, 32px);
  --db-type-h4: clamp(21px, 2vw, 26px);
  --db-type-small: .9375rem;
  --db-type-caption: .8125rem;
  --db-line-body: 1.6;
  --db-line-heading: 1.14;
  --db-radius-panel: 4px;
  --db-radius-control: 4px;
  --db-radius-pill: 4px;
}

body.cafe-imperial {
  background: var(--cafe-ebony) !important;
  color: var(--cafe-ivory);
  font: 400 17px/1.6 var(--sans) !important;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
}
/* Interface and prose retain a readable sans-serif, including nested labels. */
body.cafe-imperial :where(p, a, button, input, textarea, select, label, legend, small, span, li, dt, dd, summary, figcaption):not(:where(svg, svg *, .watermarks, .watermarks *, .monogram, .monogram *)) {
  font-family: var(--sans) !important;
  font-synthesis: none;
}
body.cafe-imperial :is(h1, h2, h3, h4, h5, h6),
body.cafe-imperial :is(h1, h2, h3, h4, h5, h6) :is(span, em, strong, b, a, button),
body.cafe-imperial :is(.brand b, .brand > span > strong, .gate-brand, .gate-name-word, .db-brand, .db-headline, .age-gate__brand),
body.cafe-imperial .site-closing > strong,
body.cafe-imperial .prices strong,
body.cafe-imperial .metric > strong {
  font-family: var(--serif) !important;
  font-synthesis: none;
  font-optical-sizing: auto;
}
body.cafe-imperial :is(h1, h2, h3, h4, h5, h6) {
  color: var(--cafe-ivory);
  font-style: normal;
  font-weight: 500;
  line-height: 1.14;
  text-wrap: balance;
}
body.cafe-imperial :is(h1, h2, h3, h4, h5, h6) em {
  color: inherit;
  font-style: normal;
  font-weight: inherit;
}
body.cafe-imperial :is(p, li, dd, blockquote) { line-height: 1.6 !important; }
body.cafe-imperial :is(button, input, textarea, select) { font-size: 16px !important; }
body.cafe-imperial :is(h1, h2, h3, h4, h5, h6) > .section-toggle { font-family: var(--serif) !important; font-size: inherit !important; font-weight: inherit; line-height: inherit; }
body.cafe-imperial :is(button, .button, .action, .view, .panel-action) { min-height: 44px; }
body.cafe-imperial :is(a, button, input, textarea, select, summary):focus-visible {
  outline: 2px solid var(--cafe-bronze) !important;
  outline-offset: 4px;
}
body.cafe-imperial ::selection { background: var(--cafe-bronze); color: var(--cafe-ebony); }
body.cafe-imperial :is(.eyebrow, .format-kicker, .signature-nav-eyebrow, .tag) {
  color: var(--cafe-bronze);
  font-family: var(--sans) !important;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .13em !important;
}
body.cafe-imperial :is(.muted, .note, .section-summary, .storage-note, .progress-label, .matrix-status) { color: var(--cafe-muted); }

/* Public sections use a consistent scale; the approved two-column cover is separate. */
body.cafe-imperial#topo main :is(.section-head, .chapter-title) h2,
body.cafe-imperial .workspace > .section-head h2,
body.cafe-imperial .form-heading h2 {
  margin-block: 16px 24px !important;
  font-size: clamp(34px, 4.5vw, 54px) !important;
  font-weight: 500 !important;
  line-height: 1.14 !important;
  text-transform: none;
}
body.cafe-imperial#topo main h3,
body.cafe-imperial#topo #preparacao .triage-steps h3 {
  font-size: clamp(24px, 2.5vw, 32px) !important;
  font-weight: 500 !important;
  line-height: 1.23 !important;
}
body.cafe-imperial#topo main > .chapter,
body.cafe-imperial#topo .contact { background: var(--cafe-ebony); }
body.cafe-imperial#topo :is(.chapter, .contact) .section-head > p:not(.eyebrow),
body.cafe-imperial#topo :is(.copy, .reading-block, .act-reading, .accordions, .practice-item, .principles) p,
body.cafe-imperial#topo .bdsm-primer__grid article > p {
  color: var(--cafe-ivory);
  font-size: 17px !important;
  font-weight: 400;
  line-height: 1.6 !important;
  text-align: left !important;
}
body.cafe-imperial#topo #donnato .copy > .impact-authority {
  color: var(--cafe-ivory) !important;
  font: 400 19px/1.55 var(--sans) !important;
  padding-left: 16px;
  border-left: 1px solid var(--cafe-bronze);
}
body.cafe-imperial#topo #donnato::before { background: var(--cafe-bronze); }
body.cafe-imperial :is(.article-heading > b, .article-heading > i, .roman-index) {
  color: var(--cafe-bronze);
  font-size: 14px !important;
  line-height: 1.3 !important;
}
body.cafe-imperial :is(.rule, .boundary, .equipment-rule, .matrix-note, .triage-rule, .reservation-title) {
  background: var(--cafe-coffee);
  border-color: var(--cafe-line);
  border-left-color: var(--cafe-bronze);
  border-radius: 4px;
}
body.cafe-imperial :is(.rule, .boundary, .equipment-rule, .matrix-note, .triage-rule, .reservation-title) p { color: var(--cafe-muted); }
body.cafe-imperial .prices { border-color: var(--cafe-line); background: var(--cafe-coffee); }
body.cafe-imperial .prices > div { border-color: var(--cafe-line); }
body.cafe-imperial .prices strong { color: var(--cafe-ivory); font-weight: 500; }
body.cafe-imperial .prices span { color: var(--cafe-bronze); font-size: 12px; }
body.cafe-imperial .experience-proof { border-color: var(--cafe-soft-line); }
body.cafe-imperial .experience-proof blockquote { border-color: var(--cafe-bronze); }
body.cafe-imperial .experience-proof footer,
body.cafe-imperial .experience-proof footer :is(span, a) { color: var(--cafe-muted); font-family: var(--sans) !important; }
body.cafe-imperial#topo #relatos .testimonial-grid blockquote { background: var(--cafe-coffee); border-color: var(--cafe-line); border-radius: 4px; }
body.cafe-imperial#topo #relatos .testimonial-grid blockquote p { font-family: var(--serif) !important; font-size: clamp(24px, 4.7vw, 34px) !important; line-height: 1.4 !important; }
body.cafe-imperial :is(.text-link, .source-link, .experience-shortcuts a, .testimonial-read, .block-more) { color: var(--cafe-bronze); }
body.cafe-imperial :is(.global-reading-control, .read-toggle, .question-more, .global-topic-more) {
  color: var(--cafe-bronze) !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  min-height: 44px;
}

/* Buttons, fields and states share one finish throughout the public journey. */
body.cafe-imperial :is(.button, .view, .panel-action) {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-color: var(--cafe-bronze) !important;
  border-radius: 4px !important;
  line-height: 1.4 !important;
}
body.cafe-imperial :is(.button.gold, .panel-action, .access-premium a.primary),
body.cafe-imperial#topo .matrix-filters button[aria-pressed=true] {
  background: var(--cafe-bronze) !important;
  color: var(--cafe-ebony) !important;
  border-color: var(--cafe-bronze) !important;
}
body.cafe-imperial :is(.button.ghost, .view, .matrix-more) {
  background: transparent;
  color: var(--cafe-bronze);
}
body.cafe-imperial :is(input:not([type=checkbox]):not([type=radio]), textarea, select) {
  min-width: 0;
  min-height: 48px;
  color: var(--cafe-ivory);
  background: var(--cafe-coffee);
  border-color: var(--cafe-line);
  border-radius: 4px !important;
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.5;
}
body.cafe-imperial :is(input, textarea)::placeholder { color: var(--cafe-muted); opacity: 1; }
body.cafe-imperial :is(input[type=checkbox], input[type=radio]) { accent-color: var(--cafe-bronze); }
body.cafe-imperial :is(.field-error, .status-error, .question .field-error) { color: var(--cafe-error) !important; }
body.cafe-imperial .form-shell .question :is(input, textarea)[aria-invalid=true] {
  border-color: var(--cafe-error);
  outline-color: var(--cafe-error);
}
body.cafe-imperial .skip-link { background: var(--cafe-bronze); color: var(--cafe-ebony); }

/* The cover keeps its portrait and composition; only ink and letterforms change. */
body.cafe-imperial#topo #inicio,
body.cafe-imperial#topo #inicio .presentation,
body.cafe-imperial#topo #canva-entrance :is(#gate, #brand-intro, .denied, .curtain-half) { background: var(--cafe-ebony); }
body.cafe-imperial#topo #inicio .identity .db-brand {
  color: var(--cafe-ivory) !important;
  font-family: var(--serif) !important;
  font-size: clamp(24px, 4vw, 48px);
  font-weight: 500;
  line-height: 1.12;
}
body.cafe-imperial#topo #inicio .identity .db-subtitle,
body.cafe-imperial#topo #inicio .db-signature {
  color: var(--cafe-bronze);
  font-family: var(--sans) !important;
  font-weight: 500;
  letter-spacing: .13em !important;
}
body.cafe-imperial#topo #inicio .headline .db-headline {
  color: var(--cafe-ivory);
  font-family: var(--serif) !important;
  font-size: clamp(28px, 3.7vw, 48px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.02em !important;
}
body.cafe-imperial#topo #inicio :is(.lower-phrase, .db-lower, .db-lower span) {
  color: var(--cafe-ivory);
  font-family: var(--sans) !important;
  font-size: 17px;
  line-height: 1.5;
}
body.cafe-imperial#topo #inicio :is(.short-rule, .top-line) { background: var(--cafe-bronze); }
body.cafe-imperial#topo #inicio .corner { border-color: var(--cafe-bronze); }
body.cafe-imperial#topo #inicio .actions .action.action-primary {
  color: var(--cafe-ebony) !important;
  border-color: var(--cafe-bronze) !important;
  background: var(--cafe-bronze) !important;
  font-family: var(--sans) !important;
  font-size: 15px;
  font-weight: 600;
  border-radius: 4px;
}
body.cafe-imperial#topo #inicio .actions .action:not(.action-primary) {
  color: var(--cafe-ivory) !important;
  border-color: var(--cafe-bronze) !important;
  background: transparent !important;
  font-family: var(--sans) !important;
  font-size: 15px;
  border-radius: 4px;
}
body.cafe-imperial#topo #inicio .menu-trigger,
body.cafe-imperial#topo .signature-shell .menu {
  min-height: 44px;
  color: var(--cafe-ivory);
  background: transparent;
  border-color: var(--cafe-bronze);
  font-family: var(--sans) !important;
  font-size: 12px !important;
}
body.cafe-imperial#topo #inicio .menu-trigger span { color: var(--cafe-ivory) !important; }
body.cafe-imperial#topo #inicio .menu-trigger span:first-child { color: var(--cafe-bronze) !important; }
body.cafe-imperial#topo .nav-shell.signature-shell,
body.cafe-imperial .nav-shell { background: var(--cafe-ebony); border-color: var(--cafe-soft-line); }
body.cafe-imperial .brand :is(b, strong) { color: var(--cafe-ivory); font-family: var(--serif) !important; font-weight: 500; }
body.cafe-imperial .brand small { color: var(--cafe-bronze); font-family: var(--sans) !important; font-size: 10px; letter-spacing: .12em !important; }
body.cafe-imperial .agebar { color: var(--cafe-muted); background: var(--cafe-ebony); border-color: var(--cafe-soft-line); }
body.cafe-imperial#topo .signature-brand b { font-size: clamp(23px, 4.2vw, 42px); }

/* Adult confirmation: preserve the circuit animation, replace its pigments. */
body.cafe-imperial#topo #canva-entrance #gate .gate-brand {
  color: var(--cafe-ivory);
  font-family: var(--serif) !important;
  font-size: clamp(20px, 7cqw, 24px);
  font-weight: 500;
  line-height: 1.2;
}
body.cafe-imperial#topo #canva-entrance #gate .gate-name-word { font-family: var(--serif) !important; }
body.cafe-imperial#topo #canva-entrance #gate .gate-instruction {
  color: var(--cafe-ivory);
  font-family: var(--sans) !important;
  font-size: 15px;
  line-height: 1.55 !important;
}
body.cafe-imperial#topo #canva-entrance #gate .watermarks { background: var(--cafe-bronze); }
body.cafe-imperial#topo #canva-entrance #gate .db-gate-contour path,
body.cafe-imperial#topo .db-menu-frame path { stroke: var(--cafe-bronze); }
body.cafe-imperial#topo #canva-entrance #gate .gate-action-wrap::before,
body.cafe-imperial#topo #canva-entrance #gate .gate-name-word::after { background: var(--cafe-bronze); }
body.cafe-imperial#topo #canva-entrance #gate .enter {
  color: var(--cafe-ivory);
  background: var(--cafe-coffee);
  border-color: var(--cafe-bronze);
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.4;
}
body.cafe-imperial#topo #canva-entrance #gate .enter::before { background: var(--cafe-bronze); }
body.cafe-imperial#topo #canva-entrance #gate .enter > span { white-space: normal !important; overflow-wrap: normal; }
@keyframes db-entry-ink { to { color: var(--cafe-ebony); } }
@keyframes db-entry-illuminate { to { box-shadow: 0 0 18px #AD866038; } }
body.cafe-imperial#topo #canva-entrance #gate .exit {
  color: var(--cafe-bronze);
  font-family: var(--sans) !important;
  font-size: 15px;
  min-height: 44px;
}
body.cafe-imperial#topo #canva-entrance #brand-intro { color: var(--cafe-ivory); }
body.cafe-imperial#topo #canva-entrance #brand-intro .brand-intro-inner { border-color: var(--cafe-soft-line); }
body.cafe-imperial#topo #canva-entrance #brand-intro .brand-intro-line,
body.cafe-imperial#topo #canva-entrance #brand-intro .brand-intro-name > span::after,
body.cafe-imperial#topo #canva-entrance #brand-intro .brand-intro-motto::after { background: var(--cafe-bronze); }
body.cafe-imperial#topo #canva-entrance #brand-intro .brand-intro-name > span {
  color: var(--cafe-ivory) !important;
  font-family: var(--serif) !important;
  font-weight: 500;
}
body.cafe-imperial#topo #canva-entrance #brand-intro .brand-intro-first { color: var(--cafe-bronze) !important; }
body.cafe-imperial#topo #canva-entrance #brand-intro :is(.brand-intro-motto, .brand-intro-motto > span) {
  color: var(--cafe-muted) !important;
  font-family: var(--sans) !important;
}
body.cafe-imperial#topo #canva-entrance #brand-intro #intro-skip-button,
body.cafe-imperial#topo #inicio #skip-button {
  color: var(--cafe-muted);
  background: var(--cafe-ebony);
  font-family: var(--sans) !important;
  font-size: 13px !important;
}
body.cafe-imperial#topo #canva-entrance .denied :is(h2, p, button) { color: var(--cafe-ivory) !important; }

/* Shared fullscreen menu; only Before starting expands. */
body.cafe-imperial#topo #menu-overlay,
body.cafe-imperial#topo .signature-shell #nav { background: #070605F7; }
body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel {
  color: var(--cafe-ivory);
  background: var(--cafe-coffee);
  font-family: var(--sans) !important;
}
body.cafe-imperial#topo .db-menu-heading h2 { color: var(--cafe-ivory); font-family: var(--serif) !important; font-size: 26px; font-weight: 500; }
body.cafe-imperial#topo .db-menu-close { color: var(--cafe-bronze); font-family: var(--sans) !important; font-size: 28px !important; }
body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel :is(.signature-nav-direct, .signature-nav-group > summary) {
  color: var(--cafe-ivory);
  font-family: var(--sans) !important;
  font-size: clamp(21px, 5.6vw, 24px);
  font-weight: 400;
  min-height: 52px;
  line-height: 1.35;
}
body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel :is(.signature-nav-direct, .signature-nav-group > summary, .signature-nav-children > a)::before { background: var(--cafe-line); }
body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel :is(.signature-nav-direct, .signature-nav-children > a)::after { color: var(--cafe-bronze); border-color: var(--cafe-bronze); }
body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel .signature-nav-symbol { border-color: var(--cafe-bronze); }
body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel .signature-nav-children { background: var(--cafe-umber); }
body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel .signature-nav-children > a {
  color: var(--cafe-muted);
  font-family: var(--sans) !important;
  font-size: 17px;
  min-height: 44px;
  line-height: 1.45;
}
body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel :is(a, summary):hover { background-color: var(--cafe-umber); }
body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel .signature-nav-cta {
  color: var(--cafe-ebony) !important;
  background: var(--cafe-bronze) !important;
  border-color: var(--cafe-bronze);
  border-radius: 4px;
  font-family: var(--sans) !important;
  font-size: 18px;
  font-weight: 600;
  min-height: 52px;
}
body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel :is(.signature-nav-resume, .signature-nav-replay, .panel-replay) {
  color: var(--cafe-bronze);
  font-family: var(--sans) !important;
  font-size: 13px;
  min-height: 44px;
}
body.cafe-imperial#topo .db-menu-panel[data-menu-phase=choosing] .is-selected {
  background: var(--cafe-bronze);
  color: var(--cafe-ebony);
  border-color: var(--cafe-bronze);
}

/* Matriz controls and neutral supporting panels. */
body.cafe-imperial :is(.matrix-tools, .matrix-data-control, .matrix-privacy, .matrix-attachment, .practice-item, .deep-reading) {
  background: var(--cafe-coffee) !important;
  color: var(--cafe-ivory);
  border-color: var(--cafe-line) !important;
  border-radius: 4px;
}
body.cafe-imperial :is(.matrix-search input, .matrix-category, .matrix-review textarea, .matrix-dimensions select) {
  color: var(--cafe-ivory);
  background: var(--cafe-ebony);
  border-color: var(--cafe-line);
}
body.cafe-imperial :is(.matrix-filters button, .matrix-more, .matrix-data-actions button) {
  color: var(--cafe-ivory);
  border-color: var(--cafe-line);
  font-family: var(--sans) !important;
  min-height: 44px;
}
body.cafe-imperial .matrix-status,
body.cafe-imperial .matrix-data-status,
body.cafe-imperial .matrix-copy-status { color: var(--cafe-muted); }
body.cafe-imperial .practice-caution { background: var(--cafe-umber); color: var(--cafe-ivory); border-color: var(--cafe-bronze); }
body.cafe-imperial .testimonial-carousel-controls button { color: var(--cafe-bronze); border-color: var(--cafe-line); }
body.cafe-imperial .testimonial-dots button::before { border-color: var(--cafe-line); }
body.cafe-imperial .testimonial-dots button[aria-pressed=true]::before { border-color: var(--cafe-bronze); background: var(--cafe-bronze); }

/* Candidate journey and access: labels stay sans-serif, headings remain editorial. */
body.cafe-imperial .intro { background: var(--cafe-ebony); }
body.cafe-imperial .intro h1 { font-size: clamp(38px, 5.5vw, 70px); font-weight: 500; line-height: 1.12; text-transform: none; }
body.cafe-imperial :is(.intro-copy, .triage-start > p, .form-heading > p, .result > p, .access-card > p) {
  color: var(--cafe-ivory);
  font-family: var(--sans) !important;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.6 !important;
}
body.cafe-imperial :is(.triage-privacy, .resume-panel, .result, .form-shell) {
  background: var(--cafe-coffee);
  color: var(--cafe-ivory);
  border-color: var(--cafe-line);
  border-radius: 4px;
}
body.cafe-imperial .triage-privacy h2 { font-family: var(--serif) !important; font-size: 26px; font-weight: 500; }
body.cafe-imperial .triage-privacy p { font-size: 15px; }
body.cafe-imperial :is(.triage-privacy a, .triage-privacy summary, .triage-recovery-link, .draft-status) { color: var(--cafe-bronze); }
body.cafe-imperial .question :is(label, legend) {
  color: var(--cafe-ivory);
  font-family: var(--sans) !important;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
}
body.cafe-imperial .question .choice {
  color: var(--cafe-ivory);
  background: var(--cafe-ebony);
  border-color: var(--cafe-line);
  border-radius: 4px !important;
  font: 400 16px/1.5 var(--sans) !important;
}
body.cafe-imperial .question .choice:has(input:checked) { border-color: var(--cafe-bronze); background: var(--cafe-umber); }
body.cafe-imperial :is(.format-tabs, .phase-nav) { border-color: var(--cafe-line); border-radius: 4px; }
body.cafe-imperial :is(.format-tabs, .phase-nav) button { color: var(--cafe-muted); background: var(--cafe-ebony); }
body.cafe-imperial :is(.format-tabs strong, .phase-nav strong) { color: var(--cafe-ivory); font: 500 21px/1.3 var(--sans) !important; }
body.cafe-imperial :is(.format-tabs, .phase-nav) button[aria-pressed=true] { color: var(--cafe-ivory); background: var(--cafe-umber); box-shadow: inset 0 -1px var(--cafe-bronze); }
body.cafe-imperial :is(.format-tabs small, .progress-label, .storage-note, .question small, .remember) { color: var(--cafe-muted); font-size: 14px; line-height: 1.5; }
body.cafe-imperial #resume-form h3 { color: var(--cafe-ivory); font-size: 28px; font-family: var(--serif) !important; }
body.cafe-imperial #resume-form label { color: var(--cafe-muted); font-size: 14px; line-height: 1.4; }
body.cafe-imperial #resume-form > summary,
body.cafe-imperial #show-all-questions { color: var(--cafe-bronze); font-size: 15px; }
body.cafe-imperial .progress,
body.cafe-imperial .progress-track { background: var(--cafe-soft-line); }
body.cafe-imperial .progress > span,
body.cafe-imperial .progress-track > i { background: var(--cafe-bronze); }

/* Administrative surfaces inherit the same restrained identity when linked. */
body.cafe-imperial.panel-premium :is(.metric, .card, .filters, .profile-strip, .profile-item, .detail, dialog, .candidate-summary),
body.cafe-imperial.access-premium .box { background: var(--cafe-coffee); color: var(--cafe-ivory); border-color: var(--cafe-line); }
body.cafe-imperial.panel-premium :is(.workspace-head h2, .dialog-head h2) { color: var(--cafe-ivory); }
body.cafe-imperial.panel-premium .brand strong { font-family: var(--serif) !important; color: var(--cafe-ivory); }
body.cafe-imperial.panel-premium :is(.person b, .answer b, .tag, .secure, .status, .progress-copy) { font-family: var(--sans) !important; }
body.cafe-imperial.panel-premium :is(.muted, .updated, .progress-copy, .result-count) { color: var(--cafe-muted); }
body.cafe-imperial.panel-premium .tag { color: var(--cafe-bronze); border-color: var(--cafe-line); background: var(--cafe-ebony); }
body.cafe-imperial.access-premium h1 { font-size: clamp(34px, 5vw, 54px); line-height: 1.15; }
body.cafe-imperial.access-premium .box > a { color: var(--cafe-ebony); background: var(--cafe-bronze); border-color: var(--cafe-bronze); border-radius: 4px; font-family: var(--sans) !important; }
body.cafe-imperial.access-premium .box > a:not(.primary):not(:first-of-type) { color: var(--cafe-bronze); background: transparent; }
body.cafe-imperial > footer { color: var(--cafe-muted); background: var(--cafe-ebony); border-color: var(--cafe-soft-line); }
body.cafe-imperial > footer :is(a, span, small) { color: var(--cafe-muted); font-family: var(--sans) !important; }
body.cafe-imperial .site-closing > strong { color: var(--cafe-ivory); }

@media (max-width: 760px) {
  body.cafe-imperial { font-size: 17px !important; }
  body.cafe-imperial#topo main :is(.section-head, .chapter-title) h2,
  body.cafe-imperial .workspace > .section-head h2,
  body.cafe-imperial .form-heading h2 { font-size: clamp(34px, 7vw, 46px) !important; }
  body.cafe-imperial#topo #inicio .identity .db-brand { font-size: clamp(19px, 5.8vw, 32px); }
  body.cafe-imperial#topo #inicio .headline .db-headline { font-size: clamp(23px, 6.4vw, 32px); line-height: 1.1; }
  body.cafe-imperial#topo #inicio :is(.lower-phrase, .db-lower, .db-lower span) { font-size: 14px; line-height: 1.5; }
  body.cafe-imperial .brand small { font-size: 9px; letter-spacing: .08em !important; }
  body.cafe-imperial#topo .signature-brand b { font-size: clamp(21px, 6.2vw, 32px); }
  body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel { padding: 24px; }
  body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel :is(.signature-nav-direct, .signature-nav-group > summary) { font-size: 21px; }
}
@media (max-width: 359px) {
  body.cafe-imperial#topo #inicio .identity .db-brand { font-size: 19px; }
  body.cafe-imperial#topo #canva-entrance #gate .enter { font-size: 14px !important; padding-inline: 10px; gap: 7px; }
  body.cafe-imperial#topo #inicio .identity .db-subtitle { font-size: 8px; letter-spacing: .07em !important; }
  body.cafe-imperial#topo .signature-brand b { font-size: 20px; }
  body.cafe-imperial#topo .signature-shell .menu { min-width: 64px; padding-inline: 7px; }
  body.cafe-imperial .brand small { font-size: 8px; }
  body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel { padding: 20px; }
}
@media (max-height: 600px) {
  body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel { padding: 16px 20px; }
  body.cafe-imperial#topo :is(#nav, #menu-overlay) .db-menu-panel :is(.signature-nav-direct, .signature-nav-group > summary) { min-height: 44px; padding-block: 8px; }
}
@media (forced-colors: active) {
  body.cafe-imperial :is(a, button, input, textarea, select, summary):focus-visible { outline-color: Highlight !important; }
}

/* The candidate gate uses a separate component from the homepage entrance. */
body.cafe-imperial .age-gate { background: #070605F7; }
body.cafe-imperial .age-gate__panel { background: var(--cafe-coffee) !important; border-color: var(--cafe-bronze) !important; }
body.cafe-imperial .age-gate__panel::after { background: var(--cafe-umber); }
body.cafe-imperial .age-gate__brand { color: var(--cafe-ivory); font-family: var(--serif) !important; font-weight: 500 !important; }
body.cafe-imperial .age-gate__panel #age-gate-description { color: var(--cafe-muted); font-family: var(--sans) !important; }
body.cafe-imperial :is(.age-gate__confirmation, .age-gate__enter, .age-gate__exit) { font-family: var(--sans) !important; }
body.cafe-imperial .age-gate__confirmation { color: var(--cafe-ivory); }
body.cafe-imperial .age-gate__confirmation > span { min-width: 0; white-space: normal; }
body.cafe-imperial .age-gate__confirmation input[type=checkbox] { background: var(--cafe-ebony); border-color: var(--cafe-bronze); }
body.cafe-imperial .age-gate__confirmation input:checked { background: var(--cafe-bronze) !important; }
body.cafe-imperial .age-gate__confirmation input:checked::after { border-color: var(--cafe-ebony); }
body.cafe-imperial .age-gate__divider { background: var(--cafe-bronze); }
body.cafe-imperial .age-gate__enter,
body.cafe-imperial .age-gate__enter:not(:disabled):hover { color: var(--cafe-ebony); background: var(--cafe-bronze); border-color: var(--cafe-bronze); }
body.cafe-imperial .age-gate__exit { color: var(--cafe-bronze); background: transparent; }
@media (prefers-reduced-motion: reduce) {
  body.cafe-imperial#topo #canva-entrance #gate .enter { color: var(--cafe-ebony); }
}
/* Controls remain distinguishable from the coffee surface. */
body.cafe-imperial :is(input:not([type=checkbox]):not([type=radio]), textarea, select) { border-color: #80614B; }
