/* Shared RAC visitor experience. Token/font ownership remains brand-pack. */
.rac-site { margin:0; --rac-line:color-mix(in srgb,var(--rac-ink) 18%,transparent); }
.rac-site :where(main,section,article,aside,div,nav,figure,li) { min-width:0; }
.rac-site :where(h1,h2,h3,h4,p,li,td,th,a,summary,label) { overflow-wrap:break-word; }
.rac-site .rac-nowrap { white-space:nowrap; }
.rac-site .rac-plate { text-transform:uppercase; }
.rac-site .rac-stamp { display:inline-block; background:var(--rac-red); color:white; padding:.11em .23em .12em; border-radius:.12em; font-family:var(--rac-font-motif); font-size:.76em; line-height:1.05; vertical-align:.03em; letter-spacing:-.02em; transform:rotate(-4deg); }
.rac-site .rac-utility { font-size:.82rem; background:var(--rac-dark); color:white; }
.rac-site .rac-utility > div { display:flex; justify-content:space-between; gap:1rem; padding-block:.4rem; }
.rac-site .rac-utility div > div { display:flex; gap:1.6rem; }
.rac-site .rac-utility a { color:white; padding:.15rem 0; }
.rac-site .rac-header { position:relative; z-index:5; }
.rac-site .rac-header-inner { padding-block:.6rem; flex-wrap:nowrap; gap:1.6rem; }
.rac-site .rac-logo { width:126px; }
.rac-site .rac-header-book { flex-shrink:0; font-size:.95rem; }
.rac-site .rac-navigation { margin-inline-start:auto; }
.rac-site .rac-navigation ul { list-style:none; padding:0; margin:0; }
.rac-site .rac-navigation > ul { display:flex; align-items:center; gap:.3rem; }
.rac-site .rac-navigation > ul > li > a,.rac-site .rac-navigation summary { display:flex; gap:.6rem; align-items:center; min-height:48px; padding:.7rem .8rem; color:var(--rac-ink); font-weight:600; text-decoration:none; }
.rac-site .rac-navigation summary { cursor:pointer; list-style:none; }
.rac-site .rac-navigation summary::-webkit-details-marker { display:none; }
.rac-site .rac-navigation summary span { font-size:1.25rem; line-height:1; color:var(--rac-red-deep); }
.rac-site .rac-navigation details[open] > summary { background:var(--rac-sky); border-radius:11px 11px 0 0; }
.rac-site .rac-navigation details[open] > summary span { transform:rotate(45deg); }
.rac-site .rac-navigation details[data-current-section] > summary { text-decoration:underline; text-decoration-color:var(--rac-red-deep); text-decoration-thickness:3px; text-underline-offset:.45rem; }
.rac-site .rac-nav-panel { position:absolute; top:100%; inset-inline-end:var(--rac-gutter); width:min(640px,calc(100% - 2 * var(--rac-gutter))); background:white; padding:1.5rem; border:1px solid var(--rac-line); border-radius:0 0 24px 24px; box-shadow:0 16px 30px rgb(19 34 55 / 15%); }
.rac-site .rac-nav-panel ul { display:grid; grid-template-columns:1fr 1fr; gap:.15rem 1.5rem; }
.rac-site .rac-nav-panel a { display:block; padding:.65rem .45rem; min-height:44px; text-decoration:none; }
.rac-site .rac-nav-overview { border-bottom:1px solid var(--rac-line); margin-bottom:.6rem; font-weight:700; }
.rac-site .rac-navigation a:hover,.rac-site .rac-navigation a[aria-current] { text-decoration:underline; background:var(--rac-warm); border-radius:6px; }
.rac-site .rac-menu-toggle { border:1px solid var(--rac-line); background:white; color:var(--rac-ink); padding:.6rem 1rem; border-radius:var(--rac-radius-small); min-height:48px; font-weight:700; }
.rac-site .rac-menu-toggle span { margin-left:.6rem; }
.rac-site .rac-breadcrumb { font-size:.87rem; margin-bottom:1.5rem; }
.rac-site .rac-breadcrumb ol { display:flex; flex-wrap:wrap; gap:.3rem 0; list-style:none; margin:0; padding:0; }
.rac-site .rac-breadcrumb li { display:flex; align-items:baseline; max-width:100%; }
.rac-site .rac-breadcrumb li+li::before { content:'/'; margin-inline:.7rem; opacity:.55; }
.rac-site .rac-breadcrumb a { padding-block:.25rem; }
.rac-site .rac-hero { padding-block:clamp(2rem,5vw,4rem); }
.rac-site .rac-hero h1 { max-width:18ch; font-size:clamp(2.5rem,5.1vw,4.45rem); }
.rac-site .rac-hero-copy > * + * { margin-top:1.3rem; }
.rac-site .rac-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(2rem,4vw,4rem); align-items:start; }
.rac-site .rac-hero .rac-photo { margin-top:2rem; }
.rac-site .rac-hero-copy > .rac-photo { max-width:400px; }
.rac-site .rac-hero-copy > .rac-photo img { width:100%; height:auto; }
.rac-site .rac-hero-wide { text-align:center; }
.rac-site .rac-hero-wide :where(h1,.rac-lead) { margin-inline:auto; }
.rac-site .rac-hero-wide h1 { max-width:23ch; }
.rac-site .rac-hero-wide .rac-breadcrumb { text-align:left; }
.rac-site .rac-hero-wide .rac-photo { max-width:950px; margin-inline:auto; }
.rac-site .rac-hero-editorial { max-width:950px; }
.rac-site .rac-hero-editorial h1 { max-width:22ch; }
.rac-site .rac-section-heading { margin-bottom:2.5rem; max-width:850px; }
.rac-site .rac-section-heading > * + * { margin-top:1rem; }
.rac-site .rac-section-heading h2 { max-width:25ch; }
.rac-site .rac-photo { overflow:hidden; border-radius:var(--rac-radius-large); background:var(--rac-sky); color:var(--rac-ink); }
.rac-site .rac-photo picture { display:block; }
.rac-site .rac-photo img { width:100%; height:auto; }
.rac-site .rac-photo figcaption { font-size:.83rem; padding:.7rem 1rem; background:white; }
.rac-site .rac-photo-portrait { max-width:440px; margin-inline:auto; }
.rac-site .rac-photo-portrait img { max-height:620px; object-fit:contain; }
.rac-site .rac-intro-layout { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.rac-site .rac-intro-layout.rac-intro-reverse .rac-photo { order:2; }
.rac-site .rac-intro-copy > * + * { margin-top:1.2rem; }
.rac-site .rac-intro-copy h2 { max-width:20ch; }
.rac-site .rac-card-grid { list-style:none; margin:0; padding:0; display:grid; gap:1.5rem; }
.rac-site .rac-card-grid-service { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rac-site .rac-card-grid-region,.rac-site .rac-card-grid-related { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rac-site .rac-link-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--rac-line); border-radius:var(--rac-radius-large); background:white; color:var(--rac-ink); box-shadow:var(--rac-shadow); }
.rac-site .rac-link-card .rac-photo { border-radius:0; }
.rac-site .rac-link-card .rac-photo img { width:100%; height:100%; object-fit:cover; }
.rac-site .rac-link-card .rac-photo figcaption { display:none; }
.rac-site .rac-link-card-copy { padding:1.5rem; display:flex; flex-direction:column; align-items:start; flex:1; gap:.85rem; }
.rac-site .rac-link-card h3 { font-size:1.5rem; }
.rac-site .rac-link-card-copy a { margin-top:auto; }
.rac-site .rac-card-number { color:var(--rac-green-ink); font-family:var(--rac-font-heading); font-weight:800; padding:1.3rem 1.5rem 0; font-size:1rem; letter-spacing:.06em; }
.rac-site .rac-dark .rac-link-card a { color:var(--rac-red-deep); }
.rac-site .rac-text-link { display:inline-block; font-weight:700; padding-block:.55rem; }
.rac-site .rac-text-link::after { content:' →'; white-space:nowrap; }
.rac-site .rac-directory { columns:3 240px; column-gap:2rem; }
.rac-site .rac-directory-group { break-inside:avoid; margin-bottom:1.5rem; border-top:1px solid var(--rac-line); padding-top:1rem; }
.rac-site .rac-directory-group h3 { color:var(--rac-green-ink); font-size:1.1rem; margin-bottom:.5rem; }
.rac-site .rac-directory-group ul { list-style:none; padding:0; }
.rac-site .rac-directory-group a { display:block; padding:.55rem .4rem; min-height:44px; border-radius:6px; }
.rac-site .rac-directory-group a:hover { background:white; }
.rac-site .rac-prose { max-width:75ch; }
.rac-site .rac-prose > * + * { margin-top:1.2rem; }
.rac-site .rac-prose :where(h2,h3,h4) { margin-top:2.2rem; }
.rac-site .rac-prose h2 { font-size:clamp(1.8rem,3vw,2.5rem); }
.rac-site .rac-prose h3 { font-size:1.45rem; }
.rac-site .rac-prose ul,.rac-site .rac-prose ol { padding-left:1.3rem; }
.rac-site .rac-prose li+li { margin-top:.6rem; }
.rac-site .rac-prose a { text-decoration:underline; }
.rac-site .rac-prose blockquote { margin:1.5rem 0; border-left:4px solid var(--rac-green-ink); padding:1rem 1.5rem; background:var(--rac-sky); }
.rac-site .rac-reading-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:clamp(2rem,5vw,5rem); }
.rac-site .rac-topic-nav { font-size:.95rem; border-top:3px solid var(--rac-red); padding-top:1rem; }
.rac-site .rac-topic-nav h2 { font-size:1.2rem; }
.rac-site .rac-topic-nav ul { list-style:none; padding:0; margin-top:1rem; }
.rac-site .rac-topic-nav a { display:block; padding:.6rem 0; border-bottom:1px solid var(--rac-line); }
.rac-site .rac-reading-nav { padding-block:2rem; }
.rac-site .rac-reading-nav ul { columns:2 270px; column-gap:3rem; padding-left:1.2rem; margin-top:1rem; }
.rac-site .rac-reading-nav li { break-inside:avoid; }
.rac-site .rac-reading-nav a { display:inline-block; padding-block:.5rem; }
.rac-site .rac-table-wrap { overflow-x:auto; max-width:100%; border:1px solid var(--rac-line); border-radius:11px; }
.rac-site .rac-table-wrap:focus-visible { outline-offset:2px; }
.rac-site table { border-collapse:collapse; width:100%; font-size:.95rem; }
.rac-site caption { text-align:left; font-weight:700; padding:1rem; }
.rac-site th,.rac-site td { text-align:left; vertical-align:top; padding:1rem; border-bottom:1px solid var(--rac-line); }
.rac-site th { background:var(--rac-sky); font-weight:700; }
.rac-site .rac-proof-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,5vw,4rem); align-items:center; }
.rac-site .rac-proof-layout:not(:has(>figure)) { grid-template-columns:1fr; }
.rac-site .rac-proof-quotes { display:grid; gap:1.25rem; }
.rac-site .rac-quote { border-left:4px solid var(--rac-red); padding:1rem 1.5rem; }
.rac-site .rac-quote blockquote { margin:0; font-size:clamp(1.1rem,1.7vw,1.4rem); }
.rac-site .rac-quote figcaption { margin-top:1rem; font-weight:700; font-size:.9rem; }
.rac-site .rac-faq-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,5vw,5rem); }
.rac-site .rac-faq-layout > div > h2 { margin-top:1rem; }
.rac-site .rac-faq { border-bottom:1px solid var(--rac-line); padding-block:.7rem; }
.rac-site .rac-faq:first-child { border-top:1px solid var(--rac-line); }
.rac-site .rac-faq summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; font-size:1.1rem; padding:.8rem 0; list-style:none; }
.rac-site .rac-faq summary::-webkit-details-marker { display:none; }
.rac-site .rac-faq summary span { color:var(--rac-red-deep); font-size:1.5rem; }
.rac-site .rac-faq[open] summary span { transform:rotate(45deg); }
.rac-site .rac-faq .rac-prose { padding-bottom:1.2rem; }
.rac-site .rac-instructor { display:grid; grid-template-columns:180px minmax(0,1fr); gap:2rem; padding:2rem; border-radius:var(--rac-radius-large); background:var(--rac-red); color:white; }
.rac-site .rac-instructor .rac-photo { border-radius:50%; aspect-ratio:1; }
.rac-site .rac-instructor a { color:white; }
.rac-site .rac-instructor h3 { font-size:1.8rem; }
.rac-site .rac-instructor p { margin-top:.8rem; }
.rac-site .rac-enquiry-card { padding:clamp(1.25rem,3vw,2rem); border-radius:var(--rac-radius-large); background:white; color:var(--rac-ink); box-shadow:0 18px 40px rgb(0 0 0 / 15%); }
.rac-site .rac-enquiry-card h2 { font-size:clamp(1.65rem,2.7vw,2.2rem); margin-bottom:.8rem; }
.rac-site .rac-enquiry-card a:not(.rac-button) { color:var(--rac-red-deep); }
.rac-site .rac-enquiry-card :focus-visible { outline-color:var(--rac-green-ink); }
.rac-site .rac-enquiry-card .rac-card { padding:0; margin-top:1.2rem; box-shadow:none; border:0; }
.rac-site .rac-enquiry-card .rac-field { margin-top:1rem; }
.rac-site .rac-enquiry-card .rac-form-grid { gap:0 1rem; }
.rac-site .rac-enquiry-card .rac-field label { font-size:.9rem; }
.rac-site .rac-enquiry-card .rac-consent { font-size:.83rem; }
.rac-site .rac-enquiry-card > p { font-size:.95rem; }
.rac-site .rac-enquiry-card form+p,.rac-site .rac-enquiry-card .rac-card+p { margin-top:1rem; }
.rac-site .rac-enquiry-card .rac-button { width:100%; justify-content:center; }
.rac-site .rac-enquiry-explanation { max-width:42ch; }
.rac-site .rac-next-step > * + * { margin-top:1.5rem; }
.rac-site .rac-footer-heading { display:grid; grid-template-columns:1.5fr 1fr; gap:2rem; padding-bottom:2.5rem; border-bottom:1px solid rgb(255 255 255 / 20%); }
.rac-site .rac-footer-heading h2 { font-size:clamp(1.8rem,3vw,2.5rem); max-width:22ch; }
.rac-site .rac-footer-heading p { margin-top:1rem; }
.rac-site .rac-footer-heading a { display:block; }
.rac-site .rac-footer-columns { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:3rem; padding-block:2.5rem; }
.rac-site .rac-footer-columns h3 { color:var(--rac-lime); font-size:1.1rem; margin-bottom:1rem; }
.rac-site .rac-footer ul { list-style:none; margin:0; padding:0; }
.rac-site .rac-footer a { font-size:.95rem; }
.rac-site .rac-footer-bottom { border-top:1px solid rgb(255 255 255 / 20%); padding-top:2rem; }
.rac-site .rac-footer-bottom nav ul { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }
.rac-site .rac-footer-bottom p { margin-top:1.5rem; font-size:.85rem; color:#dbe3ed; }
.rac-site .rac-contact-note { padding:1.5rem; border-left:4px solid var(--rac-green-ink); background:var(--rac-sky); border-radius:0 16px 16px 0; }
.rac-site .rac-contact-note p+p { margin-top:1rem; }
.rac-site .rac-source-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.rac-site .rac-source-groups > :not(.rac-source-group) { grid-column:1 / -1; max-width:75ch; }
.rac-site .rac-source-groups > .rac-source-collection { max-width:none; }
.rac-site .rac-source-collection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.rac-site .rac-source-collection > :not(.rac-source-group) { grid-column:1 / -1; }
.rac-site .rac-source-group { padding:1.5rem; border-radius:var(--rac-radius-large); border:1px solid var(--rac-line); background:white; color:var(--rac-ink); }
.rac-site .rac-source-group > * + * { margin-top:1rem; }
.rac-site .rac-source-group a { color:var(--rac-red-deep) !important; }
.rac-site .rac-source-group > .rac-photo { margin-bottom:1.2rem; }
.rac-site .rac-source-group .rac-photo img { height:auto; }
.rac-site .rac-source-group ul { padding-left:1.2rem; }
.rac-site .rac-instructor-profile { display:grid; grid-template-columns:160px minmax(0,1fr); gap:.65rem 1.5rem; align-items:start; }
.rac-site .rac-instructor-profile > * { margin:0; grid-column:2; }
.rac-site .rac-instructor-profile > .rac-photo { grid-column:1; grid-row:1 / span 8; margin:0; }
.rac-site .rac-instructor-profile > .rac-photo img { width:160px; height:auto; }
.rac-site .rac-source-with-image { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:1.2rem 3rem; align-items:start; }
.rac-site .rac-source-with-image > :not(.rac-photo) { grid-column:1; }
.rac-site .rac-source-with-image > .rac-photo { grid-column:2; grid-row:1 / span 8; }
.rac-site .rac-source-with-image h2 { max-width:23ch; }
/* Photography is part of the composition, not a thumbnail under the headline.
   The intake stays in normal flow below it so its expanding fields never crop
   or cover the learner. Mobile keeps the landscape frame above the copy. */
.rac-site .rac-hero-photographic { position:relative; isolation:isolate; overflow:hidden; min-height:620px; display:flex; align-items:center; padding-block:3.25rem; }
.rac-site .rac-hero-photographic > .rac-hero-backdrop { position:absolute; inset:0; margin:0; border-radius:0; background:var(--rac-dark); z-index:-2; }
.rac-site .rac-hero-photographic > .rac-container { width:100%; }
.rac-site .rac-hero-backdrop picture,.rac-site .rac-hero-backdrop img { width:100%; height:100%; max-height:none; display:block; }
.rac-site .rac-hero-backdrop img { object-fit:cover; object-position:70% 15%; }
.rac-site .rac-hero-backdrop figcaption { position:absolute; right:1rem; bottom:1rem; z-index:1; max-width:44ch; border-radius:6px; padding:.4rem .7rem; color:white; background:rgba(19,34,55,.92); font-size:.75rem; }
.rac-site .rac-hero-photographic::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(19,34,55,.98) 0%,rgba(19,34,55,.9) 28%,rgba(19,34,55,.58) 48%,rgba(19,34,55,.08) 74%),linear-gradient(0deg,rgba(19,34,55,.35),transparent 40%); }
.rac-site .rac-hero-photographic .rac-hero-copy { max-width:610px; }
.rac-site .rac-hero-photographic .rac-hero-copy > * + * { margin-top:1.5rem; }
.rac-site .rac-hero-photographic h1 { font-size:clamp(2.6rem,4.7vw,4.3rem); max-width:17ch; }
.rac-site .rac-hero-photographic .rac-lead { max-width:46ch; font-size:1.12rem; line-height:1.65; }
.rac-site .rac-hero-photographic .rac-breadcrumb { max-width:56ch; }
.rac-site .rac-hero-photographic .rac-hero-wide { text-align:left; }
.rac-site .rac-hero-photographic .rac-hero-wide :where(h1,.rac-lead) { margin-inline:0; }
.rac-site[data-family="homepage"] .rac-hero-photographic { min-height:640px; }
.rac-site[data-family="homepage"] .rac-hero-backdrop img { object-position:50% 35%; }
.rac-site .rac-enquiry-band { padding-block:3rem; border-bottom:1px solid var(--rac-line); }
.rac-site .rac-enquiry-band .rac-split { align-items:center; gap:clamp(2rem,5vw,5rem); }
.rac-site .rac-enquiry-band h2 { font-size:clamp(2rem,3.4vw,3rem); max-width:12ch; }
.rac-site .rac-enquiry-band .rac-enquiry-card { box-shadow:none; border:1px solid var(--rac-line); }

