:root{--color-bg:#fbf7f1;--color-surface:#fff;--color-text:#2b2118;--color-muted:#6b5d52;--color-accent:#b5542d;--color-accent-dark:#8f3f1f;--color-line:#e8ddd1;--font-display:"Georgia", "Times New Roman", serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius:10px;--measure:62ch;--wrap:1120px;--gutter:clamp(1rem, 4vw, 2.5rem)}*,:before,:after{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent-dark)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .5em;font-weight:600;line-height:1.15}h1{font-size:clamp(2.2rem,5.5vw,3.6rem)}h2{font-size:clamp(1.7rem,3.5vw,2.4rem)}h3{font-size:1.25rem}p{margin:0 0 1em}.wrap{max-width:var(--wrap);padding-inline:var(--gutter);margin-inline:auto}.measure{max-width:var(--measure)}.muted{color:var(--color-muted)}.skip-link{background:var(--color-surface);z-index:100;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip-link:focus{left:1rem}.button{background:var(--color-accent);color:#fff;border-radius:999px;padding:.8rem 1.4rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.button:hover,.button:focus-visible{background:var(--color-accent-dark)}.site-header{border-bottom:1px solid var(--color-line);background:var(--color-bg);z-index:20;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;display:flex;position:relative}.brand{color:inherit;font-family:var(--font-display);align-items:center;gap:.6rem;font-size:1.35rem;font-weight:700;text-decoration:none;display:flex}.brand img{width:auto;height:2.25rem}.nav-toggle{border:1px solid var(--color-line);font:inherit;color:inherit;background:0 0;border-radius:8px;padding:.45rem .7rem;display:none}.site-nav ul{gap:1.4rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--color-text);font-weight:500;text-decoration:none}.site-nav a[aria-current=page]{color:var(--color-accent-dark);border-bottom:2px solid}@media (width<=720px){.nav-toggle{display:inline-block}.site-nav{background:var(--color-bg);border-bottom:1px solid var(--color-line);display:none;position:absolute;top:100%;left:0;right:0}.site-nav.is-open{display:block}.site-nav ul{padding:.5rem var(--gutter) 1rem;flex-direction:column;gap:0}.site-nav li{padding:.55rem 0}}.site-footer{border-top:1px solid var(--color-line);color:var(--color-muted);margin-top:4rem;padding:2.5rem 0;font-size:.95rem}.site-footer .wrap{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.site-footer h3{font-size:1rem;font-family:var(--font-body);color:var(--color-text);margin-bottom:.5rem}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer .credit{border-top:1px solid var(--color-line);grid-column:1/-1;padding-top:1rem;font-size:.85rem}.section{padding:clamp(2.5rem,7vw,5rem) 0}.section+.section{border-top:1px solid var(--color-line)}.section-heading{margin-bottom:1.5rem}.hero{border-top:0;padding:clamp(2.5rem,8vw,6rem) 0}.hero .wrap{grid-template-columns:1fr;align-items:center;gap:2.5rem;display:grid}.hero.has-image .wrap{grid-template-columns:1.1fr 1fr}.hero p.lead{color:var(--color-muted);max-width:var(--measure);font-size:1.2rem}.hero img{border-radius:var(--radius)}@media (width<=800px){.hero.has-image .wrap{grid-template-columns:1fr}}.text-section .wrap{align-items:center;gap:2.5rem;display:grid}.text-section.has-image .wrap{grid-template-columns:1fr 1fr}.text-section.image-left .media{order:-1}.text-section .media img{border-radius:var(--radius)}.text-section .prose{max-width:var(--measure)}@media (width<=800px){.text-section.has-image .wrap{grid-template-columns:1fr}.text-section.image-left .media{order:0}}.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.card img{aspect-ratio:4/3;object-fit:cover;width:100%}.card .card-body{flex-direction:column;flex:1;gap:.35rem;padding:1rem 1.15rem 1.25rem;display:flex}.card .card-title{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.card .price{color:var(--color-accent-dark);white-space:nowrap;font-weight:600}.card p{color:var(--color-muted);margin:0;font-size:.97rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.gallery-grid figure{margin:0}.gallery-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%}.gallery-grid figcaption{color:var(--color-muted);margin-top:.4rem;font-size:.9rem}.quotes{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.quote{background:var(--color-surface);border-left:4px solid var(--color-accent);border-radius:var(--radius);margin:0;padding:1.25rem 1.4rem}.quote p{font-family:var(--font-display);margin-bottom:.75rem;font-size:1.15rem}.quote footer{color:var(--color-muted);font-size:.95rem}.faq-list{max-width:var(--measure)}.faq-list details{border-top:1px solid var(--color-line);padding:.85rem 0}.faq-list details:last-child{border-bottom:1px solid var(--color-line)}.faq-list summary{cursor:pointer;justify-content:space-between;gap:1rem;font-weight:600;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--color-accent);font-size:1.3rem;line-height:1}.faq-list details[open] summary:after{content:"−"}.faq-list .answer{color:var(--color-muted);padding-top:.6rem}.team-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.team-grid img{aspect-ratio:1;object-fit:cover;border-radius:50%;width:9rem;margin-bottom:.75rem}.team-grid .role{color:var(--color-accent-dark);margin:0;font-weight:600}.team-grid p{color:var(--color-muted);margin:.25rem 0 0;font-size:.97rem}.hours-table{border-collapse:collapse;min-width:min(100%,26rem)}.hours-table td{border-bottom:1px solid var(--color-line);vertical-align:top;padding:.5rem 1.5rem .5rem 0}.hours-table td:last-child{text-align:right;white-space:nowrap;padding-right:0}.cta-band{background:var(--color-accent-dark);color:#fff;border-top:0;padding:clamp(2.5rem,6vw,4rem) 0}.cta-band h2{color:#fff}.cta-band p{max-width:var(--measure);opacity:.92}.cta-band .button{color:var(--color-accent-dark);background:#fff}.cta-band .button:hover{background:var(--color-bg)}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;display:grid}.contact-grid dl{margin:0}.contact-grid dt{margin-top:.75rem;font-weight:600}.contact-grid dd{color:var(--color-muted);margin:0}.prose :is(h2,h3){margin-top:1.5em}.prose ul,.prose ol{padding-left:1.3rem}.prose img{border-radius:var(--radius)}.post-list{gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.post-list article{border-top:1px solid var(--color-line);padding-top:1.5rem}.post-list h2{margin-bottom:.25rem;font-size:1.5rem}.post-list time,.post-meta{color:var(--color-muted);font-size:.95rem}.post-hero{border-radius:var(--radius);margin:1.5rem 0}
