:root { color-scheme: light; }
/* Keep the old page steady while the new palette gently appears over it. */
::view-transition { pointer-events:none; }
::view-transition-group(root) { animation-duration:320ms; }
::view-transition-old(root) { animation:none; mix-blend-mode:normal; }
::view-transition-new(root) { animation:theme-fade-in 320ms ease-in-out both; mix-blend-mode:normal; }
@keyframes theme-fade-in { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) {
  ::view-transition-group(root), ::view-transition-old(root), ::view-transition-new(root) { animation:none !important; }
}
.theme-toggle { display:inline-grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:10px; border:1px solid var(--line); border-radius:50%; background:var(--cream); color:var(--ink); cursor:pointer; }
.theme-toggle[hidden] { display:none; }
.theme-toggle:hover { border-color:var(--ink); }
.theme-toggle svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.theme-toggle .theme-sun { display:none; }
.brand-logo-mask { background:var(--ink); mask:url('/katie-logo.png') center/contain no-repeat; filter:none; }
/* Keep the caption below the entire tilted photo mat, not over its pale edge. */
@media(min-width:981px) {
  .approach-photo { margin-bottom:5rem; }
  .approach-editorial-note { top:calc(100% + 1.5rem); bottom:auto; line-height:1.25; }
}
@media(max-width:820px) {
  .nav-inner { gap:.5rem; }
  .nav-inner .language-switch { margin-left:auto; }
}
@media(max-width:360px) {
  .nav-inner { gap:.35rem; }
  .nav-inner .nav-contact { padding-inline:.65rem; }
}
