/* Brand source: brand/PALETTE_Midnight_Apricot_for_Website.md. Logo: brand/logo/final/d1-rising-sun-midnight-apricot/svg-master-kit (vector).
   Exact supplied D1 artwork; no recoloring, relettering, or redrawing. */
:root, [data-theme="light"] {
  --midnight: #26354A;
  --apricot: #D3A25A;
  --ivory: #F7F5EF;
  --bg: #F7F5EF;
  --surface: #EEEBE3;
  --text: #26354A;
  --muted: #5C6673;
  --olive: #26354A;
  --gold: #D3A25A;
  --cream: #F7F5EF;
  --border: rgba(38, 53, 74, .18);
  --gold-line: rgba(211, 162, 90, .45);
  /* Accessible text derivative; original apricot remains on the logo and details. */
  --accent-ink: #8B6028;
  --input-border: #8A8F96;
  --text-nav: 1.125rem;
}
[data-theme="dark"] {
  --bg: #1E2A3A;
  --surface: #27354A;
  --text: #EFEDE6;
  --muted: #C4CCD5;
  --olive: #E0B872;
  --gold: #E0B872;
  --border: rgba(239, 237, 230, .2);
  --gold-line: rgba(224, 184, 114, .45);
  --accent-ink: #E0B872;
  --input-border: #858F9C;
  color-scheme: dark;
}
[data-theme="light"] { color-scheme: light; }
::selection { background: var(--apricot); color: var(--midnight); }
.eyebrow, .accent, .story-principle, .service-num, .tiny-flower,
.photo-grid figcaption > span, .contact-details dt, .policy-date,
.care-sidebar-note p, .prep-grid li::before, .care-form legend span {
  color: var(--accent-ink);
}
.nav a[aria-current="page"], .service-page .nav a[aria-current="page"],
.service-nav a[aria-current], .text-link:hover, .source-link:hover,
.breadcrumb a:hover, .service-row h3 a:hover, summary:hover,
.contact-details dd a:hover, .policy-layout nav a:hover { color: var(--accent-ink); }
.topline { background: var(--midnight); color: var(--ivory); }
.topline a { color: var(--ivory); }
.header { height: 156px; }
.header .brand-d1 { width: 220px; flex: 0 0 220px; }
.header .nav a { font-size: var(--text-nav); font-weight: 500; }
.brand-d1 { display: block; position: relative; line-height: 0; }
.brand-d1 .d1-logo { width: 100%; height: auto; object-fit: contain; }
.brand-d1 .d1-reverse { display: none; }
[data-theme="dark"] .brand-d1 .d1-light { display: none; }
[data-theme="dark"] .brand-d1 .d1-reverse { display: block; }
.footer .brand-d1 { display: block; width: min(100%, 260px); align-self: start; }
.footer .brand-d1 .d1-light { display: none; }
.footer .brand-d1 .d1-reverse { display: block; }
.button { background: var(--olive); border-color: var(--olive); color: var(--bg); }
.button:hover { box-shadow: 0 5px 18px rgba(38,53,74,.14); border-color: var(--accent-ink); }
.button:focus-visible, a:focus-visible, button:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 4px; }
.hero-photo::after { background: linear-gradient(transparent, rgba(30,42,58,.76)); }
.hero-photo { box-shadow: 0 16px 32px -24px rgba(38,53,74,.35); }
.hero-photo::before { border-color: rgba(211,162,90,.55); }
.photo-note { color: var(--ivory); text-shadow: 0 2px 14px rgba(30,42,58,.4); }
.photo-kicker { color: #E0B872; }
.hero-photo figcaption { color: var(--ivory); }
.belonging, .care-conversation { background: var(--midnight); color: var(--ivory); }
.belonging::before { border-color: rgba(211,162,90,.45); }
.belonging .eyebrow, .care-conversation .eyebrow { color: var(--apricot); }
.belonging p:not(.eyebrow), .care-conversation p:not(.eyebrow) { color: #E1E4E8; }
.button-light { background: var(--ivory); border-color: var(--ivory); color: var(--midnight); }
.button-light:hover { background: #EEEBE3; color: var(--midnight); }
.footer { background: var(--midnight); color: var(--ivory); }
.footer p, .footer-top > div > a { color: #E1E4E8; }
.footer-top > div > a:hover { color: var(--apricot); }
.footer-bottom { color: #C4CCD5; border-color: rgba(211,162,90,.35); }
.footer a:focus-visible { outline-color: var(--apricot); }
dialog { box-shadow: 0 20px 80px rgba(30,42,58,.35); }
dialog::backdrop { background: rgba(30,42,58,.68); }
.form-field input, .form-field select, .form-field textarea { border-color: var(--input-border); }
.form-field :is(input,select,textarea):focus-visible,
.form-consent input:focus-visible { outline-color: var(--accent-ink); }
.form-section, .policy-copy section { scroll-margin-top: 180px; }
.gallery-filters button[aria-pressed="true"] { background: var(--olive); color: var(--bg); }
@media (max-width: 1150px) {
  .header { gap: var(--space-4); }
  .header .brand-d1 { width: 190px; flex-basis: 190px; }
}
@media (max-width: 800px) {
  .header { height: 132px; }
  .header .brand-d1 { width: 184px; flex-basis: 184px; }
  .nav.open { top: 132px; }
  .form-section, .policy-copy section { scroll-margin-top: 156px; }
}
@media (max-width: 480px) {
  .header { gap: var(--space-2); }
  .header-actions { gap: var(--space-2); }
  .header .brand-d1 { width: 174px; flex-basis: 174px; }
  .footer .brand-d1 { width: 235px; }
}
