:root{--bg: #fbfaf7;--surface: #ffffff;--surface-2: #f3f1ec;--text: #1a1a1a;--text-soft: #4b4b4b;--muted: #6f6f6f;--line: #e6e2da;--radius: 14px;--radius-sm: 8px;--shadow-sm: 0 1px 2px rgba(20, 20, 20, .06), 0 1px 1px rgba(20, 20, 20, .04);--shadow: 0 10px 30px -12px rgba(20, 20, 20, .18);--wrap: 1140px;--gutter: clamp(1rem, 4vw, 2rem);--section: clamp(3.5rem, 8vw, 6.5rem);--ease: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}p{margin:0 0 1em}p:last-child{margin-bottom:0}ul{margin:0;padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--heading-weight);line-height:1.08;letter-spacing:-.01em;margin:0 0 .5em;color:var(--text);text-wrap:balance}h1{font-size:clamp(2.5rem,6.2vw,4.25rem)}h2{font-size:clamp(1.9rem,4vw,2.75rem)}h3{font-size:clamp(1.2rem,2vw,1.4rem);line-height:1.25}.lede{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--text-soft);max-width:60ch}.muted{color:var(--muted)}.wrap{width:min(var(--wrap),100% - 2 * var(--gutter));margin-inline:auto}.section{padding-block:var(--section)}.section+.section{padding-top:0}.section--tint{background:var(--surface-2)}.section--tint+.section{padding-top:var(--section)}.section--dark{background:var(--primary-deep);color:#fff}.section--dark h2,.section--dark h3{color:#fff}.section--dark+.section{padding-top:var(--section)}.section-head{max-width:62ch;margin-bottom:clamp(2rem,4vw,3rem)}.section-head.center{text-align:center;margin-inline:auto}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary);margin-bottom:.9rem}.eyebrow:before{content:"";width:1.6rem;height:2px;background:var(--accent);border-radius:2px}.section--dark .eyebrow{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.95rem 1.5rem;border-radius:999px;font-weight:700;font-size:1rem;border:2px solid transparent;cursor:pointer;line-height:1;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);white-space:nowrap}.btn .icon{width:1.15em;height:1.15em}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn:focus-visible{outline:3px solid var(--ring);outline-offset:2px}.btn--accent{background:var(--accent);color:var(--accent-ink)}.btn--primary{background:var(--primary);color:var(--primary-ink)}.btn--ghost{background:transparent;border-color:currentColor;color:var(--text)}.btn--ghost.on-dark{color:#fff;border-color:#ffffff8c}.btn--ghost.on-dark:hover{background:#ffffff1a}.btn--lg{padding:1.1rem 1.9rem;font-size:1.05rem}.icon{width:1.5rem;height:1.5rem;flex:none}.demo-ribbon{background:#111;color:#fff;font-size:.8rem;text-align:center;padding:.4rem var(--gutter)}.demo-ribbon strong{color:var(--accent)}.header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.header__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem}.brand{display:inline-flex;align-items:center;gap:.7rem;min-width:0}.brand img{height:2.75rem;width:auto;max-width:11rem;object-fit:contain}.wordmark{font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:clamp(1.05rem,4.2vw,1.45rem);line-height:1.05;color:var(--primary);display:flex;flex-direction:column;min-width:0}.wordmark>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wordmark small{font-family:var(--font-body);font-weight:400;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.nav{display:none;gap:1.6rem;font-weight:700;font-size:.95rem}.nav a{color:var(--text-soft);padding:.4rem 0;border-bottom:2px solid transparent}.nav a:hover,.nav a[aria-current=page]{color:var(--primary);border-color:var(--accent)}.header .btn{padding:.7rem 1rem;font-size:.9rem;flex:none}@media(max-width:359px){.header__phone-label{display:none}}@media(min-width:900px){.nav{display:flex}.header .btn{padding:.7rem 1.1rem;font-size:.95rem}}.hero{position:relative;overflow:hidden;background:var(--primary-deep);color:#fff}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(60rem 30rem at 85% -10%,color-mix(in srgb,var(--secondary) 55%,transparent),transparent 60%),radial-gradient(40rem 25rem at -10% 110%,color-mix(in srgb,var(--primary) 70%,transparent),transparent 60%);pointer-events:none}.hero__in{position:relative;display:grid;gap:2.5rem;padding-block:clamp(3.5rem,9vw,7rem);align-items:center}.hero h1{color:#fff;max-width:14ch}.hero .lede{color:#ffffffd6}.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.hero__note{margin-top:1.4rem;font-size:.95rem;color:#ffffffb8;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}.hero__note span{display:inline-flex;align-items:center;gap:.4rem}.hero__note .icon{width:1.05rem;height:1.05rem;color:var(--accent)}.hero__art{position:relative;border-radius:calc(var(--radius) * 1.4);overflow:hidden;aspect-ratio:5 / 4;background:color-mix(in srgb,var(--primary) 60%,#000 10%);box-shadow:0 30px 60px -30px #0009}.hero__art svg,.hero__art img{width:100%;height:100%;object-fit:cover}@media(min-width:900px){.hero__in{grid-template-columns:1.1fr .9fr;gap:4rem}}.trust{background:var(--surface);border-bottom:1px solid var(--line)}.trust__in{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;padding-block:1.1rem;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;color:var(--text-soft)}.trust__in span{display:inline-flex;align-items:center;gap:.5rem}.trust__in .icon{color:var(--secondary);width:1.25rem;height:1.25rem}.stars{display:inline-flex;gap:1px;color:#f5b400}.stars .icon{width:1.05rem;height:1.05rem;fill:currentColor;stroke:none}.grid{display:grid;gap:1.25rem}@media(min-width:640px){.grid--2{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--2{grid-template-columns:repeat(2,1fr)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.8rem;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}.card__icon{width:3rem;height:3rem;border-radius:12px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.card__icon .icon{width:1.5rem;height:1.5rem}.card h3{margin:.25rem 0 0}.card p{color:var(--text-soft)}.card__more{margin-top:auto;padding-top:.5rem;font-weight:700;color:var(--secondary);display:inline-flex;align-items:center;gap:.35rem}.card__more .icon{width:1rem;height:1rem;transition:transform .18s var(--ease)}a.card:hover .card__more .icon{transform:translate(3px)}.why{display:grid;gap:2.5rem;align-items:start}.why__list{display:grid;gap:1.5rem}.why__item{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start}.why__num{font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:2.2rem;line-height:1;color:var(--accent);min-width:2.4rem;padding-top:.1rem}.why__item h3{margin-bottom:.25rem}.why__item p{color:#fffc}.why__aside{background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:1.75rem}.why__aside p{color:#ffffffd9}@media(min-width:900px){.why{grid-template-columns:1.2fr .8fr;gap:4rem}.why__list{grid-template-columns:1fr 1fr}}.review{position:relative}.review blockquote{margin:0;font-size:1.05rem;color:var(--text)}.review blockquote:before{content:"“";font-family:var(--font-heading);font-size:3.5rem;line-height:0;color:var(--accent);display:block;margin:1rem 0 .5rem}.review footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--line);font-size:.9rem}.review footer strong{color:var(--text)}.review footer .muted{font-size:.8rem}.placeholder-note{font-size:.85rem;color:var(--muted);text-align:center;margin-top:1.5rem}.about{display:grid;gap:2.5rem;align-items:center}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1rem;text-align:center}.stat b{display:block;font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1;color:var(--primary)}.stat span{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700;display:block;margin-top:.45rem}@media(min-width:900px){.about{grid-template-columns:1.1fr .9fr;gap:4rem}}.chips{display:flex;flex-wrap:wrap;gap:.6rem}.chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.5rem .95rem;font-weight:700;font-size:.95rem}.chip .icon{width:1rem;height:1rem;color:var(--secondary)}.chip--home{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.chip--home .icon{color:var(--accent)}.faq{max-width:50rem;margin-inline:auto}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 0;font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:1.2rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:1.6rem;line-height:1;color:var(--secondary);transition:transform .2s var(--ease);flex:none}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{padding-bottom:1.3rem;color:var(--text-soft);max-width:65ch}.contact{display:grid;gap:2.5rem}.form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.25rem);box-shadow:var(--shadow-sm)}.form label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.35rem}.form .field{margin-bottom:1.1rem}.form .row{display:grid;gap:1.1rem 1rem}@media(min-width:560px){.form .row{grid-template-columns:1fr 1fr}}.form input,.form textarea,.form select{width:100%;font:inherit;padding:.8rem .95rem;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--bg);color:var(--text)}.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 4px var(--ring)}.form textarea{min-height:7.5rem;resize:vertical}.form .btn{width:100%}.form__fine{font-size:.8rem;color:var(--muted);margin-top:.8rem;text-align:center}.info{display:grid;gap:1.5rem;align-content:start}.info__row{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start}.info__row .icon{color:var(--secondary);margin-top:.15rem}.info__row b{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.15rem}.info__row a:hover{color:var(--secondary)}.hours{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1.25rem;font-size:.95rem}.hours dt{font-weight:700}.hours dd{margin:0;color:var(--text-soft)}.map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--surface-2);aspect-ratio:16 / 10;position:relative}.map iframe{width:100%;height:100%;border:0;display:block}.map__fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted);padding:1rem;font-size:.95rem}@media(min-width:900px){.contact{grid-template-columns:1.1fr .9fr;gap:3.5rem}}.cta-band{background:var(--primary);color:var(--primary-ink)}.cta-band__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:clamp(2.5rem,5vw,3.5rem)}.cta-band h2{color:inherit;margin:0 0 .3rem;font-size:clamp(1.6rem,3vw,2.2rem)}.cta-band p{opacity:.85;margin:0}.footer{background:#141414;color:#ffffffc7;padding-block:3.5rem 6.5rem;font-size:.95rem}.footer__grid{display:grid;gap:2.25rem}.footer h4{color:#fff;font-family:var(--font-body);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.9rem}.footer a:hover{color:#fff}.footer .brand img{height:2.5rem;filter:drop-shadow(0 0 0 transparent)}.footer .wordmark{color:#fff}.footer .wordmark small{color:#ffffff8c}.footer__about{max-width:38ch;margin-top:1rem;color:#ffffffa6}.footer ul li{margin-bottom:.45rem}.footer__bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2.5rem;padding-top:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;font-size:.85rem;color:#ffffff80}.footer .hours{font-size:.9rem}.footer .hours dd{color:#ffffffa6}@media(min-width:700px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}.footer{padding-bottom:3.5rem}}.callbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.6rem var(--gutter);padding-bottom:max(.6rem,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line)}.callbar .btn{padding:.85rem .5rem;font-size:.95rem}@media(min-width:700px){.callbar{display:none}}.page-hero{background:var(--primary-deep);color:#fff;padding-block:clamp(3rem,7vw,5rem)}.page-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.5rem)}.page-hero .lede{color:#ffffffd6}.crumbs{font-size:.85rem;color:#ffffffa6;margin-bottom:1rem}.crumbs a:hover{color:#fff}.prose{max-width:68ch;font-size:1.1rem}.prose p{margin-bottom:1.1em;color:var(--text-soft)}.aside-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-sm)}.aside-card .btn{width:100%;margin-top:.75rem}.aside-card ul li{padding:.5rem 0;border-top:1px solid var(--line)}.aside-card ul li:first-child{border-top:0}.aside-card ul a{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--text-soft)}.aside-card ul a[aria-current=page]{color:var(--primary)}.detail{display:grid;gap:2.5rem}@media(min-width:900px){.detail{grid-template-columns:1fr 20rem;gap:4rem}}.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}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}.form__done{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:1rem 1.2rem;font-weight:700}
