:root{--bg: #fbf4e6;--bg-alt: #f3ead6;--text: #3f3426;--muted: #776953;--accent: #7c8a5c;--accent-dark: #5f6b45;--card: #ffffff;--border: #e4d9c0;--radius: 14px;--serif: "Fraunces", Georgia, serif;--sans: "Work Sans", system-ui, sans-serif;--cursive: "Dancing Script", cursive}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.6}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;color:var(--text)}h1{font-size:clamp(2rem,4vw,2.75rem)}h2{font-size:clamp(1.4rem,2.5vw,1.9rem);margin-bottom:1rem}h3{font-size:1.15rem;margin:0 0 .25rem}a{color:var(--accent-dark)}p{margin:0 0 1rem}body{overflow-x:clip}main{max-width:1120px;margin:0 auto;padding:1.5rem 16px 4rem}.skip-link{position:absolute;left:-999px;top:0;background:var(--accent-dark);color:#fff;padding:.75rem 1rem;z-index:100;border-radius:0 0 8px}.skip-link:focus{left:0}.site-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 16px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10}.site-header nav{display:flex;gap:1.5rem}.site-header nav a{color:var(--text);text-decoration:none;font-weight:500}.site-header nav a.active,.site-header nav a:hover{color:var(--accent-dark)}.brand{display:inline-flex;flex-shrink:0;text-decoration:none}.brand-logo{display:block;width:112px;height:auto;mix-blend-mode:multiply}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600;color:var(--accent-dark);margin:0 0 .5rem}.hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1fr;align-items:center;width:100vw;margin-left:calc(50% - 50vw);margin-top:-1.5rem;min-height:min(80vh,640px);padding:3rem max(16px,calc(50vw - 544px))}.hero-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#241c1280;z-index:-1}.hero-copy{grid-column:1 / -1;max-width:640px;color:#fff}.hero-copy h1{color:#fff}.hero .eyebrow,.hero .walkins{color:#f3ead6}.hero-copy .lede{font-size:1.15rem;color:#fff}.hero .walkins{font-weight:500;font-size:.95rem}.hero .button.secondary{color:#fff;border-color:#fff}.hero .button.secondary:hover{background:#ffffff2e}@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero{background:url(/video/hero-poster.jpg) center / cover}}.section{padding:2.5rem 0;border-top:1px solid var(--border)}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}.category-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1rem;text-align:center;text-decoration:none;color:var(--text);font-weight:500;font-family:var(--serif);font-size:1.05rem;transition:border-color .15s,transform .15s}.category-card:hover{border-color:var(--accent);transform:translateY(-2px)}.about-teaser{display:flex;justify-content:center}.about-teaser-copy{max-width:640px;text-align:center}.cta-band{text-align:center;background:var(--bg-alt);border-radius:var(--radius);border-top:none;padding:2.5rem 1.5rem;margin-top:1rem}.cta-band p{font-size:1.1rem;margin-bottom:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column}.card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px;margin-bottom:.75rem}.card h3 a{text-decoration:none;color:var(--text)}.card h3 a:hover{color:var(--accent-dark)}.card .actions{margin-top:auto;padding-top:.75rem}.meta{color:var(--muted);margin:0 0 .5rem;font-size:.92rem}.actions{display:flex;flex-wrap:wrap;gap:.6rem}.button{display:inline-block;padding:.65rem 1.3rem;border-radius:999px;background:var(--accent-dark);color:#fff;text-decoration:none;font-weight:500;font-size:.95rem;border:1px solid var(--accent-dark);transition:background .15s}.button:hover{background:var(--accent);border-color:var(--accent)}.button.secondary{background:transparent;color:var(--accent-dark);border:1px solid var(--accent-dark)}.button.secondary:hover{background:var(--bg-alt)}.intro{color:var(--muted);max-width:70ch}.category-jump{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:1rem;margin:1rem 0 2rem;background:var(--bg-alt);border-radius:var(--radius);font-size:.92rem}.category-jump a{text-decoration:none;color:var(--accent-dark);font-weight:500}.category-jump a:hover{text-decoration:underline}.category-section{padding-top:1rem;scroll-margin-top:90px}.category-section+.category-section{margin-top:2.5rem;border-top:1px solid var(--border);padding-top:2.5rem}.breadcrumb{margin-top:0}.breadcrumb a{text-decoration:none;color:var(--muted);font-size:.92rem}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}.service-detail img{width:100%;border-radius:var(--radius);object-fit:cover;aspect-ratio:4 / 3}.service-detail .description{color:var(--muted);white-space:pre-line}.about-page{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:start}.about-page img,.about-page video{width:100%;border-radius:var(--radius);object-fit:cover}.about-page .about-media{position:relative;isolation:isolate;border-radius:var(--radius);overflow:hidden}.about-page .about-video{aspect-ratio:9 / 16;max-height:640px;background:var(--bg-alt);border-radius:0;display:block}.about-page .about-media-caption{position:absolute;top:0;left:0;width:60%;height:10%;min-height:48px;margin:0;display:flex;align-items:center;justify-content:flex-start;color:#fff;text-align:left;background:linear-gradient(to bottom,#0000008c,#0000);font-family:var(--cursive);font-weight:700;font-size:3.6rem;padding-left:.9rem;white-space:nowrap}.about-page p{white-space:pre-line}.contact-grid{max-width:480px}.contact-grid p{margin-bottom:1.25rem}.contact-grid strong{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.15rem}.notice{padding:3rem 16px;text-align:center;color:var(--muted)}.site-footer{padding:1.75rem 16px;text-align:center;color:var(--muted);font-size:.88rem;border-top:1px solid var(--border);background:var(--bg-alt)}@media(max-width:760px){.brand-logo{width:72px}.site-header{gap:.75rem}.site-header nav{gap:.5rem 1rem;flex-wrap:wrap;justify-content:flex-end}.service-detail,.about-page{grid-template-columns:1fr}}.section-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600;color:var(--accent-dark);margin:0}.button-light{background:#fff;color:var(--accent-dark);border-color:#fff}.button-light:hover{background:var(--bg-alt);border-color:var(--bg-alt)}.reviews{padding:3rem 0;border-top:1px solid var(--border)}.reviews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.reviews-heading h2{margin:.4rem 0 0}.reviews-heading h2 em{color:var(--accent-dark);font-style:normal}.reviews-rating{display:inline-flex;align-items:baseline;gap:.5rem;margin-top:.75rem;color:var(--text);text-decoration:none}.reviews-rating strong{font-size:1.4rem;font-weight:600;font-family:var(--serif)}.reviews-rating span{color:var(--accent-dark);letter-spacing:.08em}.reviews-rating small{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.review-controls{display:flex;gap:.5rem}.review-controls button{width:2.75rem;height:2.75rem;border:1px solid var(--border);border-radius:50%;background:var(--card);color:var(--text);font-size:1.1rem;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.review-controls button:hover{color:#fff;background:var(--accent-dark);border-color:var(--accent-dark)}.reviews-track{display:flex;gap:1rem;padding-bottom:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.reviews-track::-webkit-scrollbar{display:none}.review-card{flex:0 0 clamp(260px,31vw,360px);min-height:280px;padding:1.75rem;display:flex;flex-direction:column;scroll-snap-align:start;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.review-stars{display:flex;align-items:center;justify-content:space-between;color:var(--accent-dark);letter-spacing:.1em}.review-stars small{font-size:.7rem;font-weight:600;letter-spacing:.08em;color:var(--muted)}.review-card blockquote{margin:1.5rem 0 1.25rem;font-family:var(--serif);font-size:1.1rem;line-height:1.4;color:var(--text)}.review-card>p{margin:auto 0 0;padding-top:.9rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:.75rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text)}.review-card>p a{color:inherit;text-decoration:none}.review-source{font-weight:400;color:var(--muted);letter-spacing:.06em}.review-cta-card{justify-content:space-between;background:var(--accent-dark)!important;color:#fff;border:none}.review-cta-card .section-kicker{color:#e4e9d6}.review-cta-card h3{margin:.25rem 0 .9rem;color:#fff}.review-cta-card h3 em{color:#e4e9d6;font-style:normal}.review-cta-card div>p:last-child{margin:0;max-width:300px;font-size:.85rem;line-height:1.5;color:#f1f0e8}.review-cta-card .button{width:100%;margin-top:1.25rem;text-align:center}.google-mark{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:50%;font-size:1.1rem;font-weight:600;border:1px solid currentColor;flex-shrink:0}.contact-review-card{width:min(420px,100%);margin-top:1.5rem;padding:.9rem 1rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;transition:border-color .15s,background .15s}.contact-review-card:hover{border-color:var(--accent);background:var(--bg-alt)}.contact-review-card .google-mark{color:var(--accent-dark)}.contact-review-card>span:nth-child(2){display:flex;flex-direction:column;gap:.2rem}.contact-review-card small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.contact-review-card strong{font-size:1.05rem;font-weight:600;font-family:var(--serif)}.reviews-empty{border-top:none;padding:1.5rem 0 2.5rem}@media(max-width:760px){.reviews-heading{flex-direction:column;align-items:flex-start}.review-controls{align-self:flex-end}.review-card{flex-basis:84vw;min-height:260px}}.contact-page{padding-top:.75rem}.contact-badges{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem}.contact-badge{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.8rem 1.15rem;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--accent-dark);text-decoration:none;font-weight:600;transition:background .15s,border-color .15s}.contact-badge svg{flex-shrink:0}.contact-badge:hover{background:var(--bg-alt);border-color:var(--accent)}.contact-inquiry{max-width:850px;margin:0 auto 3rem}.contact-inquiry h1{font-family:var(--sans);font-weight:700;font-size:clamp(1.65rem,3.5vw,2.4rem);letter-spacing:-.035em;line-height:1.25;margin:0 0 1.75rem}.contact-form{display:grid;gap:1.5rem;padding:clamp(1.25rem,4vw,2.25rem);background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.contact-form label{display:grid;gap:.5rem;font-size:.95rem;font-weight:500}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;min-width:0;padding:.8rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}.contact-form textarea{resize:vertical}.contact-form fieldset{min-width:0;padding:0;margin:0;border:0}.contact-form legend{padding:0;margin-bottom:.75rem;font-size:.95rem;font-weight:500}.contact-service-options{display:flex;flex-wrap:wrap;gap:.65rem}.contact-service-options label{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border:1px solid var(--border);border-radius:8px;font-size:.85rem;cursor:pointer}.contact-service-options label:has(input:checked){border-color:var(--accent-dark);background:var(--bg-alt)}.contact-service-options input{accent-color:var(--accent-dark);margin:0}.contact-form .button{justify-self:start;font-family:inherit;cursor:pointer}.contact-form .button:disabled{opacity:.65;cursor:wait}.contact-form>div:last-child:empty{display:none}.contact-success{color:var(--accent-dark);background:var(--bg-alt);padding:1rem;border-radius:8px;margin:0}.contact-error{color:#963c2d;margin:0}.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.contact-directions{border-top:1px solid var(--border);padding-top:2rem;margin-bottom:2rem}.contact-directions h2{font-family:var(--sans);font-weight:700}.contact-directions iframe{display:block;width:100%;height:clamp(300px,45vw,440px);border:1px solid var(--border);border-radius:var(--radius)}.contact-page>.contact-review-card{margin-bottom:2rem}.contact-page :is(a,button,input,textarea):focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media(max-width:600px){.contact-badges{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.contact-badge{padding:.75rem .6rem;font-size:.8rem}.contact-form-row{grid-template-columns:1fr}}.contact-service-help{color:var(--muted);font-size:.85rem;margin:0 0 .75rem}.contact-confirmation{padding:clamp(1.5rem,4vw,2.5rem);background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.contact-confirmation h2{margin-top:0}.contact-confirmation .contact-badge{font-family:inherit;cursor:pointer}
