@font-face {
  font-family: 'Antonio';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/antonio-normal-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Antonio';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/antonio-normal-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/mulish-italic-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/mulish-normal-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/mulish-normal-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/mulish-normal-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--orange:#E09000;--ink:#2B2B2B;--paper:#FBF8F3;--line:#E8E1D6;--bot:#FFFFFF;--muted:#6B6B6B}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:Mulish,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.5;display:flex;flex-direction:column;min-height:100dvh}
h1,.brand-name{font-family:Antonio,"Arial Narrow",sans-serif;letter-spacing:.02em;text-transform:uppercase}
a{color:#9A5F00}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--ink);color:#fff;padding:.6rem .9rem;padding-top:max(.6rem,env(safe-area-inset-top));border-bottom:4px solid var(--orange)}
.brand{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none;min-width:0}
.brand img{border-radius:50%;border:2px solid var(--orange);flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.brand-name{font-size:1.25rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-sub{font-size:.8rem;color:#F2C46B}
.newchat{flex:none;background:transparent;color:#fff;border:1px solid #777;border-radius:999px;padding:.35rem .8rem;font:600 .8rem Mulish,sans-serif;cursor:pointer}
.newchat:hover{border-color:var(--orange)}
main{flex:1;width:100%;max-width:760px;margin:0 auto;display:flex;flex-direction:column}
.gate{padding:2.2rem 1.25rem 2rem;text-align:center}
.gate-avatar{border-radius:50%;border:3px solid var(--orange)}
.gate h1{font-size:2rem;margin:.8rem 0 .3rem;color:var(--ink)}
.lead{margin:0 auto 1.4rem;max-width:30rem;color:#444}
.gate-form{display:flex;flex-direction:column;gap:.55rem;max-width:22rem;margin:0 auto;text-align:left}
.gate-form label{font-weight:700;font-size:.9rem}
.gate-form input{font:inherit;padding:.8rem .9rem;border:1.5px solid #CFC6B8;border-radius:12px;background:#fff}
.gate-form button{font:700 1rem Mulish,sans-serif;background:var(--orange);color:#1E1E1E;border:0;border-radius:12px;padding:.85rem;cursor:pointer}
.gate-form button:disabled{opacity:.6}
.gate-msg{min-height:1.3em;margin:.2rem 0 0;color:#A33A00;font-size:.92rem}
.small{font-size:.85rem;color:var(--muted);margin-top:1.4rem}
.chat{flex:1;padding:1rem .8rem 1rem}
.log{display:flex;flex-direction:column;gap:.75rem}
.row{display:flex;gap:.5rem;align-items:flex-end}
.row.user{justify-content:flex-end}
.row .av{width:30px;height:30px;border-radius:50%;flex:none;border:1.5px solid var(--orange)}
.bubble{max-width:85%;padding:.65rem .9rem;border-radius:18px;overflow-wrap:anywhere}
.bot .bubble{background:var(--bot);border:1px solid var(--line);border-bottom-left-radius:6px}
.user .bubble{background:var(--ink);color:#fff;border-bottom-right-radius:6px;white-space:pre-wrap}
.bubble p{margin:0 0 .6em}.bubble p:last-child,.bubble ol:last-child,.bubble ul:last-child{margin-bottom:0}
.bubble ol,.bubble ul{margin:.2em 0 .6em;padding-left:1.25em}.bubble li{margin:.2em 0}
.bubble.notice{background:#FFF4DE;border-color:#F0CF8A}
.typing span{display:inline-block;width:7px;height:7px;margin:0 2px;border-radius:50%;background:var(--orange);animation:b 1s infinite ease-in-out}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes b{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.composer{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--line);padding:.55rem .7rem;padding-bottom:max(.55rem,env(safe-area-inset-bottom))}
.send-form{display:flex;gap:.5rem;align-items:flex-end;max-width:760px;margin:0 auto}
.send-form textarea{flex:1;font:inherit;resize:none;max-height:9rem;padding:.7rem .9rem;border:1.5px solid #CFC6B8;border-radius:20px;background:#fff}
.send-form button{flex:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--orange);color:#1E1E1E;cursor:pointer;display:grid;place-items:center}
.send-form button:disabled{opacity:.5}
.more{max-width:760px;margin:.45rem auto 0;font-size:.8rem;line-height:1.35;color:var(--ink);text-align:center}
.more a{color:#9A5F00;font-weight:700;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:2px}
.more a:hover{color:var(--ink)}
.note{max-width:760px;margin:.4rem auto 0;font-size:.74rem;color:var(--muted);text-align:center}
@media (min-width:700px){.gate{padding-top:4rem}.brand-name{font-size:1.45rem}.chat{padding:1.5rem 1.2rem}}
