@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Geist:wght@300;400;500&family=Roboto+Mono:wght@400;500&display=swap";:root{--color-iris-gleam:#847dff;--color-cyan-signal:#00b3dd;--color-pale-iris:#d1c9ff;--color-deep-iris:#4b49aa;--color-orchid-bloom:#dd90d8;--color-periwinkle:#90b8f0;--color-obsidian:#0f1011;--color-abyss:#090a0b;--color-graphite:#2e2e2e;--color-steel:#3f4041;--color-silver:#cacaca;--color-fog:#6a6b6b;--color-ash:#9f9fa0;--color-cloud:#f5f5f7;--color-pure:#fff;--color-void:#000;--surface-0:var(--color-obsidian);--surface-1:var(--color-abyss);--surface-2:var(--color-graphite);--surface-3:var(--color-steel);--surface-4:var(--color-silver);--bg:var(--color-obsidian);--text:var(--color-pure);--muted:var(--color-ash);--line:#ffffff1f;--accent:var(--color-pure);--font-display:"DM Serif Display", "Lyon Display", Georgia, ui-serif, serif;--font-body:"Geist", "Suisse Int'l", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--text-mono-label:.75rem;--text-body-sm:.875rem;--text-body:1rem;--text-subheading:1.125rem;--text-heading-lg:clamp(2rem, 1.2rem + 3.4vw, 2.375rem);--text-display-sm:clamp(2.5rem, 1rem + 6.2vw, 5rem);--text-display:clamp(2.75rem, .9rem + 7.6vw, 6rem);--leading-display:.9;--leading-heading:.95;--leading-body:1.5;--tracking-mono:.182em;--spacing-4:4px;--spacing-8:8px;--spacing-12:12px;--spacing-16:16px;--spacing-20:20px;--spacing-24:24px;--spacing-32:32px;--spacing-40:40px;--spacing-48:48px;--spacing-60:60px;--spacing-68:68px;--spacing-100:100px;--spacing-120:120px;--spacing-140:140px;--container:1200px;--gutter:clamp(20px, 5vw, 40px);--section:clamp(72px, 9vw, 120px);--card-padding:var(--spacing-32);--element-gap:var(--spacing-12);--radius:16px;--radius-sm:8px;--radius-tile:30px;--radius-pill:9999px;--shadow-lg:#0003 0px 18px 20px 0px;--ease:cubic-bezier(.16, 1, .3, 1);--ease-atmos:cubic-bezier(.455, .03, .515, .955);--dur-state:.2s;--dur-atmos:2.5s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--color-steel) var(--color-obsidian)}body{background:var(--surface-0);color:var(--color-ash);font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--font-weight-regular);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--color-pure);color:var(--color-void)}:focus-visible{outline:2px solid var(--color-pure);outline-offset:3px;border-radius:2px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--font-weight-regular);color:var(--color-pure);line-height:var(--leading-heading);letter-spacing:-.015em;margin:0}h1{font-size:var(--text-display);line-height:var(--leading-display)}h2{font-size:var(--text-display-sm);line-height:1}h3{font-size:var(--text-heading-lg);line-height:var(--leading-heading)}p{margin:0}em{font-style:italic}.label{font-family:var(--font-mono);font-size:var(--text-mono-label);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--color-ash);line-height:2;display:block}.lead{font-size:var(--text-subheading);font-weight:var(--font-weight-light);line-height:var(--leading-body);color:var(--color-ash);max-width:56ch}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section)}.section--band{background:var(--surface-1)}.section-head{justify-items:center;gap:var(--spacing-20);max-width:62ch;margin-inline:auto;margin-bottom:var(--spacing-60);text-align:center;display:grid}.section-head .lead{max-width:52ch}.skip-link{z-index:100;padding:var(--spacing-12) var(--spacing-20);background:var(--color-pure);color:var(--color-void);border-radius:var(--radius-sm);position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--gutter);top:var(--spacing-12)}.reveal-mask{vertical-align:bottom;display:inline-block;overflow:hidden}.btn{align-items:center;gap:var(--spacing-8);border-radius:var(--radius-sm);font-size:var(--text-body);font-weight:var(--font-weight-regular);cursor:pointer;transition:background-color var(--dur-state) ease, color var(--dur-state) ease, border-color var(--dur-state) ease;border:1px solid #0000;padding:12px 18px;display:inline-flex}.btn--primary{background:var(--color-pure);color:var(--color-void)}.btn--primary:hover{background:var(--color-cloud)}.btn--ghost{color:var(--color-pure);background:0 0;border-color:#ffffff59;position:relative}.btn--ghost:hover{border-color:#0000}.btn-trace{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.btn-arrow{display:inline-block}.cta-link{align-items:center;gap:var(--spacing-8);font-size:var(--text-body-sm);color:var(--color-pure);transition:border-color var(--dur-state) ease;border-bottom:1px solid #ffffff40;padding-bottom:2px;display:inline-flex}.cta-link:hover{border-color:var(--color-pure)}.nav{z-index:50;-webkit-backdrop-filter:blur(24px);background:#0f1011b8;border-bottom:1px solid #ffffff14;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:var(--spacing-24);display:flex}.nav-brand{transform-origin:0;gap:1px;display:grid}.nav-brand-name{font-family:var(--font-display);color:var(--color-pure);letter-spacing:-.01em;font-size:1.0625rem;line-height:1.2}.nav-brand-sub{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-fog);font-size:.625rem;line-height:1.4}.nav-links{align-items:center;gap:var(--spacing-8);display:none}.nav-link{border-radius:var(--radius-sm);font-size:var(--text-body-sm);color:var(--color-ash);transition:background-color var(--dur-state) ease, color var(--dur-state) ease, border-color var(--dur-state) ease;border:1px solid #0000;padding:9px 12px}.nav-link:hover{color:var(--color-pure);background:#ffffff1a;border-color:#ffffff26}.nav-cta{flex-shrink:0}@media (width>=900px){.nav-links{display:flex}}.hero{padding-block:clamp(64px, 11vw, 140px) var(--section);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:linear-gradient(#2b2b2c8c,#0f101100 62%);position:absolute;inset:0}.hero-inner{text-align:center;justify-items:center;display:grid;position:relative}.hero-eyebrow{align-items:center;gap:var(--spacing-8);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-mono-label);font-weight:var(--font-weight-medium);letter-spacing:.016em;text-transform:uppercase;color:#fafafa;background:#ffffff1f;border:1px solid #ffffff26;padding:10px 22px;line-height:1;display:inline-flex}.hero-title{margin-top:var(--spacing-32);max-width:14ch}.hero-lead{margin-top:var(--spacing-32);max-width:35rem}.hero-actions{justify-content:center;gap:var(--spacing-12);margin-top:var(--spacing-40);flex-wrap:wrap;display:flex}.hero-meta{justify-content:center;gap:var(--spacing-8) var(--spacing-24);margin-top:var(--spacing-48);padding-top:var(--spacing-24);border-top:1px solid var(--line);flex-wrap:wrap;width:100%;max-width:44rem;display:flex}.hero-meta-item{font-family:var(--font-mono);font-size:var(--text-mono-label);letter-spacing:.016em;text-transform:uppercase;color:var(--color-fog)}.hero-meta-item strong{color:var(--color-cloud);font-weight:var(--font-weight-regular)}.trust{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:1px;display:grid;overflow:hidden}.trust-cell{background:var(--surface-0);padding:var(--spacing-24);gap:var(--spacing-4);align-content:start;display:grid}.trust-value{font-family:var(--font-display);font-size:var(--text-heading-lg);color:var(--color-pure);font-variant-numeric:tabular-nums;line-height:1}.trust-note{font-size:var(--text-body-sm);color:var(--color-fog)}@media (width>=760px){.trust{grid-template-columns:repeat(4,1fr)}}.tiles{grid-template-columns:1fr;gap:15px;display:grid}@media (width>=900px){.tiles{grid-template-columns:repeat(3,1fr)}}.tile{border-radius:var(--radius-tile);padding:var(--card-padding);gap:var(--spacing-12);min-height:260px;color:var(--color-void);align-content:space-between;display:grid}.tile--iris{background:var(--color-iris-gleam);color:var(--color-pure)}.tile--deep{background:var(--color-deep-iris);color:var(--color-pure)}.tile--periwinkle{background:var(--color-periwinkle)}.tile-title{font-family:var(--font-display);font-size:var(--text-heading-lg);line-height:var(--leading-heading);color:inherit}.tile-body{font-size:var(--text-body);line-height:var(--leading-body);color:inherit;opacity:.82;max-width:30ch}.tile-price{font-family:var(--font-mono);font-size:var(--text-mono-label);font-weight:var(--font-weight-medium);letter-spacing:.016em;text-transform:uppercase;color:inherit}.pricelist{border:1px solid var(--line);border-radius:var(--radius);margin-top:15px;overflow:hidden}.price-row{justify-content:space-between;align-items:baseline;gap:var(--spacing-20);padding:var(--spacing-20) var(--spacing-24);background:var(--surface-0);border-bottom:1px solid var(--line);transition:background-color var(--dur-state) ease;display:flex}.price-row:last-child{border-bottom:0}.price-row:hover{background:var(--surface-2)}.price-name{font-size:var(--text-subheading);font-weight:var(--font-weight-light);color:var(--color-cloud)}.price-desc{font-size:var(--text-body-sm);color:var(--color-fog);margin-top:2px}.price-amount{font-family:var(--font-mono);font-size:var(--text-body-sm);color:var(--color-ash);font-variant-numeric:tabular-nums;white-space:nowrap}.pricelist-note{margin-top:var(--spacing-16);font-size:var(--text-body-sm);color:var(--color-fog)}.steps{gap:var(--spacing-32);counter-reset:step;grid-template-columns:1fr;display:grid}@media (width>=860px){.steps{gap:var(--spacing-48);grid-template-columns:repeat(3,1fr)}}.step{gap:var(--spacing-12);align-content:start;display:grid}.step-n{font-family:var(--font-mono);font-size:var(--text-mono-label);letter-spacing:var(--tracking-mono);color:var(--color-fog);padding-bottom:var(--spacing-16);border-bottom:1px solid var(--line)}.step-title{font-family:var(--font-display);font-size:var(--text-heading-lg);color:var(--color-pure)}.step-body{font-size:var(--text-body);color:var(--color-ash);max-width:34ch}.about{gap:var(--spacing-48);align-items:center;display:grid}@media (width>=960px){.about{gap:var(--spacing-100);grid-template-columns:1fr .85fr}}.about-copy{gap:var(--spacing-24);display:grid}.about-copy p{color:var(--color-ash);max-width:52ch}.about-figure{border-radius:var(--radius-tile);background:var(--surface-2);overflow:hidden}.about-figure img{object-fit:cover;aspect-ratio:4/5;width:100%;height:100%}.about-list{gap:var(--spacing-12);margin:0;padding:0;list-style:none;display:grid}.about-list li{gap:var(--spacing-12);font-size:var(--text-body-sm);color:var(--color-ash);align-items:baseline;display:flex}.about-list li:before{content:"";background:var(--color-fog);flex:none;width:14px;height:1px;transform:translateY(-4px)}.reviews{grid-template-columns:1fr;gap:15px;display:grid}@media (width>=720px){.reviews{grid-template-columns:repeat(2,1fr)}}@media (width>=1020px){.reviews{grid-template-columns:repeat(3,1fr)}}.review{background:var(--surface-2);border-radius:var(--radius);padding:var(--card-padding);gap:var(--spacing-20);align-content:start;display:grid}.review-stars{font-family:var(--font-mono);font-size:var(--text-mono-label);letter-spacing:.25em;color:var(--color-cloud)}.review-quote{font-size:var(--text-body);color:var(--color-cloud);line-height:1.6}.review-author{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-fog);font-size:.6875rem;line-height:1.6}.review-author strong{color:var(--color-ash);font-weight:var(--font-weight-regular);display:block}.review--google{background:var(--surface-4);color:var(--color-void);align-content:space-between;gap:var(--spacing-24);transition:background-color var(--dur-state) ease}.review--google:hover{background:var(--color-pure)}.google-rating{font-family:var(--font-display);font-size:var(--text-display-sm);color:var(--color-void);font-variant-numeric:tabular-nums;line-height:.9}.google-stars{letter-spacing:.2em;color:var(--color-void);font-size:1rem}.google-count{font-family:var(--font-mono);font-size:var(--text-mono-label);letter-spacing:.016em;text-transform:uppercase;color:#3a3a3a}.google-link{align-items:center;gap:var(--spacing-8);font-size:var(--text-body-sm);color:var(--color-void);border-bottom:1px solid #0000004d;justify-self:start;padding-bottom:2px;display:inline-flex}.visit{gap:var(--spacing-48);align-items:start;display:grid}@media (width>=960px){.visit{gap:var(--spacing-60);grid-template-columns:.9fr 1.1fr}}.hours{gap:0;display:grid}.hours-row{justify-content:space-between;gap:var(--spacing-20);padding:var(--spacing-12) 0;border-bottom:1px solid var(--line);font-size:var(--text-body-sm);display:flex}.hours-row:last-child{border-bottom:0}.hours-day{color:var(--color-ash)}.hours-time{color:var(--color-cloud);font-variant-numeric:tabular-nums}.hours-row[data-closed=true] .hours-time{color:var(--color-fog)}.visit-facts{gap:var(--spacing-24);margin-top:var(--spacing-32);display:grid}.fact{gap:var(--spacing-4);display:grid}.fact-value{font-size:var(--text-subheading);font-weight:var(--font-weight-light);color:var(--color-cloud)}.map-frame{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);overflow:hidden}.map-frame iframe{border:0;width:100%;height:clamp(260px,30vw,360px);display:block}.visit-figure{border-radius:var(--radius);margin-top:15px;overflow:hidden}.visit-figure img{object-fit:cover;object-position:center 28%;width:100%;height:clamp(220px,26vw,320px)}.enquiry-panel{gap:var(--spacing-48);display:grid}@media (width>=960px){.enquiry-panel{gap:var(--spacing-100);grid-template-columns:.85fr 1fr}}.enquiry{gap:var(--spacing-20);max-width:34rem;display:grid}.enquiry-field{gap:var(--spacing-8);display:grid}.enquiry-field label{font-family:var(--font-mono);font-size:var(--text-mono-label);letter-spacing:.1em;text-transform:uppercase;color:var(--color-fog)}.enquiry input,.enquiry select,.enquiry textarea{border-radius:var(--radius-sm);background:var(--color-void);color:#fafafa;width:100%;font-family:var(--font-body);font-size:var(--text-body);transition:border-color var(--dur-state) ease;border:1px solid #fff3;padding:12px 22px}.enquiry input::placeholder,.enquiry textarea::placeholder{color:var(--color-fog)}.enquiry input:focus,.enquiry select:focus,.enquiry textarea:focus{border-color:#ffffff73;outline:none}.enquiry textarea{resize:vertical;min-height:7.5rem}.enquiry :disabled{opacity:.6}.enquiry-submit{border-radius:var(--radius-sm);background:var(--color-pure);color:var(--color-void);cursor:pointer;transition:background-color var(--dur-state) ease;border:0;justify-self:start;padding:12px 18px}.enquiry-submit:hover{background:var(--color-cloud)}.enquiry-submit:disabled{cursor:default}.enquiry-status:empty{display:none}.enquiry-status{font-size:var(--text-body-sm);color:var(--color-ash)}.enquiry-trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.enquiry-done-title{font-family:var(--font-display);font-size:var(--text-heading-lg)}.enquiry-done-body{margin-top:var(--spacing-8);color:var(--color-ash)}.enquiry-again{margin-top:var(--spacing-20);color:var(--color-ash);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.footer{background:var(--surface-1);border-top:1px solid var(--line);padding-block:var(--spacing-60)}.footer-inner{gap:var(--spacing-32);display:grid}@media (width>=820px){.footer-inner{gap:var(--spacing-48);grid-template-columns:1.2fr 1fr 1fr}}.footer-col{gap:var(--spacing-12);align-content:start;display:grid}.footer-col a{color:var(--color-ash);transition:color var(--dur-state) ease}.footer-col a:hover{color:var(--color-pure)}.footer-name{font-family:var(--font-display);font-size:var(--text-subheading);color:var(--color-pure)}.footer-bottom{margin-top:var(--spacing-48);padding-top:var(--spacing-24);border-top:1px solid var(--line);justify-content:space-between;gap:var(--spacing-12);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-fog);flex-wrap:wrap;font-size:.6875rem;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
