/* Navigation additions reuse ASC's existing colours, typography and buttons. */
.l3-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:18px; }
.l3-actions a,.l3-contact-links a { display:inline-flex; justify-content:center; align-items:center; padding:11px 17px; border-radius:999px; font:700 14px/1.4 inherit; font-family:inherit; font-size:14px; font-weight:700; text-decoration:none; background:var(--teal,#00b4d8); color:var(--navy,#0a1f44); border:1px solid var(--teal,#00b4d8); }
.l3-actions a:first-child { background:transparent; border-color:var(--navy,#0a1f44); color:var(--navy,#0a1f44); }
.l3-actions a:focus-visible,.l3-contact-links a:focus-visible { outline:3px solid #00b4d8; outline-offset:3px; }
.prodgrid-card .l3-actions { margin-top:auto; padding-top:15px; }
.prodgrid-card { cursor:default; }
.lib-card .l3-actions a:first-child { color:inherit; border-color:currentColor; }
.l3-nav-service { display:inline-flex; align-items:center; flex:none; }
.l3-nav-toggle { background:none; border:0; padding:10px 5px; color:inherit; cursor:pointer; font:inherit; }
.l3-nav-toggle svg { width:12px; height:12px; }
.l3-service-popup { position:fixed; inset:auto; width:258px; max-width:calc(100vw - 24px); margin:0; padding:18px; border:1px solid #dce5eb; border-radius:12px; background:#fff; color:#0a1f44; box-shadow:0 12px 32px rgba(10,31,68,.18); }
.l3-service-popup::backdrop { background:transparent; }
.l3-service-popup strong { display:block; font:700 15px/1.5 inherit; }
.l3-service-popup .l3-actions { margin-top:10px; gap:8px; }
.l3-service-popup .l3-actions a { padding:8px 11px; font-size:13px; }
.l3-footer-service { display:block; margin:7px 0; }
.l3-footer-service>span { display:block; }
.l3-footer-service a { display:inline-block; margin-right:12px; font-size:12px; }
.l3-public-page { max-width:1160px; margin:0 auto; padding:52px 24px 72px; color:var(--navy,#0a1f44); }
.l3-public-page h1 { font-size:clamp(32px,4vw,52px); line-height:1.12; letter-spacing:-1px; margin:0 0 18px; }
.l3-public-page h2 { font-size:24px; line-height:1.3; margin:28px 0 12px; }
.l3-public-page p,.l3-public-page li { font-size:16px; line-height:1.8; }
.l3-public-page .l3-intro { max-width:740px; color:var(--muted,#536477); }
.l3-start-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:34px; align-items:start; margin-top:34px; }
.l3-start-grid .book-widget { width:100%; max-width:none; margin:0; min-width:0; }
.l3-contact-card { background:var(--cream,#f6f8fb); border:1px solid #dce5eb; padding:28px; border-radius:18px; }
.l3-contact-card h2 { margin-top:0; }
.l3-contact-links { display:grid; gap:12px; }
.l3-contact-links a { justify-content:flex-start; overflow-wrap:anywhere; }
.l3-terms { max-width:860px; }
.l3-terms section { padding:8px 0; }
.l3-qualification-role { font-size:12px; line-height:1.6; max-width:850px; margin:20px auto 0; padding:0 24px; }
.service-explainer[hidden] { display:none!important; }
.service-explainer video { display:block; width:100%; max-height:560px; border-radius:16px; background:#0a1f44; }
.service-explainer { max-width:880px; margin:8px auto 0; }
video.asc-explainer-video { display:block; width:100%; height:auto; max-width:100%; aspect-ratio:2/1; object-fit:contain; border-radius:16px; box-shadow:0 12px 32px -12px rgba(10,31,68,.35); background:#0a1f44; }
.asc-explainer-label { margin:12px 0 0; font-size:14px; line-height:1.5; text-align:center; }
.home-explainer { padding:0 0 40px; }
.asc-video-player { position:relative; width:100%; }
/* Cover owns the first click; after play only native controls receive clicks. */
.asc-video-toggle { position:absolute; inset:0; width:100%; padding:0; border:0; background:transparent; cursor:pointer; border-radius:16px; }
.asc-video-toggle[hidden] { display:none; }
.asc-video-play-disc { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:84px; height:84px; border-radius:50%; background:rgba(11,42,44,.8); box-shadow:0 5px 20px rgba(0,0,0,.25); pointer-events:none; }
.asc-video-play-disc::after { content:""; position:absolute; left:35px; top:26px; border-top:16px solid transparent; border-bottom:16px solid transparent; border-left:24px solid #fff; }
.asc-video-player.is-playing .asc-video-play-disc { display:none; }
.asc-video-toggle:focus-visible { outline:3px solid #fff; outline-offset:-5px; box-shadow:inset 0 0 0 7px #0b2a2c; }
@media(max-width:720px) {
  .asc-video-play-disc { width:64px; height:64px; }
  .asc-video-play-disc::after { left:27px; top:20px; border-top-width:12px; border-bottom-width:12px; border-left-width:18px; }
  .l3-start-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .l3-public-page { padding:32px 18px 48px; }
  .l3-contact-card { padding:22px; }
  .prodgrid-card .l3-actions a { font-size:12px; padding:8px 11px; }
  .l3-nav-service .tab-link { padding-right:3px; }
}
