/* InkedBooking public palette. Media and embedded providers keep their own colors. */
html[data-inked-theme] {
    --ib-bg: #121516; --ib-surface: #1c2022; --ib-soft: #242a2c;
    --ib-text: #f3f5f4; --ib-muted: #bdc6c8; --ib-line: #424d50;
    --ib-accent: #ff9daa; --ib-action: #b71735; --ib-positive: #a4e0cd;
    --ib-positive-bg: #193a30; --ib-warning: #f6dfad; --ib-warning-bg: #322916;
    --ib-error: #ffb3bd; --ib-error-bg: #3b2028;
    --primary-bg: var(--ib-bg); --secondary-bg: var(--ib-surface); --card-bg: var(--ib-surface);
    --card-bg-hover: var(--ib-soft); --glass-border: var(--ib-line);
    --text-primary: var(--ib-text); --text-secondary: var(--ib-muted); --text-muted: var(--ib-muted);
    --radius-md: 8px; --radius-lg: 8px; --radius-xl: 8px;
    color-scheme: dark;
}
html[data-inked-theme="light"] {
    --ib-bg: #f5f7f7; --ib-surface: #fff; --ib-soft: #e9eeee;
    --ib-text: #1b2629; --ib-muted: #4f6065; --ib-line: #bbc7ca;
    --ib-accent: #a91835; --ib-positive: #20634f; --ib-positive-bg: #e4f2ec;
    --ib-warning: #694c0e; --ib-warning-bg: #fcf3da;
    --ib-error: #a11934; --ib-error-bg: #fbe8ec;
    color-scheme: light;
}
html[data-inked-theme] body { background: var(--ib-bg); color: var(--ib-text); }
html[data-inked-theme] :is(h1,h2,h3,h4,h5,h6,button,label) { letter-spacing: 0; }
html[data-inked-theme] :is(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid var(--ib-positive); outline-offset: 4px; }
html[data-inked-theme] input::placeholder, html[data-inked-theme] textarea::placeholder { color: var(--ib-muted); opacity: 1; }
html[data-inked-theme] :is(input,textarea,select) { accent-color: var(--ib-action); }

/* The header keeps stable tracks on narrow screens and at enlarged text sizes. */
html[data-inked-theme] #mainNav { background: var(--ib-surface); border-color: var(--ib-line); transition: none; }
html[data-inked-theme] #mainNav .inked-nav-layout { grid-template-columns: 180px minmax(0,1fr) auto; gap: 16px; padding-inline: 24px; }
html[data-inked-theme] #mainNav .nav-brand a { width: auto; gap: 10px; text-decoration: none; color: var(--ib-text); }
.inked-wordmark { display: none; }
html[data-inked-theme] .inked-wordmark { display: inline; font: 650 17px/1.2 Inter,Arial,sans-serif; }
html[data-inked-theme] #mainNav #navMenu { gap: 14px; }
html[data-inked-theme] #mainNav #navMenu a { color: var(--ib-muted); }
html[data-inked-theme] #mainNav #navMenu a:hover { color: var(--ib-text); text-decoration: underline; text-underline-offset: 6px; }
html[data-inked-theme] #mainNav :is(select,#navBurger) { background: var(--ib-soft) !important; color: var(--ib-text) !important; border: 1px solid var(--ib-line) !important; border-radius: 6px; }
html[data-inked-theme] #mainNav select option { background: var(--ib-surface); color: var(--ib-text); }
html[data-inked-theme] #mainNav #navBurger span { background: var(--ib-text); }
html[data-inked-theme] #mainNav .nav-auth-btn { background: var(--ib-action); }
html[data-inked-theme] .inked-theme-toggle {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px;
    width: 40px; height: 40px; min-height: 40px; padding: 0; margin: 0;
    border: 1px solid var(--ib-line); border-radius: 6px;
    background: var(--ib-soft); color: var(--ib-text); cursor: pointer;
}
html[data-inked-theme] .inked-theme-toggle:hover { background: var(--ib-surface); border-color: var(--ib-muted); }
html[data-inked-theme] .inked-theme-toggle[hidden] { display: none; }
.inked-theme-icon { width: 20px; height: 20px; display: block; background: currentColor; mask: url('../icons/theme/sun.svg') center/contain no-repeat; }
html[data-inked-theme="light"] .inked-theme-icon { mask-image: url('../icons/theme/moon.svg'); }
.inked-standalone-controls { display: flex; align-items: center; gap: 12px; }
@media(max-width:1399px) {
    html[data-inked-theme] #mainNav .inked-nav-layout { grid-template-columns: 44px 1fr; }
    html[data-inked-theme] #mainNav .inked-nav-controls { grid-column: 2; justify-self: end; }
    html[data-inked-theme] #mainNav #navBurger { display: flex; }
    html[data-inked-theme] #mainNav #navMenu { display: none !important; position: absolute !important; inset: 76px 0 auto !important; width: 100%; height: auto; max-height: calc(100dvh - 76px); overflow-y: auto; background: var(--ib-surface); border-bottom: 1px solid var(--ib-line); padding: 16px 24px 24px; flex-direction: column; align-items: stretch; gap: 0; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; backdrop-filter: none; }
    html[data-inked-theme] #mainNav #navMenu.open { display: flex !important; }
    html[data-inked-theme] #mainNav #navMenu a { font-size: 16px; padding: 14px 8px; border-bottom: 1px solid var(--ib-line); }
    html[data-inked-theme] #mainNav .inked-wordmark { display: none; }
}
@media(max-width:1279px) {
    html[data-inked-theme] #mainNav .inked-nav-layout { grid-template-columns: 44px 1fr; }
    html[data-inked-theme] #mainNav #navMenu { background: var(--ib-surface); border-color: var(--ib-line); }
    html[data-inked-theme] #mainNav #navMenu a { border-color: var(--ib-line); }
}
@media(max-width:600px) {
    html[data-inked-theme] #mainNav .inked-nav-layout { padding-inline: 12px; gap: 8px; }
    html[data-inked-theme] #mainNav .inked-nav-controls { gap: 6px; }
    html[data-inked-theme] #mainNav #inkedLangSelector { width: 68px; }
    html[data-inked-theme] #mainNav #inkedCurrencySelector { width: 74px; }
    html[data-inked-theme] #mainNav #navMenu { top: 64px !important; max-height: calc(100dvh - 64px); }
}

