/* RAION layout contract. Shared by generated pages and native offers.
   Full-width backgrounds use the same content edge as centered wrappers. */
:root{
 --ra-content-max:1240px;
 --ra-gutter:5vw;
 --ra-container-width:min(var(--ra-content-max),calc(100% - var(--ra-gutter)*2));
 --ra-edge:max(var(--ra-gutter),calc((100% - var(--ra-content-max))/2));
 --ra-intro-top:64px;
 --ra-intro-bottom:56px;
}
body :is(.wrap,.st-shell,.cl-hero,.ra-header-inner,.ra-partners-inner){
 width:var(--ra-container-width);max-width:var(--ra-content-max);margin-inline:auto;
}
body .rf-root .wrap{width:var(--ra-container-width);max-width:var(--ra-content-max)}
body .ra-header-inner{gap:24px}
body .ra-header .ra-desktop-nav{gap:16px}
body .ra-header .ra-header-phone{padding-left:18px;font-size:24px}
body .ra-site-end .wrap{width:var(--ra-container-width)}
/* These are bands, rather than nested wrappers. */
body:is([data-page="home"],[data-page="grafik-zajec"]) .rf-root :is(.rf-finder,.rf-first){
 width:100%;max-width:none;padding-inline:var(--ra-edge);
}
body .hp-sport-strip{padding-inline:var(--ra-edge)}
body:is([data-page="home"],[data-page="grafik-zajec"]) .rf-welcome{grid-column:2;align-self:start}
body .rf-root .rf-finder>.rf-refine{grid-column:2}
/* Keep reading columns short while aligning their left edge with the page. */
body .wrap>.prose{margin-inline:0}
body .ra-detail{width:min(760px,var(--ra-container-width));max-width:760px!important;margin-left:var(--ra-edge);margin-right:auto}
body .fundraiser-reading{margin-left:0;margin-right:auto}
body .text-page{width:var(--ra-container-width);max-width:var(--ra-content-max);padding:var(--ra-intro-top) 0 var(--ra-intro-bottom)}
body .text-page>:is(p,h2){max-width:820px}
/* One top position: the neighboring photograph must not center the heading. */
body:not([data-page="home"]) :is(.page-intro,.schedule-intro,.local-hero,.simple-hero,.rf-hero,.cl-hero,.st-hero,.contact-top),
body main:is(.ra-winter,.ra-clothing)>.hero{
 padding-top:var(--ra-intro-top);padding-bottom:var(--ra-intro-bottom);align-items:start;
}
body:not([data-page="home"]) :is(.st-hero-grid,.cl-hero,.local-hero,.simple-hero){align-items:start}
body:not([data-page="home"]) :is(.page-intro,.schedule-intro,.local-hero,.simple-hero,.rf-hero,.contact-top) .eyebrow,
body:not([data-page="home"]) :is(.rf-overline,.st-hero .st-kicker),
body main:is(.ra-winter,.ra-clothing)>.hero .eyebrow{
 font:800 14px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:.16em!important;margin:0 0 24px!important;
}
body:not([data-page="home"]) :is(.hero-copy,.simple-hero-copy){padding-top:0}
body .breadcrumbs{padding-top:16px;padding-bottom:0;height:40px;align-items:center}
body .breadcrumbs+:is(.page-intro,.local-hero,.simple-hero,.section){padding-top:calc(var(--ra-intro-top) - 40px)}
body .ra-clinic .cl-copy>.cl-brand{margin:0 0 24px}
/* Native offers use the same 1240px content box, without double padding. */
body main:is(.ra-winter,.ra-clothing)>:is(.hero,.section,.signup-section,.sport-strip,.strip,.partners),
body .collection-tools{
 width:100%;max-width:none;margin-inline:0;padding-inline:var(--ra-edge);
}
body main.ra-clothing>.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
body main.ra-clothing .hero-copy{min-width:0}
body main.ra-winter>.hero{padding-bottom:56px}
body main.ra-winter .hero-art{left:var(--ra-edge);right:var(--ra-edge)}
body main.ra-winter .hero-art img{object-position:75% center}
body main.ra-winter .vertical-label{right:var(--ra-gutter)}
body main.ra-winter .hero-copy{max-width:650px}
/* Shared actions retain the same typography, radius and target height. */
body main :is(.button.button,.st-button.st-button){font:700 16px/1.4 Arial,Helvetica,sans-serif;min-height:54px;padding:16px 24px;border-radius:4px}
body main .ra-benefits h2{font-size:clamp(26px,3vw,38px);margin:0}
body[data-page="grafik-zajec"] .rf-root .schedule-intro{padding-bottom:12px}
@media(max-width:1350px){
 body .ra-header .ra-desktop-nav{display:none}
 body .ra-header .ra-header-phone{margin-left:auto}
 body .ra-header .ra-mobile-nav{display:block}
 body .ra-header .ra-mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:white;border-bottom:1px solid #ddd;padding:12px var(--ra-edge) 24px;display:flex;flex-direction:column;gap:0;box-shadow:0 12px 20px #0001;max-height:calc(100dvh - 100px);overflow-y:auto}
 body .ra-header .ra-mobile-nav nav a{padding:12px 0;font:16px/1.4 Arial,sans-serif}
}
@media(max-width:1000px){
 body main.ra-winter>.hero{padding-bottom:0}
 body main.ra-winter .hero-art{left:auto;right:auto;width:100%;margin-left:0}
}
@media(max-width:700px){
 body:is([data-page="home"],[data-page="grafik-zajec"]) .rf-welcome,
 body .rf-root .rf-finder>.rf-refine{grid-column:1/-1}
 body main.ra-clothing>.hero{gap:24px}
}
@media(max-width:650px){
 :root{--ra-gutter:18px;--ra-intro-top:36px;--ra-intro-bottom:36px}
 body .breadcrumbs{height:32px;padding-top:8px;font-size:10px}
 body .breadcrumbs+:is(.page-intro,.local-hero,.simple-hero,.section){padding-top:calc(var(--ra-intro-top) - 32px)}
 body main.ra-winter .hero-art{width:100%;margin:0;aspect-ratio:1/1}
 body main.ra-winter .hero-offer{width:100%;max-width:none}
 body .ra-header .ra-mobile-nav nav{max-height:calc(100dvh - 86px)}
 body .ra-header-inner{gap:10px}
 body .ra-header .ra-header-phone{padding:0;font-size:22px}
 body main .ra-benefits h2{font-size:clamp(26px,3vw,38px)}
}

