
/**
 * Rahao Website Studio 6.0.3
 * Site-wide contrast and text-collision safety layer.
 *
 * Loaded after every earlier Rahao stylesheet so theme rules, optimisation
 * reordering and inherited heading colours cannot make text disappear.
 */

:root{
    --rs-terracotta:#934729;
    --rs-terracotta-display:#c87343;
    --rs-terracotta-dark:#934729;
    --rs-dark-heading:#ffffff;
    --rs-dark-body:#e1ece8;
    --rs-dark-muted:#d4e3de;
    --rs-dark-accent:#ffd0ad;
    --rs-light-heading:#073f3d;
    --rs-light-body:#536661;
    --rs-light-muted:#596965;
    --rs-light-accent:#934729;
}

/* ================================================================
   CORE TEXT SAFETY
   ================================================================ */
body.rahao-studio-active .rs-main{
    color:var(--rs-light-body);
}
body.rahao-studio-active .rs-main :is(h1,h2,h3,h4,h5,h6){
    max-width:100%;
    color:var(--rs-light-heading);
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
}
body.rahao-studio-active .rs-main :is(p,li,blockquote,figcaption,summary){
    text-wrap:pretty;
}
body.rahao-studio-active .rs-main :is(
    [class*="-grid"],
    [class*="-layout"],
    [class*="-copy"],
    [class*="-card"],
    [class*="-panel"],
    [class*="-content"]
)>*{
    min-width:0;
}
body.rahao-studio-active .rs-main a,
body.rahao-studio-active .rs-main button{
    overflow-wrap:anywhere;
}
body.rahao-studio-active .rs-kicker{
    color:var(--rs-light-accent)!important;
    font-size:max(12px,.75rem)!important;
    line-height:1.45!important;
    opacity:1!important;
}
body.rahao-studio-active :is(
    small,
    .rs-meta,
    [class*="-meta"],
    [class*="-label"],
    [class*="-eyebrow"]
){
    opacity:1;
}

/* Small terracotta copy on cream, peach, sage and white backgrounds. */
body.rahao-studio-active :is(
    .rs-kicker,
    .rs-offer-status,
    .rs-program-offer-status,
    .rs-event-status,
    .rs-program-hero-meta span,
    .rs-program-offer-details span,
    .rs-pathway-card>span,
    .rs-work-setting-card>span,
    .rs-work-principle-card>span,
    .rs-team-role,
    .rs-contact-method>span,
    .rs-p4-story-copy>p,
    .rs-p4-past-copy>p,
    .rs-p4-policy-grid>a>span,
    .rs-p4-support-grid>article>span,
    .rs-p4-dimension-grid>article>span,
    .rs-school-signature-top>span,
    .rs-school-example-copy>p,
    .rs-school-audience-label,
    .rs-school-format-card>span,
    .rs-school-design-grid>article>span,
    .rs-school-safety-grid>article>span,
    .rs-wc-guide-grid span,
    .rs-wc-for-cards article>span,
    .rs-wc-pillars article>span,
    .rs-wc-experience-grid article>span,
    .rs-wc-detail-rows>div>span
){
    color:var(--rs-light-accent)!important;
}

/* Component styles now control secondary copy on light surfaces.
   Do not use wildcard card/copy selectors here: many Rahao cards are dark. */

/* ================================================================
   DEEP-TEAL SECTION GUARANTEE
   ================================================================ */
