/* Optional monochrome theme. Remove this stylesheet to restore the ice palette. */
:root[data-theme="obsidian"] {
  color-scheme: dark;
  --ice: #050506;
  --surface: #141416;
  --text: #f5f5f6;
  --quiet: #b5b5bc;
  --accent: #ffffff;
  --edge: #ffffff24;
  --ink: var(--ice);
  --paper: var(--text);
  --muted: var(--quiet);
  --purple: var(--accent);
  --line: var(--edge);
}
html[data-theme="obsidian"] { background: #050506; }
body, body.homepage, body.account-page { color: var(--text); }
::selection { background: #eee; color: #101012; }
body a:focus-visible, body button:focus-visible, body input:focus-visible,
body select:focus-visible, body textarea:focus-visible, body summary:focus-visible {
  outline-color: #fff;
}
body .site-background-video { filter: grayscale(1) contrast(1.12); }
body .site-background-wash { background: linear-gradient(120deg,#050506e8,#050506ba 55%,#050506de); }
body .header, body.homepage .header {
  background: #0a0a0ddd;
  color: var(--text);
  border-color: #ffffff30;
  box-shadow: inset 0 1px 0 #ffffff16,0 12px 40px #0008;
}
body .brand img { filter: grayscale(1) invert(1) brightness(1.12); mix-blend-mode: screen; }
body .brand span { text-shadow: 0 0 22px #ffffff26; }
body .mobile-nav, body.homepage .mobile-nav { background: #101013f5; border-color: var(--edge); box-shadow: 0 15px 40px #0009; }
body .hero .hero-art { background: radial-gradient(ellipse at 75% 30%,#ffffff0d,transparent 60%),radial-gradient(ellipse at 95% 80%,#ffffff08,transparent 65%); }
body .hero:before, body.homepage .hero:before { background: radial-gradient(ellipse at 80% 35%,#ffffff14,transparent 55%),radial-gradient(ellipse at 90% 60%,#ffffff08,transparent 65%); }
body .hero:after { background: linear-gradient(0deg,#05050655,transparent 30%); }
body.homepage .hero h1 em, body.homepage .identity-title em, body.homepage .home-process h2 em {
  background-image: linear-gradient(110deg,#fff,#d5d5dc 50%,#fff);
  color: #fff;
  text-shadow: 0 0 38px #ffffff24;
}
body em, body .homepage-about-link:hover { color: #fff; }
body .hero .hero-symbol--cinematic .logo-stage img,
body .identity-white-flight img { filter: grayscale(1) invert(1) brightness(1.15); mix-blend-mode: screen; }
body .logo-stage, body .identity-white-flight { mix-blend-mode: screen; }
body .hero .logo-stage:before { filter: grayscale(1) invert(1) blur(16px); mix-blend-mode: screen; }
body .hero .light, body.homepage .hero .light,
body .contact .light, body.homepage .contact .light,
body .home-process .light, body.homepage .home-process .light,
body .identity-banner .light, body .account-form .light {
  background: linear-gradient(120deg,#fff,#e1e1e7 60%,#fff);
  color: #121214;
  border: 1px solid #ffffffa6;
  box-shadow: inset 0 1px 0 #fff,0 8px 30px #ffffff20,0 0 36px #ffffff0d;
}
body.homepage .hero .light:hover, body.homepage .contact .light:hover,
body.homepage .home-process .light:hover, body .account-form .light:hover {
  background: #fff;
  box-shadow: 0 10px 38px #ffffff40,0 0 65px #ffffff18;
}
body .button.secondary, body.homepage .hero-actions .secondary, body.homepage .identity-cta {
  background: #ffffff08; color: #f1f1f5; border-color: #ffffff4d;
}
body .button.secondary:hover { background: #ffffff18; color: #fff; }
body .identity-atmosphere:before { background: radial-gradient(ellipse at 75% 35%,#ffffff18,transparent 70%); }
body .identity-atmosphere:after { background: linear-gradient(90deg,#05050650,transparent 70%); }
body .identity-values { box-shadow: 0 -14px 32px -28px #ffffff80; }
body .home-service-grid, body.homepage .reviews-track { scrollbar-color: #888 #161618; }
body.homepage .home-service {
  background: #151518;
  border-color: #ffffff30;
  box-shadow: inset 0 1px 0 #ffffff18,0 20px 38px #0006;
}
body.homepage .home-service img { opacity: .3; filter: grayscale(1); }
body.homepage .home-service:after {
  background: radial-gradient(ellipse at 100% 0%,#ffffff12,transparent 65%),linear-gradient(110deg,#111114fa 5%,#111114eb 60%,#11111485),linear-gradient(0deg,#0a0a0ddd,transparent 65%);
}
body.homepage .home-service:before { filter: grayscale(1) invert(1); mix-blend-mode: screen; opacity: .65; }
body.homepage .offer-monthly-tag, body.homepage .offer-type-tag,
body.homepage .home-service-number, body .process-number {
  background: #ffffff0c; color: #e6e6ec; border-color: #ffffff30;
}
body .home-service-action { color: #fff; text-decoration-color: #ffffff66; }
body.homepage .home-service .home-plan-action {
  color: #fff; border-color: #ffffff50; background: linear-gradient(120deg,#ffffff12,#ffffff05);
  box-shadow: inset 0 1px 0 #ffffff0d;
}
body.homepage .home-service:focus-visible {
  outline-color: #fff; border-color: #ffffffa6;
  box-shadow: inset 0 1px 0 #ffffff70,0 20px 38px #0009,
    5px -3px 28px 4px #ffffff80,32px -24px 70px 15px #ffffff50,55px -36px 120px 28px #ffffff30;
}
@media (hover:hover) and (pointer:fine) {
  body.homepage .home-service:hover {
    border-color: #ffffffa6;
    box-shadow: inset 0 1px 0 #ffffff70,0 20px 38px #0009,
      5px -3px 28px 4px #ffffff80,32px -24px 70px 15px #ffffff50,55px -36px 120px 28px #ffffff30;
  }
}
body .home-process-step { background: linear-gradient(145deg,#1b1b1fd9,#101013e8); border-color: var(--edge); box-shadow: inset 0 1px 0 #ffffff12,0 15px 30px #0005; }
body.homepage .review-card, body.homepage .rating-summary { background: linear-gradient(145deg,#1b1b1f,#111114); border-color: var(--edge); box-shadow: inset 0 1px 0 #ffffff0d,0 12px 30px #0006; }
body.homepage .rating-avatar { background: #303036; border-color: #141416; color: #fff; }
body.homepage .rating-avatar:nth-child(2) { background: #424248; }
body.homepage .rating-avatar:nth-child(3) { background: #55555c; }
body .rating-stars span { color: #08080a; background: linear-gradient(to right,#eee var(--fill,0%),#55555c var(--fill,0%)); }
body.homepage .review-card-stars, body .review-monogram { color: #fff; }
body.homepage .reviews-control, body.homepage .review-section-button, body.homepage .reviews-more { color: #eee; border-color: #ffffff4d; }
body.homepage .reviews-control:not(:disabled):hover, body.homepage .review-section-button:hover, body.homepage .reviews-more:hover { background: #ffffff18; color: #fff; }
body .reviews-track::-webkit-scrollbar-track { background: #161618; }
body .reviews-track::-webkit-scrollbar-thumb { background: #888; }
body .reviews-track:focus-visible { outline-color: #fff; }
body .contact:not(.founder-contact), body.homepage .contact { border-color: var(--edge); box-shadow: 0 -18px 60px #ffffff06; }
body .contact-word, body.homepage .contact .contact-word { color: #5f88e021; text-shadow: 0 0 55px #2457bd24; }
body .founder-banner .founder-story { background: radial-gradient(ellipse at 100% 8%,#ffffff08,transparent 62%),linear-gradient(135deg,#121215,#08080b); box-shadow: inset 1px 0 0 #ffffff16; }
body .founder-bio-3 { color: #f0f0f4; border-color: #ffffff80; }
body .signature { color: #29292e; }
body dialog, body dialog.account-drawer, body #review-dialog {
  background: linear-gradient(155deg,#1b1b1f,#0d0d10); color: var(--text); border-color: #ffffff38;
  box-shadow: 0 25px 100px #000a,0 0 55px #ffffff06; scrollbar-color: #777 #161619;
}
body dialog::backdrop, body #review-dialog::backdrop { background: #0009; }
body dialog.account-drawer .dialog-heading { background: #151518f5; }
body .preference-option[aria-pressed=true], body .preference-option:hover { background: #ffffff12; }
body .account-form input, body .account-form input[readonly],
body #review-form input:not([type=radio]):not([type=checkbox]),
body #review-form select, body #review-form textarea, body #review-form select option {
  background: #0b0b0e; color: var(--text); border-color: #ffffff38;
}
body .account-form input::placeholder, body #review-form input::placeholder,
body #review-form textarea::placeholder { color: #92929b; }
body .account-form input:focus, body .account-menu-option:focus-visible { outline-color: #fff; }
body .account-status { background: #ffffff09; border-color: #ffffff38; }
body .account-status[data-kind=error] { background: #311b20; border-color: #a16a78; color: #ffd9e2; }
body .account-menu-option { background: #ffffff08; color: var(--text); border-color: var(--edge); }
body .account-menu-option:hover { background: #ffffff14; border-color: #ffffff66; }
body.account-page>section { background: #101013; box-shadow: 0 20px 70px #0008; }
body .review-floating { background: #17171aef; color: #fff; border-color: #ffffff50; box-shadow: 0 8px 30px #0008,0 0 25px #ffffff09; }
body .review-floating:hover { background: #2a2a30; }
body .review-close { border-color: #ffffff50; }
body .review-rating-options label { background: #111115; color: #aaaab3; border-color: #ffffff38; }
body .review-rating-options label.selected { background: #eee; color: #151518; border-color: #fff; }
body .review-rating-options label:has(input:focus-visible) { outline-color: #fff; }
body .review-consent input { accent-color: #fff; }
body .review-submit { background: #eee; color: #111; border-color: #fff; }
body .review-form-status { color: #ededf2; }
body #language-button.language-float, body .language-popover { background: #17171af2; color: #f5f5f6; border-color: #ffffff40; box-shadow: inset 0 1px 0 #ffffff14,0 10px 35px #0008; }
body .language-popover button { color: #f5f5f6; }
body .language-popover button:hover, body .language-popover button[aria-pressed=true] { background: #ffffff14; }
body .language-popover button:focus-visible { outline-color: #fff; }
body .ambient { background: radial-gradient(ellipse at 63% 48%,#ffffff12,transparent 64%); }
body .progress { background: #ffffff38; }

/* Radiant navy only on the offer footer and contact copy shown in the references. */
:root[data-theme="obsidian"] {
  --navy-radiant: #86aaf2;
  --navy-glow: #2457bd66;
}
body.homepage .identity-banner .home-service-hint,
body.homepage .identity-banner .identity-values,
body.homepage .contact .eyebrow,
body.homepage .contact .home-contact-copy {
  color: var(--navy-radiant);
  text-shadow: 0 0 20px var(--navy-glow);
}
body.homepage .contact h2 {
  color: #f5f5f6;
  text-shadow: none;
}
body.homepage .contact h2 em {
  color: var(--navy-radiant);
  -webkit-text-fill-color: var(--navy-radiant);
  background: none;
  text-shadow: 0 0 30px var(--navy-glow);
}

/* Additional navy details matched to the approved screenshot references. */
body.homepage .reviews .reviews-kicker,
body .header nav .about-nav,
body .mobile-nav .about-nav,
body.homepage .direct-contacts,
body.homepage .contact .contact-note,
body.homepage .homepage-about-link,
body.homepage .hero-symbol--cinematic .logo-caption,
body.homepage .hero-bottom > span:not(.edition),
body.homepage .hero-bottom a {
  color: var(--navy-radiant);
  text-shadow: 0 0 20px var(--navy-glow);
}
body.homepage .homepage-about-link { border-color: #648cdd80; }
body .header nav .about-nav:hover,
body.homepage .direct-contacts a:hover,
body.homepage .homepage-about-link:hover,
body.homepage .hero-bottom a:hover { color: #c3d5ff; }
body.homepage .offer-monthly-tag,
body.homepage .offer-type-tag,
body.homepage .home-process .process-number {
  color: var(--navy-radiant);
  background: #10234466;
  border-color: #5c86da66;
  text-shadow: 0 0 15px var(--navy-glow);
}
body.homepage .home-service .home-plan-action {
  color: #a6c1ff;
  border-color: #5c86da80;
  background: linear-gradient(120deg,#19346566,#10204433);
  text-shadow: 0 0 16px #2457bd55;
}
/* Luminous navy fades through white and silver on the primary buttons. */
body .hero .light, body.homepage .hero .light,
body .contact .light, body.homepage .contact .light,
body .home-process .light, body.homepage .home-process .light,
body .identity-banner .light, body .account-form .light,
body .review-submit {
  background: linear-gradient(110deg,#4266a7 0%,#bdd0f2 27%,#f6f7f9 52%,#c4cad5 77%,#5273af 100%);
  color: #101b2f;
  border-color: #c4d6f9a6;
  text-shadow: none;
  box-shadow: inset 0 1px 0 #ffffffd9,0 8px 30px #1d4da044,0 0 38px #5b86d92b;
}
body.homepage .hero .light:hover,
body.homepage .contact .light:hover,
body.homepage .home-process .light:hover,
body .account-form .light:hover,
body .review-submit:hover {
  background: linear-gradient(110deg,#5c7db9 0%,#cfdef8 27%,#fff 52%,#d2d6de 77%,#6b8ac2 100%);
  box-shadow: inset 0 1px 0 #fff,0 10px 38px #3166c870,0 0 65px #6e9af03b;
}
