/* ============================================================
   Ambiente de prática e aprendizagem guiada · Design System
   Claro, acolhedor, médico e acessível.
   ============================================================ */

:root{
  /* Paleta */
  --teal:#086B81; --teal-light:#E6F4F7; --teal-dark:#065566; --teal-50:#F4FAFB;
  --ink:#0F172A; --ink-2:#475569; --ink-3:#94A3B8; --text-muted:#64748B; --line:#E2E8F0; --line-2:#F1F5F9;
  --bg:#FFFFFF; --bg-soft:#F8FAFC; --bg-cream:#FBFAF7;
  --ok:#0E8A6D; --ok-text:#06745C; --ok-bg:#ECFDF5; --ok-line:#A7F3D0;
  --warn:#B45309; --warn-bg:#FFFBEB; --warn-line:#FDE68A;
  --danger:#B91C1C;

  /* Tipografia */
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-display:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;

  /* Geometria */
  --r:1rem; --r-sm:.625rem; --r-lg:1.25rem; --r-xl:1.5rem;
  --w-page:1200px;
  --shadow-xs:0 1px 2px rgba(15,23,42,.04);
  --shadow-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);
  --shadow:0 4px 16px -2px rgba(8,107,129,.08),0 2px 6px -2px rgba(15,23,42,.05);
  --shadow-md:0 10px 30px -6px rgba(8,107,129,.12),0 4px 10px -4px rgba(15,23,42,.06);
  --shadow-lg:0 24px 48px -12px rgba(8,107,129,.18),0 8px 20px -8px rgba(15,23,42,.08);
  --shadow-glow:0 0 0 4px rgba(8,107,129,.12);

  /* Movimento */
  --ease:cubic-bezier(.4,0,.2,1); --ease-out:cubic-bezier(.16,1,.3,1); --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --dur:.2s; --dur-slow:.4s;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html[data-portal-route="practice"]{scroll-behavior:auto}
