/* ==========================================================
   YDML PUBLIC DESIGN SYSTEM · Phase C/D · 2026-09-21
   Shared visual contract for public pages only.
   ========================================================== */
:root{
  --ydml-navy:#0B2E52;
  --ydml-blue:#1B5FAE;
  --ydml-accent:#A8460B;
  --ydml-accent-soft:#FFF1E7;
  --ydml-ink:#1A1F26;
  --ydml-muted:#5B6472;
  --ydml-border:#D8DEE6;
  --ydml-surface:#FFFFFF;
  --ydml-soft:#F5F7FA;
  --ydml-focus:#A8460B;
  --ydml-radius-control:12px;
  --ydml-radius-card:20px;
  --ydml-shadow-header:0 1px 3px rgba(11,46,82,.06);
  --ydml-shadow-card:0 8px 24px rgba(11,46,82,.07);
  --ydml-shadow-hover:0 12px 28px rgba(11,46,82,.10);
  --ydml-control-min:44px;
}
:is(.ydml-home,.ydml-page,.ai1-page,.meaningful-giving-page,.knowledge-page,.sustainability-page,.ydml-civic-theme){--focus-ring:var(--ydml-focus)}
:is(.ydml-home,.ydml-page,.ai1-page,.meaningful-giving-page,.knowledge-page,.sustainability-page,.ydml-civic-theme) :focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.ydml-home .site-header,.ydml-page .site-header,.ai1-page .site-header,.kh-header,.sus-header,.ydml-civic-theme #siteHeader{box-shadow:var(--ydml-shadow-header);border-bottom-color:var(--ydml-border)}
.ydml-home .header-inner,.ydml-page .header-inner,.ai1-page .header-inner,.kh-header-inner,.sus-header-inner,.ydml-civic-theme .ydml-topbar{min-height:72px}
:is(.ydml-home,.ydml-page,.ai1-page) .site-nav a,.kh-nav a,.sus-nav a{min-height:44px;display:inline-flex;align-items:center;font-weight:600;line-height:1.35}
:is(.nav-toggle,.kh-nav-toggle,.sus-nav-toggle,.mobile-menu-btn){min-width:44px;min-height:44px}
:is(.ydml-home,.ydml-page,.ai1-page,.meaningful-giving-page,.knowledge-page,.sustainability-page) :is(.button,.kh-button,.kh-preset){min-height:var(--ydml-control-min);border-radius:var(--ydml-radius-control)}
:is(.ydml-home,.ydml-page,.ai1-page,.knowledge-page,.sustainability-page) :is(.button,.kh-button,.kh-preset){transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
@media (hover:hover){:is(.ydml-home,.ydml-page,.ai1-page,.knowledge-page,.sustainability-page) :is(.button,.kh-button,.kh-preset):hover{transform:translateY(-1px)}}
:is(.ydml-home,.ydml-page) :is(.spotlight-card,.quick-card,.usecase-card,.room-card,.price-card,.case-card,.impact-card,.article-card),.ai1-page :is(.ai1-card,.ai1-module-card,.ai1-gallery-card),.knowledge-page :is(.kh-prompt-result,.kh-note),.sustainability-page :is(.topic-hub-card,.knowledge-card,.action-card){border-radius:var(--ydml-radius-card);box-shadow:var(--ydml-shadow-card)}
@media (hover:hover){:is(.ydml-home,.ydml-page) :is(.spotlight-card,.quick-card,.usecase-card,.room-card,.price-card,.case-card,.impact-card,.article-card):hover,.sustainability-page .topic-hub-card:hover{box-shadow:var(--ydml-shadow-hover)}}
:is(.eyebrow,.activity-kicker,.spotlight-kicker,.category-kicker,.ai2-section-kicker,.sus-kicker,.kh-eyebrow,.giving-kicker){font-size:.78rem;font-weight:700;line-height:1.35;letter-spacing:.055em}
.ydml-ui-icon,.kh-preset-icon,.sus-ui-icon{width:1.1em;height:1.1em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kh-preset{gap:.52rem;justify-content:center}
.kh-privacy-note{display:flex;align-items:flex-start;gap:.65rem}
.kh-privacy-note .ydml-ui-icon{width:20px;height:20px;margin-top:.1rem}
.sus-ui-icon{width:28px;height:28px}
.topic-icon .sus-ui-icon,.subpage-hero-icon .sus-ui-icon{width:1em;height:1em}
.hero-info-tag .sus-ui-icon{width:22px;height:22px}
.knowledge-page{--kh-navy:var(--ydml-navy);--kh-ink:var(--ydml-ink);--kh-muted:var(--ydml-muted);--kh-line:var(--ydml-border);--kh-soft:var(--ydml-soft)}
.ai1-page{--ai1-navy:var(--ydml-navy);--ai1-ink:var(--ydml-ink);--ai1-muted:var(--ydml-muted);--ai1-line:var(--ydml-border);--ai1-soft:var(--ydml-soft)}
.sustainability-page{--sus-blue:var(--ydml-navy);--sus-ink:var(--ydml-ink);--sus-muted:var(--ydml-muted);--sus-line:var(--ydml-border)}
@media(max-width:720px){:is(.ydml-home,.ydml-page,.ai1-page,.knowledge-page,.sustainability-page) :is(.button,.kh-button,.kh-preset){min-height:44px}.kh-presets{gap:10px}}
