:root { color-scheme: light; --ink: #203148; --muted: #526071; --gold: #d5a323; --gold-deep: #946312; --gold-light: #ffe68b; --cream: #f5eedc; --surface: #fffdf7; --white: #fff; --line: #dfc99a; --red: #a42c3e; --gold-gradient: linear-gradient(115deg,#c88d14 0%,#f5c64d 25%,#ffe594 46%,#e8b22b 68%,#c89018 100%); --panel-shadow: 0 12px 32px #9c752512; }
body { background: radial-gradient(at 75% 10%, rgb(255, 252, 243) 0%, transparent 45%), linear-gradient(135deg, rgb(250, 245, 233), rgb(245, 238, 220) 55%, rgb(251, 246, 235)); color: var(--ink); }
::selection { background: rgb(239, 208, 111); color: var(--ink); }
header { background: rgba(255, 253, 247, 0.6); border-bottom-color: rgb(232, 219, 188); }
.brand { color: rgb(23, 45, 73); }
.brand small { color: var(--muted); }
nav a { color: var(--ink); }
nav a:hover { color: var(--gold-deep); }
.gold { color: var(--gold-deep); }
.dark, .gold-button { color: rgb(33, 27, 11); background: var(--gold-gradient); border: 1px solid rgb(201, 154, 34); box-shadow: rgb(255, 247, 200) 0px 1px 0px inset, rgba(166, 111, 36, 0.314) 0px -2px 0px inset, rgba(189, 140, 43, 0.14) 0px 8px 20px; }
.dark:hover, .gold-button:hover { background: linear-gradient(115deg, rgb(231, 176, 43), rgb(255, 233, 158) 43%, rgb(239, 195, 70) 70%, rgb(216, 162, 35)); box-shadow: rgb(255, 247, 200) 0px 1px 0px inset, rgba(189, 140, 43, 0.21) 0px 12px 26px; }
.outline { background: rgba(255, 253, 247, 0.3); color: var(--ink); border-color: rgb(173, 121, 29); box-shadow: none; }
.outline:hover { background: rgb(255, 248, 229); border-color: var(--red); box-shadow: rgba(156, 117, 37, 0.08) 0px 6px 16px; }
.text-link { color: var(--gold-deep); }
h1, h2, h3 { color: var(--ink); }
h1 em { background: linear-gradient(rgb(230, 186, 83) 5%, rgb(193, 141, 37) 45%, rgb(145, 96, 25) 95%) text; color: rgb(161, 110, 22); -webkit-text-fill-color: transparent; filter: drop-shadow(rgba(255, 255, 255, 0.733) 0px 1px 0px); }
.eyebrow { color: var(--gold-deep); }
.hero-eyebrow { color: var(--muted); }
.hero-copy > p, .section-head p { color: var(--muted); }
.hero-render { mix-blend-mode: multiply; }
.motion-toggle { color: var(--muted); border-color: rgb(216, 197, 152); background: rgba(255, 253, 247, 0.33); }
.product-card { background: linear-gradient(145deg, rgb(255, 254, 250), rgb(251, 247, 238)); border-color: rgb(211, 171, 84); color: var(--ink); box-shadow: inset 0 1px 0 #fff,var(--panel-shadow); }
.product-card h3 { color: rgb(32, 49, 72); }
.product-card p { color: var(--muted); }
.product-card:hover, .advisor-card:hover, button.advisor-choice:hover { border-color: var(--red); background: rgb(255, 253, 247); box-shadow: rgba(157, 45, 56, 0.07) 0px 10px 28px; }
.advisor-search-panel { background: linear-gradient(120deg, rgb(255, 253, 249), rgb(255, 250, 240)); border-color: rgb(255, 249, 237); box-shadow: rgba(176, 132, 37, 0.125) 0px 16px 42px; }
.search-location-icon { background: linear-gradient(140deg, rgb(255, 246, 198), rgb(231, 189, 79)); color: rgb(151, 105, 30); box-shadow: rgb(255, 255, 238) 0px 1px 0px inset, rgba(187, 145, 37, 0.17) 0px 6px 15px; }
.search-intro p { color: var(--muted); }
label, label > span { color: rgb(69, 84, 103); }
input, select, textarea { background: rgb(255, 255, 255); color: var(--ink); border-color: rgb(215, 203, 180); box-shadow: rgba(108, 84, 43, 0.02) 0px 1px 2px inset; }
input::placeholder, textarea::placeholder { color: rgb(105, 119, 135); opacity: 1; }
select option { background: rgb(255, 253, 247); color: var(--ink); }
.empty { color: var(--muted); background: rgba(255, 253, 247, 0.5); border-color: rgb(214, 189, 135); }
.empty strong { color: var(--ink); }
.advisor-card, button.advisor-choice { color: var(--ink); background: linear-gradient(135deg, rgb(255, 254, 251), rgb(255, 249, 237)); border-color: rgb(216, 189, 131); box-shadow: var(--panel-shadow); }
.advisor-position { color: rgb(132, 89, 17); }
.advisor-county { color: rgb(80, 96, 117); }
.advisor-card p { color: var(--muted); }
.advisor-card .advisor-position { color: rgb(132, 89, 17); }
.advisor-photo, .profile-preview > img { border-color: rgb(213, 173, 84); box-shadow: rgba(160, 123, 35, 0.125) 0px 6px 16px; }
.avatar { background: rgb(241, 228, 194); color: rgb(138, 101, 30); }
.profile-demo-label, .auto-box p { color: var(--muted); }
.auto-box strong { color: var(--ink); }
.subtle-note { color: rgb(89, 100, 115); }
.subtle-note a { color: rgb(128, 85, 14); }
.trust-strip { background: rgba(255, 249, 236, 0.65); color: rgb(82, 96, 113); border-color: rgb(227, 211, 179); }
.trust-strip b { color: rgb(142, 97, 21); }
.steps article { background: linear-gradient(140deg, rgb(255, 253, 247), rgb(250, 243, 227)); box-shadow: var(--panel-shadow); }
.steps article > span { color: rgb(178, 130, 33); }
.steps p, .join p { color: var(--muted); }
section.join { background: radial-gradient(at 100% 50%, rgba(238, 213, 150, 0.333), transparent 65%), linear-gradient(110deg, rgb(255, 253, 247), rgb(248, 239, 217)); box-shadow: var(--panel-shadow); }
footer { color: var(--muted); border-color: rgb(220, 203, 170); }
footer a { color: rgb(131, 93, 28); }
footer .brand { color: var(--ink); }
dialog { background: linear-gradient(135deg, rgb(255, 253, 248), rgb(251, 244, 228)); color: var(--ink); border-color: rgb(221, 197, 139); box-shadow: rgba(87, 67, 33, 0.3) 0px 32px 100px; }
dialog::backdrop { background: rgba(32, 49, 72, 0.4); }
.modal-close { color: rgb(142, 106, 41); }
.modal-close:hover { color: var(--red); background: rgba(164, 44, 62, 0.035); box-shadow: none; }
dialog p { color: var(--muted); }
.check, .check > span { color: rgb(66, 81, 104); }
.check a { color: rgb(130, 86, 17); }
.notice, .office-match { background: rgb(244, 232, 200); color: rgb(91, 74, 44); border-color: rgb(221, 196, 138); }
.error { color: rgb(160, 41, 57) !important; }
.success { color: rgb(46, 105, 70) !important; }
.portrait-upload { background: rgb(255, 249, 236); border-color: rgb(220, 197, 141); }
.portrait-upload input::file-selector-button { background: var(--gold-gradient); color: rgb(33, 27, 11); }
.confirmation-check { background: var(--gold-gradient); color: rgb(70, 49, 12); box-shadow: rgba(189, 140, 43, 0.14) 0px 8px 20px; }
.confirmation-advisor { background: linear-gradient(135deg, rgb(255, 253, 247), rgb(245, 236, 214)); border-top-color: rgb(217, 185, 109); border-right-color: rgb(217, 185, 109); border-bottom-color: rgb(217, 185, 109); border-left-color: var(--red); }
.confirmation-advisor h3 { color: var(--ink); }
.response-deadline strong { color: rgb(141, 96, 21); }
.response-deadline span { color: var(--muted); }
.stat { background: linear-gradient(140deg, rgb(255, 253, 247), rgb(245, 233, 200)); box-shadow: var(--panel-shadow); }
.stat strong { color: rgb(146, 100, 20); }
.stat span { color: var(--muted); }
.tabs button { background: rgba(255, 253, 247, 0.42); color: var(--muted); }
.tabs .active { background: var(--gold-gradient); color: rgb(56, 39, 12); border-color: rgb(201, 154, 34); }
.lead, .table-wrap { background: rgb(255, 253, 248); box-shadow: var(--panel-shadow); }
.lead a { color: rgb(132, 86, 17); }
.lead .meta { color: var(--muted); }
th { background: rgb(246, 237, 218); color: rgb(105, 80, 37); }
td { color: var(--ink); }
.status, .chip { background: rgb(244, 230, 189); color: rgb(112, 80, 22); border-color: rgb(217, 193, 133); }
.postal-match { color: rgb(133, 96, 30); }
.postal-match span { color: var(--muted); }
.office-directory { background: rgb(255, 253, 247); }
.office-entry p, .office-entry small { color: var(--muted); }
.location-suggestions { background: rgb(255, 253, 247); box-shadow: rgba(113, 89, 38, 0.19) 0px 16px 36px; }
.location-option { color: var(--ink); }
.location-option:hover, .location-option[aria-selected="true"] { background: rgb(244, 228, 185); color: rgb(98, 70, 26); }
#toast { background: rgb(255, 250, 240); color: var(--ink); border-color: rgb(215, 185, 113); box-shadow: rgba(115, 84, 37, 0.22) 0px 12px 38px; }
.search-location-icon { background: none; box-shadow: none; }
.dashboard-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dashboard-actions .button { font-size: 14px; text-align: center; text-decoration: none; }
.dashboard-actions button { font-size: 14px; }
@media (max-width: 650px) {
  .dashboard-actions { margin-top: 20px; align-items: stretch; flex-direction: column; width: 100%; }
  .dashboard-actions .button, .dashboard-actions button { width: 100%; justify-content: center; }
}
.product-card .icon { width: 150px; height: 200px; }
.product-card .product-icon.ninja-icon { width: 150px; height: 200px; border-radius: 12px; background-image: url("/goldbrella-ninjas-clean.png"); background-size: 400% 200%; background-position: var(--icon-x) var(--icon-y); }
.product-card { min-height: 248px; }
.brand-logo { object-fit: contain; border-radius: 50%; }
@media (max-width: 650px) {
  .product-card .icon, .product-card .product-icon.ninja-icon { width: 120px; height: 160px; }
  .product-card { min-height: 208px; }
}
.insurance-heading { text-align: center; margin: 0px 0px 24px; }
.product-card { text-decoration: none; color: var(--ink); }
.product-card h3 { font-size: 18px; line-height: 1.3; hyphens: auto; }
.product-card { gap: 12px; padding: 16px 12px; justify-content: flex-start; }
.product-card .icon { width: min(150px, 100%); height: auto; aspect-ratio: 3 / 4; overflow: hidden; isolation: isolate; }
.product-card .product-icon.ninja-icon { width: 100%; height: 100%; flex: 0 0 auto; clip-path: inset(0px 1.5% round 12px); transform: none; }
.product-card h3 { margin: 0px; position: static; }
@media (max-width: 650px) {
  .product-card .icon { width: min(120px, 100%); height: auto; }
  .product-card .product-icon.ninja-icon { width: 100%; height: 100%; }
}
.search-bar.postal-search { grid-template-columns: 1fr 1.5fr 1.3fr auto; }
.directory-notice { grid-column: 1 / -1; }
.legal-links { display: flex; flex-wrap: wrap; gap: 12px; }
.legal-page { max-width: 900px; margin: 40px auto; padding: 0px 24px 48px; line-height: 1.7; }
.legal-page h1 { font-size: clamp(30px, 5vw, 44px); letter-spacing: -1px; line-height: 1.2; }
.legal-page h2 { font-size: 24px; margin-top: 32px; }
.legal-page a, .faq-section a { color: var(--gold-deep); text-decoration: underline; }
.legal-page dt { font-weight: 700; }
.legal-page dd { margin: 0px 0px 14px; overflow-wrap: anywhere; }
.legal-page table { width: 100%; }
.legal-page td, .legal-page th { white-space: normal; }
.faq-section details { border-bottom: 1px solid var(--line); padding: 18px 0px; }
.faq-section summary { font-size: 18px; font-weight: 600; cursor: pointer; }
.faq-section p { max-width: 900px; line-height: 1.6; }
.settings-form { max-width: 780px; }
fieldset { border: 1px solid var(--line); border-radius: 12px; margin: 18px 0px; padding: 16px; }
legend { font-weight: 600; }
.advisor-card a { color: var(--gold-deep); overflow-wrap: anywhere; }
#request-manager button { margin: 8px; }
.legal-page pre { white-space: pre-wrap; overflow-wrap: anywhere; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid var(--gold-deep); outline-offset: 4px; }
#service-status:empty { display: none; }
@media (max-width: 1000px) {
  .search-bar.postal-search { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 650px) {
  .search-bar.postal-search { grid-template-columns: 1fr; }
  .legal-page { margin: 24px auto; }
  .legal-page table { font-size: 14px; }
  .legal-page td, .legal-page th { padding: 8px; }
  .product-card h3 { font-size: 18px; }
}