/* Native opt-in styles. Section choices use the responsive 40/72 convention,
 * not the reference's separate fixed-72 SectionSurface contract.
 * Core colors, heading levels, alignment and link controls remain available.
 */
:is(.casite-quick-actions,.casite-surface-section,.casite-text-section,.is-style-casite-section-light:not(.casite-component-background),.is-style-casite-section-neutral:not(.casite-component-background),.is-style-casite-section-dark:not(.casite-component-background),.is-style-casite-section-brand:not(.casite-component-background)){
 --casite-rich-body-opacity:90%;--casite-rich-border-color:var(--wp--preset--color--border,#ded8cf);
 --casite-section-bg:var(--wp--preset--color--surface);
 --casite-section-fg:var(--wp--preset--color--contrast);
 --casite-section-highlight:var(--wp--preset--color--primary);
 --casite-section-action-ink:var(--wp--preset--color--surface);
 padding-block:var(--casite-section-padding-block,40px);
 padding-inline:var(--casite-page-gutter,20px);
 box-sizing:border-box;
}
.is-style-casite-section-neutral:not(.casite-component-background){--casite-section-bg:var(--wp--preset--color--base)}
.is-style-casite-section-dark:not(.casite-component-background){
 --casite-rich-body-opacity:100%;--casite-rich-border-color:currentColor;
 --casite-section-bg:var(--wp--preset--color--contrast);--casite-section-fg:var(--wp--preset--color--surface);
 --casite-section-highlight:var(--wp--preset--color--accent);--casite-section-action-ink:var(--wp--preset--color--contrast);
}
/* Content surfaces use the independent dark role; the footer retains Ink. */
:is(.casite-surface-section,.casite-standard-hero,.casite-centered-hero,.casite-image-hero,.casite-background-hero).is-style-casite-section-dark{--casite-section-bg:var(--wp--preset--color--dark-surface,var(--wp--preset--color--contrast))}
.is-style-casite-section-brand:not(.casite-component-background){
 --casite-rich-body-opacity:100%;--casite-rich-border-color:currentColor;
 --casite-section-bg:var(--wp--preset--color--primary);--casite-section-fg:var(--wp--preset--color--surface);
 --casite-section-highlight:var(--wp--preset--color--surface);--casite-section-action-ink:var(--wp--preset--color--primary);
}
:is(.casite-surface-section,.casite-text-section,.is-style-casite-section-light:not(.casite-component-background),.is-style-casite-section-neutral:not(.casite-component-background),.is-style-casite-section-dark:not(.casite-component-background),.is-style-casite-section-brand:not(.casite-component-background)){background-color:var(--casite-section-bg);color:var(--casite-section-fg)}
/* Shared section boundaries: full-width structural roots work in every palette.
 * Internal padding and ordinary inline-content gaps remain unchanged. */
:is(.alignfull,.casite-surface-section,.casite-text-section,.casite-split-section,.casite-quick-actions,.casite-announcement,.casite-utility-header,.casite-slideshow-hero,.casite-proof-points,.is-style-casite-section-light,.is-style-casite-section-neutral,.is-style-casite-section-dark,.is-style-casite-section-brand)
+:is(.alignfull,.casite-surface-section,.casite-text-section,.casite-split-section,.casite-quick-actions,.casite-announcement,.casite-utility-header,.casite-slideshow-hero,.casite-proof-points,.is-style-casite-section-light,.is-style-casite-section-neutral,.is-style-casite-section-dark,.is-style-casite-section-brand){margin-block-start:0}
.wp-site-blocks>main:has(>.wp-block-post-content>.alignfull:is(.alignfull,.casite-surface-section,.casite-text-section,.casite-split-section,.casite-quick-actions,.casite-announcement,.casite-utility-header,.casite-slideshow-hero,.casite-proof-points,.is-style-casite-section-light,.is-style-casite-section-neutral,.is-style-casite-section-dark,.is-style-casite-section-brand):first-child){margin-block-start:0}
.wp-site-blocks>main:has(>.wp-block-post-content>.alignfull:is(.alignfull,.casite-surface-section,.casite-text-section,.casite-split-section,.casite-quick-actions,.casite-announcement,.casite-utility-header,.casite-slideshow-hero,.casite-proof-points,.is-style-casite-section-light,.is-style-casite-section-neutral,.is-style-casite-section-dark,.is-style-casite-section-brand):last-child)+footer{margin-block-start:0}
/* Palette changes preserve section geometry across component families. */
.wp-block-heading.is-style-casite-section-heading{
 font-size:30px;font-weight:800;line-height:1.2;letter-spacing:-.025em;text-transform:uppercase;
}
.is-style-casite-eyebrow{font-family:var(--wp--preset--font-family--display);font-size:14px;font-weight:800;line-height:1.375;letter-spacing:.14em;text-transform:uppercase}
:where(.is-style-casite-eyebrow){color:var(--casite-section-highlight,var(--wp--preset--color--primary))}
:is(:is(.is-style-casite-primary,.is-style-casite-secondary)>.wp-block-button__link,:where(.is-style-casite-showcase:not(.casite-team-showcase)) .casite-showcase-heading .wp-block-button__link){
 display:inline-flex;align-items:center;box-sizing:border-box;min-height:44px;padding:12px 20px;
 border:1px solid var(--casite-section-highlight,var(--wp--preset--color--primary));border-radius:8px;
 font-size:14px;font-weight:700;line-height:20px;letter-spacing:.025em;text-transform:uppercase;text-decoration:none;
 background-color:var(--casite-section-highlight,var(--wp--preset--color--primary));color:var(--casite-section-action-ink,var(--wp--preset--color--surface));
 transition:background-color .15s,color .15s,border-color .15s;
}
:is(.is-style-casite-primary>.wp-block-button__link,:where(.is-style-casite-showcase:not(.casite-team-showcase)) .casite-showcase-heading .wp-block-button__link):hover{background-color:color-mix(in srgb,var(--casite-section-highlight,var(--wp--preset--color--primary)) 90%,transparent)}
.is-style-casite-secondary>.wp-block-button__link{--casite-section-focus:var(--casite-section-fg,var(--wp--preset--color--contrast));background-color:transparent;border-color:var(--casite-section-fg,var(--wp--preset--color--contrast));color:inherit}
.is-style-casite-secondary>.wp-block-button__link:hover{background-color:var(--casite-section-fg,var(--wp--preset--color--contrast));color:var(--casite-section-bg,var(--wp--preset--color--base))}
:is(:is(.is-style-casite-primary,.is-style-casite-secondary)>.wp-block-button__link,:where(.is-style-casite-showcase:not(.casite-team-showcase)) .casite-showcase-heading .wp-block-button__link):focus-visible{outline:2px solid var(--casite-section-focus,var(--casite-section-highlight,var(--wp--preset--color--primary)));outline-offset:2px}
@media(min-width:640px){.wp-block-heading.is-style-casite-section-heading{font-size:36px;line-height:1.111111}}
@media(min-width:768px){:is(.casite-quick-actions,.casite-surface-section,.casite-text-section,.is-style-casite-section-light:not(.casite-component-background),.is-style-casite-section-neutral:not(.casite-component-background),.is-style-casite-section-dark:not(.casite-component-background),.is-style-casite-section-brand:not(.casite-component-background)){padding-block:var(--casite-section-padding-block,72px)}}
@media(prefers-reduced-motion:reduce){:is(:is(.is-style-casite-primary,.is-style-casite-secondary)>.wp-block-button__link,:where(.is-style-casite-showcase:not(.casite-team-showcase)) .casite-showcase-heading .wp-block-button__link){transition:none}}
/* Existing Split Media patterns carry native preset colors and legacy tone
 * classes. An explicit section style owns the complete palette; Default still
 * restores the composition's original native colors. */
.casite-split-section:is(.is-style-casite-section-light,.is-style-casite-section-neutral,.is-style-casite-section-dark,.is-style-casite-section-brand){
 --casite-split-ink:var(--casite-section-fg);
 --casite-split-accent:var(--casite-section-highlight);
 --casite-split-button-ink:var(--casite-section-action-ink);
 --casite-split-surface:var(--casite-section-bg);
 background-color:var(--casite-section-bg)!important;
 color:var(--casite-section-fg)!important;
 padding-block:40px;
}
.casite-split-section:is(.is-style-casite-section-light,.is-style-casite-section-neutral,.is-style-casite-section-dark,.is-style-casite-section-brand) .casite-rich-content>:where(p,ul,ol){color:color-mix(in srgb,currentColor var(--casite-rich-body-opacity,90%),transparent)}
@media(min-width:768px){.casite-split-section:is(.is-style-casite-section-light,.is-style-casite-section-neutral,.is-style-casite-section-dark,.is-style-casite-section-brand){padding-block:72px}}

.casite-split-section.is-style-default{padding-block:40px}
@media(min-width:768px){.casite-split-section.is-style-default{padding-block:72px}}

/* SectionSurface reference uses72px at all widths. Native inner Query/Accordion
 * retains its wide layout and behavioral style while the Group owns the tone. */
.casite-surface-section{padding-block:72px}
.casite-surface-section .casite-showcase-heading .casite-eyebrow{color:var(--casite-section-highlight)}
.casite-surface-section .casite-showcase-heading .wp-block-button__link{background:var(--casite-section-highlight);color:var(--casite-section-action-ink);border-color:var(--casite-section-highlight)}
.casite-surface-section .casite-showcase-heading .wp-block-button__link:focus-visible{outline:2px solid var(--casite-section-highlight);outline-offset:2px}
.casite-surface-section .casite-showcase-dots button{color:var(--casite-section-fg)}
.casite-surface-section .casite-showcase-dots button[aria-current=true] span{background:var(--casite-section-highlight);border-color:var(--casite-section-highlight)}
.casite-surface-section:is(.is-style-casite-section-dark,.is-style-casite-section-brand) .casite-showcase-controls>button{background:color-mix(in srgb,var(--casite-section-fg) 10%,transparent);color:var(--casite-section-fg);border-color:color-mix(in srgb,var(--casite-section-fg) 60%,transparent)}
.casite-surface-section .casite-showcase-controls button:hover{color:var(--casite-section-highlight);border-color:var(--casite-section-highlight)}
.casite-surface-section .casite-showcase-controls button:focus-visible{outline:2px solid var(--casite-section-highlight);outline-offset:2px}
.casite-surface-section .casite-showcase-dots button:focus-visible{outline:none}
.casite-surface-section .casite-showcase-dots button:focus-visible span{outline-color:var(--casite-section-highlight)}
/* Selector buttons retain their own light card surface. Their outer focus ring
 * must contrast with the section behind the card, not inherit dark card text. */
.casite-surface-section .is-style-casite-selector button:focus-visible{outline:3px solid var(--casite-section-highlight);outline-offset:4px}

/* CallToAction uses reference SectionSurface's fixed section rhythm at every width. */
.casite-call-to-action{padding-block:72px}
.casite-cta-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.casite-cta-layout>.casite-cta-copy,.casite-cta-layout>.casite-cta-actions{margin-block:0}
.casite-cta-copy{min-width:0}.casite-cta-copy>p.is-style-casite-eyebrow{margin:0}
.casite-cta-copy>.wp-block-heading{margin:8px 0 0;max-width:56rem}
.casite-cta-copy>.casite-cta-description{margin:16px 0 0;max-width:48rem;font-size:18px;line-height:1.625;color:color-mix(in srgb,currentColor 80%,transparent)}
.casite-cta-actions{gap:12px;align-items:center;flex-wrap:wrap}
@media(min-width:1024px){.casite-cta-layout{grid-template-columns:minmax(0,1fr) auto;align-items:end}}
/* Description roles derive from the active site's palette, including alternate brands. */
.is-style-casite-showcase:not(.casite-team-showcase) .casite-showcase-heading>.wp-block-group>h2+p:not(.casite-eyebrow){color:var(--wp--preset--color--muted-text,color-mix(in srgb,var(--casite-section-fg,var(--wp--preset--color--contrast)) 75%,var(--casite-section-bg,var(--wp--preset--color--surface))))}
.casite-surface-section:is(.is-style-casite-section-dark,.is-style-casite-section-brand) .is-style-casite-showcase:not(.casite-team-showcase) .casite-showcase-heading>.wp-block-group>h2+p:not(.casite-eyebrow){color:color-mix(in srgb,var(--casite-section-fg) 80%,transparent)}

:where(.is-style-casite-primary>.wp-block-button__link,.is-style-casite-secondary>.wp-block-button__link,:where(.is-style-casite-showcase:not(.casite-team-showcase)) .casite-showcase-heading .wp-block-button__link){font-family:var(--wp--preset--font-family--display)}

/* Optional announcement: compact reference spacing in every section palette. */
.wp-block-group.casite-announcement{padding:6px 16px!important;margin-block:0;box-sizing:border-box;text-align:center;background:var(--casite-section-bg,var(--wp--preset--color--contrast));color:var(--casite-section-fg,var(--wp--preset--color--surface))}
.casite-announcement p{margin:0;font-family:var(--wp--preset--font-family--body);font-size:12px;font-weight:600;line-height:16px;text-transform:uppercase;letter-spacing:.1em;overflow-wrap:anywhere}
.casite-announcement strong{font-weight:700;margin-inline-end:8px;color:var(--casite-section-highlight,var(--wp--preset--color--accent))}
.casite-announcement a{color:inherit;text-underline-offset:3px}

/* Header palettes change surfaces, never the compact navigation geometry. */
.wp-block-group.casite-header-shell{padding-block:0;--casite-nav-accent:var(--casite-section-highlight,var(--wp--preset--color--primary));background:var(--casite-section-bg,var(--wp--preset--color--base));color:var(--casite-section-fg,var(--wp--preset--color--contrast))}
.casite-header-shell .casite-header-row{height:64px;gap:16px;flex-wrap:nowrap;margin-block:0}
.casite-header-shell .wp-block-site-title a{color:inherit}
/* Closing CTA sections meet the shell without an exposed body-color gap. */
.wp-site-blocks>main:has(>.wp-block-post-content>.casite-call-to-action:first-child){margin-block-start:0}
.wp-site-blocks>main:has(>.wp-block-post-content>.casite-call-to-action:last-child)+footer{margin-block-start:0}


/* Owner-directed contrast refinement; preserve component geometry. */
:is(.casite-background-dark,.casite-background-brand,.casite-component-background.is-style-casite-section-dark,.casite-component-background.is-style-casite-section-brand) .wp-block-details:not(.casite-content-accordion .wp-block-details){color:#fff}

/* Fixed SectionSurface components retain 72px on phones under every palette.
   Information Cards and Two-Column Information keep their 40/72 contract. */
.wp-block-group:is(.casite-call-to-action,.casite-story-section,.casite-composition-content-selector,.casite-calculator-section){padding-block:72px}

/* Optional native heading/intro group above Content Selector choices. */
.casite-composition-content-selector>.wp-block-group>.wp-block-heading+p{font-size:16px;line-height:24px}
/* Calculator intro follows the reusable section heading rhythm. */
.casite-calculator-section>.wp-block-group>.is-style-casite-eyebrow{margin-top:0}
.casite-calculator-section>.wp-block-group>.wp-block-heading{margin-top:4px;margin-bottom:0}
.casite-calculator-section>.wp-block-group>.wp-block-heading+p{margin-top:12px;margin-bottom:0;font-size:16px;line-height:24px}

/* Optional authored FAQ introduction follows the section heading rhythm. */
.casite-background-entry-faq>.wp-block-group>.wp-block-heading{margin-top:4px;margin-bottom:0}
.casite-background-entry-faq>.wp-block-group>.wp-block-heading+p{margin-top:12px;margin-bottom:0;font-size:16px;line-height:24px}
@media(min-width:640px){.casite-background-entry-faq>.wp-block-group>.wp-block-heading+p{font-size:18px;line-height:28px}}