body.rahao-studio-active :is(
    .rs-method,
    .rs-mega-intro,
    .rs-events-hero-card,
    .rs-contact-card:nth-child(3),
    .rs-about-long-copy blockquote,
    .rs-about-work-card-4,
    .rs-about-whole,
    .rs-team-collaboration,
    .rs-team-ethos,
    .rs-team-final,
    .rs-program-cards-dark,
    .rs-program-format:nth-child(4),
    .rs-praan-phase-grid article:nth-child(4),
    .rs-praan-facilitator,
    .rs-work-design,
    .rs-program-fit-scope,
    .rs-schools-practical,
    .rs-school-audiences,
    .rs-school-methods,
    .rs-school-practical,
    .rs-school-safety,
    .rs-p4-impact-art,
    .rs-p4-archive-art,
    .rs-p4-impact-dimensions,
    .rs-p4-support-art,
    .rs-p4-policy-hero,
    .rs-p4-policy-title,
    .rs-wc-art,
    .rs-wc-sessions,
    .rs-wc-age-note,
    .rs-wc-manifesto,
    .rs-wc-registration-card,
    .rs-404-mark,
    .rs-media-protected,
    .rs-footer
){
    color:var(--rs-dark-body)!important;
}

/* All important headings in dark sections. */
body.rahao-studio-active :is(
    .rs-method,
    .rs-mega-intro,
    .rs-events-hero-card,
    .rs-contact-card:nth-child(3),
    .rs-about-long-copy blockquote,
    .rs-about-work-card-4,
    .rs-about-whole,
    .rs-team-collaboration,
    .rs-team-ethos,
    .rs-team-final,
    .rs-program-cards-dark,
    .rs-program-format:nth-child(4),
    .rs-praan-phase-grid article:nth-child(4),
    .rs-praan-facilitator,
    .rs-work-design,
    .rs-program-fit-scope,
    .rs-schools-practical,
    .rs-school-audiences,
    .rs-school-methods,
    .rs-school-practical,
    .rs-school-safety,
    .rs-p4-impact-art,
    .rs-p4-archive-art,
    .rs-p4-impact-dimensions,
    .rs-p4-support-art,
    .rs-p4-policy-hero,
    .rs-p4-policy-title,
    .rs-wc-art,
    .rs-wc-sessions,
    .rs-wc-age-note,
    .rs-wc-manifesto,
    .rs-wc-registration-card,
    .rs-404-mark,
    .rs-footer
) :is(h1,h2,h3,h4,h5,h6,strong){
    color:var(--rs-dark-heading)!important;
    opacity:1!important;
    text-shadow:none!important;
}

/* Paragraphs, list items and supporting information in dark sections. */
body.rahao-studio-active :is(
    .rs-method,
    .rs-mega-intro,
    .rs-events-hero-card,
    .rs-contact-card:nth-child(3),
    .rs-about-long-copy blockquote,
    .rs-about-work-card-4,
    .rs-about-whole,
    .rs-team-collaboration,
    .rs-team-ethos,
    .rs-team-final,
    .rs-program-cards-dark,
    .rs-program-format:nth-child(4),
    .rs-praan-phase-grid article:nth-child(4),
    .rs-praan-facilitator,
    .rs-work-design,
    .rs-program-fit-scope,
    .rs-schools-practical,
    .rs-school-audiences,
    .rs-school-methods,
    .rs-school-practical,
    .rs-school-safety,
    .rs-p4-impact-art,
    .rs-p4-archive-art,
    .rs-p4-impact-dimensions,
    .rs-p4-support-art,
    .rs-p4-policy-hero,
    .rs-p4-policy-title,
    .rs-wc-art,
    .rs-wc-sessions,
    .rs-wc-age-note,
    .rs-wc-manifesto,
    .rs-wc-registration-card,
    .rs-404-mark,
    .rs-footer
) :is(p,li,small,figcaption,blockquote){
    color:var(--rs-dark-body)!important;
    opacity:1!important;
}

