/* Selected design 14: Connected community. Only the public landing page uses this scope. */
.sw-community-design {
  position: relative;
  isolation: isolate;
  --sw-surface: var(--school-theme-soft);
  --sw-rule: var(--school-theme-border);
  --sw-page-gutter: clamp(24px, 4vw, 72px);
  --sw-editorial-font: Georgia, 'Times New Roman', serif;
}
/* The stationary board and one local signal sit below text, images and controls. */
.sw-community-design > .sw-circuit-background { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; display: block; stroke: none; filter: none; box-shadow: none; }
.sw-community-design .sw-circuit-base { fill: none; stroke: #b9c4ce; stroke-width: 1.15; opacity: .14; }
.sw-community-design .sw-circuit-chip,
.sw-community-design .sw-circuit-terminal { fill: white; }
.sw-community-design .sw-circuit-field { stroke: none; }
.sw-community-design .sw-circuit-local-packet { fill: none; stroke: var(--school-theme-link); stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: var(--packet-dash); opacity: 0; animation: school-circuit-local-packet var(--packet-duration) linear var(--packet-delay) both; }
.sw-community-design .sw-circuit-local-route { fill: none; stroke: var(--school-theme-link); stroke-width: 1; opacity: 0; animation: school-circuit-local-route var(--packet-duration) ease var(--packet-delay) both; }
.sw-community-design .sw-circuit-local-junction { opacity: 0; animation: school-circuit-local-spark .35s ease-out var(--packet-delay) both; }
.sw-community-design .sw-circuit-local-junction path { fill: var(--school-theme-link); stroke: var(--school-theme-link); stroke-width: .8; }
.sw-community-design .sw-circuit-local-junction circle { fill: white; stroke: none; }
.sw-community-design.sw-circuit-suspended > .sw-circuit-background { visibility: hidden; }
.sw-community-design .sw-section-container,
.sw-community-design .sw-hero-inner,
.sw-community-design .sw-masthead,
.sw-community-design .sw-school-statistics { position: relative; z-index: 2; }
.sw-community-design #school-circuit-motion { background: transparent; color: inherit; padding: 8px 0; min-height: 44px; text-align: start; font-size: inherit; }
.sw-community-design #school-circuit-motion:hover { text-decoration: underline; text-underline-offset: 4px; }
@keyframes school-circuit-local-packet {
  0% { stroke-dashoffset: var(--packet-from); opacity: 0; }
  10%, 80% { opacity: .8; }
  100% { stroke-dashoffset: var(--packet-to); opacity: 0; }
}
@keyframes school-circuit-local-route { 0%, 100% { opacity: 0; } 20%, 65% { opacity: .12; } }
@keyframes school-circuit-local-spark { 0%, 100% { opacity: 0; } 25%, 45% { opacity: .75; } }
.sw-community-design .sw-masthead,
.sw-community-design .sw-navigation-inner { padding-inline: var(--sw-page-gutter); }
.sw-community-design .sw-page-section { padding: 52px var(--sw-page-gutter); }
.sw-community-design .sw-hero { isolation: auto; padding: 42px var(--sw-page-gutter) 0; background: var(--sw-surface); }
.sw-community-design .sw-hero-inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); }
.sw-community-design .sw-hero h1 { font-size: clamp(42px, 4.45vw, 64px); max-width: 18ch; line-height: 1.03; letter-spacing: -.04em; margin-bottom: 22px; }
.sw-community-design .sw-hero-slogan { font-size: 26px; margin-bottom: 24px; }
.sw-community-design .sw-platform-message .sw-original-message { font-size: 17px; line-height: 1.75; hyphens: manual; }
.sw-community-design .sw-button { border-radius: 28px; }
.sw-community-design .sw-hero-actions { margin-top: 26px; gap: 12px; }
.sw-community-design .sw-hero-actions .sw-button { padding: 11px 23px; }
.sw-community-design .sw-welcome-film { width: 100%; max-width: 568px; }
.sw-community-design .sw-film-stage { position: relative; isolation: isolate; padding: 32px 24px; }
.sw-community-design .sw-film-stage::before { content: ''; position: absolute; z-index: -1; inset: 0; background: var(--school-theme); border: 1px solid var(--school-theme-link); border-radius: 40% 10% 40% 10%; }
.sw-community-design .sw-film-window { width: 100%; max-width: 520px; aspect-ratio: 16 / 9; border: 0; outline: 5px solid white; border-radius: 2px; }
.sw-community-design .sw-video-start { border: 2px solid white; }
.sw-community-design .sw-discover-link { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 66px; margin-top: 32px; padding-block: 16px; border-top: 1px solid var(--sw-rule); font-size: 14px; font-weight: 650; text-decoration: none; }
.sw-community-design .sw-discover-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.sw-community-design .sw-discover-link svg { width: 22px; height: 22px; }