body{font-family:var(--font);font-size:1rem;background:var(--bg);color:var(--ink);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:'cv02','cv03','cv04','cv11'}
h1,h2,h3,h4{font-weight:700;line-height:1.2;color:var(--ink);letter-spacing:-.015em}
h1{letter-spacing:-.025em}
a{color:var(--teal);text-decoration:none;transition:color var(--dur) var(--ease)}
a:hover{color:var(--teal-dark)}
button{font-family:var(--font);cursor:pointer;border:none;background:none;color:inherit}
img{max-width:100%;display:block}
::selection{background:var(--teal);color:#fff}
.container{max-width:var(--w-page);margin:0 auto;padding:0 28px}
.page{padding:104px 0 80px;min-height:100vh}
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;background:var(--ink);color:#fff;padding:.7rem 1rem;border-radius:8px;transform:translateY(-150%);transition:transform var(--dur) var(--ease)}
.skip-link:focus{transform:translateY(0);color:#fff}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body{background:#fbfaf7}
[hidden]{display:none!important}
.sw-session-notice{position:fixed;z-index:80;top:calc(76px + env(safe-area-inset-top));left:12px;max-width:min(440px,calc(100vw - 112px));padding:8px 12px;border:1px solid #c6e0e4;border-radius:12px;background:#fff;color:#065566;font-size:.75rem;box-shadow:var(--shadow-sm)}
.sw-session-notice a{display:block;text-decoration:underline}
.sw-offer{margin-top:40px;padding:28px;border:1px solid rgba(255,255,255,.25);border-radius:24px;text-align:left}
.sw-offer ul{margin:16px 0;padding-left:22px;color:#d6e2e6}
.sw-offer .sw-offer__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.sw-after__final .sw-fine{font-size:.8rem}
@media(max-width:560px){.sw-session-notice{top:calc(61px + env(safe-area-inset-top));font-size:.68rem;max-width:calc(100vw - 108px)}.sw-offer{padding:20px}}

.sw-offer h4{margin-top:8px;color:#fff;font-size:1.6rem}
.sw-narration{position:fixed;right:22px;bottom:82px;z-index:220;color:#0f172a;font-size:.8rem}
.sw-narration>details>summary{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 16px;border:1px solid #ccdadd;border-radius:999px;background:#fbfaf7;box-shadow:var(--shadow);cursor:pointer;font-weight:750;list-style:none}
.sw-narration summary::-webkit-details-marker{display:none}
.sw-narration summary:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}
.sw-narration__panel{position:absolute;right:0;bottom:54px;width:min(350px,calc(100vw - 28px));max-height:65dvh;overflow:auto;padding:20px;border:1px solid #ccdadd;border-radius:20px;background:#fbfaf7;box-shadow:var(--shadow-lg)}
.sw-narration__panel audio{display:block;width:100%;margin-block:14px}
.sw-narration__panel p{margin-top:8px;color:#475569;font-size:.8rem;line-height:1.55}
.sw-narration__panel summary{cursor:pointer;font-weight:700;padding-block:10px}
@media(max-width:860px){.sw-narration{top:calc(112px + env(safe-area-inset-top));right:10px;bottom:auto}.sw-narration__label{display:none}.sw-narration>details>summary{width:44px;padding:10px}.sw-narration__panel{top:52px;bottom:auto;max-height:calc(100dvh - 238px)}}
@media(max-width:860px){.sw-copy:first-child .sw-copy__cta{flex-wrap:nowrap}.sw-copy:first-child .sw-copy__cta .sw-btn{flex:1 1 50%;min-width:0;padding-inline:8px;font-size:.72rem;white-space:normal}}

.sw-topbar:has(.sw-session-notice:not([hidden])){flex-wrap:wrap}
.sw-topbar .sw-session-notice{position:static;grid-column:1/-1;flex-basis:100%;max-width:none;width:100%;padding:6px 12px;margin:0;box-shadow:none;font-size:max(12px,.75rem)}
@media(max-width:860px){.sw-narration{top:calc(var(--sw-header-height,156px) + 10px);right:100px}.sw-narration__panel{right:-90px;max-height:calc(100dvh - var(--sw-header-height,156px) - 84px)}}

/* A lightweight preview in the opening; the portrait film keeps its full frame. */
.sw-teaser{display:flex;align-items:center;gap:16px;width:100%;min-height:96px;margin:16px 0 14px;padding:10px 16px 10px 10px;border:1px solid #27616d;border-radius:16px;overflow:hidden;text-align:left;color:#fff;background:radial-gradient(ellipse at 95% 0,rgba(123,74,194,.4),transparent 65%),linear-gradient(120deg,#08333e,#101b2c);box-shadow:0 8px 22px rgba(8,51,62,.12);transition:border-color .2s,box-shadow .2s}
.sw-teaser:hover{border-color:#63d3d5;box-shadow:0 8px 28px rgba(8,51,62,.24)}
.sw-teaser__cover{flex:0 0 46px;width:46px;height:80px;overflow:hidden;border-radius:6px;background:#0b4551}
.sw-teaser__cover img{width:100%;height:100%;object-fit:contain}
.sw-teaser__copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
.sw-teaser__eyebrow{color:#a9e9e3;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.sw-teaser__copy strong{font-size:clamp(15px,1.35vw,19px);line-height:1.2;letter-spacing:-.02em}
.sw-teaser__watch{display:flex;flex-wrap:wrap;column-gap:6px;color:#e3eaf5;font-size:12px;line-height:1.4}
.sw-teaser__play{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#fff;color:#124650;box-shadow:0 0 0 6px rgba(255,255,255,.08)}
.sw-teaser:focus-visible,.sw-teaser-dialog :is(button,a):focus-visible{outline:3px solid #f59e0b;outline-offset:3px}
html.sw-teaser-open,html.sw-teaser-open body{overflow:hidden;overscroll-behavior:none}
.sw-teaser-dialog{width:min(calc(100vw - 24px),calc((100dvh - 152px) * 17 / 30),460px);max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid #446070;border-radius:20px;overflow:auto;color:#fff;background:#0d1e2b;box-shadow:0 28px 100px rgba(0,0,0,.5);overscroll-behavior:contain}
.sw-teaser-dialog::backdrop{background:rgba(4,11,24,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sw-teaser-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:linear-gradient(120deg,#133443,#1e2340)}
.sw-teaser-dialog__header span{color:#bbd9e4;font-size:11px;line-height:1.3}
.sw-teaser-dialog__header h2{margin-top:3px;color:#fff;font-size:18px;line-height:1.2;letter-spacing:-.02em}
.sw-teaser-dialog__close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #577582;border-radius:50%;color:#fff;background:rgba(255,255,255,.06)}
.sw-teaser-dialog__close:hover{background:rgba(255,255,255,.16)}
.sw-teaser-dialog__player{position:relative;aspect-ratio:17/30;width:100%;background:#000}
.sw-teaser-dialog__player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sw-teaser-dialog__fallback{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 5px;min-height:52px;margin:0;padding:6px 12px;color:#c8d8e2;font-size:12px;text-align:center}
.sw-teaser-dialog__fallback a{display:inline-flex;align-items:center;min-height:32px;color:#a9e9e3;text-decoration:underline;text-underline-offset:3px}
.sw-teaser-dialog__fallback a:hover{color:#fff}
@media(max-width:860px){.sw-teaser{gap:10px;min-height:80px;margin-top:10px;padding:8px 12px 8px 8px}.sw-teaser__cover{flex-basis:36px;width:36px;height:64px}.sw-teaser__copy{gap:3px}.sw-teaser__play{flex-basis:38px;width:38px;height:38px}.sw-teaser__watch{font-size:11px;column-gap:4px}.sw-teaser__eyebrow{font-size:9px}.sw-teaser__copy strong{font-size:15px}}
@media(max-height:580px) and (min-width:600px){.sw-teaser-dialog{width:min(90vw,600px);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr 1fr}.sw-teaser-dialog:not([open]){display:none}.sw-teaser-dialog__player{grid-column:2;grid-row:1/3;width:calc((100dvh - 48px) * 17 / 30)}.sw-teaser-dialog__header{align-self:start;background:none}.sw-teaser-dialog__fallback{align-self:end;padding:14px}.sw-teaser-dialog__close{flex-basis:40px;width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.sw-teaser{transition:none}}

/* Shared original cinematic presentation: public landing and internal preview. */
.scroll-world-experience{
  --sw-bg:#fbfaf7;
  --sw-ink:#0f172a;
  --sw-ink-soft:#475569;
  --sw-accent:#086b81;
  position:relative;
  min-height:100svh;
  overflow:clip;
  overscroll-behavior-x:none;
  touch-action:pan-y;
  background:var(--sw-bg);
  color:var(--sw-ink);
}
.sw-sky{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--sw-bg)}
.sw-sky__grad{position:absolute;inset:-10%;background:linear-gradient(178deg,color-mix(in srgb,var(--sw-accent) 11%,var(--sw-bg)),var(--sw-bg) 55%,color-mix(in srgb,var(--sw-accent) 6%,var(--sw-bg)))}
.sw-sky__glow{position:absolute;inset:0;background:radial-gradient(60% 42% at 74% 16%,color-mix(in srgb,var(--sw-accent) 20%,transparent),transparent 70%),radial-gradient(46% 34% at 50% 50%,rgba(255,255,255,.46),transparent 70%)}
.sw-particles{position:absolute;inset:-6% -2%;will-change:transform}
.sw-pt{position:absolute;width:13px;height:13px;opacity:0;animation:sw-drift linear infinite}
.sw-pt::before{content:'';position:absolute;inset:0;border-radius:50%}
.sw-pt--dot::before{background:radial-gradient(circle at 34% 30%,color-mix(in srgb,var(--sw-accent) 60%,#000),#000 82%)}
.sw-pt--ring::before{border:2px solid color-mix(in srgb,var(--sw-accent) 55%,transparent)}
@keyframes sw-drift{0%{opacity:0;transform:scale(var(--sw-sc,1)) translate(0,12vh)}12%{opacity:.48}88%{opacity:.42}100%{opacity:0;transform:scale(var(--sw-sc,1)) translate(4vw,-22vh) rotate(210deg)}}
.sw-scrollbar{position:fixed;z-index:90;top:160px;left:9px;width:3px;height:240px;border-radius:99px;overflow:hidden;background:color-mix(in srgb,var(--sw-accent) 14%,transparent)}
.sw-scrollbar span{display:block;width:100%;height:100%;transform:scaleY(0);transform-origin:top;background:var(--sw-accent)}
.sw-topbar{--sw-accent:#086b81;position:fixed;z-index:240;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:12px clamp(18px,5vw,64px);border-bottom:1px solid rgba(8,107,129,.16);background:#fbfaf7;box-shadow:0 8px 30px rgba(15,23,42,.06);backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}
.sw-brand{display:flex;align-items:center;gap:10px;color:var(--sw-ink);text-decoration:none}
.sw-brand:hover{color:var(--sw-ink)}
.sw-brand__mark{width:28px;height:31px;border-radius:8px 8px 11px 11px;background:linear-gradient(160deg,var(--sw-accent),color-mix(in srgb,var(--sw-accent) 64%,#000));box-shadow:0 6px 14px color-mix(in srgb,var(--sw-accent) 36%,transparent)}
.sw-brand__name{font-size:1rem;font-weight:800;letter-spacing:-.025em;white-space:nowrap}
.sw-nav{display:flex;gap:4px;padding:5px;border:1px solid color-mix(in srgb,var(--sw-accent) 16%,transparent);border-radius:999px;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.sw-nav__item{min-height:34px;padding:7px 13px;border-radius:999px;color:var(--sw-ink-soft);font-size:.78rem;font-weight:700;transition:color .25s,background .25s}
.sw-nav__item:hover{color:var(--sw-ink)}
.sw-nav__item.is-active{background:var(--sw-accent);color:#fff}
.sw-topbar__actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}
.sw-topcta{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 18px;border:0;border-radius:999px;background:var(--sw-ink);color:#fff;font-family:inherit;font-size:.84rem;font-weight:750;white-space:nowrap;cursor:pointer}.sw-topcta__short{display:none}
.sw-topcta:hover{background:var(--sw-accent);color:#fff}
.sw-topfaculty span{color:#9fe8d5;font-size:1rem;line-height:1}

.sw-stage{position:fixed;z-index:10;inset:0;overflow:hidden;pointer-events:none;transform:translateZ(0)}
.sw-scene{position:absolute;inset:0;contain:strict;overflow:hidden;opacity:0;backface-visibility:hidden}
.sw-scene.is-near{will-change:opacity}
.sw-scene__still,.sw-scene__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;backface-visibility:hidden;transform:translateZ(0)}
.sw-scene__still{z-index:0;opacity:1;will-change:transform;transition:opacity .14s linear}
.sw-scene__video{z-index:1;opacity:0;pointer-events:none;transition:opacity .14s linear}
.sw-scene.has-clip .sw-scene__video{opacity:1}
.sw-scene.has-clip .sw-scene__still{opacity:0}
.sw-scene.is-poster-only .sw-scene__still{opacity:1!important;transition:none!important}
.sw-scene.is-poster-only .sw-scene__video{opacity:0!important;transition:none!important}
.sw-copylayer{position:fixed;z-index:20;inset:0;pointer-events:none}
.sw-copylayer::before{content:'';position:absolute;inset:0 auto 0 0;width:min(62vw,900px);background:linear-gradient(90deg,var(--sw-bg),color-mix(in srgb,var(--sw-bg) 88%,transparent) 50%,transparent)}
.sw-copy{position:absolute;top:50%;left:clamp(18px,4vw,58px);width:min(49vw,660px);max-height:calc(100dvh - var(--sw-header-height,72px) - 100px);overflow:auto;padding:clamp(18px,2.2vw,26px);border:1px solid color-mix(in srgb,var(--sw-accent) 20%,#fff);border-radius:24px;background:color-mix(in srgb,var(--sw-bg) 94%,transparent);box-shadow:0 24px 70px rgba(15,23,42,.18),0 2px 10px rgba(15,23,42,.08);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);opacity:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--sw-accent) 45%,transparent) transparent}
.sw-copy.is-near{will-change:opacity,transform}
.sw-copy__num{font:800 .72rem var(--mono);letter-spacing:.12em;color:#334155}
.sw-copy__how{display:flex;align-items:center;gap:7px;margin:10px 0 0;padding:8px 11px;border-radius:11px;background:color-mix(in srgb,var(--sw-accent) 12%,#fff);color:#172033;font-size:.76rem;line-height:1.35}.sw-copy__how>span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:var(--sw-accent);color:#fff;font-size:1rem}.sw-copy__how b{color:var(--sw-accent)}
.sw-copy__eyebrow{display:block;margin-top:18px;color:var(--sw-accent);font-size:.78rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.sw-copy__title{margin:10px 0 0;color:var(--sw-ink);font-size:clamp(32px,3.4vw,48px);font-weight:820;line-height:1;letter-spacing:-.052em;text-wrap:balance}.sw-copy__title a{display:inline;color:inherit;text-decoration:none}.sw-copy__title a>span{display:inline-grid;place-items:center;width:.72em;height:.72em;margin-left:.12em;border-radius:50%;background:var(--sw-accent);color:#fff;font-size:.45em;vertical-align:.36em;transition:transform .2s}.sw-copy__title a>span::before{content:'↗'}.sw-copy__title a:hover{color:var(--sw-accent)}.sw-copy__title a:hover>span{transform:translate(2px,-2px)}
.sw-copy__body{max-width:48ch;margin-top:14px;color:#263448;font-size:clamp(.92rem,1.1vw,1.04rem);line-height:1.55}
.sw-copy__course-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.sw-copy__course-links a{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--sw-accent) 40%,#fff);border-radius:999px;background:#fff;color:#17354a;font-size:.74rem;font-weight:800;text-decoration:none;transition:border-color .2s,background .2s,color .2s,transform .2s}.sw-copy__course-links a:hover{border-color:var(--sw-accent);background:color-mix(in srgb,var(--sw-accent) 9%,#fff);color:var(--sw-accent);transform:translateY(-1px)}
.sw-copy__learning{margin-top:16px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--sw-accent) 26%,#fff);border-radius:16px;background:#fff}
.sw-copy__learning>b,.sw-copy__challenge>b{display:block;margin-bottom:7px;color:var(--sw-accent);font-size:.68rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.sw-copy__learning ul{display:grid;gap:4px;margin:0;padding-left:17px;color:#263448;font-size:.82rem;line-height:1.4}
.sw-copy__challenge{display:grid;gap:2px;margin:9px 0 0;padding:11px 14px;border-left:3px solid var(--sw-accent);border-radius:4px 13px 13px 4px;background:color-mix(in srgb,var(--sw-accent) 9%,var(--sw-bg));color:var(--sw-ink);font-size:.82rem;line-height:1.4}.sw-copy__challenge>b{margin:0}.sw-copy__challenge span{font-weight:680}
.sw-copy__mobile-details{display:none}
.sw-copy__tags{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 0;padding:0;list-style:none}
.sw-copy__tags li{padding:7px 13px;border:1px solid color-mix(in srgb,var(--sw-accent) 32%,#fff);border-radius:999px;background:color-mix(in srgb,var(--sw-accent) 12%,#fff);color:#17354a;font-size:.78rem;font-weight:750}
.sw-copy__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;pointer-events:auto}
.sw-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;font-size:.92rem;font-weight:750;text-decoration:none;transition:transform .2s,background .2s}
.sw-btn--primary{background:var(--sw-ink);color:#fff;box-shadow:0 8px 24px rgba(15,23,42,.2)}.sw-btn--primary:hover{background:var(--sw-accent);color:#fff;transform:translateY(-2px)}
.sw-btn--ghost{border:1.5px solid #64748b;background:#fff;color:var(--sw-ink)}.sw-btn--ghost:hover{border-color:var(--sw-accent);color:var(--sw-accent);transform:translateY(-2px)}
.sw-route{position:fixed;z-index:60;top:82px;right:clamp(14px,2.4vw,30px);display:flex;align-items:flex-end;flex-direction:column;gap:10px;pointer-events:auto}
.sw-route__toggle{display:flex;align-items:center;gap:10px;min-width:184px;min-height:54px;padding:9px 14px;border:2px solid #fff;border-radius:17px;background:var(--sw-ink);box-shadow:0 16px 42px rgba(15,23,42,.28);color:#fff;text-align:left;transition:transform .2s,background .2s,box-shadow .2s}.sw-route__toggle:hover{background:var(--sw-accent);transform:translateY(-2px);box-shadow:0 20px 48px color-mix(in srgb,var(--sw-accent) 36%,transparent)}.sw-route__toggle-icon{font-size:1.45rem;line-height:1}.sw-route__toggle-copy{display:grid;gap:1px}.sw-route__toggle-label{font-size:.72rem;font-weight:760;letter-spacing:.04em}.sw-route__status{font:800 .79rem var(--mono);letter-spacing:.08em}
.sw-route__panel{width:min(380px,calc(100vw - 28px));overflow:hidden;border:1px solid color-mix(in srgb,var(--sw-accent) 25%,#fff);border-radius:22px;background:color-mix(in srgb,var(--sw-bg) 97%,transparent);box-shadow:0 24px 70px rgba(15,23,42,.3);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.sw-route__panel[hidden]{display:none}
.sw-route__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 16px 13px;border-bottom:1px solid color-mix(in srgb,var(--sw-accent) 16%,#fff)}.sw-route__head>div{display:grid;gap:3px}.sw-route__head b{color:var(--sw-ink);font-size:.96rem}.sw-route__head span{color:#475569;font-size:.74rem;line-height:1.35}.sw-route__close{display:grid;place-items:center;min-width:44px;height:44px;border-radius:12px;background:#eef4f5;color:var(--sw-ink);font-size:1.45rem;line-height:1}
.sw-route__list{display:grid;gap:5px;max-height:calc(100dvh - 260px);padding:9px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.sw-route__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.sw-route__dot{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:0 9px;min-height:50px;padding:7px 10px;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--sw-ink);text-align:left}.sw-route__dot:hover,.sw-route__dot.is-active{border-color:color-mix(in srgb,var(--sw-accent) 30%,#fff);background:color-mix(in srgb,var(--sw-accent) 10%,#fff)}.sw-route__index{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#e8eff1;color:#334155;font:800 .68rem var(--mono)}.sw-route__dot.is-active .sw-route__index{background:var(--sw-accent);color:#fff}.sw-route__label{overflow:hidden;color:var(--sw-ink);font-size:.76rem;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.sw-route__dot small{color:#64748b;font-size:.66rem;line-height:1.2}.sw-route__dot i{position:absolute;right:8px;width:7px;height:7px;border-radius:50%;background:var(--sw-accent);opacity:0}.sw-route__dot.is-active i{opacity:1}
.sw-route__enter{display:grid;place-items:center;align-content:center;min-width:62px;min-height:50px;padding:6px;border-radius:13px;background:var(--sw-ink);color:#fff;font-size:.68rem;font-weight:800;text-decoration:none}.sw-route__enter:hover{background:var(--sw-accent);color:#fff}.sw-route__enter b{font-size:.9rem}
.sw-hint{position:fixed;z-index:40;bottom:18px;left:50%;display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 14px;border:2px solid rgba(255,255,255,.9);border-radius:999px;background:rgba(15,23,42,.94);box-shadow:0 14px 36px rgba(15,23,42,.28);color:#fff;font-size:.69rem;font-weight:800;letter-spacing:.08em;text-align:center;text-transform:uppercase;white-space:nowrap;transform:translateX(-50%);transition:opacity .2s}.sw-hint.is-muted{opacity:0!important}
.sw-hint i{position:relative;width:20px;height:30px;border:2px solid rgba(255,255,255,.72);border-radius:12px}
.sw-hint i::after{content:'';position:absolute;top:7px;left:50%;width:4px;height:7px;border-radius:2px;background:var(--sw-accent);transform:translateX(-50%);animation:sw-wheel 1.7s ease-in-out infinite}
@keyframes sw-wheel{0%{top:6px;opacity:0}40%{opacity:1}100%{top:17px;opacity:0}}
.sw-track{position:relative;z-index:1;width:100%;pointer-events:none}
.sw-sky,.sw-scrollbar,.sw-topbar,.sw-stage,.sw-copylayer,.sw-route,.sw-hint{transition:opacity .12s linear}
.sw-topbar{transition:none}
.sw-after{position:relative;z-index:200;background:#f7f6f2;color:#0f172a;isolation:isolate}.sw-after::before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 8% 7%,rgba(8,107,129,.12),transparent 24%),radial-gradient(circle at 92% 28%,rgba(82,122,69,.1),transparent 23%)}

.sw-after__hero{display:grid;align-content:center;justify-items:center;min-height:82svh;padding:clamp(96px,13vw,170px) max(22px,7vw) clamp(82px,11vw,140px);text-align:center}.sw-after__kicker,.sw-after__section-head>span,.sw-after__final>span{color:#086b81;font-size:.76rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.sw-after__hero h2{max-width:980px;margin-top:20px;font-size:clamp(32px,3.4vw,48px);font-weight:850;line-height:.9;letter-spacing:-.07em;text-wrap:balance}.sw-after__hero>p{max-width:720px;margin-top:30px;color:#475569;font-size:clamp(1rem,1.65vw,1.25rem);line-height:1.65;text-wrap:pretty}.sw-after__hero dl{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:42px}.sw-after__hero dl>div{min-width:168px;padding:18px 22px;border:1px solid rgba(8,107,129,.16);border-radius:18px;background:rgba(255,255,255,.75);box-shadow:0 12px 30px rgba(15,23,42,.06)}.sw-after__hero dt{color:#086b81;font:850 1.8rem var(--mono)}.sw-after__hero dd{margin-top:4px;color:#334155;font-size:.75rem;font-weight:780;text-transform:uppercase}.sw-after__down{margin-top:42px;color:#086b81;font-size:2rem;animation:sw-after-down 1.8s ease-in-out infinite}@keyframes sw-after-down{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
.sw-after__content{max-width:1320px;margin:0 auto;padding:0 clamp(18px,4vw,54px) clamp(80px,10vw,140px)}.sw-after__section{padding:clamp(72px,9vw,124px) 0;border-top:1px solid rgba(8,107,129,.16);scroll-margin-top:84px}.sw-after__section-head{max-width:790px;margin-bottom:40px}.sw-after__section-head h3,.sw-after__final h3{margin-top:13px;font-size:clamp(32px,3.4vw,48px);font-weight:840;line-height:.97;letter-spacing:-.058em;text-wrap:balance}.sw-after__section-head p,.sw-after__final p{max-width:700px;margin-top:18px;color:#475569;font-size:1rem;line-height:1.65}
.sw-coordination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:20px}.sw-person-card{overflow:hidden;border:1px solid rgba(8,107,129,.14);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 18px 50px rgba(15,23,42,.08)}.sw-person-card--coordination{display:flex;height:100%;flex-direction:column}.sw-person-card__portrait{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#d9ecee,#dfe9dc);color:#086b81;font:850 clamp(2rem,5vw,4.8rem) var(--mono);aspect-ratio:4/3}.sw-person-card__portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}.sw-person-card__copy{padding:20px 21px 24px}.sw-person-card--coordination .sw-person-card__copy{display:flex;flex:1;flex-direction:column}.sw-person-card__copy small{color:#086b81;font-size:.66rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.sw-person-card__copy h4{margin-top:7px;font-size:1.18rem;font-weight:840;letter-spacing:-.025em}.sw-person-card__copy p{margin-top:8px;color:#475569;font-size:.8rem;line-height:1.52}.sw-person-card__role{font-weight:500}.sw-person-card--coordination .sw-person-card__role{min-height:3.05em}.sw-person-card__bio{padding-top:12px;border-top:1px solid rgba(8,107,129,.12);font-size:max(14px,.875rem)!important;line-height:1.6!important;text-wrap:pretty}
.sw-after__section--faculty{border-top-color:rgba(82,122,69,.2)}.sw-faculty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sw-person-card--faculty{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch;border-radius:18px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.sw-person-card--faculty .sw-person-card__portrait{aspect-ratio:auto;min-height:138px;font-size:1.45rem}.sw-person-card--faculty .sw-person-card__copy{align-self:center;padding:16px}.sw-person-card--faculty .sw-person-card__copy h4{font-size:.98rem}.sw-person-card--faculty .sw-person-card__copy p{font-size:.73rem}
.sw-after__section--testimonials{border-top-color:rgba(8,107,129,.2)}.sw-mobile-swipe-hint{display:none}.sw-testimonials-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.sw-testimonial-card{overflow:hidden;border:1px solid rgba(8,107,129,.15);border-radius:22px;background:#fff;box-shadow:0 16px 44px rgba(15,23,42,.09)}.sw-testimonial-card header{min-height:106px;padding:16px 17px}.sw-testimonial-card header span{color:#086b81;font:800 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.sw-testimonial-card h4{margin-top:5px;font-size:max(18px,1.125rem)}.sw-testimonial-card header p{margin-top:5px;color:#475569;font-size:max(14px,.875rem);line-height:1.5}.sw-testimonial-card__video{position:relative;overflow:hidden;aspect-ratio:5/8;background:radial-gradient(circle at 75% 18%,rgba(159,232,213,.18),transparent 25%),linear-gradient(145deg,#073744,#0f172a)}.sw-testimonial-card__video::before{content:'“';position:absolute;top:5%;left:10%;color:rgba(159,232,213,.28);font:850 11rem/1 Georgia,serif}.sw-testimonial-card__video::after{content:'PERSPECTIVAS SOBRE IA';position:absolute;right:10%;top:34%;left:10%;color:rgba(255,255,255,.52);font:800 .68rem var(--mono);letter-spacing:.17em;text-align:center}.sw-testimonial-card iframe,.sw-testimonial-card__play{position:absolute;z-index:1;inset:0;width:100%;height:100%;border:0}.sw-testimonial-card__play{overflow:hidden;background:transparent;color:#fff}.sw-testimonial-card__play::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 64%,rgba(15,23,42,.84))}.sw-testimonial-card__play img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.sw-testimonial-card__play>span{position:absolute;z-index:2;right:16px;bottom:17px;left:16px;display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:rgba(15,23,42,.9);font-size:.74rem;font-weight:820;backdrop-filter:blur(10px)}.sw-testimonial-card__play i{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#9fe8d5;color:#073744;font-size:.68rem;font-style:normal}.sw-testimonial-card__play:hover img{transform:scale(1.035)}.sw-testimonial-card__play:hover>span{background:#086b81}.sw-after__source{margin-top:24px;color:#64748b;font-size:.78rem}.sw-after__source a{color:#065566;font-weight:800}
.sw-after__final{margin-top:clamp(34px,6vw,80px);padding:clamp(46px,7vw,84px);border-radius:34px;background:linear-gradient(135deg,#073744,#0f172a);box-shadow:0 30px 80px rgba(15,23,42,.2);color:#fff;text-align:center;scroll-margin-top:84px}.sw-after__final>span{color:#9fe8d5}.sw-after__final h3{max-width:850px;margin-inline:auto;color:#fff}.sw-after__final p{margin-inline:auto;color:#d6e2e6}.sw-after__final>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}.sw-after__final .sw-btn--primary{background:#9fe8d5;color:#073744}.sw-after__final .sw-btn--primary:hover{background:#fff;color:#073744}.sw-after__final .sw-btn--ghost{border-color:rgba(255,255,255,.62);background:transparent;color:#fff}.sw-after__final .sw-btn--ghost:hover{border-color:#9fe8d5;color:#9fe8d5}
.sw-after a:focus-visible,.sw-after button:focus-visible{outline:3px solid #f59e0b;outline-offset:4px}.sw-after.is-loading{min-height:100vh}
@media(max-width:860px){
  .sw-nav{display:none}.sw-topbar{min-height:calc(58px + env(safe-area-inset-top));padding:calc(7px + env(safe-area-inset-top)) 10px 7px}.sw-brand__name{font-size:.78rem}.sw-topbar__actions{gap:6px}.sw-topcta{min-height:44px;padding:9px 12px;font-size:.75rem}
  .sw-copylayer::before{top:auto;width:100%;height:72%;background:linear-gradient(0deg,var(--sw-bg) 22%,color-mix(in srgb,var(--sw-bg) 76%,transparent) 62%,transparent)}
  .sw-copy{top:auto;right:12px;bottom:calc(68px + env(safe-area-inset-bottom));left:12px;width:auto;max-width:580px;max-height:min(47dvh,calc(100dvh - 156px - env(safe-area-inset-top)));overflow:hidden;padding:14px 15px;border-radius:19px;background:#fbfaf7;box-shadow:0 14px 42px rgba(15,23,42,.18);backdrop-filter:none;-webkit-backdrop-filter:none;transform:none!important;-webkit-overflow-scrolling:touch}.sw-copy:has(.sw-copy__mobile-details[open]){overflow:auto}
  .sw-copy__num{font-size:.65rem}.sw-copy__how{margin-top:7px;padding:6px 8px;font-size:.68rem}.sw-copy__how>span{min-width:20px;height:20px}.sw-copy__eyebrow{margin-top:8px;font-size:.66rem}.sw-copy__title{margin-top:6px;font-size:clamp(1.55rem,6.9vw,2.18rem);line-height:1.01}.sw-copy__body{display:-webkit-box;max-width:none;margin-top:8px;overflow:hidden;color:#263448;font-size:clamp(.82rem,3.15vw,.94rem);line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:3}.sw-copy__learning,.sw-copy__challenge{display:none}.sw-copy__tags{display:none}.sw-copy__course-links{margin-top:9px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.sw-copy__course-links::-webkit-scrollbar{display:none}.sw-copy__course-links a{flex:0 0 auto;min-height:44px}.sw-copy__cta{margin-top:9px}
  .sw-copy__mobile-details{display:block;margin-top:10px;border:1px solid color-mix(in srgb,var(--sw-accent) 24%,transparent);border-radius:13px;background:#fbfaf7;backdrop-filter:none;-webkit-backdrop-filter:none}
  .sw-copy__mobile-details summary{display:flex;align-items:center;min-height:44px;padding:11px 13px;color:var(--sw-accent);font-size:.76rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
  .sw-copy__mobile-learning,.sw-copy__mobile-challenge{padding:0 13px 12px;color:var(--sw-ink);font-size:.8rem;line-height:1.42}.sw-copy__mobile-learning>b,.sw-copy__mobile-challenge>b{display:block;margin-bottom:5px;color:var(--sw-accent);font-size:.68rem;text-transform:uppercase}.sw-copy__mobile-learning ul{display:grid;gap:3px;margin:0;padding-left:17px}.sw-copy__mobile-challenge{margin:0;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--sw-accent) 16%,transparent)}.sw-copy__mobile-challenge span{display:block;font-weight:680}
  .sw-scene__still,.sw-scene__video{object-position:center 44%}.sw-route{top:calc(62px + env(safe-area-inset-top));right:9px}.sw-route__toggle{min-width:76px;min-height:42px;padding:6px 10px;border-width:1px;border-radius:14px}.sw-route__toggle-icon{font-size:1.12rem}.sw-route__toggle-label{display:none}.sw-route__status{font-size:.7rem;letter-spacing:.04em}.sw-route__panel{width:min(346px,calc(100vw - 22px));background:#fbfaf7;backdrop-filter:none;-webkit-backdrop-filter:none}.sw-route__list{max-height:calc(100dvh - 224px - env(safe-area-inset-top))}
  .sw-hint{right:9px;bottom:calc(9px + env(safe-area-inset-bottom));left:9px;justify-content:center;width:auto;min-height:46px;padding:6px 10px;font-size:.61rem;line-height:1.22;white-space:normal;transform:none}.sw-hint i{width:18px;height:27px}.sw-copy__cta .sw-btn{min-height:46px}.sw-copy__cta .sw-btn--primary{flex:1 1 100%}.sw-copy__cta .sw-btn--ghost{flex:1 1 100%}
  .sw-after__hero{min-height:76svh;padding:100px 20px 84px}.sw-after__hero h2{font-size:clamp(28px,7vw,40px)}.sw-after__hero dl{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:7px}.sw-after__hero dl>div{min-width:0;padding:13px 8px}.sw-after__hero dt{font-size:1.35rem}.sw-after__hero dd{font-size:.59rem;line-height:1.25}.sw-after__content{padding-inline:14px}.sw-after__section{padding-block:76px}.sw-coordination-grid{grid-template-columns:1fr}.sw-person-card--coordination{display:grid;grid-template-columns:42% minmax(0,1fr)}.sw-person-card--coordination .sw-person-card__portrait{height:100%;aspect-ratio:auto;min-height:230px}.sw-person-card--coordination .sw-person-card__copy{align-self:center}.sw-faculty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-person-card--faculty{grid-template-columns:92px minmax(0,1fr)}.sw-testimonials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-after__final{padding:48px 20px;border-radius:26px}.sw-after__final>div{display:grid}.sw-after__final .sw-btn{width:100%}
}
@media(max-width:560px){.sw-brand__name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sw-topcta__full{display:none}.sw-topcta__short{display:inline}.sw-topfaculty{padding-inline:9px}.sw-after__hero dl{grid-template-columns:1fr}.sw-after__hero dl>div{display:grid;grid-template-columns:46px 1fr;align-items:center;text-align:left}.sw-after__hero dd{margin:0}.sw-person-card--coordination{grid-template-columns:38% minmax(0,1fr)}.sw-person-card--coordination .sw-person-card__portrait{min-height:200px}.sw-person-card--coordination .sw-person-card__role{min-height:4.56em}.sw-person-card__copy{padding:16px}.sw-faculty-grid{grid-template-columns:1fr}.sw-person-card--faculty{grid-template-columns:104px minmax(0,1fr)}.sw-mobile-swipe-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-16px 0 14px;padding:11px 13px;border:1px solid rgba(8,107,129,.16);border-radius:13px;background:#fff;color:#475569;font-size:.72rem;font-weight:760}.sw-mobile-swipe-hint span{color:#086b81;font-size:1.15rem}.sw-testimonials-grid{display:flex;margin-right:-14px;padding:3px 14px 18px 2px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:rgba(8,107,129,.3) transparent}.sw-testimonial-card{flex:0 0 min(82vw,320px);scroll-snap-align:start}.sw-testimonial-card__video{aspect-ratio:5/8}.sw-after__final{margin-inline:0}}
@media(max-height:680px) and (max-width:860px){.sw-copy{bottom:calc(64px + env(safe-area-inset-bottom));max-height:min(45dvh,calc(100dvh - 146px))}.sw-copy__body{font-size:.8rem;line-height:1.36;-webkit-line-clamp:2}.sw-copy__title{font-size:clamp(1.46rem,6.6vw,2rem)}.sw-copy__mobile-details{display:block}.sw-hint{min-height:44px}}
@media(max-height:580px) and (max-width:860px){.sw-copy{top:calc(70px + env(safe-area-inset-top));right:auto;bottom:auto;width:min(68vw,580px);max-height:calc(100dvh - 128px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.sw-copy__how,.sw-copy__body,.sw-copy__mobile-details,.sw-copy__tags{display:none}.sw-copy__title{font-size:clamp(1.34rem,4.8vw,1.78rem)}.sw-copy__eyebrow{margin-top:6px}.sw-copy__cta{flex-wrap:nowrap}.sw-copy__cta .sw-btn{flex:1 1 auto;min-height:42px;padding:8px 14px;font-size:.76rem}.sw-route__panel{max-height:calc(100dvh - 124px)}.sw-route__list{max-height:calc(100dvh - 214px)}.sw-hint{min-height:42px}}
@media(prefers-reduced-motion:reduce){.sw-pt{display:none}.sw-hint i::after{animation:none;opacity:1}.sw-scene__still{transform:none!important}}
.sw-copy a:focus-visible,.sw-route button:focus-visible,.sw-route a:focus-visible,.sw-topbar a:focus-visible,.sw-topbar button:focus-visible,.sw-topbar select:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}

/* Founding Beta Testers: public recognition, separate from the teaching faculty. */
.sw-after__section--beta .sw-after__section-head{max-width:850px}
.sw-beta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}
.sw-beta-card{display:flex;align-items:flex-start;gap:18px;min-width:0;padding:26px;border:1px solid rgba(8,107,129,.16);border-radius:24px;background:rgba(255,255,255,.86);box-shadow:0 10px 32px rgba(15,23,42,.04)}
.sw-beta-card__initials{display:grid;flex:0 0 52px;place-items:center;aspect-ratio:1;border:1px solid rgba(8,107,129,.12);border-radius:17px;background:var(--teal-light);color:var(--teal);font:700 1rem var(--mono)}
.sw-beta-card__body{flex:1;min-width:0}
.sw-beta-card h4{margin:2px 0 0;color:var(--ink);font-size:1.13rem;font-weight:800;line-height:1.35;letter-spacing:-.025em;text-wrap:pretty}
.sw-beta-card__crm{margin-top:9px;color:var(--teal-dark);font:600 .78rem/1.5 var(--mono)}
.sw-beta-card__qualification{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;margin-top:7px;color:var(--ink-2);font-size:.85rem;line-height:1.5}
.sw-beta-card__rqe{white-space:nowrap;font-size:.76rem}
.sw-beta-card__social{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;margin-top:14px;padding-top:10px;border-top:1px solid rgba(8,107,129,.12);color:var(--teal);font-size:.8rem;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.sw-beta-card__social>span:first-child{min-width:0}
.sw-beta-card a.sw-beta-card__social:hover{color:var(--teal-dark);text-decoration:underline;text-underline-offset:4px}
.sw-beta-card a.sw-beta-card__social:focus-visible{outline:3px solid var(--teal);outline-offset:4px;border-radius:4px}
.sw-beta-card__social--text{color:var(--ink-2);font-weight:500}
@media(max-width:700px){.sw-beta-grid{grid-template-columns:1fr;gap:14px}.sw-beta-card{gap:14px;padding:20px;border-radius:20px}.sw-beta-card__initials{flex-basis:42px;border-radius:14px;font-size:.85rem}.sw-beta-card h4{font-size:1.04rem}.sw-after__section--beta h3{font-size:clamp(2.2rem,9vw,3.5rem)}}

/* Keep the cinematic course tour, with the same navigation identity as the portal. */
.sw-topbar{background:#fff;border-bottom-color:#d8e2ec}
.sw-route__toggle{background:#12233c;border-radius:14px}
.sw-route__panel{background:#12233c;border-color:#415773;border-radius:18px;backdrop-filter:none;-webkit-backdrop-filter:none}
.sw-route__head{border-color:#415773}
.sw-route__head b{color:#fff}.sw-route__head span{color:#c1d6ec}
.sw-route__close{background:#243952;color:#fff}
.sw-route__dot{color:#e9f1fa;border-radius:10px}.sw-route__label{color:inherit}.sw-route__dot small{color:#c1d6ec}
.sw-route__dot:hover{background:#243952;border-color:#647f9f;color:#fff}
.sw-route__dot.is-active{background:#ece3fd;border-color:#d4c2f7;color:#543091}
.sw-route__dot.is-active small{color:#594771}
.sw-route__index{background:#243952;color:#e9f1fa}.sw-route__dot.is-active .sw-route__index{background:#673ab4;color:#fff}
.sw-route__enter{background:#673ab4;border:1px solid #ad8ae5;border-radius:10px;color:#fff}
.sw-route__enter:hover{background:#51288f;color:#fff}
.sw-route :is(a,button):focus-visible{outline:3px solid #9adfe9;outline-offset:2px}
.sw-copy{border-radius:18px;border-left:4px solid var(--sw-accent)}
.sw-after{background:#eff3f8}.sw-after::before{background:none}
.sw-after__source{color:#4b6074}

.sw-after__hero dl>div{background:#fff;border-top:3px solid #086b81;border-radius:16px}
.sw-after__section{border-top-color:#c9d8e6}
.sw-person-card,.sw-testimonial-card{border-radius:16px}
.sw-after__section--beta .sw-after__section-head>span{color:#673ab4}
.sw-after__final{background:#12233c;border-radius:24px}

/* Public introduction: show the environment before its first module. */
.sw-overview{padding-bottom:18px;margin-bottom:16px;border-bottom:1px solid #cbd5e1}
.sw-overview>.sw-copy__eyebrow{margin-top:0}
.sw-overview h1{margin:10px 0 12px;color:var(--sw-ink);font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.04;letter-spacing:-.05em}
.sw-overview>p{color:#334155;font-size:.9rem;line-height:1.5}
.sw-overview__resources{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:14px 0;list-style:none}
.sw-overview__resources li{padding:5px 8px;border:1px solid #d5c7ed;border-radius:7px;background:#f2ecfc;color:#542b97;font-size:.72rem;font-weight:650}
.sw-overview__actions{display:flex;flex-wrap:wrap;gap:8px}
.sw-overview__actions .sw-btn{flex:1;min-height:46px;padding:10px;font-size:.82rem;white-space:nowrap}
.sw-overview .sw-overview__note{margin-top:10px;font-size:.72rem}
.sw-copy--overview .sw-copy__eyebrow{margin-top:8px}
.sw-copy--overview .sw-copy__title{font-size:1.3rem;line-height:1.15;margin-top:6px}
.sw-copy--overview .sw-copy__how{font-size:.7rem;padding:6px 8px;margin-top:6px}
.sw-copy--overview .sw-first-module :is(.sw-copy__body,.sw-copy__learning,.sw-copy__challenge,.sw-copy__tags){display:none}
.sw-copy--overview .sw-copy__cta{margin-top:10px}
.sw-copy--overview .sw-copy__cta .sw-btn{padding:9px 12px;min-height:44px;font-size:.8rem}
.sw-copy--overview .sw-copy__mobile-details{display:block;margin-top:10px;font-size:.8rem}
.sw-copy--overview .sw-copy__mobile-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--sw-accent)}
.sw-copy--overview .sw-copy__mobile-learning ul{padding-left:18px}
@media(max-width:860px){
  .sw-copy--overview{max-height:calc(100dvh - 155px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto}
  .sw-overview{padding-bottom:12px;margin-bottom:10px}
  .sw-overview h1{font-size:clamp(1.9rem,7.8vw,2.5rem);margin:8px 0}
  .sw-overview>p{font-size:.82rem;line-height:1.4}
  .sw-overview__resources{gap:5px;margin:10px 0}
  .sw-overview__resources li{font-size:.68rem;padding:4px 6px}
  .sw-overview__actions .sw-btn{min-width:0;font-size:.75rem;padding:9px 5px}
  .sw-copy--overview .sw-copy__title{font-size:1.15rem}
  .sw-copy--overview .sw-copy__mobile-details{margin-top:8px}
}
@media(max-height:580px) and (max-width:860px){
  .sw-copy--overview{width:calc(100vw - 24px);max-height:calc(100dvh - 140px);overflow:auto}
  .sw-overview h1{font-size:1.65rem}
}

.sw-first-module{margin-top:12px;border:1px solid #cbd5e1;border-radius:12px;padding:0 12px}
.sw-first-module>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--sw-ink);font-size:.8rem;font-weight:700;list-style:none}
.sw-first-module>summary::-webkit-details-marker{display:none}
.sw-first-module>summary::after{content:'+';font-size:1.2rem}
.sw-first-module[open]>summary::after{content:'−'}
.sw-first-module[open]{padding-bottom:12px}
.sw-first-module .sw-copy__num{display:none}
.sw-copy--overview .sw-overview>.sw-copy__eyebrow{margin-top:0}
body[data-public-page="landing"] .sw-route__enter{max-width:108px;text-align:center}
body[data-public-page="landing"] .sw-route__label{white-space:normal;overflow:visible}
body[data-public-page="landing"]:has(.sw-route.is-open) .sw-narration{visibility:hidden}

/* One persistent header, readable course program and vertical journey progress. */
.sw-topbar{gap:18px;padding-inline:clamp(18px,3vw,48px);transition:background .25s,box-shadow .25s}
.sw-root.is-editorial .sw-topbar{background:#f8fafc;box-shadow:0 4px 20px rgba(15,23,42,.1)}
.sw-institutional-nav{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}
.sw-institutional-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border-radius:10px;color:#334155;font-size:max(13px,.8125rem);font-weight:600;line-height:1.35;text-align:center}
.sw-institutional-nav a:hover{background:#e6f4f7;color:#065566}
.sw-topbar a:focus-visible,.sw-copy__how a:focus-visible,.sw-curriculum summary:focus-visible{outline:3px solid #086b81;outline-offset:3px}
.sw-brand,.sw-topbar__actions{flex-shrink:0}
.sw-copy{top:calc((100dvh + var(--sw-header-height,72px) - 64px)/2)}
.sw-copy__how a{display:block;padding-top:5px;color:#065566;text-decoration:underline;text-underline-offset:3px;font-weight:650}
.sw-route{top:calc(var(--sw-header-height,72px) + 12px)}
.sw-route__list{max-height:calc(100dvh - var(--sw-header-height,72px) - 204px)}
.sw-after :is(section,header)[id]{scroll-margin-top:calc(var(--sw-header-height,72px) + 24px)}
.sw-after__hero{min-height:0;padding-block:88px}
.sw-after__hero h2,.sw-after__section-head h3,.sw-after__final h3{line-height:1.12;letter-spacing:-.04em}
.sw-person-card__role{font-size:max(14px,.875rem)!important}
.sw-curriculum{max-width:1320px;margin-inline:auto;padding:80px clamp(18px,4vw,54px)}
.sw-curriculum h2{margin-top:13px;font-size:clamp(32px,3.4vw,48px);line-height:1.12;letter-spacing:-.04em;text-wrap:balance}
.sw-curriculum .sw-after__section-head{margin-bottom:24px}
.sw-curriculum__counts{margin-bottom:24px;color:#065566;font-size:max(14px,.875rem);font-weight:650}
.sw-curriculum__counts span{padding-inline:8px;color:#64748b}
.sw-curriculum__list{display:grid;gap:12px}
.sw-curriculum__course{border:1px solid #cbd8e5;border-radius:16px;background:#fff;overflow:hidden}
.sw-curriculum__course>summary{display:flex;align-items:center;gap:16px;min-height:88px;padding:18px 22px;cursor:pointer;list-style:none}
.sw-curriculum__course>summary::-webkit-details-marker{display:none}
.sw-curriculum__course>summary:hover{background:#f4fafb}
.sw-curriculum__index{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:#e6f4f7;color:#065566;font:650 14px var(--mono)}
.sw-curriculum__course strong{display:block;color:#12233c;font-size:max(16px,1rem);line-height:1.4}
.sw-curriculum__course small{display:block;margin-top:4px;color:#475569;font-size:max(13px,.8125rem)}
.sw-curriculum__toggle{margin-left:auto;padding-left:8px;color:#086b81;font-size:24px}
.sw-curriculum__course[open]{border-color:#086b81}
.sw-curriculum__course[open] .sw-curriculum__toggle{transform:rotate(45deg)}
.sw-curriculum__body{padding:0 24px 24px}
.sw-curriculum__body>p{padding-block:20px;border-top:1px solid #e2e8f0;color:#475569;font-size:max(15px,.9375rem);line-height:1.6}
.sw-curriculum__sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:28px}
.sw-curriculum__session h3{font-size:max(16px,1rem);line-height:1.45;color:#065566}
.sw-curriculum__session ol{margin-top:12px;padding-left:22px;display:grid;gap:8px;color:#334155;font-size:max(14px,.875rem);line-height:1.6}
@media(max-width:1150px){
  .sw-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:8px 18px}
  .sw-topbar__actions{grid-column:2;grid-row:1}
  .sw-institutional-nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:860px){
  .sw-topbar{padding:calc(6px + env(safe-area-inset-top)) 12px 6px}
  .sw-brand__name{position:static;width:auto;height:auto;clip:auto;white-space:normal;font-size:13px}
  .sw-copy,.sw-copy--overview{top:auto;right:12px;bottom:calc(68px + env(safe-area-inset-bottom));left:12px;width:auto;max-width:660px;max-height:min(54dvh,calc(100dvh - var(--sw-header-height,156px) - 140px - env(safe-area-inset-bottom)));overflow:auto}
  .sw-copy--overview{max-height:calc(100dvh - var(--sw-header-height,156px) - 140px - env(safe-area-inset-bottom))}
  .sw-route{top:calc(var(--sw-header-height,156px) + 10px)}
  .sw-route__list{max-height:calc(100dvh - var(--sw-header-height,156px) - 176px)}
  .sw-after__hero{padding:64px 20px}
  .sw-after__section-head h3,.sw-after__final h3,.sw-curriculum h2{font-size:clamp(28px,7vw,40px)}
  .sw-curriculum{padding:60px 14px}
  .sw-curriculum__sessions{grid-template-columns:1fr}
  .sw-curriculum__course>summary{gap:12px;padding:16px 14px}
  .sw-curriculum__body{padding:0 18px 22px}
}
@media(max-width:600px){
  .sw-institutional-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 6px}
  .sw-institutional-nav a{font-size:13px;padding:6px 8px}
  .sw-institutional-nav a:nth-child(3){max-width:100%}
}
@media(max-height:580px) and (max-width:860px){
  .sw-copy,.sw-copy--overview{top:calc(var(--sw-header-height,112px) + 60px);bottom:auto;max-height:calc(100dvh - var(--sw-header-height,112px) - 126px)}
}
@media(prefers-reduced-motion:reduce){.sw-topbar{transition:none}}
