/* Preserve the original palette and layout; adjust WebView behavior only. */
:root{--max-viewport-height:100dvh;--max-viewport-offset:0px}
html{scroll-padding-top:110px;scroll-padding-bottom:100px}
.platform-notice{margin:0;padding:9px 16px;background:#e8d4bd;color:#33271e;font-size:12px;line-height:1.4;border-bottom:1px solid rgba(23,20,17,.16)}
.platform-notice:empty{display:none}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a9603d;outline-offset:3px}
.icon-button,.sheet-close,.chat-head .sheet-close{min-width:44px;min-height:44px}
.chat-quick button{min-height:44px;height:44px}
.field input,.field textarea,.chat-form input{font-size:16px}
.chat-message span{overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}
.chat-message{min-width:0}.chat-quick{min-width:0;max-width:100%;overscroll-behavior-x:contain}
.chat-messages{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.sheet{max-width:min(100%,520px);max-height:var(--max-viewport-height);overscroll-behavior:contain}
.chat-sheet{top:var(--max-viewport-offset);bottom:auto;height:var(--max-viewport-height);max-height:var(--max-viewport-height);margin:0 auto}
.chat-sheet>article{height:100%;max-height:100%;min-height:0}
.chat-form{min-width:0}.chat-disclosure{font-size:10px;line-height:1.3}
.sheet:modal{overflow:hidden}.sheet:not(.chat-sheet)>article{overscroll-behavior:contain}
body:has(dialog[open]){overflow:hidden}
.keyboard-open .bottom-nav,.keyboard-open .ivan-fab{visibility:hidden;pointer-events:none}
.keyboard-open .chat-head{min-height:58px;padding-top:8px;padding-bottom:8px}
.keyboard-open .chat-quick{min-height:48px;padding-top:2px;padding-bottom:2px}
.brief-actions{position:relative;z-index:1}.brief{scroll-margin-bottom:90px}
@media(max-width:699px){.hero{height:max(530px,calc(100svh - 175px));min-height:530px}.hero-copy{bottom:110px}.chat-sheet{left:0;transform:none;width:100%}.sheet{width:100%}.contact-fields,.option-list,.brief-summary{min-width:0}.brief-summary b,.compare-item strong{overflow-wrap:anywhere}}
@media(max-width:359px){.hero h1{font-size:38px}.hero-copy{left:16px;right:16px}.logo{max-width:62%}.brief{margin-left:12px;margin-right:12px;padding:14px}.brief-summary{grid-template-columns:1fr}}
@media(min-width:700px){.chat-sheet{left:50%;transform:translateX(-50%);margin:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

[hidden]{display:none!important}
