:root{--cache-bust: 2;--primary: #78716c;--primary-hover: #57534e;--accent: #a39e93;--black: #44403c;--gray-900: #44403c;--gray-700: #57534e;--gray-500: #78716c;--gray-300: #d6d3d1;--gray-200: #e7e5e4;--gray-100: #f5f5f4;--gray-50: #fafaf9;--white: #ffffff;--warm-white: #fdfcfb;--beige: #f5f3f0;--shadow-sm: 0 1px 2px 0 rgb(68 64 60 / .05);--shadow: 0 1px 3px 0 rgb(68 64 60 / .08), 0 1px 2px -1px rgb(68 64 60 / .06);--shadow-md: 0 4px 6px -1px rgb(68 64 60 / .08), 0 2px 4px -2px rgb(68 64 60 / .05)}*{box-sizing:border-box;margin:0;padding:0}html,body{margin:0;padding:0;overflow:hidden;height:100%}body{font-family:Roboto,sans-serif;color:var(--gray-900);background:var(--beige)}.app-container{width:100%;height:100vh;overflow:hidden}.pages-wrapper{display:flex;flex-direction:column;transition:transform .6s ease-in-out}.page{width:100%;height:100vh;min-height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative;flex-shrink:0}.header-text{font-family:Roboto,sans-serif;font-weight:500;color:var(--gray-900)}.prose-text{font-family:Roboto,sans-serif;font-weight:400;color:var(--gray-700)}.highlight,.underline{color:var(--gray-900);font-weight:500}.scroll-nav{position:fixed;right:2rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.375rem;z-index:100;background:var(--warm-white);padding:.5rem;border-radius:9999px;box-shadow:var(--shadow-md)}.scroll-icon{width:32px;height:32px;border:none;background:transparent;cursor:pointer;padding:6px;border-radius:50%;transition:all .2s ease}.scroll-icon svg{width:100%;height:100%;stroke:var(--gray-500);transition:stroke .2s ease}.scroll-icon:hover{background:var(--gray-100)}.scroll-icon:hover svg{stroke:var(--gray-700)}.scroll-icon.active{background:var(--gray-900)}.scroll-icon.active svg{stroke:var(--warm-white)}.cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:500;color:var(--warm-white);background:var(--gray-900);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow)}.cta-button:hover{background:var(--gray-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}.cta-button:active{transform:translateY(0)}.cta-button svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;transition:transform .2s ease}.cta-button:hover svg{transform:translate(2px)}.cta-button:disabled{opacity:.5;cursor:not-allowed}.cta-button:disabled:hover{background:var(--gray-900);transform:none;box-shadow:var(--shadow)}.hero-container{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:3rem 2.5rem;background:var(--warm-white);border-radius:16px;box-shadow:var(--shadow-md);max-width:560px;width:100%}.chat-container{width:100%;max-width:700px;height:80vh;display:flex;flex-direction:column;background:var(--warm-white);border-radius:16px;box-shadow:var(--shadow-md);padding:1.5rem}.chat-header{flex-shrink:0;padding-bottom:1rem;border-bottom:1px solid var(--gray-200)}.chat-subtitle{font-family:Roboto,sans-serif;font-size:.8125rem;font-weight:400;color:var(--gray-500);margin:.25rem 0 0}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding:1.5rem 0}.chat-messages::-webkit-scrollbar{width:5px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.message{display:flex;max-width:85%}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message-content{font-family:Roboto,sans-serif;font-size:.875rem;line-height:1.6;padding:.75rem 1rem;border-radius:12px}.message.user .message-content{background:var(--gray-900);color:var(--warm-white)}.message.assistant .message-content{background:var(--gray-100);color:var(--gray-900)}.typing-indicator{display:flex;gap:.25rem;padding:.75rem 1rem;background:var(--gray-100);border-radius:12px;align-self:flex-start}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--gray-500);animation:typingBounce 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{opacity:.4}40%{opacity:1}}.suggestions-container{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0}.suggestion-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-family:Roboto,sans-serif;font-size:.8125rem;font-weight:400;color:var(--gray-500);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease;text-align:left;line-height:1.4;width:100%}.suggestion-chip:before{content:"→";font-size:.75rem;color:var(--gray-400);transition:all .15s ease;flex-shrink:0}.suggestion-chip:hover{background:var(--gray-100);color:var(--gray-700)}.suggestion-chip:hover:before{color:var(--gray-600);transform:translate(2px)}.suggestion-chip:active{background:var(--gray-200)}.chat-input-container{display:flex;gap:.75rem;flex-shrink:0;padding-top:1rem;border-top:1px solid var(--gray-200)}.chat-input{flex:1;padding:.75rem 1rem;font-family:Roboto,sans-serif;font-size:.875rem;color:var(--gray-900);background:var(--gray-100);border:1px solid transparent;border-radius:10px;outline:none;transition:all .2s ease}.chat-input::placeholder{color:var(--gray-500)}.chat-input:focus{background:var(--white);border-color:var(--gray-300);box-shadow:var(--shadow-sm)}.chat-input:disabled{opacity:.5;cursor:not-allowed}.chat-send-button{width:44px;height:44px;background:var(--gray-900);border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.chat-send-button svg{width:18px;height:18px;stroke:var(--warm-white);stroke-width:2}.chat-send-button:hover:not(:disabled){background:var(--gray-700)}.chat-send-button:disabled{opacity:.4;cursor:not-allowed}.chat-send-button.limit-reached{opacity:1}.contact-container{width:100%;max-width:540px;display:flex;flex-direction:column;gap:1.5rem;background:var(--warm-white);border-radius:16px;box-shadow:var(--shadow-md);padding:2rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group.full-width{grid-column:1 / -1}.form-label{font-family:Roboto,sans-serif;font-size:.8125rem;font-weight:500;color:var(--gray-700)}.form-input,.form-textarea{padding:.75rem 1rem;font-family:Roboto,sans-serif;font-size:.875rem;color:var(--gray-900);background:var(--gray-100);border:1px solid transparent;border-radius:10px;outline:none;transition:all .2s ease}.form-input::placeholder,.form-textarea::placeholder{color:var(--gray-500)}.form-input:focus,.form-textarea:focus{background:var(--white);border-color:var(--gray-300);box-shadow:var(--shadow-sm)}.form-textarea{resize:vertical;min-height:100px}.form-status{padding:.875rem 1rem;font-family:Roboto,sans-serif;font-size:.875rem;text-align:center;border-radius:10px}.form-status.success{background:var(--gray-100);color:var(--gray-700)}.form-status.error{background:#fef2f2;color:#991b1b}@media(max-width:768px){.scroll-nav{right:1rem;padding:.375rem}.scroll-icon{width:28px;height:28px;padding:5px}.hero-container{padding:2rem 1.5rem;border-radius:12px;gap:1.5rem}.chat-container{height:85vh;padding:1.25rem;border-radius:12px}.contact-container{padding:1.5rem;border-radius:12px}.contact-form{grid-template-columns:1fr}.form-group.full-width{grid-column:1}.message{max-width:90%}.login-choice-container{padding:2rem 1.5rem}}.login-choice-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:2rem;background:var(--warm-white);border-radius:16px;box-shadow:var(--shadow-md);padding:2.5rem}.login-choice-header{text-align:center}.login-choice-header h2{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;color:var(--gray-900);margin:0 0 .5rem}.login-choice-header p{font-family:Roboto,sans-serif;color:var(--gray-500);font-size:.9rem;margin:0}.login-choice-options{display:flex;flex-direction:column;gap:1.5rem}.login-option{display:flex;flex-direction:column;align-items:center;gap:.5rem}.option-description{font-family:Roboto,sans-serif;font-size:.8rem;color:var(--gray-500);text-align:center;margin:0}.login-divider{display:flex;align-items:center;gap:1rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--gray-300)}.login-divider span{font-family:Roboto,sans-serif;color:var(--gray-500);font-size:.8rem}.google-signin-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1.5rem;font-family:Roboto,sans-serif;font-size:.9rem;font-weight:500;color:var(--gray-700);background:var(--white);border:1px solid var(--gray-300);border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.google-signin-button:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400);box-shadow:var(--shadow)}.google-signin-button:disabled{opacity:.5;cursor:not-allowed}.guest-button{width:100%;padding:.75rem 1.5rem;font-family:Roboto,sans-serif;font-size:.9rem;font-weight:500;color:var(--warm-white);background:var(--gray-900);border:1px solid var(--gray-900);border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow)}.guest-button:hover:not(:disabled){background:var(--gray-700);border-color:var(--gray-700);box-shadow:var(--shadow-md)}.guest-button:disabled{opacity:.5;cursor:not-allowed}.login-error{font-family:Roboto,sans-serif;color:#dc2626;font-size:.875rem;text-align:center}.login-request-access{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-top:.5rem;font-family:Roboto,sans-serif;font-size:.8rem;color:var(--gray-500)}.request-access-link{background:none;border:none;padding:0;font-family:Roboto,sans-serif;font-size:.8rem;font-weight:500;color:var(--gray-700);cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.request-access-link:hover{color:var(--gray-900)}.access-code-button{width:100%;padding:.6rem 1rem;font-family:Roboto,sans-serif;font-size:.85rem;font-weight:400;color:var(--gray-600);background:transparent;border:1px dashed var(--gray-300);border-radius:8px;cursor:pointer;transition:all .2s ease}.access-code-button:hover:not(:disabled){color:var(--gray-700);border-color:var(--gray-400);background:var(--gray-50)}.access-code-button:disabled{opacity:.5;cursor:not-allowed}.access-code-form{width:100%;display:flex;flex-direction:column;gap:.75rem}.access-code-input{width:100%;padding:.65rem .9rem;font-family:Roboto,sans-serif;font-size:.9rem;color:var(--gray-900);background:var(--white);border:1px solid var(--gray-300);border-radius:8px;outline:none;transition:all .2s ease}.access-code-input:focus{border-color:var(--gray-500);box-shadow:0 0 0 3px #78716c1a}.access-code-input::placeholder{color:var(--gray-400)}.access-code-input:disabled{opacity:.5;cursor:not-allowed}.access-code-buttons{display:flex;gap:.5rem}.access-code-cancel{flex:1;padding:.55rem .75rem;font-family:Roboto,sans-serif;font-size:.85rem;font-weight:400;color:var(--gray-600);background:transparent;border:1px solid var(--gray-300);border-radius:6px;cursor:pointer;transition:all .2s ease}.access-code-cancel:hover:not(:disabled){background:var(--gray-100)}.access-code-cancel:disabled{opacity:.5;cursor:not-allowed}.access-code-submit{flex:1;padding:.55rem .75rem;font-family:Roboto,sans-serif;font-size:.85rem;font-weight:500;color:var(--warm-white);background:var(--gray-900);border:1px solid var(--gray-900);border-radius:6px;cursor:pointer;transition:all .2s ease}.access-code-submit:hover:not(:disabled){background:var(--gray-700);border-color:var(--gray-700)}.access-code-submit:disabled{opacity:.5;cursor:not-allowed}.access-request-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--gray-200);text-align:center}.access-request-section h3{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;color:var(--gray-900);margin:0 0 .5rem}.access-request-section p{font-family:Roboto,sans-serif;font-size:.85rem;color:var(--gray-500);margin:0 0 1rem}.request-access-button{padding:.625rem 1.25rem;font-family:Roboto,sans-serif;font-size:.85rem;font-weight:500;color:var(--gray-700);background:transparent;border:1px solid var(--gray-300);border-radius:6px;cursor:pointer;transition:all .2s ease}.request-access-button:hover{background:var(--gray-100);border-color:var(--gray-400)}.modal-backdrop{position:fixed;inset:0;background:#44403c80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{position:relative;width:100%;max-width:400px;background:var(--warm-white);border-radius:16px;box-shadow:0 25px 50px -12px #00000040;padding:2rem;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s ease}.modal-close svg{width:18px;height:18px;stroke:var(--gray-500)}.modal-close:hover{background:var(--gray-100)}.modal-close:hover svg{stroke:var(--gray-700)}.modal-header{margin-bottom:1.5rem}.modal-header h3{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:500;color:var(--gray-900);margin:0 0 .5rem}.modal-header p{font-family:Roboto,sans-serif;font-size:.875rem;color:var(--gray-500);margin:0}.modal-form{display:flex;flex-direction:column;gap:1.25rem}.modal-field{display:flex;flex-direction:column;gap:.375rem}.modal-field label{font-family:Roboto,sans-serif;font-size:.8125rem;font-weight:500;color:var(--gray-700)}.modal-field .optional{font-weight:400;color:var(--gray-500)}.modal-field input,.modal-field textarea{padding:.75rem 1rem;font-family:Roboto,sans-serif;font-size:.875rem;color:var(--gray-900);background:var(--gray-100);border:1px solid transparent;border-radius:8px;outline:none;transition:all .2s ease}.modal-field input::placeholder,.modal-field textarea::placeholder{color:var(--gray-500)}.modal-field input:focus,.modal-field textarea:focus{background:var(--white);border-color:var(--gray-300);box-shadow:var(--shadow-sm)}.modal-field textarea{resize:vertical;min-height:80px}.modal-submit{width:100%;padding:.75rem 1.5rem;font-family:Roboto,sans-serif;font-size:.9rem;font-weight:500;color:var(--warm-white);background:var(--gray-900);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.modal-submit:hover:not(:disabled){background:var(--gray-700)}.modal-submit:disabled{opacity:.5;cursor:not-allowed}.modal-error{font-family:Roboto,sans-serif;font-size:.875rem;color:#dc2626;margin:0;text-align:center}.modal-success{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 0}.modal-success svg{width:48px;height:48px;stroke:#059669}.modal-success p{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;color:var(--gray-900);margin:0;text-align:center}.limit-modal{position:relative;width:100%;max-width:360px;background:var(--warm-white);border-radius:16px;box-shadow:0 25px 50px -12px #00000040;padding:2.5rem 2rem 2rem;animation:modalSlideIn .2s ease-out;text-align:center}.limit-modal-icon{width:56px;height:56px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border-radius:50%}.limit-modal-icon svg{width:28px;height:28px;stroke:var(--gray-500)}.limit-modal h3{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:500;color:var(--gray-900);margin:0 0 .5rem}.limit-modal p{font-family:Roboto,sans-serif;font-size:.9rem;color:var(--gray-500);margin:0 0 1.5rem;line-height:1.5}.limit-modal-buttons{display:flex;flex-direction:column;gap:.75rem}.limit-modal-signin{width:100%;display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.75rem 1.5rem;font-family:Roboto,sans-serif;font-size:.9rem;font-weight:500;color:var(--gray-700);background:var(--white);border:1px solid var(--gray-300);border-radius:8px;cursor:pointer;transition:all .2s ease}.limit-modal-signin:hover{background:var(--gray-50);border-color:var(--gray-400)}.limit-modal-request{width:100%;padding:.875rem 1.5rem;font-family:Roboto,sans-serif;font-size:.9rem;font-weight:500;color:var(--warm-white);background:var(--gray-900);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.limit-modal-request:hover{background:var(--gray-700)}.limit-modal-dismiss{width:100%;padding:.75rem 1.5rem;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:400;color:var(--gray-500);background:transparent;border:none;cursor:pointer;transition:color .2s ease}.limit-modal-dismiss:hover{color:var(--gray-700)}.limit-modal-code-form{display:flex;flex-direction:column;gap:.75rem;width:100%}.limit-modal-code-input{width:100%;padding:.75rem 1rem;font-family:Roboto,sans-serif;font-size:.9rem;color:var(--gray-900);background:var(--gray-100);border:1px solid transparent;border-radius:8px;outline:none;transition:all .2s ease;text-align:center}.limit-modal-code-input:focus{background:var(--white);border-color:var(--gray-300)}.limit-modal-code-input::placeholder{color:var(--gray-500)}.limit-modal-error{font-family:Roboto,sans-serif;font-size:.8125rem;color:#dc2626;text-align:center}.limit-modal-code-buttons{display:flex;gap:.5rem}.limit-modal-code-cancel{flex:1;padding:.75rem 1rem;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:400;color:var(--gray-600);background:transparent;border:1px solid var(--gray-300);border-radius:8px;cursor:pointer;transition:all .2s ease}.limit-modal-code-cancel:hover:not(:disabled){background:var(--gray-100)}.limit-modal-code-submit{flex:1;padding:.75rem 1rem;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:500;color:var(--warm-white);background:var(--gray-900);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.limit-modal-code-submit:hover:not(:disabled){background:var(--gray-700)}.limit-modal-code-submit:disabled,.limit-modal-code-cancel:disabled{opacity:.5;cursor:not-allowed}
