/* CS Mastery Academy shared legal and brand styles. */
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}h1,h2,h3,h4,button,input,select,textarea{font-family:inherit}.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none}.brand .csma-brand-logo{width:48px!important;height:48px!important;object-fit:contain;flex:0 0 48px;border-radius:50%}.brand small{display:block;font-size:.65rem;font-weight:500;letter-spacing:.02em;margin-top:.25rem}.header-inner{width:min(100% - 2rem,76rem);margin-inline:auto}.policy-body{max-width:54rem;padding-block:2.5rem 4rem}.policy-body h1{max-width:none;font-size:clamp(2rem,5vw,3.2rem);line-height:1.1}.policy-body section{margin-block:2rem}.policy-body h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.25}.policy-body p,.policy-body li{line-height:1.75}.policy-body a{color:#155bc0;text-underline-offset:.2em}.policy-updated{font-size:.9rem;color:#52667b}.policy-body blockquote{margin:1rem 0;padding:1rem 1.25rem;border-left:4px solid #169ba9;background:#edf5f8}.legal-table-wrap{overflow-x:auto}.policy-body table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.policy-body th,.policy-body td{padding:.8rem;border:1px solid #d5e0eb;vertical-align:top}.policy-body th{background:#eaf1f7}.policy-body td:first-child{overflow-wrap:anywhere}.legal-footer-band{display:block!important;flex:0 0 100%;width:100%;margin-top:1.25rem;border-top:1px solid #40556b;background:#061529;color:#d5e4ef;text-align:left;letter-spacing:normal}.legal-footer-inner{width:min(100% - 2rem,76rem);margin:auto;padding:1.5rem 0 .75rem}.legal-footer-band p{max-width:none!important;margin:0 0 .85rem!important;color:#d5e4ef!important;line-height:1.65;font-size:.85rem}.legal-footer-band .legal-business{font-weight:650;color:#fff!important}.legal-footer-band a{color:#b7f5f7!important;text-decoration:underline;overflow-wrap:anywhere;text-underline-offset:.2em}.legal-footer-links{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem;margin-bottom:.75rem}.legal-footer-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.86rem}.legal-footer-band .legal-disclaimer{font-size:.8rem;color:#b9cbd9!important}.legal-footer-band a:focus-visible{outline:3px solid #40d6e4;outline-offset:4px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.15rem;border-radius:999px;background:#40d6e4;color:#081b34;text-decoration:none;font-weight:750}.btn.outline{background:transparent;border:1px solid #9eb9ce;color:#fff}footer:has(>.legal-footer-band){flex-wrap:wrap}.legal-ack[hidden]{display:none!important}.legal-ack{display:flex;align-items:flex-start;gap:.6rem;margin:1rem 0}.legal-ack input{flex:0 0 auto;margin-top:.3rem}.booking-legal-links{display:flex;gap:1rem;flex-wrap:wrap;font-size:.9rem}.policy-header-nav{margin-left:auto}@media(max-width:600px){.brand .csma-brand-logo{width:42px!important;height:42px!important;flex-basis:42px}.legal-footer-inner{padding-top:1.15rem}.legal-footer-links{gap:0 1rem}.policy-body{padding-top:1.5rem}.policy-body table{min-width:34rem}}@media print{header,.legal-footer-band,footer,nav{display:none!important}.policy-body{max-width:none}a{color:inherit}}

.legal-ack input[type="checkbox"]{width:1.1rem!important;height:1.1rem!important;min-width:1.1rem;max-width:1.1rem;flex:0 0 1.1rem;margin:.3rem 0 0}.legal-ack span{min-width:0;flex:1;font-size:.9rem;font-weight:500;overflow-wrap:anywhere}.site-footer .footer-tools{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid #3a4d61;padding-top:1rem;margin-top:1rem}.site-footer .footer-tools p{margin:.7rem 0}.site-footer .text-tools summary,.site-footer .location-help summary{min-height:44px;padding:.55rem 0}.site-footer .size-options{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.5rem}.site-footer .size-options button{min-height:44px;padding:.5rem .75rem;border:1px solid #718ca5;border-radius:.55rem;background:#15334f;color:white}.site-footer .size-options button[aria-pressed="true"]{background:#40d6e4;color:#081b34;font-weight:750}.site-footer .location-help{max-width:28rem}.site-footer .location-help button{min-height:44px;background:transparent;border:1px solid #718ca5;color:white;padding:.45rem .7rem;border-radius:.5rem}@media(max-width:600px){.site-footer .footer-tools{flex-direction:column}}

.booking-footer{display:block;padding:1.5rem 0 0;background:#061529;color:#d5e4ef}.booking-footer .footer-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.7rem 1.5rem;width:min(100% - 2rem,76rem);margin:auto}.booking-footer a{color:#b7f5f7}.booking-footer .legal-footer-band{margin-top:1.25rem}

.legal-disclosure summary{cursor:pointer;min-height:44px;padding:.65rem 0;font-weight:700;color:#b7f5f7}.legal-disclosure[open] summary{margin-bottom:.5rem}.legal-footer-band .legal-contact{margin-bottom:.15rem!important}#checkout{display:block;width:100%;min-height:60px;margin-top:1.25rem;background:#40d6e4;color:#081b34;border:2px solid #137483;border-radius:.75rem;font-size:1.15rem;font-weight:850;box-shadow:0 4px 12px #081b3426}#checkout:hover{background:#85eff3}#checkout:disabled{opacity:.6}.save-summary{margin:.7rem 0 1.1rem}#save-booking{min-height:36px;padding:.35rem .65rem;background:transparent;color:#1957a0;border:1px solid #a4b9cd;font-size:.82rem;box-shadow:none}.nav{gap:1rem}@media(min-width:681px) and (max-width:1100px){.nav{flex-wrap:wrap;gap:.6rem;font-size:.85rem}}

.adult-course-card{grid-column:1/-1;min-height:0;background:#e7f7f8;border-color:#a2d5da}.adult-course-card .tag{margin-bottom:.65rem}.adult-course-card p{max-width:75ch}.adult-course-card a{margin-top:.25rem}

/* Compact shared footer: copyright is always last. */
body{font-size:1rem!important}.compact-footer{display:block!important;padding:1.2rem 1rem .7rem!important;background:#061529!important;color:#d5e4ef!important;text-align:center!important;border-top:1px solid #40556b}.compact-footer-inner{max-width:76rem;margin:auto}.compact-footer a{color:#c0f4f7!important;overflow-wrap:anywhere}.compact-page-links,.compact-policy-links{display:flex;justify-content:center;flex-wrap:wrap;gap:.15rem 1.1rem}.compact-page-links a,.compact-policy-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.86rem}.compact-size{display:inline-flex;align-items:center;gap:.55rem;font-size:.85rem;margin:.4rem auto}.compact-size select{width:auto;min-width:0;min-height:40px;padding:.35rem .6rem;background:#fff;color:#13243a;border:1px solid #8195aa;border-radius:.4rem;font:inherit}.compact-footer .footer-trader{max-width:none;margin:.7rem 0 .25rem;color:#fff!important;font-size:.82rem;line-height:1.6}.compact-information{margin:.1rem auto 0;max-width:60rem}.compact-information>summary{min-height:40px;padding:.4rem;cursor:pointer;color:#c0f4f7;font-size:.83rem}.compact-information-content{text-align:left;padding:.75rem;border-top:1px solid #40556b}.compact-information-content p{font-size:.85rem;line-height:1.65;margin:.65rem 0;max-width:none}.compact-information-content details{margin:.6rem 0}.compact-footer .compact-copyright{margin:.9rem 0 0!important;padding:.65rem 0 0;border-top:1px solid #30445a;font-size:.75rem;color:#bccbd9!important;max-width:none}.compact-footer .asset-credit{font-size:.7rem}.compact-information-content .reading-options{position:static!important}.compact-footer :focus-visible{outline:3px solid #40d6e4;outline-offset:3px}.compact-footer [hidden]{display:none!important}
/* Reflow rather than hide long content at narrow widths and high zoom. */
body{min-width:0}header{flex-wrap:wrap}.brand,.brand>span{min-width:0}.brand>span{overflow-wrap:anywhere}main,.card,.summary,.slot,.grid,.ack span{min-width:0}.help a,.hint a,.summary,.slot span,#outcome-copy{overflow-wrap:anywhere}.ack span{flex:1}select,input,textarea{min-width:0}#checkout{white-space:normal;overflow-wrap:anywhere}@media(max-width:360px){header{justify-content:flex-start;gap:.5rem}header>.brand{flex:1 1 100%}.compact-page-links{gap:0 .75rem}.card{padding:.8rem}.summary{padding:.65rem}}

/* Responsive layout polish: compact overlay navigation and closer section rhythm. */
.site-header{z-index:80}.site-header .header-inner{position:relative}
.section{padding-block:clamp(1.75rem,3.2vw,3rem)}
.policy-body{padding-block:1.75rem 2.5rem}.policy-body section{margin-block:1.5rem}
.hero.live-layout,.hero.live-layout[data-active-banner]{padding-block:clamp(1.5rem,3vw,2.5rem)}
.hero.live-layout .hero-grid{gap:clamp(1rem,3vw,2.4rem);min-height:0}
.hero-art img{max-width:100%;height:auto;object-fit:contain}
.hero.live-layout .hero-family img{max-height:25rem}
.hero-slide h1,.section h2{overflow-wrap:break-word;text-wrap:balance}
.grid>*,.hero-grid>*,.header-inner>*{min-width:0}
.hero:not(.live-layout){margin-top:1rem}
@media(max-width:1100px){
 .site-header .header-inner>.nav{position:absolute;top:calc(100% + .4rem);right:0;left:auto;z-index:90;grid-area:auto;display:none;width:max-content;min-width:12rem;max-width:calc(100vw - 2rem);max-height:calc(100dvh - 7rem);overflow:auto;flex:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.15rem;margin:0;padding:.5rem;border:1px solid #58758f;border-radius:.8rem;background:#081b34;box-shadow:0 15px 35px #03101f55}
 .site-header .header-inner>.nav[data-open="true"]{display:flex}
 .site-header .header-inner>.nav a{display:flex;align-items:center;min-height:44px;padding:.55rem .8rem;white-space:normal;font-size:.95rem;border-radius:.5rem}
 .site-header .header-inner>.nav a:hover{background:#173d5c}
 .site-header .header-inner>.nav .nav-cta{margin-top:.2rem}
}
.js .site-header[data-nav-layout="compact"] .primary-nav{width:max-content;min-width:12rem;max-width:calc(100vw - 2rem);padding:.5rem;flex-basis:auto;box-shadow:0 15px 35px #03101f55}
@media(max-width:45rem){
 .policy-menu[open] .policy-header-nav,.course-menu[open] .course-nav{min-width:0;width:max-content;max-width:calc(100vw - 2rem);padding:.5rem;box-shadow:0 15px 35px #03101f55}
 .policy-header-nav a,.course-nav a{padding:.5rem .7rem;overflow-wrap:anywhere}
 .hero.live-layout .hero-grid{grid-template-columns:minmax(0,1fr);gap:1rem}
 .hero.live-layout .hero-slide h1{font-size:clamp(1.9rem,7vw,2.8rem);max-width:23ch}
 .hero.live-layout .hero-art{width:min(100%,23rem);justify-self:center}
 .hero.live-layout .hero-art img{max-height:19rem;transform:none}
 .hero.live-layout .hero-family img{max-height:20rem}
 .hero.live-layout .hero-slide .actions{margin-top:.75rem}
 .hero.live-layout .hero-card{padding:1rem}
 .hero.live-layout .banner-code{min-height:0;gap:.7rem}
 .hero.live-layout .hero-copy{max-width:60ch}
 .hero:not(.live-layout){padding:1.75rem 1.1rem}
 .uae-hero{gap:1.2rem;padding:1.75rem 1.2rem}
 .section{padding-block:1.65rem}
 .section h2{line-height:1.2}
 .section p,.card p{text-align:start}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Inactive banners must not reserve the height of the tallest banner. */
.hero.live-layout .hero-slide:not(.is-active){display:none}.hero.live-layout .hero-slide.is-active{display:block}.hero.live-layout .hero-deck{display:block}

/* Symmetrical country and navigation controls, including larger text settings. */
.site-header .country-picker{width:3rem;height:3rem;align-self:center}
.site-header .country-picker>summary,.site-header .country-switcher>summary{box-sizing:border-box;height:3rem;min-height:3rem;border:1px solid #526d85;border-radius:.65rem;background:#102b46}
.site-header .menu-toggle{box-sizing:border-box;width:var(--country-control-width,3rem);min-width:var(--country-control-width,3rem);height:3rem;min-height:3rem;padding:0;align-items:center;justify-content:center;align-self:center;border:1px solid #526d85;border-radius:.65rem;background:#102b46;color:#fff;flex-shrink:0}
.site-header .menu-toggle:hover,.site-header .country-picker>summary:hover,.site-header .country-switcher>summary:hover{background:#1b405c}
.site-header .menu-toggle .menu-label{display:none}