/* Article headings share the page edge; text remains a readable column. */
body .fundraiser-heading.ra-offer-hero{padding-inline:0;border-inline:0;align-items:start}
@media(max-width:650px){body main.ra-clothing>.hero{align-items:stretch}}

body main .ra-offer{padding-top:calc(var(--ra-intro-top) - 40px)}
body main .ra-offer-hero{align-items:start;padding-top:0}
body main .ra-offer-hero .eyebrow{font-size:14px!important;margin:0 0 24px!important}
body main .fundraiser-heading.ra-offer-hero{padding-top:0}
@media(max-width:650px){body main .ra-offer{padding-top:calc(var(--ra-intro-top) - 32px)}}

body main .fundraiser-heading.ra-offer-hero{border:0}
body main .prose .eyebrow,body .text-page>.eyebrow{display:block;font:800 14px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:.16em!important;color:var(--red);margin:0 0 24px!important;text-transform:uppercase}
body main>.section:has(.prose.legal){padding-top:var(--ra-intro-top)}
body main>.breadcrumbs+.section:has(.prose.legal){padding-top:calc(var(--ra-intro-top) - 40px)}
body main.ra-seminar>.hero,body main.ra-seminar .section{width:100%;max-width:none;padding-inline:var(--ra-edge)}
body main.ra-seminar>.hero{align-items:start;gap:48px}
body main.ra-seminar .hero-copy{padding:0}
body main.ra-seminar .hero-copy>.eyebrow{margin:0 0 24px!important}
body main.ra-seminar :is(.btn){font:700 16px/1.4 Arial,sans-serif;min-height:54px;padding:16px 24px;border-radius:4px}
@media(max-width:650px){body main>.breadcrumbs+.section:has(.prose.legal){padding-top:calc(var(--ra-intro-top) - 32px)}}

body main.ra-seminar .signup{padding-inline:var(--ra-edge)}
body main.ra-seminar .signup>.section{padding-inline:0;width:100%}

@media(max-width:650px){
 body main.ra-seminar>.hero{gap:0;align-items:stretch}
 body main.ra-seminar .hero-copy>:is(p,.when,.btn){margin-inline:0}
 body main .fundraiser-article.ra-offer{padding-top:calc(var(--ra-intro-top) - 32px)}
}
@media(max-width:1000px){
 /* Reserve equal space for one- and two-line introductory labels. */
 body:not([data-page="home"]) :is(.page-intro,.schedule-intro,.local-hero,.simple-hero,.rf-hero,.cl-hero,.st-hero,.contact-top,.ra-offer-hero,.prose,.text-page) .eyebrow,
 body:not([data-page="home"]) :is(.rf-overline,.st-hero .st-kicker),
 body main:is(.ra-winter,.ra-clothing,.ra-seminar)>.hero .eyebrow{min-height:42px}
}
