/* DU 19 · Oslobođena — samoprocjena, rezultat, dar i odjava (2026-10-14). Sve je vezano uz .du-os-app i body.du-os-page.
   Tokeni: papir #FAF7F3, blush #F8EAF0, topla tinta #242022, magenta #C01D76, indigo #434398 (interakcija). Newsreader + Montserrat.
   Bez tamnih površina (pravilo za Oslobođenu). */
body.du-os-page { background: #FAF7F3; }
body.du-os-page .site-main, body.du-os-page main.site-main { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.du-os-page .page-content { margin: 0; padding: 0; }
body.du-os-page .page-header { display: none; }

.du-os-app {
  --os-paper: #FAF7F3; --os-blush: #F8EAF0; --os-ink: #242022; --os-mag: #C01D76; --os-ind: #434398; --os-muted: #645B61;
  --os-line: rgba(36, 32, 34, .14); --os-x: max(24px, calc((100vw - 1200px) / 2)); --os-serif: "Newsreader", Georgia, serif; --os-sans: "Montserrat", Arial, sans-serif;
  background: var(--os-paper); color: var(--os-ink); font: 400 16px/1.7 var(--os-sans); -webkit-font-smoothing: antialiased;
  padding: clamp(40px, 5vw, 72px) var(--os-x) clamp(72px, 8vw, 120px); box-sizing: border-box; min-height: 60vh;
}
.du-os-app *, .du-os-app *::before, .du-os-app *::after { box-sizing: border-box; }
.du-os-app .os-wrap { max-width: 880px; margin: 0 auto; }
.du-os-app .os-wide { max-width: 1200px; margin: 0 auto; }
.du-os-app h1, .du-os-app h2, .du-os-app h3 { font-family: var(--os-serif) !important; font-weight: 400 !important; color: var(--os-ink) !important; letter-spacing: -0.01em; text-transform: none !important; margin: 0; }
.du-os-app h1 { font-size: clamp(2.375rem, 1.6rem + 3vw, 4rem) !important; line-height: 1.04 !important; letter-spacing: -0.02em; }
.du-os-app h2 { font-size: clamp(1.875rem, 1.35rem + 2vw, 3rem) !important; line-height: 1.1 !important; }
.du-os-app h3 { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.625rem) !important; line-height: 1.2 !important; }
.du-os-app p { margin: 0 0 1em; font-family: var(--os-sans); font-size: 1rem; line-height: 1.7; color: var(--os-ink); }
.du-os-app a { color: var(--os-ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.du-os-app a:hover { color: var(--os-ind); }
.du-os-app a:focus-visible, .du-os-app button:focus-visible, .du-os-app input:focus-visible, .du-os-app textarea:focus-visible, .du-os-app [tabindex="-1"]:focus-visible { outline: 3px solid var(--os-ind); outline-offset: 3px; }
.du-os-app [tabindex="-1"]:focus { outline: none; }
.du-os-app .os-eyebrow { margin: 0 0 18px; font: 600 12px/1.5 var(--os-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--os-muted); }
.du-os-app .os-eyebrow--mag { color: var(--os-mag); }
.du-os-app .os-lead { font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.7; max-width: 36em; }
.du-os-app .os-small { font-size: .8125rem; line-height: 1.6; color: var(--os-muted); }
.du-os-app .os-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.du-os-app .os-rule { border: 0; border-top: 1px solid var(--os-line); margin: 40px 0; }

/* gumbi: oblik i ponašanje kao postojeći a.du-cta (kit): magenta, verzal, hover indigo + scale 1.04 */
.du-os-app .os-btn, .du-os-app a.os-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .75em; min-height: 54px; padding: 0 32px; border: 0; border-radius: 999px;
  background: var(--os-mag); color: #fff !important; font: 600 .8125rem/1.2 var(--os-sans); letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important;
  white-space: normal; text-align: center; cursor: pointer; box-shadow: none; transition: background-color 200ms ease, transform 200ms ease; -webkit-appearance: none; appearance: none;
}
.du-os-app .os-btn--arrow::after { content: "\2192"; font-size: 1.15em; letter-spacing: 0; }
.du-os-app .os-btn:hover, .du-os-app .os-btn:active, .du-os-app .os-btn:focus-visible { background: var(--os-ind); color: #fff !important; transform: scale(1.04); }
.du-os-app .os-btn[disabled], .du-os-app .os-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; transform: none; background: var(--os-mag); }
.du-os-app .os-btn--quiet { background: transparent; color: var(--os-ink) !important; border: 1px solid rgba(36, 32, 34, .35); }
.du-os-app .os-btn--quiet:hover, .du-os-app .os-btn--quiet:focus-visible { background: #fff; color: var(--os-ind) !important; border-color: var(--os-ind); transform: none; }
.du-os-app .os-linkbtn { background: none; border: 0; padding: 10px 0; min-height: 44px; font: 600 .875rem/1.4 var(--os-sans); color: var(--os-ink); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; white-space: normal; text-transform: none; letter-spacing: 0; }
.du-os-app .os-linkbtn:hover { color: var(--os-ind); background: none; }
.du-os-app .os-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 32px; }
@media (prefers-reduced-motion: reduce) { .du-os-app .os-btn { transition: none; } .du-os-app .os-btn:hover, .du-os-app .os-btn:focus-visible { transform: none; } }

/* napredak */
.du-os-app .os-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 24px; margin-bottom: 28px; }
.du-os-app .os-progress { width: 100%; }
.du-os-app .os-progress__row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; font: 600 .8125rem/1.5 var(--os-sans); color: var(--os-muted); }
.du-os-app .os-progress__bar { position: relative; height: 4px; margin-top: 10px; background: rgba(67, 67, 152, .14); border-radius: 4px; overflow: hidden; }
.du-os-app .os-progress__bar > span { position: absolute; inset: 0 auto 0 0; background: var(--os-mag); border-radius: 4px; }

