:root{--muted:#4c6470}
.hero,.media,.notes,.lab,.story{--cyan:#9de6e2}
[hidden]{display:none!important}
button,a,input{accent-color:var(--cyan)}
button{cursor:pointer}
input::placeholder{color:#607785;opacity:1}

.pageStatus{position:fixed;z-index:95;top:78px;left:50%;display:flex;align-items:center;gap:10px;transform:translateX(-50%);padding:9px 14px;border:1px solid #b8d0da;border-top:0;border-radius:0 0 9px 9px;background:#fff;color:#284c5f;box-shadow:0 10px 28px rgba(3,47,76,.12);font-size:.81rem;font-weight:700}
.pageStatus.is-ready{display:none}
.pageStatus.is-error{border-color:#e7b5ae;background:#fff8f6;color:#7b291f}
.statusSpinner{width:14px;height:14px;border:2px solid #9bc5d0;border-top-color:var(--cyan);border-radius:50%;animation:status-spin .75s linear infinite}
.pageStatus.is-error .statusSpinner{display:none}
@keyframes status-spin{to{transform:rotate(1turn)}}

.head nav .adminLink{display:none!important}
.head nav a{position:relative;font-size:.78rem}
.head nav a:first-child{padding:9px 12px;border-radius:7px;background:var(--navy);color:#fff}
.head nav a:first-child:hover{text-decoration:none;background:#075579}
.hero h1{font-family:"Aptos Display","Segoe UI Variable Display","Segoe UI",sans-serif;letter-spacing:-.035em}
.heroBrief h2{max-width:18ch;margin:10px 0 8px;color:#fff;font-size:1.28rem;line-height:1.2;letter-spacing:-.018em}

.taskHub{padding:88px 0 96px;background:#edf5f7}
.taskIntro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.7fr);align-items:end;gap:clamp(28px,7vw,96px);margin-bottom:34px}
.taskIntro h2{max-width:13ch;margin:0;color:var(--navy-strong);font-size:clamp(2.55rem,5vw,4.8rem);line-height:.96;letter-spacing:-.035em}
.taskIntro p{max-width:60ch;margin:0;color:#506976;font-size:1.02rem;line-height:1.65}
.globalSearch{display:grid;grid-template-columns:minmax(210px,.34fr) minmax(0,.66fr);column-gap:32px;align-items:center;padding:22px 24px;border:1px solid #b8d0da;border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(3,47,76,.08)}
.globalSearch label span,.globalResultsHead span,.taskLeadCopy>span{display:block;color:#08729b;font-size:.77rem;font-weight:800}
.globalSearch label strong{display:block;margin-top:3px;color:var(--navy-strong);font-size:.94rem}
.globalSearchControl{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 13px;border:2px solid #7fa9b8;border-radius:10px;background:#fbfdfe}
.globalSearchControl:focus-within{border-color:#087f9a;box-shadow:0 0 0 3px rgba(19,166,166,.18)}
.globalSearchControl svg{flex:0 0 22px;width:22px;height:22px;fill:none;stroke:#0a678b;stroke-width:1.8}
.globalSearchControl input{min-width:0;width:100%;height:48px;border:0;outline:0;background:transparent;color:var(--ink);font-size:1rem}
.globalSearchControl kbd{flex:none;padding:4px 7px;border:1px solid #bfd2da;border-bottom-width:2px;border-radius:5px;background:#fff;color:#3c5d6d;font:700 .71rem/1.2 "Segoe UI",sans-serif}
.globalSearchControl button{flex:none;min-height:36px;padding:6px 9px;border:0;border-radius:6px;background:#e5f2f4;color:#075772;font-size:.76rem;font-weight:800}
#globalSearchHelp{grid-column:2;margin:7px 2px 0;color:#607785;font-size:.78rem}

.taskBoard{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:18px;margin-top:18px}
.taskLead{position:relative;min-height:390px;padding:38px;overflow:hidden;border-radius:16px;background:#053a5b;color:#fff;isolation:isolate}
.taskLead:after{content:"";position:absolute;inset:auto -9% -28% auto;width:62%;aspect-ratio:1;border:1px solid rgba(159,226,226,.25);border-radius:50%;z-index:-1}
.taskLeadCopy{position:relative;z-index:2;max-width:58%}
.taskLeadCopy>span{color:#9de6e2}
.taskLead h3{max-width:12ch;margin:22px 0 13px;font-size:clamp(2rem,3.6vw,3.5rem);line-height:.98;letter-spacing:-.035em;text-wrap:balance}
.taskLead p{color:#d4e6ec;font-size:.95rem;line-height:1.65}
.taskLead img{position:absolute;right:2%;bottom:2%;width:46%;height:66%;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(2,24,39,.2))}
.taskAction{min-height:46px;margin-top:18px;padding:11px 14px;border:1px solid #8ad7d4;border-radius:8px;background:#9de6e2;color:#05364e;font-size:.81rem;font-weight:850}
.taskAction:hover{background:#fff}
.taskList{display:grid;border:1px solid #b8d0da;border-radius:16px;background:#fff;overflow:hidden}
.taskItem{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:13px;width:100%;min-height:94px;padding:14px 18px;border:0;border-bottom:1px solid #cfdee4;background:#fff;color:var(--ink);text-align:left;transition:background .16s ease,color .16s ease}
.taskItem:last-child{border-bottom:0}
.taskItem:hover,.taskItem:focus-visible{background:#e3f2f4;color:#053b5c}
.taskNumber{display:grid;width:38px;height:38px;place-items:center;border:1px solid #9fc0cc;border-radius:50%;color:#096c91;font-size:.75rem;font-weight:800;font-variant-numeric:tabular-nums}
.taskItem strong,.taskItem small{display:block}
.taskItem strong{font-size:1rem;letter-spacing:-.01em}
.taskItem small{margin-top:4px;color:#58717f;font-size:.77rem;line-height:1.35}
.taskItem>b{color:#08729b;font-size:1.15rem}

.globalResults{margin-top:18px;padding:28px;border:1px solid #a9c5d0;border-radius:16px;background:#fff;box-shadow:0 24px 58px rgba(3,47,76,.12)}
.globalResultsHead{display:flex;align-items:end;justify-content:space-between;gap:18px;padding-bottom:19px;border-bottom:1px solid #cfdee4}
.globalResultsHead h3{margin:3px 0 0;color:var(--navy-strong);font-size:1.45rem}
.globalResultsHead button{min-height:42px;padding:8px 12px;border:1px solid #aac4cf;border-radius:8px;background:#fff;color:#17475e;font-size:.78rem;font-weight:800}
.globalResultsList{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.globalResult{display:grid;grid-template-columns:1fr auto;gap:5px 16px;align-items:center;min-height:126px;padding:18px 2px;border:0;border-bottom:1px solid #d6e2e7;background:transparent;color:var(--ink);text-align:left;text-decoration:none}
.globalResult:hover strong,.globalResult:focus-visible strong{color:#08729b;text-decoration:underline;text-underline-offset:.2em}
.globalResultKind{grid-column:1;display:block;color:#08729b;font-size:.74rem;font-weight:800}
.globalResult strong{grid-column:1;font-size:1rem;line-height:1.25}
.globalResult p{grid-column:1;margin:0;color:#58717f;font-size:.78rem;line-height:1.45}
.globalResult b{grid-column:2;grid-row:1/4;color:#08729b;font-size:1rem}
.globalEmpty{grid-column:1/-1;padding:32px 0 8px}
.globalEmpty h4{margin:0 0 8px;color:var(--navy-strong);font-size:1.15rem}
.globalEmpty p{max-width:62ch;color:#58717f}
.globalSuggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.globalSuggestions button{min-height:42px;padding:8px 11px;border:1px solid #a9c5d0;border-radius:7px;background:#f5fafb;color:#075772;font-size:.78rem;font-weight:800}

/* Legibility and state pass */
.brand small,.head nav a,.heroBrief .pulse,.heroBrief strong,.stat span,.videoPick small,.videoPick span,.baseCard small,.baseCard p,.baseCard b,.capFilter,.capBody small,.noteCard small,.capBody p,.capBody span,.readBtn,.mile small,.mile p,.libraryStats span,.essential a,.ctab small,.ctab strong,.story p,.focus small,.focus a,.workTop small,.searchbox kbd,.resMeta,.showAll,.resTop small,.resTop em,.resCard h3,.resFoot,.noteCard p,.newsFeature small,.newsSmall small,.newsFeature p,.newsFeature b,.dialogMeta,.foot,.signalChip,.labTab small,.labTab strong,.microLabel,.progressMeta,.sideStat small{font-size:max(.75rem,12px)}
.heroBrief p,.media .head2>p,.playerInfo p,.videoPick span,.notes .head2>p,.noteCard p,.labIntro>p,.paneLead,.factCard p,.tipHero p,.tipList p{color:rgba(255,255,255,.78)}
.mediaEmpty,.emptyPublic{min-height:110px;display:grid;place-items:center;padding:24px;border:1px dashed #9fb8c3;border-radius:12px;color:#536d7a;background:#f8fbfc}
.resGrid:empty:after{content:"No hay recursos para mostrar en esta colección.";display:grid;grid-column:1/-1;min-height:120px;place-items:center;color:#536d7a}
.capsuleFilters,.collections,.baseRail,.localRail{scrollbar-width:thin;scrollbar-color:#739dac transparent}
.capsuleFilters,.collections{scroll-snap-type:x proximity}
.capFilter,.ctab{scroll-snap-align:start}

@media(max-width:1080px){
  .head nav{gap:8px}.head nav a{font-size:.74rem}
  .taskLeadCopy{max-width:64%}
}
@media(max-width:950px){
  .taskIntro{grid-template-columns:1fr;gap:18px}
  .globalSearch{grid-template-columns:1fr;gap:12px}
  #globalSearchHelp{grid-column:1}
  .taskBoard{grid-template-columns:1fr}
  .taskLead{min-height:350px}
  .taskLeadCopy{max-width:58%}
}
@media(max-width:720px){
  .pageStatus{top:70px;width:calc(100% - 30px);justify-content:center;text-align:center}
  .taskHub{padding:60px 0 68px}
  .taskIntro h2{font-size:2.6rem}
  .taskIntro p{font-size:.94rem}
  .globalSearch{padding:17px}
  .globalSearch label strong{font-size:.86rem}
  .globalSearchControl{min-height:50px}
  .globalSearchControl kbd{display:none}
  #globalSearchHelp{font-size:.76rem}
  .taskLead{min-height:410px;padding:26px}
  .taskLeadCopy{max-width:100%}
  .taskLead h3{max-width:13ch;font-size:2.35rem}
  .taskLead p{max-width:30ch}
  .taskLead img{right:-2%;bottom:-4%;width:44%;height:42%;opacity:.9}
  .taskItem{min-height:90px;padding:13px}
  .taskNumber{width:34px;height:34px}
  .globalResults{padding:20px 16px}
  .globalResultsHead{align-items:start;flex-direction:column}
  .globalResultsList{grid-template-columns:1fr}
  .globalResult{min-height:118px}
  .heroBrief h2{font-size:1.18rem}
  .stats{overflow-x:auto;scroll-snap-type:x mandatory;grid-template-columns:repeat(4,minmax(138px,1fr))}
  .stat{scroll-snap-align:start}
  .localRail{padding-bottom:10px}
}
@media(prefers-reduced-motion:reduce){.statusSpinner{animation:none}}

.videoFacade{display:grid;width:100%;aspect-ratio:16/9;place-items:center;padding:28px;border:0;background:radial-gradient(circle at 72% 30%,rgba(157,230,226,.18),transparent 28%),#031d31;color:#fff;text-align:center}
.videoFacade img{width:min(250px,46%);max-height:190px;object-fit:contain;margin-bottom:12px}
.videoFacade span{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #9de6e2;border-radius:8px;background:#9de6e2;color:#05364e;font-size:.82rem;font-weight:850}
.videoFacade svg{width:17px;height:17px;fill:currentColor}
.videoFacade:hover span{background:#fff;border-color:#fff}
.media .videoPick small,.media .playerInfo a,.notes .readBtn,.lab .microLabel,.lab .feedback strong,.lab .scenarioResult strong,.lab .feedback a{color:#9de6e2}
.media .videoPick span,.lab .labTab,.lab .scenarioPick,.lab .tipRole,.lab .sideStat small,.lab .progressMeta,.lab .tipList p{color:#c8dbe2}
.lab .labTab.on,.lab .scenarioPick.on{color:#fff}

/* Dark learning surface and verified AA text colors */
.lab{background:radial-gradient(circle at 10% 15%,rgba(114,226,232,.11),transparent 28%),linear-gradient(145deg,#061b2d,#083858 70%,#0b4967);color:#fff}
.lab h2,.lab h3{color:#fff}
.lab .labDeck{background:rgba(255,255,255,.055)}
.lab .signalChip{color:#d5e5ea}
.lab .labIntro>p{color:#cedee4}
.lab .labTab{background:transparent;color:#c8dbe2}
.lab .labTab.on{background:rgba(255,255,255,.075);color:#fff}
.notes .noteCard small{color:#9de6e2}

@media(max-width:720px){
  .hero{background-size:100% 100%,100% 185px!important;background-position:left top,center top!important}
  .hero:before{inset:150px 0 0;background:linear-gradient(180deg,rgba(3,47,76,.8),#032f4c 16%)}
  .heroIn{padding:185px 0 20px;gap:10px}
  .heroIn>div{padding-bottom:0}
  .hero h1{margin-bottom:15px;font-size:clamp(2.55rem,12vw,3rem);line-height:.92}
  .hero h1 em{margin-top:10px;font-size:.32em;line-height:1.3}
  .lead{font-size:.93rem;line-height:1.5}
  .actions{margin-top:19px}
  .heroBrief{margin-top:8px;padding:13px 0 13px 14px}
  .heroBrief .pulse{font-size:.75rem}
  .heroBrief h2{max-width:none;margin:5px 0 7px;font-size:1.02rem}
  .heroBrief p{display:none}
  .heroBrief strong{font-size:.75rem}
}

.ctab.on small{opacity:1;color:#d8f3f1}

.menu svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.stats:focus-visible,.localRail:focus-visible{outline-offset:-3px}


/* ------------------------------------------------------------------
   Minutos Digitales: playlist estable y reproductor robusto
   Evita que CSS Grid comprima las 10 tarjetas dentro del max-height,
   que era la causa del texto superpuesto en móvil.
   ------------------------------------------------------------------ */
.media .playlist{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:9px;
  max-height:520px;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:6px;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.media .videoPick{
  flex:0 0 auto;
  width:100%;
  height:auto;
  min-height:86px;
  overflow:visible;
  padding:14px 15px;
  line-height:1.25;
}
.media .videoPick small,
.media .videoPick strong,
.media .videoPick span{
  position:static;
  float:none;
  width:auto;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
.media .videoPick small{line-height:1.25}
.media .videoPick strong{margin:5px 0 4px;line-height:1.25}
.media .videoPick span{line-height:1.42}
.videoEmbed{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#020b12;
  overflow:hidden;
}
.videoEmbed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:#020b12;
}
.videoLoading{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#031d31;
  color:#dcebef;
  font-size:.82rem;
  pointer-events:none;
  transition:opacity .2s ease,visibility .2s ease;
}
.videoLoading span{
  width:18px;height:18px;border:2px solid #ffffff45;border-top-color:#9de6e2;border-radius:50%;
  animation:videoSpin .8s linear infinite;
}
.videoEmbed.is-ready .videoLoading{opacity:0;visibility:hidden}
.videoSlow{
  position:absolute;
  left:12px;right:12px;bottom:12px;
  z-index:3;
  display:none;
  padding:9px 11px;
  border:1px solid #ffffff2e;
  border-radius:8px;
  background:#031d31e8;
  color:#dcebef;
  font-size:.74rem;
  line-height:1.35;
  pointer-events:none;
}
.videoEmbed.is-slow:not(.is-ready) .videoSlow{display:block}
.videoRetry{
  min-height:44px;
  margin:10px 0 0 12px;
  padding:0 12px;
  border:1px solid #ffffff35;
  border-radius:8px;
  background:transparent;
  color:#dcebef;
  font-size:.72rem;
  font-weight:800;
}
.videoRetry:hover,.videoRetry:focus-visible{border-color:#9de6e2;color:#9de6e2}
@keyframes videoSpin{to{transform:rotate(360deg)}}
@media(max-width:950px){
  .media .playlist{max-height:460px}
}
@media(max-width:720px){
  .mediaStage{gap:14px}
  .media .playlist{max-height:390px;padding-right:4px}
  .media .videoPick{min-height:64px;padding:11px 13px}
  .media .videoPick span{display:none}
  .media .videoPick strong{font-size:.9rem}
  .playerInfo{padding:17px}
  .playerInfo h3{font-size:1.18rem;line-height:1.22}
  .playerInfo p{line-height:1.5}
  .videoRetry{display:inline-flex;align-items:center;justify-content:center;margin-left:8px}
}
@media(prefers-reduced-motion:reduce){
  .videoLoading span{animation:none}
}


/* Reproductor nativo: controles mínimos que no tapan la cápsula. */
.nativeVideoShell{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#020b12;
  touch-action:manipulation;
}
.nativeDriveVideo{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#020b12;
}
.videoCenterPlay{
  position:absolute;
  inset:0;
  z-index:3;
  display:grid;
  place-items:center;
  width:100%;
  border:0;
  background:transparent;
  color:#fff;
  transition:opacity .16s ease,visibility .16s ease;
}
.videoCenterPlay span{
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  padding-left:3px;
  border:1px solid #ffffff45;
  border-radius:50%;
  background:#031d31c7;
  box-shadow:0 8px 28px #0008;
  font-size:1.45rem;
}
.nativeVideoShell.is-playing .videoCenterPlay{opacity:0;visibility:hidden;pointer-events:none}
.nativeVideoControls{
  position:absolute;
  left:8px;
  right:8px;
  bottom:8px;
  z-index:4;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto 36px;
  gap:7px;
  align-items:center;
  min-height:40px;
  padding:4px 7px;
  border:1px solid #ffffff24;
  border-radius:9px;
  background:#020b12d9;
  backdrop-filter:blur(5px);
  opacity:0;
  visibility:hidden;
  transform:translateY(5px);
  pointer-events:none;
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
}
.nativeVideoShell.show-controls .nativeVideoControls,
.nativeVideoShell:not(.is-playing) .nativeVideoControls{
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:auto;
}
.nativeVideoShell:not(.is-playing) .nativeVideoControls{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.videoCtl{
  display:grid;
  width:36px;height:36px;
  place-items:center;
  padding:0;border:0;border-radius:7px;
  background:transparent;color:#fff;
  font-size:1rem;
}
.videoCtl:hover,.videoCtl:focus-visible{background:#ffffff16}
.videoProgress{
  width:100%;
  height:18px;
  margin:0;
  padding:0;
  accent-color:#9de6e2;
  cursor:pointer;
}
.videoProgress::-webkit-slider-runnable-track{height:3px;border-radius:99px;background:#ffffff58}
.videoProgress::-webkit-slider-thumb{margin-top:-5px}
.videoProgress::-moz-range-track{height:3px;border-radius:99px;background:#ffffff58}
.videoProgress::-moz-range-progress{height:3px;background:#9de6e2}
.videoTime{
  min-width:76px;
  color:#e9f4f6;
  font-size:.68rem;
  font-variant-numeric:tabular-nums;
  text-align:center;
  white-space:nowrap;
}
.nativeVideoLoading{
  position:absolute;
  inset:0;
  z-index:5;
  display:none;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:#031d31;
  color:#dcebef;
  font-size:.8rem;
}
.nativeVideoShell.is-loading .nativeVideoLoading{display:flex}
.nativeVideoLoading span{
  width:18px;height:18px;border:2px solid #ffffff45;border-top-color:#9de6e2;border-radius:50%;
  animation:videoSpin .8s linear infinite;
}
@media(max-width:720px){
  .nativeVideoControls{left:6px;right:6px;bottom:6px;grid-template-columns:34px minmax(0,1fr) 34px}
  .videoTime{display:none}
  .videoCtl{width:34px;height:34px}
  .videoCenterPlay span{width:52px;height:52px;font-size:1.3rem}
}
@media(prefers-reduced-motion:reduce){
  .nativeVideoControls,.videoCenterPlay{transition:none}
}


/* Más contexto en preparación, insumos y Radar Digital. */
.taskLead{min-height:470px}
.taskLeadCopy{max-width:64%}
.taskLead h3{margin-top:16px}
.taskPrep{
  display:grid;
  gap:7px;
  margin:15px 0 0;
  padding:0;
  list-style:none;
}
.taskPrep li{
  display:grid;
  grid-template-columns:82px 1fr;
  gap:9px;
  align-items:start;
  padding-top:7px;
  border-top:1px solid #ffffff24;
  color:#d4e6ec;
  font-size:.75rem;
  line-height:1.35;
}
.taskPrep strong{color:#9de6e2;font-size:.72rem}
.taskItem{min-height:112px}
.taskItem small{font-size:.75rem;line-height:1.45}
.baseRail{grid-template-columns:repeat(4,minmax(0,1fr))}
.baseCard,
.baseCard:nth-child(1),
.baseCard:nth-child(2),
.baseCard:nth-child(3),
.baseCard:nth-child(4){grid-column:auto!important}
.newsFeature p{font-size:.9rem;line-height:1.65}
.newsFeature b{display:inline-block;margin-top:18px}
.newsSmall{display:block}
.newsSmall h3{margin:7px 0 7px;font-size:1.05rem;line-height:1.25}
.newsSmall p{margin:0;color:#536d7a;font-size:.78rem;line-height:1.5}
.newsSmall b{display:inline-block;margin-top:9px;color:#08729b;font-size:.72rem}
@media(max-width:1080px){
  .baseRail{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:950px){
  .taskLead{min-height:440px}
  .taskLeadCopy{max-width:66%}
}
@media(max-width:720px){
  .taskLead{min-height:0}
  .taskLeadCopy{max-width:100%}
  .taskPrep li{grid-template-columns:72px 1fr}
  .taskLead img{opacity:.28;width:48%;height:34%}
  .taskItem{min-height:118px}
  .baseRail{grid-template-columns:1fr}
  .newsSmall{padding:18px 0}
}


/* Consulta interactiva de normativa municipal */
.legalHub{padding:92px 0 102px;background:#f8fbfc}
.legalIntro{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:clamp(28px,7vw,90px);align-items:end;margin-bottom:28px}
.legalIntro h2{max-width:13ch;margin:0;color:var(--navy-strong);font-size:clamp(2.45rem,4.6vw,4.5rem);line-height:.96;letter-spacing:-.035em}
.legalIntro>p{max-width:62ch;margin:0;color:#516b78;font-size:1rem;line-height:1.7}
.legalToolbar{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;margin-bottom:10px}
.legalToolbar label{display:block;padding:13px 14px;border:1px solid #b8d0da;border-radius:12px;background:#fff}
.legalToolbar label>span{display:block;margin-bottom:7px;color:#58717f;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.legalSelect select{width:100%;min-height:44px;border:0;outline:0;background:#fff;color:#063b5c;font-size:.98rem;font-weight:800}
.legalSearch>div{display:flex;align-items:center;gap:9px}
.legalSearch svg{width:20px;height:20px;fill:none;stroke:#0a678b;stroke-width:1.8}
.legalSearch input{min-width:0;width:100%;min-height:42px;border:0;outline:0;color:#123e53;font-size:.95rem}
.legalSearch button{min-height:36px;padding:7px 10px;border:0;border-radius:7px;background:#e5f2f4;color:#075772;font-size:.74rem;font-weight:850}
.legalQuick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.legalQuick button{min-height:34px;padding:7px 10px;border:1px solid #bfd2da;border-radius:999px;background:#fff;color:#0b5f7c;font-size:.72rem;font-weight:780}
.legalQuick button:hover{border-color:#46a9b4;background:#eef9f9}
.legalDecreeCard{display:grid;grid-template-columns:1.45fr .72fr;gap:34px;padding:30px;border-radius:16px;background:#053a5b;color:#fff;box-shadow:0 24px 60px rgba(3,47,76,.14)}
.legalDecreeMain>span,.legalSignedLabel{display:block;color:#9de6e2;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.legalDecreeMain h3{max-width:26ch;margin:9px 0 18px;font-size:clamp(1.65rem,3vw,2.65rem);line-height:1.05;letter-spacing:-.025em}
.legalDecreeMain>p{max-width:72ch;color:#d4e6ec;line-height:1.65}
.legalFacts{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:16px}
.legalFacts span{display:grid;gap:2px}
.legalFacts small{color:#9fc3d0;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}
.legalFacts b{font-size:.98rem}
.legalPdfLink{display:inline-flex;margin-top:8px;padding:10px 13px;border:1px solid #8ad7d4;border-radius:8px;background:#9de6e2;color:#05364e;font-size:.78rem;font-weight:850;text-decoration:none}
.legalSignatures{padding-left:28px;border-left:1px solid #ffffff2b}
.legalSignatures>div{display:grid;gap:10px;margin-top:12px}
.legalSigner{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #ffffff20}
.legalSigner:last-child{border-bottom:0}
.legalSigner>span{display:grid;width:27px;height:27px;place-items:center;border:1px solid #86d5d4;border-radius:50%;color:#9de6e2;font-weight:900}
.legalSigner strong,.legalSigner small{display:block}
.legalSigner strong{font-size:.9rem}
.legalSigner small{margin-top:3px;color:#aacbd4;font-size:.72rem}
.legalWorkbench{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;margin-top:18px}
.legalNav,.legalViewer{border:1px solid #b8d0da;border-radius:16px;background:#fff}
.legalNav{overflow:hidden}
.legalNavHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #d2e0e5}
.legalNavHead strong{color:#063b5c}
.legalNavHead span{color:#607785;font-size:.72rem}
.legalArticleList{max-height:660px;overflow:auto}
.legalArticleBtn{display:grid;gap:3px;width:100%;min-height:70px;padding:13px 15px;border:0;border-bottom:1px solid #e0e9ed;background:#fff;color:#143f53;text-align:left}
.legalArticleBtn:last-child{border-bottom:0}
.legalArticleBtn:hover,.legalArticleBtn.on{background:#e9f6f7}
.legalArticleBtn.on{box-shadow:inset 4px 0 0 #10a5a5}
.legalArticleBtn span{color:#08729b;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
.legalArticleBtn strong{font-size:.83rem;line-height:1.3}
.legalEmpty{padding:22px;color:#607785;font-size:.82rem}
.legalViewer{padding:34px 38px}
.legalViewerHead{display:grid;grid-template-columns:86px 1fr;gap:18px;align-items:start;padding-bottom:20px;border-bottom:1px solid #d5e2e7}
.legalViewerHead>span{display:grid;min-height:72px;place-items:center;border:1px solid #99bbc7;border-radius:12px;color:#08729b;font-size:.78rem;font-weight:900;text-align:center}
.legalViewerHead small{display:block;color:#60808e;font-size:.74rem;font-weight:750}
.legalViewerHead h3{margin:4px 0 0;color:#063b5c;font-size:clamp(1.6rem,2.5vw,2.35rem);line-height:1.1;letter-spacing:-.025em}
.legalComplexNote{margin:20px 0 0;padding:11px 13px;border-left:4px solid #d4a837;background:#fff7dc;color:#604f20;font-size:.78rem;line-height:1.5}
.legalArticleBody{max-width:86ch;padding-top:8px;color:#264c5f}
.legalArticleBody p{margin:18px 0;font-size:.94rem;line-height:1.72}
.legalArticleBody h4{margin:26px 0 10px;color:#075772;font-size:1.02rem}
.legalArticleBody .legalBullet{position:relative;padding-left:20px}
.legalArticleBody .legalBullet:before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:#10a5a5}
.legalArticleBody mark{padding:0 2px;background:#ffe38a;color:inherit}
.legalNotice{max-width:92ch;margin:14px 0 0;color:#657d88;font-size:.72rem;line-height:1.5}
@media(max-width:980px){
 .legalIntro,.legalDecreeCard{grid-template-columns:1fr}
 .legalSignatures{padding:20px 0 0;border-left:0;border-top:1px solid #ffffff2b}
 .legalWorkbench{grid-template-columns:250px minmax(0,1fr)}
}
@media(max-width:760px){
 .legalHub{padding:68px 0 76px}
 .legalToolbar,.legalWorkbench{grid-template-columns:1fr}
 .legalArticleList{max-height:280px}
 .legalViewer{padding:24px 20px}
 .legalViewerHead{grid-template-columns:1fr}
 .legalViewerHead>span{min-height:42px;width:max-content;padding:0 12px}
}
