/* Original violet, ink and citrus palette with gentler contrast. */
:root {
  --ink: #303043;
  --muted: #626676;
  --line: #e1e2e9;
  --purple: #7548c1;
  --pink: #cc4a91;
  --soft: #f1f3f7;
  --gradient: linear-gradient(110deg, #8258ca, #5965b5 85%);
}
body { background: #fff; }
.header { border-color: #e1e2e9; background: #ffffffed; }
.desktop-nav a[aria-current], .desktop-nav a:hover { color: #7548c1; }
.desktop-nav a:after { height: 3px; background: #8258ca; }
.theme-switch { border-color: #d8dbe4; }
.button { background: #7548c1; border-color: #7548c1; box-shadow: 0 4px 12px #6042981c; }
.button:hover { background: #6740ad; box-shadow: 0 6px 16px #60429826; }
.button-plain { background: white; border-color: #d2d5e1; color: var(--ink); box-shadow: 0 2px 7px #3a33510a; }
.button-plain:hover { background: #f2f0fb; box-shadow: 0 4px 10px #3a335114; }
.hero-orbit { background: radial-gradient(ellipse at 12% 75%, #eeeaff, transparent 45%), radial-gradient(ellipse at 88% 55%, #e6eaf7, transparent 42%); opacity: .8; }
.hero-label { background: #403b54; color: #fff; border-color: #403b54; }
.status-dot { background: #c7df8a; box-shadow: 0 0 0 4px #c7df8a1a; }
.hero h1>span { background: none; color: #7548c1; }
.hero-spark { color: #8a6aca; }
.hero-description, .hero-proof { color: #626676; }
.hero-proof strong { color: #30244a; }
.cinema { border-color: #403b58; background: #3a364e; box-shadow: 0 16px 45px #2420341a; }
.cinema-top { color: #e5e0f6; }
.cinema-bottom { color: #cfccdf; }
.cinema-bottom a { color: #fff; }
.cinema-bottom button { color: #d2ed88; }
.play-disc { background: #c7df8a; color: #403b54; border-color: #d5e8aa; box-shadow: 0 8px 32px #0d082f33; }
.outcomes { border-color: #e0e2e9; }
.outcome-icon { background: #8258ca; color: #fff; box-shadow: none; }
.outcomes>div:nth-child(2) .outcome-icon { background: #456d63; box-shadow: none; }
.outcomes>div:nth-child(3) .outcome-icon { background: #626fb9; box-shadow: none; }
.outcomes p>span { color: #626676; }
.section-heading>p { color: #626676; }
.eyebrow { color: #7548c1; }
.highlight-word::after { background: #c1d982; height: 5px; }
.product-tabs { background: #e9eaf0; border: 1px solid #e0e1e9; padding: 6px; }
.product-tabs button { color: #454b5e; }
.product-tabs button>span:first-child { color: #646a7b; }
.product-tabs button[aria-selected=true] { background: #7548c1; color: white; box-shadow: 0 4px 10px #44209727; }
.product-tabs button[aria-selected=true]>span { color: #e7dcff; }
.product-tabs button:hover:not([aria-selected=true]) { background: #fff; color: #7548c1; }
.product-copy>p:not(.eyebrow), .gain p { color: #626676; }
.product-copy .prompt { background: #fff; border: 1px solid #d9ccef; border-left: 2px solid #8258ca; box-shadow: 0 4px 14px #6c52900a; }
.prompt>span, .prompt svg { color: #7548c1; }
.prompt svg { stroke: #7548c1; }
.gain>span { background: #477765; color: #fff; border-color: #477765; }
.chapter-link, .text-link { color: #7149b5; border-color: #b5a1da; }
.montage-search .montage-stage { background: #d2c1ef; }
.montage-audience .montage-stage { background: #d5def0; }
.montage-budget .montage-stage { background: #dce9c5; }
.montage-brands .montage-stage { background: #f1dfb5; }
.montage-stage { border: 1px solid #30304314; }
.montage-stage::before { background-image: radial-gradient(#38206a38 1px, transparent 1px); }
.montage-stage::after, .montage-audience .montage-stage::after { border-color: #4f3a7130; box-shadow: 0 0 0 40px #ffffff1a, 0 0 0 80px #ffffff0f; }
.stage-label { color: #3b235b; }
.tiny-dot { background: #8259c3; }
.stage-stamp { color: #35205c; }
.stage-stamp em { color: #7548c1; }
.shot-topline { background: #403b58; color: #fff; border-color: #403b58; }
.shot-zoom { background: #7548c1; color: white; }
.audience-caption { color: #283659; }
.audience-caption em { color: #7548c1; }
.stage-note { color: #35496d; }
.format-pills span { background: #fafff2; color: #2d4e24; border-color: #76945f; }
.montage-budget .stage-label { color: #34522c; }
.budget-equation { background: #45614b; color: #f4ffed; box-shadow: 0 8px 22px #254f3226; }
.budget-equation b { color: #c9e5b2; }
.montage-brands .stage-label { color: #6b4c12; }
.followup-bubble { background: #7548c1; }
.product-montage figcaption, .source-note { color: #565c6c; }
.product-montage figcaption>span:last-child { color: #7548c1; }
.depth-section { background: #eef0f5; border-color: #d9dde8; }
.depth-heading h2>span { color: #7548c1; }
.depth-heading>p { color: #626676; }
.depth-card { background: #fff; border-color: #dfdfeb; box-shadow: 0 5px 18px #5144690a; }
.depth-history { border-top: 3px solid #8258ca; }
.depth-conversation { background: #fff; border-color: #dce3df; border-top: 3px solid #527963; }
.depth-card .detail-index { color: #7548c1; }
.depth-conversation .detail-index { color: #527963; }
.depth-card-copy>p, .depth-conversation .depth-card-copy>p { color: #626676; }
.history-visual { background: #d3c6ee; border-radius: 16px 16px 0 0; padding-top: 8px; }
.history-shot { top: 15px; }
.detail-tag { background: #7548c1; }
.conversation-line { border-color: #cfded1; box-shadow: 0 4px 12px #45764a0b; background: #f5fbf3; }
.conversation-line>span { background: #527963; color: white; }
.conversation-line b { color: #527963; }
.depth-cta { color: #416951; border-color: #729680; }
.depth-footnote { color: #545d70; }
.depth-footnote>span { color: #7548c1; }
.markets-layout { gap: 52px; }
.market-summary { background: #3d3953; border: 1px solid #3d3953; color: white; box-shadow: 0 10px 28px #42365312; }
.market-globe { opacity: .38; right: -27px; top: 25px; }
.market-globe svg { stroke: #b8d972; }
.market-total strong { background: none; color: #c7df8a; }
.market-total>span { color: #fff; }
.market-number { border-color: #ffffff25; color: #d7d5e5; }
.market-number strong { color: #fff; }
.market-summary>p:not(.market-number) { color: #d3d0e0; }
.market-summary .text-link { color: #d0ed8c; border-color: #94ab60; }
.region-filters { background: #e9eaf0; border-color: #dee1e9; }
.region-filters button { color: #454b5e; }
.region-filters button[aria-pressed=true] { background: #7548c1; color: #fff; box-shadow: 0 3px 8px #42208826; }
.region-filters button:hover:not([aria-pressed=true]) { background: #fff; }
.directory-label { color: #626676; border-color: #dce0e9; }
.country-list { column-gap: 28px; }
.country-list li { border-color: #dce0e8; padding: 15px 0 13px; }
.country-list li>div { gap: 10px; font-size: 13px; }
.country-flag { display: block; width: 32px; height: 24px; flex: 0 0 32px; object-fit: contain; filter: drop-shadow(0 1px 2px #19253d20); }
.country-list strong { font-size: 17px; color: #20243b; }
.country-list small { color: #596174; font-size: 10px; }
.country-track { height: 4px; width: calc(100% - 42px); margin: 10px 0 0 42px; background: #e9ecf3; }
.country-track>span { background: #8a63c8; }
.country-list [data-region=nordic] .country-track>span { background: #577fac; }
.country-list [data-region=baltic] .country-track>span { background: #559779; }
.market-live { color: #626676; }
.workflow-section { border-color: #e1e5ed; background: #fafbfc; }
.workflow li>span { color: #7548c1; font-weight: 650; border-color: #b8a5e2; }
.workflow p { color: #626676; }
.faq-list details { border-color: #e0e3eb; }
.faq-list summary>span { color: #7548c1; }
.faq-list details[open] { background: #f3f1f9; padding-inline: 18px; border-left: 2px solid #8258ca; }
.faq-list details>p { color: #4d5464; }
.contact-card { background: #3f3955; border-color: #3f3955; color: white; box-shadow: 0 12px 30px #3f395516; }
.contact-card .eyebrow { color: #c7df8a; }
.contact-card p:not(.eyebrow) { color: #d4d1e4; }
.contact-card .button { background: #c7df8a; color: #202930; border-color: #c7df8a; box-shadow: 0 4px 12px #1522171c; }
.contact-card .button:hover { background: #d4e9a4; box-shadow: 0 6px 16px #15221726; }
.contact-actions>a:last-child { color: #e4dff7; }
.contact-mark { opacity: 1; }
.contact-mark img { filter: none; }
.footer-top, .footer-bottom { border-color: #e0e3eb; }
.footer-top p, .footer-bottom { color: #626676; }
dialog { border-color: #cac4db; box-shadow: 0 25px 100px #17132c45; }
.dialog-header button { background: #7548c1; color: white; }
@media(max-width:1150px) {
  .markets-layout { gap: 36px; }
  .country-list { column-gap: 20px; }
  .country-list li>div { font-size: 12px; gap: 8px; }
  .country-flag { width: 28px; height: 21px; flex-basis: 28px; }
  .country-track { margin-left: 36px; width: calc(100% - 36px); }
  .country-list strong { font-size: 15px; }
}
@media(max-width:760px) {
  .markets-layout { gap: 32px; }
  .market-summary { box-shadow: 0 8px 22px #42365310; }
  .market-number { border-top: 0; }
  .market-globe { opacity: .25; }
  .country-list li>div { font-size: 12px; }
  .highlight-word::after { height: 4px; }
  .history-visual { padding-top: 8px; }
  .product-tabs button { border: 0; }
  .product-tabs button[aria-selected=true] { border: 0; }
  .contact-card { border-radius: 20px; }
}
@media(max-width:440px) {
  .country-list { column-gap: 14px; }
  .country-list li>div { font-size: 11px; gap: 6px; }
  .country-list strong { font-size: 14px; }
  .country-list small { font-size: 9px; }
  .country-flag { width: 25px; height: 19px; flex-basis: 25px; }
  .country-track { margin-left: 31px; width: calc(100% - 31px); }
  .country-list li { padding: 13px 0 12px; }
  .faq-list details[open] { padding-inline: 12px; }
}
@media(max-width:350px) {
  .country-list { grid-template-columns: 1fr; }
  .country-list li>div { font-size: 13px; }
  .country-flag { width: 32px; height: 24px; flex-basis: 32px; }
  .country-track { margin-left: 38px; width: calc(100% - 38px); }
}

/* Always-visible language selection and the company contact block. */
.language-switch { display: flex; flex-shrink: 0; gap: 2px; padding: 3px; border: 1px solid #dee1e9; border-radius: 9px; background: #f1f2f7; }
.language-switch a { display: grid; place-items: center; min-width: 34px; min-height: 34px; border-radius: 6px; color: #626676; font-size: 11px; font-weight: 650; }
.language-switch a[aria-current=page] { background: #7548c1; color: white; box-shadow: none; }
.language-switch a:hover:not([aria-current]) { background: white; color: #7548c1; }
.nav-actions { gap: 14px; }
.footer-contact { display: flex; flex-direction: column; margin-left: auto; font-style: normal; font-size: 13px; line-height: 1.8; color: #626676; }
.footer-contact strong { font-size: 15px; color: #303043; margin-bottom: 5px; }
.footer-contact a { color: #7548c1; margin-top: 7px; font-weight: 550; }
/* Straight screen edges avoid rotating and re-rasterising small UI text. */
.montage-search .shot-main, .montage-search .shot-secondary,
.shot-portrait, .shot-demographics, .shot-pricing, .shot-comparison,
.shot-trend, .history-shot, .conversation-shot { transform: none; }
.montage-shot { transition: box-shadow .2s; }
.montage-shot:hover, .montage-shot:focus-visible { transform: none; }
dialog>img { display: block; width: auto; max-width: 100%; height: auto; margin-inline: auto; }
@media(max-width:1150px) {
  .nav-wrap { gap: 20px; }
  .desktop-nav { gap: 16px; }
  .nav-actions { gap: 10px; }
}
@media(max-width:760px) {
  .nav-actions .theme-switch { display: none; }
  .nav-wrap { gap: 12px; }
  .nav-actions { gap: 8px; }
  .footer-contact { width: 100%; margin-left: 0; border-top: 1px solid #e8e3e9; padding-top: 20px; }
  .footer-top { gap: 20px; }
}
@media(max-width:350px) {
  .header .brand img { width: 96px; }
  .language-switch a { min-width: 30px; }
}


/* Preserve the original visual direction; soften only its edges and intensity. */
.hero h1>span { color: #7c51c6; }
.button:hover { transform: translateY(-1px); }
.montage-shot { box-shadow: 0 12px 30px #402a6120, 0 2px 5px #301d470a; }
.montage-shot:hover, .montage-shot:focus-visible { box-shadow: 0 16px 36px #402a612a; }
.detail-tag { box-shadow: 0 5px 14px #4a256619; }
.followup-bubble { box-shadow: 0 5px 16px #50258219; }
.country-track { height: 3px; }

/* A single native creator card preserves the photo's product and data context. */
.montage-audience .montage-stage { aspect-ratio: auto; display: grid; gap: 20px; padding: 5%; }
.montage-audience .stage-label { position: relative; top: auto; left: auto; font-size: 9px; line-height: 1.5; }
.montage-audience .shot-profile { position: relative; inset: auto; width: 100%; transform: none; }
.montage-audience .shot-profile .shot-topline { font-size: 8px; padding: 10px 12px; }
.montage-audience .shot-profile img { width: 100%; height: auto; }
.audience-card-caption { font-size: clamp(15px, 1.8vw, 23px); letter-spacing: -.035em; line-height: 1.35; color: #283659; }
.audience-card-caption strong { font-weight: 600; }
.audience-card-caption em { color: var(--purple); font-style: normal; }
@media(max-width:440px) {
  .montage-audience .montage-stage { gap: 14px; }
  .montage-audience .stage-label { font-size: 7px; letter-spacing: .07em; }
  .montage-audience .shot-profile .shot-topline { font-size: 6px; padding: 8px 9px; }
  .audience-card-caption { font-size: 16px; }
}

/* FAQ: a welcoming contact panel and compact, numbered answer cards. */
.faq-section { grid-template-columns: .88fr 1.22fr; gap: 48px; align-items: start; }
.faq-intro { position: relative; overflow: hidden; border: 1px solid #e6dcf2; border-radius: 26px; padding: 32px; background: radial-gradient(ellipse at 100% 0%, #e4daf6, transparent 62%), linear-gradient(140deg, #f4eefb, #fbf1f5); }
.faq-intro::after { content: ''; position: absolute; width: 190px; height: 190px; top: -110px; right: -75px; border: 1px solid #b7a0d63d; border-radius: 50%; box-shadow: 0 0 0 28px #b7a0d60a, 0 0 0 56px #b7a0d609; pointer-events: none; }
.faq-emblem { width: 112px; height: 74px; position: relative; margin-bottom: 24px; }
.faq-emblem span { position: absolute; display: grid; place-items: center; }
.faq-emblem span:first-child { width: 61px; height: 61px; left: 3px; top: 2px; border-radius: 20px 20px 7px 20px; background: #8258ca; color: #fff; font-size: 42px; font-weight: 450; transform: rotate(-8deg); box-shadow: 0 6px 16px #7548c118; }
.faq-emblem span:last-child { width: 47px; height: 47px; right: 2px; bottom: 0; border-radius: 16px 16px 16px 5px; background: #d1e7a4; color: #586b3e; font-size: 32px; transform: rotate(9deg); border: 3px solid #f4eefb; }
.faq-intro .eyebrow { margin-bottom: 18px; font-size: 10px; }
.faq-intro h2 { font-size: clamp(36px, 3.5vw, 46px); margin: 0; }
.faq-intro h2>span { color: #8258ca; }
.faq-lead { font-size: 14px; line-height: 1.8; color: #71667e; margin-top: 22px; max-width: 330px; }
.faq-contact { display: flex; align-items: center; gap: 13px; padding: 19px 0 0; margin-top: 28px; border-top: 1px solid #dfd1eb; }
.faq-contact-mark { width: 38px; height: 38px; flex-shrink: 0; display: grid; place-items: center; border-radius: 50%; background: #ffffffb8; color: #7548c1; font-size: 22px; transition: background .2s; }
.faq-contact strong { display: block; color: #5a427a; font-size: 13px; line-height: 1.5; font-weight: 550; }
.faq-contact small { display: block; color: #7d6e8d; font-size: 12px; margin-top: 3px; }
.faq-contact:hover .faq-contact-mark { background: #fff; }
.faq-section .faq-list { display: grid; gap: 11px; }
.faq-section .faq-list details { --faq-tint: #f0e9fb; --faq-accent: #6b3ca6; border: 1px solid #c7b7d8; border-radius: 16px; padding: 0; background: #fdfcfe; transition: border-color .2s, box-shadow .2s; }
.faq-section .faq-list details:nth-child(3n+2) { --faq-tint: #eaf0f9; --faq-accent: #365e8e; }
.faq-section .faq-list details:nth-child(3n) { --faq-tint: #ecf2e3; --faq-accent: #46652f; }
.faq-section .faq-list details:hover { border-color: #9871c4; box-shadow: 0 4px 14px #694b8710; }
.faq-section .faq-list details[open] { border-color: #9871c4; background: #f1e9fa; padding: 0; box-shadow: inset 3px 0 0 var(--faq-accent), 0 5px 20px #79559c09; }
.faq-section .faq-list summary { display: grid; grid-template-columns: 31px minmax(0,1fr) 28px; align-items: center; gap: 13px; padding: 19px 20px; }

.faq-question { font-size: 14px; line-height: 1.5; font-weight: 550; color: #2e273a; }
.faq-section .faq-list summary>.faq-toggle { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font-size: 19px; line-height: 1; background: var(--faq-accent); color: #fff; transition: transform .2s; }
.faq-section .faq-list details>p { font-size: 13px; line-height: 1.8; color: #4b3f58; padding: 0 22px 22px 64px; margin: 0; max-width: none; }
@media(max-width:1000px) {
  .faq-section { gap: 28px; grid-template-columns: .85fr 1.15fr; }
  .faq-intro { padding: 26px; }
  .faq-section .faq-list summary { gap: 10px; padding: 17px 15px; }
  .faq-question { font-size: 13px; }
  .faq-section .faq-list details>p { padding-left: 56px; padding-right: 18px; }
}
@media(max-width:760px) {
  .faq-section { grid-template-columns: 1fr; gap: 24px; }
  .faq-intro { padding: 28px; }
  .faq-intro h2 { font-size: 39px; }
  .faq-emblem { float: right; margin: 0 -4px 12px 12px; transform: scale(.8); transform-origin: right top; }
  .faq-lead { max-width: 420px; }
}
@media(max-width:440px) {
  .faq-intro { padding: 25px 22px; }
  .faq-intro h2 { font-size: 34px; clear: both; }
  .faq-emblem { width: 90px; height: 64px; margin: -4px -6px 2px 0; transform: scale(.7); }
  .faq-intro .eyebrow { padding-top: 10px; font-size: 9px; }
  .faq-lead { font-size: 13px; margin-top: 18px; }
  .faq-contact { margin-top: 22px; }
  .faq-contact strong { font-size: 12px; }
  .faq-section .faq-list summary { grid-template-columns: 27px minmax(0,1fr) 24px; gap: 9px; padding: 16px 12px; }
  
  .faq-section .faq-list summary>.faq-toggle { width: 24px; height: 24px; }
  .faq-section .faq-list details>p { font-size: 12px; padding: 0 18px 20px; }
}
@media(prefers-reduced-motion:reduce) {
  .faq-section .faq-list details, .faq-section .faq-list summary>.faq-toggle, .faq-contact-mark { transition: none; }
}

/* Language labels stay available to screen readers; flags are decorative. */
.language-switch .language-flag{display:block;width:24px;height:16px;max-width:none;border-radius:2px;box-shadow:0 0 0 1px #44355426;object-fit:cover}