/* Kicker, number and metadata accent in dark sections. */
body.rahao-studio-active :is(
    .rs-method,
    .rs-mega-intro,
    .rs-events-hero-card,
    .rs-contact-card:nth-child(3),
    .rs-about-long-copy blockquote,
    .rs-about-work-card-4,
    .rs-about-whole,
    .rs-team-collaboration,
    .rs-team-ethos,
    .rs-team-final,
    .rs-program-cards-dark,
    .rs-program-format:nth-child(4),
    .rs-praan-phase-grid article:nth-child(4),
    .rs-praan-facilitator,
    .rs-work-design,
    .rs-program-fit-scope,
    .rs-schools-practical,
    .rs-school-audiences,
    .rs-school-methods,
    .rs-school-practical,
    .rs-school-safety,
    .rs-p4-impact-art,
    .rs-p4-archive-art,
    .rs-p4-impact-dimensions,
    .rs-p4-support-art,
    .rs-p4-policy-hero,
    .rs-p4-policy-title,
    .rs-wc-art,
    .rs-wc-sessions,
    .rs-wc-age-note,
    .rs-wc-manifesto,
    .rs-wc-registration-card,
    .rs-404-mark,
    .rs-footer
) :is(
    .rs-kicker,
    [class*="-number"],
    [class*="-label"],
    [class*="-meta"],
    article>span,
    div>span
){
    color:var(--rs-dark-accent)!important;
    opacity:1!important;
}

/* The exact failure visible on the Upcoming Experiences page. */
body.rahao-studio-active .rs-events-hero-card>span,
body.rahao-studio-active .rs-events-hero-card strong{
    color:#ffffff!important;
}
body.rahao-studio-active .rs-events-hero-card p{
    color:#e1ece8!important;
    opacity:1!important;
}

/* Other individual dark-card families that must never inherit light-card copy. */
body.rahao-studio-active .rs-contact-card:nth-child(3) :is(h2,h3,strong){
    color:#ffffff!important;
}
body.rahao-studio-active .rs-contact-card:nth-child(3) p{
    color:#e1ece8!important;
}
body.rahao-studio-active .rs-program-cards-dark :is(h2,h3,strong),
body.rahao-studio-active .rs-program-format:nth-child(4) :is(h2,h3,strong),
body.rahao-studio-active .rs-praan-phase-grid article:nth-child(4) :is(h2,h3,strong),
body.rahao-studio-active .rs-praan-facilitator :is(h2,h3,strong){
    color:#ffffff!important;
}
body.rahao-studio-active .rs-program-cards-dark p,
body.rahao-studio-active .rs-program-format:nth-child(4) p,
body.rahao-studio-active .rs-praan-phase-grid article:nth-child(4) p,
body.rahao-studio-active .rs-praan-facilitator p{
    color:#e1ece8!important;
}

/* The exact failure visible on the Wellbeing Course page. */
body.rahao-studio-active .rs-wc-registration-card h2{
    color:#ffffff!important;
}
body.rahao-studio-active .rs-wc-registration-card>p,
body.rahao-studio-active .rs-wc-registration-card>small{
    color:#e1ece8!important;
}
body.rahao-studio-active .rs-wc-registration-card .rs-kicker{
    color:#ffd0ad!important;
}

/* Explicit Our Work correction retained with strongest practical specificity. */
body.rahao-studio-active .rs-work-design h2,
body.rahao-studio-active .rs-work-design .rs-work-design-step h3{
    color:#ffffff!important;
}
body.rahao-studio-active .rs-work-design .rs-work-design-copy>p:last-child,
body.rahao-studio-active .rs-work-design .rs-work-design-step p{
    color:#e1ece8!important;
}

/* School audience cards remain dark and transparent. */
body.rahao-studio-active .rs-school-audiences .rs-school-audience-card :is(h3,p,li){
    color:#e1ece8!important;
}
body.rahao-studio-active .rs-school-audiences .rs-school-audience-card h3{
    color:#ffffff!important;
}
body.rahao-studio-active .rs-school-audiences .rs-school-audience-label,
body.rahao-studio-active .rs-school-audiences .rs-school-audience-number{
    color:#ffd0ad!important;
}

/* Dark story visual: only the first placeholder is deep teal. */
body.rahao-studio-active .rs-p4-story-grid article:nth-child(1) .rs-p4-story-placeholder :is(span,strong){
    color:#ffffff!important;
}

/* ================================================================
   TERRACOTTA SECTIONS WITH WHITE TEXT
   #C87343 was too light for normal white copy. Use accessible burnt
   terracotta while preserving the Rahao palette.
   ================================================================ */