/* Portraits get a deliberate, edge-to-edge editorial card. A bounded 4:5
   crop keeps the face and branded car; it is never stretched into a banner. */
.rac-site .rac-photo-card { padding:0; overflow:hidden; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); align-items:stretch; }
.rac-site .rac-photo-card > .rac-photo { margin:0; border-radius:0; height:100%; min-height:340px; position:relative; }
.rac-site .rac-photo-card > .rac-photo picture { position:absolute; inset:0; height:100%; }
.rac-site .rac-photo-card > .rac-photo img { height:100%; min-height:340px; object-fit:cover; object-position:50% 45%; }
.rac-site .rac-photo-card-copy { margin:0; padding:1.6rem; align-self:center; }
.rac-site .rac-photo-card-copy > * + * { margin-top:1rem; }
.rac-site .rac-photo-card-copy h3 { font-size:1.4rem; line-height:1.25; }
.rac-site .rac-card-grid-service .rac-link-card { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); }
.rac-site .rac-card-grid-service .rac-photo { height:100%; min-height:300px; position:relative; }
.rac-site .rac-card-grid-service .rac-photo picture { position:absolute; inset:0; height:100%; }
.rac-site .rac-card-grid-service .rac-photo img { min-height:300px; object-position:50% 45%; }
.rac-site .rac-card-grid-service .rac-link-card-copy { justify-content:center; }
.rac-site .rac-card-grid-service .rac-link-card-copy a { margin-top:0; }
.rac-site :is(.rac-photo-card,.rac-link-card) img[data-media-role="automatic-service"] { object-position:50% 58%; }
.rac-site :is(.rac-photo-card,.rac-link-card) img[data-media-role="manual-service"] { object-position:50% 35%; }
.rac-site :is(.rac-photo-card,.rac-link-card) img[data-media-role="automatic-support"] { object-position:100% 50%; }
.rac-site [id] { scroll-margin-top:1.5rem; }
@media(max-width:1200px) {
  .rac-site .rac-header-inner { gap:.7rem; }
  .rac-site .rac-navigation > ul > li > a,.rac-site .rac-navigation summary { padding-inline:.6rem; }
  .rac-site .rac-hero-grid { gap:2rem; }
}
@media(max-width:991px) {
  .rac-site .rac-photo-card,.rac-site .rac-card-grid-service .rac-link-card { display:flex; flex-direction:column; }
  .rac-site .rac-photo-card > .rac-photo,.rac-site .rac-card-grid-service .rac-photo { height:auto; min-height:0; }
  .rac-site .rac-photo-card > .rac-photo picture,.rac-site .rac-card-grid-service .rac-photo picture { position:static; height:auto; }
  .rac-site .rac-photo-card > .rac-photo img,.rac-site .rac-card-grid-service .rac-photo img { aspect-ratio:4/5; height:auto; min-height:0; }
  .rac-site .rac-photo-card-copy { align-self:stretch; }
  .rac-site .rac-hero-photographic,.rac-site[data-family="homepage"] .rac-hero-photographic { display:block; min-height:0; padding:0 0 2.5rem; }
  .rac-site .rac-hero-photographic > .rac-hero-backdrop { position:relative; height:auto; aspect-ratio:990/564; z-index:auto; }
  .rac-site[data-family="homepage"] .rac-hero-photographic > .rac-hero-backdrop { aspect-ratio:1366/520; }
  .rac-site[data-variant="nathan"] .rac-hero-photographic > .rac-hero-backdrop { aspect-ratio:1447/900; }
  .rac-site .rac-hero-backdrop figcaption { max-width:calc(100% - 2rem); bottom:.25rem; }
  .rac-site .rac-hero-photographic .rac-hero-backdrop img { object-position:center; }
  .rac-site .rac-hero-photographic::after { display:none; }
  .rac-site .rac-hero-photographic > .rac-hero-backdrop::after { content:''; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,var(--rac-dark)); pointer-events:none; }
  .rac-site .rac-hero-photographic > .rac-container { position:relative; padding-top:1rem; }
  .rac-site .rac-hero-photographic .rac-hero-copy { max-width:760px; }
  .rac-site .rac-header-inner { display:grid; grid-template-columns:1fr auto auto; gap:1rem; }
  .rac-site .rac-navigation { grid-column:1 / -1; grid-row:2; margin:0; width:100%; }
  .rac-site .rac-navigation > ul { display:block; }
  .rac-site .rac-navigation > ul > li { border-top:1px solid var(--rac-line); }
  .rac-site .rac-navigation summary { justify-content:space-between; }
  .rac-site .rac-nav-panel { position:static; width:100%; padding:.5rem 1rem 1rem; box-shadow:none; border:0; background:var(--rac-warm); border-radius:0; }
  .rac-site .rac-menu-toggle { grid-column:2; grid-row:1; }
  .rac-site .rac-header-book { grid-column:3; grid-row:1; }
  .rac-site .rac-hero-grid,.rac-site .rac-intro-layout { grid-template-columns:1fr; }
  .rac-site .rac-hero h1 { max-width:23ch; }
  .rac-site .rac-hero-grid .rac-enquiry-card { max-width:760px; width:100%; }
  .rac-site .rac-intro-layout > .rac-photo { max-width:650px; width:100%; }
  .rac-site .rac-intro-layout.rac-intro-reverse .rac-photo { order:0; }
  .rac-site .rac-card-grid-region,.rac-site .rac-card-grid-related { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rac-site .rac-reading-layout { grid-template-columns:1fr; gap:2.5rem; }
  .rac-site .rac-topic-nav ul { columns:2 200px; column-gap:2rem; }
  .rac-site .rac-faq-layout { grid-template-columns:1fr; }
}
@media(max-width:767px) {
  .rac-site .rac-utility > div > p { display:none; }
  .rac-site .rac-utility div > div { width:100%; justify-content:space-between; gap:.8rem; }
  .rac-site .rac-header-inner { grid-template-columns:1fr auto; gap:.5rem; }
  .rac-site .rac-logo { width:100px; }
  .rac-site .rac-header-book { grid-column:1 / -1; grid-row:2; justify-content:center; }
  .rac-site .rac-navigation { grid-row:3; }
  .rac-site .rac-nav-panel ul { grid-template-columns:1fr; }
  .rac-site .rac-hero h1 { font-size:clamp(2.2rem,9vw,3.3rem); }
  .rac-site .rac-card-grid-service,.rac-site .rac-card-grid-region,.rac-site .rac-card-grid-related { grid-template-columns:1fr; }
  .rac-site .rac-source-groups,.rac-site .rac-source-collection,.rac-site .rac-source-with-image { grid-template-columns:1fr; }
  .rac-site .rac-source-with-image > .rac-photo { grid-column:1; grid-row:auto; max-width:500px; }
  .rac-site .rac-instructor-profile { grid-template-columns:112px minmax(0,1fr); gap:.6rem 1rem; padding:1rem; }
  .rac-site .rac-instructor-profile > .rac-photo img { width:112px; }
  .rac-site .rac-proof-layout { grid-template-columns:1fr; }
  .rac-site .rac-proof-layout > .rac-photo { max-width:440px; }
  .rac-site .rac-section-heading { margin-bottom:2rem; }
  .rac-site .rac-instructor { grid-template-columns:85px minmax(0,1fr); padding:1.25rem; gap:1rem; align-items:start; }
  .rac-site .rac-instructor h3 { font-size:1.4rem; }
  .rac-site .rac-footer-heading,.rac-site .rac-footer-columns { grid-template-columns:1fr; gap:2rem; }
  .rac-site .rac-footer-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rac-site .rac-footer-columns nav:last-child { grid-column:1 / -1; }
}
@media(prefers-reduced-motion:no-preference) {
  .rac-site .rac-navigation summary span,.rac-site .rac-faq summary span { transition:transform .15s ease; }
}
@media(forced-colors:active) {
  .rac-site .rac-nav-panel,.rac-site .rac-enquiry-card,.rac-site .rac-link-card { border:1px solid CanvasText; }
}