/* Home: readable hierarchy, compact calls to action, real gallery images unchanged. */
html[data-inked-theme] body:has(.hero-v7) > section { background: var(--ib-bg) !important; }
html[data-inked-theme] .hero-v7 { min-height: 0; padding: 112px 24px 24px; }
html[data-inked-theme] .hero-v7::after { display: none; }
html[data-inked-theme] .hero-v7-title { font: 600 52px/1.12 Inter,Arial,sans-serif; text-transform: none; color: var(--ib-text); }
html[data-inked-theme] .hero-v7-title .highlight { display: inline-block; margin-top: 12px; background: none; -webkit-text-fill-color: var(--ib-accent); color: var(--ib-accent); font-size: 32px; font-weight: 500; }
html[data-inked-theme] .hero-v7-sub { color: var(--ib-muted); font-size: 16px !important; }
html[data-inked-theme] .hero-ctas { margin-bottom: 24px !important; gap: 8px !important; }
html[data-inked-theme] .hero-v7-content > div > span { background: var(--ib-bg) !important; }
html[data-inked-theme] .hero-ctas :is(.btn-primary,.btn-secondary) { font: 600 15px/1.5 Inter,Arial,sans-serif; text-transform: none; letter-spacing: 0; border-radius: 6px; box-shadow: none; }
html[data-inked-theme] .hero-ctas .btn-primary { background: var(--ib-action); }
html[data-inked-theme] .hero-ctas .btn-secondary { color: var(--ib-text); }
html[data-inked-theme] :is(.search-bar,.tag-pill,.trend-card,.step-v7) { background: var(--ib-surface); border-color: var(--ib-line); border-radius: 8px; color: var(--ib-text); }
html[data-inked-theme] .search-bar input { background: transparent; color: var(--ib-text); min-width: 0; }
html[data-inked-theme] .search-bar button { background: var(--ib-action); }
html[data-inked-theme] :is(.tags-wrap,.trend-wrap)::before, html[data-inked-theme] :is(.tags-wrap,.trend-wrap)::after { display: none; }
html[data-inked-theme] :is(.trend-card-title,.trend-card-price .tp-val,.section-title-v7,.styles-header h2,.step-v7 h3) { color: var(--ib-text); }
html[data-inked-theme] :is(.trend-card-price .tp-fee,.styles-header p,.step-v7 p) { color: var(--ib-muted); }
html[data-inked-theme] .trend-card-style { color: var(--ib-accent); }
html[data-inked-theme] .home-style-card { border-radius: 8px; }
html[data-inked-theme] .home-style-overlay { color: #fff; }
html[data-inked-theme] body:has(.hero-v7) > section > div > div > :is(h2,h3,p) { color: var(--ib-text) !important; }
html[data-inked-theme] .styles-nav-arrow { background: var(--ib-surface); color: var(--ib-text); border-color: var(--ib-line); }
html[data-inked-theme] body:has(.hero-v7) > section > div > div > a:not(.tag-pill):not(.btn-primary):not(.btn-secondary),
html[data-inked-theme] .styles-cta a { color: var(--ib-accent) !important; }
html[data-inked-theme] body:has(.hero-v7) > section > a[href$="/chat"] { color: var(--ib-muted) !important; border-color: var(--ib-line) !important; }
html[data-inked-theme] body:has(.hero-v7) > section > :is(h2,h3,p),
html[data-inked-theme] body:has(.hero-v7) > section > div > :is(h2,h3,p),
html[data-inked-theme] .hero-v7-content > div > span { color: var(--ib-text) !important; }
html[data-inked-theme] :is(#popular-themes,#popular-ideas) a { background: var(--ib-surface) !important; color: var(--ib-text) !important; border-color: var(--ib-line) !important; border-radius: 6px !important; }
html[data-inked-theme] :is(.footer,.footer-bottom) { background: var(--ib-surface); color: var(--ib-muted); border-color: var(--ib-line); }
html[data-inked-theme] :is(.footer-brand p,.footer-column a,.footer-bottom p) { color: var(--ib-muted); }
html[data-inked-theme] .footer-column h4 { color: var(--ib-text); }
html[data-inked-theme] .footer-brand h3 { color: var(--ib-text); }
@media(max-width:600px) {
    html[data-inked-theme] .hero-v7 { padding: 104px 20px 32px; }
    html[data-inked-theme] .hero-v7-title { font-size: 36px; }
    html[data-inked-theme] .hero-v7-title .highlight { font-size: 26px; }
    html[data-inked-theme] .hero-v7-sub { font-size: 16px !important; }
}

/* Top Artists: preserve the official embed layout and equal-height frames. */
html[data-inked-theme] .inked-top-artists-page :is(.book-hero,.book-media) { background: var(--ib-bg); }
html[data-inked-theme] .inked-top-artists-page :is(.book-hero h1,.book-offers h2,.offer-item h3,.offer-item strong,.step h2,.plan-card h4,.form-group label) { color: var(--ib-text); }
html[data-inked-theme] .inked-top-artists-page .book-hero h1 em { color: var(--ib-positive); }
html[data-inked-theme] .inked-top-artists-page :is(.book-hero > p,.book-media h2,.book-offers > p,.offer-item p,.book-submission-note,.plan-desc,.plan-group-title,.book-footer,.book-reel figcaption a,.book-plans-link,.back-to-offers,.free-exit) { color: var(--ib-muted); }
html[data-inked-theme] .inked-top-artists-page :is(.offer-item,.plan-card,.chip,.offer-item .btn-outline,.step-nav .btn-outline,.form-group input,.form-group select) { background: var(--ib-surface); color: var(--ib-text); border-color: var(--ib-line); }
html[data-inked-theme] .inked-top-artists-page :is(.plan-card.selected,.chip.active,.plan-price-tag.free,.live-preview-box,.summary-box,.payment-info) { background: var(--ib-positive-bg); color: var(--ib-positive); border-color: var(--ib-positive); }
html[data-inked-theme] .inked-top-artists-page :is(.preview-total,.total-line,.summary-box div,.application-saved,.style-counter,.funnel-progress li[aria-current=step],.live-preview-box span,.live-preview-box .preview-calc) { color: var(--ib-positive) !important; }
html[data-inked-theme] .inked-top-artists-page :is(.funnel-progress li,.book-footer a) { color: var(--ib-muted); border-color: var(--ib-line); }
html[data-inked-theme] .inked-top-artists-page .plan-price-tag:not(.free) { color: var(--ib-text); background: var(--ib-soft); }
html[data-inked-theme] .inked-top-artists-page .error-message { color: var(--ib-error); }

/* Gallery and its asynchronously rendered results use the same palette. */
html[data-inked-theme] :is(.mp-header h1,.pc,.pc-title,.pc-price) { color: var(--ib-text); }
html[data-inked-theme] :is(.mp-header p,.mp-result-bar,.mp-fg-label,.mp-fcount,.mp-loading,.pc-body,.pc-fee,.mp-empty p,.mp-hint-text) { color: var(--ib-muted); }
html[data-inked-theme] :is(.mp-search input,.mp-filters,.mp-fg input,.mp-fg select,.mp-fbtn,.mp-pill,.mp-pb,.mp-fclear,.pc) { color: var(--ib-text); background: var(--ib-surface); border-color: var(--ib-line); border-radius: 8px; }
html[data-inked-theme] :is(.mp-pill.active,.mp-fbtn.active,.mp-pb.active) { color: var(--ib-accent); background: var(--ib-soft); border-color: var(--ib-accent); }
html[data-inked-theme] .mp-discovery h2, html[data-inked-theme] .mp > div > :is(h3,span[style]) { color: var(--ib-muted) !important; }
html[data-inked-theme] .mp > div > h2 { color: var(--ib-text) !important; }
html[data-inked-theme] .mp > div > div > a[style]:not(:has(img)) { color: var(--ib-accent) !important; }
html[data-inked-theme] .mp-header h1 { font-size: 36px; }
html[data-inked-theme] .mp-discovery { max-width: 1320px; margin-inline: auto; }
html[data-inked-theme] .pc-style { color: var(--ib-accent); }
html[data-inked-theme] .pc-promise { color: var(--ib-positive); }
html[data-inked-theme] .mp-hint { background: var(--ib-soft); color: var(--ib-text); }
html[data-inked-theme] .mp-hint-chip { color: var(--ib-accent); }

/* Design configurator: preserve media, pricing and existing selection behavior. */
html[data-inked-theme] :is(.dp-panel,.dp-sticky,.dp-char,.dp-step,.cfg-tier,.cfg-radio) { background: var(--ib-surface) !important; color: var(--ib-text); border-color: var(--ib-line) !important; border-radius: 8px; }
html[data-inked-theme] :is(.dp-city-select,.dp-char-select,.dp-form input,.dp-form textarea,.dp-form select) { background-color: var(--ib-surface); color: var(--ib-text); border-color: var(--ib-line); }
html[data-inked-theme] :is(.cfg-radio.active,.cfg-tier.active) { background: var(--ib-positive-bg) !important; border-color: var(--ib-positive) !important; }
html[data-inked-theme] .cfg-radio:has(input:focus-visible) { outline: 3px solid var(--ib-positive); outline-offset: 3px; }
html[data-inked-theme] :is(.cfg-radio-label,.cfg-tier-name,.dp-char-val,.dp-step-title,.dp-price-row strong) { color: var(--ib-text); }
html[data-inked-theme] :is(.dp-copy,.dp-city-label,.cfg-radio-range,.cfg-tier-desc,.cfg-tier-fee,.cfg-tier-note,.dp-char-label,.dp-char-note,.dp-trust-item,.dp-trust-badge,.dp-step-desc,.dp-price-row,.dp-loc-note,.dp-form label,.dp-cta-secondary,.sp-reserve,.sp-label) { color: var(--ib-muted); }
html[data-inked-theme] .dp-trust, html[data-inked-theme] .dp-info > div[style]:not(.dp-panel), html[data-inked-theme] .dp-panel :is(p,ul)[style] { color: var(--ib-muted) !important; }
html[data-inked-theme] :is(.dp-badge,.dp-keyword) { background: var(--ib-soft); color: var(--ib-text) !important; border-color: var(--ib-line) !important; }
html[data-inked-theme] :is(.cfg-tier-price,.dp-price-row.main strong,.sp-total,.dp-step-num,.dp-city-table .ct-total) { color: var(--ib-accent); }
html[data-inked-theme] .dp-city-table :is(th,td) { color: var(--ib-muted); border-color: var(--ib-line); }
html[data-inked-theme] .dp-accordion::after { color: var(--ib-muted); }
html[data-inked-theme] .dp-cta { background: var(--ib-action); }
html[data-inked-theme] .dp-sticky { border-radius: 0; }

/* Editorial and location pages retain photographs and use theme-aware copy. */
html[data-inked-theme] :is(.style-header,.ch,.ency-page,.ency-header,.inst-hero) { background: var(--ib-bg); color: var(--ib-text); }
html[data-inked-theme] :is(.style-header > a,.style-intro,.style-content p,.style-content ul,.style-content .faq-a,.style-content section,.ch p,.ch-stat-l,.c-seo,.c-empty p,.ency-back,.ency-subtitle,.ency-section p,.ency-section li,.artist-mini-style,.inst-hero p,.inst-block p,.inst-pillar p) { color: var(--ib-muted) !important; }
html[data-inked-theme] :is(.style-title,.info-card h3,.product-price,.ch h1 span,.ch-stat-n,.cg h2 span,.ency-title .accent,.ency-section h2,.inst-block h2) { color: var(--ib-accent); }
html[data-inked-theme] :is(.info-card,.product-card,.related-card,.artist-mini-card,.style-pill,.inst-pillar) { background: var(--ib-surface); color: var(--ib-text); border-color: var(--ib-line); border-radius: 8px; }
html[data-inked-theme] .style-content :is(h2,h3)[style], html[data-inked-theme] .style-content a:not(.btn-primary) { color: var(--ib-text) !important; }
html[data-inked-theme] :is(.style-cta,.ency-cta) { background: var(--ib-soft) !important; border-color: var(--ib-line); border-radius: 8px !important; }
html[data-inked-theme] .style-cta div[style] { color: var(--ib-muted) !important; }
html[data-inked-theme] .style-cta .btn-primary, html[data-inked-theme] .c-cta a, html[data-inked-theme] .inst-cta a, html[data-inked-theme] .ency-cta .btn-primary { background: var(--ib-action) !important; color: #fff !important; border-radius: 6px; }
html[data-inked-theme] .ency-cta :is(h3,p) { color: var(--ib-text) !important; }
html[data-inked-theme] .ency-cta .btn-secondary { background: var(--ib-surface) !important; color: var(--ib-text) !important; border-color: var(--ib-line) !important; }
html[data-inked-theme] .c-cta > p, html[data-inked-theme] body:has(.ch) > section > h3 { color: var(--ib-muted) !important; }
html[data-inked-theme] body:has(.ch) > section > div > :is(a,span) { background: var(--ib-surface) !important; color: var(--ib-accent) !important; border-color: var(--ib-line) !important; }
html[data-inked-theme] body:has(.style-header) > footer { color: var(--ib-muted) !important; }
html[data-inked-theme] .dp > section :is(h2,h3,p,a) { color: var(--ib-text) !important; }
html[data-inked-theme] .dp-info > p[style] { color: var(--ib-muted) !important; }
html[data-inked-theme] .dp-info a[href="#dpConfigurator"] { color: var(--ib-accent) !important; }

html[data-inked-theme] {
    --seo-bg: var(--ib-bg); --seo-surface: var(--ib-surface); --seo-text: var(--ib-text);
    --seo-muted: var(--ib-muted); --seo-accent: var(--ib-action); --seo-border: var(--ib-line); --seo-radius: 8px;
    --srv-bg: var(--ib-bg); --srv-surface: var(--ib-surface); --srv-surface2: var(--ib-soft);
    --srv-text: var(--ib-text); --srv-muted: var(--ib-muted); --srv-accent: var(--ib-action); --srv-border: var(--ib-line); --srv-radius: 8px;
}
html[data-inked-theme] :is(.ideas-page,.ideas-header,.img-page,.sf-hero,.inked-lp-artists) { background: var(--ib-bg); color: var(--ib-text); }
html[data-inked-theme] :is(.ideas-card,.ideas-pill,.ideas-cta,.img-meaning-card,.sf-card,.ip-design-card,.inked-lp-artists .card,.inked-lp-artists .expectations) { background: var(--ib-surface); color: var(--ib-text); border-color: var(--ib-line); border-radius: 8px; }
html[data-inked-theme] :is(.ideas-back,.ideas-subtitle,.ideas-card p,.ideas-cta p,.sf-hero p,.sf-card p,.img-meaning-html p,.img-ai-note,.img-404 p,.ip-location,.ip-stat span,.ip-bio,.ip-tab,.ip-about-section h3,.ip-about-row span:first-child,.ip-empty,.inked-lp-artists p) { color: var(--ib-muted); }
html[data-inked-theme] :is(.ideas-title span,.ideas-card h2,.img-style-tag,.img-meaning-label,.seo-price-badge,.seo-pc-price,.seo-notice h3) { color: var(--ib-accent); }
html[data-inked-theme] :is(.ideas-cta h3,.img-meaning-html strong,.ip-stat strong,.ip-tab.active,.ip-about-row span:last-child,.seo-section h2,.seo-info-card h3,.seo-step h3,.seo-pc-title,.seo-faq-q,.srv-hero h1,.srv-section h2,.srv-faq-item h3,.srv-highlight-box p,.inked-lp-artists h2,.inked-lp-artists h3,.inked-lp-artists h4) { color: var(--ib-text); }
html[data-inked-theme] :is(.seo-hero h1,.img-info h1,.inked-lp-artists h1) { background: none; -webkit-text-fill-color: var(--ib-text); color: var(--ib-text); }
html[data-inked-theme] :is(.ideas-page .btn-gallery,.img-btn-share,.ip-tag,.seo-cta-secondary,.btn-srv-secondary,.srv-pill,.inked-lp-artists .btn-secondary) { background: var(--ib-soft); color: var(--ib-text) !important; border-color: var(--ib-line) !important; }
html[data-inked-theme] :is(.ideas-page .btn-reserve,.sf-cta a,.ip-book-btn,.btn-srv-primary,.inked-lp-artists .btn-primary) { background: var(--ib-action); color: #fff; }
html[data-inked-theme] :is(.seo-info-card,.seo-step,.srv-section) { background: transparent; border: 0; border-radius: 0; }
html[data-inked-theme] :is(.btn-srv-primary,.btn-srv-secondary,.srv-pill) { border-radius: 6px; box-shadow: none; }
html[data-inked-theme] body:has(.srv-wrapper) #mainNav, html[data-inked-theme] body:has(.img-page) #mainNav { background: var(--ib-surface) !important; border-color: var(--ib-line) !important; }
html[data-inked-theme] .inked-lp-artists .grid-2 { grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); }
html[data-inked-theme] :is(body.ideas-page,body:has(.srv-wrapper)) .footer p { color: var(--ib-muted) !important; }
html[data-inked-theme] .srv-wrapper > div > h2[style], html[data-inked-theme] .inked-lp-artists .expectations h2 { color: var(--ib-text) !important; }
html[data-inked-theme] .seo-wrap a[href*="/quanto-custa-tatuagem-sao-paulo/"] { color: var(--ib-accent) !important; }

/* Reservation presentation only: no pricing, form actions or payment logic. */
html[data-inked-theme] .rs-wrap { background: var(--ib-bg); }
html[data-inked-theme] :is(.rs-title,.rs-label,.rs-tier-name,.rs-summary-value,.rs-intro strong,.rs-budget-split strong) { color: var(--ib-text); }
html[data-inked-theme] :is(.rs-sub,.rs-intro,.rs-tier-desc,.rs-tier-estimate,.rs-summary-label,.rs-summary-estimate,.rs-confirm-copy,.rs-confirm-note,.rs-prog-label,.rs-prog-label.done,.rs-upload-text,.rs-footer,.rs-range,.rs-budget-split span) { color: var(--ib-muted); }
html[data-inked-theme] :is(.rs-input,.rs-textarea,.rs-select,.rs-select option,.rs-tier,.rs-summary,.rs-pay-box,.rs-btn-secondary) { background: var(--ib-surface); color: var(--ib-text); border-color: var(--ib-line); }
html[data-inked-theme] .rs-tier.selected { background: var(--ib-positive-bg); border-color: var(--ib-positive); box-shadow: inset 3px 0 var(--ib-positive); }
html[data-inked-theme] :is(.rs-tier-deposit,.rs-budget-split div:first-child strong,.rs-prog-label.active,.rs-upload-clear,.rs-summary-deposit) { color: var(--ib-accent); }
html[data-inked-theme] .rs-preview-note { background: var(--ib-warning-bg); color: var(--ib-warning); }
html[data-inked-theme] .rs-error { color: var(--ib-error); }
html[data-inked-theme] .rs-field > p[style], html[data-inked-theme] .rs-step > div[style] { color: var(--ib-muted) !important; }
html[data-inked-theme] .rs-field:focus-within .rs-label { color: var(--ib-text); }

/* Public explanation, contact and the shared guide notice. */
html[data-inked-theme] :is(.hiw-hero,.ct-hero,.hiw-trust) { background: var(--ib-bg); }
html[data-inked-theme] :is(.hiw-hero h1,.ct-hero h1) { font-size: 42px; }
html[data-inked-theme] :is(.hiw-hero p,.hiw-step-content p,.hiw-trust-card p,.hiw-cta p,.hiw-footer,.ct-hero p,.ct-card p,.ct-hours p,.ct-hours h3,.inst-footer) { color: var(--ib-muted); }
html[data-inked-theme] :is(.ct-card,.hiw-trust-card) { background: var(--ib-surface); border-color: var(--ib-line); border-radius: 8px; }
html[data-inked-theme] .ct-card a.ct-email { color: var(--ib-accent); overflow-wrap: anywhere; }
html[data-inked-theme] .inked-service-guides { background: var(--ib-bg) !important; border-color: var(--ib-line) !important; border-radius: 0 !important; }
html[data-inked-theme] .inked-service-guides :is(h2,p,a) { color: var(--ib-muted) !important; letter-spacing: 0 !important; border-color: var(--ib-line) !important; }
html[data-inked-theme] .inked-service-guides a { text-decoration: underline !important; text-underline-offset: 4px; border: 0 !important; border-radius: 0 !important; }

/* Client intake/access and authentication, with no changes to their data paths. */
html[data-inked-theme] .inked-client-page :is(header,nav,footer,.project,.project-refs) { border-color: var(--ib-line); }
html[data-inked-theme] .inked-client-page :is(p,dt) { color: var(--ib-muted); }
html[data-inked-theme] .inked-client-page :is(input,select,textarea) { background: var(--ib-surface); color: var(--ib-text); border-color: var(--ib-line); }
html[data-inked-theme] .inked-client-page :is(.status,.totals,nav [aria-current]) { color: var(--ib-positive); }
html[data-inked-theme] .inked-client-page .brief { color: var(--ib-text); }
html[data-inked-theme] .inked-client-page .terms { border-color: var(--ib-positive); }
html[data-inked-theme] body:has(.login-container)::before { display: none; }
html[data-inked-theme] .login-theme { display: flex; justify-content: flex-end; margin-bottom: 12px; }
html[data-inked-theme] :is(.login-card,.login-field input,.login-create-btn) { background: var(--ib-surface); color: var(--ib-text); border-color: var(--ib-line); border-radius: 8px; }
html[data-inked-theme] :is(.login-logo p,.login-card h2,.login-field label,.login-links a,.login-divider) { color: var(--ib-muted); }
html[data-inked-theme] .login-error { color: var(--ib-error); background: var(--ib-error-bg); }
html[data-inked-theme] .login-card h1 { color: var(--ib-text); }

html[data-inked-theme] .faq-hero { background: var(--ib-bg); }
html[data-inked-theme] .faq-hero h1 { font-size: 40px; }
html[data-inked-theme] .faq-q { color: var(--ib-text); }
html[data-inked-theme] :is(.faq-hero p,.faq-a-inner) { color: var(--ib-muted); }
html[data-inked-theme] .faq-item { border-color: var(--ib-line); }
html[data-inked-theme] .explore-page { background: var(--ib-bg); color: var(--ib-text); }
html[data-inked-theme] :is(.explore-header p,.explore-label,.explore-no-results) { color: var(--ib-muted); }
html[data-inked-theme] :is(.explore-search,.concept-card,.explore-tabs) { background: var(--ib-surface); border-color: var(--ib-line); color: var(--ib-text); border-radius: 8px; }
html[data-inked-theme] :is(.explore-search input,.explore-tab) { color: var(--ib-text); }
html[data-inked-theme] .explore-search input { min-width: 0; }
html[data-inked-theme] .explore-tab.active { color: #fff; background: var(--ib-action); }
html[data-inked-theme] .explore-cta a { color: var(--ib-accent); }
html[data-inked-theme] .explore-content h3 { color: var(--ib-text) !important; }
html[data-inked-theme] .explore-content #contentMeanings > div > div > a[style] { color: var(--ib-text) !important; background: var(--ib-surface) !important; border-color: var(--ib-line) !important; }
html[data-inked-theme] .artist-experience :is(.inked-page-container,.inked-form-container) { background: var(--ib-bg); }
html[data-inked-theme] .artist-experience :is(.inked-form-container h1,.inked-form-group label) { color: var(--ib-text); }
html[data-inked-theme] .artist-experience :is(.subtitle,.checkbox-group,.artist-footer,.artist-footer a) { color: var(--ib-muted); }
html[data-inked-theme] .artist-experience :is(.inked-form-group input,.inked-form-group textarea,.inked-form-group select) { background: var(--ib-surface); color: var(--ib-text); border-color: var(--ib-line); }
html[data-inked-theme] .artist-experience .inked-alert-error { color: var(--ib-error); background: var(--ib-error-bg); }
html[data-inked-theme] .artist-experience .inked-alert-success { color: var(--ib-positive); background: var(--ib-positive-bg); }
html[data-inked-theme] .artist-experience .inked-alert-success :is(p,h2,a) { color: inherit !important; }
html[data-inked-theme] .terms-page { color: var(--ib-text); background: var(--ib-bg); }
html[data-inked-theme] :is(.terms-header p,.terms-content p,.terms-content li,.terms-highlight p,.pp-updated,.pp-intro,.pp-section p,.pp-back,.pp-footer a) { color: var(--ib-muted) !important; }
html[data-inked-theme] :is(.terms-content strong,.pp-section h2) { color: var(--ib-text); }
html[data-inked-theme] :is(.terms-content h2,.pp-email) { color: var(--ib-accent); }
html[data-inked-theme] .pp-wrap h1 { background: none; -webkit-text-fill-color: var(--ib-text); color: var(--ib-text); }

/* Biosafety keeps review disclaimers and correct/incorrect state contrast. */
html[data-inked-theme] .bs-body { color-scheme: inherit; }
html[data-inked-theme] .bs-body :is(select,input:not([type=checkbox]):not([type=radio]),textarea,.bs-option,.bs-choices button,.bs-body button:not(.bs-primary)) { color: var(--ib-text); background: var(--ib-surface); border-color: var(--ib-line); }
html[data-inked-theme] .bs-body :is(.bs-intro,.bs-muted,.bs-scope,.bs-count,.bs-footer,.bs-tabs a,.bs-report p,.bs-lesson-sources,.bs-lesson > p:not(.bs-eyebrow)) { color: var(--ib-muted); }
html[data-inked-theme] .bs-body :is(.bs-draft,.bs-feedback) { color: var(--ib-warning) !important; background: var(--ib-warning-bg); }
html[data-inked-theme] .bs-body .bs-stop { color: var(--ib-error); background: var(--ib-error-bg); }
html[data-inked-theme] .bs-body :is(.bs-tabs a[aria-current=page],.bs-option:has(input:checked)) { color: var(--ib-text); background: var(--ib-soft); }
html[data-inked-theme] .bs-body :is(.bs-eyebrow,.bs-count > span:first-child) { color: var(--ib-accent); }
html[data-inked-theme] .bs-body :is(.bs-audiences a[aria-current=page],.bs-checklist label:has(input:checked),.bs-person) { color: var(--ib-positive); }
html[data-inked-theme] .bs-body :is(.bs-feedback[data-correct=true],.bs-choices button[data-correct=true]) { color: var(--ib-positive) !important; background: var(--ib-positive-bg); }
html[data-inked-theme] .bs-body .bs-choices button[data-correct=false] { color: var(--ib-error); background: var(--ib-error-bg); }
html[data-inked-theme="light"] .bs-icon { filter: none; }
@media(max-width:420px) {
    html[data-inked-theme] :is(.inked-client-page > header,.bs-header) { flex-wrap: wrap; }
    html[data-inked-theme] .inked-standalone-controls { margin-left: auto; }
    html[data-inked-theme] .hero-v7-title { font-size: 32px; }
    html[data-inked-theme] :is(.hiw-hero h1,.ct-hero h1,.mp-header h1) { font-size: 30px; }
    html[data-inked-theme] .faq-hero h1 { font-size: 30px; }
}
@media(prefers-reduced-motion:reduce) {
    html[data-inked-theme] { scroll-behavior: auto; }
    html[data-inked-theme] :is(a,button,input,select,textarea,.pc,.trend-card) { transition: none; }
}
@media print {
    html[data-inked-theme] { --ib-bg: #fff; --ib-surface: #fff; --ib-text: #111; --ib-muted: #333; color-scheme: light; }
    .inked-theme-toggle { display: none !important; }
}
