/* White and gold for the homepage and contact page. Admin and portal styles stay independent. */
.dynamic-home {
  color-scheme:light;
  --bg:#fff; --panel:#faf8f3; --cream:#25241f; --ink:#25241f;
  --muted:#6c685e; --gold:#85651f; --line:#e7e2d8; --gold-fill:#dfbf72;
  background:var(--bg); color:var(--ink);
}
.dynamic-home ::selection { background:#efe0b8; color:#332b17; }
.dynamic-home :focus-visible { outline:2px solid #98772f; outline-offset:4px; }
.dynamic-home .site-header { background:rgb(255 255 255 / 94%); border-bottom-color:#eeebe3; }
.dynamic-home .nav-row { height:80px; }
.dynamic-home .brand-logo { width:180px; }
.dynamic-home .site-header nav>a:not(.button) { color:#5d5a52; }
.dynamic-home .site-header nav>a:hover,.dynamic-home .site-header nav>a[aria-current="location"] { color:var(--gold); }
.dynamic-home .button { background:var(--gold-fill); border-color:var(--gold-fill); color:#302713; border-radius:6px; font-weight:500; }
.dynamic-home .button:hover { background:#e8cd8b; border-color:#d4b367; box-shadow:0 7px 22px #9c7b2317; }
.dynamic-home .button.small { border-radius:5px; }
.dynamic-home .text-link { color:var(--ink); }
.dynamic-home .text-link:hover { color:var(--gold); }
.dynamic-home h2 em { font-family:Georgia,"Times New Roman",serif; font-style:italic; }

/* Shared white-and-gold representative controls. */
.representative { background:#fff; border-color:#e6decd; border-radius:11px; box-shadow:0 12px 30px -18px #7b601d42; scroll-margin-top:100px; }
.rep-header { padding:23px 23px 18px; gap:13px; }
.rep-brand-mark { background:#fcf9ef; border-color:#e9ddbc; border-radius:8px; width:48px; height:48px; }
.dynamic-home .rep-identity h2 { font-size:27px; letter-spacing:-.04em; }
.rep-identity h2>span { color:#766c5a; }
.rep-identity p { color:#746b59; font-size:10px; }
.rep-reset { color:#796b4d; }
.rep-reset:hover { background:#fbf7ed; border-color:#e6dcc5; }
.rep-modes { margin-inline:23px; gap:20px; border-color:#ece6da; }
.rep-modes button { color:#706855; font-size:11px; }
.rep-modes button[aria-pressed="true"] { color:#73551a; border-color:#b18c36; }
.rep-context { padding:15px 23px 3px; gap:10px; }
#rep-context-label { font-size:10px; color:#746d60; max-width:270px; }
.rep-provider { color:#7e621f; background:#fdfaf2; border-color:#e8ddbf; font-size:8px; }
.rep-messages { height:188px; padding:19px 23px 15px; scrollbar-color:#d5c7a9 transparent; }
.representative[data-has-messages="true"] .rep-messages { height:230px; }
.rep-author { color:#7c7260; font-size:9px; }
.rep-message { max-width:96%; }
.rep-message p { color:#39352c; font-size:13px; line-height:1.8; }
.rep-message.from-emma p { background:#faf9f5; border-color:#e9e5dc; padding:13px 15px; border-radius:2px 9px 9px; }
.rep-message.from-user p { background:#f6edda; color:#51411e; border-color:#e9d8af; border-radius:9px 2px 9px 9px; }
.rep-typing { background:#faf9f5; border-color:#e9e5dc; }
.rep-suggestions { padding:4px 23px 15px; gap:6px; min-height:0; }
.rep-suggestions button { background:#fff; border-color:#e6dfd1; color:#716144; font-size:10px; padding:8px 10px; min-height:35px; border-radius:5px; }
.rep-suggestions button:hover:not(:disabled) { background:#fbf6e9; border-color:#c8aa67; color:#684d17; }
.rep-composer { margin-inline:23px; background:#fff; border-color:#d9cdb3; border-radius:7px; padding:7px 7px 7px 13px; }
.rep-composer:focus-within { border-color:#af8a35; box-shadow:0 0 0 3px #b08a2e0d; }
.dynamic-home .rep-composer textarea { color:#343026; font-size:12px; }
.rep-composer textarea::placeholder { color:#7b715f; }
.rep-composer button { background:var(--gold-fill); color:#433515; border-radius:5px; }
.rep-composer button:disabled { opacity:1; background:#f0e9d9; color:#a59777; }
.rep-composer button:hover:not(:disabled) { background:#eacd8a; }
.rep-footer { padding:11px 23px 18px; }
.rep-footer p { color:#786e5b; font-size:9px; }
.rep-lead { margin-inline:23px; border-color:#dcccaa; background:#fcf9f1; }
.rep-lead-top { color:#49402c; }
.rep-lead dd { color:#443b29; }
.rep-followup { margin-inline:23px; }
.rep-followup>span { color:#766d5c; }
.dynamic-home .audience-band { border-block:1px solid #eee9dd; }
.dynamic-home .audience-band>.shell { padding-block:24px; }
.dynamic-home .audience-band p { color:#7a7264; font-size:11px; }
.dynamic-home .audience-band span { color:#575043; font-size:12px; }
.dynamic-home .audience-band span::before { color:#b2914d; content:"+"; }

/* The same palette carries through the interactive walkthrough. */
.dynamic-home .journey-section,.dynamic-home .light-section { --gold:#85651f; --muted:#6c685e; --line:#e7e2d8; color:#25241f; background:#fcfbf8; }
.journey-section { border-radius:0; padding-top:76px; }
.journey-section .eyebrow,.journey-section h2 em,.dynamic-home .light-section .eyebrow { color:var(--gold); }
.demo-disclaimer,.journey-footnote p { color:#797264; }
.journey-app { background:#fff; border-color:#e4dccb; box-shadow:0 15px 45px -30px #8c71374a; border-radius:13px; }
.journey-toolbar,.journey-steps,.conversation,.conversation-person,.conversation-footer,.journey-player,.mobile-view-switch { border-color:#ece5d7; }
.mini-mark { background:#fcf9ef; border:1px solid #e9ddbc; color:#80601d; border-radius:6px; flex-shrink:0; }
.mini-mark img { display:block; width:34px; height:34px; }
.journey-brand div>span,.pane-heading,.channel-label,.conversation-person div>span,.chat-message>span,.chat-hint,.lead-details dt,.journey-insight p,#journey-announcement { color:#756c5b; }
.trade-picker { border-color:#e7dfcf; background:#faf8f3; border-radius:7px; }
.trade-picker button { color:#746951; border-radius:4px; }
.trade-picker button[aria-pressed="true"] { color:#574019; background:#ead6a8; box-shadow:none; }
.trade-picker button:hover:not([aria-pressed="true"]) { background:#f1e9d7; color:#574019; }
.journey-steps li,.journey-steps li>span { color:#796c56; }
.journey-steps li[aria-current] { color:#775619; border-color:#ac852e; }
.journey-steps li.complete,.journey-steps li.complete>span { color:#806321; border-color:#ddc995; }
.person-avatar { background:#f3ecde; color:#7a6741; }
.sample-chip,.chat-event { background:#faf6ed; color:#79663b; border-color:#e6ddc8; }
.chat-messages { scrollbar-color:#d5c7a9 transparent; }
.chat-message p { background:#f5f3ed; color:#524b3c; }
.chat-message.from-engine p { background:#f2e6ca; color:#51401d; }
.conversation-footer,.journey-player { background:#faf8f2; color:#746852; }
.lead-status { background:#f4ebd7; color:#816329; border-radius:5px; }
.lead-details>div { border-color:#ede7da; }
.lead-details dd { color:#514735; }
.journey-insight { border-color:#e8dfca; background:#fcf9f1; border-radius:7px; }
.insight-icon { color:#85651f; }
.approval-box { border-color:#d4b77b; background:#fcf6e6; border-radius:7px; }
.approval-box p { color:#7c6634; }
.dynamic-home .approval-box .button,.dynamic-home .journey-player .button { background:#dfbf72; border-color:#d5b368; color:#453514; border-radius:5px; }
.dynamic-home .approval-box .button:hover,.dynamic-home .journey-player .button:hover { background:#ead198; }
.sample-appointment { background:#faf5e8; border-color:#daccaa; border-radius:7px; }
.calendar-symbol { background:#fff; color:#8a7035; border:1px solid #e8dcc1; }
.calendar-symbol strong,.sample-appointment p,.sample-appointment div>span { color:#7a652e; }
.journey-app[data-step="5"] .lead-status { background:#efe5ca; color:#71591f; }
.player-secondary,.player-reset { color:#7c6636; border-color:#ded2b9; border-radius:5px; }
.player-secondary:hover,.player-reset:hover { background:#f0e8d6; }
.journey-footnote a,.journey-footnote p>span { color:#8d6c28; }
.mobile-view-switch { background:#fbf9f4; }
.mobile-view-switch button { color:#7d7059; }
.mobile-view-switch button[aria-pressed="true"] { background:#f0e5ca; color:#71551c; }
.journey-section :focus-visible { outline-color:#98772f; }

/* Supporting sections and forms stay light, with gold reserved for emphasis. */
.dynamic-home .process-section { background:#fcfbf8; border-top-color:#e9e2d4; --muted:#6c685e; --gold:#85651f; }
.dynamic-home .steps li { background:#fff; border:1px solid #e9e1d1; border-radius:9px; }
.dynamic-home .step-number { color:#8f702d; }
.dynamic-home .calculator-section { background:#faf7ef; border-color:#ebe2cf; }
.dynamic-home .calculator { background:#fff; border-color:#e7dcc4; border-radius:12px; }
.dynamic-home .formula { color:#776a53; }
.dynamic-home input,.dynamic-home select,.dynamic-home textarea { background:#fff; color:#302d25; border-color:#dcd4c3; border-radius:5px; }
.dynamic-home input::placeholder,.dynamic-home textarea::placeholder { color:#7a705e; }
.dynamic-home input:hover,.dynamic-home select:hover,.dynamic-home textarea:hover { border-color:#bba577; }
.dynamic-home .price-card { background:#fcfaf5; border-color:#dacaab; border-radius:12px; }
.dynamic-home .about-section { background:#faf7ef; color:var(--ink); border-block:1px solid #eee5d2; }
.dynamic-home .about-row .eyebrow { color:var(--gold); }
.dynamic-home .about-row p:not(.eyebrow) { color:#6c685e; }
.dynamic-home .booking-card { background:#faf8f3; border-color:#e5dcc9; border-radius:12px; }
.dynamic-home .minimal-select-trigger { background:#fff; color:#3e382d; border-color:#dcd4c3; border-radius:5px; }
.dynamic-home .minimal-select-trigger.is-placeholder { color:#7a705e; }
.dynamic-home .minimal-select-trigger:hover:not(:disabled) { background:#fdfbf6; border-color:#bba577; }
.dynamic-home .minimal-select-trigger:focus-visible,.dynamic-home .minimal-select-trigger[aria-expanded="true"] { border-color:#a68334; box-shadow:0 0 0 3px #b08a2e0d; }
.dynamic-home .minimal-select-chevron { border-color:#a08345; }
.dynamic-home .minimal-select-list { background:#fff; color:#524a3a; border-color:#ded2b7; box-shadow:0 13px 30px -12px #79603142; scrollbar-color:#d5c7a9 transparent; border-radius:7px; }
.dynamic-home .minimal-select-option { border-radius:4px; }
.dynamic-home .minimal-select-option.is-placeholder { color:#7a705e; }
.dynamic-home .minimal-select-option[aria-selected="true"] { color:#806021; }
.dynamic-home .minimal-select-option.is-active { background:#f5edda; color:#62491c; }
.dynamic-home .minimal-select-option[aria-selected="true"]::after { color:#9d7a2b; }
.dynamic-home .minimal-select-error { color:#8a6426; }
.dynamic-home .mobile-cta { box-shadow:0 5px 22px #8e6e2640; }

@media (max-width:1100px) {
 .rep-header { padding-inline:18px; }
 .rep-context,.rep-messages,.rep-suggestions,.rep-footer { padding-inline:18px; }
 .rep-modes,.rep-composer,.rep-lead,.rep-followup { margin-inline:18px; }
 .rep-modes { gap:13px; }
 .rep-modes button { font-size:10px; }
}
@media (max-width:900px) {
 .rep-header { padding:18px 14px 13px; }
 .rep-context,.rep-messages,.rep-suggestions,.rep-footer { padding-inline:14px; }
 .rep-modes,.rep-composer,.rep-lead,.rep-followup { margin-inline:14px; }
 .rep-messages { height:205px; }
 .rep-modes button { font-size:9px; }
 .rep-brand-mark { width:40px; height:40px; }
 .rep-brand-mark img { width:36px; height:36px; }
 .dynamic-home .rep-identity h2 { font-size:25px; }
 .rep-identity p { font-size:9px; }
 .rep-message p { font-size:12px; }
}
@media (max-width:760px) {
 .dynamic-home .nav-row { height:72px; }
 .dynamic-home .brand-logo { width:164px; }
 .dynamic-home .menu-toggle { border-radius:5px; border-color:#e2d8c3; }
 .rep-header { padding:20px 16px 16px; }
 .rep-brand-mark { width:45px; height:45px; }
 .rep-brand-mark img { width:40px; height:40px; }
 .rep-identity p { font-size:9px; }
 .rep-modes { margin-inline:16px; gap:15px; }
 .rep-modes button { font-size:10px; min-height:44px; }
 .rep-context,.rep-messages,.rep-suggestions,.rep-footer { padding-inline:16px; }
 .rep-context { gap:8px; padding-top:14px; }
 #rep-context-label { font-size:9px; }
 .rep-provider { font-size:7px; }
 .rep-messages { height:194px; }
 .representative[data-has-messages="true"] .rep-messages { height:240px; }
 .rep-message p { font-size:12px; }
 .rep-suggestions { gap:7px; }
 .rep-suggestions button { min-height:38px; font-size:10px; }
 .rep-composer,.rep-lead,.rep-followup { margin-inline:16px; }
 .dynamic-home .rep-composer textarea { font-size:16px; }
 .rep-footer p { font-size:9px; }
 .dynamic-home .audience-band>.shell { padding-block:24px; }
 .journey-section { border-radius:0; padding-top:52px; }
 .dynamic-home .steps li { border-radius:7px; }
}
@media (max-width:374px) {
 .rep-header { gap:10px; padding-inline:13px; }
 .rep-context,.rep-messages,.rep-suggestions,.rep-footer { padding-inline:13px; }
 .rep-modes,.rep-composer,.rep-lead,.rep-followup { margin-inline:13px; }
 .rep-modes { gap:9px; }
 .rep-modes button { font-size:9px; }
}
