:root{--radius:14px;--measure:40rem;--wide:64rem;--serif:"Fraunces", Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--focus:0 0 0 3px var(--accent-soft)}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;font-size:1rem;line-height:1.6;display:flex}main{flex:1;padding-bottom:4.5rem}main:focus{outline:none}img{max-width:100%;display:block}[hidden]{display:none!important}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-weight:500;line-height:1.2}a{color:var(--primary);text-underline-offset:.18em}a:hover{color:var(--primary-deep)}:focus-visible{box-shadow:var(--focus);border-radius:6px;outline:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:10;background:var(--bg);color:var(--ink);border-radius:8px;padding:.6rem 1rem;font-weight:600;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.multiline{white-space:pre-line}.button{background:var(--primary);color:#fff;border-radius:999px;padding:.75rem 1.4rem;font-weight:600;text-decoration:none;display:inline-block}.button:hover{background:var(--primary-deep);color:#fff}.site-header{background:linear-gradient(135deg, var(--primary-deep), var(--primary));color:#fff}.site-header__bar{max-width:var(--wide);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;min-height:4.75rem;margin:0 auto;padding:1rem 1.5rem;display:flex}.brand{color:#fff;align-items:center;gap:.75rem;min-height:2.75rem;text-decoration:none;display:flex}.brand:hover{color:#fff}.brand__logo{object-fit:contain;width:auto;max-width:240px}.brand__name{font-family:var(--serif);letter-spacing:-.01em;font-size:1.25rem;font-weight:600}.site-nav ul{flex-wrap:wrap;gap:.25rem 1.6rem;padding:0;list-style:none;display:flex}.site-nav a{color:#ffffffc7;border-bottom:2px solid #0000;padding:.35rem 0;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-block}.site-nav a:hover{color:#fff}.site-nav a[aria-current=page]{color:#fff;border-bottom-color:var(--accent)}.site-header :focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}.site-nav ul{align-items:center}.site-nav .nav-call{background:var(--accent);color:var(--primary-deep);border:0;border-radius:999px;padding:.5rem 1.1rem;font-weight:600}.site-nav .nav-call:hover{background:var(--accent-soft);color:var(--primary-deep)}.site-nav .nav-call{white-space:nowrap}@media (width<=52rem){.nav-call__number{display:none}}@media (width<=40rem){.site-header__bar{padding:.9rem 1.25rem}.site-nav{width:100%}.site-nav ul{gap:.2rem 1.1rem}.site-nav a{white-space:nowrap;font-size:.92rem}}.site-footer{border-top:1px solid var(--line);background:var(--bg-alt)}.site-footer__inner{max-width:var(--wide);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin:0 auto;padding:1.75rem 1.5rem;font-size:.9rem;display:flex}.site-footer ul{flex-wrap:wrap;gap:.5rem 1.4rem;padding:0;list-style:none;display:flex}.site-footer a{color:var(--ink-soft);text-decoration:none}.site-footer a:hover{color:var(--ink);text-decoration:underline}.page-title{max-width:var(--measure);text-align:center;margin:0 auto;padding:3.5rem 1.5rem .5rem}.page-title h1{font-size:clamp(2rem,4.5vw,2.6rem)}.page-title p{color:var(--ink-soft);margin-top:.75rem;font-size:1.05rem}.home{padding:3rem 1.5rem 0}.home__intro{text-align:center;max-width:36rem;color:var(--ink-soft);margin:0 auto;font-size:1.05rem;line-height:1.7}.home__intro p+p{margin-top:.8rem}.chat{max-width:38rem;margin:2.75rem auto 0}.chat__question{text-align:center;font-family:var(--sans);letter-spacing:0;font-size:1rem;font-weight:600}.chat__starters{gap:.75rem;margin-top:.9rem;display:flex}.starter{border:1.5px solid var(--line);border-radius:var(--radius);color:var(--ink);font:600 1rem var(--sans);cursor:pointer;background:#fff;flex:1;padding:.8rem 1rem}.starter:hover:not(:disabled){border-color:var(--primary)}.starter[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}.starter:disabled{cursor:not-allowed;color:var(--ink-soft);background:var(--bg-alt)}.chat__note{text-align:center;color:var(--ink-soft);margin-top:.6rem;font-size:.9rem}.chat__box{border:1.5px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;margin-top:1.25rem;display:flex;overflow:hidden;box-shadow:0 18px 40px -24px #00000047}.chat__log{flex-direction:column;gap:.6rem;height:0;padding:0 1.1rem;transition:height .3s;display:flex;overflow-y:auto}.chat--open .chat__box{height:var(--chat-box-h,70vh);min-height:16rem}.chat--open .chat__log{flex:1;height:auto;min-height:0;padding:1.1rem}.msg{overflow-wrap:anywhere;border-radius:14px;max-width:82%;padding:.65rem .9rem;font-size:.97rem;line-height:1.5}.msg--bot{background:var(--bg-alt);border-bottom-left-radius:4px;align-self:flex-start}.msg--user{background:var(--primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.msg--bot a{font-weight:600}.msg--pending{color:var(--ink-soft);animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45}}.chat__form{gap:.5rem;padding:.75rem;display:flex}.chat--open .chat__form{border-top:1px solid var(--line)}.chat__form input{border:1px solid var(--line);min-width:0;font:1rem var(--sans);color:var(--ink);background:#fff;border-radius:999px;flex:1;padding:.75rem 1rem}.chat__form input::placeholder{color:var(--ink-soft)}.chat__form input:focus{border-color:var(--primary);box-shadow:var(--focus);outline:none}.chat__send{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:2.9rem;height:2.9rem;display:grid}.chat__send:hover{background:var(--primary-deep)}.chat__send:disabled{opacity:.5;cursor:wait}.services{max-width:var(--wide);grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));column-gap:2.5rem;margin:2.5rem auto 0;padding:0 1.5rem;list-style:none;display:grid}.services__item{border-top:1px solid var(--line);padding:1.4rem 0}.services__item h2{font-size:1.3rem}.services__item p{color:var(--ink-soft);margin-top:.4rem}.team{max-width:var(--wide);margin:0 auto;padding:0 1.5rem}.team__group{margin-top:3rem}.team__group>h2{border-bottom:1px solid var(--line);padding-bottom:.6rem;font-size:1.5rem}.team__grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:2rem 1.5rem;margin-top:1.5rem;padding:0;list-style:none;display:grid}.person__photo{aspect-ratio:4/5;border-radius:var(--radius);background:linear-gradient(160deg, var(--primary), var(--primary-deep));place-items:center;display:grid;position:relative;overflow:hidden}.person__photo img{object-fit:cover;object-position:center 20%;width:100%;height:100%;position:absolute;inset:0}.person__photo span{font-family:var(--serif);color:var(--accent-soft);font-size:2.2rem}.person h3{margin-top:.9rem;font-size:1.15rem}.person__role{color:var(--primary);font-size:.92rem;font-weight:500}.person__bio{color:var(--ink-soft);margin-top:.45rem;font-size:.93rem;line-height:1.55}.about{max-width:var(--measure);margin:2.5rem auto 0;padding:0 1.5rem}.about--with-photo{max-width:var(--wide);align-items:start;gap:2.5rem;display:grid}@media (width>=52rem){.about--with-photo{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}.about__photo img{border-radius:var(--radius);width:100%}.prose{font-size:1.05rem;line-height:1.75}.prose p+p{margin-top:1rem}.prose h2{margin:2.2rem 0 .6rem;font-size:1.25rem}.prose h2:first-child{margin-top:0}.prose--legal{max-width:var(--measure);color:var(--ink-soft);margin:2.5rem auto 0;padding:0 1.5rem;font-size:.98rem}.prose--legal h2{color:var(--ink);font-size:1.1rem}.contact{max-width:34rem;margin:2.5rem auto 0;padding:0 1.5rem}.contact__row{border-top:1px solid var(--line);grid-template-columns:7rem 1fr;gap:1rem;padding:1.2rem 0;display:grid}.contact__row:last-child{border-bottom:1px solid var(--line)}.contact dt{color:var(--primary);font-weight:600}.contact dd{font-size:1.05rem}.contact dd a:not(.contact__map){color:var(--ink);text-decoration:none}.contact dd a:not(.contact__map):hover{text-decoration:underline}.contact__map{width:fit-content;margin-top:.35rem;font-size:.93rem;font-weight:500;display:block}@media (width<=30rem){.contact__row{grid-template-columns:1fr;gap:.2rem}}.not-found{text-align:center;margin-top:2rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
