:root{color-scheme:dark;--bg:#090a0b;--panel:#111315;--line:#2c2e30;--gold:#d9b767;--cream:#f3f0e8;--muted:#a3a4a3;font-family:Arial,Helvetica,sans-serif;color:var(--cream);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 20%,#27221944,transparent 45%),var(--bg);font-size:15px;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:var(--gold)}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}h1,h2,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,4.6vw,68px);line-height:1.1;letter-spacing:-.035em;margin:24px 0}h2{line-height:1.25}button{border:1px solid var(--line);color:var(--cream);background:#1b1d1f;border-radius:10px;padding:10px 16px}input,textarea,select{border:1px solid #393b3d;background:#0d0f10;color:var(--cream);border-radius:9px;padding:11px 12px;max-width:100%;min-width:0}input,textarea{width:100%}textarea{resize:vertical}label{display:block}label>span{display:block;font-size:13px;margin:0 0 7px;color:#d4d4cf}small{color:var(--muted)}.masthead{max-width:1220px;margin:auto;padding:28px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.2em;color:var(--cream);text-decoration:none;font-weight:700;font-size:20px;line-height:1.2}.brand small{display:block;font-size:8px;letter-spacing:.38em;margin-top:6px}.brand-mark{font-family:Georgia,serif;font-size:29px;color:var(--gold);border:1px solid var(--gold);width:44px;height:44px;display:grid;place-items:center;border-radius:50%;letter-spacing:0}.header-right{display:flex;gap:22px;align-items:center}.location{font-size:10px;letter-spacing:.18em;color:var(--muted)}.header-right select{font-size:12px;padding:8px}.layout{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:1fr 1.18fr;gap:70px;padding:64px 36px 74px;align-items:start}.eyebrow{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.18em;margin:0}.lede{font-size:17px;line-height:1.75;color:#bcbdb8;max-width:390px}.intro-list{margin:35px 0}.intro-list>div{display:flex;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid #252728;max-width:380px}.intro-list p{margin:0;font-size:13px}.intro-list span{font-size:11px;color:var(--gold)}.contact-card{padding:26px 0 8px}.phone{display:block;font-size:26px;text-decoration:none;color:var(--cream);letter-spacing:-.02em;margin:9px 0}.phone span{color:var(--gold);font-size:22px;padding-left:18px}.contact-card p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0 0 8px}.small-note{font-size:11px;color:var(--muted);max-width:335px;margin-top:25px}.panel{border:1px solid var(--line);background:linear-gradient(145deg,#151718,#101214);border-radius:18px;overflow:hidden}.assistant{box-shadow:0 28px 90px #0005;min-width:0}.assistant-head{display:flex;align-items:center;gap:12px;padding:23px 24px}.avatar{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;background:#d9b76718;border:1px solid #d9b76740;color:var(--gold);font-family:Georgia,serif;font-size:23px;flex-shrink:0}.assistant-head h2{font-size:15px;margin:0 0 3px;font-weight:600}.assistant-head p{color:var(--muted);font-size:10px;margin:0}.text-button{margin-left:auto;background:transparent;border:0;font-size:11px;padding:6px;color:var(--gold);max-width:125px;line-height:1.4}.tabs{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tabs button{border:0;border-radius:0;background:transparent;color:var(--muted);font-size:12px;flex:1;padding:14px}.tabs button.active{color:var(--gold);box-shadow:inset 0 -2px var(--gold);background:#d9b76708}.messages{padding:26px 24px 15px;min-height:225px;max-height:430px;overflow-y:auto;overscroll-behavior:contain}.bubble{font-size:13px;line-height:1.75;border-radius:12px;padding:15px 18px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:93%;margin-bottom:14px}.bubble.assistant-message{background:#25272a;border:1px solid #36383a;border-top-left-radius:3px}.bubble.customer{background:#d9b767;color:#17140e;margin-left:auto;border-bottom-right-radius:3px}.suggestions{display:flex;gap:7px;flex-wrap:wrap;margin:0 24px 22px}.suggestions button{font-size:11px;padding:8px 11px;border-radius:30px;background:transparent;border-color:#414344;color:#d3d2cc}.suggestions button:hover{border-color:var(--gold)}.composer{display:flex;gap:10px;align-items:center;margin:0 24px;border:1px solid #444546;background:#0d0f10;border-radius:12px;padding:8px 10px}.composer textarea{border:0;background:transparent;padding:7px;resize:none;font-size:13px;min-height:50px;max-height:150px}.composer textarea:focus{outline:0}.composer:focus-within{outline:1px solid var(--gold)}.send-button{border-radius:8px;background:var(--gold);border:0;color:#14140e;font-size:23px;width:36px;height:36px;padding:0;flex-shrink:0}.privacy-note{font-size:10px;line-height:1.65;color:var(--muted);margin:12px 25px 17px}.review-cta{display:block;border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 24px;background:transparent;text-align:left;color:var(--gold);width:100%;font-size:12px}.status{font-size:12px;padding:13px 24px;background:#3b2d14;color:#f5d799;border-bottom:1px solid #70531e;overflow-wrap:anywhere}#review-panel{padding:23px 24px}.form-intro{font-size:13px;color:#bec0bc}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.fields .full{grid-column:1/-1}.fields select{width:100%}.fields input,.fields select,.fields textarea{font-size:13px}.fields label>span{font-size:11px}.upload{background:#171a1b;border:1px dashed #4a4b4b;padding:14px;border-radius:12px}.upload input{padding:8px 0;border:0;background:none;font-size:11px}.upload small{font-size:10px}.check{display:flex;align-items:flex-start;gap:10px;margin:20px 0}.check input{width:17px;height:17px;flex-shrink:0;margin:3px 0;accent-color:var(--gold)}.check span{font-size:11px;line-height:1.65;margin:0}.consent{margin-bottom:0}#lead-form .privacy-note{margin:14px 0}.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);border:1px solid var(--gold);color:#11140e;border-radius:10px;padding:13px 23px;text-decoration:none;font-size:13px;font-weight:700}.submit{width:100%}.success{padding:45px 28px;text-align:center}.success-icon{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:#d9b76720;color:var(--gold);font-size:24px;margin:0 auto 24px}.success h2{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:14px 0 23px}.success p{font-size:13px}#saved-id{font-family:monospace;color:var(--gold)}.muted{color:var(--muted)}.error{font-size:12px;color:#ffc1b7;margin:14px 0}.page-footer{border-top:1px solid var(--line);padding:24px 36px;max-width:1220px;margin:auto;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.demo-banner{text-align:center;background:#d9b767;color:#18170f;font-size:11px;padding:8px 15px}.sr-only,.honeypot{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-wrap{max-width:1100px;margin:40px auto;padding:24px}.admin h1{font-size:44px}.admin .panel{padding:25px;margin:22px 0}.admin summary{cursor:pointer;color:var(--gold)}.admin details form{max-width:450px}.admin .lead-heading{display:flex;justify-content:space-between;gap:25px}.admin .lead-heading h2{margin:10px 0}.lead-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.lead-grid dt{font-size:11px;text-transform:uppercase;color:var(--muted)}.lead-grid dd{margin:3px 0;white-space:normal;overflow-wrap:anywhere}.admin .actions{display:flex;gap:12px;flex-wrap:wrap}.admin .actions form{display:flex;gap:8px}.notice{padding:16px;background:#2f331e;border:1px solid #656e3e;border-radius:10px}.embed .masthead,.embed .intro,.embed .page-footer{display:none}.embed .layout{display:block;padding:0;max-width:none}.embed .assistant{border-radius:0;border:0;min-height:100dvh}.embed .messages{max-height:40dvh}.embed .demo-banner{display:none}@media(max-width:850px){.layout{gap:28px;grid-template-columns:.85fr 1.15fr;padding:40px 24px}.masthead{padding:22px 24px}.location{display:none}h1{font-size:43px}.lede{font-size:15px}.assistant-head{padding:20px}.text-button{max-width:85px}.lead-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.layout{display:block;padding:32px 16px}.masthead{padding:18px 20px}.brand{font-size:17px}.brand-mark{width:37px;height:37px;font-size:25px}.intro h1{font-size:39px;margin:14px 0}.intro h1 br{display:none}.intro .lede{font-size:14px;margin-bottom:25px;max-width:none}.intro-list,.contact-card,.small-note{display:none}.intro .eyebrow{font-size:9px}.assistant-head{padding:18px}.messages{padding:22px 18px 12px;min-height:200px}.composer{margin:0 18px}.suggestions{margin:0 18px 20px}.privacy-note{margin-left:19px;margin-right:19px}#review-panel{padding:20px 18px}.fields{gap:15px}.fields label{min-width:0}.header-right{gap:10px}.page-footer{padding:24px 20px;gap:16px;flex-wrap:wrap}.page-footer span:nth-child(2){display:none}.admin-wrap{padding:16px;margin:15px auto}.admin .panel{padding:17px}.admin .lead-heading{display:block}.lead-grid{grid-template-columns:1fr}.embed .intro{display:none}}@media(max-width:360px){.fields{grid-template-columns:1fr}.assistant-head{gap:8px}.assistant-head h2{font-size:13px}.text-button{font-size:10px}.tabs button{font-size:11px}}

.upload>span{display:block;font-size:11px;margin-bottom:10px;color:#d4d4cf}.upload #choose-photos{font-size:12px;padding:8px 12px}.photo-selection{font-size:11px;margin:9px 0;overflow-wrap:anywhere;color:var(--muted)}
@font-face{font-family:GlobusChinese;src:url("fonts/NotoSansSC-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{font-family:Arial,Helvetica,GlobusChinese,sans-serif}#language{font-family:Arial,GlobusChinese,sans-serif}html[lang="zh"]{font-family:GlobusChinese,"Microsoft YaHei","PingFang SC",Arial,sans-serif}html[lang="zh"] h1,html[lang="zh"] .success h2{font-family:GlobusChinese,"Microsoft YaHei","PingFang SC",sans-serif;letter-spacing:0}

.photo-actions{display:flex;flex-wrap:wrap;gap:8px}.photo-actions button,.upload #choose-photos{min-height:44px;font-size:12px;padding:8px 12px}.photo-actions #take-photo{border-color:var(--gold);color:var(--gold)}.photo-list{list-style:none;margin:0 0 10px;padding:0}.photo-list li{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:6px 0}.photo-list li>span{flex:1;min-width:0;font-size:11px;overflow-wrap:anywhere}.photo-list button{flex-shrink:0;font-size:11px;min-height:44px;padding:8px 10px}

.mode-picker{display:flex;gap:8px;padding:16px 22px 0}.mode-picker button{flex:1;min-width:0;font-weight:600}.mode-picker [aria-pressed="true"]{background:#302817;border-color:var(--gold);color:var(--gold)}.voice-panel{margin:0 22px 22px;border:1px solid var(--line);border-radius:12px;padding:18px;background:#171a1a}.voice-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.voice-heading strong{flex:1}.voice-dot{width:10px;height:10px;border-radius:50%;background:#737776}.voice-panel[data-state="live"] .voice-dot{background:#b9ce98;box-shadow:0 0 0 5px #b9ce981a}.voice-panel[data-state="connecting"] .voice-dot{background:var(--gold)}#voice-status{font-size:13px;color:#dedcd4;min-height:2.8em}.voice-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.voice-actions button{flex:1 1 140px;white-space:normal}.voice-panel .check{align-items:flex-start;font-size:12px}.voice-panel .check input{flex-shrink:0;width:18px;height:18px}.voice-panel .privacy-note{padding:0;margin:14px 0 0}.voice-panel audio{display:none}.bubble.pending{opacity:.85}.bubble.failed{border:1px solid #8e5949;color:#e6c6b7}.voice-panel #voice-timer{font-variant-numeric:tabular-nums;color:var(--gold)}@media(max-width:420px){.mode-picker{padding:14px 14px 0}.mode-picker button{padding:10px 8px;font-size:13px}.voice-panel{margin:0 14px 18px;padding:14px}}

/* v93: explicit chat permission and an in-app response report path. */
.chat-permission{margin:18px 24px;padding:14px;border:1px solid var(--line);border-radius:10px}.chat-permission span{font-size:13px}.ai-report-button{display:block;margin-top:12px;min-height:44px;padding:8px 12px;font-size:12px;color:var(--gold);white-space:normal;text-align:left}.ai-report-panel{margin:16px 24px;padding:16px;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}.ai-report-panel summary{min-height:44px;cursor:pointer;color:var(--gold)}.ai-report-panel .privacy-note{margin:8px 0 14px;font-size:12px}.ai-report-panel label{margin:12px 0}.ai-report-panel select,.ai-report-panel textarea{width:100%;font-size:16px;min-height:44px}.ai-report-panel blockquote{margin:12px 0;padding:12px;border-left:3px solid var(--gold);max-height:12em;overflow:auto;white-space:pre-wrap;font-size:13px}.ai-report-panel .actions{display:flex;gap:10px;flex-wrap:wrap}.ai-report-panel button{min-height:44px}.ai-report-panel #report-status{margin:14px 0 0;font-size:13px}.composer textarea,.fields input,.fields select,.fields textarea{font-size:16px}@media(max-width:650px){.chat-permission,.ai-report-panel{margin-left:18px;margin-right:18px}}


/* Mobile form sizing: keep focused controls readable and the send button in view. */
@media (max-width:850px){
  .header-right select,
  .composer textarea,
  .fields input,
  .fields select,
  .fields textarea,
  .upload input{font-size:16px}
  .composer textarea{flex:1 1 0%;width:0;min-width:0}
  .layout>*,.fields>*{min-width:0}
  .voice-heading strong{min-width:0;overflow-wrap:anywhere}
}
