/* Scoped to the Olympiades service page; shared UniEvent components stay intact. */
.page-olympiades main > section { scroll-margin-top:110px; }
.page-olympiades .oly-title-unit { white-space:nowrap; }
.page-olympiades .oly-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; padding-block:18px; font-size:14px; color:var(--muted); }
.page-olympiades .oly-breadcrumb a { text-decoration:underline; }
.page-olympiades .activity-hero { padding:12px 0 40px; }
.page-olympiades .activity-hero-grid { min-height:0; grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); gap:32px; }
.page-olympiades .activity-hero-copy { padding:32px 0; }
.page-olympiades .activity-hero h1 { max-width:760px; font-size:clamp(40px,4.3vw,62px); line-height:1.05; }
.page-olympiades .activity-hero-media { min-height:0; height:540px; }
.page-olympiades .activity-hero-intro { font-size:19px; margin-top:24px; }
.page-olympiades .activity-hero-actions { gap:20px; flex-wrap:wrap; }
.page-olympiades .oly-section { padding:44px 0; }
.page-olympiades .oly-section h2 { margin:0 0 22px; font-size:clamp(32px,3.3vw,48px); line-height:1.1; letter-spacing:-.035em; font-weight:610; text-wrap:balance; }
.page-olympiades .oly-section h3 { margin:0 0 10px; font-size:23px; line-height:1.2; letter-spacing:-.02em; }
.page-olympiades .oly-section p { margin:0 0 16px; font-size:16px; line-height:1.65; color:var(--muted); }
.page-olympiades .oly-section p:last-child { margin-bottom:0; }
.page-olympiades .oly-section p a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.page-olympiades .oly-section .activity-kicker { margin-bottom:18px; font-size:12px; color:var(--blue-deep); }
.page-olympiades .oly-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:center; }
.page-olympiades .oly-heading { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); gap:24px; align-items:end; margin-bottom:24px; }
.page-olympiades .oly-heading h2 { margin-bottom:0; }
.page-olympiades .oly-soft { background:var(--surface); }
.page-olympiades .oly-ledger { border-top:1px solid var(--line); }
.page-olympiades .oly-ledger article { padding:22px 0; border-bottom:1px solid var(--line); }
.page-olympiades .oly-ledger article strong { display:block; color:var(--blue-deep); margin-bottom:8px; font-size:15px; }
.page-olympiades .oly-ledger > p { margin-top:16px; font-size:15px; }
.page-olympiades .activity-showcase { min-height:0; height:370px; grid-auto-flow:dense; }
.page-olympiades .activity-format { min-height:0; }
.page-olympiades .activity-format-panel h3 { color:#fff; }
.page-olympiades .activity-format-panel p, .page-olympiades .activity-format-panel p a { color:#fff; }
.page-olympiades .activity-format-panel { padding:24px; }
.page-olympiades .oly-note { margin-top:24px!important; font-size:15px!important; }
.page-olympiades .oly-steps { display:grid; grid-auto-flow:dense; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.page-olympiades .oly-steps article { padding:24px; border-top:3px solid var(--blue); background:var(--surface); border-radius:0 0 16px 16px; }
.page-olympiades .oly-dark { background:radial-gradient(ellipse at 10% 80%,rgba(var(--accent-start-rgb),.16),transparent 55%),var(--ink-deep); color:#fff; }
.page-olympiades .oly-dark p, .page-olympiades .oly-dark p a { color:#e2e7ed; }
.page-olympiades .oly-dark .activity-kicker { color:var(--accent-start-light); }
.page-olympiades .oly-dark .oly-ledger, .page-olympiades .oly-dark article { border-color:rgba(255,255,255,.22); }
.page-olympiades .oly-photo { margin:0; border-radius:24px; overflow:hidden; height:360px; }
.page-olympiades .oly-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 42%; }
.page-olympiades .oly-testimonials blockquote { display:none; margin:0; }
.page-olympiades .oly-testimonials blockquote.is-active { display:block; }
.page-olympiades .oly-testimonials blockquote p { font-size:clamp(23px,2.2vw,32px); line-height:1.35; color:var(--ink); }
.page-olympiades .oly-testimonials footer { display:grid; gap:4px; font-size:15px; }
.page-olympiades .oly-testimonials footer span { color:var(--muted); }
.page-olympiades .oly-controls { display:flex; gap:16px; align-items:center; margin-top:24px; }
.page-olympiades .oly-controls button { width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); cursor:pointer; }
.page-olympiades .oly-controls button:hover { background:var(--ink); color:#fff; }
.page-olympiades .detail-faq summary { padding-block:17px; font-size:17px; }
.page-olympiades .detail-faq details > p { padding-bottom:16px; line-height:1.65; }
.page-olympiades .contact-section { padding:32px 0; }
.page-olympiades .contact-grid { gap:32px; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); }
.page-olympiades .contact-copy .section-title { font-size:46px; line-height:1.08; }
.page-olympiades .form-shell { padding:24px; }
.page-olympiades .form-row { gap:16px; margin-bottom:8px; }
.page-olympiades .field { margin-bottom:0; }
.page-olympiades .contact-details { margin-top:24px; }
.page-olympiades .contact-copy > p:not(.eyebrow) { margin-top:16px; }
.page-olympiades .field label { margin-bottom:6px; }
.page-olympiades .form-shell input:not([type="checkbox"]), .page-olympiades .form-shell select { min-height:44px; }
.page-olympiades .form-shell textarea { min-height:88px; }
.page-olympiades .activity-choices { margin-block:12px; }
.page-olympiades .contact-copy > p { line-height:1.65; }
@media(max-width:900px){
 .page-olympiades .activity-hero-grid,.page-olympiades .oly-split,.page-olympiades .oly-heading,.page-olympiades .contact-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .page-olympiades .activity-hero-copy { padding:16px 0 0; }
 .page-olympiades .activity-hero h1 { max-width:760px; font-size:clamp(38px,6vw,52px); }
 .page-olympiades .activity-hero-media { height:260px; }
 .page-olympiades .activity-hero-media img { object-position:50% 45%; }
 .page-olympiades .activity-showcase { display:grid; grid-template-columns:1fr!important; height:auto; gap:12px; overflow:visible; }
 .page-olympiades .activity-format { width:auto; min-width:0; min-height:0; }
 .page-olympiades .activity-format > button { position:relative; inset:auto; min-height:64px; height:64px; align-items:center; }
 .page-olympiades .activity-format > button span { writing-mode:horizontal-tb; transform:none; font-size:18px; }
 .page-olympiades .activity-format.is-active { min-height:320px; }
 .page-olympiades .activity-format-panel { position:relative; padding:40px 20px 20px; }
 .page-olympiades .oly-steps { grid-template-columns:1fr; gap:14px; }
 .page-olympiades .oly-steps article { padding:20px; }
 .page-olympiades .oly-photo { height:240px; }
 .page-olympiades .oly-section,.page-olympiades .contact-section { padding:32px 0; }
 .page-olympiades .oly-section h2 { font-size:34px; }
 .page-olympiades .oly-section h3 { font-size:22px; }
 .page-olympiades .contact-copy .section-title { font-size:36px; }
}
@media(max-width:600px){
 .page-olympiades .activity-hero h1 { font-size:38px; }
 .page-olympiades .activity-hero-intro { font-size:17px; margin-top:18px; }
 .page-olympiades .activity-hero-actions { gap:12px; margin-top:20px; }
 .page-olympiades .activity-hero-media { height:220px; }
 .page-olympiades .activity-hero-media figcaption { padding:16px; }
 .page-olympiades .activity-hero-media figcaption strong { font-size:22px; }
 .page-olympiades .oly-photo { height:220px; }
 .page-olympiades .form-shell { padding:16px; }
 .page-olympiades .form-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:5px; }
 .page-olympiades .field { min-width:0; }
 .page-olympiades .field label { font-size:14px; }
 .page-olympiades .form-shell input, .page-olympiades .form-shell select, .page-olympiades .form-shell textarea { font-size:16px; }
 .page-olympiades .activity-choices > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page-olympiades .oly-breadcrumb { font-size:13px; }
}
@media(prefers-reduced-motion:reduce){.page-olympiades * { scroll-behavior:auto!important; }}
