/* Program navigation and editorial pages share the site's existing palette. */
.primary-nav { align-items:center; }
.program-dropdown { position:relative; }
.program-dropdown summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  padding-block:9px;
  list-style:none;
  cursor:pointer;
  font-size:.82rem;
  font-weight:500;
}
.program-dropdown summary::-webkit-details-marker { display:none; }
.dropdown-chevron {
  width:6px;
  height:6px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .2s;
}
.program-dropdown[open] .dropdown-chevron { transform:rotate(225deg); }
.program-dropdown.is-current>summary { text-decoration:underline; text-decoration-color:var(--yellow); text-decoration-thickness:3px; text-underline-offset:10px; }
.program-dropdown-panel {
  position:absolute;
  top:calc(100% + 14px);
  left:-22px;
  width:330px;
  padding:12px;
  background:var(--white);
  border:1px solid var(--line);
  border-top:3px solid var(--yellow);
  border-radius:4px 4px 16px 16px;
  box-shadow:0 18px 45px #29292912;
}
.primary-nav .program-dropdown-panel a {
  display:block;
  padding:11px 13px;
  border-radius:5px;
  font-size:.8rem;
  line-height:1.5;
}
.primary-nav .program-dropdown-panel a::after { content:none; }
.program-dropdown-panel a:hover,.program-dropdown-panel a[aria-current='page'] { background:var(--yellow-soft); }
.primary-nav .program-dropdown-panel a:first-child { margin-bottom:5px; border-bottom:1px solid var(--line); border-radius:0; }
.email-link { overflow-wrap:anywhere; }
.program-offerings a { display:flex; justify-content:space-between; gap:12px; text-decoration:none; }
.program-offerings a:hover { text-decoration:underline; }
.program-directory {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px;
  margin-top:48px;
}
.program-card {
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:6px 36px 6px 6px;
  background:var(--white);
  transition:border-color .2s,box-shadow .2s;
}
.program-card:hover { border-color:#c9b654; box-shadow:0 12px 32px #29292909; }
.program-card-image { display:block; overflow:hidden; background:var(--soft-grey); }
.program-card-image img { width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .6s; filter:saturate(1.05) contrast(1.03); }
.program-card:hover img { transform:scale(1.025); }
.program-card-content { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:30px; }
.program-card-content .label { margin-bottom:16px; font-size:.58rem; }
.program-card h2 { font-size:clamp(1.75rem,2.5vw,2.4rem); }
.program-card h2 a { text-decoration:none; }
.program-card h2 a:hover { text-decoration:underline; text-decoration-color:var(--yellow); }
.program-card p { margin:18px 0 24px; color:var(--muted); font-size:.9rem; }
.program-card .editorial-link { margin-top:auto; }
.breadcrumbs {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding-top:30px;
  color:var(--muted);
  font-size:.7rem;
}
.breadcrumbs a { text-decoration:none; }
.breadcrumbs a:hover { text-decoration:underline; }
.breadcrumbs [aria-current] { color:var(--ink); }
.program-hero {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  align-items:center;
  gap:clamp(32px,5vw,72px);
  padding-block:52px 76px;
}
.program-hero>* { min-width:0; }
.program-hero h1 { font-size:clamp(2.6rem,4.3vw,4.1rem); }
.program-hero .lead { margin-top:25px; max-width:470px; }
.program-hero .hero-ctas { gap:14px 24px; }
.program-art { margin:0; background:var(--soft-grey); border-radius:6px 80px 6px 6px; overflow:hidden; }
.program-art img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.program-art figcaption { padding:20px 22px; text-align:center; color:var(--muted); font-size:.65rem; letter-spacing:.035em; }
.program-story {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(32px,7vw,100px);
  padding-block:60px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.program-story h2 { max-width:390px; font-size:clamp(2rem,3vw,2.75rem); }
.anita-story-media { display:flex; flex-direction:column; }
.anita-portrait {
  margin:24px 0 0;
  width:min(100%,460px);
  aspect-ratio:4/5;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:6px 48px 6px 6px;
}
.anita-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.program-prose p { max-width:660px; color:var(--muted); }
.program-focus { padding-block:76px; }
.program-focus>h2 { max-width:700px; }
.focus-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:38px; }
.focus-grid article { border-top:3px solid var(--yellow); padding:26px 24px 30px; background:var(--soft-grey); }
.focus-number { display:block; margin-bottom:25px; font:italic 1.3rem var(--serif); color:var(--muted); }
.focus-grid h3 { font-size:1.5rem; margin-bottom:16px; }
.focus-grid p { color:var(--muted); font-size:.9rem; }
.program-next-step {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  align-items:center;
  gap:40px;
  padding:clamp(28px,4vw,52px);
  border-radius:4px 48px 4px 4px;
  background:var(--yellow-soft);
}
.program-next-step h2 { font-size:clamp(2rem,3vw,2.8rem); }
.program-next-step p { max-width:610px; margin-top:22px; color:var(--muted); font-size:.92rem; }
.enquiry-actions { display:flex; flex-direction:column; align-items:center; gap:18px; }
.enquiry-actions .email-link { font-size:.85rem; }
.social-links { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.social-links a {
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--ink);
  background:var(--white);
  transition:background .15s ease, border-color .15s ease;
}
.social-links a:hover { background:var(--yellow); border-color:var(--yellow); }
.social-links svg { width:18px; height:18px; }
.related-programs { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; padding-block:80px; }
.related-programs h2 { font-size:2.5rem; }
.related-program-links a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); text-decoration:none; font-size:.9rem; }
.related-program-links a:hover { color:var(--text-hover); border-color:var(--yellow); }
.related-program-links .all-programs-link { font-weight:600; }
.contact-email-card { margin-top:32px; padding:28px; background:var(--yellow-soft); border-left:3px solid var(--yellow); }
.contact-email-card .label { margin-bottom:12px; }
.contact-email-card>a { font:400 clamp(1.25rem,3vw,2rem) var(--serif); overflow-wrap:anywhere; }
.contact-email-card p { margin-top:14px; color:var(--muted); font-size:.88rem; }
.about-profile .program-hero { padding-top:clamp(48px,7vw,96px); }
.about-profile .about-mark { min-height:360px; width:100%; max-width:460px; justify-self:center; background:var(--yellow-soft); }
.about-profile .about-mark::before,.about-profile .about-mark::after { border-color:#d8c466; }
.about-profile .about-monogram { font-size:clamp(5rem,9vw,8rem); }
.anita-introduction { max-width:420px; margin-top:18px; color:var(--muted); font-size:.95rem; }
@media(max-width:1050px) {
  .program-hero { gap:32px; }
  .program-hero h1 { font-size:clamp(2.4rem,4.7vw,3.3rem); }
  .focus-grid { gap:18px; }
  .focus-grid article { padding-inline:20px; }
}
@media(max-width:900px) {
  .mobile-nav .program-dropdown summary { border-bottom:1px solid var(--line); font:400 clamp(1.7rem,5vw,2.5rem)/1.5 var(--serif); padding-block:9px; }
  .mobile-nav .dropdown-chevron { width:9px; height:9px; margin-right:5px; }
  .mobile-nav .program-dropdown-panel { position:static; width:100%; padding:8px 0 8px 16px; border:0; border-left:3px solid var(--yellow); border-radius:0; box-shadow:none; margin:14px 0; }
  .mobile-nav .program-dropdown-panel a { display:block; padding:10px 12px; font:400 .88rem/1.5 var(--sans); border:0; }
  .program-hero { grid-template-columns:1fr 1fr; }
  .program-next-step { grid-template-columns:1fr; gap:28px; }
  .enquiry-actions { align-items:flex-start; }
}
@media(max-width:750px) {
  .program-directory { gap:24px; }
  .program-card-content { padding:24px; }
  .program-hero { grid-template-columns:1fr; padding-block:36px 46px; }
  .program-hero h1 { font-size:clamp(2.3rem,7vw,3.4rem); }
  .program-art { max-width:520px; width:100%; justify-self:center; border-radius:6px 64px 6px 6px; }
  .program-art img { aspect-ratio:3/2; }
  .program-story { grid-template-columns:1fr; gap:28px; padding-block:40px; }
  .focus-grid { grid-template-columns:1fr; }
  .program-focus { padding-block:46px; }
  .related-programs { grid-template-columns:1fr; gap:26px; padding-block:50px; }
}
@media(max-width:550px) {
  .program-directory { grid-template-columns:1fr; margin-top:32px; }
  .breadcrumbs { font-size:.65rem; gap:7px; }
  .program-card h2 { font-size:1.9rem; }
  .program-art figcaption { font-size:.6rem; }
}
@media print {
  .program-dropdown-panel { display:none; }
  .program-card,.focus-grid article { break-inside:avoid; }
}
