/* Camlangs activities: a direct target, a crisp 160 ms response, and no hover timers. */
.intent-grid:has(>.round3-activity),.course-minimal-grid:has(>.round3-activity){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.round3-activity{--card-accent:#1648be;--card-tint:#f1f6ff;display:block;position:relative;min-width:0;height:300px;padding:24px;border:1.5px solid #dce3ef;border-radius:20px;color:#12203d;background:#fff;text-decoration:none;box-shadow:0 3px 10px #18385f05;cursor:pointer;isolation:isolate;overflow:hidden;transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease;touch-action:manipulation}
.round3-activity.tone-red{--card-accent:#ca233b;--card-tint:#fff3f4}
.round3-activity .round3-activity-title{position:absolute;inset:184px 24px auto;margin:0;padding:0;text-align:center;font-size:clamp(21px,1.8vw,25px);font-weight:750;line-height:1.27;letter-spacing:-.4px;color:inherit;text-wrap:balance;transform:none;transition:transform 160ms ease}
.round3-activity-art,.round3-activity-description{transition:opacity 160ms ease,transform 160ms ease;transition-delay:0s!important}
.round3-activity-art{position:absolute;inset:24px 24px auto;display:grid;place-items:center;pointer-events:none;height:144px;opacity:1;transform:none}
.round3-activity-art>img,.round3-activity-art>video{display:block;object-fit:contain;width:144px;height:144px;max-width:100%;animation:none!important;transform:none!important;border-radius:0;background:transparent}
.round3-activity-art>.oct10-motion-poster{display:none}
.round3-activity .round3-activity-description{position:absolute;inset:105px 24px 24px;display:grid;align-content:center;margin:0;padding:0;color:#26344e;text-align:center;font-size:17px;font-weight:450;line-height:1.6;text-wrap:pretty;opacity:0;transform:translateY(8px);pointer-events:none}
.round3-activity:focus-visible{outline:3px solid var(--card-accent);outline-offset:4px;background:var(--card-tint);border-color:var(--card-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--card-accent) 12%,transparent),0 7px 20px #18385f0f}
.round3-activity:focus-visible .round3-activity-art{opacity:0;transform:translateY(-26px)}
.round3-activity:focus-visible .round3-activity-title,.round3-activity.round3-no-art .round3-activity-title{transform:translateY(-158px)}
.round3-activity:focus-visible .round3-activity-description,.round3-activity.round3-no-art .round3-activity-description{opacity:1;transform:none}
.round3-activity:active{transform:scale(.985);box-shadow:inset 0 0 0 2px var(--card-accent)}
@media(hover:hover) and (pointer:fine){
 .round3-activity:hover{transform:translateY(-3px);border-color:var(--card-accent);background:var(--card-tint);box-shadow:0 0 0 3px color-mix(in srgb,var(--card-accent) 12%,transparent),0 7px 20px #18385f0f}
 .round3-activity:hover .round3-activity-art{opacity:0;transform:translateY(-26px)}
 .round3-activity:hover .round3-activity-title{transform:translateY(-158px)}
 .round3-activity:hover .round3-activity-description{opacity:1;transform:none}
}
/* Both hero actions exchange their colours together. */
.round3-hero-actions{--hero-primary:#00338f;--hero-secondary:#d81e34}
.round3-hero-actions>.btn{transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}
.round3-hero-actions>.btn.blue{background:var(--hero-primary)!important;border-color:var(--hero-primary)!important;color:#fff!important}
.round3-hero-actions>.btn.red{background:var(--hero-secondary)!important;border-color:var(--hero-secondary)!important;color:#fff!important}
.round3-hero-actions:has(>.btn:focus-visible){--hero-primary:#d81e34;--hero-secondary:#00338f}
.round3-hero-actions>.btn:is(:focus-visible,:active){transform:translateY(-2px);box-shadow:0 5px 0 #14203b20}
@media(hover:hover) and (pointer:fine){
 .round3-hero-actions:has(>.btn:hover){--hero-primary:#d81e34;--hero-secondary:#00338f}
 .round3-hero-actions>.btn:hover{transform:translateY(-2px);box-shadow:0 5px 0 #14203b20}
}
.round3-student-profile{background:#eef2f8;border:0;box-shadow:none}
/* A defined blue ink outline remains visible against the paper. */
.round3-book{position:relative;display:inline-block;flex:none;width:34px;height:26px;perspective:110px;filter:drop-shadow(0 2px 0 #071e5730)}
.round3-book>i{display:block;position:absolute;top:1px;width:17px;height:24px;background:#fff;border:1.6px solid #152b5d;transform-style:preserve-3d;backface-visibility:visible}
.round3-book>.left{left:0;transform-origin:right center;border-radius:4px 0 0 4px;background:#f2f6ff}
.round3-book>.right{left:17px;transform-origin:left center;border-radius:0 4px 4px 0}
.round3-book>.round3-book-page{left:17px;top:3px;width:15px;height:20px;transform-origin:left center;border-radius:0 3px 3px 0;opacity:1;border-width:1px;background:#fff;transform:rotateY(0);transition:transform 360ms cubic-bezier(.3,.05,.2,1)}
.round3-book>.round3-book-page:after,.round3-book>.right:after{content:'';position:absolute;left:3px;right:3px;top:5px;height:2px;background:#a2b7d5;box-shadow:0 4px 0 #a2b7d5,0 8px 0 #a2b7d5}
.journal-action .btn:is(:hover,:focus-visible) .round3-book>.round3-book-page{transform:rotateY(-168deg)}
.round3-book>i{animation:none!important}
/* The ribbon continues through pointer, focus and pressed states. */
.cuba-strip .strip-inner.round4-ribbon,.cuba-strip:is(:hover,:active,:focus-within) .strip-inner.round4-ribbon{animation-play-state:running!important}
.round4-ribbon>span{display:flex;align-items:center;gap:55px;padding:0 28px}
.round4-ribbon>span:after{content:none!important;display:none!important}
.round4-ribbon .round4-ribbon-icon{display:block;flex:0 0 25px;width:25px;height:25px;color:#fff;opacity:1}
.r2-resource-page>.cta-band.round4-resource-cta{width:100%;max-width:none;margin:0;border-radius:0;padding:60px max(24px,calc((100% - 1240px)/2));background:#00338f}
@media(max-width:840px){.intent-grid:has(>.round3-activity),.course-minimal-grid:has(>.round3-activity){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.intent-grid:has(>.round3-activity),.course-minimal-grid:has(>.round3-activity){grid-template-columns:1fr;gap:14px}.round3-activity .round3-activity-title{font-size:24px;min-height:0}.round3-activity .round3-activity-description{font-size:17px}}
/* On touch, visitors can read the description before a single tap follows the link. */
@media(hover:none){.round3-activity{display:flex;flex-direction:column;align-items:center;gap:14px;height:auto;min-height:280px}.round3-activity-art{position:static;height:105px;width:100%}.round3-activity-art>img,.round3-activity-art>video{width:105px;height:105px}.round3-activity .round3-activity-title,.round3-activity:focus-visible .round3-activity-title{position:static;min-height:0;transform:none}.round3-activity .round3-activity-description{position:static;display:block;opacity:1;transform:none;font-size:16px}.round3-activity:focus-visible .round3-activity-art{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.round3-activity,.round3-activity-art,.round3-activity-title,.round3-activity-description,.round3-hero-actions>.btn,.round3-book>.round3-book-page{transition:none!important}.round3-activity:hover,.round3-activity:active,.round3-hero-actions>.btn:is(:hover,:focus-visible,:active){transform:none}.round3-book>i{animation:none!important}.round3-activity-art>video{display:none}.round3-activity-art>.oct10-motion-poster{display:block}.round4-ribbon>span{gap:12px;padding:0 8px}}
/* Keep the full one-line brand clear of the controls on narrow phones. */
@media(max-width:350px){
 .site-header .header-inner{width:calc(100% - 20px);gap:4px!important}
 .site-header .header-inner>.brand{gap:4px}
 .site-header .header-inner>.brand img{width:24px;height:24px;flex:0 0 24px}
 .site-header .header-inner .brand-name{font-size:11.5px;letter-spacing:0;white-space:nowrap}
 .site-header .header-inner>.menu-toggle{width:44px;height:44px;min-width:44px;padding:0}
 .site-header .header-inner .language-switch summary{min-height:44px}
}
