/* Odakon public design. Neutral scales: @radix-ui/colors 3.0.0 (MIT). */
body.od-public {
  --od-ink: var(--slate-12, #1c2024);
  --od-muted: var(--slate-11, #60646c);
  --od-paper: #fff;
  --od-surface: var(--slate-2, #f9f9fb);
  --od-soft: var(--slate-3, #f0f0f3);
  --od-line: var(--slate-6, #d9d9e0);
  --od-control-line: #8a929d;
  --od-brand: #16436f;
  --od-brand-hover: #103654;
  --od-selected: var(--blue-3, #e6f4fe);
  --od-focus: #0d74ce;
  --od-success: #166534;
  --od-success-bg: #f0fdf4;
  --od-notice: #7c2d12;
  --od-notice-bg: #fff7ed;
  --od-error: #b91c1c;
  --od-error-bg: #fef2f2;
  --od-inverse: #fff;
  --od-inverse-muted: #d9e8f6;
  --od-font: Archivo, Arial, sans-serif;
  --od-ease: cubic-bezier(.16,1,.3,1);
  --od-radius: 8px;
  --oe-ink: var(--od-ink);
  --oe-blue: var(--od-brand);
  --oe-deep: var(--od-brand-hover);
  --oe-mist: var(--od-surface);
  --oe-muted: var(--od-muted);
  --oe-line: var(--od-line);
  --oe-radius: 12px;
  color: var(--od-ink);
  background: var(--od-paper);
  font-family: var(--od-font);
  font-size: 16px;
  line-height: 1.65;
  accent-color: var(--od-brand);
  caret-color: var(--od-brand);
  scrollbar-color: #8a929d var(--od-surface);
}
.od-public :where(input, select, textarea, button) { font-family: var(--od-font); }
.od-public ::selection { color: #113264; background: #c2e5ff; }
.od-public :focus-visible { outline: 3px solid var(--od-focus); outline-offset: 4px; }
.od-public :where(a) { text-underline-offset: .22em; }
.od-public :where(h1,h2,h3,h4) { font-family: var(--od-font); text-wrap: balance; }
.od-public .oe { font-family: var(--od-font); font-size: 16px; line-height: 1.65; overflow: visible; }
.od-public .oe h1 { font-size: clamp(38px,4.3vw,56px); font-weight: 600; line-height: 1.08; letter-spacing: -.03em; }
.od-public .oe h2 { font-size: clamp(28px,3vw,36px); font-weight: 600; line-height: 1.17; letter-spacing: -.025em; }
.od-public .oe h3 { font-size: 23px; font-weight: 600; line-height: 1.3; letter-spacing: -.015em; }
.od-public .oe-wrap { width: min(100% - 80px, 1200px); }
.od-public .oe-section { padding-block: 80px; }
.od-public .oe-section-heading { grid-template-columns: 1.05fr 1fr; align-items: start; gap: 64px; margin-bottom: 32px; }
.od-public .oe-section-heading > p { max-width: 58ch; font-size: 16px; padding: 0; }
.od-public .oe :where(section[id],h2[id],h3[id]) { scroll-margin-top: 100px; }
.od-public .oe .oe-button { min-height: 50px; border-radius: var(--od-radius); padding: 12px 22px; gap: 12px; font-size: 16px; font-weight: 600; line-height: 1.5; transform: none; text-decoration: none; box-shadow: none; }
.od-public .oe .oe-button--blue { color: #fff; background: var(--od-brand); border-color: var(--od-brand); }
.od-public .oe .oe-button--blue:where(:hover,:active) { color: #fff; background: var(--od-brand-hover); border-color: var(--od-brand-hover); }
.od-public .oe .oe-button--line { color: var(--od-brand); border-color: var(--od-control-line); background: #fff; }
.od-public .oe .oe-button--line:where(:hover,:active) { color: var(--od-brand); background: var(--od-selected); border-color: var(--od-brand); }
.od-public .oe .oe-button--white { color: var(--od-brand); background: #fff; border-color: #fff; }
.od-public .oe .oe-button--white:where(:hover,:active) { color: var(--od-brand); background: var(--od-selected); border-color: var(--od-selected); }
.od-public .oe .oe-button:disabled { color: var(--od-muted); background: #e8e8ec; border-color: #cdced6; cursor: not-allowed; }
.od-public .oe .oe-text-link { font-size: 15px; font-weight: 500; gap: 8px; text-decoration-color: #9aa4b0; }
.od-public .oe .oe-text-link:hover { text-decoration-color: currentColor; }
.od-public .oe .oe-fine { font-size: 14px; }
.od-public .oe :focus-visible, .od-public .oe-import :focus-visible { outline-color: var(--od-focus); }
.od-public .oe :where(.oe-close,.oe-software) :focus-visible { outline-color: #fff; }
.od-public .oe-search > div:focus-within { outline-color: var(--od-focus); }
.od-public .oe-search input { font-size: 16px; }
.od-public .oe-search input::placeholder { color: var(--od-muted); }

/* Public shell: same content edges and restrained, consistent actions. */
.od-public .odakon-account-header { background: #fff; border-bottom: 1px solid var(--od-line); box-shadow: none; }
.od-public .odakon-account-header-inner { max-width: 1360px; height: 72px; gap: 24px; }
.od-public .odakon-account-logo-brand { color: var(--od-ink); font-size: 20px; font-weight: 650; }
.od-public .odakon-account-logo-tagline { color: var(--od-muted); font-size: 11px; letter-spacing: .01em; }
.od-public .odakon-account-nav { margin-left: 4px; }
.od-public .odakon-account-nav-link { color: #424851; font-size: 14px; padding-inline: 10px; font-weight: 500; }
.od-public .odakon-account-nav-link:hover, .od-public .odakon-account-nav [aria-current], .od-public .odakon-account-nav-dropdown[data-current] > button { color: var(--od-brand); background: var(--od-surface); }
.od-public .odakon-account-nav [aria-current] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.od-public .odakon-account-cta { color: var(--od-brand); background: #fff; border: 1px solid var(--od-line); min-height: 40px; border-radius: 8px; }
.od-public .odakon-account-cta:hover { color: var(--od-brand); background: var(--od-surface); border-color: #8a929d; transform: none; }
.od-public .odakon-account-cta svg { color: #166534; }
.od-public .odakon-account-nav-link--fcc-action { background: #fff; color: var(--od-brand); border-color: var(--od-line); min-height: 40px; }
.od-public .odakon-mobile-nav [aria-current] { color: var(--od-brand); background: var(--od-selected); }
.od-public .odakon-lang-dropdown__trigger { min-height: 44px; min-width: 44px; }
.od-public .site-footer { color: var(--od-muted); background: var(--od-surface); padding-top: 48px; border-top: 1px solid var(--od-line); }
.od-public .site-footer > .container { max-width: 1200px; width: calc(100% - 80px); padding-inline: 0; }
.od-public .footer-top { gap: 36px; padding-bottom: 32px; }
.od-public .footer-title { color: var(--od-ink); font-size: 17px; line-height: 1.4; font-weight: 600; margin-bottom: 16px; }
.od-public .footer-description, .od-public .footer-menu a, .od-public .footer-contact-list, .od-public .footer-contact-list a { color: var(--od-muted); font-size: 14px; line-height: 1.6; }
.od-public .footer-contact-list span { color: var(--od-muted); }
.od-public .footer-menu a:hover, .od-public .footer-contact-list a:hover { color: var(--od-brand); }
.od-public .footer-disclaimer { color: var(--od-muted) !important; font-size: 12px !important; line-height: 1.6 !important; }
.od-public .footer-social a { color: var(--od-brand); background: #fff; border: 1px solid var(--od-line); box-shadow: none; }
.od-public .footer-bottom { border-color: var(--od-line); padding-block: 24px; }
.od-public .footer-copyright, .od-public .footer-copyright span { color: var(--od-muted) !important; line-height: 1.6; }

/* Homepage: one introduction, photographic evidence, then indexed service chapters. */
.op-opening { padding-top: 56px; }
.op-opening-grid { display: grid; grid-template-columns: 1fr 1.04fr; gap: 64px; align-items: center; }
.op-opening-copy h1 { max-width: 15ch; }
.op-opening-copy > p { color: var(--od-muted); font-size: 18px; line-height: 1.65; margin-top: 24px; max-width: 48ch; }
.op-opening-copy .oe-actions { margin-top: 28px; }
.op-opening-copy > .op-tracking { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; color: var(--od-brand); font-size: 15px; text-decoration: underline; }
.op-opening-copy > .op-tracking .oe-icon { width: 16px; height: 16px; flex-basis: 16px; }
.op-opening-photo { margin: 0; min-width: 0; }
.op-opening-photo img { width: 100%; height: 408px; object-fit: cover; object-position: 50% 50%; border-radius: 12px; }
.op-opening-photo figcaption { color: var(--od-muted); display: flex; gap: 16px; justify-content: space-between; margin-top: 12px; font-size: 13px; line-height: 1.5; }
.op-page-index { display: flex; gap: 32px; align-items: center; flex-wrap: wrap; margin-top: 40px; padding-block: 20px; border-block: 1px solid var(--od-line); }
.op-page-index a { color: var(--od-brand); font-size: 15px; line-height: 1.6; text-decoration: none; padding-block: 4px; }
.op-page-index a:hover { text-decoration: underline; }
.od-public .oe-process-section { background: #fff; }
.od-public .oe-process { gap: 28px; }
.od-public .oe-process li { border-color: var(--od-line); padding-top: 20px; }
.od-public .oe-step { color: var(--od-brand); font-size: 28px; margin-bottom: 20px; }
.od-public .oe-process h3 { font-size: 21px; margin-bottom: 10px; }
.od-public .oe-process p { font-size: 15px; }
.od-public .oe-process li > a { font-size: 14px; margin-top: 18px; }
.od-public .oe-process-footer { margin-top: 28px; padding-top: 22px; gap: 32px; }
.od-public .oe-process-footer p { font-size: 14px; }
.od-public .oe-care { border-top: 1px solid var(--od-line); }
.od-public .oe-repair-index > a { padding-block: 22px; }
.od-public .oe-repair-index strong { font-size: 25px; font-weight: 550; }
.od-public .oe-repair-index small { font-size: 15px; margin-top: 5px; }
.od-public .oe-inline-note { gap: 48px; font-size: 15px; }
.op-prep-entry { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; margin-top: 40px; padding: 28px 32px; background: var(--od-surface); border-radius: 12px; }
.od-public .op-prep-entry h3 { font-size: 23px; }
.op-prep-entry p { color: var(--od-muted); margin-top: 10px; font-size: 15px; }
.op-prep-entry label { display: block; font-size: 14px; font-weight: 550; margin-bottom: 8px; }
.op-prep-control { display: flex; align-items: stretch; gap: 10px; }
.op-prep-control select { min-width: 0; width: 100%; flex: 1; height: 50px; border: 1px solid var(--od-control-line); border-radius: 8px; color: var(--od-ink); background: #fff; padding: 10px 12px; font-size: 16px; }
.od-public .op-prep-control .oe-button { flex: 0 0 auto; }
.od-public .oe-library { border-top: 1px solid var(--od-line); }
.od-public .oe-library-tools { gap: 32px; margin-bottom: 32px; }
.od-public .oe-map-link { padding: 22px; border-radius: 12px; background: var(--od-selected); color: var(--od-brand) !important; }
.od-public .oe-map-link small { color: #424f5d; font-size: 14px; margin-top: 5px; }
.od-public .oe-map-link strong { font-size: 17px; }
.od-public .oe-articles { gap: 28px; }
.od-public .oe-article-image { aspect-ratio: 1.65; border-radius: 8px; margin-bottom: 16px; }
.od-public .oe-article-image img { transition: none; }
.od-public .oe-article-image:hover img { transform: none; }
.od-public .oe-article h3 { font-size: 21px; font-weight: 550; margin-top: 8px; }
.od-public .oe-article time { font-size: 13px; }
.od-public .oe-article > .oe-text-link { margin-top: 14px; font-size: 14px; }
.od-public .oe-library-links { margin-top: 28px; padding-top: 20px; }
.od-public .oe-software { background: var(--od-surface); color: var(--od-ink); padding-block: 80px; }
.od-public .oe-software .oe-section-heading > p, .od-public .oe-product p, .od-public .oe-fcc-detail span, .od-public .oe-fcc-detail a { color: var(--od-muted); }
.od-public .oe-product { grid-template-columns: 1fr 1.2fr; gap: 64px; padding-top: 32px; border-color: var(--od-line); }
.od-public .oe-product h3 { font-size: 28px; }
.od-public .oe-product p { font-size: 16px; margin-block: 16px 24px; }
.od-public .oe-product-screen { padding: 8px; background: #e8e8ec; border-radius: 12px; }
.od-public .oe-product-screen img { border-radius: 6px; }
.od-public .oe-product--fcc { grid-template-columns: 1.5fr 1fr; margin-top: 36px; }
.od-public .oe-product--fcc .oe-actions { gap: 20px; }
.od-public .oe-fcc-detail strong { font-size: 34px; }
.od-public .oe-regions { padding-block: 72px; }
.od-public .oe-region summary { font-size: 17px; font-weight: 550; }
.od-public .oe-region-cities a { font-size: 14px; color: #424851; background: var(--od-surface); border-radius: 6px; }
.od-public .oe-region-cities a:hover { color: var(--od-brand); background: var(--od-selected); }
.od-public .oe-news-section { background: #fff; border-top: 1px solid var(--od-line); padding-block: 64px; }
.od-public .oe-news-layout { gap: 48px; }
.od-public .oe-news-layout h2 { font-size: 30px; }
.od-public .oe-news-list article { gap: 20px; padding-block: 18px; }
.od-public .oe-news-list h3 { font-size: 19px; font-weight: 550; }
.od-public .oe-close { background: var(--od-brand-hover); padding-block: 56px; }
.od-public .oe-close h2 { color: #fff; font-size: 36px; }
.od-public .oe-close p { color: var(--od-inverse-muted); font-size: 16px; }
.od-public .oe-close-phone { color: #fff; font-size: 16px; }
.od-public .oe-software :focus-visible { outline-color: var(--od-focus); }

/* DJI detail: searchable families, repair index and real component photographs. */
.od-public .oe-breadcrumb { font-size: 14px; margin-bottom: 28px; }
.od-public .op-dji .op-opening { padding-top: 30px; }
.od-public .op-dji .op-opening-copy h1 { max-width: 18ch; }
.op-model-section, .op-issues-section { background: var(--od-surface); }
.od-public .op-model-section .oe-model-search { max-width: 560px; margin: 0 0 24px; }
.od-public .oe .oe-model-search input { font-size: 16px; min-height: 50px; border-color: var(--od-control-line); border-radius: 8px; caret-color: var(--od-brand); }
.od-public .oe-model-search p { font-size: 14px; color: var(--od-muted); min-height: 1.5em; }
.op-model-index { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; align-items: start; }
.op-model-group { border: 1px solid var(--od-line); background: #fff; border-radius: 8px; }
.op-model-group summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; min-height: 64px; list-style: none; cursor: pointer; font-size: 18px; font-weight: 550; }
.op-model-group summary::-webkit-details-marker { display: none; }
.op-model-group summary:hover { color: var(--od-brand); }
.op-model-group summary .oe-icon { width: 18px; height: 18px; flex-basis: 18px; transition: transform .16s var(--od-ease); }
.op-model-group[open] summary .oe-icon { transform: rotate(180deg); }
.op-model-group[open] summary { border-bottom: 1px solid var(--od-line); color: var(--od-brand); }
.op-model-group ul { list-style: none; padding: 14px 20px 18px; margin: 0; }
.op-model-group li { font-size: 15px; line-height: 1.6; padding: 4px 0; }
.op-model-help { margin-top: 24px; color: var(--od-muted); font-size: 15px; }
.op-model-help a { color: var(--od-brand); text-decoration: underline; }
.op-repair-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 64px; }
.op-repair-grid article { padding-block: 28px; border-top: 1px solid var(--od-line); scroll-margin-top: 100px; }
.od-public .op-repair-grid h3 { font-size: 24px; }
.op-repair-grid p { margin-top: 12px; color: var(--od-muted); font-size: 16px; max-width: 62ch; }
.op-repair-grid ul { display: flex; flex-wrap: wrap; list-style: none; gap: 6px 18px; padding: 0; margin: 18px 0 0; }
.op-repair-grid li { color: #424851; font-size: 14px; }
.op-repair-grid li::before { content: '·'; margin-right: 7px; color: var(--od-brand); }
.op-work-photos { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 24px; }
.op-work-photos figure { margin: 0; min-width: 0; }
.op-work-photos img { display: block; width: 100%; aspect-ratio: 1.35; object-fit: cover; border-radius: 8px; }
.op-work-photos figcaption { font-size: 14px; color: var(--od-muted); margin-top: 12px; }
.op-issues-index { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 64px; }
.op-issues-index a { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 0; border-top: 1px solid var(--od-line); text-decoration: none; }
.op-issues-index a:hover strong { color: var(--od-brand); text-decoration: underline; text-underline-offset: .2em; }
.op-issues-index strong { display: block; font-size: 19px; font-weight: 550; }
.op-issues-index small { display: block; font-size: 15px; color: var(--od-muted); margin-top: 4px; }
.op-issues-index .oe-icon { color: var(--od-brand); }
.od-public .oe-faq p { font-size: 16px; }
.op-faq-answer p { margin: 0; }
.op-related { display: flex; flex-wrap: wrap; gap: 24px 40px; padding-block: 24px 48px; border-top: 1px solid var(--od-line); }
.op-related a { display: inline-flex; align-items: center; gap: 12px; color: var(--od-brand); font-size: 15px; text-decoration: underline; }
.op-related .oe-icon { width: 18px; height: 18px; flex-basis: 18px; }
.op-close-contact { display: inline-flex; align-items: center; gap: 10px; margin-top: 12px; color: #fff; text-decoration: underline; font-size: 15px; }

/* Service overview has an instructional opening, distinct from the repair catalogue. */
.op-service-intro { padding-top: 32px; }
.op-service-lead { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; padding-top: 24px; align-items: start; }
.op-service-lead h1 { max-width: 15ch; }
.op-service-lead p { color: var(--od-muted); font-size: 18px; margin-bottom: 24px; max-width: 52ch; }
.op-service-lead .oe-text-link { display: flex; width: fit-content; margin-top: 22px; }
.od-public .oe-service-page .oe-service-catalog { gap: 32px; }
.od-public .oe-service-catalog p { font-size: 16px; margin-top: 14px; }
.od-public .oe-service-catalog a { font-size: 15px; margin-top: 20px; font-weight: 500; }
.od-public .oe-service-catalog .oe-catalog-link { background: var(--od-selected); color: var(--od-brand); }
.od-public .oe-service-catalog .oe-catalog-link p { color: #424f5d; }
.od-public .oe-service-prepare { border-top: 1px solid var(--od-line); gap: 64px; }
.od-public .oe-service-prepare > div > p { font-size: 16px; }
.od-public .oe-preparation-sample { padding: 32px; background: var(--od-surface); border: 0; }
.od-public .oe-check-list li { font-size: 16px; }
.od-public .oe-faq-section { background: var(--od-surface); }
.od-public .oe .oe-button--light-line { color: #fff; background: transparent; border-color: #8ca5bc; }
.od-public .oe .oe-button--light-line:hover { color: #fff; background: #16436f; border-color: #fff; }

/* Preparation states share the same controls, focus and semantic colours. */
.od-public .oe-page-intro { padding-top: 32px; padding-bottom: 40px; }
.od-public .oe-page-intro h1 { max-width: 24ch; }
.od-public .oe-page-intro > p { max-width: 64ch; font-size: 17px; }
.od-public .oe-page-jumps { gap: 12px 28px; font-size: 15px; font-weight: 500; border-bottom: 1px solid var(--od-line); padding-bottom: 22px; }
.od-public .oe-page-jumps a { color: var(--od-brand); }
.od-public .oe-prep-section > h2 { font-size: 30px; margin-bottom: 28px; }
.od-public .oe-prep-controls, .od-public .oe-prep-output { padding: 32px; }
.od-public .oe-prep-output h3 { font-size: 25px; }
.od-public .oe-prep-output p:not(.oe-fine):not(.oe-status) { font-size: 16px; }
.od-public .oe-field select, .od-public .oe-note-fields input, .od-public .oe-note-fields textarea { border-color: var(--od-control-line); border-radius: 8px; caret-color: var(--od-brand); font-size: 16px; min-height: 50px; }
.od-public .oe input::placeholder, .od-public .oe textarea::placeholder { color: var(--od-muted); }
.od-public .oe-field label, .od-public .oe-note-fields label, .od-public .oe-issues legend { font-size: 15px; font-weight: 550; }
.od-public .oe-issue-option > span { border-color: var(--od-line); border-radius: 8px; min-height: 50px; font-size: 15px; }
.od-public .oe-issue-option:hover > span { border-color: var(--od-brand); }
.od-public .oe-issue-option input:checked + span { background: var(--od-brand); color: #fff; border-color: var(--od-brand); }
.od-public .oe-issue-option input:focus-visible + span { outline-color: var(--od-focus); }
.od-public .oe .oe-show-result:disabled { color: var(--od-muted); background: #e8e8ec; border-color: #cdced6; }
.od-public .oe-prep-empty { padding-top: 20px; }
.od-public .oe-note-preview summary, .od-public .oe-note-preview pre { font-size: 14px; }
.od-public .oe .oe-prep-actions .oe-button { font-size: 15px; padding-inline: 18px; }
.od-public .oe-status { font-size: 14px; color: #166534; }
.od-public .oe-notice, .od-public .oe-shipping-layout .oe-notice { background: #fff7ed; color: #7c2d12; border: 1px solid #edc9aa; border-radius: 8px; }
.od-public .oe-shipping-layout > div > p { font-size: 16px; }
.od-public .oe-check-item { border-color: var(--od-line); }
.od-public .oe-check-item strong { font-size: 16px; font-weight: 550; }
.od-public .oe-check-item small { font-size: 15px; line-height: 1.6; }
.od-public .oe-check-item:has(input:checked) strong { color: #166534; }
.od-public .oe-check-progress > span { font-size: 14px; }
.od-public .oe-check-progress progress, .od-public .oe-check-progress progress::-webkit-progress-bar { background: #d9d9e0; }
.od-public .oe .oe-check-actions .oe-button { font-size: 15px; }

/* Public application entry: a clear guest route and a secondary account route. */
body.od-public.sb-fullscreen { --sb-font: var(--od-font); --sb-primary: var(--od-brand); --sb-accent: var(--od-brand); }
.od-public .oe-apply-entry { width: 100%; padding: 40px max(40px,calc((100vw - 1200px)/2)) 0; }
.od-public .oe-entry-logo small { font-family: var(--od-font); font-size: 12px; }
.od-public .oe-entry-layout { gap: 64px; padding-block: 56px 40px; }
.od-public .oe-entry-intro h1 { font-size: 48px; max-width: 16ch; }
.od-public .oe-entry-intro > p { font-size: 17px; max-width: 53ch; margin-block: 24px; }
.od-public .oe-entry-choices { border: 1px solid var(--od-line); border-radius: 12px; }
.od-public .oe-entry-choices section { padding: 32px; }
.od-public .oe-entry-choices h2 { font-size: 27px; line-height: 1.2; }
.od-public .oe-entry-choices p { color: var(--od-muted); font-size: 16px; line-height: 1.6; margin-block: 16px 24px; }
.od-public .oe-entry-guest { background: var(--od-surface); color: var(--od-ink); }
.od-public .oe-entry-account { border-top: 1px solid var(--od-line); }
.od-public .oe-entry-foot { font-size: 14px; }
.od-public .oe-entry-foot a { font-size: 17px; font-weight: 500; color: var(--od-brand); }
.od-public .oe-entry-back { color: var(--od-brand); font-size: 15px; }

/* Guest form keeps its established steps and uses the public visual system. */
body.od-public.msf-fullscreen {
  --msf-font: var(--od-font); --msf-primary: var(--od-brand); --msf-primary-light: var(--od-brand-hover);
  --msf-accent: var(--od-brand); --msf-highlight: var(--od-brand); --msf-success: #166534; --msf-warning: #7c2d12; --msf-error: #b91c1c;
  --msf-gray-50: var(--od-surface); --msf-gray-100: var(--od-soft); --msf-gray-200: var(--od-line); --msf-gray-300: var(--od-control-line);
  --msf-gray-400: var(--od-muted); --msf-gray-500: var(--od-muted); --msf-gray-600: var(--od-muted); --msf-gray-700: #424851; --msf-gray-800: var(--od-ink); --msf-gray-900: var(--od-ink);
  --msf-radius: 8px; --msf-radius-lg: 12px; --msf-radius-xl: 12px; --msf-shadow: none; --msf-shadow-lg: none;
  --msf-transition: background-color .16s var(--od-ease), color .16s var(--od-ease), border-color .16s var(--od-ease);
}
.od-public .msf-container { max-width: 960px; }
.od-public .msf-header { box-shadow: none; border-color: var(--od-line); }
.od-public .msf-progress { background: var(--od-surface); border-color: var(--od-line); }
.od-public .msf-progress__text { font-size: 14px; }
.od-public .msf-progress__number { border-color: var(--od-control-line); color: var(--od-muted); }
.od-public .msf-progress__step.active .msf-progress__number, .od-public .msf-progress__step.completed .msf-progress__number { color: #fff; }
.od-public .msf-content { padding-top: 32px; }
.od-public .msf-form__section.active { animation: none; opacity: 1; }
.od-public .msf-page-intro { max-width: none !important; }
.od-public .msf-page-intro h1 { color: var(--od-ink) !important; font-size: 36px !important; font-weight: 600; letter-spacing: -.025em; }
.od-public .msf-section-title { font-size: 24px; font-weight: 600; }
.od-public .msf-section-desc { font-size: 16px; }
.od-public .msf-label { font-size: 15px; font-weight: 550; }
.od-public .msf-input, .od-public .msf-select, .od-public .msf-textarea { min-height: 50px; font-size: 16px; border-color: var(--od-control-line); caret-color: var(--od-brand); }
.od-public .msf-input:focus, .od-public .msf-select:focus, .od-public .msf-textarea:focus { border-color: var(--od-brand); box-shadow: none; }
.od-public .msf-field-hint, .od-public .msf-hint { font-size: 14px; }
.od-public .msf-brand-card { min-height: 50px; border-color: var(--od-control-line); }
.od-public .msf-brand-card__name { font-size: 16px; }
.od-public .msf-brand-card.selected, .od-public .msf-delivery-card.selected { background: var(--od-selected); box-shadow: none; border-color: var(--od-brand); }
.od-public .msf-brand-card.disabled { opacity: 1; color: var(--od-muted); background: var(--od-soft); border-color: var(--od-line); }
.od-public .msf-seri-item, .od-public .msf-model-item { min-height: 44px; border-radius: 8px; font-size: 15px; padding: 10px 16px; border-color: var(--od-control-line); }
.od-public .msf-delivery-card { text-align: left; border-color: var(--od-control-line); }
.od-public .msf-delivery-card__title, .od-public .msf-delivery-card__desc { display: block; }
.od-public .msf-delivery-card__title { font-size: 17px; font-weight: 550; }
.od-public .msf-delivery-card__desc { font-size: 15px; }
.od-public .msf-upload-option { min-height: 50px; }
.od-public .msf-upload-option__text { font-size: 15px; }
.od-public .msf-btn { min-height: 50px; padding-inline: 18px; font-size: 16px; font-weight: 550; border: 1px solid transparent; box-shadow: none; }
.od-public .msf-btn--primary, .od-public .msf-btn--success { background: var(--od-brand); color: #fff; }
.od-public .msf-btn--primary:hover, .od-public .msf-btn--success:hover { background: var(--od-brand-hover); color: #fff; }
.od-public .msf-btn--secondary { border-color: var(--od-control-line); background: #fff; color: var(--od-brand); }
.od-public .msf-btn:disabled { background: #e8e8ec; color: var(--od-muted); border-color: var(--od-line); cursor: not-allowed; }
.od-public .msf-form__nav { max-width: none; left: 0; right: 0; transform: none; margin: 0; padding: 16px max(20px,calc((100vw - 920px)/2)); border-radius: 0; box-shadow: none; border-color: var(--od-line); justify-content: space-between; }
.od-public .msf-form__nav .msf-btn { min-width: 130px; }
.od-public .msf-checkbox { position: relative; }
.od-public .msf-checkbox input { display: block; position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.od-public .msf-checkbox input:focus-visible + .msf-checkbox__box { outline: 3px solid var(--od-focus); outline-offset: 4px; }
.od-public .msf-checkbox__text { font-size: 15px; }
.od-public .msf-error-text { color: #b91c1c; font-size: 14px; margin: 8px 0 0; }
.od-public .msf-input[aria-invalid], .od-public .msf-select[aria-invalid], .od-public .msf-textarea[aria-invalid] { border-color: #b91c1c; }
.od-public .oe-import { background: var(--od-selected); border-color: var(--od-brand); color: var(--od-ink); border-radius: 8px; }
.od-public .oe-import button { color: var(--od-brand); }

/* Company information: verifiable facts and a photographic service workspace. */
.op-about-intro { padding-top: 32px; }
.od-public .op-about-lede { max-width: 66ch; margin-top: 24px; color: var(--od-muted); font-size: 19px; line-height: 1.65; }
.op-about-evidence { display: grid; grid-template-columns: 1.65fr 1fr; gap: 64px; align-items: center; margin-top: 40px; }
.op-about-evidence figure { margin: 0; min-width: 0; }
.op-about-evidence img { display: block; width: 100%; height: 420px; object-fit: cover; object-position: 50% 50%; border-radius: 12px; }
.op-about-evidence figcaption { color: var(--od-muted); font-size: 14px; margin-top: 12px; }
.op-about-facts dl { margin: 0; }
.op-about-facts dl > div { padding-block: 17px; border-top: 1px solid var(--od-line); }
.op-about-facts dt { font-size: 14px; color: var(--od-muted); }
.op-about-facts dd { margin: 6px 0 0; font-size: 18px; line-height: 1.4; }
.op-about-facts > a { margin-top: 20px; }
.op-about-story { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; }
.op-about-story p { font-size: 17px; color: var(--od-muted); margin-bottom: 20px; }
.op-about-principles { background: var(--od-surface); }
.op-about-rows article { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; padding-block: 28px; border-top: 1px solid var(--od-line); }
.od-public .op-about-rows h3 { font-size: 25px; }
.op-about-rows p { font-size: 16px; color: var(--od-muted); }
.op-about-rows a { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; color: var(--od-brand); font-size: 15px; text-decoration: underline; }
.op-about-rows a .oe-icon { width: 18px; height: 18px; flex-basis: 18px; }
.op-about-guide-links { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
.op-about-guide-links a { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; border-block: 1px solid var(--od-line); text-decoration: none; }
.op-about-guide-links strong { display: block; color: var(--od-brand); font-size: 23px; font-weight: 550; }
.op-about-guide-links small { display: block; color: var(--od-muted); font-size: 16px; margin-top: 8px; }

/* Contact details: distinct phone and WhatsApp lines, with location alongside. */
.op-contact-intro { padding-top: 32px; }
.op-contact-intro h1 { max-width: 26ch; }
.od-public .op-contact-lede { max-width: 72ch; margin-top: 24px; font-size: 18px; color: var(--od-muted); }
.op-contact-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 64px; margin-top: 40px; align-items: start; }
.od-public .op-contact-grid h2 { font-size: 28px; }
.op-contact-channels > p { color: var(--od-muted); margin-top: 16px; font-size: 16px; }
.op-contact-channels .oe-actions { margin-top: 24px; gap: 12px; }
.od-public .op-contact-channels .oe-button { padding-inline: 18px; font-size: 15px; }
.op-contact-details { margin: 30px 0 0; }
.op-contact-details > div { display: grid; grid-template-columns: 110px 1fr; align-items: baseline; gap: 16px; padding-block: 17px; border-top: 1px solid var(--od-line); }
.op-contact-details dt { font-size: 15px; color: var(--od-muted); }
.op-contact-details dd { margin: 0; font-size: 18px; min-width: 0; }
.op-contact-details a { color: var(--od-brand); text-decoration: underline; overflow-wrap: anywhere; }
.op-contact-channels .op-contact-record { font-size: 15px; margin-top: 20px; }
.op-contact-record a { color: var(--od-brand); text-decoration: underline; }
.op-contact-location { padding: 32px; background: var(--od-surface); border-radius: 12px; }
.op-contact-location address { font-style: normal; font-size: 18px; margin-top: 20px; }
.op-contact-location > a { margin-top: 20px; }
.op-contact-location > p { font-size: 15px; color: var(--od-muted); margin-top: 24px; }
.op-contact-location .op-business-identity { font-size: 13px; padding-top: 20px; border-top: 1px solid var(--od-line); }
.op-contact-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px; }
.op-contact-quick a { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 24px; border-top: 1px solid var(--od-line); text-decoration: none; }
.op-contact-quick strong { display: block; color: var(--od-brand); font-size: 22px; font-weight: 550; }
.op-contact-quick small { display: block; color: var(--od-muted); font-size: 16px; margin-top: 10px; }
.op-contact-quick a:hover strong { text-decoration: underline; text-underline-offset: .2em; }
.op-contact-map { padding-bottom: 8px; }
.op-contact-map iframe { display: block; width: 100%; height: 360px; border: 1px solid var(--od-line); border-radius: 12px; background: var(--od-surface); }
.op-contact-resources { background: var(--od-surface); }

@media (max-width: 1180px) {
  .od-public .odakon-account-header-inner { gap: 16px; }
  .od-public .odakon-account-nav-link { padding-inline: 8px; font-size: 13px; }
  .op-opening-grid { gap: 40px; }
}
@media (max-width: 1000px) {
  .od-public .oe-wrap { width: calc(100% - 64px); }
  .op-opening-grid { grid-template-columns: 1fr; gap: 32px; }
  .op-opening-copy h1 { max-width: 20ch; }
  .op-opening-copy > p { max-width: 65ch; }
  .op-opening-photo img { height: 360px; }
  .od-public .oe-section-heading { gap: 36px; }
  .op-prep-entry { grid-template-columns: 1fr; gap: 24px; }
  .od-public .oe-product { gap: 36px; }
  .op-model-index { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .op-repair-grid, .op-issues-index { column-gap: 36px; }
  .op-service-lead { gap: 36px; }
  .od-public .oe-entry-layout { gap: 36px; }
  .op-about-evidence { gap: 36px; }
  .op-about-story, .op-about-rows article { gap: 36px; }
  .op-contact-grid { gap: 36px; grid-template-columns: 1fr 1fr; }
  .op-contact-quick { column-gap: 36px; }
  .od-public .oe-service-page .oe-service-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 740px) {
  .od-public .odakon-account-header-inner { height: 64px; padding-inline: 20px; }
  .od-public .odakon-account-logo-brand { font-size: 19px; }
  .od-public .odakon-mobile-menu-toggle, .od-public .odakon-account-user { min-width: 44px; min-height: 44px; }
  .od-public .oe-wrap { width: calc(100% - 40px); }
  .od-public .oe h1 { font-size: 38px; line-height: 1.1; }
  .od-public .oe h2 { font-size: 28px; }
  .od-public .oe-section { padding-block: 52px; }
  .od-public .oe-section-heading { grid-template-columns: 1fr; gap: 16px; margin-bottom: 26px; }
  .od-public .oe-section-heading > p { font-size: 16px; }
  .od-public .oe-breadcrumb { font-size: 13px; gap: 8px; margin-bottom: 24px; }
  .od-public .op-dji .op-opening { padding-top: 24px; }
  .op-model-index, .op-repair-grid, .op-issues-index { grid-template-columns: 1fr; }
  .op-model-index { gap: 12px; }
  .op-model-group summary { padding: 16px 18px; min-height: 58px; }
  .op-repair-grid article { padding-block: 24px; }
  .od-public .op-repair-grid h3 { font-size: 22px; }
  .op-work-photos { gap: 28px; grid-template-columns: 1fr; }
  .op-work-photos img { aspect-ratio: 1.55; }
  .op-related { flex-direction: column; gap: 20px; padding-block: 24px 36px; }
  .op-service-intro { padding-top: 24px; }
  .op-service-lead { grid-template-columns: 1fr; gap: 22px; padding-top: 0; }
  .op-service-lead p { font-size: 16px; }
  .op-service-lead .oe-button { width: 100%; }
  .od-public .oe-service-page .oe-service-catalog { grid-template-columns: 1fr; gap: 28px; }
  .od-public .oe-service-prepare { gap: 28px; }
  .od-public .oe-preparation-sample { padding: 24px; }
  .od-public .oe-page-intro { padding-top: 24px; padding-bottom: 32px; }
  .od-public .oe-page-intro > p { font-size: 16px; }
  .od-public .oe-page-jumps { gap: 8px 24px; font-size: 14px; }
  .od-public .oe-prep-section > h2 { font-size: 27px; margin-bottom: 24px; }
  .od-public .oe-prep-controls, .od-public .oe-prep-output { padding: 24px 20px; }
  .od-public .oe-prep-output h3 { font-size: 23px; }
  .od-public .oe .oe-prep-actions .oe-button { font-size: 15px; }
  .od-public .oe-apply-entry { width: 100%; padding: 24px 20px 0; }
  .od-public .oe-entry-layout { gap: 30px; padding-block: 36px 28px; }
  .od-public .oe-entry-intro h1 { font-size: 36px; }
  .od-public .oe-entry-intro > p { font-size: 16px; margin-block: 18px; }
  .od-public .oe-entry-choices section { padding: 24px 20px; }
  .od-public .oe-entry-choices h2 { font-size: 25px; }
  .od-public .oe .oe-entry-choices .oe-button { font-size: 15px; padding-inline: 16px; gap: 10px; }
  .od-public .msf-container { padding-inline: 20px; }
  .od-public .msf-page-intro h1 { font-size: 30px !important; }
  .od-public .msf-progress__text { font-size: 12px; }
  .od-public .msf-section-title { font-size: 22px; }
  .od-public .msf-delivery-grid { grid-template-columns: 1fr; }
  .op-about-intro { padding-top: 24px; }
  .od-public .op-about-lede { font-size: 17px; margin-top: 18px; }
  .op-about-evidence, .op-about-story, .op-about-rows article, .op-about-guide-links { grid-template-columns: 1fr; gap: 24px; }
  .op-about-evidence { margin-top: 28px; }
  .op-about-evidence img { height: 290px; }
  .op-about-evidence figcaption { font-size: 13px; }
  .op-about-facts dl > div { display: grid; grid-template-columns: 95px 1fr; gap: 16px; align-items: start; padding-block: 16px; }
  .op-about-facts dd { margin: 0; font-size: 16px; }
  .op-about-story p { font-size: 16px; }
  .op-about-rows article { gap: 16px; padding-block: 24px; }
  .od-public .op-about-rows h3 { font-size: 23px; }
  .op-about-guide-links { gap: 0; }
  .op-about-guide-links a + a { border-top: 0; }
  .op-contact-intro { padding-top: 24px; }
  .od-public .op-contact-lede { font-size: 16px; margin-top: 20px; }
  .op-contact-grid { grid-template-columns: 1fr; gap: 32px; margin-top: 32px; }
  .od-public .op-contact-grid h2 { font-size: 25px; }
  .op-contact-channels .oe-actions { flex-direction: column; align-items: stretch; }
  .od-public .op-contact-channels .oe-button { font-size: 16px; }
  .op-contact-details > div { grid-template-columns: 85px 1fr; gap: 14px; }
  .op-contact-details dd { font-size: 16px; }
  .op-contact-location { padding: 24px; }
  .op-contact-location address { font-size: 17px; }
  .op-contact-quick { grid-template-columns: 1fr; }
  .op-contact-quick strong { font-size: 21px; }
  .op-contact-map iframe { height: 320px; }
  .op-opening { padding-top: 32px; }
  .op-opening-copy h1 { max-width: 16ch; }
  .op-opening-copy > p { margin-top: 18px; font-size: 16px; }
  .op-opening-copy .oe-actions { margin-top: 22px; gap: 12px; }
  .op-opening-copy .oe-button { width: 100%; }
  .op-opening-copy > .op-tracking { margin-top: 18px; min-height: 32px; }
  .op-opening-grid { gap: 24px; }
  .op-opening-photo img { height: 248px; border-radius: 10px; }
  .op-opening-photo figcaption { font-size: 12px; gap: 12px; }
  .op-page-index { gap: 8px 24px; margin-top: 24px; padding-block: 14px; }
  .op-page-index a { min-height: 36px; display: flex; align-items: center; font-size: 14px; }
  .od-public .oe-process { gap: 24px; }
  .od-public .oe-process li { padding-top: 0; }
  .od-public .oe-step { margin-bottom: 0; font-size: 25px; }
  .od-public .oe-process h3 { font-size: 21px; }
  .od-public .oe-process p, .od-public .oe-process-footer p { font-size: 15px; }
  .od-public .oe-process-footer { align-items: flex-start; gap: 18px; }
  .od-public .oe-repair-index > a { gap: 16px; padding-block: 20px; }
  .od-public .oe-repair-index strong { font-size: 22px; }
  .od-public .oe-repair-index small { font-size: 15px; }
  .od-public .oe-inline-note { grid-template-columns: 1fr; gap: 16px; }
  .od-public .oe-inline-note .oe-text-link { justify-self: start; }
  .op-prep-entry { padding: 24px 20px; margin-top: 28px; }
  .op-prep-control { flex-direction: column; }
  .od-public .oe .op-prep-entry h3 { font-size: 22px; }
  .od-public .oe-library-tools { grid-template-columns: 1fr; gap: 24px; }
  .od-public .oe-map-link { padding: 20px; }
  .od-public .oe-articles { gap: 30px; }
  .od-public .oe-library-links { flex-wrap: wrap; gap: 18px 28px; }
  .od-public .oe-software { padding-block: 52px; }
  .od-public .oe-product, .od-public .oe-product--fcc { grid-template-columns: 1fr; gap: 24px; }
  .od-public .oe-product--fcc { margin-top: 30px; }
  .od-public .oe-fcc-detail { justify-self: start; text-align: left; }
  .od-public .oe-product h3 { font-size: 26px; }
  .od-public .oe-fcc-detail strong { font-size: 30px; }
  .od-public .oe-regions { padding-block: 52px; }
  .od-public .oe-news-layout { gap: 26px; }
  .od-public .oe-news-section { padding-block: 48px; }
  .od-public .oe-news-list article { grid-template-columns: 1fr 24px; gap: 8px 14px; }
  .od-public .oe-news-list article time { grid-column: 1/-1; }
  .od-public .oe-news-list h3 { font-size: 19px; }
  .od-public .oe-close { padding-block: 44px; }
  .od-public .oe-close h2 { font-size: 30px; }
  .od-public .site-footer { padding-top: 36px; }
  .od-public .site-footer > .container { width: calc(100% - 40px); }
  .od-public .footer-top { grid-template-columns: 1fr 1fr; gap: 28px 22px; }
  .od-public .footer-about, .od-public .footer-contact { grid-column: 1/-1; }
  .od-public .footer-description { max-width: 58ch; }
  .od-public .footer-menu li { margin-bottom: 9px; }
  .od-public .footer-menu a { font-size: 14px; }
}
@media (max-width: 359px) {
  .od-public .oe h1 { font-size: 34px; }
  .od-public .oe h2 { font-size: 27px; }
  .op-opening-photo img { height: 220px; }
  .op-opening-photo figcaption { display: block; }
  .op-opening-photo figcaption span { display: block; margin-top: 3px; }
}
@media (max-width: 640px) {
  .od-public .msf-progress__steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; align-items: start; }
  .od-public .msf-progress__step { flex-direction: column; gap: 6px; padding: 0; }
  .od-public .msf-progress__text { display: block; text-align: center; line-height: 1.35; }
  .od-public .msf-progress__line { display: none; }
}
/* Service guide: a readable document with a persistent chapter index. */
.op-guide-intro { padding-top: 36px; }
.op-guide-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; padding-bottom: 48px; border-bottom: 1px solid var(--od-line); }
.op-guide-heading h1 { max-width: 17ch; }
.op-guide-heading p { font-size: 18px; color: var(--od-muted); }
.op-guide-heading .oe-actions { margin-top: 24px; }
.op-guide-layout { display: grid; grid-template-columns: 244px minmax(0,1fr); gap: 72px; padding-block: 48px 64px; align-items: start; }
.op-guide-index { position: sticky; top: 104px; }
.op-guide-index nav { display: flex; flex-direction: column; align-items: start; font-size: 14px; }
.op-guide-index strong { font-size: 15px; font-weight: 600; margin-bottom: 14px; }
.op-guide-index ol { padding-left: 20px; margin: 0 0 12px; }
.op-guide-index li { padding: 5px 0 5px 5px; color: var(--od-muted); }
.op-guide-index a { color: var(--od-muted); text-decoration: none; }
.op-guide-index nav > a { padding-block: 7px; }
.op-guide-index a:hover { color: var(--od-brand); text-decoration: underline; }
.op-guide-step { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 24px; padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid var(--od-line); }
.op-guide-number { color: var(--od-brand); font-size: 24px; font-weight: 500; line-height: 1.4; font-variant-numeric: tabular-nums; }
.od-public .op-guide-body h2 { font-size: 28px; line-height: 1.25; }
.op-guide-body p { color: var(--od-muted); margin-top: 16px; max-width: 72ch; }
.op-guide-step .op-guide-note { color: #424851; font-size: 15px; padding-left: 18px; border-left: 2px solid #c1c9d2; }
.op-guide-body .oe-text-link { margin-top: 16px; }
.op-guide-detail { padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid var(--od-line); }
.op-guide-detail .oe-button { margin-top: 24px; }
.op-guide-detail .oe-faq { margin-top: 24px; }
.op-guide-detail:last-child { margin-bottom: 0; border-bottom: 0; padding-bottom: 0; }
@media(max-width:1000px) {
 .op-guide-heading { gap: 40px; }
 .op-guide-layout { grid-template-columns: 210px minmax(0,1fr); gap: 32px; }
}
@media(max-width:740px) {
 .op-guide-intro { padding-top: 24px; }
 .op-guide-heading { grid-template-columns: 1fr; gap: 22px; padding-bottom: 28px; }
 .op-guide-heading p { font-size: 16px; }
 .op-guide-heading .oe-actions { margin-top: 22px; }
 .op-guide-heading .oe-button { width: 100%; }
 .op-guide-layout { grid-template-columns: 1fr; gap: 32px; padding-block: 28px 48px; }
 .op-guide-index { position: static; padding-bottom: 28px; border-bottom: 1px solid var(--od-line); }
 .op-guide-index nav { display: block; }
 .op-guide-index strong { display: block; }
 .op-guide-index ol { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 24px; padding-left: 20px; margin-bottom: 16px; }
 .op-guide-index nav > a { display: inline-block; margin-right: 20px; }
 .op-guide-step { grid-template-columns: 30px minmax(0,1fr); gap: 16px; padding-bottom: 28px; margin-bottom: 28px; }
 .op-guide-number { font-size: 21px; }
 .od-public .op-guide-body h2 { font-size: 25px; }
 .op-guide-body p { font-size: 16px; margin-top: 14px; }
 .op-guide-detail { padding-bottom: 28px; margin-bottom: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .od-public *, .od-public *::before, .od-public *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media print {
  .od-public .oe-prep-page .oe-wrap { width: 100%; }
  .od-public .oe-prep-page .oe-page-intro { padding: 0 0 16px; }
  .od-public .oe-prep-page h1 { font-size: 28px; }
  .od-public .oe-prep-page h2 { font-size: 23px; }
  .od-public .oe-prep-page .oe-shipping-section { padding: 16px 0; background: #fff; }
  .od-public .oe-prep-page .oe-shipping-layout > div > p { font-size: 14px; margin-top: 12px; }
  .od-public .oe-prep-page .oe-check-item { padding: 12px 0; break-inside: avoid; }
  .od-public .oe-prep-page .oe-check-item strong, .od-public .oe-prep-page .oe-check-item small { font-size: 14px; }
  .od-public .oe-prep-page .oe-notice { background: #fff; color: #1c2024; padding: 12px; border: 1px solid #8a929d; }
}
/* Province directory and accessible map share the public colour scale. */
.op-regions .op-guide-heading .oe-text-link { margin-top: 20px; }
.op-region-tool { padding-top: 40px; }
.op-region-toolbar { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; margin-bottom: 28px; }
.od-public .op-region-toolbar h2 { font-size: 28px; }
.op-region-toolbar > div > p { color: var(--od-muted); margin-top: 8px; }
.op-region-search { position: relative; }
.op-region-search label { display: block; font-weight: 550; font-size: 14px; margin-bottom: 8px; }
.op-region-search-field { display: flex; gap: 12px; align-items: center; border: 1px solid var(--od-control-line); border-radius: 8px; padding: 0 16px; background: #fff; }
.op-region-search-field:focus-within { outline: 3px solid var(--od-focus); outline-offset: 2px; }
.op-region-search-field > .oe-icon { color: var(--od-muted); }
.op-region-search-field input { width: 100%; min-width: 0; height: 50px; border: 0; outline: 0 !important; color: var(--od-ink); background: transparent; font-size: 16px; }
.op-region-search-field input::placeholder { color: var(--od-muted); }
.op-region-search #op-city-search-status { min-height: 20px; margin-top: 6px; font-size: 13px; line-height: 1.5; color: var(--od-muted); }
.op-region-results { position: absolute; z-index: 3; top: 82px; left: 0; right: 0; background: #fff; border: 1px solid var(--od-line); border-radius: 8px; box-shadow: 0 8px 24px #1c202418; max-height: 360px; overflow: auto; padding: 6px; }
.op-region-results[hidden] { display: none; }
.op-region-results button { display: flex; justify-content: space-between; gap: 16px; align-items: center; width: 100%; min-height: 46px; padding: 10px 14px; border: 0; background: #fff; color: var(--od-ink); border-radius: 4px; font-size: 16px; text-align: left; cursor: pointer; }
.op-region-results button:hover { background: var(--od-selected); color: var(--od-brand); }
.op-region-results button:focus-visible { outline-offset: -3px; background: var(--od-selected); }
.op-region-results small { color: var(--od-muted); font-size: 13px; }
.op-region-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 32px; align-items: stretch; }
.op-region-map { display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--od-line); border-radius: 12px; padding: 24px; }
.op-region-map > p { color: var(--od-muted); font-size: 13px; }
.op-turkey-map { margin-block: 16px; }
.op-turkey-map svg { display: block; width: 100%; height: 360px; overflow: visible; }
.op-turkey-map [data-plakakodu] { cursor: pointer; outline: none; }
.op-turkey-map path { fill: #6b91b0; stroke: #fff; stroke-width: 1.5; transition: fill 160ms ease; }
.op-turkey-map [data-plakakodu].is-outside-service { pointer-events: none; }
.op-turkey-map .is-outside-service path { fill: #e8e8ec; }
.op-turkey-map #guney-kibris path { fill: #e8e8ec; }
.op-turkey-map [data-plakakodu]:hover path { fill: #557d9d; }
.op-turkey-map [data-plakakodu].is-selected path { fill: var(--od-brand); }
.op-turkey-map [data-plakakodu]:focus-visible path { stroke: #1c2024; stroke-width: 3; fill: #557d9d; }
.op-map-caption { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 13px; color: var(--od-muted); border-top: 1px solid var(--od-line); padding-top: 16px; }
.op-map-caption > span:last-child { display: inline-flex; align-items: center; gap: 8px; }
.op-map-caption i { width: 12px; height: 12px; background: var(--od-brand); border-radius: 2px; }
.op-region-selection { background: var(--od-surface); border-radius: 12px; padding: 28px; min-height: 340px; display: flex; align-items: center; }
.op-region-selection > div { width: 100%; }
.op-region-selection [hidden] { display: none; }
.op-region-panel-icon { display: inline-flex; color: var(--od-brand); margin-bottom: 18px; }
.op-region-panel-icon .oe-icon { width: 28px; height: 28px; flex-basis: 28px; }
.od-public .op-region-selection h2 { font-size: 26px; }
.op-region-selection p { color: var(--od-muted); font-size: 15px; margin-top: 16px; }
.op-region-selection .oe-text-link { margin-top: 20px; }
.op-region-selection .op-region-caption { font-size: 13px; color: var(--od-brand); margin: 0 0 12px; }
.op-region-selected-actions { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
.od-public .op-region-selected-actions .oe-button { font-size: 14px; padding-inline: 16px; }
.op-region-reset { border: 0; padding: 6px; background: transparent; color: var(--od-muted); cursor: pointer; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.op-region-reset:hover { color: var(--od-brand); }
.op-region-directory { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; align-items: start; }
.op-region-directory details { border-top: 1px solid var(--od-line); }
.op-region-directory summary { display: flex; align-items: center; gap: 16px; min-height: 70px; cursor: pointer; list-style: none; font-size: 20px; font-weight: 550; }
.op-region-directory summary::-webkit-details-marker { display: none; }
.op-region-directory summary small { font-size: 13px; font-weight: 400; color: var(--od-muted); margin-left: auto; white-space: nowrap; }
.op-region-directory summary .oe-icon { width: 18px; height: 18px; flex-basis: 18px; color: var(--od-muted); }
.op-region-directory details[open] summary .oe-icon { transform: rotate(180deg); }
.op-region-directory details > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding-bottom: 24px; }
.op-region-directory a { display: flex; align-items: center; color: var(--od-brand); font-size: 14px; min-height: 40px; padding: 8px; background: var(--od-surface); border-radius: 4px; text-decoration: none; }
.op-region-directory a:hover { background: var(--od-selected); text-decoration: underline; }
.op-region-kml { margin-top: 28px; font-size: 14px; color: var(--od-muted); }
.op-region-shipping { background: var(--od-surface); border-top: 1px solid var(--od-line); }
@media(max-width:1000px) {
 .op-region-toolbar { gap: 32px; }
 .op-region-layout { grid-template-columns: minmax(0,1fr) 280px; gap: 20px; }
 .op-region-map { padding: 18px; }
 .op-region-selection { padding: 24px; }
 .op-region-directory { gap: 0 28px; }
 .op-region-directory details > div { grid-template-columns: 1fr 1fr; }
}
@media(max-width:740px) {
 .op-region-tool { padding-top: 28px; }
 .op-region-toolbar { grid-template-columns: 1fr; gap: 20px; margin-bottom: 20px; }
 .op-region-layout { grid-template-columns: 1fr; gap: 20px; }
 .op-region-map { min-height: 220px; padding: 16px; }
 .op-turkey-map svg { height: auto; }
 .op-region-map > p { font-size: 12px; }
 .op-region-selection { min-height: auto; padding: 24px; }
 .od-public .op-region-selection h2 { font-size: 24px; }
 .op-region-panel-icon { margin-bottom: 14px; }
 .op-region-directory { grid-template-columns: 1fr; gap: 0; }
 .op-region-directory summary { min-height: 64px; font-size: 19px; }
 .op-region-directory details > div { grid-template-columns: 1fr 1fr; }
 .op-region-search-field { padding-inline: 12px; gap: 8px; }
 .op-region-search-field input { font-size: 15px; }
}

/* City content keeps its individual copy and uses one coherent service system. */
.op-city-intro { padding-top: 36px; }
.op-city-opening { display: grid; grid-template-columns: 1.5fr 1fr; gap: 72px; align-items: center; }
.op-city-opening h1 { max-width: 20ch; }
.op-city-opening .op-city-lede { color: var(--od-muted); font-size: 17px; margin-top: 24px; }
.op-city-opening .oe-actions { margin-top: 28px; }
.op-city-shipping { padding: 32px; background: var(--od-surface); border-radius: 12px; }
.op-city-shipping .op-city-label { color: var(--od-brand); font-size: 13px; margin: 0 0 16px; }
.od-public .op-city-shipping h2 { font-size: 26px; }
.op-city-shipping p { color: var(--od-muted); font-size: 15px; margin-top: 16px; }
.op-city-shipping address { font-size: 15px; color: var(--od-ink); font-style: normal; margin-block: 20px; padding-top: 20px; border-top: 1px solid var(--od-line); }
.op-city-repairs, .op-city-faq, .op-city-resources { background: var(--od-surface); }
.op-city-repairs .oe-text-link { margin-top: 24px; }
.op-city .op-model-group ul { padding: 0 24px 20px; list-style: none; display: flex; gap: 8px; flex-wrap: wrap; }
.op-city .op-model-group li { font-size: 14px; padding: 6px 10px; background: var(--od-surface); border-radius: 4px; }
.op-city-reading { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 72px; align-items: start; }
.op-city-reading aside { position: sticky; top: 104px; }
.od-public .op-city-reading aside h2 { font-size: 28px; }
.op-city-reading aside p { color: var(--od-muted); font-size: 15px; margin-top: 18px; }
.op-city-reading aside .oe-text-link { margin-top: 24px; }
.op-city-prose { max-width: 72ch; color: var(--od-muted); overflow-wrap: break-word; }
.op-city-prose p { font-size: 16px; line-height: 1.8; margin-bottom: 20px; }
.od-public .op-city-prose h2 { font-size: 28px; color: var(--od-ink); margin-block: 36px 20px; }
.od-public .op-city-prose h3 { font-size: 23px; color: var(--od-ink); margin-block: 28px 16px; }
.op-city-prose strong { font-weight: 550; color: #424851; }
.op-city-prose ul, .op-city-prose ol { padding-left: 22px; margin-block: 20px; }
.op-city-prose li { padding-left: 4px; margin-bottom: 10px; }
.op-city-articles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 32px; }
.op-city-articles a { position: relative; display: block; border-top: 1px solid var(--od-line); padding: 24px 28px 24px 0; text-decoration: none; color: var(--od-ink); }
.op-city-articles time { color: var(--od-muted); font-size: 13px; }
.od-public .op-city-articles h3 { font-size: 19px; margin-top: 10px; }
.op-city-articles .oe-icon { position: absolute; right: 0; top: 28px; width: 18px; height: 18px; color: var(--od-brand); }
.op-city-articles a:hover h3 { text-decoration: underline; text-underline-offset: 3px; }
@media(max-width:1000px) {
 .op-city-opening { gap: 32px; }
 .op-city-shipping { padding: 24px; }
 .op-city-reading { grid-template-columns: 220px minmax(0,1fr); gap: 32px; }
 .op-city-articles { grid-template-columns: 1fr 1fr; }
}
@media(max-width:740px) {
 .op-city-intro { padding-top: 24px; }
 .op-city-opening { grid-template-columns: 1fr; gap: 28px; }
 .op-city-opening .op-city-lede { font-size: 16px; margin-top: 20px; }
 .op-city-opening .oe-actions { margin-top: 22px; }
 .op-city-opening .oe-button { width: 100%; }
 .op-city-reading { grid-template-columns: 1fr; gap: 32px; }
 .op-city-reading aside { position: static; }
 .od-public .op-city-prose h2 { font-size: 25px; }
 .od-public .op-city-prose h3 { font-size: 22px; }
 .op-city-articles { grid-template-columns: 1fr; }
 .op-city-articles a { padding-block: 22px; }
}

/* Policy documents: retain their text and dates; improve reading and navigation. */
.od-public .legal-breadcrumb { max-width: 760px; width: calc(100% - 80px); padding: 0; margin: 32px auto 0; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; color: var(--od-muted); font-size: 14px; }
.od-public .legal-breadcrumb a { color: var(--od-muted); text-decoration: underline; }
.od-public .legal-page { max-width: 760px; width: calc(100% - 80px); padding: 36px 0 72px; }
.od-public .legal-page h1 { color: var(--od-ink); font-size: 40px; font-weight: 600; line-height: 1.18; letter-spacing: -.025em; margin-bottom: 24px; }
.od-public .legal-page .legal-meta { color: var(--od-muted); font-size: 14px; border-color: var(--od-line); padding-bottom: 24px; margin-bottom: 28px; gap: 10px; }
.od-public .legal-page .entry-content { color: #424851; font-family: var(--od-font); font-size: 16px; line-height: 1.8; overflow-wrap: break-word; }
.od-public .legal-page .entry-content > p:first-child { color: #424851; font-size: 16px; line-height: 1.8; }
.od-public .legal-page .entry-content h2 { color: var(--od-ink); font-size: 25px; font-weight: 600; line-height: 1.3; margin: 36px 0 18px; padding-top: 24px; border-color: var(--od-line); scroll-margin-top: 104px; }
.od-public .legal-page .entry-content > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.od-public .legal-page .entry-content h3 { color: var(--od-ink); font-size: 20px; font-weight: 600; line-height: 1.4; margin-block: 28px 16px; }
.od-public .legal-page .entry-content strong { color: var(--od-ink); font-weight: 550; }
.od-public .legal-page .entry-content a { color: var(--od-brand); text-decoration: underline; }
.od-public .legal-page .entry-content li { padding-left: 4px; margin-bottom: 8px; }
.od-public .legal-page .contact-card { background: var(--od-surface); border: 1px solid var(--od-line); border-radius: 8px; padding: 24px; }
.od-public .legal-page .info-box { background: var(--od-selected); color: var(--od-brand); border-color: var(--od-brand); border-radius: 0 8px 8px 0; font-size: 16px; }
.od-public .legal-page .warning-box { background: #fff7ed; color: #7c2d12; border-color: #9a3412; border-radius: 0 8px 8px 0; font-size: 16px; }
.od-public .legal-page .entry-content table { font-size: 14px; border-color: var(--od-line); }
.op-legal-index { background: var(--od-surface); border: 1px solid var(--od-line); border-radius: 8px; margin-bottom: 32px; }
.op-legal-index summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 56px; padding: 14px 20px; font-size: 15px; font-weight: 550; cursor: pointer; list-style: none; color: var(--od-brand); }
.op-legal-index summary::-webkit-details-marker { display: none; }
.op-legal-index summary .oe-icon { width: 18px; height: 18px; flex: 0 0 18px; }
.op-legal-index details[open] summary .oe-icon { transform: rotate(180deg); }
.op-legal-index ol { list-style: none; padding: 0 20px 20px; margin: 0; display: grid; gap: 8px; }
.op-legal-index a { display: inline-block; color: #424851; font-size: 14px; line-height: 1.6; padding-block: 4px; text-decoration: underline; }
.op-legal-index a:hover { color: var(--od-brand); }
@media(max-width:740px) {
 .od-public .legal-breadcrumb { width: calc(100% - 40px); margin-top: 24px; font-size: 13px; }
 .od-public .legal-page { width: calc(100% - 40px); padding-block: 28px 48px; }
 .od-public .legal-page h1 { font-size: 30px; line-height: 1.2; }
 .od-public .legal-page .entry-content h2 { font-size: 23px; }
 .od-public .legal-page .contact-card { padding: 20px; }
}
@media print {
 .od-public .op-legal-index { display: none; }
 .od-public .legal-page { width: 100%; max-width: none; padding: 0; }
 .od-public .legal-page h1 { font-size: 28px; }
 .od-public .legal-page .entry-content { font-size: 12px; }
}

/* Anonymous account access uses the public palette; authenticated dashboard is separate. */
.od-public-auth .odakon-account-header { display: none; }
.od-public .adobe-auth-page { background: #fff; font-family: var(--od-font); min-height: 100svh; }
.od-public .adobe-auth-visual { position: absolute; width: 43%; background: var(--od-brand-hover); }
.od-public .adobe-auth-visual__overlay { display: none; }
.od-public .adobe-auth-visual__content { width: 100%; padding: 48px clamp(32px,4vw,64px); }
.od-public .adobe-auth-logo img { filter: brightness(0) invert(1); border-radius: 0; }
.od-public .adobe-auth-logo span { font-weight: 600; }
.od-public .adobe-auth-tagline { color: var(--od-inverse-muted); font-size: 14px; }
.od-public .adobe-auth-visual__center h2 { font-size: 42px; font-weight: 550; letter-spacing: -.025em; line-height: 1.15; max-width: 15ch; }
.od-public .adobe-auth-visual__center p { color: var(--od-inverse-muted); font-size: 17px; line-height: 1.7; max-width: 44ch; }
.od-public .adobe-auth-visual__footer { color: var(--od-inverse-muted); font-size: 13px; }
.od-public .adobe-auth-visual :focus-visible { outline-color: #fff; }
.od-public .adobe-auth-form-container { margin-left: 43%; padding: 48px; min-height: 100svh; }
.od-public .adobe-auth-panel--wide { max-width: 440px; animation: none; }
.od-public .adobe-auth-card { padding: 0; border-radius: 0; box-shadow: none; }
.od-public .adobe-auth-card > .adobe-auth-switch:first-child { border: 0; margin: 0 0 30px; padding: 0; text-align: right; font-size: 14px; }
.od-public .adobe-auth-title { color: var(--od-muted); text-transform: none; font-size: 14px; letter-spacing: 0; font-weight: 500; margin-bottom: 12px; }
.od-public .adobe-auth-form-header h1 { font-size: 36px; line-height: 1.15; font-weight: 600; letter-spacing: -.025em; margin: 0; color: var(--od-ink); }
.od-public .adobe-auth-form-header p:last-child { font-size: 15px; color: var(--od-muted); line-height: 1.65; margin-top: 14px; }
.od-public .adobe-auth-form-header { margin-bottom: 24px; }
.od-public .adobe-label { color: var(--od-ink); font-size: 14px; font-weight: 500; margin-bottom: 8px; }
.od-public .adobe-input, .od-public .adobe-phone-input-wrapper { min-height: 50px; border: 1px solid var(--od-control-line); border-radius: 8px; color: var(--od-ink); font-size: 16px; background: #fff; }
.od-public .adobe-input::placeholder, .od-public .adobe-phone-input::placeholder { color: var(--od-muted); }
.od-public .adobe-input:focus, .od-public .adobe-phone-input-wrapper:focus-within { border-color: var(--od-brand); box-shadow: none; outline: 3px solid var(--od-focus); outline-offset: 2px; }
.od-public .adobe-phone-input { font-size: 16px; color: var(--od-ink); }
.od-public .adobe-auth-field { margin-bottom: 20px; }
.od-public .adobe-btn { min-height: 50px; height: auto; border-radius: 8px; padding: 12px 20px; font-size: 16px; transition: background-color 160ms ease,border-color 160ms ease; }
.od-public .adobe-btn-primary { background: var(--od-brand); color: #fff; }
.od-public .adobe-btn-primary:where(:hover,:active) { color: #fff; background: var(--od-brand-hover); transform: none; }
.od-public .adobe-btn:focus-visible { outline: 3px solid var(--od-focus); outline-offset: 4px; box-shadow: none; }
.od-public .adobe-link, .od-public .adobe-auth-switch a { color: var(--od-brand); text-decoration: underline; text-underline-offset: 3px; }
.od-public .adobe-link:hover, .od-public .adobe-auth-switch a:hover { color: var(--od-brand-hover); }
.od-public .adobe-auth-options { margin-block: 4px 20px; }
.od-public .adobe-checkbox-custom { border-color: var(--od-control-line); border-radius: 4px; }
.od-public .adobe-checkbox:checked + .adobe-checkbox-custom { background: var(--od-brand); border-color: var(--od-brand); }
.od-public .adobe-checkbox:focus-visible + .adobe-checkbox-custom { outline: 3px solid var(--od-focus); outline-offset: 3px; box-shadow: none; }
.od-public .adobe-checkbox-label, .od-public .adobe-auth-switch, .od-public .adobe-divider, .od-public .adobe-auth-form small { color: var(--od-muted); font-size: 14px; }
.od-public .adobe-auth-error, .od-public .adobe-error-alert, .od-public .adobe-error-msg { color: #b91c1c; }
.od-public .adobe-auth-error, .od-public .adobe-error-alert { background: #fef2f2; border-color: #b91c1c; }
.od-public .adobe-auth-success { color: #166534; background: #f0fdf4; border-color: #166534; }
.od-public .adobe-input.is-invalid { border-color: #b91c1c; }
body.od-public-token-account { background: var(--od-surface); padding: 24px; }
.od-public-token-account .card { max-width: 460px; border-radius: 12px; box-shadow: none; border: 1px solid var(--od-line); }
.od-public-token-account .card-header { background: var(--od-brand-hover); padding: 28px; }
.od-public-token-account .card-header__subtitle { color: var(--od-inverse-muted); }
.od-public-token-account .title { color: var(--od-ink); font-size: 28px; font-weight: 600; line-height: 1.2; }
.od-public-token-account .subtitle, .od-public-token-account .footer-text { color: var(--od-muted); }
.od-public-token-account .btn { min-height: 50px; border-radius: 8px; font-family: var(--od-font); font-size: 16px; }
.od-public-token-account .btn-primary, .od-public-token-account .btn-success { color: #fff; background: var(--od-brand); }
.od-public-token-account .btn-primary:hover, .od-public-token-account .btn-success:hover { color: #fff; background: var(--od-brand-hover); }
.od-public-token-account .form-input { border-color: var(--od-control-line); border-radius: 8px; font-size: 16px; }
.od-public-token-account .form-input:focus { outline: 3px solid var(--od-focus); outline-offset: 2px; border-color: var(--od-brand); }
@media(max-width:1000px) {
 .od-public .adobe-auth-form-container { padding: 40px 32px; }
 .od-public .adobe-auth-visual__center h2 { font-size: 36px; }
 .od-public .adobe-auth-visual__center p { font-size: 16px; }
}
@media(max-width:768px) {
 .od-public .adobe-auth-visual { display: none; }
 .od-public .adobe-auth-form-container { margin-left: 0; padding: 28px 24px; }
 .od-public .adobe-auth-mobile-logo { display: block; margin-bottom: 28px; }
 .od-public .adobe-auth-form-header h1 { font-size: 32px; }
 .od-public .adobe-auth-card > .adobe-auth-switch:first-child { margin-bottom: 12px; }
 .od-public .adobe-auth-panel--wide { max-width: 440px; }
 .od-public .adobe-auth-options { gap: 16px; }
}
@media(max-width:359px) {
 .od-public .adobe-auth-form-container { padding-inline: 20px; }
 .od-public .adobe-auth-options { flex-wrap: wrap; }
 body.od-public-token-account { padding-inline: 20px; }
 .od-public-token-account .card-body { padding: 24px 20px; }
}


/* Search: language-specific articles, clear empty state and numbered pages. */
.od-public .op-search-page {max-width:900px;min-height:60vh;padding-top:32px;padding-bottom:80px}
.od-public .op-search-page h1 {font-size:44px;line-height:1.12;letter-spacing:-.035em;margin:36px 0 28px}
.od-public .op-search-page .oe-search {max-width:650px}
.od-public .op-search-count {margin:28px 0 0;color:var(--od-muted)}
.od-public .op-search-results article {padding:32px 0;border-bottom:1px solid var(--od-line)}
.od-public .op-search-results time {font-size:13px;color:var(--od-muted)}
.od-public .op-search-results h2 {font-size:25px;line-height:1.3;margin:10px 0 12px;letter-spacing:-.02em}
.od-public .op-search-results h2 a {color:var(--od-ink);text-decoration:none}
.od-public .op-search-results h2 a:hover {color:var(--od-brand);text-decoration:underline;text-underline-offset:4px}
.od-public .op-search-results p {margin:0 0 16px;color:var(--od-muted)}
.od-public .op-search-pagination {display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.od-public .op-search-pagination .page-numbers {display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--od-line);border-radius:6px;text-decoration:none}
.od-public .op-search-pagination .current {background:var(--od-brand);color:#fff;border-color:var(--od-brand)}
.od-public .op-search-empty {padding:36px 0}
.od-public .op-search-empty h2 {font-size:25px}
@media(max-width:740px){.od-public .op-search-page h1{font-size:32px}.od-public .op-search-results h2{font-size:23px}.od-public .op-search-page{padding-bottom:52px}}

.od-public .op-anchor-alias {display:block;position:relative;height:0;scroll-margin-top:100px}

.od-public .msf-checkbox__text a {color:var(--od-brand);text-decoration:underline;text-underline-offset:3px}
/* Article indexes: real content leads; two measured columns keep scanning calm. */
.od-public .op-archive {padding-block:32px 64px}
.od-public .op-archive-lead {display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:80px;align-items:center;margin:32px 0 36px}
.od-public .op-archive-lead h1 {font-size:46px;line-height:1.12;letter-spacing:-.03em}
.od-public .op-archive-lead p {color:var(--od-muted);max-width:62ch;margin-top:20px;font-size:17px}
.od-public .op-archive-navigation {display:flex;align-items:center;justify-content:space-between;gap:24px;border-block:1px solid var(--od-line)}
.od-public .op-archive-navigation nav {display:flex;flex-wrap:wrap;gap:28px}
.od-public .op-archive-navigation a {display:inline-flex;align-items:center;min-height:58px;color:var(--od-muted);text-decoration:none;border-bottom:2px solid transparent;font-size:15px}
.od-public .op-archive-navigation a:hover {color:var(--od-brand)}
.od-public .op-archive-navigation [aria-current] {color:var(--od-brand);border-bottom-color:var(--od-brand);font-weight:600}
.od-public .op-archive-navigation > span {color:var(--od-muted);font-size:14px;white-space:nowrap}
.od-public .op-archive-map {display:flex;gap:16px;align-items:center;color:var(--od-brand);background:var(--od-selected);border-radius:8px;padding:18px 22px;margin-top:28px;text-decoration:none}
.od-public .op-archive-map span {flex:1}
.od-public .op-archive-map strong,.od-public .op-archive-map small {display:block}
.od-public .op-archive-map strong {font-weight:550;font-size:16px}
.od-public .op-archive-map small {font-size:14px;color:#365a79}
.od-public .op-archive-map:hover strong {text-decoration:underline;text-underline-offset:4px}
.od-public .op-archive-featured {display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:48px;align-items:center;padding:40px 0;border-bottom:1px solid var(--od-line)}
.od-public .op-archive-featured-image {display:block;aspect-ratio:16/10;background:var(--od-surface);border-radius:8px;overflow:hidden}
.od-public .op-archive-featured-image img {display:block;width:100%;height:100%;object-fit:contain;transition:none}
.od-public .op-archive-featured h2 {font-size:30px;line-height:1.25;letter-spacing:-.025em;margin:14px 0 16px;text-wrap:pretty}
.od-public .op-archive h2 a {color:var(--od-ink);text-decoration:none}
.od-public .op-archive h2 a:hover {color:var(--od-brand);text-decoration:underline;text-underline-offset:4px}
.od-public .op-archive .op-article-meta {font-size:13px;line-height:1.6;color:var(--od-muted)}
.od-public .op-archive .op-article-excerpt {color:var(--od-muted);font-size:15px;line-height:1.7}
.od-public .op-archive-featured .oe-text-link {margin-top:24px}
.od-public .op-archive-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.od-public .op-archive-list article {display:grid;grid-template-columns:140px minmax(0,1fr);gap:22px;padding:28px 0;border-bottom:1px solid var(--od-line);align-items:start}
.od-public .op-archive-thumb {display:block;aspect-ratio:4/3;background:var(--od-surface);border-radius:6px;overflow:hidden}
.od-public .op-archive-thumb img {display:block;width:100%;height:100%;object-fit:contain}
.od-public .op-archive-list h2 {font-size:21px;line-height:1.3;letter-spacing:-.015em;margin:8px 0 10px;text-wrap:pretty}
.od-public .op-archive-list .op-article-excerpt {display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:14px}
.od-public .op-archive-support {display:flex;align-items:center;justify-content:space-between;gap:40px;padding:36px 0 0;margin-top:52px;border-top:1px solid var(--od-line)}
.od-public .op-archive-support h2 {font-size:24px}
.od-public .op-archive-support p {margin-top:12px;color:var(--od-muted);font-size:15px}
.od-public .op-archive-support .oe-button {flex-shrink:0}
@media(max-width:1000px){
 .od-public .op-archive-lead {grid-template-columns:minmax(0,1fr) 300px;gap:32px}
 .od-public .op-archive-featured {gap:32px}
 .od-public .op-archive-list {column-gap:32px}
 .od-public .op-archive-list article {grid-template-columns:100px minmax(0,1fr);gap:16px}
 .od-public .op-archive-support {align-items:flex-start;gap:24px;flex-direction:column}
}
@media(max-width:740px){
 .od-public .op-archive {padding-block:24px 48px}
 .od-public .op-archive-lead {grid-template-columns:1fr;gap:24px;margin:28px 0}
 .od-public .op-archive-lead h1 {font-size:34px}
 .od-public .op-archive-lead p {font-size:16px;margin-top:18px}
 .od-public .op-archive-navigation {display:block}
 .od-public .op-archive-navigation nav {gap:20px}
 .od-public .op-archive-navigation a {font-size:14px;min-height:52px}
 .od-public .op-archive-navigation > span {display:block;padding:10px 0;border-top:1px solid var(--od-line)}
 .od-public .op-archive-map {padding:16px;gap:12px;margin-top:24px}
 .od-public .op-archive-map > svg {width:18px;flex-shrink:0}
 .od-public .op-archive-featured {grid-template-columns:1fr;gap:24px;padding:28px 0}
 .od-public .op-archive-featured h2 {font-size:26px;margin:12px 0}
 .od-public .op-archive-list {grid-template-columns:1fr}
 .od-public .op-archive-list article {grid-template-columns:90px minmax(0,1fr);gap:16px;padding:24px 0}
 .od-public .op-archive-list h2 {font-size:20px}
 .od-public .op-archive-list .op-article-excerpt {display:none}
 .od-public .op-archive-support {margin-top:36px;padding-top:28px}
 .od-public .op-archive-support .oe-button {width:100%}
}
@media(max-width:359px){.od-public .op-archive-list article{grid-template-columns:72px minmax(0,1fr);gap:14px}.od-public .op-archive-navigation nav{gap:14px}.od-public .op-archive-navigation a{font-size:13px}}
.od-public .op-archive-feed {margin-top:28px}
/* Article reading surface: title and imagery are separate, text stays left aligned. */
.od-public .blog-post-main {background:#fff;font-family:var(--od-font)}
.od-public .blog-post-hero {width:min(100% - 80px,1120px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 280px;column-gap:80px;align-items:center;min-height:0;padding:48px 0 40px;overflow:visible;background:#fff;border-bottom:1px solid var(--od-line)}
.od-public .blog-post-hero__overlay {display:none}
.od-public .blog-post-hero__container {grid-column:1;grid-row:1;max-width:none;margin:0;text-align:left;width:100%}
.od-public .blog-post-hero__image {position:static;grid-column:2;grid-row:1;width:100%;height:auto;max-height:240px;aspect-ratio:4/3;object-fit:contain;border-radius:8px;background:var(--od-surface)}
.od-public .blog-post-meta__categories {justify-content:flex-start;gap:18px;margin-bottom:22px}
.od-public .blog-post-category {background:none;border:0;border-radius:0;padding:0;color:var(--od-brand);font-size:14px;text-transform:none;letter-spacing:0;backdrop-filter:none;text-decoration:underline;text-underline-offset:4px}
.od-public .blog-post-category:hover {background:none;color:var(--od-brand-hover);transform:none}
.od-public .blog-post-title {color:var(--od-ink);font-size:40px;line-height:1.16;font-weight:600;letter-spacing:-.025em;text-shadow:none;margin-bottom:24px;text-wrap:pretty}
.od-public .blog-post-meta {justify-content:flex-start;gap:12px 22px;color:var(--od-muted);font-size:13px;font-weight:400}
.od-public .blog-post-updated {font-size:13px}
.od-public .blog-post-comments-count {color:var(--od-brand);background:var(--od-surface);border-radius:6px;padding:6px 10px;font-size:13px}
.od-public .blog-post-comments-count:hover {color:var(--od-brand-hover);background:var(--od-selected)}
.od-public .blog-post-layout {padding:40px 0 64px}
.od-public .blog-post-layout__container {width:min(100% - 80px,1120px);grid-template-columns:minmax(0,1fr) 280px;gap:80px}
.od-public .blog-post-content {width:100%}
.od-public .blog-post-content__inner {font-size:18px;line-height:1.8;color:var(--od-ink);text-align:left;text-justify:auto;hyphens:none;overflow-wrap:break-word;word-break:normal}
.od-public .blog-post-content__inner p {margin:0 0 20px}
.od-public .blog-post-content__inner :where(h2,h3,h4) {color:var(--od-ink);font-weight:600;scroll-margin-top:100px;letter-spacing:-.02em}
.od-public .blog-post-content__inner h2 {font-size:29px;line-height:1.25;margin:44px 0 20px}
.od-public .blog-post-content__inner h3 {font-size:23px;line-height:1.3;margin:32px 0 16px}
.od-public .blog-post-content__inner h4 {font-size:19px;line-height:1.4;margin:24px 0 14px}
.od-public .blog-post-content__inner a {color:var(--od-brand);text-decoration:underline;text-underline-offset:3px}
.od-public .blog-post-content__inner a:hover {color:var(--od-brand-hover)}
.od-public .blog-post-content__inner :is(ul,ol) {padding-left:24px;margin-block:20px 28px}
.od-public .blog-post-content__inner li {margin-bottom:10px}
.od-public .blog-post-content__inner :is(ul,ol) :is(ul,ol) {margin-block:12px}
.od-public .blog-post-content__inner blockquote {background:var(--od-surface);border-left:3px solid var(--od-brand);color:var(--od-muted);font-style:normal;border-radius:0;padding:20px 24px}
.od-public .blog-post-content__inner > img,.od-public .blog-post-content__inner p > img,.od-public .blog-post-content__inner .wp-block-image img {min-width:0;max-width:100%;height:auto;width:auto!important;margin:24px auto;box-shadow:none;border-radius:8px}
.od-public .blog-post-content__inner figcaption {color:var(--od-muted);font-size:14px;text-align:left}
.od-public .blog-post-content__inner :is(th,td) {border-color:var(--od-line);padding:12px 16px;font-size:15px;vertical-align:top}
.od-public .blog-post-content__inner th {background:var(--od-surface);color:var(--od-ink)}
.od-public .blog-post-content__inner code {color:var(--od-brand);background:var(--od-surface);border-radius:4px}
.od-public .blog-post-content__inner pre {background:#1c2024;border-radius:8px}
.od-public .blog-post-content__inner pre code {color:#f0f0f3;background:none}
.od-public .op-article-index {border:1px solid var(--od-line);border-radius:8px;background:var(--od-surface);margin-bottom:32px;padding:0;overflow:visible;max-height:none;display:block}
.od-public .op-article-index summary {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;min-height:56px;cursor:pointer;list-style:none;color:var(--od-brand);font-weight:550;font-size:15px}
.od-public .op-article-index summary::-webkit-details-marker {display:none}
.od-public .op-article-index summary svg {width:18px;height:18px;flex-shrink:0;transition:transform 160ms ease}
.od-public .op-article-index[open] summary svg {transform:rotate(180deg)}
.od-public .op-article-index nav {padding:0 20px 16px}
.od-public .op-article-index .blog-post-toc__link {color:var(--od-muted);padding:7px 0;font-size:14px;line-height:1.6;text-decoration:none}
.od-public .op-article-index .blog-post-toc__link:hover,.od-public .op-article-index .blog-post-toc__link.is-active {color:var(--od-brand);text-decoration:underline}
.od-public .blog-post-sidebar {position:static}
.od-public .blog-post-sidebar__sticky {display:block;position:static}
.od-public .blog-post-sidebar__recent-sticky {position:static!important;width:100%!important}
.od-public .blog-post-author-card {border-radius:8px;border:0;border-top:1px solid var(--od-line);padding:24px 0;background:#fff;box-shadow:none;text-align:left}
.od-public .blog-post-author-card__avatar {margin:0 0 16px;width:56px;height:56px;border:0}
.od-public .blog-post-author-card__name {font-size:18px;font-weight:600;color:var(--od-ink)}
.od-public .blog-post-author-card__bio {color:var(--od-muted);font-style:normal;text-align:left;line-height:1.7}
.od-public .blog-post-recent {border-radius:0;padding:24px 0;border:0;border-top:1px solid var(--od-line);box-shadow:none}
.od-public .blog-post-recent__title {font-size:16px;font-weight:550;text-transform:none;letter-spacing:0;color:var(--od-ink);margin-bottom:8px}
.od-public .blog-post-recent__item {padding-left:0;border-color:var(--od-line)}
.od-public .blog-post-recent__item::before {display:none}
.od-public .blog-post-recent__date {color:var(--od-muted);text-transform:none;letter-spacing:0;font-size:13px}
.od-public .blog-post-recent__item-title {color:var(--od-ink);font-size:15px;line-height:1.5}
.od-public .blog-post-recent__item:hover .blog-post-recent__item-title {color:var(--od-brand);text-decoration:underline;text-underline-offset:3px}
.od-public .blog-post-article-info {background:var(--od-surface);border-radius:8px;padding:16px}
.od-public .blog-post-article-info__item,.od-public .blog-post-article-info__value {color:var(--od-muted)}
.od-public .blog-post-share__button {color:var(--od-brand);background:#fff;border:1px solid var(--od-line);border-radius:8px;min-width:44px;min-height:44px;box-shadow:none}
.od-public .blog-post-share__button:hover {color:var(--od-brand);background:var(--od-selected);border-color:var(--od-brand);transform:none}
.od-public .blog-post-share__title {color:var(--od-muted)}
.od-public .blog-post-share__tooltip {color:#fff;background:var(--od-brand);font-size:13px;white-space:normal;min-width:100px;max-width:200px;line-height:1.4}
.od-public .blog-post-tag {background:var(--od-surface);color:var(--od-muted);border-radius:4px;font-size:13px;padding:4px 8px}
.od-public .blog-post-navigation {gap:20px}
.od-public .blog-post-navigation__link {box-shadow:none;border-radius:8px;transform:none;border-color:var(--od-line)}
.od-public .blog-post-navigation__link:hover {background:var(--od-surface);transform:none;border-color:var(--od-control-line)}
.od-public .blog-post-navigation__label {color:var(--od-muted);text-transform:none;letter-spacing:0}
.od-public .blog-post-navigation__title {color:var(--od-ink);white-space:normal;line-height:1.5}
.od-public .blog-post-inline-recent {box-shadow:none;border-radius:0;background:none;padding:28px 0;border-top:1px solid var(--od-line)}
.od-public .blog-post-inline-recent__title {color:var(--od-ink);font-size:17px}
.od-public .blog-post-inline-recent__btn {min-width:44px;min-height:44px;background:#fff;color:var(--od-brand);border-color:var(--od-line);border-radius:8px}
.od-public .blog-post-inline-recent__card {box-shadow:none;border-radius:8px;border:1px solid var(--od-line)}
.od-public .blog-post-inline-recent__card:hover {transform:none;border-color:var(--od-control-line);box-shadow:none}
.od-public .blog-post-inline-recent__card-title {color:var(--od-ink)}
.od-public .blog-comment-form-wrapper {box-shadow:none;border:1px solid var(--od-line);border-radius:8px;background:var(--od-surface)}
.od-public .blog-comment-form-wrapper :is(input:not([type=checkbox]),textarea) {border-color:var(--od-control-line);border-radius:8px;font-family:var(--od-font);font-size:16px;min-height:48px}
.od-public .blog-comment-form-wrapper :is(input,textarea):focus-visible {outline:3px solid var(--od-focus);outline-offset:3px;box-shadow:none}
.od-public .blog-comment-form-wrapper input[type=submit] {color:#fff;background:var(--od-brand);border-color:var(--od-brand);border-radius:8px;min-height:50px;font-weight:550;box-shadow:none}
.od-public .blog-comment-form-wrapper input[type=submit]:hover {color:#fff;background:var(--od-brand-hover);transform:none}
.od-public .blog-comment-form-wrapper :is(label,p,.comment-notes) {color:var(--od-muted)}
.od-public .blog-comment-form-wrapper a {color:var(--od-brand);text-decoration:underline}
.od-public .op-article-map .blog-post-hero {grid-template-columns:1fr}
.od-public .op-article-map .blog-post-hero__container {max-width:1000px}
.od-public .op-article-map .blog-post-hero__image {display:none}
.od-public .op-map-jump {display:inline-flex;align-items:center;gap:10px;color:var(--od-brand);margin-top:24px;min-height:44px;text-underline-offset:4px}
.od-public .dji-nfz-wrapper {scroll-margin-top:100px}
@media(max-width:1000px){
 .od-public .blog-post-hero {width:calc(100% - 64px);grid-template-columns:minmax(0,1fr) 240px;gap:32px;padding-block:40px 32px}
 .od-public .blog-post-title {font-size:34px}
 .od-public .blog-post-layout__container {width:calc(100% - 64px);grid-template-columns:1fr;gap:32px;display:grid}
 .od-public .blog-post-sidebar {display:grid;grid-template-columns:1fr 1fr;gap:32px;order:2}
 .od-public .blog-post-author-card--mobile {display:none}
 .od-public .blog-post-content__inner {font-size:17px}
}
@media(max-width:740px){
 .od-public .blog-post-hero {width:calc(100% - 40px);grid-template-columns:1fr;gap:28px;padding-block:28px}
 .od-public .blog-post-title {font-size:30px;line-height:1.18;margin-bottom:20px}
 .od-public .blog-post-meta__categories {margin-bottom:18px}
 .od-public .blog-post-hero__image {grid-row:2;grid-column:1;max-height:210px;aspect-ratio:16/9}
 .od-public .blog-post-meta {gap:10px 18px}
 .od-public .blog-post-layout {padding-block:28px 48px}
 .od-public .blog-post-layout__container {width:calc(100% - 40px);gap:28px}
 .od-public .blog-post-content__inner {font-size:16px;line-height:1.8}
 .od-public .blog-post-content__inner h2 {font-size:26px;margin-top:36px}
 .od-public .blog-post-content__inner h3 {font-size:22px}
 .od-public .blog-post-content__inner blockquote {padding:16px 20px}
 .od-public .op-article-index {margin-bottom:28px}
 .od-public .blog-post-sidebar {display:block}
 .od-public .blog-post-author-card {display:block}
 .od-public .blog-post-author-card--mobile {display:none}
 .od-public .blog-post-article-info__item {flex-wrap:wrap;gap:6px}
 .od-public .blog-post-navigation {grid-template-columns:1fr}
 .od-public .blog-comment-form-wrapper {padding:22px 18px}
}
@media(max-width:359px){.od-public .blog-post-title{font-size:28px}.od-public .blog-post-content__inner h2{font-size:24px}}
@media print{.od-public .blog-post-hero{width:100%;padding:0 0 20px;display:block}.od-public .blog-post-hero__image,.od-public .blog-post-sidebar,.od-public .blog-comments-section,.od-public .blog-post-share,.od-public .blog-post-inline-recent,.od-public .blog-post-navigation{display:none}.od-public .blog-post-layout__container{display:block;width:100%}.od-public .op-article-index{display:none}}
.od-public .op-article-index[hidden], .od-public .op-map-jump[hidden] {display:none}
/* Map controls share the palette; GEO level colors retain their data meaning. */
.od-public .dji-nfz-wrapper {border:1px solid var(--od-line);border-radius:8px;box-shadow:none}
.od-public .dji-nfz-toolbar {background:var(--od-brand-hover);padding:14px 16px;gap:12px}
.od-public .dji-nfz-title {font-size:15px;line-height:1.5;color:#fff}
.od-public .blog-post-content__inner .dji-nfz-btn {min-height:44px;padding:10px 14px;color:#fff;background:transparent;border:1px solid #b7cadb;border-radius:6px;font-size:14px;line-height:1.4;text-decoration:none}
.od-public .blog-post-content__inner .dji-nfz-btn:hover {color:var(--od-brand-hover);background:#fff;border-color:#fff}
.od-public .dji-nfz-toolbar :focus-visible {outline-color:#fff}
.od-public .dji-nfz-legend {background:var(--od-surface);padding:12px 16px;gap:10px}
.od-public .dji-nfz-legend-item {border:1px solid #aab2bd;border-radius:6px;min-height:44px;padding:8px 12px;background:var(--od-selected);color:var(--od-ink);font-family:var(--od-font);font-size:13px;gap:8px;line-height:1.5}
.od-public .dji-nfz-legend-item.disabled {opacity:1;background:#fff;color:var(--od-muted);text-decoration:line-through}
.od-public .dji-nfz-legend-item.disabled .dji-nfz-legend-dot {opacity:.4}
.od-public .dji-nfz-legend-item:hover {border-color:var(--od-brand);color:var(--od-ink)}
.od-public .dji-nfz-meta {background:var(--od-surface);padding:12px 16px;align-items:flex-start}
.od-public .dji-nfz-stats,.od-public .dji-nfz-attribution {font-size:12px;color:var(--od-muted);line-height:1.6}
.od-public .dji-nfz-notice {color:#7c2d12;background:#fff7ed;border-color:#fed7aa;font-size:13px;line-height:1.7;padding:14px 16px}
.od-public .blog-post-content__inner .dji-nfz-notice a {color:#7c2d12}
.od-public .blog-post-content__inner .leaflet-control-zoom a {color:var(--od-brand);text-decoration:none;min-width:40px;min-height:40px}
.od-public .blog-post-content__inner .wp-block-table {overflow:visible}
.od-public .blog-post-content__inner table[tabindex]:focus-visible {outline:3px solid var(--od-focus);outline-offset:3px}
@media(max-width:740px){.od-public .dji-nfz-actions{flex-wrap:wrap}.od-public .dji-nfz-legend{padding:12px}.od-public .dji-nfz-legend-item{font-size:12px}.od-public .dji-nfz-meta{gap:8px}}
.od-public .dji-nfz-map {height:560px!important} @media(max-width:740px){.od-public .dji-nfz-map{height:440px!important;min-height:320px}}
.od-public .blog-comment-date {color:var(--od-muted);font-size:13px} .od-public .blog-comment-body {background:var(--od-surface);border-color:var(--od-line);border-radius:8px}
/* Shared navigation, footer and preference controls. */
.od-public .op-skip-link { position: fixed; top: 12px; left: 20px; z-index: 1000001; transform: translateY(-180%); padding: 12px 20px; border-radius: 8px; background: var(--od-brand); color: #fff; font-weight: 600; }
.od-public .op-skip-link:focus { transform: none; }
.od-public .odakon-account-header-inner { max-width: 1360px; }
.od-public :where(.odakon-account-nav-link,.odakon-account-cta,.odakon-account-user,.odakon-mobile-menu-toggle,.odakon-mobile-nav-close) { min-height: 44px; }
.od-public .odakon-account-nav-dropdown-toggle { min-height: 44px; }
.od-public .odakon-account-nav-dropdown-menu { min-width: 230px; flex-direction: column; align-items: stretch; gap: 2px; padding: 8px; border: 1px solid var(--od-line); border-radius: 10px; box-shadow: 0 8px 24px #1c202414; }
.od-public .odakon-account-nav-dropdown-item { display: flex; gap: 10px; min-height: 44px; padding: 10px 12px; font-size: 14px; color: var(--od-ink); border-radius: 6px; }
.od-public .odakon-account-nav-dropdown-item svg { display: none; }
.od-public .odakon-account-nav-dropdown-item:hover { background: var(--od-surface); color: var(--od-brand); }
.od-public .odakon-account-nav-dropdown[data-od-disclosure] .odakon-account-nav-dropdown-menu { display: none; opacity: 0; visibility: hidden; pointer-events: none; transform: none; transition: none; }
.od-public .odakon-account-nav-dropdown[data-od-disclosure][data-open] .odakon-account-nav-dropdown-menu { display: flex; opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.od-public .odakon-account-nav-dropdown[data-open] .odakon-account-nav-dropdown-arrow { transform: rotate(180deg); }
.od-public .op-header-account { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; min-width: 44px; padding: 8px 12px; border: 1px solid var(--od-line); border-radius: 8px; font-size: 14px; color: var(--od-brand); text-decoration: none; white-space: nowrap; }
.od-public .op-header-account:hover { background: var(--od-surface); border-color: var(--od-control-line); }
.od-public .odakon-mobile-nav { background: #fff; max-width: min(390px,100% - 24px); }
.od-public .odakon-mobile-nav-header { min-height: 72px; padding: 16px 20px; background: #fff; border-color: var(--od-line); }
.od-public .odakon-mobile-nav-links { padding: 8px 12px 20px; overscroll-behavior: contain; }
.od-public .odakon-mobile-nav-item { min-height: 44px; color: var(--od-ink); font-size: 15px; padding: 10px 12px; border-radius: 6px; }
.od-public .odakon-mobile-nav-item:hover { color: var(--od-brand); background: var(--od-surface); }
.od-public .odakon-mobile-nav-section { border-color: var(--od-line); margin-top: 8px; padding-top: 8px; }
.od-public .odakon-mobile-nav-section-title { color: var(--od-muted); font-size: 12px; font-weight: 600; letter-spacing: .04em; padding: 8px 12px 4px; }
.od-public .odakon-mobile-nav-footer { padding: 16px 20px; background: #fff; border-color: var(--od-line); }
.od-public .odakon-mobile-nav-whatsapp { min-height: 48px; color: #fff; background: var(--od-brand); border: 1px solid var(--od-brand); border-radius: 8px; box-shadow: none; font-weight: 600; }
.od-public .odakon-mobile-nav-whatsapp:hover { color: #fff; background: var(--od-brand-hover); border-color: var(--od-brand-hover); transform: none; box-shadow: none; }
.od-public :where(.odakon-mobile-nav-item,.odakon-mobile-nav-close,.odakon-mobile-nav-logo,.odakon-mobile-nav-whatsapp,.odakon-account-user,.odakon-mobile-menu-toggle,.odakon-account-nav-link):focus-visible { outline: 3px solid var(--od-focus); outline-offset: 3px; box-shadow: none; }
.od-public .op-footer { background: var(--od-surface); color: var(--od-muted); border-top: 1px solid var(--od-line); padding-top: 40px; }
.op-footer-inner { width: min(1200px,100% - 80px); margin: 0 auto; }
.op-footer-heading { display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 32px; align-items: center; padding-bottom: 32px; border-bottom: 1px solid var(--od-line); }
.op-footer-brand { display: inline-flex; align-items: center; gap: 12px; width: fit-content; min-height: 44px; font-size: 24px; font-weight: 650; color: var(--od-ink); text-decoration: none; }
.op-footer-brand img { width: 36px; height: 36px; }
.op-footer-heading p { font-size: 15px; line-height: 1.6; margin: 0; }
.op-footer-social { display: flex; align-items: center; gap: 24px; }
.op-footer-social a { display: inline-flex; align-items: center; min-height: 44px; gap: 6px; font-size: 14px; color: var(--od-brand); text-decoration: none; }
.op-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.op-footer-groups { display: grid; grid-template-columns: 1fr 1.15fr 1fr 1.25fr; gap: 40px; padding-block: 28px; }
.op-footer-group { min-width: 0; }
.op-footer-group summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; color: var(--od-ink); font-size: 16px; font-weight: 600; list-style: none; cursor: default; }
.op-footer-group summary::-webkit-details-marker { display: none; }
.op-footer-group summary > span { display: none; }
.op-footer-group ul { margin: 8px 0 0; padding: 0; list-style: none; }
.op-footer-group li { margin: 0; padding: 0; }
.op-footer-group li a { display: inline-flex; align-items: center; min-height: 36px; font-size: 14px; line-height: 1.5; color: var(--od-muted); padding-block: 7px; text-decoration: none; }
.op-footer-group li a:hover { color: var(--od-brand); text-decoration: underline; }
.op-footer-contact { display: grid; grid-template-columns: 1.4fr 1fr 1fr auto; gap: 24px; align-items: center; padding-block: 24px; border-block: 1px solid var(--od-line); }
.op-footer-contact address { font-style: normal; font-size: 14px; line-height: 1.6; }
.op-footer-contact :where(a,button) { display: inline-flex; align-items: center; min-height: 44px; color: var(--od-brand); font-size: 14px; text-decoration: none; }
.op-footer-contact button { appearance: none; border: 0; padding: 0; background: none; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.op-footer-disclaimer { max-width: 100ch; margin: 24px 0 0; font-size: 13px; line-height: 1.6; }
.op-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-block: 24px; font-size: 12px; line-height: 1.6; }
.od-public #odakonCC { color: var(--od-ink); background: #fff; border-top: 1px solid var(--od-line); box-shadow: 0 -4px 24px #1c202410; font-family: var(--od-font); padding: 20px 24px; }
.od-public #odakonCC .cc-row { gap: 24px; }
.od-public #odakonCC .cc-text { color: var(--od-muted); font-size: 14px; line-height: 1.6; }
.od-public #odakonCC .cc-text a { color: var(--od-brand); }
.od-public #odakonCC .cc-btns { flex-basis: 460px; }
.od-public #odakonCC :is(.cc-btn,.cc-save) { min-height: 44px; padding: 10px 12px; font: 600 14px/1.4 var(--od-font); border-radius: 8px; box-shadow: none; }
.od-public #odakonCC :is(.cc-accept,.cc-save) { color: #fff; background: var(--od-brand); border-color: var(--od-brand); }
.od-public #odakonCC :is(.cc-accept,.cc-save):hover { color: #fff; background: var(--od-brand-hover); border-color: var(--od-brand-hover); }
.od-public #odakonCC :is(.cc-reject,.cc-manage) { color: var(--od-brand); background: #fff; border-color: var(--od-control-line); }
.od-public #odakonCC :is(.cc-reject,.cc-manage):hover { color: var(--od-brand); background: var(--od-selected); border-color: var(--od-brand); }
.od-public #odakonCC .cc-prefs { max-width: 1200px; margin: 16px auto 0; border-color: var(--od-line); padding-top: 12px; }
.od-public #odakonCC .cc-pref-item { min-height: 44px; }
.od-public #odakonCC .cc-pref-item > label { color: var(--od-ink); font-size: 14px; }
.od-public #odakonCC .cc-sw { width: 44px; height: 28px; }
.od-public #odakonCC .cc-sw span { background: #60646c; }
.od-public #odakonCC .cc-sw span:before { width: 22px; height: 22px; background: #fff; }
.od-public #odakonCC .cc-sw input:checked+span { background: var(--od-brand); }
.od-public #odakonCC :focus-visible, .od-public #odakonCC .cc-sw input:focus-visible+span { outline: 3px solid var(--od-focus); outline-offset: 3px; }
.od-public #odakonStandaloneConsent { font-family: var(--od-font); color: var(--od-ink); border-color: var(--od-line); box-shadow: 0 8px 32px #1c202418; }
.od-public #odakonStandaloneConsent .osc-accept:hover { background: var(--od-brand-hover); }
.od-public #odakonStandaloneConsent .osc-reject:hover { background: var(--od-selected); }
@media (max-width: 1100px) {
  .od-public .op-header-account { padding: 10px; }
  .od-public .op-header-account span { display: none; }
}
@media (max-width: 900px) {
  .op-footer-heading { grid-template-columns: 1fr 1.4fr; gap: 20px; }
  .op-footer-social { grid-column: 1/-1; }
  .op-footer-groups { grid-template-columns: 1fr 1fr; gap: 24px 40px; }
  .op-footer-contact { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .od-public .op-footer { padding-top: 28px; }
  .op-footer-inner { width: calc(100% - 40px); }
  .op-footer-heading { grid-template-columns: 1fr; gap: 12px; padding-bottom: 20px; }
  .op-footer-heading p { font-size: 14px; }
  .op-footer-social { gap: 24px; }
  .op-footer-groups { display: block; padding-block: 0; }
  .op-footer-group { border-bottom: 1px solid var(--od-line); }
  .op-footer-group summary { min-height: 56px; font-size: 15px; cursor: pointer; }
  .op-footer-group summary > span { display: inline; font-size: 24px; line-height: 1; font-weight: 400; transition: transform .16s; }
  .op-footer-group[open] summary > span { transform: rotate(45deg); }
  .op-footer-group ul { margin: 0; padding-bottom: 12px; }
  .op-footer-group li a { min-height: 44px; }
  .op-footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding-block: 20px; border-top: 0; }
  .op-footer-contact address { margin-bottom: 8px; }
  .op-footer-disclaimer { font-size: 12px; margin-top: 20px; }
  .op-footer-bottom { padding-block: 20px; }
  .od-public #odakonCC { padding: 16px; }
  .od-public #odakonCC .cc-row { gap: 14px; }
  .od-public #odakonCC .cc-btns { flex-basis: 100%; }
  .od-public #odakonCC .cc-btn { font-size: 12px; padding: 10px 6px; min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .od-public :where(.odakon-account-nav-dropdown-menu,.odakon-mobile-nav,.op-footer-group summary > span,#odakonCC,.cc-sw span,.cc-sw span:before) { transition: none !important; }
}


.od-public .odakon-account-nav-link:focus-visible { outline: 3px solid var(--od-focus); outline-offset: 3px; }
.od-public .odakon-mobile-nav-logo[aria-current] { background: transparent; color: var(--od-ink); }
/* Supplemental legal document and missing-page recovery. */
.od-public .op-content-document .legal-page { padding-top: 12px; }
.od-public .op-content-document .entry-content h2 { font-size: 22px; letter-spacing: -.01em; }
.od-public .op-not-found { padding-block: 72px 80px; }
.od-public .op-not-found .oe-wrap { max-width: 760px; }
.od-public .op-not-found-code { color: var(--od-brand); font-size: 18px; font-weight: 600; margin-bottom: 16px; }
.od-public .op-not-found h1 { font-size: 44px; }
.od-public .op-not-found-description { max-width: 62ch; margin-top: 24px; font-size: 17px; line-height: 1.7; color: var(--od-muted); }
.od-public .op-not-found .oe-actions { margin-top: 28px; }
.op-not-found-search { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--od-line); }
.op-not-found-search label { display: block; font-size: 15px; font-weight: 600; margin-bottom: 10px; }
.op-not-found-search > div { display: flex; gap: 12px; }
.op-not-found-search input { min-width: 0; flex: 1; min-height: 50px; padding: 12px 14px; border: 1px solid var(--od-control-line); border-radius: 8px; color: var(--od-ink); background: #fff; font-size: 16px; }
.op-not-found-search input::placeholder { color: var(--od-muted); }
@media (max-width: 680px) {
  .od-public .op-content-document .entry-content h2 { font-size: 20px; }
  .od-public .op-not-found { padding-block: 40px 48px; }
  .od-public .op-not-found h1 { font-size: 34px; }
  .od-public .op-not-found-description { font-size: 16px; }
  .od-public .op-not-found .oe-actions { align-items: stretch; }
  .op-not-found-search { margin-top: 32px; padding-top: 24px; }
  .od-public .op-not-found-search .oe-button { width: auto; flex: 0 0 auto; padding-inline: 16px; }
}

.od-public .legal-breadcrumb span:not([aria-hidden]) { color: var(--od-muted); }
@media (max-width:680px) { .od-public .op-not-found .oe-actions > a { width:100%; } }
/* Province detail: locality data without decorative destination copy. */
.od-public .op-city-districts { margin-block: 24px 32px; border-block: 1px solid var(--od-line); }
.od-public .op-city-districts summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 56px; padding-block: 14px; font-size: 16px; font-weight: 600; color: var(--od-brand); cursor: pointer; list-style: none; }
.od-public .op-city-districts summary::-webkit-details-marker { display: none; }
.od-public .op-city-districts summary .oe-icon { width: 18px; height: 18px; flex: 0 0 18px; }
.od-public .op-city-districts[open] summary .oe-icon { transform: rotate(180deg); }
.od-public .op-city-districts ul { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px 20px; padding: 8px 0 24px; margin: 0; list-style: none; font-size: 14px; line-height: 1.6; }
.od-public .op-city-districts li { margin: 0; padding: 0; }
@media (max-width:680px) { .od-public .op-city-districts ul { grid-template-columns: 1fr 1fr; gap: 8px 16px; } }

.od-public .op-city-prose > h3:first-child { margin-top: 0; }
.od-public .op-city-prose p a { color: var(--od-brand); text-decoration: underline; text-underline-offset: .2em; }