body.rahao-studio-active :is(
    .rs-final,
    .rs-p4-final,
    .rs-school-final,
    .rs-wc-final
){
    background:#934729!important;
    color:#ffffff!important;
}
body.rahao-studio-active :is(
    .rs-final,
    .rs-p4-final,
    .rs-school-final,
    .rs-wc-final
) :is(h1,h2,h3,strong){
    color:#ffffff!important;
}
body.rahao-studio-active :is(
    .rs-final,
    .rs-p4-final,
    .rs-school-final,
    .rs-wc-final
) :is(p,li,small){
    color:#fff7f2!important;
}
body.rahao-studio-active :is(
    .rs-final,
    .rs-p4-final,
    .rs-school-final,
    .rs-wc-final
) .rs-kicker{
    color:#ffe0ca!important;
}

/* Small terracotta controls carrying white text. */
body.rahao-studio-active :is(
    .rs-wc-announcement,
    .rs-wc-floating-register
){
    background:#934729!important;
    color:#ffffff!important;
}

/* Buttons placed on dark backgrounds. */
body.rahao-studio-active :is(
    .rs-method,
    .rs-mega-intro,
    .rs-events-hero-card,
    .rs-contact-card:nth-child(3),
    .rs-about-long-copy blockquote,
    .rs-about-work-card-4,
    .rs-about-whole,
    .rs-team-collaboration,
    .rs-team-ethos,
    .rs-team-final,
    .rs-program-cards-dark,
    .rs-program-format:nth-child(4),
    .rs-praan-phase-grid article:nth-child(4),
    .rs-praan-facilitator,
    .rs-work-design,
    .rs-program-fit-scope,
    .rs-school-audiences,
    .rs-school-safety,
    .rs-p4-impact-dimensions,
    .rs-p4-policy-hero,
    .rs-p4-policy-title,
    .rs-wc-sessions,
    .rs-wc-registration-card,
    .rs-footer
) :is(a,button):not(.rs-button-light){
    color:#ffffff;
}
body.rahao-studio-active .rs-button-light{
    background:#ffffff!important;
    color:#073f3d!important;
}
body.rahao-studio-active .rs-button-dark-outline{
    border-color:rgba(255,255,255,.72)!important;
    color:#ffffff!important;
}

/* ================================================================
   LIGHT CARD EXCEPTIONS INSIDE DARK AREAS
   Prevent broad dark-section rules from whitening text inside white
   cards nested within a dark section.
   ================================================================ */
body.rahao-studio-active :is(
    .rs-method,
    .rs-mega-intro,
    .rs-events-hero-card,
    .rs-contact-card:nth-child(3),
    .rs-about-long-copy blockquote,
    .rs-about-work-card-4,
    .rs-about-whole,
    .rs-team-collaboration,
    .rs-team-ethos,
    .rs-team-final,
    .rs-program-cards-dark,
    .rs-program-format:nth-child(4),
    .rs-praan-phase-grid article:nth-child(4),
    .rs-praan-facilitator,
    .rs-work-design,
    .rs-school-audiences,
    .rs-school-safety,
    .rs-p4-impact-dimensions,
    .rs-p4-policy-hero,
    .rs-p4-policy-title,
    .rs-wc-sessions,
    .rs-footer
) :is(
    .rs-light-card,
    [class*="-card"].is-light,
    .rs-newsletter
) :is(h1,h2,h3,h4,h5,h6){
    color:var(--rs-light-heading)!important;
}

/* Footer newsletter itself is dark/translucent, so restore its light text. */
body.rahao-studio-active .rs-footer .rs-newsletter :is(strong,h2,h3){
    color:#ffffff!important;
}
body.rahao-studio-active .rs-footer .rs-newsletter p{
    color:#d9e8e3!important;
}

/* ================================================================
   FORM AND POLICY READABILITY
   ================================================================ */