/* A school-owned chapter boundary, with links only to saved public information. */
.sw-community-design .sw-about-identity { padding: 38px var(--sw-page-gutter); background: var(--school-theme); color: var(--school-on-theme); border-radius: 0 0 80px 0; }
.sw-community-design .sw-about-banner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.sw-community-design .sw-about-heading { min-width: 0; margin: 0; }
.sw-community-design .sw-about-heading h2 { font-size: clamp(42px, 4.5vw, 64px); font-weight: 750; line-height: 1.07; letter-spacing: -.04em; max-width: 12ch; }
.sw-community-design .sw-about-chapters { display: flex; flex-wrap: wrap; gap: 0 28px; margin-top: 22px; }
.sw-community-design .sw-about-chapters a { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; text-underline-offset: 6px; }
.sw-community-design .sw-about-identity :focus-visible { outline-color: var(--school-on-theme); }
.sw-community-design .sw-about-crest { display: grid; place-items: center; width: 170px; height: 170px; flex: none; background: white; border-radius: 50%; }
.sw-community-design .sw-about-crest img { width: 120px; height: 144px; object-fit: contain; }
.sw-community-design .sw-entered .sw-about-crest { animation: school-crest-enter .65s ease-out both; }
@keyframes school-crest-enter { from { transform: translateY(12px) rotate(-4deg); } to { transform: translateY(0) rotate(0); } }
.sw-community-design .sw-about-layout { padding: 16px var(--sw-page-gutter) 52px; }
.sw-community-design .sw-about-content { display: block; }
.sw-community-design .sw-school-overview { padding-block: 32px; max-width: 90ch; }
.sw-community-design .sw-school-description + .sw-school-description { margin-top: 16px; }
.sw-community-design .sw-history-story,
.sw-community-design .sw-purpose-statement,
.sw-community-design .sw-about-values { display: grid; grid-template-columns: minmax(170px, .65fr) minmax(0, 1.65fr); gap: 24px 48px; margin: 0; padding: 34px 0; border: 0; border-bottom: 1px solid var(--sw-rule); }
.sw-community-design .sw-history-story h3,
.sw-community-design .sw-purpose-statement h3,
.sw-community-design .sw-about-values h3 { align-self: start; font-family: var(--sw-editorial-font); font-size: 30px; font-weight: 400; line-height: 1.25; max-width: 13ch; margin: 0; color: var(--school-theme-link); }
.sw-community-design .sw-story-prose,
.sw-community-design .sw-purpose-copy { min-width: 0; max-width: 84ch; }
.sw-community-design .sw-story-prose > p,
.sw-community-design .sw-history-prose p,
.sw-community-design .sw-school-description { font-size: 18px; line-height: 1.8; text-align: justify; text-indent: 0; hyphens: manual; overflow-wrap: anywhere; }
.sw-community-design .sw-purpose-grid { display: block; }
.sw-community-design .sw-purpose-statement + .sw-purpose-statement { border-top: 0; padding-top: 34px; }
.sw-community-design .sw-purpose-copy p { font-size: 22px; line-height: 1.6; hyphens: manual; }
.sw-community-design .sw-history-story .sw-history { margin-top: 16px; border-bottom: 0; }
.sw-community-design .sw-history-prose { padding-bottom: 0; }
.sw-community-design .sw-about-values ul { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-left: 20px; gap: 18px 28px; }
.sw-community-design .sw-about-values li { font-size: 19px; }
.sw-community-design .sw-about-values h4 { font: 650 20px/1.35 var(--font); margin: 0; }
.sw-community-design .sw-about-values li p { font-size: 17px; line-height: 1.65; margin-top: 10px; }