/* pitanja */
.du-os-app .os-part { margin: 0 0 8px; font: 600 12px/1.5 var(--os-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--os-mag); }
.du-os-app .os-instr { max-width: 40em; margin: 14px 0 6px; }
.du-os-app .os-note { padding: 14px 18px; margin: 18px 0 0; background: var(--os-blush); border-radius: 12px; font-size: .9375rem; line-height: 1.6; }
.du-os-app .os-q { border: 0; padding: 26px 0 24px; margin: 0; border-top: 1px solid var(--os-line); min-width: 0; }
.du-os-app .os-q:first-of-type { margin-top: 24px; }
.du-os-app .os-q legend { float: left; width: 100%; padding: 0; margin: 0 0 14px; font: 400 clamp(1.1875rem, 1.05rem + .5vw, 1.4375rem)/1.35 var(--os-serif); color: var(--os-ink); }
.du-os-app .os-q legend .os-qn { display: inline-block; min-width: 2.2em; font-family: var(--os-sans); font-size: .8125rem; font-weight: 600; color: var(--os-mag); letter-spacing: .04em; vertical-align: .15em; }
.du-os-app .os-q .os-hint { clear: both; margin: 0 0 10px; }
.du-os-app .os-opts { clear: both; display: flex; flex-wrap: wrap; gap: 10px; }
.du-os-app .os-opt { position: relative; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 16px; border: 1px solid rgba(36, 32, 34, .22); border-radius: 12px; background: #fff; cursor: pointer; font: 500 .9375rem/1.35 var(--os-sans); color: var(--os-ink); transition: border-color 150ms, box-shadow 150ms; }
.du-os-app .os-opt input { margin: 0; width: 18px; height: 18px; flex: none; accent-color: var(--os-ind); }
.du-os-app .os-opt:hover { border-color: var(--os-ind); }
.du-os-app .os-opt:has(input:checked) { border-color: var(--os-ind); box-shadow: 0 0 0 1px var(--os-ind) inset; font-weight: 600; }
.du-os-app .os-opt:has(input:focus-visible) { outline: 3px solid var(--os-ind); outline-offset: 2px; }
.du-os-app .os-opt--na { background: transparent; border-style: dashed; color: var(--os-muted); }
.du-os-app .os-opts--scale .os-opt { flex: 1 1 0; min-width: 0; justify-content: flex-start; }
.du-os-app .os-opts--scale .os-opt--na { flex-basis: 100%; }
.du-os-app .os-opts--list { flex-direction: column; align-items: stretch; }
.du-os-app .os-text { width: 100%; min-height: 110px; padding: 14px 16px; border: 1px solid rgba(36, 32, 34, .25); border-radius: 12px; background: #fff; font: 400 1rem/1.6 var(--os-sans); color: var(--os-ink); resize: vertical; }
.du-os-app .os-err { color: #8F1453; font-weight: 600; font-size: .9375rem; margin: 10px 0 0; }
.du-os-app .os-nav { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--os-line); }
.du-os-app .os-nav__skip { flex: 1 1 100%; order: 3; margin: 0; }
@media (max-width: 899px) {
  .du-os-app .os-opts--scale { flex-direction: column; }
  .du-os-app .os-opts--scale .os-opt { flex: 0 0 auto; }
}

/* uvod */
.du-os-app .os-intro h1 { margin-bottom: 26px; }
.du-os-app .os-list { margin: 22px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.du-os-app .os-list li { position: relative; padding-left: 28px; }
.du-os-app .os-list li::before { content: ""; position: absolute; left: 0; top: .72em; width: 14px; height: 1px; background: var(--os-mag); }

/* rezultat */
.du-os-app .os-hero { display: grid; grid-template-columns: minmax(0, .45fr) minmax(0, .49fr); column-gap: 6%; align-items: center; }
.du-os-app .os-hero__fig { margin: 0; }
.du-os-app .os-hero__fig img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 4px; background: #f6ece9; }
.du-os-app .os-hero__label { margin: 0 0 14px; font: 600 12px/1.5 var(--os-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--os-mag); }
.du-os-app .os-hero h1 { margin-bottom: 22px; }
.du-os-app .os-hero__note { padding-top: 18px; margin-top: 22px; border-top: 1px solid var(--os-line); }
.du-os-app .os-flag { padding: 12px 16px; margin: 16px 0 0; border-left: 2px solid var(--os-ind); background: #fff; font-size: .9375rem; line-height: 1.6; }
.du-os-app .os-sec { margin-top: clamp(56px, 7vw, 96px); }
.du-os-app .os-sec > h2 { margin-bottom: 14px; }
.du-os-app .os-sums { list-style: none; padding: 0; margin: 20px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.du-os-app .os-sums li { padding: 12px 14px; border: 1px solid var(--os-line); border-radius: 12px; background: #fff; display: flex; justify-content: space-between; gap: 10px; font-size: .9375rem; }
.du-os-app .os-sums li.is-own { border-color: var(--os-ind); box-shadow: 0 0 0 1px var(--os-ind) inset; font-weight: 600; }
.du-os-app .os-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 24px; }
.du-os-app .os-area { padding: 24px; border: 1px solid var(--os-line); border-radius: 16px; background: #fff; min-width: 0; }
.du-os-app .os-area--cond { grid-column: 1 / -1; background: var(--os-blush); border-color: transparent; }
.du-os-app .os-area h3 { margin-bottom: 6px; }
.du-os-app .os-level { margin: 0 0 14px; font: 600 .875rem/1.5 var(--os-sans); color: var(--os-ind); }
.du-os-app .os-scale { list-style: none; padding: 0; margin: 0 0 16px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
.du-os-app .os-scale li { padding: 8px 4px 0; border-top: 3px solid rgba(67, 67, 152, .16); font: 500 .6875rem/1.3 var(--os-sans); color: var(--os-muted); text-align: center; }
.du-os-app .os-scale li.is-med { border-top-color: var(--os-ind); color: var(--os-ind); font-weight: 700; }
.du-os-app .os-items { list-style: none; padding: 0; margin: 0; }
.du-os-app .os-items li { padding: 10px 0; border-top: 1px solid var(--os-line); font-size: .875rem; line-height: 1.55; }
.du-os-app .os-items li b { display: block; font-weight: 600; color: var(--os-ind); font-size: .8125rem; margin-top: 2px; }
.du-os-app .os-not { margin: 14px 0 0; font-size: .8125rem; color: var(--os-muted); }
.du-os-app .os-focus .os-opts { margin-top: 18px; }
.du-os-app .os-orient { margin-top: 18px; padding: 18px 20px; border-radius: 12px; background: #fff; border: 1px solid var(--os-line); }
.du-os-app .os-orient dl { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; }
.du-os-app .os-orient dt { font-weight: 600; font-size: .875rem; }
.du-os-app .os-orient dd { margin: 0; font-size: .9375rem; }
.du-os-app .os-gift { display: grid; grid-template-columns: minmax(0, .38fr) minmax(0, .56fr); column-gap: 6%; align-items: start; padding: clamp(28px, 4vw, 48px); border-radius: 24px; background: var(--os-blush); }
.du-os-app .os-gift__cover { margin: 0; }
.du-os-app .os-gift__cover img { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: 0 18px 40px rgba(36, 32, 34, .14); }
.du-os-app .os-gift__cover figcaption { margin-top: 12px; text-align: center; font-size: .8125rem; color: var(--os-muted); }
.du-os-app .os-field { margin: 22px 0 0; }
.du-os-app .os-field label { display: block; margin-bottom: 6px; font: 600 .875rem/1.4 var(--os-sans); }
.du-os-app .os-input { width: 100%; max-width: 440px; min-height: 52px; padding: 12px 16px; border: 1px solid rgba(36, 32, 34, .35); border-radius: 12px; background: #fff; font: 400 1rem/1.4 var(--os-sans); color: var(--os-ink); }
.du-os-app .os-input[aria-invalid="true"] { border-color: #8F1453; box-shadow: 0 0 0 1px #8F1453 inset; }
.du-os-app .os-check { display: flex; gap: 12px; align-items: flex-start; margin: 20px 0 0; padding: 14px 16px; border-radius: 12px; background: #fff; border: 1px solid var(--os-line); cursor: pointer; font-size: .9375rem; line-height: 1.55; }
.du-os-app .os-check input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--os-ind); }
.du-os-app .os-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.du-os-app .os-receipt { margin-top: 22px; padding: 18px 20px; border-radius: 12px; background: #fff; border-left: 3px solid var(--os-ind); }
.du-os-app .os-receipt p:last-child { margin-bottom: 0; }
.du-os-app .os-private { margin-top: 40px; padding: 20px; border: 1px dashed rgba(36, 32, 34, .3); border-radius: 12px; }
.du-os-app .os-manual { margin-top: 18px; }

/* stranica dara */
.du-os-app .os-dar-head { display: grid; grid-template-columns: minmax(0, .34fr) minmax(0, .6fr); column-gap: 6%; align-items: center; }
.du-os-app .os-step { margin-top: clamp(48px, 6vw, 80px); }
.du-os-app .os-step > h2 { margin-bottom: 18px; }
.du-os-app .os-step__pages { font-size: .8125rem; color: var(--os-muted); }
.du-os-app .os-qlist { margin: 14px 0 0; padding-left: 1.2em; }
.du-os-app .os-qlist li { margin: 8px 0; }
.du-os-app details.os-choice { margin-top: 12px; border: 1px solid var(--os-line); border-radius: 14px; background: #fff; }
.du-os-app details.os-choice[open] { border-color: var(--os-ind); }
.du-os-app details.os-choice > summary { cursor: pointer; padding: 16px 20px; min-height: 48px; list-style: none; font: 600 .9375rem/1.4 var(--os-sans); }
.du-os-app details.os-choice > summary::-webkit-details-marker { display: none; }
.du-os-app details.os-choice > summary::after { content: "+"; float: right; color: var(--os-ind); font-size: 1.2em; line-height: 1; }
.du-os-app details.os-choice[open] > summary::after { content: "–"; }
.du-os-app details.os-choice > div { padding: 0 20px 18px; }
.du-os-app .os-tag { display: inline-block; margin-left: 8px; padding: 2px 10px; border-radius: 999px; background: var(--os-blush); color: var(--os-mag); font-size: .75rem; font-weight: 600; letter-spacing: .04em; }
.du-os-app .os-prompt { font-family: var(--os-serif); font-style: italic; font-size: 1.125rem; }
.du-os-app .os-box { margin-top: 28px; padding: 24px; border-radius: 16px; background: #fff; border: 1px solid var(--os-line); }

@media (max-width: 899px) {
  .du-os-app .os-hero, .du-os-app .os-gift, .du-os-app .os-dar-head { grid-template-columns: 1fr; row-gap: 28px; }
  .du-os-app .os-hero__fig { max-width: 520px; }
  .du-os-app .os-gift__cover { max-width: 260px; }
  .du-os-app .os-dar-head figure { max-width: 240px; }
  .du-os-app .os-areas { grid-template-columns: 1fr; }
  .du-os-app .os-sums { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .du-os-app .os-btn, .du-os-app a.os-btn { min-height: 52px; padding: 12px 22px; font-size: .75rem; letter-spacing: .08em; }
  .du-os-app .os-sums { grid-template-columns: 1fr; }
  .du-os-app .os-scale li { font-size: .625rem; }
  .du-os-app .os-orient dl { grid-template-columns: 1fr; }
  .du-os-app .os-area { padding: 18px; }
}

/* ── Viđena (2026-10-14): rezultat s figurom na pijesku (portret 1055×1491, contain), indigo nadnaslovi ── */
.du-os-app .os-eyebrow--ind, .du-os-app .os-ind { color: var(--os-ind); }
.du-os-app .os-vhero { display: grid; grid-template-columns: minmax(0, .38fr) minmax(0, .56fr); column-gap: 6%; align-items: center; margin-top: 24px; }
.du-os-app .os-vhero__fig { margin: 0; }
.du-os-app .os-vhero__fig img { display: block; width: 100%; height: auto; aspect-ratio: 1055 / 1491; object-fit: contain; border-radius: 4px; background: #f3e6e6; }
.du-os-app .os-vhero h1 { margin-bottom: 18px; }
.du-os-app .os-prompt-lg { margin: 0 0 18px; font: 400 clamp(1.5rem, 1.2rem + 1vw, 2rem)/1.25 var(--os-serif); color: var(--os-ink); }
.du-os-app .os-vlist { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 10px; }
.du-os-app .os-vlist li { padding: 14px 18px; border-left: 2px solid var(--os-mag); background: #fff; border-radius: 0 12px 12px 0; }
.du-os-app .os-vlist strong { display: block; font-weight: 600; }
.du-os-app .os-vlist span { display: block; font-size: .875rem; color: var(--os-muted); font-family: var(--os-serif); font-style: italic; }
@media (max-width: 899px) { .du-os-app .os-vhero { grid-template-columns: 1fr; row-gap: 28px; } .du-os-app .os-vhero__fig { max-width: 420px; } }

/* ── Result view, owner-approved 2026-10-26 (APPROVED-result-horizontal-chart.png): hero, six segmented bars, „Zašto baš”, next step.
   Raspberry = highest raw sum, purple = next level, soft rose = others; colour follows the scores only, never the chosen workbook. ── */
.du-os-app .os-res-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); column-gap: 4%; align-items: end; padding-bottom: 28px; border-bottom: 1px solid #EBC6D6; }
.du-os-app .os-res-brand { margin: 0; font: 600 13px/1.4 var(--os-sans); letter-spacing: .32em; text-transform: uppercase; color: var(--os-mag); }
.du-os-app .os-res-prog { margin: 2px 0 0; font: italic 400 clamp(2.25rem, 1.8rem + 1.6vw, 3rem)/1.1 var(--os-serif); color: var(--os-mag); }
.du-os-app .os-res-kicker { margin: 4px 0 34px; font: 600 11px/1.4 var(--os-sans); letter-spacing: .3em; text-transform: uppercase; color: var(--os-ink); }
.du-os-app h1.os-res-hero__h { margin: 0 0 14px; }
.du-os-app .os-res-hero__t { display: block; font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.6rem); line-height: 1.04; color: var(--os-ink); }
.du-os-app .os-res-hero__a { display: block; margin-top: 6px; font-size: clamp(2.6rem, 1.7rem + 3.6vw, 4.6rem); line-height: 1.02; color: var(--os-mag); text-transform: uppercase; letter-spacing: -.01em; overflow-wrap: anywhere; }
.du-os-app .os-res-hero__a--vi { text-transform: none; font-size: clamp(2.1rem, 1.5rem + 2.4vw, 3.4rem); }
.du-os-app .os-res-hero__tag { margin: 0 0 6px; font: 400 clamp(1.125rem, 1rem + .4vw, 1.375rem)/1.45 var(--os-serif); color: var(--os-ink); }
.du-os-app .os-res-hero__fig { margin: 0; }
.du-os-app .os-res-hero__fig img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
.du-os-app .os-res-hero__fig--vi img { aspect-ratio: auto; border-radius: 999px 999px 8px 8px; max-height: 560px; object-fit: cover; }
.du-os-app .os-chart { margin-top: 36px; padding: clamp(22px, 3vw, 36px); background: #FFFCFA; border-radius: 18px; box-shadow: 0 10px 34px rgba(192, 29, 118, .07); }
.du-os-app .os-chart h2 { margin: 0 0 4px; }
.du-os-app .os-chart__sub { margin: 0 0 22px; color: var(--os-muted); }
.du-os-app .os-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.du-os-app .os-bar { display: grid; grid-template-columns: minmax(0, 17.5em) minmax(0, 1fr) 4.6em; align-items: center; column-gap: 18px; margin: 0; }
.du-os-app .os-bar__lab { font-size: .9375rem; line-height: 1.35; color: var(--os-ink); }
.du-os-app .os-bar__arch { color: var(--os-mag); }
.du-os-app .os-bar__track { position: relative; height: 16px; border-radius: 999px; background: #F6E4EA; overflow: hidden; }
.du-os-app .os-bar__fill { position: absolute; inset: 0 auto 0 0; border-radius: 999px; background: #EDB4C8; animation: os-grow .9s cubic-bezier(.2, .7, .2, 1) both; transform-origin: left center; }
.du-os-app .os-bar--lead .os-bar__fill { background: var(--os-mag); }
.du-os-app .os-bar--next .os-bar__fill { background: #8E57AE; }
.du-os-app .os-bar__track::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 calc(10% - 2px), rgba(255, 255, 255, .85) calc(10% - 2px) 10%); pointer-events: none; }
.du-os-app .os-bar__val { text-align: right; white-space: nowrap; font-size: .875rem; color: var(--os-muted); }
.du-os-app .os-bar__val b { font: 600 1.25rem/1 var(--os-sans); color: var(--os-mag); }
.du-os-app .os-bar--next .os-bar__val b, .du-os-app .os-bar--rest .os-bar__val b { color: #9A1660; }
.du-os-app .os-chart__note { margin: 18px 0 4px; font-size: .9375rem; color: var(--os-muted); }
@keyframes os-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { .du-os-app .os-bar__fill { animation: none; } }
.du-os-app .os-why { margin-top: 44px; }
.du-os-app .os-why__sub { margin: 4px 0 18px; color: var(--os-muted); }
.du-os-app .os-ev { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.du-os-app .os-ev__card { display: grid; grid-template-columns: auto 1fr; gap: 16px; margin: 0; padding: 20px 22px; border-radius: 14px; background: var(--os-blush); }
.du-os-app .os-ev__n { padding-right: 16px; border-right: 1px solid #E3A9C1; font: 400 2.5rem/1 var(--os-serif); color: var(--os-mag); }
.du-os-app .os-ev__t { margin: 0 0 6px; font: 400 1.1875rem/1.3 var(--os-serif); color: var(--os-ink); }
.du-os-app .os-ev__src summary { cursor: pointer; font-size: .8125rem; color: var(--os-ind); min-height: 32px; display: flex; align-items: center; }
.du-os-app .os-ev__src p { margin: 8px 0 0; font-size: .875rem; }
.du-os-app .os-why__cmp { margin-top: 20px; font: 400 1.125rem/1.55 var(--os-serif); }
.du-os-app .os-next { margin-top: 44px; padding-top: 32px; border-top: 1px solid #EBC6D6; }
.du-os-app .os-next__focus { margin: 4px 0 18px; }
.du-os-app .os-next__focus b { color: var(--os-mag); font-weight: 600; }
.du-os-app .os-next__card { padding: clamp(22px, 3vw, 36px); border-radius: 18px; background: linear-gradient(120deg, #FBEFF3, #F7E3EC); }
.du-os-app .os-next__card h3 { margin: 0 0 10px; font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.25rem) !important; }
.du-os-app .os-actions--c { justify-content: center; text-align: center; margin-top: 22px; }
.du-os-app .os-res-foot { margin-top: 40px; padding-top: 18px; border-top: 1px solid #EBC6D6; text-align: center; font-size: .8125rem; color: var(--os-muted); }
@media (max-width: 899px) {
  .du-os-app .os-res-hero { grid-template-columns: 1fr; row-gap: 20px; }
  .du-os-app .os-res-hero__fig { max-width: 380px; margin: 0 auto; }
  .du-os-app .os-bar { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; }
  .du-os-app .os-bar__lab { grid-column: 1 / -1; }
}
/* visually hidden legends stay inside their fieldset (an absolutely positioned legend otherwise widened the page by ~25–40 px) */
.du-os-app fieldset.os-q { position: relative; min-width: 0; }
.du-os-app legend.os-sr { top: 0; left: 0; }

/* result hero with the prepared sculpture (owner correction 2026-10-26): no square, no caption, no separate background; the base
   crosses the rule. The figure has a fixed height so the CSS rule lands on the rule baked into the image. */
.du-os-app .os-res-hero--cut { --os-fh: 520px; position: relative; align-items: end; padding-bottom: 0; border-bottom: 0; margin-top: -8px; }
.du-os-app .os-res-hero--cut .os-res-hero__txt { align-self: center; padding-bottom: calc(var(--os-fh) * var(--os-rule) + 20px); }
.du-os-app .os-res-hero__fig--cut { position: relative; z-index: 1; justify-self: end; margin: 0; line-height: 0; }
.du-os-app .os-res-hero__fig--cut .os-res-hero__art { display: block; height: var(--os-fh); width: calc(var(--os-fh) * var(--os-ar)); max-width: none; aspect-ratio: auto; object-fit: initial; background: none; }
.du-os-app .os-res-hero__rule { position: absolute; left: 0; right: 0; bottom: calc(var(--os-fh) * var(--os-rule)); height: 1px; background: #EBC6D6; z-index: 0; }
.du-os-app .os-res-hero--cut + .os-chart { margin-top: 40px; }
@media (max-width: 899px) {
  .du-os-app .os-res-hero--cut { --os-fh: 390px; }
  .du-os-app .os-res-hero--cut .os-res-hero__txt { padding-bottom: 8px; }
  .du-os-app .os-res-hero__fig--cut { justify-self: center; max-width: none; }
}
.du-os-app .os-res-hero--cut .os-hero__note { border-top: 0; padding-top: 0; margin-top: 14px; max-width: 34em; }

/* proportions at the approved content width (owner correction 2026-10-26) */
.du-os-app .os-res { max-width: 1040px; }
.du-os-app .os-res .os-res-hero--cut { --os-fh: 600px; column-gap: 0; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.du-os-app .os-res .os-res-hero__t { font-size: clamp(2.4rem, 1.6rem + 3vw, 4.25rem); line-height: 1.02; letter-spacing: -.025em; }
.du-os-app .os-res .os-res-hero__a { font-size: clamp(2.8rem, 1.6rem + 4.4vw, 5.6rem); line-height: 1; letter-spacing: -.02em; }
.du-os-app .os-res .os-res-hero__tag { font-size: clamp(1.15rem, 1rem + .5vw, 1.5rem); }
.du-os-app .os-res-hero__fig .os-res-hero__feather { position: absolute; left: -64px; top: 22%; width: 70px; height: auto; aspect-ratio: auto; object-fit: initial; pointer-events: none; }
.du-os-app .os-res .os-ev__t { font-size: clamp(1.15rem, 1rem + .5vw, 1.5rem); }
.du-os-app .os-res .os-why__cmp { font-size: clamp(1.1rem, 1rem + .35vw, 1.3rem); }
.du-os-app .os-why__name { color: var(--os-mag); font-weight: 600; }
.du-os-app .os-res .os-bar__lab { font-size: 1rem; }
@media (max-width: 899px) { .du-os-app .os-res .os-res-hero--cut { --os-fh: 390px; grid-template-columns: 1fr; } .du-os-app .os-res-hero__fig .os-res-hero__feather { left: -48px; width: 52px; } }