body.rahao-studio-active :is(
    .rs-contact-form,
    .rs-p4-policy-content,
    .rs-program-faq,
    .rs-wc-faq
) :is(p,li,label,summary,small){
    color:#50635e;
}
body.rahao-studio-active :is(
    .rs-contact-form,
    .rs-p4-policy-content,
    .rs-program-faq,
    .rs-wc-faq
) :is(h2,h3,h4){
    color:#073f3d!important;
}
body.rahao-studio-active input::placeholder,
body.rahao-studio-active textarea::placeholder{
    color:#677772;
    opacity:1;
}

/* ================================================================
   RESPONSIVE COLLISION SAFETY
   ================================================================ */
@media(max-width:980px){
    body.rahao-studio-active .rs-main :is(h1,h2,h3){
        max-width:100%;
    }
    body.rahao-studio-active :is(
        .rs-header-inner,
        .rs-footer-grid,
        .rs-wc-details-panels,
        .rs-work-design-grid,
        .rs-school-final-grid,
        .rs-p4-final-grid
    )>*{
        min-width:0;
    }
}
@media(max-width:650px){
    body.rahao-studio-active .rs-main h1{
        font-size:clamp(44px,13vw,58px);
        line-height:.98;
    }
    body.rahao-studio-active .rs-main h2{
        line-height:1.02;
    }
    body.rahao-studio-active .rs-main :is(a,button,.rs-button){
        white-space:normal;
        text-align:center;
    }
}
@media(prefers-contrast:more){
    body.rahao-studio-active .rs-main{
        --rs-light-body:#334b46;
        --rs-light-muted:#3f5651;
        --rs-dark-body:#ffffff;
        --rs-dark-muted:#ffffff;
    }
}


/* ================================================================
   6.0.4 CASCADE SAFETY
   ================================================================ */
/*
Never reintroduce selectors such as:
    [class*="-card"] p
    [class*="-copy"] > p
These match both pale and dark components. Every dark component must be listed
explicitly so component-level colours remain predictable.
*/

/* ================================================================
   CONTACT FORM POLISH — VERSION 6.1.1
   High-contrast field text, clearer states and a calmer form rhythm.
   ================================================================ */
