:root{--ink:#122b3e;--red:#e32643;--cream:#f8f7f2;--line:#dce1e3;--sky:#dcecf0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',sans-serif}a{text-decoration:none;color:inherit}button{font:inherit}img{max-width:100%;display:block}.topline{height:33px;background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 5%;font-size:10px;font-weight:800;letter-spacing:.14em}.topline a{letter-spacing:.04em}.topline a span{color:#ff6478}.header{height:92px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:10}.brand img{width:178px;max-height:76px;object-fit:contain;object-position:left}.header nav{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:800}.header nav>a:not(.nav-cta):hover{color:var(--red)}.nav-cta{background:var(--red);color:white;padding:16px 22px}.nav-cta span,.button span{margin-left:20px}.menu-button{display:none}.hero{min-height:680px;background:var(--cream);display:grid;grid-template-columns:51% 49%;position:relative;overflow:hidden}.hero-copy{padding:95px 4% 72px 9.8%;position:relative;z-index:2}.eyebrow,.kicker{font-size:11px;letter-spacing:.19em;font-weight:800}.eyebrow{display:flex;align-items:center;gap:12px}.eyedot{width:9px;height:9px;background:var(--red);border-radius:50%}.hero h1{font:800 clamp(56px,7vw,120px)/.96 'Manrope',sans-serif;letter-spacing:-.095em;margin:34px 0 30px;white-space:nowrap}.hero h1>span{color:var(--red)}.period{color:var(--ink)}.hero-lead{max-width:440px;font-size:20px;line-height:1.55;color:#425869}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 24px;font-size:13px;font-weight:800;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.red{background:var(--red);color:#fff}.outline{border:1.5px solid var(--ink);color:var(--ink)}.dark{background:var(--ink);color:#fff}.white{background:#fff;color:var(--ink)}.hero-small{margin-top:62px;display:flex;align-items:center;gap:13px;font-size:12px;color:#536573}.hero-small b{color:var(--red);padding:0 4px}.pulse-icon{width:40px;height:40px;background:#fff;display:grid;place-items:center;border-radius:50%;color:var(--red);font-size:25px}.hero-visual{height:100%;min-height:680px;position:relative;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-image-label{position:absolute;bottom:36px;left:0;background:#fff;padding:18px 30px 18px 18px;display:flex;align-items:center;gap:15px;font-size:13px;line-height:1.5;box-shadow:0 20px 50px #0002}.label-square{background:var(--red);color:#fff;width:67px;height:67px;display:grid;place-items:center;font:800 31px 'Manrope'}.label-square span{font-size:15px}.hero-side{position:absolute;right:9px;top:45%;writing-mode:vertical-rl;color:#fff;font-size:10px;font-weight:800;letter-spacing:.2em;text-shadow:0 1px 6px #0008}.ticker{overflow:hidden;background:var(--red);color:#fff;white-space:nowrap;padding:19px 0;font:800 14px 'Manrope';letter-spacing:.13em}.ticker>div{width:max-content;margin:auto}.ticker span{margin:0 32px;color:#ffbdc7}.section{padding:115px 8%}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.kicker{color:var(--red);margin:0 0 21px}.section h2,.statement h2,.teams h2,.verify h2,.closing h2{font:800 clamp(42px,5.4vw,80px)/1.06 'Manrope';letter-spacing:-.075em;margin:0}.section h2 em,.teams h2 em,.closing h2 em{font-style:normal;color:var(--red)}.section-intro>p{max-width:360px;line-height:1.7;color:#61727e;font-size:16px}.path-grid{display:grid;grid-template-columns:1.13fr 1fr 1fr;gap:16px}.path{height:440px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s;overflow:hidden}.path:hover{transform:translateY(-8px)}.path-a{background:#dcebef}.path-b{background:#f6dfe2}.path-c{background:#e8e6df}.path-top{display:flex;justify-content:space-between;font-size:12px;font-weight:800}.arrow{font-size:28px}.path-tag{font-size:10px;font-weight:800;letter-spacing:.12em}.path h3{font:800 clamp(29px,3vw,46px)/1.08 'Manrope';letter-spacing:-.065em;margin:18px 0}.path p{font-size:14px;margin:0;color:#4f6471}.statement{background:var(--ink);color:white;position:relative;overflow:hidden;padding:110px 8%}.statement-inner{position:relative;z-index:2}.statement h2{font-size:clamp(45px,6.2vw,95px)}.statement h2 span{color:#9fb5c4}.statement p:not(.kicker){max-width:470px;color:#c2d0d9;line-height:1.7;font-size:17px;margin:30px 0}.text-link{font-weight:800;font-size:14px;border-bottom:2px solid var(--red);padding-bottom:10px;display:inline-flex;gap:28px}.statement-mark{position:absolute;right:-40px;bottom:-145px;font:800 500px 'Manrope';line-height:1;color:#ffffff08;letter-spacing:-.15em}.featured{background:var(--cream)}.course-list{border-top:1px solid #cad2d6}.course-list>a{display:grid;grid-template-columns:60px 1.4fr 1fr 45px;align-items:center;gap:20px;border-bottom:1px solid #cad2d6;padding:25px 0;transition:padding .2s,background .2s}.course-list>a:hover{padding-left:15px;background:#fff}.course-no,.course-label,.course-meta{font-size:11px;font-weight:800;letter-spacing:.1em;color:#637584}.course-label{color:var(--red)}.course-list h3{font:800 clamp(22px,2.7vw,36px) 'Manrope';letter-spacing:-.06em;margin:5px 0}.course-arrow{font-size:28px;text-align:right}.teams{display:grid;grid-template-columns:50% 50%;min-height:610px}.teams-image{position:relative;overflow:hidden}.teams-image img{width:100%;height:100%;object-fit:cover}.image-corner{position:absolute;left:30px;bottom:30px;background:white;padding:16px;font-size:10px;font-weight:800;letter-spacing:.1em}.teams-copy{background:#e9eef0;padding:100px 10%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.teams-copy>p:not(.kicker){font-size:18px;line-height:1.7;max-width:450px;color:#516777}.teams-copy .button{margin-top:18px}.teams-foot{margin-top:55px;font-size:10px;font-weight:800;letter-spacing:.07em}.teams-foot span{color:var(--red);margin:0 5px}.family{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;min-height:580px}.family-copy>p:not(.kicker){line-height:1.8;color:#526879;font-size:17px;max-width:480px;margin:28px 0}.family-art{height:430px;background:#f2e8e7;position:relative;overflow:hidden;display:grid;place-items:center}.orbit{border:1px solid #d7a5a9;border-radius:50%;position:absolute;width:470px;height:470px}.orbit-2{width:340px;height:340px}.family-center{background:var(--red);width:230px;height:230px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;transform:rotate(-9deg);gap:15px}.family-center strong{font:800 36px/1.05 'Manrope';letter-spacing:-.07em;text-align:center}.family-center span{font-size:10px;letter-spacing:.3em;font-weight:800}.verify{padding:80px 8%;background:#e4f0f2;display:flex;justify-content:space-between;align-items:center;gap:30px}.verify h2{font-size:clamp(36px,4.5vw,64px)}.verify p:not(.kicker){color:#536c7b}.closing{text-align:center;padding:120px 20px;background:#fff}.closing>p{font-size:11px;font-weight:800;letter-spacing:.22em;color:var(--red)}.closing h2{font-size:clamp(54px,8vw,116px);margin:22px 0 36px}footer{background:var(--ink);color:white;padding:70px 8% 25px}.footer-main{display:flex;justify-content:space-between;gap:40px}.footer-main img{width:185px;background:white;padding:9px}.footer-main p{color:#c2cfd7;line-height:1.7}.footer-links{display:flex;gap:110px}.footer-links>div{display:flex;flex-direction:column;gap:14px}.footer-links strong{font-size:11px;letter-spacing:.15em;color:#ff8797;margin-bottom:8px}.footer-links a{font-size:13px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff28;margin-top:70px;padding-top:22px;color:#b6c8d3;font-size:11px;letter-spacing:.06em}@media(max-width:1100px){.header nav{gap:14px;font-size:11px}.hero-copy{padding-left:7%}.hero h1{font-size:clamp(48px,6.6vw,85px)}.section{padding:90px 6%}.path{height:370px;padding:22px}}@media(max-width:800px){.topline{justify-content:center}.topline>span{display:none}.header{height:78px}.brand img{width:148px}.menu-button{display:block;border:0;background:var(--ink);color:#fff;padding:11px 14px;font-size:22px}.header nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:20px 5%;box-shadow:0 20px 35px #0002;flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav a{padding:13px 10px}.hero{display:flex;flex-direction:column}.hero-copy{padding:65px 6% 40px}.hero h1{font-size:clamp(49px,11vw,86px)}.hero-visual{height:420px;min-height:420px}.hero-small{margin-top:35px}.hero-side{display:none}.section{padding:75px 6%}.section-intro{align-items:start;flex-direction:column}.path-grid{grid-template-columns:1fr}.path{height:280px}.path h3{font-size:38px}.statement{padding:85px 6%}.course-list>a{grid-template-columns:35px 1fr 30px;gap:10px}.course-meta{display:none}.teams{grid-template-columns:1fr}.teams-image{height:360px}.teams-copy{padding:75px 6%}.family{grid-template-columns:1fr}.family-art{height:340px}.verify{padding:65px 6%;align-items:flex-start;flex-direction:column}.footer-links{gap:40px}}@media(max-width:500px){.hero h1{font-size:clamp(44px,10.5vw,60px)}.hero-lead{font-size:17px}.hero-buttons{flex-direction:column;align-items:stretch}.hero-visual{height:320px;min-height:320px}.hero-image-label{bottom:15px;padding:10px;font-size:11px}.label-square{width:48px;height:48px;font-size:23px}.section h2,.statement h2,.teams h2{font-size:43px}.footer-main,.footer-bottom{flex-direction:column;gap:30px}.footer-links{gap:30px}.course-list h3{font-size:23px}.closing{padding:90px 15px}.closing h2{font-size:54px}}

/* CPR12 homepage refinements: phone, affiliation and 12-second brand motif */
.topline-phone{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;letter-spacing:.055em;font-size:11px}
.topline-phone span{color:#ff8da0;font-size:14px}.topline-phone:hover{text-decoration:underline}
.hero-affiliation{display:flex;align-items:center;gap:12px;margin:-4px 0 19px;max-width:475px}
.affiliation-rule{width:4px;height:40px;flex:none;background:var(--red)}
.hero-affiliation>div{display:flex;flex-direction:column;gap:4px}
.hero-affiliation strong{font-size:14px;letter-spacing:.015em}
.hero-affiliation>div>span{font-size:11px;color:#617481;letter-spacing:.015em}
.seconds-motif{display:flex;align-items:center;gap:15px;margin-top:19px}
.seconds-clock{width:70px;height:70px;flex:none;border-radius:50%;position:relative;background:conic-gradient(var(--red) 0 300deg,#e0e7e8 300deg 360deg);display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate;box-shadow:0 5px 20px #122b3e12}
.seconds-clock:before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--cream);z-index:-1}
.seconds-clock:after{content:"";position:absolute;inset:-5px;border:1px solid #d9dfe0;border-radius:50%;animation:clock-glow 4s ease-in-out infinite}
.seconds-clock-number{font:800 28px/.98 'Manrope',sans-serif;letter-spacing:-.08em}
.seconds-clock-label{font-size:8px;font-weight:800;letter-spacing:.08em;color:var(--red)}
.seconds-caption{display:flex;flex-direction:column;gap:5px}
.seconds-caption strong{font-size:11px;letter-spacing:.14em}
.seconds-caption span{font-size:12px;color:#647784}
@keyframes clock-glow{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:.25}}
@media(prefers-reduced-motion:reduce){.seconds-clock:after{animation:none}}
@media(min-width:801px){.hero-copy{padding-top:65px;padding-bottom:46px}.hero h1{margin-top:27px;margin-bottom:24px}.hero-lead{margin-top:0;margin-bottom:0}.hero-buttons{margin-top:22px}.hero-small{margin-top:28px}}
@media(max-width:800px){.topline{justify-content:space-between;gap:12px}.topline>span{display:block;font-size:8px;letter-spacing:.04em}.topline-phone{font-size:10px}.hero-affiliation{margin-top:0}}
@media(max-width:500px){.topline{padding:0 4%}.topline>span{max-width:46%;line-height:1.2;font-size:7px}.topline-phone{font-size:9px}.hero-affiliation strong{font-size:12px}.hero-affiliation>div>span{font-size:10px}.seconds-clock{width:62px;height:62px}.seconds-caption strong{font-size:10px}.seconds-caption span{font-size:11px}}

/* Compact two-row footer: overrides previous spacious footer styles. */
.site-footer{background:var(--ink);color:#fff;padding:27px 6% 17px}
.site-footer .footer-main{display:flex;justify-content:space-between;align-items:center;gap:24px}
.site-footer .footer-brand{display:flex;align-items:center;gap:16px;min-width:0}
.site-footer .footer-brand img{width:105px;max-height:67px;object-fit:contain;background:#fff;padding:5px;flex-shrink:0}
.site-footer .footer-brand-copy{display:flex;flex-direction:column;gap:5px}
.site-footer .footer-brand-copy strong{font-size:13px;line-height:1.3}
.site-footer .footer-brand-copy span{font-size:12px;color:#c2cfd7}
.site-footer .footer-contact-nav{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.site-footer .footer-nav{display:flex;gap:23px;flex-wrap:wrap;justify-content:flex-end}
.site-footer .footer-nav a{font-size:12px;font-weight:700;white-space:nowrap}
.site-footer a:hover{color:#ff8b9d}
.site-footer .footer-phone{font-size:13px;font-weight:800;color:#fff;white-space:nowrap}
.site-footer .footer-phone span{margin-left:5px}
.site-footer .footer-bottom{margin-top:22px;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #ffffff28;color:#b6c8d3;font-size:11px;letter-spacing:0}
.site-footer .footer-bottom-links{display:flex;gap:22px;flex-wrap:wrap}
@media(max-width:800px){.site-footer{padding:24px 6% 16px}.site-footer .footer-main{align-items:flex-start}.site-footer .footer-contact-nav{align-items:flex-end}.site-footer .footer-nav{gap:12px 18px}}
@media(max-width:600px){.site-footer .footer-main{flex-direction:column;align-items:stretch;gap:20px}.site-footer .footer-contact-nav{align-items:flex-start}.site-footer .footer-nav{justify-content:flex-start}.site-footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}.site-footer .footer-brand img{width:92px}}

.site-footer .footer-contact-nav{gap:9px}
.site-footer .footer-email{font-size:12px;font-weight:650;color:#dbe8f0;overflow-wrap:anywhere}
.site-footer .footer-email span{margin-left:5px}
.site-footer .footer-email:hover,.site-footer .footer-phone:hover{color:#ff8797}

/* Keep phone and email together, wrapping gracefully on narrow screens. */
.site-footer .footer-contact-line{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;row-gap:6px}
.site-footer .footer-contact-line a{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.site-footer .footer-contact-line a span{margin-left:0}
.site-footer .footer-contact-separator{color:#7793a6;font-size:14px}
@media(max-width:600px){.site-footer .footer-contact-line{justify-content:flex-start}}
@media(max-width:420px){.site-footer .footer-contact-separator{display:none}}


/* CPR12 transparent course and program pricing */
.cpr-price-wrap{max-width:1160px;margin:42px auto;padding:28px 32px;border:1px solid #dce5ea;border-radius:18px;background:#f7fafb;color:#122c42}
.cpr-price-heading,.family-price-kicker{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;color:#d71938;margin-bottom:15px}
.cpr-price-grid{display:flex;flex-wrap:wrap;gap:14px}.price-tile{flex:1 1 190px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;background:white;border:1px solid #e1e7ed;border-radius:12px}.price-tile span{font-weight:700}.price-tile strong{font-size:30px;color:#d71938}.cpr-price-footnote{margin:15px 0 0;font-size:13px;color:#51677a}
.course-price-inline{display:block;margin-top:5px;font-size:12px;color:#c73b4e;font-weight:700;letter-spacing:0}
.family-price-strip{padding:24px 6%;background:#f6f9fa}.family-price-content{max-width:1100px;margin:auto;padding:24px 30px;background:#fff;border:1px solid #e0e8ee;border-radius:18px}.family-price-content h2{font-size:clamp(23px,3vw,35px);margin:0 0 12px;color:#112d45}.family-price-line{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap}.family-price-line strong{font-size:38px;color:#d71938}.family-price-line span{font-weight:700}.family-price-content p{margin:8px 0 12px}.family-price-content a{color:#bd1936;font-weight:800}
.family-price-hub{margin:0 auto 35px;padding:25px;background:#f7fafb;border-radius:18px}.family-price-hub h2{margin:0 0 8px;color:#112d45}.family-price-row{display:grid;grid-template-columns:minmax(160px,2fr) 90px minmax(200px,2fr) 20px;gap:12px;align-items:center;padding:15px 12px;border-bottom:1px solid #dae4ea;color:#112d45;text-decoration:none}.family-price-row strong{color:#d71938;font-size:21px}.family-price-row small{font-size:12px;color:#5a6f80}.family-price-row:hover{background:#fff}
@media(max-width:700px){.cpr-price-wrap{margin:24px 16px;padding:18px}.family-price-row{grid-template-columns:1fr auto}.family-price-row small{grid-column:1/-1}.family-price-row b{display:none}.family-price-content{padding:20px}}

/* Current-page navigation state */
.header nav a.nav-active:not(.nav-cta),.header nav a[aria-current="page"]:not(.nav-cta){color:#e32643!important;position:relative;}
.header nav a.nav-active:not(.nav-cta)::after{content:"";position:absolute;bottom:-8px;left:0;right:0;height:3px;background:#e32643;border-radius:3px;}
@media(max-width:800px){.header nav a.nav-active:not(.nav-cta){background:#fff1f3;border-left:3px solid #e32643;padding-left:12px}.header nav a.nav-active:not(.nav-cta)::after{display:none}}