/* The same type hierarchy and school surfaces continue through practical sections. */
.sw-community-design .sw-learning-section { background: var(--sw-surface); }
.sw-community-design .sw-section-heading { gap: 24px 48px; }
.sw-community-design .sw-learning-section h2,
.sw-community-design .sw-admissions h2 { font: 400 clamp(36px, 3.7vw, 49px)/1.12 var(--sw-editorial-font); letter-spacing: -.035em; }
.sw-community-design .sw-learning-section .sw-section-heading > div { max-width: 76ch; }
.sw-community-design .sw-section-heading p { max-width: 76ch; }
.sw-community-design .sw-learning-section .sw-section-heading > a { align-self: flex-end; }
/* Design 02: a connected school-stage path, followed by distinct academic rows. */
.sw-community-design .sw-stage-progression { margin: 26px 0 12px; }
.sw-community-design .sw-stage-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 20px; }
.sw-community-design .sw-stage-heading h3 { font-size: 19px; margin: 0; }
.sw-community-design .sw-stage-motion-control { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid var(--school-theme-border); border-radius: 50%; color: var(--school-theme-link); background: transparent; cursor: pointer; box-shadow: none; }
.sw-community-design .sw-stage-motion-control[hidden] { display: none; }
.sw-community-design .sw-stage-motion-control input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.sw-community-design .sw-stage-motion-control:has(input:focus-visible) { outline: 2px solid var(--school-theme-link); outline-offset: 4px; }
.sw-community-design .sw-stage-motion-control svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.sw-community-design .sw-stage-motion-control .sw-stage-icon--play,
.sw-community-design .sw-stage-motion-control:has(input:checked) .sw-stage-icon--pause { display: none; }
.sw-community-design .sw-stage-motion-control:has(input:checked) .sw-stage-icon--play { display: block; }
.sw-community-design .sw-stage-path { display: grid; grid-template-columns: repeat(var(--school-stage-count), minmax(0, 1fr)); padding: 20px 0 0; margin: 0; list-style: none; }
.sw-community-design .sw-stage-stop { position: relative; min-width: 0; padding: 46px 0 24px; text-align: center; --sw-stage-vertical: 0; --stage-burst-width: 1; --stage-burst-height: 1; --stage-node-left: calc((100% - 14px) * var(--school-stage-index) / max(1, var(--school-stage-count) - 1)); --stage-track-width: calc((100% * var(--school-stage-count) - 14px) / max(1, var(--school-stage-count) - 1)); }
.sw-community-design .sw-stage-stop:not(:last-child)::before,
.sw-community-design .sw-stage-stop:not(:last-child)::after { content: ''; position: absolute; left: calc(var(--stage-node-left) + 7px); width: var(--stage-track-width); top: 6px; height: 2px; background: var(--school-theme-border); pointer-events: none; }
.sw-community-design .sw-stage-stop:not(:last-child)::after { top: 5.5px; height: 3px; background: var(--school-theme-link); border-radius: 2px; opacity: 0; }
.sw-community-design .sw-stage-node { position: absolute; z-index: 1; left: var(--stage-node-left); top: 0; width: 14px; height: 14px; border-radius: 50%; background: var(--school-theme-link); color: var(--school-theme-link); pointer-events: none; }
.sw-community-design .sw-stage-node::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: white; opacity: 0; }
.sw-community-design .sw-stage-node i { position: absolute; inset: -1px; border: 1.5px solid currentColor; border-radius: 50%; opacity: 0; }
.sw-community-design .sw-stage-node b { position: absolute; left: 5px; top: 5px; width: 6px; height: 10px; background: currentColor; opacity: 0; --stage-spark-x: -40px; --stage-spark-y: -16px; --stage-spark-order: 0; }
.sw-community-design .sw-stage-node b:nth-of-type(2) { --stage-spark-x: -22px; --stage-spark-y: -36px; --stage-spark-order: 1; }
.sw-community-design .sw-stage-node b:nth-of-type(3) { --stage-spark-x: 0px; --stage-spark-y: -38px; --stage-spark-order: 2; }
.sw-community-design .sw-stage-node b:nth-of-type(4) { --stage-spark-x: 22px; --stage-spark-y: -36px; --stage-spark-order: 3; }
.sw-community-design .sw-stage-node b:nth-of-type(5) { --stage-spark-x: 40px; --stage-spark-y: -12px; --stage-spark-order: 4; }
.sw-community-design .sw-stage-node b:nth-of-type(6) { --stage-spark-x: 34px; --stage-spark-y: 24px; --stage-spark-order: 5; }
.sw-community-design .sw-stage-node b:nth-of-type(7) { --stage-spark-x: 0px; --stage-spark-y: 28px; --stage-spark-order: 6; }
.sw-community-design .sw-stage-node b:nth-of-type(8) { --stage-spark-x: -34px; --stage-spark-y: 24px; --stage-spark-order: 7; }
.sw-community-design .sw-stage-node b:nth-of-type(odd) { width: 10px; height: 10px; clip-path: polygon(50% 0, 63% 36%, 100% 50%, 63% 63%, 50% 100%, 37% 63%, 0 50%, 37% 37%); }
.sw-community-design .sw-stage-stop h4 { margin: 0 0 9px; font-size: 21px; line-height: 1.35; }
.sw-community-design .sw-stage-stop ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 0; padding: 0; list-style: none; font-size: 17px; line-height: 1.6; }
.sw-community-design .sw-stage-stop:first-child { text-align: start; }
.sw-community-design .sw-stage-stop:last-child { text-align: end; }
.sw-community-design .sw-stage-stop:first-child ul { justify-content: flex-start; }
.sw-community-design .sw-stage-stop:last-child ul { justify-content: flex-end; }
.sw-community-design .sw-stage-stop:only-child { text-align: start; }
.sw-community-design .sw-stage-stop:only-child ul { justify-content: flex-start; }
.sw-community-design .sw-stage-stop.is-stage-active::after { animation: school-stage-travel 2.4s linear both; }
.sw-community-design .is-stage-active .sw-stage-node::after { animation: school-stage-shine 1s ease-out both; }
.sw-community-design .is-stage-active .sw-stage-node i { animation: school-stage-ripple 1.3s ease-out both; }
.sw-community-design .is-stage-active .sw-stage-node b { animation: school-stage-spark 1.15s cubic-bezier(.2,.7,.3,1) calc(var(--stage-spark-order) * 25ms) both; }
.sw-community-design .sw-learning-enquiry { display: flex; justify-content: space-between; align-items: center; gap: 12px 32px; padding-top: 8px; }
.sw-community-design .sw-learning-enquiry p { margin: 0; font-size: 16px; }
.sw-community-design .sw-learning-enquiry a { flex-shrink: 0; }
.sw-community-design .sw-stage-path--stacked { display: block; padding: 0; }
.sw-community-design .sw-stage-path--stacked .sw-stage-stop { --sw-stage-vertical: 1; --stage-burst-width: 1; --stage-burst-height: .7; min-height: 108px; padding: 0 0 24px 34px; text-align: start; }
.sw-community-design .sw-stage-path--stacked .sw-stage-stop ul { justify-content: flex-start; }
.sw-community-design .sw-stage-path--stacked .sw-stage-node { top: 7px; left: 0; }
.sw-community-design .sw-stage-path--stacked .sw-stage-stop:not(:last-child)::before,
.sw-community-design .sw-stage-path--stacked .sw-stage-stop:not(:last-child)::after { top: 14px; bottom: -14px; left: 6px; right: auto; width: 2px; height: auto; }
.sw-community-design .sw-stage-path--stacked .sw-stage-stop:not(:last-child)::after { left: 5.5px; width: 3px; animation-name: school-stage-travel-vertical; }
.sw-community-design .sw-stage-path--stacked .sw-stage-node b { --stage-spark-x: -13px; }
.sw-community-design .sw-stage-path--stacked .sw-stage-node b:nth-of-type(even) { --stage-spark-x: 13px; }
.sw-community-design .sw-stage-path--stacked .sw-stage-node i { animation-name: school-stage-ripple-narrow; }
@keyframes school-stage-travel { 0% { opacity: 0; clip-path: inset(0 100% 0 0); } 5% { opacity: 1; clip-path: inset(0 90% 0 0); } 95% { opacity: 1; clip-path: inset(0 0 0 90%); } 100% { opacity: 0; clip-path: inset(0 0 0 100%); } }
@keyframes school-stage-travel-vertical { 0% { opacity: 0; clip-path: inset(0 0 100% 0); } 5% { opacity: 1; clip-path: inset(0 0 90% 0); } 95% { opacity: 1; clip-path: inset(90% 0 0 0); } 100% { opacity: 0; clip-path: inset(100% 0 0 0); } }
@keyframes school-stage-shine { 0%, 100% { opacity: 0; transform: scale(.5); } 15%, 40% { opacity: 1; transform: scale(1); } }
@keyframes school-stage-ripple { 0% { opacity: .85; transform: scale(.9); } 100% { opacity: 0; transform: scale(4.2); } }
@keyframes school-stage-ripple-narrow { 0% { opacity: .85; transform: scale(.9); } 100% { opacity: 0; transform: scale(2.7); } }
@keyframes school-stage-spark { 0% { opacity: 0; transform: translate(0, 0) scale(.5); } 12%, 30% { opacity: 1; } 70% { opacity: .75; } 100% { opacity: 0; transform: translate(calc(var(--stage-spark-x) * var(--stage-burst-width)), calc(var(--stage-spark-y) * var(--stage-burst-height))) rotate(100deg) scale(.8); } }
@media (min-width: 701px) and (max-width: 1200px) { .sw-community-design .sw-stage-stop { --stage-burst-width: .65; } }
@media (max-width: 700px) {
  .sw-community-design .sw-stage-heading { align-items: flex-start; flex-wrap: wrap; gap: 0 16px; margin-bottom: 16px; }
  .sw-community-design .sw-stage-heading h3 { padding-block: 10px; }
  .sw-community-design .sw-stage-path { display: block; padding: 0; }
  .sw-community-design .sw-stage-path .sw-stage-stop { --sw-stage-vertical: 1; --stage-burst-width: 1; --stage-burst-height: .7; min-height: 108px; padding: 0 0 24px 34px; text-align: start; }
  .sw-community-design .sw-stage-path .sw-stage-stop ul { justify-content: flex-start; }
  .sw-community-design .sw-stage-stop:last-child { min-height: 0; padding-bottom: 16px; }
  .sw-community-design .sw-stage-path .sw-stage-node { top: 7px; left: 0; }
  .sw-community-design .sw-stage-stop:not(:last-child)::before,
  .sw-community-design .sw-stage-stop:not(:last-child)::after { top: 14px; bottom: -14px; left: 6px; right: auto; width: 2px; height: auto; }
  .sw-community-design .sw-stage-stop.is-stage-active::after { left: 5.5px; width: 3px; animation-name: school-stage-travel-vertical; }
  .sw-community-design .sw-stage-path .sw-stage-node b { --stage-spark-x: -13px; }
  .sw-community-design .sw-stage-path .sw-stage-node b:nth-of-type(even) { --stage-spark-x: 13px; }
  .sw-community-design .sw-stage-path .sw-stage-node i { animation-name: school-stage-ripple-narrow; }
  .sw-community-design .sw-learning-enquiry { display: block; padding-top: 0; }
  .sw-community-design .sw-learning-enquiry a { margin-top: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .sw-community-design .sw-stage-motion-control { display: none; }
  .sw-community-design .sw-stage-stop::after,
  .sw-community-design .sw-stage-node::after,
  .sw-community-design .sw-stage-node i,
  .sw-community-design .sw-stage-node b { animation: none; display: none; }
}
.sw-community-design .sw-school-curriculum:not(:empty) { display: block; padding: 0; }
.sw-community-design .sw-curriculum-pair { display: block; max-width: none; }
.sw-community-design .sw-curriculum-pair + .sw-curriculum-pair { padding: 0; border: 0; }
.sw-community-design .sw-academic-structure h3 { font-size: 19px; }
.sw-community-design .sw-academic-overview { display: block; padding: 0; margin-bottom: 24px; border: 0; background: transparent; }
.sw-community-design .sw-academic-overview > div { min-width: 0; padding: 0; }
.sw-community-design .sw-academic-overview h3 { font-size: 21px; margin: 0; color: var(--school-theme-link); }
.sw-community-design .sw-academic-row { display: grid; grid-template-columns: minmax(170px, .65fr) minmax(0, 1.65fr); gap: 16px 48px; padding: 24px 0; border-bottom: 1px solid var(--sw-rule); }
.sw-community-design .sw-academic-row-content { min-width: 0; margin: 0; }
.sw-community-design .sw-academic-row-content p + p { margin-top: 12px; }
.sw-community-design .sw-academic-overview ul { padding-left: 18px; }
.sw-community-design .sw-academic-overview p,
.sw-community-design .sw-academic-overview li { font-size: 18px; line-height: 1.5; }
.sw-community-design .sw-curriculum-pair--default p { line-height: 1.75; }
.sw-community-design .sw-curriculum-pair--default p + p { margin-top: 16px; }
.sw-community-design .sw-academic-detail summary { min-height: 72px; padding: 22px 0; }
.sw-community-design .sw-academic-detail strong { font-size: 23px; }
.sw-community-design .sw-programme-list { padding-left: 28px; }
.sw-community-design .sw-programme-list article { padding-block: 18px; }
.sw-community-design .sw-programme-list h3 { font-size: 18px; font-weight: 600; }
.sw-community-design .sw-study-facts { font-size: 14px; gap: 6px 20px; }
.sw-community-design .sw-entry-requirements summary { font-size: 15px; }
.sw-community-design .sw-student-life { background: white; }
.sw-community-design .sw-student-life > .sw-section-container { grid-template-columns: minmax(0, .65fr) minmax(0, 1.65fr); gap: 48px; }
.sw-community-design .sw-student-life h2,
.sw-community-design .sw-daily-section h2,
.sw-community-design .sw-news-section h2 { font: 400 clamp(32px, 3vw, 39px)/1.15 var(--sw-editorial-font); letter-spacing: -.025em; }
.sw-community-design .sw-student-life-grid { gap: 28px; }
.sw-community-design .sw-student-life-grid h3 { font-size: 22px; }
/* Selected Student Life design 01: bounded illustration, then six public topics. */
.sw-community-design .sw-student-life--overview > .sw-section-container { display: block; }
.sw-community-design .sw-life-overview { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 60px; align-items: center; margin-bottom: 32px; }
.sw-community-design .sw-life-heading { min-width: 0; }
.sw-community-design .sw-life-heading h2 { font: 400 clamp(39px, 4vw, 52px)/1.06 var(--sw-editorial-font); letter-spacing: -.04em; margin: 0; }
.sw-community-design .sw-life-heading > p { font-size: 18px; line-height: 1.5; color: var(--muted); max-width: 58ch; margin-top: 17px; text-align: start; }
.sw-community-design .sw-life-icon { width: 56px; height: 56px; color: var(--school-theme-link); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sw-community-design .sw-life-constellation { position: relative; min-height: 230px; max-width: 450px; width: 100%; margin: auto; color: var(--school-theme-link); pointer-events: none; }
.sw-community-design .sw-life-orbit { position: absolute; inset: 10px 48px; border: 1px solid var(--school-theme-border); border-radius: 50%; transform: rotate(-18deg); }
.sw-community-design .sw-life-orbit--two { inset: 35px 8px; transform: rotate(15deg); }
.sw-community-design .sw-life-constellation-item { position: absolute; display: block; padding: 9px; background: var(--school-theme-soft); border: 1px solid var(--school-theme-border); border-radius: 18px; }
.sw-community-design .sw-life-constellation-item .sw-life-icon { width: 44px; height: 44px; }
.sw-community-design .sw-life-constellation-item--0 { left: 4%; top: 15%; }
.sw-community-design .sw-life-constellation-item--1 { left: 39%; top: 0; }
.sw-community-design .sw-life-constellation-item--2 { right: 3%; top: 19%; }
.sw-community-design .sw-life-constellation-item--3 { right: 9%; bottom: 2%; }
.sw-community-design .sw-life-constellation-item--4 { left: 42%; bottom: 0; }
.sw-community-design .sw-life-constellation-item--5 { left: 8%; bottom: 5%; }
.sw-community-design .sw-life-constellation-core { position: absolute; left: 44%; top: 39%; }
.sw-community-design .sw-life-constellation-core .sw-life-icon { width: 49px; height: 49px; }
/* One travelling light and a brief junction sparkle, confined to the illustration. */
.sw-community-design .sw-life-illustration { position: relative; width: 100%; max-width: 450px; margin: auto; }
.sw-community-design .sw-life-constellation { overflow: hidden; }
.sw-community-design .sw-life-connections { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; }
.sw-community-design .has-life-paths .sw-life-orbit { opacity: .25; }
.sw-community-design .sw-life-connection-base { fill: none; stroke: var(--school-theme-border); stroke-width: 1.25; }
.sw-community-design .sw-life-packet { fill: none; stroke: var(--school-theme-link); stroke-width: 4.5; stroke-linecap: round; stroke-dasharray: 24 110; stroke-dashoffset: 26; opacity: 0; }
.sw-community-design .sw-life-constellation-item,
.sw-community-design .sw-life-constellation-core { z-index: 1; }
.sw-community-design .sw-life-junction { color: var(--school-theme-link); opacity: 0; }
.sw-community-design .sw-life-junction-ring { fill: none; stroke: currentColor; stroke-width: 1.8; vector-effect: non-scaling-stroke; }
.sw-community-design .sw-life-junction-star { fill: currentColor; stroke: none; transform: scale(1.6); }
.sw-community-design .sw-life-junction-rays { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.sw-community-design .sw-life-junction > * { transform-box: fill-box; transform-origin: center; }
.sw-community-design .is-life-travelling .sw-life-packet { animation: school-life-travel 1.6s linear both; }
.sw-community-design .is-life-travelling .sw-life-junction { animation: school-life-junction .85s ease-out 1.3s both; }
.sw-community-design .is-life-travelling .sw-life-junction-ring { animation: school-life-ring .85s ease-out 1.3s both; }
.sw-community-design .is-life-travelling .sw-life-junction-rays { animation: school-life-rays .85s ease-out 1.3s both; }
.sw-community-design .sw-life-constellation-item.is-life-lit { animation: school-life-icon .85s ease-out 1.3s both; }
.sw-community-design .sw-life-motion-control { position: absolute; top: -10px; right: 0; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--school-theme-border); border-radius: 50%; background: white; color: var(--school-theme-link); cursor: pointer; box-shadow: none; }
.sw-community-design .sw-life-motion-control input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.sw-community-design .sw-life-motion-control:has(input:focus-visible) { outline: 2px solid var(--school-theme-link); outline-offset: 4px; }
.sw-community-design .sw-life-motion-control svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; pointer-events: none; }
.sw-community-design .sw-life-motion-control .sw-life-play-icon,
.sw-community-design .sw-life-motion-control:has(input:checked) .sw-life-pause-icon { display: none; }
.sw-community-design .sw-life-motion-control:has(input:checked) .sw-life-play-icon { display: block; }
@keyframes school-life-travel { 0% { stroke-dashoffset: 26; opacity: 0; } 6%, 88% { opacity: 1; } 100% { stroke-dashoffset: -100; opacity: 0; } }
@keyframes school-life-junction { 0%, 100% { opacity: 0; } 12%, 62% { opacity: 1; } }
@keyframes school-life-ring { 0% { opacity: 0; transform: scale(.6); } 20% { opacity: .9; } 100% { opacity: 0; transform: scale(3); } }
@keyframes school-life-rays { 0% { opacity: 0; transform: scale(.65); } 25% { opacity: 1; } 100% { opacity: 0; transform: scale(1.6); } }
@keyframes school-life-icon { 0%, 100% { border-color: var(--school-theme-border); } 20%, 62% { border-color: var(--school-theme-link); } }
@media (prefers-reduced-motion: reduce) {
  .sw-community-design .sw-life-packet,
  .sw-community-design .sw-life-junction { display: none; animation: none; }
  .sw-community-design .sw-life-junction > * { animation: none; }
  .sw-community-design .sw-life-constellation-item.is-life-lit { animation: none; }
}
.sw-community-design .sw-life-topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 34px; }
.sw-community-design .sw-life-topic { min-width: 0; border-top: 1px solid var(--sw-rule); padding-top: 20px; }
.sw-community-design .sw-life-topic > .sw-life-icon { margin-bottom: 16px; }
.sw-community-design .sw-life-topic-copy { min-width: 0; }
.sw-community-design .sw-life-topic h3 { font-size: 23px; line-height: 1.2; margin: 0 0 11px; }
.sw-community-design .sw-life-topic p,
.sw-community-design .sw-life-facilities p { font-size: 16px; line-height: 1.55; color: var(--muted); text-align: start; text-indent: 0; overflow-wrap: anywhere; max-width: 48ch; }
.sw-community-design .sw-life-topic-action { display: inline-flex; align-items: center; min-height: 44px; gap: 15px; font-size: 14px; font-weight: 700; margin-top: 7px; }
.sw-community-design .sw-life-saved-items { padding: 0; margin: 0; list-style: none; }
.sw-community-design .sw-life-saved-items li + li { margin-top: 18px; }
.sw-community-design .sw-life-saved-items h4 { font: 650 18px/1.35 var(--font); margin: 0 0 5px; overflow-wrap: anywhere; }
.sw-community-design .sw-life-item-detail { display: block; font-size: 14px; line-height: 1.5; color: var(--muted); margin-bottom: 6px; overflow-wrap: anywhere; }
.sw-community-design .sw-life-saved-items p + p { margin-top: 9px; }
.sw-community-design .sw-life-facilities { display: grid; grid-template-columns: minmax(180px, .65fr) minmax(0, 1.65fr); gap: 28px 48px; margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--sw-rule); }
.sw-community-design .sw-life-facilities h3 { font-size: 23px; margin: 0; }
.sw-community-design .sw-life-facilities .sw-life-saved-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 28px; }
.sw-community-design .sw-life-facilities .sw-life-saved-items li { margin: 0; }
.sw-community-design .sw-life-services { display: flex; flex-wrap: wrap; gap: 10px 28px; padding-left: 18px; margin: 18px 0 0; font-size: 16px; }
.sw-community-design .sw-life-services:first-child { margin-top: 0; }
.sw-community-design .sw-life-enquiry { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--sw-rule); }
.sw-community-design .sw-life-enquiry h3 { font-size: 22px; margin: 0 0 9px; }
.sw-community-design .sw-life-enquiry p { font-size: 16px; line-height: 1.5; color: var(--muted); }
.sw-community-design .sw-life-enquiry .sw-button { flex-shrink: 0; font-size: 15px; }
@media (max-width: 1000px) {
  .sw-community-design .sw-life-overview { gap: 30px; }
  .sw-community-design .sw-life-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .sw-community-design .sw-life-overview { grid-template-columns: minmax(0, 1fr); gap: 26px; margin-bottom: 25px; }
  .sw-community-design .sw-life-heading h2 { font-size: 39px; }
  .sw-community-design .sw-life-heading > p { font-size: 17px; margin-top: 15px; }
  .sw-community-design .sw-life-constellation { min-height: 205px; max-width: 350px; }
  .sw-community-design .sw-life-constellation-item .sw-life-icon { width: 37px; height: 37px; }
  .sw-community-design .sw-life-topics { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .sw-community-design .sw-life-topic { display: flex; gap: 17px; }
  .sw-community-design .sw-life-topic > .sw-life-icon { width: 43px; height: 43px; margin: 0; }
  .sw-community-design .sw-life-topic-action { min-height: 46px; }
  .sw-community-design .sw-life-facilities { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .sw-community-design .sw-life-facilities .sw-life-saved-items { grid-template-columns: minmax(0, 1fr); }
  .sw-community-design .sw-life-enquiry { display: block; margin-top: 26px; }
  .sw-community-design .sw-life-enquiry .sw-button { margin-top: 20px; }
}
.sw-community-design .sw-daily-section { padding-top: 0; border-top: 0; }
.sw-community-design .sw-daily-section > .sw-section-container { border-top: 1px solid var(--sw-rule); padding-top: 36px; }
.sw-community-design .sw-daily-layout { gap: 32px 56px; }
.sw-community-design .sw-daily-layout h3 { font-size: 22px; }
.sw-community-design .sw-admissions { background: var(--sw-surface); border-top: 3px solid var(--school-theme); padding-bottom: 36px; }
.sw-community-design .sw-admission-period { margin-top: 24px; }
.sw-community-design .sw-admissions-resources { gap: 8px 32px; }
.sw-community-design .sw-fees-section { padding-top: 0; background: var(--sw-surface); }
.sw-community-design .sw-fees-section .sw-section-heading h2 { font: 400 34px/1.2 var(--sw-editorial-font); }
.sw-community-design .sw-published-fee-schedule table { background: white; }
.sw-community-design .sw-published-fee-schedule th,
.sw-community-design .sw-published-fee-schedule td { padding: 14px 18px; }
.sw-community-design .sw-funding-info { padding: 22px 26px; background: white; border-left: 3px solid var(--school-theme); }
.sw-community-design .sw-royal-quotation { padding: 36px var(--sw-page-gutter); background: white; }
.sw-community-design .sw-royal-quotation > .sw-section-container { border-left: 3px solid var(--school-theme); padding-left: 28px; }
.sw-community-design .sw-royal-quotation blockquote { font-family: var(--sw-editorial-font); font-size: 25px; }
.sw-community-design .sw-royal-quotation cite { font-family: var(--font); }
.sw-community-design .sw-news-section { background: var(--sw-surface); border: 0; }
.sw-community-design .sw-calendar-panel { border-left: 1px solid var(--sw-rule); padding-left: 32px; }
.sw-community-design .sw-contact-section { padding: 48px var(--sw-page-gutter); }
.sw-community-design .sw-contact-section h2 { font: 400 clamp(32px, 3vw, 42px)/1.15 var(--sw-editorial-font); }
.sw-community-design .sw-contact-section h3 { font-size: 22px; }
.sw-community-design .sw-contact-section .sw-text-link { color: var(--school-on-theme); }
.sw-community-design .sw-site-footer { padding: 40px var(--sw-page-gutter) 22px; }
.sw-community-design .sw-school-statistics .stats { background: var(--sw-surface); }
.sw-community-design .sw-school-statistics .stat-number { color: var(--school-theme-link); }

@media (max-width: 1150px) {
  .sw-community-design .sw-hero-inner { gap: 32px; }
  .sw-community-design .sw-hero h1 { font-size: 48px; }
  .sw-community-design .sw-hero-actions .sw-button { padding-inline: 18px; }
  .sw-community-design .sw-history-story,
  .sw-community-design .sw-purpose-statement,
  .sw-community-design .sw-about-values { gap: 24px 32px; }
}
@media (max-width: 1100px) {
  .sw-community-design .sw-desktop-navigation { display: none; }
  .sw-community-design .sw-menu-toggle { display: inline-flex; }
  .sw-community-design .sw-navigation-inner { justify-content: space-between; }
}
@media (max-width: 900px) {
  .sw-community-design .sw-academic-row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .sw-community-design .sw-hero { padding-top: 32px; }
  .sw-community-design .sw-hero-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .sw-community-design .sw-hero h1 { font-size: clamp(40px, 6.4vw, 60px); max-width: 20ch; }
  .sw-community-design .sw-welcome-film { justify-self: start; }
  .sw-community-design .sw-about-heading h2 { font-size: 48px; }
  .sw-community-design .sw-about-crest { width: 145px; height: 145px; }
  .sw-community-design .sw-about-crest img { width: 100px; height: 125px; }
  .sw-community-design .sw-history-story,
  .sw-community-design .sw-purpose-statement,
  .sw-community-design .sw-about-values { grid-template-columns: minmax(0, 1fr); gap: 18px; padding-block: 28px; }
  .sw-community-design .sw-history-story h3,
  .sw-community-design .sw-purpose-statement h3,
  .sw-community-design .sw-about-values h3 { max-width: none; }
  .sw-community-design .sw-about-values ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-community-design .sw-student-life > .sw-section-container { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .sw-community-design .sw-learning-section .sw-section-heading > a { align-self: flex-start; }
  .sw-community-design .sw-calendar-panel { border: 0; padding-left: 0; }
}
@media (max-width: 560px) {
  .sw-community-design { --sw-page-gutter: 20px; }
  .sw-community-design .sw-page-section { padding-block: 36px; }
  .sw-community-design .sw-hero h1 { font-size: 41px; }
  .sw-community-design .sw-hero-slogan { font-size: 23px; margin-bottom: 18px; }
  .sw-community-design .sw-platform-message .sw-original-message { font-size: 16px; line-height: 1.7; text-align: start; }
  .sw-community-design .sw-hero-actions { gap: 10px; }
  .sw-community-design .sw-hero-actions .sw-button { font-size: 15px; padding: 10px 17px; min-height: 46px; }
  .sw-community-design .sw-film-stage { padding: 25px 15px; }
  .sw-community-design .sw-discover-link { margin-top: 22px; }
  .sw-community-design .sw-about-identity { padding-block: 28px; border-radius: 0 0 45px 0; }
  .sw-community-design .sw-about-banner { align-items: flex-start; gap: 16px; }
  .sw-community-design .sw-about-heading h2 { font-size: clamp(32px, 10vw, 39px); max-width: 12ch; }
  .sw-community-design .sw-about-chapters { gap: 0 20px; margin-top: 16px; }
  .sw-community-design .sw-about-chapters a { font-size: 14px; }
  .sw-community-design .sw-about-crest { width: 88px; height: 88px; margin-top: 4px; }
  .sw-community-design .sw-about-crest img { width: 62px; height: 74px; }
  .sw-community-design .sw-about-layout { padding-block: 8px 32px; }
  .sw-community-design .sw-history-story h3,
  .sw-community-design .sw-purpose-statement h3,
  .sw-community-design .sw-about-values h3 { font-size: 27px; }
  .sw-community-design .sw-story-prose > p,
  .sw-community-design .sw-history-prose p,
  .sw-community-design .sw-school-description { font-size: 17px; line-height: 1.75; text-align: start; }
  .sw-community-design .sw-purpose-copy p { font-size: 21px; text-align: start; }
  .sw-community-design .sw-about-values ul { grid-template-columns: minmax(0, 1fr); }
  .sw-community-design .sw-programme-list { padding-left: 12px; }
  .sw-community-design .sw-academic-overview { padding: 0; }
  .sw-community-design .sw-programme-list article { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .sw-community-design .sw-programme-list h3 { font-size: 17px; }
  .sw-community-design .sw-academic-detail strong { font-size: 21px; }
  .sw-community-design .sw-daily-section,
  .sw-community-design .sw-fees-section { padding-top: 0; }
  .sw-community-design .sw-fees-section .sw-section-heading h2 { font-size: 31px; }
  .sw-community-design .sw-royal-quotation > .sw-section-container { padding-left: 18px; }
  .sw-community-design .sw-royal-quotation blockquote { font-size: 22px; }
  .sw-community-design .sw-funding-info { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .sw-community-design .sw-entered .sw-about-crest { animation: none; }
  .sw-community-design #school-circuit-local-signals { display: none; }
  .sw-community-design #school-circuit-local-signals * { animation: none; }
}
