
/* Organisation and school programme pages */
.org-entry { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1fr); gap: clamp(26px, 5vw, 70px); align-items: center; margin-top: 32px; padding: clamp(26px, 4vw, 40px); border: 1px solid var(--line); border-radius: var(--radius-xl); background: var(--paper); }
.org-entry h3 { margin-bottom: 10px; font-size: clamp(1.7rem, 2.5vw, 2.35rem); }
.org-entry p { margin-bottom: 0; }
.org-entry-links { display: grid; gap: 12px; }
.org-entry-links a { display: grid; gap: 3px; padding: 17px 21px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--cream); text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.org-entry-links a:hover { border-color: var(--sage-deep); transform: translateY(-2px); }
.org-entry-links strong { color: var(--ink); font-family: var(--serif); font-size: 1.35rem; font-weight: 600; }
.org-entry-links span { color: var(--ink-soft); font-size: .88rem; }
.site-nav [aria-current="page"] { color: var(--ink); }
.programme-hero { padding-block: clamp(50px, 6vw, 76px); }
.programme-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); align-items: center; gap: clamp(36px, 6vw, 82px); }
.programme-hero .hero-copy { padding: 0; }
.programme-hero h1 { font-size: clamp(3rem, 5.6vw, 5.35rem); }
.programme-hero-photo { height: clamp(430px, 44vw, 580px); overflow: hidden; border-radius: 52% 52% 28px 28px / 32% 32% 28px 28px; box-shadow: var(--shadow); }
.programme-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.programme-hero-art { position: relative; min-height: 470px; overflow: hidden; border: 1px solid rgba(37,52,59,.09); border-radius: var(--radius-xl); background: radial-gradient(circle at 30% 26%, #fffef8, transparent 39%), linear-gradient(145deg, var(--sand-soft), #d5e9e9 56%, var(--sand)); box-shadow: var(--shadow); }
.art-orbit { position: absolute; border: 1px solid rgba(45,91,102,.24); border-radius: 50%; }
.art-orbit.one { width: 82%; aspect-ratio: 1; left: -21%; top: 10%; }
.art-orbit.two { width: 90%; aspect-ratio: 1; right: -35%; top: -29%; }
.art-word { position: absolute; top: 22%; left: 13%; color: var(--sage-deep); font-family: var(--serif); font-size: clamp(2.4rem, 4vw, 4.2rem); font-style: italic; }
.art-word.second { top: 48%; left: 31%; color: var(--terracotta-deep); }
.art-word.third { top: 72%; left: 17%; font-size: clamp(2rem, 3.3vw, 3.3rem); }
.programme-benefits, .programme-location-section, .programme-about { background: var(--paper); }
.programme-process, .programme-session-section, .programme-faq { background: var(--sand-soft); }
.programme-roadmap-section { background: var(--cream); }
.programme-card-grid { display: grid; gap: 20px; }
.programme-card-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.programme-card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.programme-card-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.programme-card { padding: clamp(24px, 3vw, 36px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); }
.programme-benefits .programme-card { background: var(--cream); }
.programme-card h3 { font-size: clamp(1.45rem, 1.8vw, 1.9rem); }
.programme-card p:last-child { margin-bottom: 0; }
.programme-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.programme-flow li { padding-top: 21px; border-top: 2px solid var(--sage-deep); }
.programme-flow li > span, .programme-roadmap article > span { display: block; margin-bottom: 18px; color: var(--terracotta-deep); font-size: .75rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.programme-flow h3, .programme-roadmap h3 { font-size: clamp(1.45rem, 1.8vw, 1.9rem); }
.programme-flow p, .programme-roadmap p { margin-bottom: 0; }
.programme-roadmap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.programme-roadmap.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.programme-roadmap article { min-height: 250px; padding: clamp(24px, 3vw, 35px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); }
.programme-roadmap article:nth-child(even) { background: var(--sand-soft); }
.programme-split { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1fr); gap: clamp(38px, 8vw, 105px); align-items: start; }
.programme-panel { padding: clamp(25px, 3vw, 37px); border: 1px solid var(--line); border-radius: var(--radius-xl); background: var(--paper); }
.programme-simple-list { margin: 0; padding-left: 1.5rem; }
.programme-simple-list li { padding: 10px 0 10px 8px; border-bottom: 1px solid var(--line); color: var(--ink-soft); }
.programme-simple-list li:last-child { border-bottom: 0; }
.programme-note { margin: 25px 0 0; }
.programme-price-section { background: var(--sand); }
.programme-price-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr); gap: clamp(40px, 8vw, 110px); align-items: center; }
.programme-price-card { padding: clamp(28px, 4vw, 45px); border: 1px solid var(--line); border-radius: var(--radius-xl); background: var(--paper); box-shadow: var(--shadow); }
.programme-price { margin-bottom: 15px; color: var(--ink); font-family: var(--serif); font-size: clamp(3.6rem, 6vw, 5.7rem); font-weight: 600; line-height: 1; white-space: nowrap; }
.programme-price span { font-family: var(--sans); font-size: 1.03rem; font-weight: 750; }
.programme-pilot { display: grid; gap: 3px; margin: 23px 0 12px; padding-top: 20px; border-top: 1px solid var(--line); }
.programme-pilot strong { color: var(--ink); font-size: .86rem; line-height: 1.35; }
.programme-pilot span { color: var(--sage-deep); font-family: var(--serif); font-size: 1.33rem; font-weight: 600; line-height: 1.3; }
.programme-price-card .button { margin-top: 10px; }
.programme-about .text-link { display: inline; }
.programme-final .contact-grid { align-items: center; }
@media (max-width: 1000px) { .programme-hero-grid { grid-template-columns: 1fr 1fr; } .programme-card-grid.four, .programme-flow, .programme-roadmap.four { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .org-entry, .programme-hero-grid, .programme-split, .programme-price-grid { grid-template-columns: 1fr; } .programme-hero-photo { height: 460px; } .programme-hero-art { min-height: 330px; } .programme-card-grid.three, .programme-roadmap { grid-template-columns: 1fr; } .programme-roadmap article { min-height: auto; } .programme-price { white-space: normal; } }
@media (max-width: 520px) { .programme-card-grid.two, .programme-card-grid.four, .programme-flow, .programme-roadmap.four { grid-template-columns: 1fr; } .programme-hero h1 { font-size: clamp(2.55rem, 11vw, 3.7rem); } .programme-hero-photo { height: 360px; } .programme-hero-art { min-height: 280px; } .programme-hero .hero-actions .button { width: 100%; } .programme-price-card .button { width: 100%; } }
