@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#203e35;background:#f5f2eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.shell{max-width:1250px;margin:auto;min-height:100svh;padding:42px;display:grid;grid-template-columns:1fr 1.17fr;gap:72px;align-items:center}.intro{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:20px 0}.brand{font-size:12px;letter-spacing:.16em;font-weight:700;color:inherit;text-decoration:none;display:flex;align-items:center;gap:10px}.brand-dot{width:9px;height:9px;border-radius:50%;background:#bd7247}.eyebrow{font-size:13px;color:#89765e;margin-bottom:24px}h1{font-family:'Manrope',sans-serif;font-size:clamp(40px,4.9vw,65px);font-weight:500;letter-spacing:-.065em;line-height:1.12;margin:0 0 25px}.lede{font-size:16px;color:#69776f;line-height:1.8;max-width:310px}.steps{display:flex;flex-direction:column;gap:14px;margin-top:35px;font-size:12px;color:#69776f}.footnote{font-size:11px;color:#859087;margin-top:40px}.chat{height:min(810px,90svh);min-height:550px;display:flex;flex-direction:column;background:#fff;border-radius:22px;box-shadow:0 20px 65px #253e3412;overflow:hidden;border:1px solid #e1e5dc}header{background:#123f36;display:flex;align-items:center;padding:23px 25px;color:#fff;gap:13px}.avatar{height:43px;width:43px;border:1px solid #ffffff55;border-radius:14px;position:relative;font-size:30px;text-align:center;line-height:39px;font-family:serif}.avatar span{position:absolute;width:9px;height:9px;background:#c2d5aa;border:2px solid #123f36;border-radius:50%;bottom:-2px;right:-2px}.heading{flex:1}h2{font-size:14px;font-weight:600;margin:0 0 5px}.heading p{margin:0;font-size:11px;color:#b5cec1}.icon-button{background:none;border:1px solid #ffffff30;border-radius:50%;width:32px;height:32px;color:#fff;font-size:21px;cursor:pointer}.conversation{overflow-y:auto;flex:1;padding:22px;display:flex;flex-direction:column;gap:15px;background-color:#edf0e8;background-image:radial-gradient(#9eafa52b .8px,transparent .8px);background-size:17px 17px}.day-label{font-size:9px;letter-spacing:.13em;align-self:center;color:#718074;background:#ffffffbb;padding:8px 12px;border-radius:20px;margin:0 0 12px}.bubble{max-width:88%;padding:14px 16px;border-radius:14px;line-height:1.65;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.assistant{align-self:flex-start;background:#fff;border-top-left-radius:3px}.bubble.user{align-self:flex-end;background:#d6e6c8;border-top-right-radius:3px}.bubble small{display:block;text-align:right;font-size:9px;color:#819078;margin-top:5px}.notice{font-size:12px;color:#91613b;padding:0 22px;background:#fff}.notice:not(:empty){padding:12px 22px}form{display:flex;align-items:flex-end;padding:16px;gap:10px;border-top:1px solid #eff0eb}textarea{font:inherit;font-size:14px;background:#f5f6f2;border:1px solid transparent;border-radius:14px;padding:14px;resize:none;flex:1;max-height:120px;min-width:0}textarea:focus{outline:0;border-color:#739d7c}button{font:inherit}#send{background:#164b3e;color:#fff;border:0;border-radius:50%;width:45px;height:45px;font-size:25px;cursor:pointer}button:disabled{opacity:.4;cursor:default}footer{text-align:center;font-size:10px;line-height:1.7;color:#8b938d;padding:0 15px 14px}#confirm-area{padding:12px 22px;background:#f5f8f1}#confirm{background:#164b3e;color:#fff;border:0;border-radius:8px;padding:10px 15px;cursor:pointer}#confirm-area p{font-size:10px;color:#69776f;margin:7px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){.shell{display:block;padding:0;min-height:100svh}.intro{display:none}.chat{height:100svh;min-height:0;border:0;border-radius:0;box-shadow:none}.conversation{padding:18px}header{padding:18px}.bubble{font-size:14px}}

#access-form{display:flex;flex-wrap:wrap;align-items:center;background:#f5f8f1;gap:8px;font-size:12px}#access-code{padding:9px;border:1px solid #a8bcad;border-radius:7px;min-width:0;flex:1}#access-form button{background:#164b3e;color:white;border:0;border-radius:7px;padding:9px 15px;cursor:pointer}

/* Keep phone inputs readable without focus zoom; fit above the keyboard. */
textarea,#access-code{font-size:16px}
.chat>header,.chat>form,.chat>footer,#access-gate,#confirm-area{flex-shrink:0}
.conversation{min-height:0}
#send{flex-shrink:0}
@media(max-width:760px){
  html,body{height:100%;overflow:hidden;overscroll-behavior:none}
  .shell{position:fixed;top:var(--chat-viewport-top,0px);left:0;right:0;height:var(--chat-viewport-height,100dvh);min-height:0;overflow:hidden}
  .chat{height:100%;min-height:0}
  .conversation{overscroll-behavior-y:contain}
  .chat:has(textarea:focus)>footer{display:none}
  #composer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}
