/* Deliberate homepage hierarchy: preserve reading sizes and compact secondary evidence. */
.homepage-page .home-opening{padding-block:64px}
.homepage-page #home-programmes .cass-spotlight{padding:30px 40px;row-gap:16px;column-gap:48px}
.homepage-page #home-programmes .cass-spotlight-copy h2{font-size:72px;margin-bottom:14px}
.homepage-page #home-programmes .cass-spotlight-copy h3{font-size:36px;margin:22px 0 16px}
.homepage-page #home-programmes .cass-spotlight-badge{width:220px}
.homepage-page #home-programmes .cass-spotlight-name{font-size:19px}
.homepage-page #home-programmes .cass-spotlight-footer{padding-top:22px;margin-top:4px}
.homepage-page #home-programmes .cass-spotlight a.cass-edition-feature{padding-top:16px}
.homepage-page .hp-path{padding-block:0}
.homepage-page .hp-path .wrap{padding-block:24px}
.homepage-page .aml-check-invitation#home-aml-check{padding:32px 40px;row-gap:22px}
.homepage-page .aml-check-invitation#home-aml-check h2{font-size:36px}
.homepage-page .aml-check-invitation#home-aml-check .aml-check-invitation-benefits{gap:16px}
.homepage-page .voices-wrap{grid-template-columns:minmax(220px,.65fr) minmax(0,1.55fr);gap:64px}
.homepage-page .voices-stage{padding-left:36px}
.homepage-page .voices-mark{width:64px;height:42px;margin-bottom:16px}
.homepage-page .voices-slide blockquote{margin-bottom:22px}
/* Keep client stories and CEPOL together, without repeated section introductions. */
.homepage-page #home-organisations .hp-org-intro{margin-bottom:24px;gap:40px}
.homepage-page #home-organisations .org-learning-preview{margin-top:24px}
.homepage-page #home-organisations .hp-org-proof{margin-top:28px;padding-top:24px}
.homepage-page #home-organisations .hp-org-client-stories{margin:18px 0 24px}
.homepage-page #home-organisations .team-panels{padding:24px}
.homepage-page #home-organisations .assessment-panel>h3{margin-bottom:22px}
.homepage-page #home-organisations .assessment-top{margin-bottom:16px}
.homepage-page #home-organisations .assessment-priority{margin-top:18px;padding-top:16px}
.homepage-page #home-organisations .assessment-link{margin-top:16px}
/* Preserve the map, registry and library artwork in compact preview cards. */
.homepage-page #home-membership .tools-feature{padding:22px}
.homepage-page #home-membership .tools-feature-copy{margin-bottom:16px}
.homepage-page #home-membership .map-art{padding:10px 0}
.homepage-page #home-membership .map-art img{height:152px;object-fit:contain}
.homepage-page #home-membership .map-caption{padding:14px}
.homepage-page #home-membership .map-caption small{margin-top:10px}
.homepage-page #home-membership .tools-feature-copy p{display:none}
.homepage-page #home-membership .map-caption p{display:none}
.homepage-page #home-membership .home-member-copy h2{font-size:40px}
.homepage-page #home-membership .membership-lockup{margin-bottom:22px}
.homepage-page #home-membership .home-member-copy>p{margin-top:20px}
.homepage-page #home-membership .member-secondary{gap:16px}
.homepage-page #home-membership .live-benefit{grid-template-columns:minmax(0,1fr) 96px;gap:12px}
.homepage-page #home-membership .live-benefit>img{width:96px}
/* People remain the focus. Editorial routes no longer form three more feature cards. */
.homepage-page #faculty-section .faculty-entry{padding-top:16px;grid-template-rows:auto minmax(46px,auto) 1fr auto;row-gap:12px}
.homepage-page #faculty-section .faculty-entry .faculty-specialty{margin:0}
.homepage-page #faculty-section .faculty-entry .faculty-credential{margin:0}
.homepage-page #faculty-section .faculty-entry .text-link{margin-top:8px}
.home-resource-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid #cdded1;margin-top:28px;padding-top:24px}
.home-resource-link{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:10px 12px;padding:16px 0;color:var(--home-ink);text-decoration:none;align-content:start;min-width:0}
.home-resource-label{grid-column:1/-1;font-size:13px;line-height:1.5;color:var(--home-muted)}
.home-resource-link strong{font-size:16px;line-height:1.5;font-weight:600}
.home-resource-arrow{align-self:center}
.home-resource-link--eu{background:var(--amlcc-eu-blue);color:white;border-radius:12px;padding:16px 20px}
.home-resource-link--eu .home-resource-label{color:#d4e4f0;display:flex;align-items:center;gap:10px}
.home-resource-label img{width:24px;height:24px}
.home-resource-link:hover strong{text-decoration:underline;text-underline-offset:4px}
.home-resource-link:focus-visible{outline:2px solid var(--ds-focus);outline-offset:4px}
@media(max-width:1100px){
 .homepage-page .home-opening{padding-block:60px}
 .homepage-page #home-programmes .cass-spotlight{padding:28px;column-gap:28px}
 .homepage-page #home-programmes .cass-spotlight-copy h2{font-size:64px}
 .homepage-page #home-programmes .cass-spotlight-copy h3{font-size:32px}
 .homepage-page #home-programmes .cass-spotlight-badge{width:220px}
}
@media(max-width:700px){
 .homepage-page .home-opening{padding-block:36px 28px}
 .homepage-page #home-programmes .cass-spotlight{padding:24px;column-gap:16px;row-gap:14px}
 .homepage-page #home-programmes .cass-spotlight-copy h2{font-size:56px;margin:0}
 .homepage-page #home-programmes .cass-spotlight-copy h3{font-size:28px;margin:4px 0 0}
 .homepage-page #home-programmes .cass-spotlight-name{font-size:18px}
 .homepage-page #home-programmes .cass-spotlight-badge{width:108px}
 .homepage-page #home-programmes .cass-edition-feature strong{font-size:17px}
 .homepage-page #home-programmes .cass-spotlight-footer{padding-top:20px;gap:18px}
 .homepage-page #home-method .cass-method-layout{gap:24px}
 .homepage-page #home-method .cass-method-copy>p{margin-top:16px}
 .homepage-page #home-method .cass-method-copy .text-link{margin-top:12px}
 .homepage-page .hp-path{padding-block:0}
 .homepage-page .hp-path .wrap{padding-block:20px}
 .homepage-page .hp-path .audit-path-step{padding:8px 0;gap:0;min-height:44px}
 .homepage-page .hp-path .audit-path-step>span{display:none}
 .homepage-page .hp-path .wrap{gap:8px}
 .homepage-page .hp-path a{padding-block:8px;min-height:44px}
 .homepage-page .aml-check-invitation#home-aml-check{padding:24px;gap:18px}
 .homepage-page .aml-check-invitation#home-aml-check h2{font-size:30px}
 .homepage-page .aml-check-invitation#home-aml-check .aml-check-invitation-benefits{gap:12px}
 .homepage-page .voices-wrap{grid-template-columns:minmax(0,1fr);gap:20px}
 .homepage-page .voices-stage{padding:0}
 .homepage-page .voices-mark{width:44px;height:30px}
 .homepage-page #home-organisations .hp-org-intro{gap:20px}
 .homepage-page #home-organisations .team-panels{padding:20px}
 .homepage-page #home-organisations .hp-org-client-stories{gap:16px}
 .homepage-page #home-membership .home-member-grid{gap:24px}
 .homepage-page #home-membership .home-member-copy h2{font-size:32px}
 .homepage-page #home-membership .tools-feature{padding:20px}
 .homepage-page #home-membership .tools-gallery{grid-template-columns:minmax(0,1fr);gap:14px}
 .homepage-page #home-membership .tools-feature-copy{gap:12px}
 .homepage-page #home-membership .map-art img{height:132px}
 .homepage-page #home-membership .member-secondary>a{padding:18px}
 .homepage-page #home-membership .live-benefit{grid-template-columns:minmax(0,1fr) 80px;grid-template-rows:auto auto}
 .homepage-page #home-membership .live-benefit>img{grid-column:2;grid-row:1;width:80px;align-self:start}
 .homepage-page #home-membership .live-benefit>.feature-link{grid-column:1/-1;grid-row:2}
 .homepage-page #home-membership .live-benefit h3,.homepage-page #home-membership .course-benefit h3{font-size:22px}
 /* Keep these editorial rows above the shared mobile link-padding rule. */
 .homepage-page #faculty-section .home-resource-links{grid-template-columns:minmax(0,1fr);gap:0;margin-top:36px;padding-top:0}
 .homepage-page #faculty-section .home-resource-link{padding:22px 0;gap:8px 16px;border-bottom:1px solid #cdded1}
 .homepage-page #faculty-section .home-resource-label{font-size:12px;line-height:1.5}
 .homepage-page #faculty-section .home-resource-link strong{font-size:16px;line-height:1.45}
 .homepage-page #faculty-section .home-resource-arrow{font-size:18px}
 .homepage-page #faculty-section .home-resource-link--eu{padding:20px;margin-top:20px;border:0;gap:12px 16px}
 .homepage-page #faculty-section .hp-reading-links{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-top:20px}
 .homepage-page #faculty-section .hp-reading-links a{display:flex;justify-content:space-between;min-height:44px;padding:12px 0;font-size:14px;line-height:20px}
 .homepage-page #faculty-section{padding-bottom:32px}
 #main.homepage-page .home-decision-support{padding-top:32px}
}
@media(max-width:360px){
 .homepage-page #home-programmes .cass-spotlight{padding:20px;column-gap:10px}
 .homepage-page #home-programmes .cass-spotlight-badge{width:90px}
 .homepage-page #home-programmes .cass-spotlight-copy h3{font-size:26px}
 .homepage-page #home-membership .live-benefit{grid-template-columns:minmax(0,1fr)}
 .homepage-page #home-membership .live-benefit>img{display:none}
}
/* Let readers pause the restored homepage sequence; reduced-motion remains static. */
.homepage-page #home-method .cass-motion:not([data-static]):not([data-manual]) .cass-motion-footer button{display:inline-flex!important;align-items:center;justify-content:center}

/* Homepage people and editorial header, matching the approved reference. */
.homepage-page #faculty-section .faculty-entry{grid-template-rows:96px auto minmax(46px,auto) 1fr auto;row-gap:16px;border-top:0;padding-top:0}
.homepage-page #faculty-section .faculty-photo{display:block;width:96px;height:96px;object-fit:cover;object-position:center 25%;border-radius:50%;margin:0 0 8px}
.homepage-page #faculty-section .home-insights{border-top:1px solid #cdded1;margin-top:40px;padding-top:26px}
.homepage-page #faculty-section .home-insights-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.homepage-page #faculty-section .home-insights-heading h2{font-size:22px;line-height:1.3;letter-spacing:-.02em;margin:0;color:#244140}
.homepage-page #faculty-section .hp-reading-links{display:flex;flex-wrap:wrap;gap:24px;margin:0;padding:0}
.homepage-page #faculty-section .hp-reading-links a{font-size:15px;min-height:44px;padding:0}
.homepage-page #faculty-section .home-resource-links{border:0;margin:0;padding:0;align-items:start}
.homepage-page #faculty-section .home-resource-link--eu{background:var(--amlcc-eu-blue,#082f55);color:#fff}
.homepage-page #faculty-section .home-resource-link--eu:is(:hover,:focus-visible,:visited){color:#fff}
.homepage-page #faculty-section .home-resource-link--eu :is(strong,.home-resource-arrow){color:inherit}
.homepage-page #faculty-section .home-resource-link--eu .home-resource-label{color:#d4e4f0}
@media(max-width:760px){
 .homepage-page #faculty-section .home-insights-heading{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:4px}
 .homepage-page #faculty-section .hp-reading-links{display:flex;gap:12px 24px;margin:0}
 .homepage-page #faculty-section .hp-reading-links a{font-size:14px;padding:0;justify-content:flex-start}
 .homepage-page #faculty-section .home-resource-links{grid-template-columns:1fr}
 .homepage-page #faculty-section .home-resource-link--eu{margin-top:20px}
}

/* Phone composition (prototype, 24 Sep 2026). Phones only: the desktop and tablet layouts are untouched.
   Sections open with their content and close with their "see all" link; peers (programmes, faculty,
   insights, tools) become compact rows or swipe rails; one heading scale; no text below 14px. */
@media(max-width:700px){
 /* Section heads: content first, the "see all" link after it. */
 .homepage-page #home-programmes>.wrap,.homepage-page #faculty-section>.wrap{display:flex;flex-direction:column;gap:24px}
 .homepage-page #home-programmes .hp-section-head,.homepage-page #faculty-section .hp-section-head{display:contents}
 .homepage-page #home-programmes .hp-section-head>div,.homepage-page #faculty-section .hp-section-head>div{order:1}
 .homepage-page #home-programmes .cass-spotlight{order:2;margin:0}
 .homepage-page #home-programmes .hp-programme-routes{order:3;margin:0}
 .homepage-page #home-programmes .hp-programme-support{order:5;margin:0}
 .homepage-page #home-programmes .hp-section-head>a,.homepage-page #faculty-section .hp-section-head>a{order:4;align-self:flex-start;margin:-8px 0 0}
 .homepage-page #faculty-section .faculty-grid{order:2}
 .homepage-page #faculty-section .home-insights{order:5}
 .homepage-page #home-method .cass-method-layout{display:flex;flex-direction:column;gap:20px}
 .homepage-page #home-method .cass-method-copy{display:contents}
 .homepage-page #home-method .cass-method-copy>h2{order:1}
 .homepage-page #home-method .cass-method-copy>p{order:2;margin:-8px 0 0}
 .homepage-page #home-method :is(.cass-motion,.practice-showcase){order:3}
 .homepage-page #home-method .cass-method-copy>.text-link{order:4;margin:0;align-self:flex-start}
 #main.homepage-page .home-decision-support .split{display:flex;flex-direction:column;gap:20px}
 .homepage-page .home-decision-support .stack{display:contents}
 .homepage-page .home-decision-support .stack>h2{order:1;margin:0}
 .homepage-page .home-decision-support .stack>p{order:2;margin:-8px 0 0}
 .homepage-page .home-decision-support .home-faqs{order:3}
 .homepage-page .home-decision-support .home-decision-links{order:4;margin:0}

 /* Programmes: CASS keeps its feature card with one clear title; the others become tappable rows. */
 .homepage-page #home-programmes .cass-spotlight-copy h2{font-size:44px;line-height:1}
 .homepage-page #home-programmes .cass-spotlight-copy h3{font-size:20px;line-height:1.3;margin:6px 0 0}
 .homepage-page #home-programmes .cass-spotlight-name{font-size:16px}
 .homepage-page #home-programmes .cass-spotlight-description{font-size:15px;line-height:1.55}
 .homepage-page #home-programmes .cass-spotlight-badge{width:84px}
 .homepage-page #home-programmes .hp-programme-routes{border-top:1px solid #cdded1}
 /* Phone rows keep what the wider rows compare: the level beside the name, who it is for (the shorter summary on
    the smallest screens), then the CPD value and time, with the eligibility review. */
 .homepage-page #home-programmes .hp-programme-row{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;grid-template-rows:auto auto auto;align-items:center;column-gap:14px;row-gap:4px;padding:18px 0;margin:0;border:0;border-bottom:1px solid #cdded1;min-height:0}
 .homepage-page #home-programmes .hp-programme-row .hp-badge{grid-column:1;grid-row:1/4;align-self:start;width:44px;height:44px;margin:0}
 .homepage-page #home-programmes .hp-programme-row .programme-badge{width:44px;height:44px}
 .homepage-page #home-programmes .hp-programme-name{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;margin:0}
 .homepage-page #home-programmes .hp-programme-name h3{font-size:18px;line-height:1.3;margin:0}
 .homepage-page #home-programmes .hp-programme-name h3 a::after{content:"";position:absolute;inset:0}
 .homepage-page #home-programmes .hp-programme-name>span{font-size:13px;line-height:1.4;color:#526d64}
 .homepage-page #home-programmes .hp-programme-audience,.homepage-page #home-programmes .hp-programme-row .home-mobile-copy{grid-column:2/4;grid-row:2;font-size:14px;line-height:1.45;margin:0}
 .homepage-page #home-programmes .hp-programme-entry{display:contents}
 .homepage-page #home-programmes .hp-programme-entry small{grid-column:2/4;grid-row:3;display:flex;flex-wrap:wrap;gap:0 12px;margin:2px 0 0;font-size:13px;line-height:1.45;color:#526d64}
 .homepage-page #home-programmes .hp-programme-entry small strong{font-weight:600;color:#203432}
 .homepage-page #home-programmes .hp-programme-entry a{display:none!important}
 .homepage-page #home-programmes .hp-programme-row::after{content:"→";grid-column:3;grid-row:1;font-size:18px;color:#203432}

 /* Insights: a swipe rail with the next card peeking. Scroll padding takes its percentages
    from the rail itself, so the phone gutter (20px) is written out rather than derived. */
 .homepage-page #faculty-section .home-resource-links{display:grid;grid-template-columns:none;grid-auto-flow:column;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin-inline:calc(50% - 50vw);padding:2px calc(50vw - 50%) 6px;scroll-padding-inline:20px}
 .homepage-page #faculty-section .home-resource-links::-webkit-scrollbar{display:none}
 .homepage-page #faculty-section .home-insights{display:flex;flex-direction:column;gap:16px;margin-top:8px;padding-top:24px}
 .homepage-page #faculty-section .home-insights-heading{display:contents}
 .homepage-page #faculty-section .home-insights-heading h2{order:1;font-size:24px}
 .homepage-page #faculty-section .home-resource-links{order:2;grid-auto-columns:78%;margin-top:0;border:0}
 .homepage-page #faculty-section .hp-reading-links{order:3;display:flex;flex-wrap:wrap;gap:4px 24px;margin:0}
 .homepage-page #faculty-section .home-resource-link{scroll-snap-align:start;align-content:space-between;padding:16px 18px;border:1px solid #cdded1;border-radius:14px;background:#fff;margin:0}
 .homepage-page #faculty-section .home-resource-link--eu{margin:0;border:0;background:var(--amlcc-eu-blue,#082f55)}
 .homepage-page #faculty-section .home-resource-label{font-size:13px}

 /* Membership: the tools sit on the dark section as rows, all three in view, each illustration cut down to a tile
    (the registry's records and the typology's link lose their captions at that size), with no card inside a card.
    More room above them keeps the membership button with the offer it belongs to. */
 .homepage-page #home-membership .tools-feature{background:transparent;padding:0;border:0;box-shadow:none}
 .homepage-page #home-membership .tools-feature{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:24px}
 .homepage-page #home-membership .tools-feature-copy{display:contents}
 .homepage-page #home-membership .tools-feature-copy>div{order:1}
 .homepage-page #home-membership .tools-gallery{order:2}
 .homepage-page #home-membership .tools-feature-copy>.feature-link{order:3;align-self:flex-start}
 .homepage-page #home-membership .tools-feature-copy h3{font-size:20px;color:#fff;margin:0}
 .homepage-page #home-membership .tools-feature-copy .feature-link{color:#c1f99b;min-height:44px}
 .homepage-page #home-membership .tools-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 .homepage-page #home-membership .reference-previews{display:contents}
 .homepage-page #home-membership :is(.map-preview,.registry-preview,.typology-preview){display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;column-gap:16px;padding:14px 0;background:none;border:0;border-radius:0;overflow:visible}
 .homepage-page #home-membership :is(.registry-preview,.typology-preview){border-top:1px solid rgba(243,247,243,.14)}
 .homepage-page #home-membership :is(.map-art,.registry-art,.typology-art){position:relative;width:88px;height:66px;min-height:0;padding:0;border-radius:10px;overflow:hidden;background:#1a3130;box-shadow:inset 0 0 0 1px rgba(243,247,243,.14)}
 .homepage-page #home-membership .map-art img{width:100%;height:100%;padding:3px;object-fit:contain}
 .homepage-page #home-membership :is(.risk-legend,.map-caption small){display:none}
 .homepage-page #home-membership .registry-art div{width:58px;height:7px;padding:0;font-size:0;background:#dfe9e1;border-bottom-width:2px}
 /* The shared membership sheet pins these records to the left with !important at this width. */
 .homepage-page #home-membership .registry-art div:nth-child(1){top:17px;left:13px!important}
 .homepage-page #home-membership .registry-art div:nth-child(2){top:30px;left:15px!important}
 .homepage-page #home-membership .registry-art div:nth-child(3){top:43px;left:17px!important}
 .homepage-page #home-membership .typology-art{display:flex;align-items:center;justify-content:center}
 .homepage-page #home-membership .typology-art>span:not(.connect-mark){display:none}
 .homepage-page #home-membership .typology-art .connect-mark img{display:block;width:46px;height:auto}
 .homepage-page #home-membership :is(.map-caption,.reference-caption){padding:0;text-align:left;background:none}
 .homepage-page #home-membership .tools-gallery h4{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;font-size:16px;line-height:1.3;color:#f3f7f3}
 .homepage-page #home-membership .tools-gallery h4>span{font-size:16px;font-weight:600;color:inherit}
 .homepage-page #home-membership :is(.map-caption,.reference-caption) p{display:block;margin:4px 0 0;font-size:14px;line-height:1.45;color:#b8ccc3}
 .homepage-page #home-membership .member-secondary>a{padding:16px 18px}
 .homepage-page #home-membership :is(.live-benefit,.course-benefit) h3{font-size:18px}

 /* Organisations: one heading scale; client stories side by side; CEPOL wording unchanged. */
 .homepage-page #home-organisations .assessment-panel>h3{font-size:20px}
 .homepage-page #home-organisation-proof .hp-org-proof-heading h3{font-size:20px}
 .homepage-page #home-organisation-proof .hp-org-client-stories{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .homepage-page #home-organisation-proof .hp-org-client-stories h4{font-size:17px}
 .homepage-page #home-organisation-proof .hp-org-client-stories p{font-size:14px;line-height:1.45}
 .homepage-page #home-organisation-proof .audit-cepol{padding:20px}
 .homepage-page #home-organisation-proof .audit-cepol h3{font-size:20px;line-height:1.3}

 /* Close: the closing panel no longer repeats the hero paragraph. */
 .homepage-page #home-next-step .home-close-text{display:none}
}

/* Practice showcase (prototype, 24 Sep 2026): two real captures from the CASS SAR/STR drafting simulator on a
   plate that repeats the opening's artwork, its six slanted bars entering the top-right and bottom-left
   corners. The label, the score and the indicator review cascade as one group, each overlapping the next. The three steps sit in the copy column, numbered like the organisation steps. Scroll-linked where
   supported: the bars slide into line along their own slant, as in the opening, and the captures lift in.
   Elsewhere, and under reduced motion, the plate rests in its finished state. */
.homepage-page #home-method .practice-showcase{position:relative;width:100%;min-width:0;max-width:640px;margin:0 0 0 auto}
.homepage-page .practice-canvas{position:relative;aspect-ratio:600/440}
.homepage-page .practice-stage{position:absolute;inset:0;border-radius:20px;overflow:hidden;background:#e3ece5;box-shadow:inset 0 0 0 1px #d0dfd4}
.homepage-page .practice-art{display:block;width:100%;height:100%}
.homepage-page .practice-shot{position:absolute;display:block;height:auto;max-width:none;border-radius:14px}
.homepage-page .practice-shot--score{width:84%;left:5%;top:15%;box-shadow:0 34px 64px -28px rgba(6,18,16,.72),0 2px 6px rgba(6,18,16,.16)}
.homepage-page .practice-shot--indicators{width:60%;right:4%;top:49%;background:#fff;padding:12px 0 12px 12px;box-shadow:0 30px 60px -24px rgba(6,18,16,.5),0 2px 8px rgba(6,18,16,.14);-webkit-mask-image:linear-gradient(90deg,#000 84%,transparent);mask-image:linear-gradient(90deg,#000 84%,transparent)}
.homepage-page #home-method .practice-steps{list-style:none;margin:30px 0 0;padding:0;counter-reset:practice-step;border-bottom:1px solid #cdded1}
.homepage-page #home-method .practice-steps li{counter-increment:practice-step;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:8px;row-gap:3px;margin:0;padding:14px 0;border-top:1px solid #cdded1}
.homepage-page #home-method .practice-steps li::before{content:counter(practice-step,decimal-leading-zero);grid-row:1/3;padding-top:2px;font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums;color:#6b857c}
.homepage-page #home-method .practice-steps strong{font-size:16px;line-height:1.35;font-weight:600;color:#203432}
.homepage-page #home-method .practice-steps span{font-size:14px;line-height:1.5;color:#526d64}
.homepage-page #home-method .cass-method-copy .practice-steps+.text-link{margin-top:24px}
.homepage-page .practice-label{position:absolute;top:5%;left:3%;z-index:2;display:flex;align-items:center;gap:12px;margin:0;padding:10px 16px 10px 10px;border-radius:14px;background:#fff;box-shadow:0 18px 40px -22px rgba(6,18,16,.55),0 1px 4px rgba(6,18,16,.12)}
.homepage-page .practice-label-mark{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:var(--amlcc-forest,#244140)}
.homepage-page .practice-label-mark svg{width:18px;height:15px;fill:#c1f99b}
.homepage-page .practice-label strong{display:block;font-size:14px;line-height:1.3;font-weight:600;color:#203432}
.homepage-page .practice-label strong+span{display:block;font-size:13px;line-height:1.35;color:#526d64}
@supports (animation-timeline: view()){
 @media (prefers-reduced-motion:no-preference){
  .homepage-page .practice-canvas{view-timeline-name:--practice}
  .homepage-page .practice-bar{animation:practice-align linear both;animation-timeline:--practice}
  .homepage-page .practice-bars--east .practice-bar{--bar-x:28.4px;--bar-y:-52px}
  .homepage-page .practice-bars--west .practice-bar{--bar-x:-28.4px;--bar-y:52px}
  .homepage-page .practice-bar--p0{animation-range:entry 5% entry 55%}
  .homepage-page .practice-bar--p1{animation-range:entry 13% entry 63%}
  .homepage-page .practice-bar--p2{animation-range:entry 21% entry 71%}
  .homepage-page .practice-shot--score{animation:practice-lift linear both;animation-timeline:--practice;animation-range:entry 30% entry 85%}
  .homepage-page .practice-shot--indicators{animation:practice-lift linear both;animation-timeline:--practice;animation-range:entry 45% entry 100%}
 }
}
@keyframes practice-align{from{transform:translate(var(--bar-x),var(--bar-y))}to{transform:none}}
@keyframes practice-lift{0%{opacity:0;transform:translateY(26px)}40%{opacity:1}100%{opacity:1;transform:none}}
@media(max-width:1100px) and (min-width:701px){
 .homepage-page #home-method .practice-steps{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;margin-top:32px;border-bottom:0}
 .homepage-page #home-method .practice-steps li{grid-template-columns:30px minmax(0,1fr);align-content:start}
 .homepage-page #home-method .cass-method-copy>.text-link{grid-column:2;grid-row:2;margin-top:18px}
 .homepage-page #home-method .practice-showcase{margin:8px auto 0}
}
@media(max-width:700px){
 .homepage-page #home-method .cass-method-layout{align-items:stretch}
 .homepage-page #home-method .practice-showcase{order:3}
 .homepage-page #home-method .practice-steps{order:4;margin:18px 0 0}
 .homepage-page #home-method .cass-method-copy>.text-link{order:5}
 .homepage-page #home-method .cass-method-copy .practice-steps+.text-link{margin-top:0}
 .homepage-page #home-method .practice-showcase{max-width:none;margin:0}
 .homepage-page .practice-canvas{aspect-ratio:600/560}
 .homepage-page .practice-label{top:3%;left:3%;gap:10px;padding:8px 14px 8px 8px;border-radius:12px}
 .homepage-page .practice-label-mark{width:32px;height:32px;border-radius:9px}
 .homepage-page .practice-stage{border-radius:16px}
 .homepage-page .practice-shot--score{width:92%;left:4%;top:19%;border-radius:12px}
 .homepage-page .practice-shot--indicators{width:86%;right:2%;top:52%;padding:8px 0 8px 8px;border-radius:12px}
}

/* Home film (prototype, 24 Sep 2026): the brand film closes the dark opening on the same forest ground, aligned
   to the proof strip above it. Muted autoplay on view; the end card until playback starts; the controls are the
   site's motion control on the picture's bottom-right corner (motion-control.css). Edge to edge on phones. */
.homepage-page .home-film{position:relative;padding:8px 0 clamp(64px,7.5vw,112px);background:var(--amlcc-forest,#244140);color:#f3f7f3}
.homepage-page .home-film-frame{position:relative;margin:0 auto;width:min(1200px,calc(100% - 2*var(--ds-gutter,40px)))}
.homepage-page .home-film-screen{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#142825;box-shadow:0 0 0 1px rgba(193,249,155,.16),0 48px 96px -56px rgba(0,0,0,.7)}
.homepage-page .home-film-video,.homepage-page .home-film-poster{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.homepage-page .home-film-poster{transition:opacity .6s ease}
.homepage-page .home-film-frame.is-playing .home-film-poster{opacity:0;pointer-events:none}
.homepage-page .home-film-controls{position:absolute;right:4px;bottom:4px;z-index:3;display:flex}
.homepage-page .home-film-controls[hidden]{display:none}
.homepage-page .home-film-controls>.motion-control{position:relative;right:auto;bottom:auto}
@media(max-width:700px){
 .homepage-page .home-film{padding:4px 0 28px}
 .homepage-page .home-film-frame{width:100%}
 .homepage-page .home-film-screen{border-radius:0;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){.homepage-page .home-film-poster{transition:none}}

/* Faculty portraits (prototype, 24 Sep 2026): the About page's portrait frame and type scale, with the panel
   radius the profile pages already use, so the homepage and the people pages speak one language. Name first, then the credential that earns the place, then the teaching
   focus. On phones all three stay in view, as in the reviews: a smaller portrait beside one column of text, and the
   whole row opens the profile, as the programme rows do, so the three identical profile links give way to an arrow. */
.homepage-page #faculty-section .faculty-entry{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:0;border:0}
.homepage-page #faculty-section .faculty-portrait{width:100%;aspect-ratio:1.18;overflow:hidden;border-radius:var(--amlcc-radius-panel,12px);background:#3b3c3d;margin:0 0 20px}
.homepage-page #faculty-section .faculty-photo{display:block;width:100%;height:100%;margin:0;border-radius:0;object-fit:cover;object-position:50% 25%;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.homepage-page #faculty-section .faculty-entry:hover .faculty-photo{transform:scale(1.025)}
.homepage-page #faculty-section .faculty-entry h3{min-height:0;font-size:24px;line-height:1.25;letter-spacing:-.025em;margin:0}
.homepage-page #faculty-section .faculty-entry .faculty-credential{margin:10px 0 0;padding:0;max-width:36ch;font-size:15px;line-height:1.55;color:#203432}
.homepage-page #faculty-section .faculty-entry .faculty-specialty{min-height:0;margin:8px 0 0;font-size:14px;line-height:1.5;font-weight:400;color:#526d64}
.homepage-page #faculty-section .faculty-entry .text-link{align-self:flex-start;margin-top:auto;padding-top:14px}
@media(max-width:700px){
 .homepage-page #faculty-section .faculty-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 .homepage-page #faculty-section .faculty-entry{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 18px;grid-template-rows:auto auto auto;gap:0 14px;padding:20px 0;border-top:1px solid #cdded1}
 .homepage-page #faculty-section .faculty-entry:first-child{border-top:0;padding-top:4px}
 .homepage-page #faculty-section .faculty-portrait{grid-column:1;grid-row:1/4;align-self:start;width:72px;aspect-ratio:1;margin:0}
 .homepage-page #faculty-section .faculty-entry h3{grid-column:2;grid-row:1;font-size:20px}
 .homepage-page #faculty-section .faculty-entry .faculty-credential{grid-column:2/4;grid-row:2;margin-top:4px;font-size:15px;line-height:1.45}
 .homepage-page #faculty-section .faculty-entry .faculty-specialty{grid-column:2/4;grid-row:3;margin-top:8px}
 .homepage-page #faculty-section .faculty-entry .text-link{grid-column:3;grid-row:1;align-self:center;min-height:0;margin:0;padding:0}
 .homepage-page #faculty-section .faculty-entry .text-link .brand-link__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .homepage-page #faculty-section .faculty-entry .text-link::after{content:"";position:absolute;inset:0}
 .homepage-page #faculty-section .faculty-entry .text-link:focus-visible{outline:none}
 .homepage-page #faculty-section .faculty-entry .text-link:focus-visible::after{outline:2px solid var(--ds-focus,#087b65);outline-offset:4px;border-radius:var(--amlcc-radius-panel,12px)}
}
@media(prefers-reduced-motion:reduce){.homepage-page #faculty-section .faculty-photo{transition:none}.homepage-page #faculty-section .faculty-entry:hover .faculty-photo{transform:none}}

/* Learner voices (prototype, 24 Sep 2026): four reviews at a glance, set as quotations rather than testimonial
   cards: each beside the brand's quote mark, the name and source underneath, no label above the words. The lead
   runs large; the next three share a divided row. On phones all four form one column, so each is seen. */
.homepage-page #learner-reviews .voices-wrap{display:block;width:min(1200px,calc(100% - 2*var(--ds-gutter,40px)))}
.homepage-page #learner-reviews .voices-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:40px;padding:0;margin:0 0 40px}
.homepage-page #learner-reviews .voices-kicker{display:none}
.homepage-page #learner-reviews .voices-intro h2{grid-column:1;margin:0}
.homepage-page #learner-reviews .voices-intro :is(h2,.voices-description) br{display:none}
.homepage-page #learner-reviews .voices-description{grid-column:1;max-width:none;margin:15px 0 0;font-size:17px;line-height:1.6}
.homepage-page #learner-reviews .voices-all{grid-column:2;grid-row:1/4;align-self:end;margin:0;gap:12px}
/* The method heading names its section ("How our AML certification works", 29 Sep 2026): the copy column takes a little
   more of the row, so "certification works" holds one line at 44px and the heading stays on two lines. */
@media(min-width:1101px){
 .homepage-page #home-method .cass-method-layout{grid-template-columns:minmax(250px,.76fr) minmax(0,1.6fr)}
 .homepage-page #home-method .cass-method-copy{max-width:400px}
}
/* The CASS rating under the heading (29 Sep 2026): the figure, its sample, its period and how feedback is collected. */
.homepage-page #learner-reviews .voices-rating{grid-column:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:14px 0 0;font-size:15px;line-height:1.5;color:var(--voice-muted)}
.homepage-page #learner-reviews .voices-rating strong{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--voice-ink)}
.homepage-page #learner-reviews .voices-rating a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.homepage-page #learner-reviews .voices-board figure{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:1fr auto;column-gap:16px;margin:0;min-width:0}
.homepage-page #learner-reviews .voices-board .voices-mark{position:static;grid-column:1;grid-row:1;width:34px;height:22px;margin:5px 0 0;opacity:1}
.homepage-page #learner-reviews .voices-board :is(blockquote,figcaption){grid-column:2}
.homepage-page #learner-reviews .voices-board blockquote{margin:0;padding:0;border:0;font-style:normal}
.homepage-page #learner-reviews .voices-board blockquote p{margin:0;color:var(--voice-ink);text-wrap:pretty}
.homepage-page #learner-reviews .voices-board blockquote p::before{content:"\201C"}
.homepage-page #learner-reviews .voices-board blockquote p::after{content:"\201D"}
.homepage-page #learner-reviews .voices-board figcaption{padding-top:16px;font-size:14px;line-height:1.5}
.homepage-page #learner-reviews .voices-board figcaption strong{display:inline;font-size:15px;font-weight:600;color:var(--voice-ink)}
.homepage-page #learner-reviews .voices-board .voices-role{font-size:14px;color:var(--voice-muted)}
.homepage-page #learner-reviews .voices-board .voices-role::before{content:"\00B7";margin:0 8px}
.homepage-page #learner-reviews .voices-board figcaption div{display:flex;align-items:center;flex-wrap:wrap;gap:2px 8px;margin-top:2px;color:var(--voice-muted)}
.homepage-page #learner-reviews .voices-board figcaption a{display:inline-flex;align-items:center;gap:4px;padding-block:4px;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px}
.homepage-page #learner-reviews .voices-board figcaption a.brand-link{min-height:0;--ds-font-action:1em;--link-icon-size:14px;--link-gap:4px}
.homepage-page #learner-reviews .voices-board figcaption .brand-link__label{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px}
.homepage-page #learner-reviews .voices-board figcaption .brand-link__icon{width:14px;height:14px;flex:none}
.homepage-page #learner-reviews .voices-board .voices-lead{grid-template-columns:64px minmax(0,1fr);column-gap:28px;padding:0 0 40px;border-bottom:1px solid var(--voice-line)}
.homepage-page #learner-reviews .voices-board .voices-lead .voices-mark{width:64px;height:42px;margin-top:8px}
.homepage-page #learner-reviews .voices-board .voices-lead blockquote p{max-width:27em;font-size:clamp(27px,2.7vw,38px);line-height:1.28;letter-spacing:-.03em;font-weight:500}
.homepage-page #learner-reviews .voices-board .voices-lead figcaption{padding-top:22px}
.homepage-page #learner-reviews .voices-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.homepage-page #learner-reviews .voices-more figure{padding:32px 32px 0 0}
.homepage-page #learner-reviews .voices-more figure+figure{padding-left:32px;border-left:1px solid var(--voice-line)}
.homepage-page #learner-reviews .voices-more blockquote p{font-size:18px;line-height:1.5;letter-spacing:-.012em;font-weight:500}
@media(max-width:900px) and (min-width:701px){
 .homepage-page #learner-reviews .voices-more figure{grid-template-columns:minmax(0,1fr);padding-right:24px}
 .homepage-page #learner-reviews .voices-more figure+figure{padding-left:24px}
 .homepage-page #learner-reviews .voices-more .voices-mark{grid-row:auto;margin:0 0 12px}
 .homepage-page #learner-reviews .voices-more :is(blockquote,figcaption){grid-column:1}
 .homepage-page #learner-reviews .voices-more figure{grid-template-rows:auto 1fr auto}
 .homepage-page #learner-reviews .voices-more blockquote p{font-size:16px}
}
@media(max-width:700px){
 .homepage-page #learner-reviews .voices-wrap{display:flex;flex-direction:column;gap:8px;width:calc(100% - 2*var(--ds-gutter,20px))}
 .homepage-page #learner-reviews .voices-intro{display:contents}
 .homepage-page #learner-reviews .voices-intro h2{order:1;margin-bottom:16px}
 .homepage-page #learner-reviews .voices-description{display:none}
 .homepage-page #learner-reviews .voices-rating{order:1;margin:0 0 10px}
 .homepage-page #learner-reviews .voices-board{order:2}
 .homepage-page #learner-reviews .voices-all{order:3;align-self:flex-start;width:auto;justify-content:flex-start;margin:8px 0 0;padding:0;border:0}
 .homepage-page #learner-reviews .voices-board figure,.homepage-page #learner-reviews .voices-board .voices-lead{grid-template-columns:40px minmax(0,1fr);column-gap:16px;padding:26px 0;border:0;border-bottom:1px solid var(--voice-line)}
 .homepage-page #learner-reviews .voices-board .voices-lead{padding-top:8px}
 .homepage-page #learner-reviews .voices-board .voices-mark,.homepage-page #learner-reviews .voices-board .voices-lead .voices-mark{width:40px;height:26px;margin-top:4px}
 .homepage-page #learner-reviews .voices-board .voices-lead blockquote p{font-size:21px;line-height:1.4;letter-spacing:-.02em}
 .homepage-page #learner-reviews .voices-more{grid-template-columns:minmax(0,1fr)}
 .homepage-page #learner-reviews .voices-more figure+figure{padding-left:0;border-left:0}
 .homepage-page #learner-reviews .voices-more figure:last-child{border-bottom:0}
 .homepage-page #learner-reviews .voices-more blockquote p{font-size:18px;line-height:1.45;letter-spacing:-.012em}
}
/* Live learning (prototype, 24 Sep 2026): the participation certificate is the card's picture, tucked into its
   corner at a size that can be read, instead of a 96px thumbnail. On phones it rises out of the card's foot. */
.homepage-page #home-membership .live-benefit{position:relative;overflow:hidden;grid-template-columns:minmax(0,1fr) 38%;min-height:200px}
.homepage-page #home-membership .live-benefit>img{position:absolute;grid-area:auto;right:-28px;bottom:-44px;width:min(300px,52%);height:auto;margin:0;border-radius:8px;transform:rotate(-6deg);transform-origin:100% 100%;box-shadow:0 26px 50px -20px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.18);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.homepage-page #home-membership .live-benefit:is(:hover,:focus-visible)>img{transform:rotate(-4deg) translateY(-6px)}
.homepage-page #home-membership .live-benefit :is(.live-benefit-copy,.feature-link){position:relative;z-index:1}
@media(min-width:701px){.homepage-page #home-membership .live-benefit-copy{max-width:250px}}
@media(max-width:700px){
 .homepage-page #home-membership .live-benefit{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;min-height:0;padding-bottom:0}
 .homepage-page #home-membership .live-benefit>.feature-link{grid-column:1;grid-row:2}
 .homepage-page #home-membership .live-benefit>img{display:block;position:relative;right:auto;bottom:auto;grid-column:1;grid-row:3;justify-self:center;width:82%;margin:18px 0 -52px;transform:rotate(-3deg);transform-origin:50% 100%}
 .homepage-page #home-membership .live-benefit:is(:hover,:focus-visible)>img{transform:rotate(-3deg)}
}
@media(prefers-reduced-motion:reduce){.homepage-page #home-membership .live-benefit>img{transition:none}}

/* Programmes (prototype, 24 Sep 2026): the three programmes after CASS read as comparison rows (badge, name and
   level, who it is for, the key facts, an arrow), one link per row, in one ink; FIAR keeps its colour only in its
   badge. Phones keep their compact rows. Under the list, one line of help at the moment of choice, in the
   site's own text links. */
@media(min-width:701px){
 .homepage-page #home-programmes .hp-programme-routes-row{margin-top:32px}
 .homepage-page #home-programmes .hp-programme-row{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) minmax(0,1.2fr) minmax(170px,.6fr) 28px;column-gap:28px;align-items:center;padding:22px 0}
 .homepage-page #home-programmes .hp-programme-row:hover .hp-programme-name h3 a{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}
 .homepage-page #home-programmes .hp-programme-row>.hp-badge{grid-column:1;width:46px;padding:0}
 .homepage-page #home-programmes .hp-programme-row .hp-badge img{width:46px;height:52px!important}
 .homepage-page #home-programmes .hp-programme-description,.homepage-page #home-programmes .hp-programme-entry{display:contents}
 .homepage-page #home-programmes .hp-programme-name{grid-column:2;display:grid;gap:4px;margin:0}
 .homepage-page #home-programmes .hp-programme-name h3{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.02em;color:var(--home-ink,#203432)}
 .homepage-page #home-programmes .hp-programme-name h3 a{color:inherit;text-decoration:none}
 .homepage-page #home-programmes .hp-programme-name>span{font-size:14px;line-height:1.4;color:var(--home-muted,#526d64)}
 .homepage-page #home-programmes .hp-programme-description .hp-programme-audience{grid-column:3;margin:0;max-width:none;font-size:16px;line-height:1.5;color:#3d5650}
 .homepage-page #home-programmes .hp-programme-entry small{grid-column:4;display:grid;gap:2px;font-size:14px;line-height:1.4;color:var(--home-muted,#526d64)}
 .homepage-page #home-programmes .hp-programme-entry small strong{font-weight:600;color:var(--home-ink,#203432)}
 .homepage-page #home-programmes .hp-programme-entry a{grid-column:5;justify-self:end;min-height:44px;gap:0;color:var(--home-ink,#203432);text-decoration:none}
 .homepage-page #home-programmes .hp-programme-entry a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--amlcc-radius-panel,12px)}
 .homepage-page #home-programmes .hp-programme-entry a:focus-visible{outline:none}
 .homepage-page #home-programmes .hp-programme-entry a:focus-visible::after{outline:2px solid var(--ds-focus,#087b65);outline-offset:4px}
 .homepage-page #home-programmes .hp-programme-entry a .brand-link__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .homepage-page #home-programmes .hp-programme-entry a svg{width:22px;height:22px;transition:transform .2s}
 .homepage-page #home-programmes .hp-programme-row:hover .hp-programme-entry a svg{transform:translateX(4px)}
}
.homepage-page #home-programmes .hp-programme-row-fiar{--ink:var(--home-ink,#203432);--muted:var(--home-muted,#526d64)}
.homepage-page #home-programmes .hp-programme-row-fiar :is(h3,h4),.homepage-page #home-programmes .hp-programme-row-fiar :is(h3,h4) a{color:var(--home-ink,#203432)}
@media(max-width:1100px) and (min-width:701px){
 .homepage-page #home-programmes .hp-programme-row{grid-template-columns:46px minmax(0,1fr) minmax(0,1.3fr) 24px;column-gap:22px;row-gap:6px}
 .homepage-page #home-programmes .hp-programme-entry small{display:flex;flex-wrap:wrap;gap:0 12px}
 .homepage-page #home-programmes .hp-programme-row>.hp-badge{grid-row:1/3}
 .homepage-page #home-programmes .hp-programme-name{grid-row:1/3}
 .homepage-page #home-programmes .hp-programme-description .hp-programme-audience{grid-row:1;align-self:end}
 .homepage-page #home-programmes .hp-programme-entry small{grid-column:3;grid-row:2;align-self:start}
 .homepage-page #home-programmes .hp-programme-entry a{grid-column:4;grid-row:1/3}
}
.homepage-page #home-programmes .hp-programme-support{display:block;margin:0}
.homepage-page .hp-programme-help{display:flex;align-items:center;flex-wrap:wrap;gap:4px 32px;padding-top:22px}
.homepage-page .hp-programme-help-label{display:inline-flex;align-items:center;gap:12px;margin:0;font-size:16px;line-height:1.4;font-weight:600;color:var(--home-ink,#203432)}
.homepage-page .hp-programme-help-mark{width:15px;height:12px;background:#27b996;clip-path:polygon(44% 0,100% 0,56% 100%,0 100%)}
.homepage-page .hp-programme-help .text-link{margin:0;font-size:15px}
@media(max-width:700px){
 .homepage-page #home-programmes .hp-programme-support{order:4;margin:0}
 .homepage-page #home-programmes .hp-section-head>a{order:5}
 .homepage-page .hp-programme-help{flex-direction:column;align-items:flex-start;gap:2px;padding-top:4px}
 .homepage-page .hp-programme-help-label{margin-bottom:4px}
}
@media(prefers-reduced-motion:reduce){.homepage-page #home-programmes .hp-programme-entry a svg{transition:none}}

/* Page motion (prototype, 24 Sep 2026): the practice plate's language, carried down the page. Motion follows the
   reader's scroll, finishes before each element is fully in view, and moves evidence rather than reading text: the
   seal settles, bars fill, record layers slide into their stack, the certificate slides into place. Nothing moves
   where scroll-linked animation is unsupported or reduced motion is asked for. Individual translate, rotate and
   scale properties compose with each element's own transform instead of replacing it. Rounded cards clip their
   contents, and a clipping box counts as a scroller for view(), so each block names one timeline on an element
   that tracks the page itself, and the pieces inside follow that. */
@supports (animation-timeline: view()){
 @media (prefers-reduced-motion:no-preference){
  .homepage-page #home-programmes .cass-spotlight{view-timeline-name:--cass-card}
  .homepage-page #home-programmes .cass-spotlight-badge{animation:page-settle linear both;animation-timeline:--cass-card;animation-range:entry 10% entry 60%}
  .homepage-page #home-programmes .cass-spotlight-facts>div{animation:page-rise linear both;animation-timeline:--cass-card}
  .homepage-page #home-programmes .cass-spotlight-facts>div:nth-child(1){animation-range:entry 55% entry 90%}
  .homepage-page #home-programmes .cass-spotlight-facts>div:nth-child(2){animation-range:entry 62% entry 97%}
  .homepage-page #home-programmes .cass-spotlight-facts>div:nth-child(3){animation-range:entry 69% entry 100%}
  .homepage-page #home-organisations .assessment-scores{view-timeline-name:--skills}
  .homepage-page #home-organisations .assessment-track>span{transform-origin:0 50%;animation:page-fill linear both;animation-timeline:--skills}
  .homepage-page #home-organisations .assessment-skill:nth-child(1) .assessment-track>span{animation-range:entry 0% entry 70%}
  .homepage-page #home-organisations .assessment-skill:nth-child(2) .assessment-track>span{animation-range:entry 15% entry 85%}
  .homepage-page #home-organisations .assessment-skill:nth-child(3) .assessment-track>span{animation-range:entry 30% entry 100%}
  .homepage-page #home-organisations .assessment-priority{animation:page-rise linear both;animation-timeline:view();animation-range:entry 40% entry 100%}
  .homepage-page #home-membership .tools-gallery{view-timeline-name:--tools}
  .homepage-page #home-membership .map-art img{animation:page-colour linear both;animation-timeline:--tools;animation-range:entry 0% entry 60%}
  .homepage-page #home-membership .registry-art div{animation:page-stack linear both;animation-timeline:--tools}
  .homepage-page #home-membership .registry-art div:nth-child(1){animation-range:entry 10% entry 50%}
  .homepage-page #home-membership .registry-art div:nth-child(2){animation-range:entry 20% entry 60%}
  .homepage-page #home-membership .registry-art div:nth-child(3){animation-range:entry 30% entry 70%}
  .homepage-page #home-membership .typology-art .connect-mark img{animation:page-pop linear both;animation-timeline:--tools;animation-range:entry 40% entry 90%}
  .homepage-page #home-membership .member-secondary{view-timeline-name:--live}
  .homepage-page #home-membership .live-benefit>img{animation:page-tuck linear both;animation-timeline:--live;animation-range:entry 0% entry 90%}
  .homepage-page #home-next-step .home-close-panel{view-timeline-name:--close}
  .homepage-page #home-next-step .home-close-bars{scale:1.12;animation:page-drift linear both;animation-timeline:--close;animation-range:entry 0% exit 100%}
  .homepage-page #home-next-step .home-close-route{animation:page-rise linear both;animation-timeline:--close}
  .homepage-page #home-next-step .home-close-route:nth-child(1){animation-range:entry 20% entry 55%}
  .homepage-page #home-next-step .home-close-route:nth-child(2){animation-range:entry 28% entry 63%}
  .homepage-page #home-next-step .home-close-route:nth-child(3){animation-range:entry 36% entry 71%}
 }
}
@keyframes page-rise{from{opacity:0;translate:0 18px}}
@keyframes page-settle{from{opacity:0;rotate:-16deg;scale:.84}}
@keyframes page-turn{from{rotate:-10deg}to{rotate:12deg}}
@keyframes page-fill{from{scale:0 1}}
@keyframes page-colour{from{filter:grayscale(1) opacity(.55)}}
@keyframes page-stack{from{opacity:0;translate:36px 0}}
@keyframes page-pop{from{opacity:0;scale:.5;rotate:-30deg}}
@keyframes page-tuck{from{translate:0 70px;rotate:-10deg}}
@keyframes page-drift{from{translate:-28px 16px}to{translate:28px -16px}}
@keyframes page-slide{from{opacity:0;translate:-12px 0}}

/* Opening descriptor (prototype, 24 Sep 2026): the category line leads the H1 in its title's words, set as the page's
   labels are, beside the lime slanted marker, which slides in along its slant as the opening loads. On phones the
   band of bars just above it already does that job, so the marker steps aside. */
.homepage-page .home-opening h1 .home-opening-descriptor{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 30px;font-size:20px;line-height:1.4;font-weight:500;letter-spacing:-.005em;color:#dbe8df}
.homepage-page .home-opening h1 .home-opening-descriptor+span{color:inherit}
.homepage-page .home-opening h1 .home-opening-mark{display:inline-block;flex:none;width:16px;height:13px;background:var(--opening-lime,#c1f99b);clip-path:polygon(44% 0,100% 0,56% 100%,0 100%)}
/* On phones the category line sits directly under the opening's bars, so the opening keeps the room above it that
   the bars need (more from 601px, where the centred line meets the larger bars); the tighter phone spacing
   applies below the buttons. */
@media(max-width:700px){.homepage-page .home-opening{padding-top:48px}}
/* Phones (owner, 29 Sep 2026: the bars sat too close to the category line, and a touch small). The band runs a little
   past both edges, where its mask fades it anyway, so each bar draws about a fifth larger (48px at 390), and the
   opening starts lower, leaving about 34px between the band and the category line at 390 (30px or more to 430). */
@media(max-width:600px){
 .homepage-page .home-opening{padding-top:82px}
 .homepage-page .home-opening-mobile-band{inset-inline:-32px}
 .homepage-page .home-opening-mobile-band svg{max-width:56px}
}
/* The CEPOL proof, without the EU emblem, lays out like its neighbours: label, claim, then the programme it names;
   its arrow says the story is one tap away, on the programme page. It keeps to the top of the row so the labels stay
   level. */
.homepage-page .home-opening-proof .opening-proof-institution{align-self:start;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0}
.homepage-page .home-opening-proof .opening-proof-institution .opening-proof-name::after{content:"\2192";display:inline-block;margin-left:10px;font-weight:500;transition:transform .2s}
.homepage-page .home-opening-proof .opening-proof-institution:is(:hover,:focus-visible) .opening-proof-name::after{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){.homepage-page .home-opening-proof .opening-proof-institution .opening-proof-name::after{transition:none}}
/* The three proofs under the opening, on phones: three equal rows, each named in its own words, rather than a pair
   whose credential wrapped beside a large figure. The category labels give way on phones; titles share one size. */
@media(max-width:600px){
 .homepage-page .home-opening-proof-inner{grid-template-columns:minmax(0,1fr);gap:0;padding-block:4px 12px}
 .homepage-page .home-opening-proof .opening-proof-item{padding:16px 0;border-top:1px solid var(--opening-line)}
 .homepage-page .home-opening-proof .opening-proof-item:first-child{border-top:0}
 .homepage-page .home-opening-proof .opening-proof-institution{grid-row:auto;grid-column:auto;padding-top:16px}
 .homepage-page .home-opening-proof .opening-proof-label{display:none}
 .homepage-page .home-opening-proof .opening-proof-item strong{font-size:19px;margin-bottom:2px}
 .homepage-page .home-opening-proof .opening-proof-reach strong{letter-spacing:-.025em;line-height:1.4}
 .homepage-page .home-opening-proof .opening-proof-reach strong span{font-size:inherit;vertical-align:baseline;line-height:inherit}
 .homepage-page .home-opening-proof .opening-proof-detail{font-size:14px}
}
@media(min-width:601px) and (max-width:700px){.homepage-page .home-opening{padding-top:64px}}
@media(max-width:600px){.homepage-page .home-opening h1 .home-opening-descriptor{justify-content:flex-start;margin-bottom:18px;font-size:16px}.homepage-page .home-opening h1 .home-opening-mark{display:none}}
@media(prefers-reduced-motion:no-preference){.homepage-page .home-opening h1 .home-opening-mark{animation:opening-mark .9s cubic-bezier(.22,.65,.18,1) .25s both}}
@keyframes opening-mark{from{opacity:0;translate:-7px 13px}}
/* Device-specific reading summaries, with the complete desktop wording retained. */
.homepage-page .home-mobile-copy{display:none}
@media(max-width:600px){
 .homepage-page .home-desktop-copy{display:none}
 .homepage-page .home-mobile-copy{display:block}
 .homepage-page .home-opening-description{line-height:1.55}
 .homepage-page #home-programmes .cass-spotlight{row-gap:12px;grid-template-areas:"top top" "identity badge" "name name" "description description" "edition edition" "footer footer"}
 .homepage-page #home-programmes .cass-spotlight-copy h3{display:none}
 .homepage-page #home-programmes .cass-spotlight-description{line-height:1.55}
 .homepage-page #home-programmes .cass-spotlight-footer{padding-top:16px;gap:14px}
 .homepage-page .home-decision-links{display:none}
 .homepage-page .home-decision-support .split{gap:20px}
 .homepage-page #faculty-section .home-insights{margin-top:24px;padding-top:24px}
 .homepage-page #faculty-section .home-resource-link{padding-block:18px}
 .homepage-page #faculty-section .home-resource-link--eu{padding:20px}
 .homepage-page .voices-wrap{gap:18px}
 .homepage-page .voices-track{align-items:start}
 .homepage-page .voices-slide figure{height:auto}
 .homepage-page .voices-slide blockquote p{font-size:22px;line-height:1.4}
 .homepage-page .voices-slide blockquote{margin-bottom:18px}
 .homepage-page .voices-slide figcaption{margin-top:0}
 .homepage-page .voices-controls{margin-top:16px;padding-top:12px}
}
/* The CASS link under the opening buttons names the designation in full where there is room; phones keep the short
   description, so the link stays on one line. */
.homepage-page .home-opening-cass .home-opening-cass-short{display:none}
@media(max-width:767px){.homepage-page .home-opening-cass .home-opening-cass-full{display:none}.homepage-page .home-opening-cass .home-opening-cass-short{display:inline}}

/* The faint CASS seal behind the card carried the badge's lettering, which showed as "ASS" beside the real badge and
   behind the edition row (visual audit, 13 October 2026): hidden at every width, as phones already had it. */
.homepage-page #home-programmes .cass-seal-watermark{display:none}
