:root{color-scheme:light;color:var(--ink);background:#fff;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0;line-height:1.55}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.035em;font-family:DM Serif Display,Georgia,serif;font-weight:400;line-height:1.03}h1{max-width:10ch;margin-bottom:1.5rem;font-size:clamp(3.1rem,7vw,6.7rem)}h2{margin-bottom:1.25rem;font-size:clamp(2.25rem,4vw,4.1rem)}h3{margin-bottom:.5rem;font-size:1.2rem}.shell{width:min(1120px,100% - 3rem);margin-inline:auto}.site-header{z-index:5;background:#fff;border-bottom:1px solid #e8ecea;position:relative}.nav-wrap{justify-content:space-between;align-items:center;gap:2rem;min-height:82px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.85rem;display:grid}.brand-logo{object-fit:contain;width:32px;height:32px}nav{align-items:center;gap:1.5rem;display:flex}nav a{color:#52616b;font-size:.92rem;font-weight:600;text-decoration:none}nav a[aria-current=page],nav a:hover{color:var(--ink)}.menu-button{font:inherit;color:var(--ink);background:0 0;border:0;font-weight:600;display:none}.hero{background:linear-gradient(110deg, var(--surface) 0%, var(--surface) 68%, #fff 68%);padding:clamp(4rem,9vw,8rem) 0;overflow:hidden}.hero-grid,.story-grid,.contact-grid{grid-template-columns:1.02fr .98fr;align-items:center;gap:clamp(3rem,7vw,8rem);display:grid}.hero-grid--text-only,.story-grid--text-only{grid-template-columns:minmax(0,720px)}.hero-copy{padding:1rem 0}.eyebrow,.tag{color:color-mix(in srgb, var(--accent), var(--ink) 25%);text-transform:uppercase;letter-spacing:.13em;margin-bottom:1rem;font-size:.73rem;font-weight:700}.lede{color:#52616b;max-width:48ch;font-size:clamp(1.1rem,2vw,1.32rem)}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:.65rem;margin-top:1.4rem;padding:.9rem 1.2rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.button:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.hero-image{position:relative}.hero-image img{aspect-ratio:4/4.6;object-fit:cover;border-radius:1.25rem;width:100%}.image-note{background:var(--accent);color:#102a43;padding:.8rem 1rem;font-weight:700;position:absolute;bottom:1.5rem;right:-1.5rem;transform:rotate(-4deg)}.section{padding:clamp(4rem,8vw,7.5rem) 0}.surface{background:var(--surface)}.section-heading{max-width:720px;margin-bottom:3rem}.section-heading.split{grid-template-columns:1.25fr .75fr;gap:2rem;max-width:none;display:grid}.section-heading.split>p{color:#52616b;align-self:end;font-size:1.06rem}.feature-grid,.review-grid,.service-grid,.post-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.feature{background:#fff;border:1px solid #e8ecea;border-radius:.85rem;padding:2rem;transition:transform .25s,box-shadow .25s,border-color .25s}.feature:hover{border-color:color-mix(in srgb, var(--accent), #fff 65%);transform:translateY(-.35rem);box-shadow:0 1rem 2rem #102a4312}.feature>span{background:var(--surface);width:2.75rem;height:2.75rem;color:var(--accent);border-radius:50%;place-items:center;margin-bottom:1.5rem;font-size:1.4rem;display:inline-grid}.feature p,.review p,.team-card p,.post-card p,.service-card>p{color:#52616b}.story-grid img{aspect-ratio:1;object-fit:cover;border-radius:1.1rem;width:100%}.text-link{color:var(--ink);text-underline-offset:4px;margin-top:.7rem;font-weight:700;text-decoration-thickness:2px;display:inline-block}.review{background:#fff;border:1px solid #e8ecea;border-radius:.8rem;margin:0;padding:1.75rem;transition:transform .25s,box-shadow .25s}.review:hover{transform:translateY(-.35rem);box-shadow:0 1rem 2rem #102a4312}.review .stars{color:var(--accent);letter-spacing:.12em;font-size:.85rem}.review blockquote{margin:0}.review footer{font-weight:700}.review footer span{color:#75828c;margin-top:.15rem;font-size:.82rem;font-weight:400;display:block}.review-disclosure,.phase-note{color:#66747d;max-width:75ch;margin:1.8rem auto 0;font-size:.86rem}.page-intro{background:var(--surface);padding:clamp(3rem,5vw,4.75rem) 0;overflow:hidden}.page-intro-grid{grid-template-columns:1.2fr .8fr;align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.page-intro h1{max-width:15ch;font-size:clamp(2.75rem,5vw,5rem)}.page-intro .lede{max-width:55ch}.page-intro img{aspect-ratio:1.25;object-fit:cover;width:100%;box-shadow:1rem 1rem 0 color-mix(in srgb, var(--accent), transparent 80%);border-radius:1rem}.page-intro-grid--text-only{grid-template-columns:minmax(0,820px)}.team-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.team-card{background:#fff;border:1px solid #e8ecea;border-radius:.85rem;grid-template-columns:120px 1fr;transition:transform .25s,box-shadow .25s;display:grid;overflow:hidden}.team-card:hover{transform:translateY(-.35rem);box-shadow:0 1rem 2rem #102a4312}.team-avatar{color:var(--ink);background:linear-gradient(145deg, var(--surface), color-mix(in srgb, var(--accent), #fff 75%));letter-spacing:-.08em;border-radius:.6rem;place-items:center;margin:1.2rem 0 1.2rem 1.2rem;font-family:DM Serif Display,Georgia,serif;font-size:2rem;display:grid}.team-card>div:last-child{padding:1.5rem}.team-photo{object-fit:cover;width:120px;height:100%;min-height:180px}.service-card{background:#fff;border:1px solid #dce4e1;border-radius:.85rem;padding:2rem;transition:transform .25s,box-shadow .25s,border-color .25s}.service-card:hover{border-color:color-mix(in srgb, var(--accent), #fff 65%);transform:translateY(-.35rem);box-shadow:0 1rem 2rem #102a4312}.service-card.featured{border:2px solid var(--accent);transform:translateY(-.5rem)}.service-card.featured:hover{transform:translateY(-.7rem)}.service-card h2{font-size:2.2rem}.service-card ul{padding:0;list-style:none}.service-card li{border-top:1px solid #e8ecea;padding:.4rem 0}.service-card li:before{content:"✓";color:var(--accent);margin-right:.55rem;font-weight:700}.centered{text-align:center}.centered .lede{margin-inline:auto}.contact-grid{align-items:start}.contact-details{color:#52616b;margin-top:2rem;font-style:normal}.contact-details p{margin-bottom:.8rem}.contact-details a{color:var(--ink);font-weight:700}.contact-form{background:var(--surface);border-radius:.85rem;gap:1rem;padding:2rem;display:grid}.contact-form label{gap:.4rem;font-size:.9rem;font-weight:700;display:grid}.contact-form input,.contact-form textarea{width:100%;font:inherit;background:#fff;border:1px solid #cbd5d1;border-radius:.35rem;padding:.8rem}.contact-form button:disabled{cursor:not-allowed;opacity:.6}.contact-form p{color:#66747d;margin-bottom:0;font-size:.85rem}.location-map{background:#fff;border:1px solid #dce4e1;border-radius:1rem;grid-template-columns:.75fr 1.25fr;display:grid;overflow:hidden}.map-copy{padding:clamp(2rem,5vw,4rem)}.map-copy h3{font-family:DM Serif Display,Georgia,serif;font-size:2.25rem;font-weight:400;line-height:1.05}.map-copy p:not(.eyebrow){color:#52616b}.location-map iframe{filter:saturate(.8)contrast(.96);border:0;width:100%;min-height:360px;display:block}.post-card{background:#fff;border:1px solid #dce4e1;border-radius:.85rem;padding:2rem}.post-card h3{font-family:DM Serif Display,Georgia,serif;font-size:1.75rem;font-weight:400;line-height:1.1}.post-card h3 a{text-decoration:none}.post-card h3 a:hover{color:var(--accent)}.post-card footer{color:#75828c;font-size:.85rem}.not-found{place-items:center;min-height:55vh;display:grid}.narrow{width:min(760px,100% - 3rem)}.faq-list{border-top:1px solid #dce4e1}.faq-list details{border-bottom:1px solid #dce4e1;padding:1.1rem 0}.faq-list summary{cursor:pointer;padding-right:2rem;font-weight:700;list-style:none;position:relative}.faq-list summary:after{content:"+";color:var(--accent);font-size:1.3rem;position:absolute;top:-.3rem;right:.25rem}.faq-list details[open] summary:after{content:"−"}.faq-answer>:first-child{margin-top:1rem}.faq-answer>:last-child{margin-bottom:.2rem}.faq-answer p,.faq-answer li{color:#52616b}.article{padding:clamp(4rem,8vw,7rem) 0}.article h1{max-width:14ch;font-size:clamp(3rem,6vw,5.8rem)}.article-date{color:#75828c;font-size:.9rem}.article-body{color:#344650;margin:2.5rem 0;font-size:1.07rem}.article-body h2{margin-top:2.5rem;font-size:clamp(1.8rem,3vw,2.8rem)}.article-body li{margin-bottom:.55rem}.site-footer{background:var(--ink);color:#fff;padding:4rem 0 1.25rem}.site-footer .brand{color:#fff}.site-footer p{color:#c5d0d6;max-width:34ch}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:3rem;display:grid}.footer-link{color:#fff;margin:.6rem 0;text-decoration:none;display:block}.footer-bottom{color:#c5d0d6;border-top:1px solid #35505f;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.25rem;font-size:.85rem;display:flex}@media (width<=760px){.shell{width:min(100% - 2rem,1120px)}.menu-button{gap:.5rem;display:inline-flex}.nav-wrap{min-height:68px}nav{background:#fff;border:1px solid #e8ecea;border-radius:.6rem;padding:1rem;display:none;position:absolute;top:68px;left:1rem;right:1rem;box-shadow:0 1rem 2rem #102a4320}nav.is-open{display:grid}.hero{background:var(--surface)}.hero-grid,.story-grid,.contact-grid,.section-heading.split,.page-intro-grid,.location-map{grid-template-columns:1fr;gap:2.5rem}.page-intro img,.hero-image{max-width:520px}.image-note{right:-.5rem}.feature-grid,.review-grid,.service-grid,.post-grid{grid-template-columns:1fr}.service-card.featured,.service-card.featured:hover{transform:none}.team-grid{grid-template-columns:1fr}.location-map iframe{min-height:300px}.footer-grid{grid-template-columns:1fr;gap:1.5rem}.footer-bottom{display:block}.footer-bottom span{margin-top:.5rem;display:block}}.demo-banner[data-astro-cid-5m5kdkxc]{color:#f7fbfc;z-index:50;background:#102a3a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative}.demo-banner__inner[data-astro-cid-5m5kdkxc]{justify-content:space-between;align-items:center;gap:1rem;width:min(75rem,100% - 2rem);min-height:3.5rem;margin:auto;padding:.4rem 0;display:flex}p[data-astro-cid-5m5kdkxc]{flex-wrap:wrap;align-items:center;gap:.55rem;margin:0;font-size:.88rem;line-height:1.35;display:flex}strong[data-astro-cid-5m5kdkxc]{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:#ffffff21;border:1px solid #ffffff3d;border-radius:999px;padding:.25rem .5rem;font-size:.68rem}.demo-banner[data-astro-cid-5m5kdkxc] a[data-astro-cid-5m5kdkxc]{color:#102a3a;white-space:nowrap;background:#fff;border:1px solid #fff;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:.4rem;min-height:2.75rem;padding:.55rem .85rem;font-size:.82rem;font-weight:800;text-decoration:none;transition:background-color .2s,color .2s,transform .2s;display:inline-flex}.demo-banner[data-astro-cid-5m5kdkxc] a[data-astro-cid-5m5kdkxc]:hover,.demo-banner[data-astro-cid-5m5kdkxc] a[data-astro-cid-5m5kdkxc]:focus-visible{color:#0b615b;background:#d9f3f0;transform:translateY(-.08rem)}@media (width<=36rem){.demo-banner__inner[data-astro-cid-5m5kdkxc]{flex-direction:column;align-items:stretch;gap:.55rem;padding:.7rem 0 .75rem}.demo-banner[data-astro-cid-5m5kdkxc] a[data-astro-cid-5m5kdkxc]{align-self:flex-start}}@media (prefers-reduced-motion:reduce){.demo-banner[data-astro-cid-5m5kdkxc] a[data-astro-cid-5m5kdkxc]{transition:none}.demo-banner[data-astro-cid-5m5kdkxc] a[data-astro-cid-5m5kdkxc]:hover,.demo-banner[data-astro-cid-5m5kdkxc] a[data-astro-cid-5m5kdkxc]:focus-visible{transform:none}}
