html[data-text-scale="125"] { font-size:125%; }
html[data-text-scale="150"] { font-size:150%; }
html[data-text-scale="200"] { font-size:200%; }
.reading-trigger { font-weight:700; font-size:.9rem; border:1px solid var(--line); border-radius:50%; flex-shrink:0; white-space:nowrap; padding:0; letter-spacing:-.05em; }
.reading-settings { color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:24px; padding:26px; width:min(510px,calc(100vw - 24px)); max-height:85dvh; overflow:auto; }
.reading-settings h2 { font-size:1.5rem; }
.reading-settings>p { font-size:.875rem; line-height:1.7; margin:18px 0; }
.text-size-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.text-size-options button { padding:16px 10px; min-height:52px; border:1px solid var(--line); background:var(--soft); color:var(--ink); border-radius:14px; font-size:.875rem; }
.text-size-options span { display:block; margin-top:7px; font-size:.75rem; color:var(--muted); }
.text-size-options [aria-pressed="true"] { border-color:var(--green); background:var(--leaf); }
.chat-launcher { border:1px solid var(--line); min-height:56px; padding:7px 17px 7px 7px; background:var(--paper); color:var(--ink); font-size:.875rem; }
.chat-launcher img { width:42px; height:42px; border-radius:50%; object-fit:cover; object-position:top; background:var(--leaf); }
.chat-nudge { position:fixed; right:24px; bottom:96px; width:min(320px,calc(100vw - 32px)); padding:23px; z-index:950; background:var(--paper); color:var(--ink); border:1px solid var(--line); box-shadow:0 15px 60px #10291a20; border-radius:22px 22px 4px 22px; }
.chat-nudge[hidden] { display:none; }
.chat-nudge p { font-size:.875rem; line-height:1.7; padding-right:8px; }
.chat-nudge strong { display:block; margin-bottom:9px; }
.chat-nudge>button:not(.nudge-dismiss) { background:var(--green); color:var(--on-green); border:0; border-radius:12px; min-height:44px; padding:10px 15px; margin-top:16px; font-size:.875rem; }
.nudge-dismiss { position:absolute; top:3px; right:3px; width:40px; height:40px; background:transparent; border:0; color:var(--muted); font-size:1.375rem; }
.chat-popover { position:fixed; inset:auto 22px 22px auto; margin:0; padding:0; width:min(440px,calc(100vw - 24px)); height:min(720px,calc(100dvh - 44px)); max-width:none; max-height:none; border:1px solid var(--line); border-radius:24px; background:var(--paper); color:var(--ink); box-shadow:0 24px 95px #091f2245; overflow:hidden; }
.chat-popover[open] { display:flex; flex-direction:column; animation:chat-enter .25s ease-out; }
.chat-popover::backdrop { background:#0b1f1826; }
.chat-popover-heading { display:flex; align-items:center; gap:12px; padding:17px; border-bottom:1px solid var(--line); flex-shrink:0; }
.chat-popover-heading img { width:46px; height:46px; object-fit:cover; object-position:top; border-radius:50%; background:var(--leaf); }
.chat-popover-heading>div { flex:1; min-width:0; }
.chat-popover-heading h2 { font-size:1rem; letter-spacing:-.025em; font-weight:700; }
.chat-popover-heading p { font-size:.75rem; color:var(--muted); margin-top:4px; }
.chat-popover-heading button { flex:0 0 44px; height:44px; display:grid; place-items:center; padding:0; line-height:1; border:0; border-radius:50%; background:var(--soft); color:var(--ink); font-size:1.5rem; }
.chat-scroll { flex:1; overflow:auto; overscroll-behavior:contain; min-height:0; scrollbar-gutter:stable; }
.chat-greeting { padding:23px 22px; }
.chat-greeting p { font-size:1rem; line-height:1.65; }
.chat-greeting small { display:block; font-size:.75rem; line-height:1.65; color:var(--muted); margin-top:12px; }
.chat-popover .chat-questions { grid-template-columns:1fr; padding:0 20px 22px; gap:8px; }
.chat-popover .chat-questions button { min-height:48px; font-size:.875rem; padding:13px 15px; }
.chat-popover .chat-turn { padding:0 20px 22px; scroll-margin-top:16px; }
.chat-popover .chat-response { padding:17px; }
.chat-popover .chat-response>p,.chat-popover .chat-user { font-size:.875rem; line-height:1.75; }
.chat-popover .chat-author { font-size:.75rem; }
.chat-popover .chat-actions .text-link,.chat-popover .chat-actions .button { font-size:.8125rem; white-space:normal; }
.chat-popover .chat-actions { gap:14px; }
.chat-popover-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:12px 17px; border-top:1px solid var(--line); flex-shrink:0; }
.chat-popover-footer a,.chat-popover-footer button { font-size:.8125rem; min-height:44px; display:flex; align-items:center; background:transparent; color:var(--green); border:0; font-weight:600; }
.advisor-story { padding-block:70px; display:grid; grid-template-columns:1.2fr 1fr; gap:48px; border-top:1px solid var(--line); }
.advisor-story h2 { margin:18px 0; }
.advisor-story-intro>p:not(.section-label) { font-size:1rem; line-height:1.8; max-width:500px; }
.advisor-story-note { align-self:center; border-left:2px solid var(--green); padding:12px 0 12px 28px; }
.advisor-story-note>p { font-size:1.125rem; line-height:1.8; margin-bottom:24px; }
.achievement-list,.client-stories { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.achievement-item { padding:25px 0; border-top:1px solid var(--line); }
.achievement-item time { font-size:.8125rem; color:var(--muted); }
.achievement-item h3 { font-size:1.375rem; margin:13px 0; }
.achievement-item p { font-size:.875rem; line-height:1.75; }
.achievement-item a { margin-top:12px; font-size:.8125rem; }
.client-stories blockquote { margin:0; padding:25px; background:var(--soft); border-radius:4px 24px 24px; }
.client-stories p { font-size:.9375rem; line-height:1.8; }
.client-stories cite { display:block; margin-top:18px; font-size:.8125rem; font-style:normal; }
html:not([data-text-scale="100"]) :is(.button,.text-link,.header-contact) { white-space:normal; }
html:not([data-text-scale="100"]) :is(input,textarea,select) { font-size:1rem; }
html:not([data-text-scale="100"]) :is(p,button,a,li,h1,h2,h3) { overflow-wrap:anywhere; }
html:not([data-text-scale="100"]) .desktop-nav,html:not([data-text-scale="100"]) .header-contact { display:none; }
html:not([data-text-scale="100"]) .menu-toggle { display:inline-flex; }
html:not([data-text-scale="100"]) .brand>span { display:none; }
html:not([data-text-scale="100"]) .contact-grid { grid-template-columns:1fr; }
html:not([data-text-scale="100"]) .studio-dock { flex-wrap:wrap; height:auto; }
html:not([data-text-scale="100"]) .studio-aside { display:none; }
html:not([data-text-scale="100"]) .compact-caption { max-width:90%; }
@keyframes chat-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:760px) {
  .reading-trigger { width:40px; height:40px; }
  .header-actions { gap:5px; }
  .chat-launcher { right:13px; bottom:80px; padding:5px; min-height:52px; }
  .chat-nudge { right:13px; bottom:145px; }
  .chat-popover { right:8px; bottom:max(8px,env(safe-area-inset-bottom)); width:calc(100vw - 16px); height:min(740px,calc(100dvh - 16px)); border-radius:22px; }
  .chat-popover-heading { padding:12px; gap:10px; }
  .chat-popover-footer { padding-bottom:max(12px,env(safe-area-inset-bottom)); }
  .advisor-story { grid-template-columns:1fr; gap:25px; padding-block:48px; }
  .achievement-list,.client-stories { grid-template-columns:1fr; gap:12px; }
  .advisor-story-note { padding-left:20px; }
  html:not([data-text-scale="100"]) .text-size-options,html:not([data-text-scale="100"]) .form-fields { grid-template-columns:1fr; }
  html:not([data-text-scale="100"]) :is(.campaign-grid,.showroom-layout,.accessory-scene) { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .chat-popover[open] { animation:none; } }
