:root{color-scheme:light;--ink: #141517;--muted: #5c626b;--paper: #f7f7f3;--surface: #ffffff;--line: #d9ddd8;--steel: #29313a;--red: #c62828;--green: #1f6f54;--shadow: 0 20px 60px rgba(20, 21, 23, .12);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(20,21,23,.05) 1px,transparent 1px),linear-gradient(rgba(20,21,23,.03) 1px,transparent 1px);background-size:72px 72px}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.site-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:14px clamp(18px,4vw,56px);background:#f7f7f3eb;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-mark{display:grid;width:42px;height:42px;place-items:center;background:var(--ink);color:var(--surface);border-radius:6px;font-weight:800;letter-spacing:0}.brand strong,.brand small{display:block;white-space:nowrap}.brand small{color:var(--muted);font-size:.78rem}nav{display:flex;justify-content:center;gap:8px;min-width:0}nav a,.header-call,.button{min-height:42px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-weight:750;letter-spacing:0}nav a{padding:0 12px;color:var(--muted)}nav a:hover,.contact-links a:hover,.footer-links a:hover{color:var(--red)}.header-call{padding:0 16px;background:var(--red);color:var(--surface);box-shadow:0 10px 24px #c628282e}main{overflow:clip}section{padding:clamp(64px,8vw,112px) clamp(18px,4vw,56px)}.hero{min-height:calc(100dvh - 72px);display:grid;grid-template-columns:minmax(0,.95fr) minmax(340px,1.05fr);gap:clamp(28px,5vw,72px);align-items:center;padding-top:clamp(36px,6vw,72px)}.hero-copy,.section-heading,.page-hero,.contact-page>div{max-width:760px}.eyebrow{margin:0 0 14px;color:var(--red);font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{margin-bottom:20px;line-height:.98;letter-spacing:0}h1{max-width:10ch;font-size:clamp(3rem,8vw,7.6rem)}h2{max-width:14ch;font-size:clamp(2.1rem,5.4vw,5rem)}h3{margin-bottom:10px;font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.15}.lead,.page-hero p,.section-heading p,.split-section p,.trust-section p,.contact-page p{max-width:62ch;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.22rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.button{padding:0 20px;border:1px solid transparent}.button.primary{background:var(--red);color:var(--surface);box-shadow:0 12px 28px #c6282833}.button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.button:hover,.header-call:hover{transform:translateY(-1px)}.fact-strip{display:flex;flex-wrap:wrap;gap:10px;max-width:760px}.fact-strip span{display:inline-flex;min-height:34px;align-items:center;padding:0 12px;background:#ffffffc7;border:1px solid var(--line);border-radius:999px;color:var(--steel);font-size:.9rem;font-weight:700}.hero-media{position:relative;align-self:stretch;min-height:520px;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);background:var(--steel)}.hero-media img,.contact-band>img,.contact-page>img{height:100%;object-fit:cover}.hero-media p{position:absolute;right:14px;bottom:14px;max-width:280px;margin:0;padding:9px 11px;background:#141517c2;color:var(--surface);border-radius:6px;font-size:.78rem}.split-section,.trust-section,.contact-band,.contact-page{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:center}.split-section,.hours-section,.faq-preview,.services-preview,.page-list{border-top:1px solid var(--line)}.detail-list,.theme-list,.hours-grid,.service-grid,.services-page-grid,.faq-list,.gallery-grid{display:grid;gap:12px}.detail-list div,.hours-grid div,.service-grid article,.services-page-grid article,.faq-list details,.theme-list p{background:#ffffffd1;border:1px solid var(--line);border-radius:8px}.detail-list div,.hours-grid div{display:grid;grid-template-columns:minmax(110px,.3fr) 1fr;gap:18px;padding:18px}.detail-list span,.hours-grid span,.service-grid span,.services-page-grid span{color:var(--green);font-size:.82rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.services-preview{display:grid;gap:32px}.service-grid,.services-page-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-grid article,.services-page-grid article{padding:22px}.service-grid p,.services-page-grid p{margin-bottom:0;color:var(--muted)}.services-page-grid .source-note{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);color:var(--steel);font-size:.9rem;font-weight:700}.wide-image,.side-image,.gallery-grid img{border-radius:8px;box-shadow:var(--shadow)}.wide-image{max-height:560px;object-fit:cover}.trust-section{background:var(--ink);color:var(--surface)}.trust-section .eyebrow{color:#ff6b5f}.trust-section p{color:#ffffffbd}.theme-list p{padding:22px;color:var(--ink)}.hours-section{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(28px,5vw,72px)}.hours-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-list details{padding:18px 20px}.faq-list summary{cursor:pointer;font-weight:850}.faq-list p{margin:12px 0 0;color:var(--muted)}.contact-band{background:var(--surface);border-top:1px solid var(--line)}.contact-band>img,.contact-page>img{min-height:460px;border-radius:8px;box-shadow:var(--shadow)}.page-hero{padding-bottom:clamp(32px,5vw,56px)}.page-hero.compact{min-height:auto}.services-page-grid,.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:0}.gallery-grid figure{margin:0}.gallery-grid figcaption{margin-top:10px;color:var(--muted);font-size:.92rem}.contact-page{min-height:calc(100dvh - 72px)}.contact-links{display:flex;flex-wrap:wrap;gap:14px}.contact-links a,.footer-links a{color:var(--steel);font-weight:800;text-decoration:underline;text-underline-offset:4px}.site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:34px clamp(18px,4vw,56px);background:var(--ink);color:var(--surface)}.site-footer p{margin:6px 0 0;color:#ffffffad}.footer-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end}.footer-links a{color:var(--surface)}.disclaimer{grid-column:1 / -1;max-width:82ch;font-size:.9rem}@media(max-width:980px){.site-header{grid-template-columns:1fr auto}nav{grid-column:1 / -1;grid-row:2;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.hero,.split-section,.trust-section,.contact-band,.contact-page,.hours-section{grid-template-columns:1fr}.hero-media{min-height:420px}.service-grid,.services-page-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.site-header{position:static;grid-template-columns:1fr;gap:12px}.brand strong,.brand small{white-space:normal}.header-call{width:100%}nav{gap:4px}nav a{padding:0 9px;font-size:.94rem}h1{max-width:11ch;font-size:clamp(2.8rem,16vw,4.8rem)}h2{max-width:14ch}.hero{min-height:auto}.hero-media,.contact-band>img,.contact-page>img{min-height:310px}.detail-list div,.hours-grid div,.service-grid,.services-page-grid,.gallery-grid,.hours-grid,.site-footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
