:root{--bg: #0d1117;--rule: rgba(220, 225, 240, .09);--text-1: #dde2f0;--text-2: #b0bbd4;--text-3: #91a0b5;--gold: #C9A96E;--serif: "DM Serif Display", serif;--sans: "Inter", sans-serif;--page-max: 840px;--gutter: 2.5rem}@media(max-width:620px){:root{--gutter: 1.5rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{font-size:18px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text-2);font-family:var(--sans);font-size:1.1rem;line-height:1.82;font-weight:400;-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}app-root{flex:1;display:flex;flex-direction:column}main{flex:1;max-width:65ch}strong{font-weight:500;color:var(--text-1)}em{font-style:italic}h1,h2{font-family:var(--serif);font-weight:400;color:var(--text-1);letter-spacing:-.01em;line-height:1.15}h1{font-size:clamp(2.5rem,5vw,3.5rem)}h2{font-size:1.75rem}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}.label{font-size:1rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.field-label{display:block;font-size:1rem;font-weight:400;color:var(--gold);line-height:1.2}header:first-child{border-bottom:1px solid var(--rule)}nav{display:flex;justify-content:space-between;align-items:center;padding:1.75rem var(--gutter)}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}.brand:hover{text-decoration:none}.brand-logo{width:36px;height:36px}.brand-name{font-size:1rem;font-weight:400;letter-spacing:.08em;color:var(--text-1);text-transform:lowercase}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{font-size:1rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);text-decoration:none;transition:color .15s}.nav-links a:hover{color:var(--text-1);text-decoration:none}.nav-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;background:transparent;border:none;cursor:pointer}.nav-toggle-bar{display:block;width:20px;height:2px;background:var(--text-2);transition:transform .2s,opacity .2s,background .2s}.nav-toggle:hover .nav-toggle-bar{background:var(--text-1)}.nav-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:620px){nav{position:relative;padding:1.5rem var(--gutter)}.nav-toggle{display:flex}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--rule);z-index:100}.nav-toggle[aria-expanded=true]~.nav-links{display:flex}.nav-links li{border-top:1px solid var(--rule)}.nav-links a{display:block;padding:1rem var(--gutter)}}.hero{padding:4rem var(--gutter) 2.5rem;max-width:var(--page-max)}.hero-heading{margin-bottom:1.75rem}.hero-eyebrow{font-size:1rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:1.75rem;display:block}.hero h1{font-family:var(--serif);font-size:clamp(3rem,6vw,5.25rem);line-height:1.06;font-weight:400;color:var(--text-1);letter-spacing:-.01em}.hero p{margin-bottom:2.5rem}@media(max-width:620px){.hero{padding:2.5rem var(--gutter) 2rem}}section{padding:2.5rem var(--gutter);max-width:var(--page-max)}section+section{border-top:1px solid var(--rule);margin-top:2.5rem}section h1,section h2{margin-bottom:1.5rem}section p{margin-bottom:1.25rem}section p:last-child{margin-bottom:0}main header:not(.hero){padding:2.5rem var(--gutter) 0}main header:not(.hero) p{margin-top:1rem;color:var(--text-2)}.input-group{position:relative}.input-group textarea{padding-right:3.5rem}.input-group button{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(201,169,110,.4);border-radius:8px;color:var(--gold);font-size:1.1rem;cursor:pointer;transition:background .2s,border-color .2s}.input-group button:hover{background:#c9a96e1f;border-color:var(--gold)}.input-group button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.form-note{display:block;margin-top:1rem;font-size:1rem;color:var(--text-2);line-height:1.6}.form-note a{color:var(--text-2);text-decoration:underline;text-decoration-color:#b0bbd466}.form-note a:hover{color:var(--gold);text-decoration-color:var(--gold)}details{font-size:1rem;color:var(--text-2)}details summary{display:inline-block;cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}details summary:after{content:" \25b8";font-size:.85em}details[open] summary:after{content:" \25be"}details summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}details p{margin-top:.5rem;line-height:1.6}.md-body h2{margin-top:2.25rem}.md-body h2:first-child{margin-top:0}.md-body ul,.md-body ol{max-width:60ch;margin:0 0 1.25rem 1.25rem}.md-body li{margin-bottom:.4rem}.transcript{margin:2rem 0 2.5rem;display:flex;flex-direction:column;gap:1.25rem;font-size:1rem;line-height:1.65}.transcript p{font-size:1rem;max-width:none;margin:0 0 .75rem}.transcript p:last-child{margin-bottom:0}.msg{display:flex}.msg-user{justify-content:flex-end}.msg-user .msg-bubble{background:#ffffff12;border-radius:1.1rem;padding:.65rem 1.1rem;max-width:75%;color:var(--text-1);white-space:pre-wrap}.msg-ai .msg-bubble{max-width:100%;color:var(--text-1)}.msg-bubble ul,.msg-bubble ol{margin:0 0 .75rem 1.25rem}.msg-bubble li{margin-bottom:.25rem}.msg-bubble code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:#ffffff0f;padding:.1em .35em;border-radius:4px}form{display:flex;flex-direction:column;gap:1.5rem}.form-field{display:flex;flex-direction:column;gap:.5rem}form input,form textarea{display:block;width:100%;background:#ffffff05;border:1px solid rgba(201,169,110,.4);border-radius:10px;color:var(--text-1);font-family:var(--sans);font-size:1rem;line-height:1.5;padding:.85rem 1rem;outline:none;transition:border-color .2s,background .2s}form input:hover,form textarea:hover{border-color:#c9a96eb3}form input:focus,form textarea:focus{border-color:var(--gold);background:#c9a96e0f}form input::placeholder,form textarea::placeholder{color:#91a0b5d9}form textarea{resize:none;overflow:hidden}form>button[type=submit]{align-self:flex-start;font-size:1rem;font-weight:400;letter-spacing:.08em;text-transform:lowercase;color:var(--gold);background:transparent;border:1px solid rgba(201,169,110,.4);border-radius:8px;padding:.75rem 1.75rem;cursor:pointer;transition:border-color .2s,background .2s}form>button[type=submit]:hover{border-color:var(--gold);background:#c9a96e0f}form>button[type=submit]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.cta-button{display:inline-block;font-size:1rem;letter-spacing:.08em;text-transform:lowercase;color:var(--gold);text-decoration:none;border:1px solid rgba(201,169,110,.4);border-radius:8px;padding:.75rem 1.75rem;transition:border-color .2s,background .2s}.cta-button:hover{border-color:var(--gold);background:#c9a96e0f;text-decoration:none}.cta-button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}footer{border-top:1px solid var(--rule);padding:1.75rem var(--gutter);display:flex;justify-content:space-between;align-items:center}footer>p,footer>address{font-size:1rem;font-weight:400;letter-spacing:.06em;color:var(--text-3);text-transform:lowercase}footer small{font-size:1rem}footer a{color:var(--text-3);text-decoration:none}footer a:hover{color:var(--text-1);text-decoration:none}address{font-style:normal}@media(max-width:500px){footer{flex-direction:column;gap:.5rem;align-items:flex-start;padding:1.5rem var(--gutter)}}.typing{display:inline-flex;gap:.3rem;padding:.2rem 0}.typing span{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:typing-pulse 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes typing-pulse{0%,60%,to{opacity:.3}30%{opacity:1}}@media(prefers-reduced-motion:reduce){.typing span{animation:none;opacity:.6}}.chat-error{color:#e08f8f}
