/** Copyright (c) 2026 DNA Genics, S.L. All rights reserved.
 * Opt-in Heritage pages for customer journeys, public reading and selected operations.
 */
.hsp-page { color:var(--hd-ink); background:var(--hd-bg); font-family:var(--hd-sans); min-width:0; --ink:var(--hd-primary); --deep:var(--hd-surface); --deep2:var(--hd-sand); --paper:var(--hd-bg); --white:var(--hd-surface); --line:var(--hd-border); --line-dark:var(--hd-border); --muted:var(--hd-muted); --muted-light:var(--hd-muted); --gold:var(--hd-gold); --gold-dark:#806329; --serif:var(--hd-serif); --sans:var(--hd-sans); }
.hsp-page *, .hsp-page *::before, .hsp-page *::after { box-sizing:border-box; }
.hsp-page :is(h1,h2,h3,h4,h5,h6,p,li,a,button,label,span,dd,dt,strong,code) { overflow-wrap:anywhere; }
.hsp-page :is(h1,h2,h3,h4,h5,h6) { font-family:var(--hd-serif); color:var(--hd-primary); font-weight:500; }
.hsp-page h1 { font-size:clamp(2.2rem,4vw,3.8rem); line-height:1.12; letter-spacing:-.025em; }
.hsp-page :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--hd-primary); outline-offset:3px; }
.hsp-page :is(.form-control,.custom-select,.form-select,input[type=date],input[type=email],input[type=password],input[type=text],select) { min-height:44px; max-width:100%; border:1px solid var(--hd-border); border-radius:8px; background:var(--hd-surface); color:var(--hd-ink); }
.hsp-page :is(.btn,button,.hd-btn,.pl-btn,.ob-btn) { min-height:44px; max-width:100%; white-space:normal; }
.hsp-page :is(.btn-primary,.btn-success) { background:var(--hd-primary); color:white; border-color:var(--hd-primary); }
.hsp-page :is(.btn-light,.btn-secondary,.btn-outline-primary,.btn-outline-secondary) { background:var(--hd-surface); color:var(--hd-primary); border:1px solid var(--hd-border); }
.hsp-page .btn-outline-success { background:var(--hd-sage); color:var(--hd-primary); border-color:#a6b5a2; }
.hsp-page :is(.btn-warning,.alert-warning) { background:#faf1df; color:#78531a; border-color:#ddc798; }
.hsp-page :is(.btn-danger,.alert-danger) { background:#fbefec; color:#8a3029; border-color:#d9bdb5; }
.hsp-page :is(.card,.dbc-card,.pub-card) { background:var(--hd-surface); border:1px solid var(--hd-border); border-radius:12px; box-shadow:none; min-width:0; }
.hsp-page :is(.card-header,.pub-card-header) { background:var(--hd-sand); color:var(--hd-primary); border-color:var(--hd-border); }
.hsp-page :is(.card-header,.card-footer,.input-group,.form-inline,.btn-group,.btn-toolbar) { flex-wrap:wrap; gap:8px; }
.hsp-page :is(.row,.d-flex,.input-group,.form-inline) > * { min-width:0; }
.hsp-page :is(.text-muted,.form-text) { color:var(--hd-muted) !important; }
.hsp-page :is(.table-responsive,.table-container,pre) { max-width:100%; overflow-x:auto; }
.hsp-page .table :is(td,th) { padding:14px 16px; vertical-align:middle; border-color:var(--hd-border); white-space:normal; }
.hsp-page .table th { background:var(--hd-sand); color:var(--hd-primary); }
.hsp-page :is(.table td,.table th,.badge,.badge-pill) { overflow-wrap:anywhere; }
.hsp-page :is(img,video,iframe) { max-width:100%; }
.hsp-page [hidden] { display:none !important; }
.hsp-page :is([id]) { scroll-margin-top:100px; }
.hsp-page :is(.text-gradient,[class$=text-gradient],.ac-title-accent) { background:none; background-clip:unset; -webkit-text-fill-color:currentColor; color:var(--hd-primary); }
.hsp-admin :is(.mkt-card-wrapper,.mkt-card,.mkt-card-header,.mkt-card-title-row,.mkt-card-badges) { min-width:0; max-width:100%; }
.hsp-admin .mkt-card-name { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.hsp-admin .mkt-card-title-row { flex-wrap:wrap; gap:8px; }
.hsp-admin .mkt-card-badges { flex-wrap:wrap; }
.hsp-admin .dbc-section { padding-block:16px; margin-block:0 24px; }
.hsp-admin .dbc-category { padding:20px; }
.hsp-admin .dbc-section-header { margin-bottom:20px; }
.hsp-admin .discount-manager-table-container { background:var(--hd-surface); border:1px solid var(--hd-border); box-shadow:none; }
.hsp-admin .discount-manager-table-container .table thead th { background:var(--hd-sand) !important; color:var(--hd-primary) !important; font-family:var(--hd-sans); border-color:var(--hd-border); text-shadow:none; padding:14px 16px !important; white-space:normal; }
.hsp-admin .discount-manager-table-container .table thead::after { background:var(--hd-border); height:1px; }
.hsp-admin .discount-delete-btn { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
.hsp-admin .mkt-card-header { background:var(--hd-sand); color:var(--hd-primary); }
.hsp-page :is(.ac-animate-fade-in,.ac-reveal,.src-animate,.reveal,.animate-on-scroll) { opacity:1 !important; animation:none !important; transform:none !important; }
/* Reading pages keep full legal and instructional text, with bounded line lengths. */
.hsp-legal { width:100%; max-width:1160px; margin:auto; padding:calc(var(--nav-height,72px) + 8px) clamp(16px,3vw,40px) 56px; color:var(--hd-ink); }
.hsp-legal :is(.privacy-header,.cookies-header,.terms-header,.purchase-header) { text-align:left; margin:0 0 24px; padding:24px 0; border-bottom:1px solid var(--hd-border); }
.hsp-legal :is(.privacy-header,.cookies-header,.terms-header,.purchase-header) h1 { color:var(--hd-primary); font:500 clamp(2.2rem,4vw,3.7rem)/1.12 var(--hd-serif); }
.hsp-legal :is(.privacy-section,.cookies-section,.terms-section,.purchase-section,.policy-section,.legal-section) { padding:24px; background:var(--hd-surface); border:1px solid var(--hd-border); border-radius:12px; margin-bottom:20px; }
.hsp-legal :is(p,li) { font:400 .93rem/1.85 var(--hd-sans); }
.hsp-legal :is(h2,h3) { font-weight:500; color:var(--hd-primary); border-color:var(--hd-border); }
.hsp-legal h2 { font-size:1.9rem; }
.hsp-legal h3 { font-size:1.4rem; }
.hsp-legal :is(.quick-navigation,.toc-container,.table-of-contents,.quick-nav-grid,.toc-grid) { background:var(--hd-sand); color:var(--hd-primary); border-color:var(--hd-border); border-radius:10px; }
.hsp-legal :is(.quick-nav-link,.toc-link) { color:var(--hd-primary); background:var(--hd-surface); min-height:44px; border-color:var(--hd-border); }
.hsp-legal :is(.info-box,.warning-box,.highlight-box,.contact-box,.legal-notice,.important-notice) { background:var(--hd-sage); color:var(--hd-primary); border-color:var(--hd-border); box-shadow:none; }
.hsp-legal a:not(.btn) { color:#365b43; text-decoration:underline; text-underline-offset:3px; }
.hsp-legal :is(.sidebar,.toc-sidebar,.sticky-toc) { position:sticky; top:96px; }
/* Public company/help pages retain their source content and links. */
.hsp-guide.public-guide { padding-top:calc(var(--nav-height,72px) + 8px); background:var(--hd-bg); }
.hsp-guide :is(.pl-hero,.pl-section,.pl-section-alt,.pl-usage,.contact-cta,.about-cta,.careers-cta) { color:var(--hd-ink); background:var(--hd-bg); background-image:none; }
.hsp-guide .pl-hero::after { display:none; }
.hsp-guide .pl-hero-inner { padding-block:32px 40px; gap:36px; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }
.hsp-guide .pl-hero h1 { max-width:22ch; color:var(--hd-primary); font:500 clamp(2.6rem,4.4vw,4.3rem)/1.08 var(--hd-serif); letter-spacing:-.035em; }
.hsp-guide .pl-hero h1 :is(span,em) { color:var(--hd-primary); -webkit-text-fill-color:var(--hd-primary); background:none; }
.hsp-guide .pl-hero :is(p,li,.about-purpose-desc) { color:var(--hd-muted); }
.hsp-guide .pl-section { padding-block:40px; border-color:var(--hd-border); }
.hsp-guide .pl-section :is(p,li,blockquote,dd,dt) { color:var(--hd-ink); }
.hsp-guide :is(.pl-btn-primary,.contact-btn--primary,.careers-btn--primary) { color:white; background:var(--hd-primary); border-color:var(--hd-primary); border-radius:8px; box-shadow:none; }
.hsp-guide :is(.pl-btn-outline,.pl-btn-secondary,.contact-btn--outline-white,.careers-btn--outline-white) { color:var(--hd-primary) !important; background:var(--hd-sand); border:1px solid var(--hd-border); border-radius:8px; }
.hsp-guide :is(.pl-btn,.contact-btn,.careers-btn):hover { transform:none; }
.hsp-guide .pl-section-nav { background:var(--hd-primary); border-color:var(--hd-primary); border-radius:9px; padding:10px 16px; }
.hsp-guide .pl-section-nav a { color:white; min-height:44px; }
.hsp-guide :is(.pg-preview,.pl-feature-card,.pl-card,.pe-card,.contact-method-card,.careers-role-card,.about-value-card) { background:var(--hd-surface); color:var(--hd-ink); border-color:var(--hd-border); border-radius:12px; box-shadow:none; }
.hsp-guide :is(.pg-preview-top,.pg-preview-body,.pg-preview-note) { background:var(--hd-surface); color:var(--hd-ink); border-color:var(--hd-border); }
.hsp-guide .pg-preview-top { background:var(--hd-sand); }
.hsp-guide .pg-preview-body :is(p,li,span) { color:var(--hd-muted); }
.hsp-guide .pe-prose { max-width:78ch; font:400 1rem/1.9 var(--hd-sans); color:var(--hd-ink); }
.hsp-guide :is(.blog-post-content,.pe-prose,.blog-content) :is(h2,h3,h4) { color:var(--hd-primary); font-family:var(--hd-serif); }
.hsp-guide :is(.blog-post-content,.pe-prose,.blog-content) :is(p,li,blockquote) { color:var(--hd-ink); }
.hsp-guide :is(.blog-toc,.pe-toc,.blog-post-share,.blog-mobile-share) { background:var(--hd-surface); color:var(--hd-primary); border-color:var(--hd-border); }
.hsp-guide .pl-hero :is(.pl-btn-primary,.contact-btn--primary) { color:white !important; }
/* Checkout is still the same minimal layout and the same consent/payment flow. */
.hsp-onboarding-layout { --checkout-primary:var(--hd-primary); --checkout-primary-dark:var(--hd-primary); --checkout-primary-light:var(--hd-sage); --checkout-bg-body:var(--hd-bg); --checkout-bg-card:var(--hd-surface); --checkout-bg-muted:var(--hd-sand); --checkout-border:var(--hd-border); --checkout-border-light:var(--hd-border); --checkout-text-primary:var(--hd-ink); --checkout-text-secondary:var(--hd-muted); --checkout-font-sans:var(--hd-sans); --checkout-font-serif:var(--hd-serif); background:var(--hd-bg); color:var(--hd-ink); font-family:var(--hd-sans); }
.hsp-onboarding-layout .onboarding-checkout-header { background:var(--hd-bg); backdrop-filter:none; border-color:var(--hd-border); }
.hsp-onboarding-layout .onboarding-checkout-footer { background:var(--hd-sand); border-color:var(--hd-border); color:var(--hd-muted); }
.hsp-onboarding-layout :is(.onboarding-exit-link,.onboarding-footer-links a,.trust-badge) { color:var(--hd-primary); }
.hsp-onboarding { max-width:1320px; margin:auto; padding:24px clamp(16px,3vw,32px) 32px; --ob-ink:var(--hd-ink); --ob-muted:var(--hd-muted); --ob-paper:var(--hd-bg); --ob-line:var(--hd-border); }
.hsp-onboarding :is(.ob-hero,.ob-section,.ca-aside,.uf-aside) { background:var(--hd-surface); border-color:var(--hd-border); border-radius:12px; box-shadow:none; }
.hsp-onboarding :is(.ob-title,.ob-section__title) { color:var(--hd-primary); font-family:var(--hd-serif); font-weight:500; }
.hsp-onboarding .ob-title { font-size:clamp(2.1rem,3.8vw,3.5rem); line-height:1.15; }
.hsp-onboarding :is(.ob-eyebrow,.ob-price,.ob-link,.ob-order-id__value) { color:var(--hd-primary); }
.hsp-onboarding :is(.ob-lede,.ob-price__note,.ob-ordinal-item__detail,.ca-aside__note,.cp-delivery) { color:var(--hd-muted); }
.hsp-onboarding .ob-btn { background:var(--hd-primary); color:white; border-color:var(--hd-primary); border-radius:8px; }
.hsp-onboarding .ob-btn--ghost { background:var(--hd-sand); color:var(--hd-primary); border-color:var(--hd-border); }
.hsp-onboarding :is(.ob-image-panel,.ob-ordinal-item__num,.ob-order-id,.uf-dropzone,.ob-disclosure) { background:var(--hd-sand); color:var(--hd-primary); border-color:var(--hd-border); }
.hsp-onboarding .ob-image-panel img { max-height:380px; object-fit:contain; }
.hsp-onboarding :is(.custom-control,.ob-check,.ob-consent,label:has(input[type=checkbox])) { min-height:44px; }
/* Physical kit screens: title and recorded kits/form remain immediately readable. */
.hsp-kit { padding-inline:clamp(16px,3vw,40px); padding-bottom:48px; }
.hsp-kit :is(#content,.bg-white,.container-xxl) { background:transparent !important; max-width:1280px; width:100%; margin-inline:auto; }
.hsp-kit .card { box-shadow:none; border:1px solid var(--hd-border); overflow:hidden; }
.hsp-kit .carousel-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.55fr); align-items:center; float:none; width:100%; background:var(--hd-sand); }
.hsp-kit .carousel-item > img { grid-column:2; grid-row:1; height:190px; width:100%; object-fit:cover; filter:none; }
.hsp-kit .carousel-caption { grid-column:1; grid-row:1; position:static; padding:24px 28px; color:var(--hd-primary); text-align:left; }
.hsp-kit .carousel-caption h1 { color:var(--hd-primary); margin:0; font-size:clamp(2rem,4vw,3.3rem); }
.hsp-kit .card-body { padding:28px; }
.hsp-kit form { max-width:920px; }
.hsp-kit .custom-control-inline { display:block; margin-block:16px; }
.hsp-kit .custom-control-label { padding-block:3px; line-height:1.75; }
.hsp-instructions { margin-bottom:24px; padding:14px 20px; border:1px solid var(--hd-border); border-radius:10px; background:var(--hd-bg); }
.hsp-instructions summary { color:var(--hd-primary); min-height:44px; padding-block:10px; font-weight:600; cursor:pointer; }
/* Promotions keep their eligibility/license results and redemption form. */
.hsp-promotion { --dbc-bg:var(--hd-bg); --dbc-text-dark:var(--hd-ink); --dbc-text-muted:var(--hd-muted); --dbc-primary:var(--hd-primary); --dbc-gold:var(--hd-gold); }
.hsp-promotion .dbc-container { padding-top:24px; }
.hsp-promotion .ai-promo-panel { padding-block:8px 32px; }
.hsp-promotion .ai-promo-breadcrumb { margin-bottom:20px; }
.hsp-promotion .ai-promo-content { align-items:start; }
.hsp-promotion .ai-promo-copy { padding:20px 8px; background:transparent; border:0; box-shadow:none; }
.hsp-promotion .ai-promo-balance { background:var(--hd-sand); color:var(--hd-primary); }
.hsp-promotion .ai-promo-submit { background:var(--hd-primary); color:white; border:1px solid var(--hd-primary); box-shadow:none; }
.hsp-promotion .ai-promo-card .alert-success { background:var(--hd-sage); color:var(--hd-primary); border-color:#a6b5a2; }
.hsp-promotion .ai-promo-secondary-link { min-height:44px; align-items:center; }
.hsp-promotion :is(.ai-promo-card,.ai-promo-hero,.ai-promo-license) { background:var(--hd-surface); color:var(--hd-ink); border:1px solid var(--hd-border); box-shadow:none; }
/* Spotlight reports and catalog use the same Heritage reading hierarchy. */
.hsp-spotlights { --src-obsidian:var(--hd-bg); --src-slate:var(--hd-surface); --src-stone:var(--hd-sand); --src-bone:var(--hd-ink); --src-ivory:var(--hd-primary); --src-sand:var(--hd-muted); --src-accent:var(--hd-gold); --src-accent-light:var(--hd-primary); --src-accent-dark:#806329; --ac-bg-primary:var(--hd-bg); --ac-bg-secondary:var(--hd-surface); --ac-bg-tertiary:var(--hd-sand); --ac-bg-card:var(--hd-surface); --ac-text-primary:var(--hd-primary); --ac-text-secondary:var(--hd-ink); --ac-text-muted:var(--hd-muted); --ac-border:var(--hd-border); --ac-accent:var(--hd-primary); --ac-accent-light:var(--hd-primary); --ac-accent-dark:#806329; --ac-section-padding:40px; --src-section-padding:40px; }
body:has(.hsp-spotlights) { background:#faf8f4 !important; }
body:has(.hsp-spotlights) footer { background:#efe6d6 !important; }
.hsp-spotlights :is(.ac-main,.src-report,.src-section,.src-section-alt,.srv-section) { background:var(--hd-bg); color:var(--hd-ink); }
.hsp-spotlights :is(.src-content-hidden,.dna-content-hidden) { opacity:1 !important; visibility:visible !important; }
.hsp-spotlights :is(.dna-loading-overlay,.ac-hero-bg,.ac-hero-scroll,.src-hero-scroll,.ac-hero-lines,.src-hero-overlay,.src-hero-grain) { display:none !important; }
.hsp-spotlights :is(.srv-scroll-indicator,.ac-scroll-indicator) { display:none; }
.hsp-spotlights :is(.ac-hero,.src-hero) { min-height:0; height:auto; padding:32px clamp(16px,4vw,56px); margin:0; background:var(--hd-surface); border-bottom:1px solid var(--hd-border); }
.hsp-spotlights .ac-hero-content { padding:0; max-width:1200px; text-align:left; margin:auto; }
.hsp-spotlights .ac-hero-title { font:500 clamp(2.5rem,4.5vw,4.3rem)/1.08 var(--hd-serif); color:var(--hd-primary); max-width:22ch; }
.hsp-spotlights :is(.ac-hero-badge,.src-hero-badge) { color:#806329; background:var(--hd-sand); border-color:var(--hd-border); box-shadow:none; }
.hsp-spotlights :is(.ac-hero-subtitle,.ac-stat-label,.ac-card-excerpt,.src-hero-subtitle,.src-chapter-subtitle,.spot-tags-label) { color:var(--hd-muted); }
.hsp-spotlights .ac-hero-stats { justify-content:flex-start; gap:32px; padding-block:20px; border-color:var(--hd-border); }
.hsp-spotlights :is(.ac-section,.src-section) { padding-block:36px; }
.hsp-spotlights :is(.ac-filter-container,.ac-spotlight-card,.spot-section-card,.spot-related-card,.srv-sample-card,.spotlight-sample-card,.src-card) { border:1px solid var(--hd-border); border-radius:12px; background:var(--hd-surface); color:var(--hd-ink); box-shadow:none; }
.hsp-spotlights :is(.ac-spotlight-card,.spot-related-card):hover { transform:none; box-shadow:none; }
.hsp-spotlights :is(.ac-card-title,.src-hero-title,.src-heading-1,.src-heading-2,.src-heading-3) { color:var(--hd-primary); font-family:var(--hd-serif); font-weight:500; }
.hsp-spotlights :is(.ac-filter-input,.ac-filter-select,.spot-filter-input) { min-height:44px; background:var(--hd-surface); border:1px solid var(--hd-border); color:var(--hd-ink); }
.hsp-spotlights :is(.ac-filter-btn,.ac-load-more-btn,.ac-empty-btn,.src-btn-primary) { min-height:44px; background:var(--hd-primary); color:white; border-color:var(--hd-primary); border-radius:8px; }
.hsp-spotlights :is(.src-btn-outline,.src-tag,.spot-tag-badge) { background:var(--hd-sand); color:var(--hd-primary); border-color:var(--hd-border); }
.hsp-spotlights .ac-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.hsp-spotlights .src-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:32px; align-items:center; }
.hsp-spotlights .src-hero-bg { position:relative; width:100%; height:320px; inset:auto; order:2; border-radius:12px; overflow:hidden; background:var(--hd-sand); }
.hsp-spotlights .src-hero-bg img { width:100%; height:100%; object-fit:cover; opacity:1; filter:none; transform:none; }
.hsp-spotlights .src-hero-content { position:static; order:1; padding:0; text-align:left; }
.hsp-spotlights .src-hero-title { font-size:clamp(2.4rem,4.3vw,4rem); line-height:1.12; }
.hsp-spotlights :is(.src-section-content,.src-chapter-header) { max-width:1200px; padding-inline:24px; margin-inline:auto; }
.hsp-spotlights :is(.src-key-fact,.src-timeline-content,.spot-tags-section,.spot-contents-card,.srv-stat-card) { color:var(--hd-ink); background:var(--hd-surface); border-color:var(--hd-border); }
.hsp-spotlights :is(.src-section p,.src-section li,.src-section blockquote,.spot-publication-title,.spot-stat-label) { color:var(--hd-ink); }
.hsp-spotlights :is(.spot-map-popup,.leaflet-popup-content-wrapper,.leaflet-popup-tip) { color:var(--hd-ink); background:var(--hd-surface); }
.hsp-spotlights .spot-ai-panel :is(.ai-section-panel,.ai-results,.ai-sample-output) { color:var(--hd-ink); background:var(--hd-surface); border:1px solid var(--hd-border); border-radius:12px; }
.hsp-spotlights .spot-ai-panel .ai-section-panel { padding:clamp(18px,3vw,32px); }
.hsp-spotlights .spot-ai-panel :is(.ai-section-title,.ai-sample-output h6) { color:var(--hd-primary); }
.hsp-spotlights .spot-ai-panel :is(.ai-section-title small,.ai-info-alert,.ai-suggested-prompts-label,.ai-result-content,.ai-sample-content) { color:var(--hd-ink); }
.hsp-spotlights .spot-ai-panel .ai-info-alert { background:var(--hd-sage); }
.hsp-spotlights .spot-ai-panel .ai-prompt-btn { color:var(--hd-primary); background:var(--hd-sand); border-color:var(--hd-border); border-radius:8px; }
.hsp-spotlights .spot-ai-panel .ai-explain-btn { color:white; background:var(--hd-primary); border-radius:8px; box-shadow:none; }
.hsp-spotlights .spot-ai-panel :is(.ai-prompt-btn,.ai-explain-btn):hover { transform:none; box-shadow:none; }
.hsp-spotlights :is(.ac-page-nav,.src-page-nav) { display:none; }
.hsp-spotlights :is(.ac-bottom-nav,.src-bottom-nav) { background:var(--hd-surface); border-top:1px solid var(--hd-border); }
.hsp-spotlights :is(.ac-bottom-nav-item,.src-bottom-nav-item) { min-height:44px; color:var(--hd-muted); }
.hsp-spotlights :is(.ac-bottom-nav-item.active,.src-bottom-nav-item.active) { color:var(--hd-primary); background:var(--hd-sage); }
/* Podcast listening and filtering controls remain unchanged. */
.hsp-podcast { --podcast-bg:var(--hd-bg); --podcast-surface:var(--hd-surface); --podcast-card-bg:var(--hd-surface); --podcast-text:var(--hd-ink); --podcast-text-muted:var(--hd-muted); --podcast-accent:var(--hd-primary); --podcast-accent-hover:#365b43; --podcast-border:var(--hd-border); }
.hsp-podcast :is(.dna-loading-overlay) { display:none !important; }
.hsp-podcast .dna-content-hidden { opacity:1 !important; visibility:visible !important; }
.hsp-podcast .podcast-hero { padding:32px 0; background:var(--hd-surface); border-color:var(--hd-border); }
.hsp-podcast :is(.podcast-hero-title,.podcast-section-title) { color:var(--hd-primary); font-family:var(--hd-serif); }
.hsp-podcast :is(.podcast-hero-subtitle,.podcast-hero-label) { color:var(--hd-muted); }
.hsp-podcast :is(.podcast-episodes-title,.podcast-episode-title,.podcast-episode-title a) { color:var(--hd-primary); }
.hsp-podcast :is(.podcast-episode-header,.podcast-episode-meta,.podcast-hero-stats,.podcast-toolbar,.podcast-toolbar-filters,.podcast-toolbar-actions) { flex-wrap:wrap; min-width:0; }
.hsp-podcast :is(.podcast-episode-card,.podcast-toolbar,.podcast-search-input) { max-width:100%; min-width:0; }
.hsp-podcast .podcast-subscribe-btn { min-height:44px; }
.hsp-podcast .podcast-subscribe-btn--rss { background:var(--hd-sand); color:var(--hd-primary); }
.hsp-podcast :is(.podcast-card,.podcast-filters,.podcast-platform-card,.podcast-empty-state) { color:var(--hd-ink); background:var(--hd-surface); border:1px solid var(--hd-border); box-shadow:none; }
.hsp-podcast :is(.podcast-btn,.podcast-play-btn,.podcast-filter-btn) { min-height:44px; border-radius:8px; }
.hsp-podcast :is(.podcast-btn-primary,.podcast-play-btn) { color:white; background:var(--hd-primary); border-color:var(--hd-primary); }
/* Arcade chrome only: game logic, canvas dimensions, consent and worker stay untouched. */
.hsp-arcade { --ga-ink:var(--hd-ink); --ga-muted:var(--hd-muted); --ga-paper:var(--hd-bg); --ga-panel:var(--hd-surface); --ga-line:var(--hd-border); --ga-teal:var(--hd-primary); --ga-teal-dark:var(--hd-primary); --ga-gold:var(--hd-gold); --ga-shadow:none; padding-bottom:32px; }
.hsp-arcade .ga-wrap { width:calc(100% - 32px); max-width:1320px; padding-block:24px; }
.hsp-arcade .ga-title { font:500 clamp(2.4rem,4vw,3.8rem)/1.1 var(--hd-serif); color:var(--hd-primary); }
.hsp-arcade :is(.ga-hero-main,.ga-panel,.ga-game-shell,.ga-game-card,.ga-privacy-panel) { border-radius:12px; box-shadow:none; }
.hsp-arcade .ga-privacy-panel { background:var(--hd-sand); }
.hsp-arcade .ga-button { min-height:44px; border-radius:8px; }
.hsp-arcade .ga-dropzone { background:var(--hd-bg); border-color:#93a58b; }
.hsp-demo .demo-index-container { max-width:1320px; margin:auto; }
.hsp-demo :is(.demo-hero,.demo-header) { padding-block:28px; background:var(--hd-bg); color:var(--hd-primary); }
.hsp-demo :is(.demo-card,.demo-report-card,.demo-category) { color:var(--hd-ink); background:var(--hd-surface); border:1px solid var(--hd-border); box-shadow:none; }
/* Standalone private export retains its no-site-layout response. */
.hsp-marketing { min-height:100vh; padding:40px 16px; }
.hsp-marketing .mrv-container { width:100%; max-width:960px; margin:auto; padding:0; }
.hsp-marketing .mrv-card { background:var(--hd-surface); border:1px solid var(--hd-border); border-top:4px solid var(--hd-gold); border-radius:12px; padding:clamp(20px,4vw,40px); box-shadow:none; }
.hsp-marketing .mrv-header { text-align:left; }
.hsp-marketing .mrv-title { color:var(--hd-primary); font:500 clamp(2rem,4vw,3rem)/1.15 var(--hd-serif); }
.hsp-marketing :is(.mrv-subtitle,.mrv-help) { color:var(--hd-muted); }
.hsp-marketing .mrv-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.hsp-marketing :is(.mrv-format-field,.mrv-help,.mrv-button) { grid-column:1 / -1; }
.hsp-marketing .mrv-format-option { min-height:44px; display:flex; align-items:center; gap:10px; }
.hsp-marketing .mrv-button { min-height:44px; color:white; background:var(--hd-primary); border-color:var(--hd-primary); border-radius:8px; }
@media(max-width:991px) {
 .hsp-guide .pl-hero-inner,.hsp-spotlights .src-hero,.hsp-arcade .ga-hero { grid-template-columns:minmax(0,1fr); }
 .hsp-spotlights .src-hero-bg { order:2; height:240px; }
 .hsp-spotlights .ac-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hsp-guide .pe-reading-layout { grid-template-columns:minmax(0,1fr); }
 .hsp-legal :is(.sidebar,.toc-sidebar,.sticky-toc) { position:static; }
 .hsp-page .table { display:block; width:100%; max-width:100%; overflow-x:auto; }
}
@media(max-width:575px) {
 .hsp-onboarding-layout .onboarding-header-container { gap:8px; padding-inline:12px; }
 .hsp-onboarding-layout .onboarding-header-logo { min-width:0; flex-shrink:1; }
 .hsp-onboarding-layout .onboarding-logo-img { max-width:120px; height:auto; }
 .hsp-onboarding-layout .onboarding-header-end { gap:4px; }
 .hsp-onboarding-layout .onboarding-exit-link { min-height:44px; padding-inline:8px; }
 .hsp-page :is(.form-control,.custom-select,.form-select,input[type=date],input[type=email],input[type=password],input[type=text],select) { font-size:16px; }
 .hsp-page :is(.card-header,.card-footer,.form-inline,.btn-toolbar) { align-items:stretch; }
 .hsp-legal :is(.privacy-section,.cookies-section,.terms-section,.purchase-section,.policy-section,.legal-section) { padding:18px; }
 .hsp-guide .pl-hero-inner { padding-block:24px; }
 .hsp-guide .pl-wrap { width:calc(100% - 32px); }
 .hsp-kit .carousel-item { grid-template-columns:minmax(0,1fr); }
 .hsp-kit .carousel-item > img { grid-column:1; grid-row:2; height:140px; }
 .hsp-kit .carousel-caption { grid-column:1; grid-row:1; padding:20px; }
 .hsp-kit .card-body { padding:18px; }
 .hsp-spotlights .ac-gallery-grid { grid-template-columns:minmax(0,1fr); }
 .hsp-spotlights :is(.ac-hero,.src-hero) { padding-inline:16px; }
 .hsp-spotlights :is(.src-section-content,.src-chapter-header) { padding-inline:16px; }
 .hsp-spotlights { padding-bottom:80px; }
 .hsp-marketing .mrv-form { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
 .hsp-page *, .hsp-page *::before, .hsp-page *::after { scroll-behavior:auto !important; transition:none !important; }
}
