/* Finishing adjustments scoped to Programmes and Privacy. */
.programme-experience [hidden] { display:none !important; }
.programme-experience :is(a,button,input,summary):focus-visible { outline:3px solid #8b6508; outline-offset:4px; }
.programme-skip-link { position:fixed; top:-100px; left:16px; z-index:12000; background:#fff; color:#0f172a; padding:12px 20px; border:2px solid #8b6508; }
.programme-skip-link:focus { top:8px; }
.programme-search-section { flex-direction:column; align-items:center; gap:10px; width:min(900px,calc(100% - 48px)); margin:0 auto 40px; padding:24px; background:#0f172a; border-radius:22px; border-top:3px solid #d4af37; }
.programme-search-section>label { color:#fff; font-weight:700; font-size:1.05rem; }
.programme-search { width:min(760px,100%); padding:18px 22px; flex-wrap:wrap; gap:12px; }
.programme-search input { flex:1 1 180px; width:auto; min-width:0; min-height:44px; font-size:1rem; }
.programme-search input::placeholder { color:#64748b; }
.programme-search-section>p { margin:0; color:#fff; text-align:center; max-width:760px; font-size:.95rem; }
.programme-search-section button,.programme-search-empty button { border:1px solid #8b6508; border-radius:10px; background:#d4af37; color:#0f172a; padding:10px 16px; min-height:44px; font:inherit; font-weight:700; cursor:pointer; }
.programme-search-empty { text-align:center; background:#f8fafc; border:1px solid #e5e7eb; border-top:4px solid #d4af37; border-radius:18px; padding:40px 24px; margin:30px auto; max-width:760px; }
.programme-search-empty p { color:#475569; margin:16px 0 24px; }
#Catalogue .programme-card { display:flex; flex-direction:column; cursor:default; min-width:0; }
#Catalogue .programme-card .badge { align-self:flex-start; }
#Catalogue .programme-card h4 { flex:1; overflow-wrap:anywhere; }
#Catalogue .card-buttons { margin-top:24px; padding-top:12px; }
#Catalogue .card-buttons a { min-height:44px; display:inline-flex; align-items:center; }
#Catalogue .programme-card:hover h4,#Catalogue .card-buttons a:first-child:hover { color:#0f172a; }
#Catalogue .category:last-child { margin-bottom:0; }
.programme-experience .hero-card h2 { font-size:1.25rem; margin-bottom:25px; }
.programme-experience .quick-info h3 { font-size:1rem; margin-bottom:12px; color:#0f172a; }
.programme-experience .quick-info p { color:#765607; }
.privacy-content { max-width:960px; color:#1f2937; }
.privacy-content h1 { font-size:clamp(2rem,5vw,3.4rem); color:#0f172a; }
.privacy-content h2 { margin:32px 0 12px; font-size:1.35rem; color:#0f172a; text-align:left; }
.privacy-content p { line-height:1.8; margin:12px 0; }
.privacy-content a { color:#123e74; text-decoration:underline; overflow-wrap:anywhere; }
.privacy-eyebrow { color:#765607; font-weight:700; }
.privacy-content:hover { transform:none; }
/* The full desktop navigation does not fit at tablet/laptop widths. */
@media(max-width:1250px){
 .programme-experience .hamburger { display:inline-flex; }
 .programme-experience .site-header { justify-content:space-between; }
 .programme-experience .name-desktop { display:none; }
 .programme-experience .name-mobile { display:inline; }
 .programme-experience .main-nav { display:none; position:fixed; top:88px; right:18px; width:min(320px,calc(100vw - 32px)); max-height:calc(100vh - 120px); overflow-y:auto; overscroll-behavior:contain; flex-direction:column; align-items:stretch; padding:22px; background:#fff; border:1px solid #e5e7eb; border-radius:20px; box-shadow:0 24px 60px rgba(15,23,42,.18); z-index:1100; }
 .programme-experience .main-nav.open { display:flex; }
 .programme-experience .main-nav a { width:100%; margin-left:0; padding:12px 14px; font-size:.97rem; border-radius:12px; }
 .programme-experience .main-nav a::after { display:none; }
}
@media(max-width:768px){
 .programme-search-section { width:calc(100% - 28px); padding:20px 16px; }
 .programme-search { padding:14px 16px; }
 #Catalogue .category { margin-bottom:44px; }
 .programme-experience .quick-info h3 { margin-bottom:8px; }
}
@media(min-width:901px) and (max-width:1100px){
 .programme-experience .programme-hero { grid-template-columns:minmax(0,1fr); gap:32px; padding:56px 7%; }
 .programme-experience .hero-card { padding:28px; }
 .programme-experience .quick-info { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:0; padding:32px 7%; gap:16px; }
}
@media(prefers-reduced-motion:reduce){
 .programme-experience .programme-card,.programme-experience .paper { transition:none; }
 .programme-experience .programme-card:hover { transform:none; }
}
