/* Camlangs activity layout: icon collapses; title and summary share normal flow. */
.minimal-home .round3-activity{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;height:292px;padding:26px;transform:none}
.minimal-home .round3-activity-art{position:static;inset:auto;width:144px;height:144px;flex:none;margin:0 0 12px;overflow:hidden;opacity:1;transform:scale(1);transition:height .36s ease,opacity .25s ease,transform .36s ease,margin .36s ease}
.minimal-home .round3-activity .round3-activity-title{position:static;inset:auto;margin:0;transform:none;min-height:0;line-height:1.25;transition:margin .36s ease}
.minimal-home .round3-activity .round3-activity-description{position:static;inset:auto;display:block;max-height:0;opacity:0;overflow:hidden;margin:0;transform:translateY(8px);font-size:16px;line-height:1.5;transition:max-height .36s ease,opacity .3s ease,transform .36s ease,margin .36s ease}
.minimal-home .round3-activity:focus-visible .round3-activity-art{height:0;margin:0;opacity:0;transform:scale(0)}
.minimal-home .round3-activity:focus-visible .round3-activity-description{max-height:180px;margin-top:12px;opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){
 .minimal-home .round3-activity:hover{transform:none}
 .minimal-home .round3-activity:hover .round3-activity-art{height:0;margin:0;opacity:0;transform:scale(0)}
 .minimal-home .round3-activity:hover .round3-activity-title{transform:none}
 .minimal-home .round3-activity:hover .round3-activity-description{max-height:180px;margin-top:12px;opacity:1;transform:none}
 .round3-hero-actions:has(>.btn.blue:hover){--hero-primary:#d81e34;--hero-secondary:#00338f}
 .round3-hero-actions:has(>.btn.red:hover){--hero-primary:#00338f;--hero-secondary:#d81e34}
}
.round3-hero-actions:has(>.btn.blue:focus-visible){--hero-primary:#d81e34;--hero-secondary:#00338f}
.round3-hero-actions:has(>.btn.red:focus-visible){--hero-primary:#00338f;--hero-secondary:#d81e34}
/* Two identical, gapless groups. The endpoint is exactly the next group's start. */
.cuba-strip .strip-inner.round7-ribbon{display:flex;gap:0;width:max-content;max-width:none;animation:round7-ribbon 68s linear infinite!important}
.round7-ribbon-group{display:flex;align-items:center;justify-content:space-around;flex:none;min-width:100vw}
.round7-ribbon-group>span{display:flex;align-items:center;white-space:nowrap;gap:38px;padding:0 24px;font-size:13px}
.round7-ribbon-group svg{display:block;width:25px;height:25px;flex:0 0 25px;color:white}
@keyframes round7-ribbon{to{transform:translateX(-50%)}}
/* One continuous grid, from the island to the teacher. */
.round7-cuba-story{background-color:#f4f8ff;background-image:linear-gradient(#cfddf470 1px,transparent 1px),linear-gradient(90deg,#cfddf470 1px,transparent 1px);background-size:40px 40px}
.minimal-home .illustrated-journey{--journey-top:calc(var(--offer-height,58px) + var(--nav-height,74px));--journey-runway:85svh;--journey-stage:calc(100svh - var(--journey-top));background:transparent}
.minimal-home .illustrated-journey-stage{justify-content:flex-start;gap:10px;padding:20px max(20px,3vw) 0}
.minimal-home .illustrated-journey-frame{width:100%;max-width:1450px;height:calc(var(--journey-stage) - 90px);max-height:none;border:0;border-radius:0;background:transparent;flex:1;min-height:0}
.minimal-home .round3-teacher{background:transparent;padding:48px 0 72px;scroll-margin-top:calc(var(--offer-height,58px) + var(--nav-height,74px) + 16px)}
.round7-teacher-heading{text-align:center;margin-bottom:35px}
.round7-teacher-heading h2{font-size:clamp(32px,4.3vw,58px);line-height:1.08;margin:0;color:#091540;letter-spacing:-1.2px}
.round3-teacher-copy>.round3-story-button{margin-top:24px;min-width:140px}
.minimal-home .round3-portrait{background:#fff;border-color:#c1d3ee}
.minimal-home .round3-teacher-photo figcaption{justify-content:center;text-align:center}
/* A lateral sweep, with a stable height; no competing fade animation. */
.group-carousel[data-carousel-ready] .carousel-panels{overflow:hidden;isolation:isolate}
.group-carousel[data-carousel-ready] .carousel-panel{opacity:1;transform:translateX(105%)!important;transition:transform .48s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.group-carousel[data-carousel-ready] .carousel-panel.is-active{transform:translateX(0)!important;pointer-events:auto}
.group-carousel[data-carousel-ready] .carousel-panel.is-leaving{transform:translateX(-105%)!important}
@media(max-width:767px),(hover:none){
 .minimal-home .round3-activity{height:auto;min-height:0;justify-content:flex-start;padding:18px 12px}
 .minimal-home .round3-activity-art,.minimal-home .round3-activity:is(:hover,:focus-visible) .round3-activity-art{height:70px;width:100%;margin:0 0 12px;opacity:1;transform:none}
 .minimal-home .round3-activity-art>img,.minimal-home .round3-activity-art>video{height:70px;width:70px}
 .minimal-home .round3-activity .round3-activity-title{font-size:18px;transform:none}
 .minimal-home .round3-activity .round3-activity-description,.minimal-home .round3-activity:is(:hover,:focus-visible) .round3-activity-description{font-size:13px;max-height:none;margin-top:10px;opacity:1;transform:none}
}
@media(max-width:767px){
 .round7-ribbon-group>span{font-size:11px;gap:25px;padding:0 17px}
 .round7-ribbon-group svg{width:22px;height:22px;flex-basis:22px}
 .minimal-home .illustrated-journey{--journey-runway:65svh}
 .minimal-home .illustrated-journey-stage{padding:24px 10px 0;gap:4px}
 .minimal-home .illustrated-journey-frame{height:calc(var(--journey-stage) - 95px);min-height:240px;max-height:none}
 .minimal-home .round3-teacher{padding:35px 0 44px}
 .round7-teacher-heading{margin-bottom:24px}
 .round7-teacher-heading h2{font-size:32px;letter-spacing:-.7px}
 .minimal-home .round3-teacher-layout{gap:24px}
 .minimal-home .round3-teacher-copy{grid-row:2}
 .minimal-home .round3-teacher-photo{grid-row:1}
 .minimal-home .round3-teacher-copy p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
 .cuba-strip .strip-inner.round7-ribbon{animation:none!important;width:100%}
 .round7-ribbon-group{flex-wrap:wrap;gap:14px;min-width:0;padding:12px}
 .round7-ribbon-group[aria-hidden=true]{display:none}
 .minimal-home .illustrated-journey{height:auto}
 .minimal-home .illustrated-journey-stage{position:relative;top:0;height:auto}
 .minimal-home .illustrated-journey-frame{height:clamp(240px,45vw,500px);flex:none}
 .minimal-home .round3-activity *,.group-carousel[data-carousel-ready] .carousel-panel{transition:none!important}
}
