/* Shared controls + ground palette. Page artwork, copy and motion remain independent.
   Edit this file/config/hero.php, then bump config revision. No per-page badge sizing. */
:root{
 --oc-hero-surface:#087e51;--oc-hero-text:#fff;--oc-hero-accent:#d8f0c3;
 --oc-hero-button:#eafff2;--oc-hero-button-ink:#075c3f;--oc-hero-button-hover:#d7f8df;--oc-hero-partners:#fcfffd;
}
:is(.hero.hero-v1,.home-hero.oc-relief-hero,.ref-hero){
 --oc-hero-button-width:calc(23.2 * var(--hero-u));--oc-hero-button-height:calc(4.65 * var(--hero-u));
 --oc-hero-partners-height:calc(8.2 * var(--hero-u));
}
.oc-hero-controls{display:contents}
.oc-hero-actions{display:block;margin:calc(1.75 * var(--hero-u)) 0 0;pointer-events:auto}
.oc-hero-button[data-hero-control]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--oc-hero-button-width);max-width:100%;min-height:var(--oc-hero-button-height);gap:calc(1.2 * var(--hero-u));padding:calc(.65 * var(--hero-u)) calc(1.5 * var(--hero-u));border-radius:calc(1.15 * var(--hero-u));background:var(--oc-hero-button);border:1px solid var(--oc-hero-button);color:var(--oc-hero-button-ink);font:600 calc(1.7 * var(--hero-u))/1.7 Inter,Arial,sans-serif;letter-spacing:-.025em;box-shadow:none;text-decoration:none;white-space:nowrap;transition:background .2s}
.oc-hero-button[data-hero-control]:hover{background:var(--oc-hero-button-hover);border-color:var(--oc-hero-button-hover)}
.oc-hero-button[data-hero-control]:focus-visible{outline:3px solid var(--oc-hero-accent);outline-offset:5px}
.oc-hero-button[data-hero-control] .arrow{font-size:calc(2 * var(--hero-u));line-height:1}
.oc-hero-partners[data-hero-control]{display:flex;box-sizing:border-box;align-items:center;justify-content:center;flex-shrink:0;gap:calc(1.4 * var(--hero-u));margin:calc(1.85 * var(--hero-u)) 0 0;padding:calc(.5 * var(--hero-u)) calc(1.1 * var(--hero-u));width:max-content;max-width:100%;height:var(--oc-hero-partners-height);min-height:0;border:1px solid #ffffffb3;border-radius:calc(1.1 * var(--hero-u));background:var(--oc-hero-partners);box-shadow:none}
.oc-hero-partners[data-hero-control] img{display:block;height:100%;width:auto;max-width:none;object-fit:contain}
.oc-hero-partners[data-hero-control] img.meta{height:76%;width:auto}
.oc-hero-ground{pointer-events:none}
.ref-crown-canvas{position:relative;width:100%;height:100%}
/* Keep approved crops/z-index on each slot; only its source and palette are shared. */
.hero.hero-v1,.home-hero.oc-relief-hero,.ref-hero[data-concept="defne-089"],.hero-v1 .green-stage:not(.geo-stage),.geo-relief-stage{background-color:var(--oc-hero-surface)!important}
.header-hero-v1{background-color:var(--oc-hero-surface)}
:is(.hero-v1,.home-hero,.ref-hero) h1{color:var(--oc-hero-text)}
:is(.hero-v1,.home-hero,.ref-hero) h1 :is(span,em){color:inherit}
:is(.hero-v1,.home-hero,.ref-hero) h1 :is(.hero-accent,em),.oc-relief-hero h1>span{color:var(--oc-hero-accent)}
.home-hero.oc-relief-hero::before,.ref-hero[data-concept="defne-089"]::before,.social-stage-r06::before,.geo-relief-stage::after,.hero-v1 .green-stage::after,.gpt-ground::after,.sm-ground::after,.yt-ground::after,.sb-ground::after,.pg-ground::after,.ads-garden::after{
 background:linear-gradient(180deg,var(--oc-hero-surface) 0,transparent 24%),linear-gradient(90deg,color-mix(in srgb,var(--oc-hero-surface) 14%,transparent),transparent 62%)!important;
}
.oc-relief-hero{--hero-u:var(--relief-u)}
.oc-relief-hero .oc-hero-partners{align-self:flex-start}
@media(max-width:899px), (max-width:1200px) and (max-aspect-ratio:1/1){
 :is(.hero.hero-v1,.home-hero.oc-relief-hero,.ref-hero){--oc-hero-button-width:calc(58 * var(--hero-u));--oc-hero-button-height:max(44px,calc(12 * var(--hero-u)));--oc-hero-partners-height:clamp(100px,calc(32 * var(--hero-u)),132px)}
 .oc-hero-actions{order:2;margin:calc(.8 * var(--hero-u)) 0 0;align-self:flex-start}
 .oc-hero-button[data-hero-control]{min-width:190px;gap:calc(3.5 * var(--hero-u));padding:calc(2.5 * var(--hero-u)) calc(4 * var(--hero-u));border-radius:calc(4.1 * var(--hero-u));font-size:max(14px,calc(4.25 * var(--hero-u)))}
 .oc-hero-button[data-hero-control] .arrow{font-size:calc(5.3 * var(--hero-u))}
 .oc-hero-partners[data-hero-control]{order:4;align-self:center;gap:calc(6 * var(--hero-u));margin:auto 0 0;padding:calc(3 * var(--hero-u)) calc(5 * var(--hero-u));width:calc(100% + 2 * var(--hero-u));max-width:420px;height:var(--oc-hero-partners-height);min-height:0;border-radius:calc(4.5 * var(--hero-u))}
 .hero-discovery .oc-hero-partners[data-hero-control]{margin:0}
}
/* Home and crown have an actual reserved artwork row; badges can never cover it. */
@media(max-width:1200px) and (max-aspect-ratio:1/1){
 .hero.hero-v1 [data-hero-fit]{position:absolute;left:var(--oc-art-left);top:var(--oc-art-top);right:auto;bottom:auto;width:var(--oc-art-width);height:var(--oc-art-height);max-width:none;transform:none}
 .oc-relief-hero{--hero-u:min(1vw,.4626svh)}
 .oc-relief-hero .oc-hero-actions{grid-row:3;margin:0}
 .oc-relief-hero .oc-hero-partners[data-hero-control]{grid-row:5;align-self:end;justify-self:center;margin:0}
 .ref-hero[data-concept="defne-089"]{height:calc(100svh - var(--header-height));min-height:520px;grid-template-rows:auto auto auto minmax(0,1fr) auto;align-content:stretch;padding:24px 22px 24px;row-gap:16px}
 [data-concept="defne-089"] .ref-scene{grid-row:4;align-self:stretch;justify-self:stretch;position:relative;width:100%;height:100%;min-height:0;aspect-ratio:auto;container-type:size}
 [data-concept="defne-089"] .ref-crown-canvas{position:absolute;width:min(108cqw,100cqh,460px);height:auto;aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%)}
 [data-concept="defne-089"] .oc-hero-partners[data-hero-control]{grid-row:5;position:relative;z-index:3;align-self:end;justify-self:center;margin:0}
}
@media(max-width:599px) and (max-height:740px) and (orientation:portrait){
 .ref-hero[data-concept="defne-089"]{padding:18px 18px 16px;row-gap:12px;min-height:520px}
 .ref-hero[data-concept="defne-089"] h1{font-size:30px;line-height:1.1}
 .ref-hero[data-concept="defne-089"] p{font-size:13px;line-height:1.45}
}
@media(max-width:899px) and (min-aspect-ratio:1/1){
 :is(.hero.hero-v1,.home-hero.oc-relief-hero,.ref-hero){--oc-hero-button-width:200px;--oc-hero-button-height:44px;--oc-hero-partners-height:82px}
 .oc-hero-actions{margin:2px 0 0}
 .oc-hero-button[data-hero-control]{font-size:14px;padding:10px 16px;border-radius:14px;gap:12px}
 .oc-hero-button[data-hero-control] .arrow{font-size:20px}
 .oc-hero-partners[data-hero-control]{position:absolute;right:0;bottom:16px;width:240px;height:82px;gap:22px;padding:8px 16px;border-radius:14px}
 .oc-relief-hero .oc-hero-partners[data-hero-control],[data-concept="defne-089"] .oc-hero-partners[data-hero-control]{position:static;align-self:flex-start;margin-top:14px}
}
