/* Shared action styling: quiet geometry, clear hierarchy and predictable states. */
html body.theme-vibrant { --action-ink:#1b2920; --action-accent:#d3f329; --action-radius:8px; }
html body.theme-vibrant .wrap main#main :is(a.pill,a.acquisition-primary,a.acquisition-secondary,a.portfolio-pdf-link,a.showcase-work,a.career-role-cta,button.enquiry-submit),
html body.theme-vibrant .wrap .modern-footer .footer-invitation a.footer-contact {
 display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:12px!important;
 box-sizing:border-box!important; min-height:48px!important; padding:13px 20px!important;
 border:1px solid #bdd82d!important; border-radius:var(--action-radius)!important;
 background:var(--action-accent)!important; color:var(--action-ink)!important;
 font:600 13px/1.4 Montserrat,sans-serif!important; letter-spacing:0!important;
 text-decoration:none!important; box-shadow:none!important;
 transform:none!important; translate:none!important; animation:none!important;
 transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease!important;
}
html body.theme-vibrant .wrap main#main :is(a.pill,a.acquisition-primary,a.portfolio-pdf-link,a.showcase-work,a.career-role-cta,button.enquiry-submit):hover,
html body.theme-vibrant .wrap .modern-footer .footer-invitation a.footer-contact:hover { background:#e0f76a!important; border-color:#c2da42!important; transform:none!important; box-shadow:none!important; }
html body.theme-vibrant .wrap main#main :is(a.pill,a.acquisition-primary,a.portfolio-pdf-link,a.showcase-work,a.career-role-cta,button.enquiry-submit) :is(span,b,strong),
html body.theme-vibrant .wrap .modern-footer .footer-invitation a.footer-contact>span { color:inherit!important; font-size:inherit!important; font-weight:inherit!important; background:transparent!important; }
html body.theme-vibrant .wrap main#main .acquisition-hero a.acquisition-secondary { background:transparent!important; border-color:#879181!important; color:#f6f8f0!important; }
html body.theme-vibrant .wrap main#main .acquisition-hero a.acquisition-secondary:hover { background:#ffffff0d!important; border-color:#c4cebc!important; }
html body.theme-vibrant .wrap .modern-footer .footer-invitation a.footer-contact { min-width:0!important; min-height:48px!important; width:auto!important; white-space:normal!important; text-align:center!important; }
html body.theme-vibrant .wrap .modern-footer .footer-invitation a.footer-contact span.contact-arrow { flex:0 0 auto!important; width:18px!important; height:18px!important; border:0!important; border-radius:0!important; font-size:18px!important; color:inherit!important; transform:none!important; }
html body.theme-vibrant .wrap main#main :is(.text-link,.acquisition-cv,.campaign-story-link,.campaign-original,.enquiry-email-link) { text-underline-offset:5px!important; text-decoration-thickness:1px!important; font-weight:500!important; transition:color 180ms ease!important; }
html body.theme-vibrant .wrap main#main :is(.studio-filter,.campaign-buttons) button,
html body.theme-vibrant .studio-lightbox-toolbar :is(button,a) { min-height:44px!important; box-sizing:border-box!important; padding:10px 16px!important; border-radius:7px!important; font:500 12px/1.4 Montserrat,sans-serif!important; box-shadow:none!important; transform:none!important; }
html body.theme-vibrant .wrap main#main .studio-filter button { background:#fff!important; border-color:#d7dfd3!important; color:#344539!important; }
html body.theme-vibrant .wrap main#main .studio-filter button:hover { background:#f1f4ed!important; }
html body.theme-vibrant .wrap main#main .studio-filter button[aria-pressed="true"] { background:#263d2e!important; color:#fff!important; border-color:#263d2e!important; }
html body.theme-vibrant .wrap main#main .campaign-carousel .campaign-buttons button { border-color:#d7dfd3!important; background:#fff!important; color:#243328!important; }
html body.theme-vibrant .wrap main#main .campaign-carousel .campaign-buttons button:hover { background:#f0f4e9!important; }
html body.theme-vibrant .wrap>header.reference-header button.menu { box-shadow:none!important; border-radius:7px!important; }
html body.theme-vibrant .quick-whatsapp { border-radius:10px!important; min-height:52px!important; padding:12px 18px!important; font:600 12px/1.4 Montserrat,sans-serif!important; box-shadow:0 3px 12px #18231c12!important; transform:none!important; }
html body.theme-vibrant .quick-whatsapp svg { width:28px!important; height:28px!important; }
html body.theme-vibrant :is(button,a):focus-visible { outline:2px solid #6b8134!important; outline-offset:4px!important; }
html body.theme-vibrant .wrap main#main button:disabled { opacity:.55!important; cursor:not-allowed!important; }
/* Brand-owned actions retain ShinChat's purple. */
html body.theme-vibrant .wrap main#main :is(.venture-feature,.shinchat-spotlight,.shinchat-owner-hero,.shinchat-brand-panel) a.pill,
html body.theme-vibrant.page-shinchat .wrap main#main a.pill { background:#57218d!important; border-color:#57218d!important; color:#fff!important; }
html body.theme-vibrant .wrap main#main :is(.venture-feature,.shinchat-spotlight,.shinchat-owner-hero,.shinchat-brand-panel) a.pill:hover,
html body.theme-vibrant.page-shinchat .wrap main#main a.pill:hover { background:#43186f!important; border-color:#43186f!important; }
@media(max-width:600px){
 html body.theme-vibrant .wrap main#main :is(a.pill,a.acquisition-primary,a.acquisition-secondary,a.portfolio-pdf-link,a.showcase-work,a.career-role-cta,button.enquiry-submit) { min-height:48px!important; padding:12px 16px!important; font-size:12px!important; }
 html body.theme-vibrant .wrap .modern-footer .footer-invitation a.footer-contact { width:100%!important; }
 html body.theme-vibrant .quick-whatsapp { width:52px!important; height:52px!important; padding:0!important; border-radius:50%!important; }
 html body.theme-vibrant .quick-whatsapp svg { width:28px!important; height:28px!important; }
}
@media(prefers-reduced-motion:reduce){html body.theme-vibrant :is(a,button){transition:none!important}}
/* Hero actions use the same geometry despite older page-specific rules. */
html body.theme-vibrant.page-home .wrap main#main #introduction .hero-actions :is(a.acquisition-primary,a.acquisition-secondary,a.acquisition-cv) {
 min-height:48px!important; padding:13px 20px!important; border-radius:8px!important;
 font:600 13px/1.4 Montserrat,sans-serif!important; gap:12px!important;
 box-shadow:none!important; transform:none!important; translate:none!important;
}
html body.theme-vibrant.page-home .wrap main#main #introduction .hero-actions a.acquisition-primary { background:#d3f329!important; border-color:#bdd82d!important; color:#1b2920!important; }
html body.theme-vibrant.page-home .wrap main#main #introduction .hero-actions a.acquisition-primary:hover { background:#e0f76a!important; }
html body.theme-vibrant.page-home .wrap main#main #introduction .hero-actions :is(a.acquisition-secondary,a.acquisition-cv) { background:transparent!important; border:1px solid #879181!important; color:#f6f8f0!important; text-decoration:none!important; }
html body.theme-vibrant.page-home .wrap main#main #introduction .hero-actions :is(a.acquisition-secondary,a.acquisition-cv):hover { background:#ffffff0d!important; border-color:#c4cebc!important; }
html body.theme-vibrant.page-home .wrap main#main #introduction a.showcase-work { min-height:48px!important; border-radius:8px!important; padding:13px 20px!important; background:#d3f329!important; border-color:#bdd82d!important; color:#1b2920!important; }
@media(max-width:600px){html body.theme-vibrant.page-home .wrap main#main #introduction .hero-actions :is(a.acquisition-primary,a.acquisition-secondary,a.acquisition-cv){padding:12px 14px!important;font-size:12px!important}}
