/* Local review only. The approved model, materials and animation are unchanged. */
body :is(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #002554;
}
body dialog :is(a,button,input,select,textarea):focus-visible {
  outline: 3px solid #002554;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff;
}
.skip { z-index: 100; }
.callback-form input { border-color: #63798b; }
dialog .note { color: #485c6a; }
dialog p a { text-decoration: underline; text-underline-offset: .18em; }
dialog .close { min-width: 44px; min-height: 44px; display: grid; place-items: center; }
.callback-form label { font-size: 16px; }
.brand-promise p { font-size: 16px; line-height: 1.65; }
body[data-scene=dawn] .hero { background-color: #bdd0df; }
body[data-scene=dawn] :is(.themes,.languages) { background: rgba(244,249,253,.55); }
body[data-scene=dawn] :is(.themes [aria-pressed=true],.languages [aria-current=page]):not(:focus-visible) { box-shadow: inset 0 -3px #002554; }
body[data-scene=night] :is(.themes [aria-pressed=true],.languages [aria-current=page]):not(:focus-visible) { box-shadow: inset 0 -3px #f6fbff; }
body[data-scene=night] :is(.header-phone,.callback-trigger,.season) { text-shadow: 0 0 2px #061826, 0 1px 3px #061826; }
.side-note h2,.side-note p { text-shadow: 0 0 1px #061826, 0 0 3px #061826, 0 2px 5px #061826; }
body[data-scene=dawn] .amd-projects { --pm-bg: rgba(225,237,245,.68); --pm-muted: #002554; }
@media (min-width: 1201px) {
  .hero::after {
    content: ""; position: absolute; inset: 0;
    z-index: -1; pointer-events: none;
    background: linear-gradient(90deg, transparent 62%, rgba(5,22,37,.76) 75%, rgba(5,22,37,.78));
    -webkit-mask-image: linear-gradient(transparent 95px, #000 176px);
    mask-image: linear-gradient(transparent 95px, #000 176px);
  }
  body[data-scene=night] .hero::after {
    background: linear-gradient(90deg, transparent 62%, rgba(5,22,37,.48) 75%, rgba(5,22,37,.54));
  }
}
@media (max-width: 1200px) {
  .site-header { grid-template-areas: "brand contact" "themes languages" "callback callback"; }
  .callback-trigger { position: static; grid-area: callback; justify-self: start; justify-content: flex-start; margin: 0; }
  .scene-controls { flex-wrap: wrap; max-width: calc(100% - 40px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .weather-lightning { display: none !important; }
}
@media (forced-colors: active) {
  body :is(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 3px solid Highlight; box-shadow: none; }
  .direction,.icon-button,.themes,.languages,.amd-projects,.amd-project,.callback-form input { border: 1px solid ButtonText; }
  .brand-promises::before { display: none; }
  .brand-promises,.side-note,.identity { background: Canvas; color: CanvasText; text-shadow: none; }
}

/* Local proposal: day desktop only. Night and mobile retain the published CSS. */
@media (min-width: 1201px) {
  body[data-scene=dawn] .hero::after { background: none; }
  body[data-scene=dawn] .brand-promises { position: relative; isolation: isolate; }
  body[data-scene=dawn] .brand-promises::before {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: -1;
    inset: -80px -190px -130px -190px;
    background: radial-gradient(ellipse at 50% 50%,
      rgba(5, 22, 37, .40) 0%,
      rgba(5, 22, 37, .34) 24%,
      rgba(5, 22, 37, .24) 43%,
      rgba(5, 22, 37, .13) 63%,
      rgba(5, 22, 37, .045) 81%,
      rgba(5, 22, 37, .008) 94%,
      rgba(5, 22, 37, 0) 100%);
    filter: blur(44px);
  }
}
@media (forced-colors: active) {
  body[data-scene=dawn] .brand-promises::before { display: none; }
}
