/* Legibility and controls, preserving the existing composition and signature. */
.hero-description { max-width:39ch; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#5a6852; }
.contact-field-hint,.contact-privacy { color:#4e6044; font-size:13px; }
.contact-form-heading .eyebrow,.contact-thanks-card .eyebrow { color:#4e6044; font-size:11px; }
.contact-form-heading p:last-child { color:#4e6044; font-size:15px; }
.contact-field label { font-size:14px; }
.contact-context { color:#34452e; font-size:14px; padding:12px 14px; margin:0 0 22px; background:#e6ebdc; border-radius:6px; }
.contact-recovery { margin-top:20px; font-size:14px; color:#34452e; }
.contact-recovery button { display:block; margin-top:12px; }
.contact-help { margin:14px 0 0; font-size:13px; color:#4e6044; }
.contact-help a,.privacy-content a { text-decoration:underline; text-underline-offset:3px; }
.contact-page-card { width:100%; max-width:680px; background:var(--paper); color:var(--ink); border-radius:16px; overflow:hidden; }
.contact-page-card h1 { font-size:clamp(36px,6vw,48px); letter-spacing:-.05em; line-height:1.12; margin-bottom:16px; }
.contact-page-card h1 em { font-family:Georgia,serif; font-weight:400; }
.privacy-content { max-width:780px; margin:auto; padding:60px 24px 80px; }
.privacy-content h1 { font-size:clamp(38px,6vw,64px); letter-spacing:-.04em; line-height:1.05; margin:0 0 28px; }
.privacy-content h2 { font-size:25px; letter-spacing:-.025em; margin:30px 0 12px; line-height:1.2; }
.privacy-content p,.privacy-content ul { margin:0 0 18px; max-width:70ch; }
.privacy-content .eyebrow { margin-bottom:16px; }
.visual-category { font-size:11px; }
.visual-note { font-size:10px; opacity:.9; letter-spacing:.06em; }
.stage { font-size:12px; }
.filters button { font-size:13px; min-height:44px; }
.filters button span { font-size:11px; opacity:1; }
.theme-selector { flex-wrap:wrap; }
.theme-selector button { font-size:12px; min-height:44px; padding:9px; color:#bfceb1; }
.orbit-controls button { min-width:44px; min-height:44px; font-size:12px; padding:8px; color:#bfceb1; }
.orbit-controls #orbit-left,.orbit-controls #orbit-right { width:44px; }
.orbit-controls { gap:5px; bottom:98px; flex-wrap:wrap; }
.orbit-controls>span { display:none; }
.orbital-wrap .theme-selector { bottom:48px; }
.orbital-wrap .theme-caption { font-size:12px; line-height:1.5; bottom:0; max-width:100%; }
.orbit-stage { bottom:160px; }
.orbit-hint { font-size:11px; color:#c4d4b5; }
.orbit-ready .orbit-label { font-size:10px; letter-spacing:.04em; gap:6px; }
.orbital-corner { font-size:9px; }
.footer-bottom p { font-size:12px; color:#bac8af; }
.footer-bottom>div>span { font-size:10px; color:#a9bc9b; }
.footer-bottom>div { gap:10px; }
.footer-button { font-size:13px; min-height:44px; }
.footer-actions { display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:flex-end; }
.footer-actions a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; }
.dialog-close,.contact-dialog .dialog-close { min-width:44px; min-height:44px; }
.contact-dialog .dialog-close { top:12px; right:12px; }
.contact-form-heading .eyebrow { padding-right:42px; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {
  outline:3px solid currentColor; outline-offset:5px;
}
.contact-field input:focus,.contact-field textarea:focus { outline:3px solid #465d36; outline-offset:3px; }
/* The globe remains borderless. A visible instruction marker identifies its focus. */
.orbit-canvas:focus,.orbit-canvas:focus-visible { outline:none; }
.orbit-canvas:focus-visible~.orbit-hint { color:var(--lime); text-decoration:underline; text-underline-offset:5px; }
.orbit-canvas:focus-visible~.orbit-hint::before { content:'● '; }
.orbit-stage:has(.orbit-canvas:focus-visible) { filter:drop-shadow(0 0 10px #d9fa8455); }
.dc-effects-reduced { scroll-behavior:auto; }
.dc-effects-reduced *, .dc-effects-reduced *::before, .dc-effects-reduced *::after {
  animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important;
}
.dc-effects-reduced .dc-fluid-layer { display:none!important; }
.light-preview-control { margin-top:10px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.light-preview-control button { background:transparent; color:#d9fa84; border:1px solid #8fa779; border-radius:24px; padding:10px 16px; min-height:44px; font-size:12px; }
.light-preview-control button[aria-pressed="true"] { background:#d9fa84; color:#16211e; }
.light-preview-control p { font-size:12px; color:#c1cebc; }
.liquid-light { position:absolute; inset:0; width:100%; height:100%; opacity:0; pointer-events:none; border-radius:50%; z-index:0; }
.liquid-light.is-active { opacity:.36; }
.orbit-stage:has(.liquid-light.is-active) { background:radial-gradient(ellipse,#a5cb6910,transparent 65%); }
@media(max-width:800px) {
  .stage { font-size:12px; }
  .visual-category { font-size:11px; }
  .visual-note { font-size:10px; }
  .footer-actions { justify-content:flex-start; }
}
@media(max-width:520px) {
  .hero-description { max-width:100%; font-size:16px; }
  .orbital-wrap { height:490px; }
  .orbit-stage { inset:26px 0 170px; }
  .orbit-controls { bottom:105px; gap:2px; }
  .orbit-controls button { font-size:11px; padding:6px; }
  .orbit-hint { font-size:10px; }
  .orbital-wrap .theme-selector { bottom:54px; }
  .orbital-wrap .theme-caption { font-size:12px; }
  .theme-selector button { font-size:11px; padding:6px; }
  .orbit-ready .orbit-label { font-size:10px; padding:4px; gap:3px; }
  .filters { flex-wrap:wrap; }
  .filters button { font-size:12px; }
  .card-meta { align-items:flex-start; flex-wrap:wrap; gap:8px; }
  .stage { max-width:100%; text-align:left; }
  .visual-category { max-width:calc(100% - 140px); font-size:10px; }
  .visual-note { font-size:10px; }
  .footer-bottom>div { flex-direction:column; align-items:flex-start; gap:14px; }
  .footer-bottom>div>span { font-size:10px; }
  .contact-page-card .contact-form-heading { padding-right:24px; }
}
