/*!
 * OPD sectoral scenes — full-width stage + atmosphere.
 */
body.skin-magz[data-opd-theme] .opd-layout {
    --opd-scene-bg: #f8fafc;
    --opd-scene-accent: var(--idds-accent, #FCA416);
    --opd-scene-surface: #fff;
}

body.skin-magz[data-opd-theme] .opd-layout[data-opd-scene] {
    background:
        linear-gradient(180deg, var(--opd-scene-bg) 0%, #fff 42%, var(--opd-scene-surface) 100%) !important;
}

body.skin-magz[data-opd-theme] .opd-scene-wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}
body.skin-magz[data-opd-theme] .opd-scene-wash__glow {
    position: absolute;
    width: min(80vw, 820px);
    height: min(80vw, 820px);
    right: -10%;
    top: -12%;
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--opd-scene-accent) 42%, transparent), transparent 68%);
    opacity: .65;
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern {
    position: absolute;
    inset: 0;
    opacity: .1;
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--health {
    background-image:
        radial-gradient(circle at 20% 30%, color-mix(in srgb, var(--opd-scene-accent) 50%, transparent) 0 2px, transparent 3px),
        radial-gradient(circle at 70% 60%, color-mix(in srgb, var(--idds-primary, #900000) 35%, transparent) 0 2px, transparent 3px);
    background-size: 48px 48px, 64px 64px;
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--forest {
    background-image:
        linear-gradient(120deg, transparent 40%, color-mix(in srgb, var(--opd-scene-accent) 25%, transparent) 41% 43%, transparent 44%),
        linear-gradient(60deg, transparent 50%, color-mix(in srgb, var(--idds-primary, #900000) 18%, transparent) 51% 52%, transparent 53%);
    background-size: 72px 72px, 96px 96px;
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--agri {
    background-image: repeating-linear-gradient(
        -18deg,
        transparent 0 14px,
        color-mix(in srgb, var(--opd-scene-accent) 22%, transparent) 14px 16px
    );
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--digital {
    background-image:
        linear-gradient(color-mix(in srgb, var(--opd-scene-accent) 25%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--opd-scene-accent) 25%, transparent) 1px, transparent 1px);
    background-size: 36px 36px;
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--emergency {
    background-image: repeating-linear-gradient(
        45deg,
        transparent 0 18px,
        color-mix(in srgb, var(--opd-scene-accent) 18%, transparent) 18px 20px
    );
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--infra {
    background-image:
        linear-gradient(90deg, color-mix(in srgb, var(--opd-scene-accent) 20%, transparent) 2px, transparent 2px),
        linear-gradient(color-mix(in srgb, #64748b 15%, transparent) 1px, transparent 1px);
    background-size: 56px 56px, 56px 28px;
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--sport {
    background-image:
        radial-gradient(circle at 30% 40%, color-mix(in srgb, var(--opd-scene-accent) 45%, transparent) 0 3px, transparent 4px),
        radial-gradient(circle at 70% 70%, color-mix(in srgb, #1d4ed8 30%, transparent) 0 2px, transparent 3px);
    background-size: 52px 52px, 40px 40px;
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--education {
    background-image: repeating-linear-gradient(
        0deg,
        transparent 0 18px,
        color-mix(in srgb, var(--opd-scene-accent) 18%, transparent) 18px 19px
    );
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--finance {
    background-image:
        linear-gradient(90deg, color-mix(in srgb, var(--opd-scene-accent) 22%, transparent) 1px, transparent 1px),
        linear-gradient(color-mix(in srgb, var(--opd-scene-accent) 14%, transparent) 1px, transparent 1px);
    background-size: 28px 28px;
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--social {
    background-image:
        radial-gradient(circle at 25% 35%, color-mix(in srgb, var(--opd-scene-accent) 40%, transparent) 0 4px, transparent 5px),
        radial-gradient(circle at 75% 65%, color-mix(in srgb, #fb7185 28%, transparent) 0 3px, transparent 4px);
    background-size: 64px 64px, 48px 48px;
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--security {
    background-image: repeating-linear-gradient(
        -35deg,
        transparent 0 16px,
        color-mix(in srgb, var(--opd-scene-accent) 16%, transparent) 16px 18px
    );
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--identity {
    background-image:
        linear-gradient(135deg, color-mix(in srgb, var(--opd-scene-accent) 18%, transparent) 25%, transparent 25% 50%, color-mix(in srgb, var(--opd-scene-accent) 12%, transparent) 50% 75%, transparent 75%);
    background-size: 36px 36px;
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--civic {
    background-image:
        radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--opd-scene-accent) 28%, transparent) 0 2px, transparent 3px);
    background-size: 44px 44px;
}
body.skin-magz[data-opd-theme] .opd-scene-wash__pattern--culture {
    background-image:
        radial-gradient(circle at 20% 30%, color-mix(in srgb, var(--opd-scene-accent) 35%, transparent) 0 2px, transparent 3px),
        linear-gradient(30deg, transparent 48%, color-mix(in srgb, var(--opd-scene-accent) 16%, transparent) 49% 51%, transparent 52%);
    background-size: 56px 56px, 72px 72px;
}
body.skin-magz[data-opd-theme] .opd-scene-wash--rich .opd-scene-wash__glow { opacity: .78; }
body.skin-magz[data-opd-theme] .opd-scene-wash--ink .opd-scene-wash__pattern { opacity: .14; }

/* ── Full-width scene stage (hero identity for sector) ── */
body.skin-magz[data-opd-theme] .opd-scene-stage {
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0;
    padding: clamp(1.25rem, 3vw, 2.25rem) clamp(1rem, 3vw, 2rem);
    background:
        linear-gradient(120deg, color-mix(in srgb, var(--opd-scene-surface) 92%, #fff) 0%, color-mix(in srgb, var(--opd-scene-accent) 16%, #fff) 100%);
    border-bottom: 1px solid color-mix(in srgb, var(--opd-scene-accent) 28%, #e2e8f0);
    overflow: hidden;
}
body.skin-magz[data-opd-theme] .opd-scene-stage::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 55% 80% at 88% 40%, color-mix(in srgb, var(--opd-scene-accent) 28%, transparent), transparent 70%);
    pointer-events: none;
}
body.skin-magz[data-opd-theme] .opd-scene-stage__inner {
    position: relative;
    z-index: 1;
    max-width: 1600px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(16rem, .9fr) minmax(18rem, 1.35fr);
    gap: clamp(1.25rem, 3vw, 2.5rem);
    align-items: center;
}
body.skin-magz[data-opd-theme] .opd-scene-stage__badge {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: .85rem;
}
body.skin-magz[data-opd-theme] .opd-scene-stage__badge img {
    width: clamp(64px, 8vw, 88px);
    height: clamp(64px, 8vw, 88px);
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 10px 18px rgba(15, 23, 42, .12));
}
body.skin-magz[data-opd-theme] .opd-scene-stage__glyph {
    width: clamp(56px, 7vw, 72px) !important;
    height: clamp(56px, 7vw, 72px) !important;
    border-radius: .75rem !important;
}
body.skin-magz[data-opd-theme] .opd-scene-stage__kicker {
    margin: 0;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #1e293b;
}
body.skin-magz[data-opd-theme] .opd-scene-stage__title {
    margin: .2rem 0 0;
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    line-height: 1.15;
    font-weight: 800;
    color: #0f172a;
}
body.skin-magz[data-opd-theme] .opd-scene-stage__text {
    margin: 0;
    max-width: 36rem;
    font-size: clamp(1rem, 1.5vw, 1.1rem);
    line-height: 1.65;
    color: #334155;
}
body.skin-magz[data-opd-theme] .opd-scene-stage__art {
    width: 100%;
    min-height: clamp(240px, 36vw, 420px);
    display: flex;
    align-items: center;
    justify-content: stretch;
}
body.skin-magz[data-opd-theme] .opd-scene-stage__art .opd-illustration {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}
body.skin-magz[data-opd-theme] .opd-scene-stage__art .opd-illustration__svg {
    width: 100%;
    height: auto;
    min-height: clamp(240px, 36vw, 420px);
    border-radius: 1.15rem;
    box-shadow: 0 22px 48px rgba(15, 23, 42, .14);
    display: block;
}

/* Scene-specific stage tint */
body.skin-magz[data-opd-theme] .opd-scene-stage--health {
    background: linear-gradient(115deg, #ecfdf5 0%, #d1fae5 48%, #a7f3d0 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--forest {
    background: linear-gradient(115deg, #e8f5e9 0%, #c8e6c9 45%, #a5d6a7 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--agri {
    background: linear-gradient(115deg, #f7fbe9 0%, #ecfccb 50%, #d9f99d 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--digital {
    background: linear-gradient(115deg, #e0f2fe 0%, #bae6fd 55%, #7dd3fc 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--emergency {
    background: linear-gradient(115deg, #fee2e2 0%, #fecaca 55%, #fca5a5 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--culture {
    background: linear-gradient(115deg, #fff7ed 0%, #ffedd5 55%, #fed7aa 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--sport {
    background: linear-gradient(115deg, #eff6ff 0%, #dbeafe 50%, #93c5fd 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--education {
    background: linear-gradient(115deg, #fff7ed 0%, #ffedd5 50%, #fdba74 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--finance {
    background: linear-gradient(115deg, #fefce8 0%, #fef9c3 50%, #fde68a 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--social {
    background: linear-gradient(115deg, #fff1f2 0%, #ffe4e6 55%, #fecdd3 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--security {
    background: linear-gradient(115deg, #f8fafc 0%, #e2e8f0 55%, #cbd5e1 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--identity {
    background: linear-gradient(115deg, #eef2ff 0%, #e0e7ff 55%, #c7d2fe 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--civic {
    background: linear-gradient(115deg, #fff7ed 0%, #ffedd5 45%, #fde68a 100%);
}
body.skin-magz[data-opd-theme] .opd-scene-stage--infra {
    background: linear-gradient(115deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%);
}

/* Legacy chip (kept for fallback) */
body.skin-magz[data-opd-theme] .opd-scene-chip {
    display: none;
}

body.skin-magz[data-opd-theme] .opd-scene-chip__glyph {
    width: 36px;
    height: 36px;
    border-radius: .55rem;
    background: var(--opd-scene-accent);
    position: relative;
    flex: 0 0 auto;
}
body.skin-magz[data-opd-theme] .opd-scene-chip__glyph--cross::before,
body.skin-magz[data-opd-theme] .opd-scene-chip__glyph--cross::after {
    content: "";
    position: absolute;
    background: #fff;
    border-radius: 2px;
}
body.skin-magz[data-opd-theme] .opd-scene-chip__glyph--cross::before {
    width: 42%; height: 14%; left: 29%; top: 43%;
}
body.skin-magz[data-opd-theme] .opd-scene-chip__glyph--cross::after {
    width: 14%; height: 42%; left: 43%; top: 29%;
}
body.skin-magz[data-opd-theme] .opd-scene-chip__glyph--tree::before {
    content: "";
    position: absolute;
    left: 18%; right: 18%; top: 12%; bottom: 28%;
    background: #fff;
    clip-path: polygon(50% 0, 100% 78%, 0 78%);
}
body.skin-magz[data-opd-theme] .opd-scene-chip__glyph--tree::after {
    content: "";
    position: absolute;
    left: 44%; width: 12%; bottom: 12%; height: 28%;
    background: #fff;
    border-radius: 1px;
}

body.skin-magz[data-opd-theme] .opd-layout[data-opd-scene="health"] .opd-sig,
body.skin-magz[data-opd-theme] .opd-layout[data-opd-scene="forest"] .opd-sig {
    border-color: color-mix(in srgb, var(--opd-scene-accent) 40%, #e2e8f0);
    background: linear-gradient(135deg, #fff, color-mix(in srgb, var(--opd-scene-surface) 80%, #fff));
}

/* Hero column illustration (no-banner path) also large */
body.skin-magz[data-opd-theme] .opd-organic-hero--columns .opd-illustration,
body.skin-magz[data-opd-theme] .opd-split-hero-media .opd-illustration,
body.skin-magz[data-opd-theme] .opd-layout--service .opd-illustration {
    width: 100%;
    max-width: none;
}
body.skin-magz[data-opd-theme] .opd-organic-hero--columns .opd-illustration__svg,
body.skin-magz[data-opd-theme] .opd-split-hero-media .opd-illustration__svg {
    min-height: 280px;
    border-radius: 1rem;
}

/* Hide old tiny floating strip if any leftover markup */
body.skin-magz[data-opd-theme] .opd-scene-hero-illust {
    display: none !important;
}

@media (max-width: 900px) {
    body.skin-magz[data-opd-theme] .opd-scene-stage__inner {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
    body.skin-magz[data-opd-theme] .opd-scene-stage__art {
        min-height: 220px;
        order: -1;
    }
    body.skin-magz[data-opd-theme] .opd-scene-stage__art .opd-illustration__svg {
        min-height: 220px;
    }
}

/* First-fold contact strip */
body.skin-magz[data-opd-theme] .opd-hero-contact {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem .85rem;
    margin-top: .85rem;
    align-items: center;
}
body.skin-magz[data-opd-theme] .opd-hero-contact__item {
    display: inline-flex;
    flex-direction: column;
    gap: .1rem;
    padding: .45rem .75rem;
    border-radius: .5rem;
    background: rgba(255, 255, 255, .16);
    color: inherit;
    text-decoration: none;
    font-weight: 700;
    font-size: .92rem;
    line-height: 1.25;
    border: 1px solid rgba(255, 255, 255, .22);
}
body.skin-magz[data-opd-theme] .opd-hero-contact__label {
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    opacity: .85;
}
body.skin-magz[data-opd-theme] .opd-split-hero .opd-hero-contact__item,
body.skin-magz[data-opd-theme] .opd-organic-hero .opd-hero-contact__item {
    background: #fff;
    color: #0f172a;
    border-color: #e2e8f0;
}
body.skin-magz[data-opd-theme] .opd-hero-contact__item:focus-visible {
    outline: 3px solid var(--color-secondary, #FCA416);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    body.skin-magz[data-opd-theme] .opd-scene-stage,
    body.skin-magz[data-opd-theme] .opd-sig {
        transition: none !important;
        animation: none !important;
    }
}