body.rahao-studio-active .rs-contact-form-card{
    overflow:hidden;
    border-color:rgba(7,63,61,.14);
    background:linear-gradient(180deg,#ffffff 0%,#fffdfa 100%);
    box-shadow:0 28px 75px rgba(7,63,61,.10);
}
body.rahao-studio-active .rs-form-intro{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    align-items:baseline;
    margin:-8px 0 28px;
    padding:0 0 20px;
    border-bottom:1px solid rgba(7,63,61,.11);
}
body.rahao-studio-active .rs-form-intro>span{
    color:#b85f38;
    font:800 10px/1.4 var(--rs-sans);
    letter-spacing:.12em;
    text-transform:uppercase;
}
body.rahao-studio-active .rs-form-intro>p{
    flex:1 1 300px;
    margin:0;
    color:#5e6e69!important;
    font-size:12px;
    line-height:1.55;
}
body.rahao-studio-active .rs-contact-form{
    gap:26px;
}
body.rahao-studio-active .rs-contact-form .rs-form-row{
    gap:20px;
}
body.rahao-studio-active .rs-contact-form label{
    gap:10px;
}
body.rahao-studio-active .rs-contact-form label>span:first-child{
    color:#173f39!important;
    font-size:12px;
    font-weight:800;
    line-height:1.35;
    letter-spacing:.015em;
}
body.rahao-studio-active .rs-contact-form label>span:first-child b{
    color:#b85f38;
    font-weight:800;
}
body.rahao-studio-active .rs-contact-form :is(input:not([type=checkbox]),select,textarea){
    box-sizing:border-box;
    width:100%;
    min-height:58px;
    padding:15px 17px;
    border:1.5px solid #cbd9d4!important;
    border-radius:14px;
    background-color:#fbfdfc!important;
    color:#173f39!important;
    -webkit-text-fill-color:#173f39!important;
    caret-color:#075e5c;
    color-scheme:light;
    font-family:var(--rs-sans);
    font-size:16px!important;
    font-weight:600;
    line-height:1.5;
    opacity:1!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
    transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease;
}
body.rahao-studio-active .rs-contact-form textarea{
    min-height:180px;
    line-height:1.65;
    resize:vertical;
}
body.rahao-studio-active .rs-contact-form select{
    cursor:pointer;
}
body.rahao-studio-active .rs-contact-form :is(input:not([type=checkbox]),select,textarea):hover{
    border-color:#91aaa2!important;
    background-color:#ffffff!important;
}
body.rahao-studio-active .rs-contact-form :is(input:not([type=checkbox]),select,textarea):focus,
body.rahao-studio-active .rs-contact-form :is(input:not([type=checkbox]),select,textarea):focus-visible{
    border-color:#075e5c!important;
    outline:0!important;
    background-color:#ffffff!important;
    box-shadow:0 0 0 4px rgba(7,94,92,.12),0 8px 22px rgba(7,63,61,.06)!important;
}
body.rahao-studio-active .rs-contact-form :is(input,textarea)::placeholder{
    color:#71807b!important;
    -webkit-text-fill-color:#71807b!important;
    font-weight:500;
    opacity:1!important;
}
body.rahao-studio-active .rs-contact-form input:-webkit-autofill,
body.rahao-studio-active .rs-contact-form input:-webkit-autofill:hover,
body.rahao-studio-active .rs-contact-form input:-webkit-autofill:focus,
body.rahao-studio-active .rs-contact-form textarea:-webkit-autofill,
body.rahao-studio-active .rs-contact-form select:-webkit-autofill{
    -webkit-text-fill-color:#173f39!important;
    caret-color:#075e5c!important;
    -webkit-box-shadow:0 0 0 1000px #eef4ff inset!important;
    box-shadow:0 0 0 1000px #eef4ff inset!important;
    transition:background-color 9999s ease-out 0s;
}
body.rahao-studio-active .rs-contact-form .rs-consent{
    grid-template-columns:24px minmax(0,1fr);
    gap:12px;
    padding:2px 0;
}
body.rahao-studio-active .rs-contact-form .rs-consent input{
    width:22px!important;
    height:22px;
    min-width:22px;
    min-height:22px;
    margin:0;
    accent-color:#075e5c;
    cursor:pointer;
}
body.rahao-studio-active .rs-contact-form .rs-consent span{
    color:#536761!important;
    font-size:12px;
    font-weight:500;
    line-height:1.6;
}
body.rahao-studio-active .rs-contact-submit{
    display:inline-flex;
    gap:18px;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:14px 22px;
    border:1px solid #a94f2e;
    background:#b85f38;
    color:#ffffff!important;
    font-size:11px;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
    box-shadow:0 12px 28px rgba(184,95,56,.18);
}
body.rahao-studio-active .rs-contact-submit:hover{
    transform:translateY(-1px);
    border-color:#8d3f23;
    background:#9f4929;
    box-shadow:0 16px 34px rgba(159,73,41,.22);
}
body.rahao-studio-active .rs-contact-submit:active{
    transform:translateY(0);
}
body.rahao-studio-active .rs-form-message{
    border-width:1px;
    border-style:solid;
    font-size:13px;
    line-height:1.55;
}
body.rahao-studio-active .rs-form-message strong{
    color:inherit!important;
    font-size:15px;
}
@media(max-width:720px){
    body.rahao-studio-active .rs-contact-form-card{
        padding:26px 20px;
        border-radius:24px;
    }
    body.rahao-studio-active .rs-contact-form .rs-form-row{
        grid-template-columns:1fr;
    }
    body.rahao-studio-active .rs-contact-form :is(input:not([type=checkbox]),select,textarea){
        min-height:56px;
    }
    body.rahao-studio-active .rs-contact-form textarea{
        min-height:160px;
    }
    body.rahao-studio-active .rs-contact-submit{
        width:100%;
    }
}
