:root{--cream:#f6f1e7;--forest:#244438;--forest-deep:#17372c;--sage:#dce5d9;--terracotta:#a6533d;--blush:color-mix(in srgb, var(--terracotta) 12%, var(--cream));--surface-raised:color-mix(in srgb, var(--cream) 72%, var(--white));--field-border:#6c746f;--error:#8a2118;--terracotta-text:#7d3829;--charcoal:#252a26;--white:#fffdfa;--ink-soft:#46504a;--line:color-mix(in srgb, var(--forest) 18%, transparent);--line-strong:color-mix(in srgb, var(--forest) 28%, transparent);--serif:"Fraunces Variable", "Fraunces Fallback", Georgia, serif;--sans:"Source Sans 3 Variable", "Source Sans 3 Fallback", Arial, sans-serif;--step--1:clamp(.95rem, .91rem + .16vw, 1.05rem);--step-0:clamp(1.05rem, 1rem + .25vw, 1.18rem);--step-1:clamp(1.3rem, 1.1rem + .75vw, 1.75rem);--step-2:clamp(1.7rem, 1.3rem + 1.55vw, 2.6rem);--step-3:clamp(2.25rem, 1.8rem + 2vw, 4rem);--space-2xs:.35rem;--space-xs:.65rem;--space-sm:.9rem;--space:clamp(1.1rem, .8rem + 1vw, 2rem);--space-lg:clamp(1.5rem, 1rem + 2vw, 3rem);--section:clamp(4.5rem, 3rem + 6vw, 8.5rem);--section-compact:clamp(3rem, 2.25rem + 4vw, 5rem);--max:75rem;--gutter:clamp(1.25rem, .45rem + 3.4vw, 3.25rem);--champagne:#efe2c6;--ivory:#faf4e4;--radius-sm:.4rem;--radius-md:.75rem;--radius-lg:16px;--radius-pill:999px;--header-min:5.5rem;--header-offset:7.5rem;--shadow-header:0 10px 24px -22px color-mix(in srgb, var(--forest) 60%, transparent);--shadow-card:0 1px 2px #0f1e1814, 0 22px 44px -30px #0a18128c;--frame-edge:inset 0 0 0 1px #17372c14;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--motion-fast:.2s;--motion-base:.22s;--motion-reveal:.56s;--motion-enter:.64s}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:var(--header-offset)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@supports (view-transition-name:none){@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.16s;animation-timing-function:ease}}}body{color:var(--charcoal);background:var(--cream);font:400 var(--step-0)/1.65 var(--sans);text-rendering:optimizelegibility;margin:0;overflow-x:clip}body.nav-open{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.2em}button,input,textarea,select{font:inherit}:focus-visible{outline:3px solid var(--terracotta);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--forest);font-family:var(--serif);letter-spacing:-.025em;overflow-wrap:break-word;font-weight:560;line-height:1.1}h1{max-width:18ch;font-size:var(--step-3);text-wrap:balance;margin-bottom:.45em;line-height:1.04}h2{max-width:22ch;font-size:var(--step-2);text-wrap:balance;margin-bottom:.55em}h3{font-size:var(--step-1);text-wrap:balance;margin-bottom:.4em;line-height:1.18}p{text-wrap:pretty;max-width:62ch;margin-bottom:1em}main a:not([class]),.site-footer a:not([class]){text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);transition:color var(--motion-fast) ease, text-decoration-color var(--motion-fast) ease}main a:not([class]):hover{color:var(--terracotta-text);text-decoration-color:currentColor}.contact-band a:not([class]):hover,.site-footer a:not([class]):hover{color:var(--sage);text-decoration-color:currentColor}.skip-link{z-index:100;color:var(--white);background:var(--forest);padding:.7rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{z-index:20;min-height:var(--header-min);background:var(--cream);transition:background-color var(--motion-base) ease, border-color var(--motion-base) ease, box-shadow var(--motion-base) ease;border-bottom:1px solid #0000;padding-block:.75rem;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:var(--shadow-header)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-header.is-scrolled{background:color-mix(in srgb, var(--cream) 90%, transparent);backdrop-filter:saturate(1.2)blur(10px)}}body.nav-open .site-header{background:var(--cream)}.header-inner{grid-template-columns:minmax(13.5rem,1fr) auto minmax(13.5rem,1fr);align-items:center;gap:2rem;display:grid}.brand{color:var(--forest);align-items:center;text-decoration:none;display:inline-flex}.brand-lockup{width:clamp(11.5rem,14vw,13.5rem);display:block}.desktop-nav{justify-content:center;gap:clamp(.7rem,1.5vw,1.8rem);display:flex}.desktop-nav a,.language{font-size:.92rem;font-weight:650;text-decoration:none}.language{border-radius:var(--radius-pill);min-width:2.75rem;min-height:2.75rem;color:var(--forest);letter-spacing:.06em;transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease;place-items:center;padding:.45rem .6rem;display:inline-grid}.language:hover{color:var(--terracotta-text);background:color-mix(in srgb, var(--sage) 70%, transparent)}.desktop-nav a{color:var(--forest);white-space:nowrap;transition:color var(--motion-fast) ease;padding:.7rem .15rem;position:relative}.desktop-nav a:hover{color:var(--terracotta-text)}.desktop-nav a:after{background:var(--terracotta);transform-origin:0;height:2px;transition:transform var(--motion-fast) ease;content:"";position:absolute;bottom:.35rem;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.desktop-nav a.active:after{transform:scaleX(1)}.desktop-nav a:hover:after{background:color-mix(in srgb, var(--terracotta) 70%, transparent)}.desktop-nav a.active:after{background:var(--terracotta)}.header-actions{justify-self:end;align-items:center;gap:1rem;display:flex}.button{border:1px solid var(--forest);isolation:isolate;border-radius:var(--radius-pill);min-height:3.2rem;color:var(--white);background-color:var(--forest);background-image:linear-gradient(135deg, #34604f 0%, var(--forest) 48%, #1b3a2f 100%);text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease, box-shadow .3s var(--ease-out), transform .3s var(--ease-out);justify-content:center;align-items:center;padding:.7rem 1.35rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1f}.button:not(.button-secondary):before{z-index:-1;border-radius:inherit;pointer-events:none;content:"";background:linear-gradient(105deg,#efe2c600 30%,#f5e8cc61 50%,#efe2c600 70%);position:absolute;inset:0;transform:translate(-115%)}.button:hover{border-color:var(--forest-deep);box-shadow:inset 0 1px #ffffff1f,inset 0 0 0 100px #081c141a}.button:active{transition-duration:90ms;transform:translateY(0)scale(.975);box-shadow:inset 0 0 0 100px #081c1433}.button:disabled{cursor:progress;opacity:.62;box-shadow:none;transform:none}.button:disabled:before{display:none}@media (hover:hover) and (pointer:fine){.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:inset 0 1px #ffffff1f,inset 0 0 0 100px #081c1414,0 14px 26px -16px #17372cbf}.button:not(.button-secondary):hover:not(:disabled):before{transition:transform .8s var(--ease-out);transform:translate(115%)}.button:active:not(:disabled){transform:translateY(0)scale(.975);box-shadow:inset 0 0 0 100px #081c1433}}.button:focus-visible,.button-secondary:focus-visible,.nav-toggle:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}.contact-band .button:focus-visible,.site-footer a:focus-visible,.contact-band a:focus-visible{outline-color:var(--cream)}.contact-band .enquiry-form .button:focus-visible,.contact-band .enquiry-form a:focus-visible,.contact-band .quote-choice .button:focus-visible{outline-color:var(--terracotta)}.button-secondary{color:var(--forest);background:0 0}.button-secondary:hover,.button-secondary:active{color:var(--white);background:var(--forest);border-color:var(--forest)}.contact-band .intro-grid>.hero-actions .button{color:var(--forest);background:var(--cream);border-color:var(--cream)}.contact-band .intro-grid>.hero-actions .button:hover,.contact-band .intro-grid>.hero-actions .button:active{background:var(--white);border-color:var(--white)}.contact-band .intro-grid>.hero-actions .button-secondary{color:var(--white);border-color:color-mix(in srgb, var(--white) 70%, transparent);background:0 0}.contact-band .intro-grid>.hero-actions .button-secondary:hover,.contact-band .intro-grid>.hero-actions .button-secondary:active{color:var(--forest);background:var(--cream);border-color:var(--cream)}.button-small{min-height:2.75rem;padding-inline:1.15rem;font-size:.9rem}.text-link{min-height:2.75rem;color:var(--forest);transition:color var(--motion-fast) ease, background-size var(--motion-base) var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:0 calc(100% - .45rem);background-repeat:no-repeat;background-size:0 1px;align-items:center;gap:.35rem;font-weight:700;text-decoration:none;display:inline-flex}.text-link:hover,.text-link:focus-visible{color:var(--terracotta-text);background-size:100% 1px}.text-link:active{color:var(--terracotta-text)}.text-link:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}.nav-toggle{border:1px solid var(--forest);border-radius:var(--radius-pill);min-width:4.9rem;height:2.75rem;min-height:2.75rem;color:var(--forest);background:var(--cream);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--motion-fast) ease, color var(--motion-fast) ease;justify-content:center;align-items:center;gap:.55rem;padding:.45rem .8rem;display:none}.nav-toggle:hover,.nav-toggle:active{background:var(--sage)}.nav-toggle[aria-expanded=true]{color:var(--white);background:var(--forest)}.nav-toggle-text{font-size:.8rem;font-weight:700}.nav-toggle-icon{align-content:center;gap:.3rem;width:1rem;height:.75rem;display:grid}.nav-toggle-icon i{height:2px;transition:transform var(--motion-base) var(--ease-out);background:currentColor;border-radius:1px;display:block}.nav-toggle[aria-expanded=true] .nav-toggle-icon i:first-child{transform:translateY(.2rem)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-icon i:last-child{transform:translateY(-.2rem)rotate(-45deg)}.mobile-nav{--nav-close:.2s;height:calc(100vh - var(--nav-top,var(--header-min)));height:calc(100dvh - var(--nav-top,var(--header-min)));overscroll-behavior:contain;padding:clamp(1rem, 4vw, 2rem) max(var(--gutter), env(safe-area-inset-right)) max(2.5rem, calc(env(safe-area-inset-bottom) + 1.5rem)) max(var(--gutter), env(safe-area-inset-left));background:radial-gradient(120% 70% at 100% 0%, color-mix(in srgb, var(--sage) 55%, transparent), transparent 70%), linear-gradient(180deg, color-mix(in srgb, var(--sage) 22%, var(--cream)), var(--cream) 55%);background-color:var(--cream);border-top:1px solid var(--line);visibility:hidden;opacity:0;transition:opacity var(--nav-close) var(--ease-in-out), transform var(--nav-close) var(--ease-in-out), visibility 0s linear var(--nav-close);grid-column:1/-1;position:absolute;inset:100% 0 auto;overflow-y:auto;transform:translateY(-10px)}.mobile-nav.is-open{visibility:visible;opacity:1;transition:opacity .3s var(--ease-out), transform .3s var(--ease-out), visibility 0s;transform:none}.mobile-nav nav{width:min(100%,40rem);margin-inline:auto;display:grid}.mobile-nav nav>*{--nav-item:opacity var(--nav-close) ease, translate var(--nav-close) ease;opacity:0;transition:var(--nav-item);translate:0 4px}.mobile-nav.is-open nav>*{--nav-item:opacity .22s var(--ease-out) calc(40ms + var(--i,0) * 28ms), translate .22s var(--ease-out) calc(40ms + var(--i,0) * 28ms);opacity:1;translate:none}.mobile-nav nav>a:not(.button){border-bottom:1px solid var(--line);min-height:3.5rem;color:var(--forest);font:550 clamp(1.45rem, 1.2rem + 1.2vw, 1.8rem)/1.2 var(--serif);letter-spacing:-.02em;-webkit-tap-highlight-color:transparent;transition:color var(--motion-fast) ease, var(--nav-item);align-items:center;padding:.85rem .15rem;text-decoration:none;display:flex}.mobile-nav nav>.button{transition:background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease, box-shadow .3s var(--ease-out), transform .3s var(--ease-out), var(--nav-item)}.mobile-nav nav>a:not(.button):hover,.mobile-nav nav>a:not(.button):active{color:var(--terracotta-text)}.mobile-nav nav>a:not(.button).active{color:var(--terracotta-text);border-bottom-color:color-mix(in srgb, var(--terracotta) 55%, transparent)}.mobile-nav .button{justify-self:start;margin-top:1.5rem}@media (height<=520px){.mobile-nav{padding-top:.5rem;padding-bottom:max(1.25rem, env(safe-area-inset-bottom))}.mobile-nav nav>a:not(.button){min-height:2.9rem;padding-block:.5rem;font-size:1.3rem}.mobile-nav .button{margin-top:1rem}}.wrap{width:min(calc(100% - (var(--gutter) * 2)), var(--max));margin-inline:auto}.section{padding-block:var(--section)}.section-soft{background:var(--sage)}.eyebrow{color:var(--terracotta-text);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.65rem;font-size:.78rem;font-weight:750;display:flex}.eyebrow:before{content:"";background:currentColor;flex:none;width:2.3rem;height:1px}.eyebrow{margin-bottom:.9rem}.hero{background:radial-gradient(58% 72% at 90% 22%, #d4dfcdcc 0%, #dce5d900 70%), radial-gradient(46% 60% at 2% 100%, #efe2c699 0%, #efe2c600 72%), linear-gradient(180deg, var(--cream) 0%, #f3eee1 100%);padding:clamp(2.75rem,5.5vw,5.25rem) 0 clamp(3.25rem,6vw,5.75rem);overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(18rem,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.hero-copy .eyebrow{margin-bottom:1rem}.hero-copy h1{margin-bottom:clamp(1rem,.8rem + .6vw,1.35rem)}.hero-copy .lead{max-width:34rem;margin-bottom:0;font-size:clamp(1.0625rem,1rem + .2vw,1.22rem);line-height:1.62}.hero-copy>p:not(.eyebrow):not(.lead){max-width:34rem;margin-top:.9rem;margin-bottom:0}.hero-copy>.contact-channels{margin-top:1.25rem}@media (prefers-reduced-motion:no-preference){.hero-copy .eyebrow:before{transform-origin:0;animation:hero-line .7s var(--ease-out) both}.hero-copy h1{animation:hero-rise .76s var(--ease-out) 40ms both}.hero-copy .lead,.hero-copy .hours-note,.hero-copy>p:not(.eyebrow):not(.lead),.hero-copy>.contact-channels{animation:hero-rise .72s var(--ease-out) .15s both}.hero-copy .hero-actions,.hero-copy>.button{animation:hero-actions-in .7s var(--ease-out) .25s both}.hero-note{animation:.6s .45s both hero-fade}}@keyframes hero-line{0%{transform:scaleX(0)}to{transform:none}}@keyframes hero-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes hero-actions-in{0%{transform:translateY(12px)}to{transform:none}}@keyframes hero-fade{0%{opacity:0}to{opacity:1}}.hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:clamp(1.5rem,1.2rem + 1vw,2rem);display:flex}.hero-copy>.button{margin-top:clamp(1.5rem,1.2rem + 1vw,2rem)}.hero-actions .button,.hero-actions .text-link{min-height:2.75rem}.hero-visual{gap:.8rem;min-width:0;display:grid}.hero-media{aspect-ratio:1;border-radius:var(--radius-lg);contain:layout;isolation:isolate;background:linear-gradient(160deg,#e4eadf,#cfd9ca);width:100%;position:relative;overflow:hidden;box-shadow:0 34px 60px -42px #2444388c,0 2px 6px -3px #2444382e}.hero-media:after,.story-media:after{z-index:1;border-radius:inherit;box-shadow:var(--frame-edge);pointer-events:none;content:"";position:absolute;inset:0}.hero-media .media-drift,.story-media .media-drift{position:absolute;inset:0}.hero-media img{object-fit:cover;object-position:var(--hero-object-position,50% 50%);width:100%;max-width:none;height:100%;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.hero-media img{animation:hero-media-settle 1.1s var(--ease-out) backwards}}@keyframes hero-media-settle{0%{clip-path:inset(5% round 12px);opacity:.4;transform:scale(1.06)}60%{opacity:1}to{clip-path:inset(0);transform:none}}@media (width>=901px) and (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.hero-media.is-drift .media-drift,.story-media .media-drift{animation:linear both media-drift view();animation-range:cover;inset:-12px 0}}}@keyframes media-drift{0%{transform:translateY(10px)}to{transform:translateY(-10px)}}.hero-note{color:color-mix(in srgb, var(--forest) 78%, var(--cream));margin:0;padding-left:.15rem;font-size:.85rem;line-height:1.45}.hours-note{max-width:34rem;margin:0 0 1rem}.story-passage{padding-block:var(--section-compact)}.story-passage--sage{background:var(--sage)}.story-passage-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);display:grid}.story-passage--image-start .story-passage-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.story-passage--image-start .story-passage-copy{order:2}.story-passage--image-start .story-figures{order:1}.story-passage-copy{max-width:36rem}.story-passage-copy h2{text-wrap:balance;max-width:16ch}.story-passage-copy p{max-width:42rem}.story-passage-copy ul,.story-passage-copy ol{padding-left:1.2rem}.story-passage-copy .button{margin-top:.6rem}.story-figures{gap:1rem;display:grid}.story-frame{width:100%;max-width:32rem;margin:0}.story-media{border-radius:var(--radius-lg);aspect-ratio:var(--story-ratio,4 / 5);background:var(--sage);isolation:isolate;position:relative;overflow:hidden;box-shadow:0 34px 60px -42px #24443880,0 2px 6px -3px #24443829}.story-frame img{width:100%;aspect-ratio:var(--story-ratio,4 / 5);object-fit:cover;object-position:var(--story-focal,50% 50%)}.story-media img{aspect-ratio:auto;max-width:none;height:100%;position:absolute;inset:0}.story-frame figcaption{max-width:52ch;color:color-mix(in srgb, var(--forest) 85%, var(--cream));margin-top:.75rem;padding-left:.15rem;font-size:.85rem;line-height:1.4}.service-showcase{padding-block:var(--section-compact)}.service-showcase--sage{background:var(--sage)}.service-showcase-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);display:grid}.service-showcase-copy h2{text-wrap:balance;max-width:16ch}.service-showcase-copy p{max-width:42rem}.service-showcase-copy ul,.service-showcase-copy ol{padding-left:1.2rem}.service-showcase-figures{grid-template-columns:1fr 1fr;gap:1rem;min-width:0;display:grid}.service-showcase-frame{min-width:0;margin:0}.service-showcase-media{border-radius:var(--radius-md);background:color-mix(in srgb, var(--sage) 60%, var(--cream));position:relative;overflow:hidden}.service-showcase-media:after{border-radius:inherit;box-shadow:var(--frame-edge);pointer-events:none;content:"";position:absolute;inset:0}.service-showcase-media img{width:100%;aspect-ratio:var(--showcase-ratio,4 / 5);object-fit:cover;object-position:var(--story-focal,50% 50%)}.service-showcase-frame figcaption{color:var(--forest);margin-top:.6rem;font-size:.82rem;line-height:1.4}.cafe-menu{padding-block:var(--section-compact);background:var(--blush);border-block:1px solid var(--line)}.cafe-menu-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);display:grid}.cafe-menu-intro h2{text-wrap:balance;max-width:14ch}.cafe-menu-invite{max-width:36rem;color:var(--forest);font-family:var(--serif);font-size:var(--step-1);font-weight:520;line-height:1.35}.cafe-menu-caveat{max-width:40rem;color:color-mix(in srgb, var(--forest) 78%, var(--cream));font-size:.95rem}.cafe-menu-item{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:.45rem 1.25rem;padding:1.2rem 0;display:grid}.cafe-menu-item h3,.cafe-menu-item p{margin:0}.cafe-menu-item p:not(.cafe-menu-price){grid-column:1/-1}.cafe-menu-price{color:var(--terracotta-text);font-family:var(--serif);letter-spacing:-.02em;white-space:nowrap;grid-area:1/2;margin:0;font-size:1.15rem;font-weight:560}.story-reading{gap:2.25rem;max-width:66ch;display:grid}.story-reading p{max-width:none}.process-grid{grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);display:grid}.process-steps{counter-reset:step;margin:1.25rem 0 0;padding:0;list-style:none}.process-steps li{border-bottom:1px solid var(--line);counter-increment:step;grid-template-columns:2.6rem minmax(0,1fr);align-items:baseline;gap:.9rem;padding-block:1rem;display:grid}.process-steps li:first-child{padding-top:.35rem}.process-steps li:before{color:var(--terracotta-text);font:italic 500 1.25rem/1 var(--serif);letter-spacing:-.01em;content:counter(step, decimal-leading-zero)}.section-order{padding-block:var(--section-compact)}.order-note{grid-column:1/-1;grid-template-columns:.85fr 1.15fr;align-items:baseline;gap:.75rem clamp(2rem,7vw,7rem);display:grid}.order-note h2,.order-note p{margin:0}.season-notice{color:var(--forest);background:var(--sage);border-bottom:1px solid var(--line);padding:1.15rem 0 1.25rem}.season-notice-inner{flex-wrap:wrap;align-items:end;gap:.85rem 2.75rem;display:flex}.season-notice-copy{flex:0 auto;gap:.4rem;min-width:0;max-width:54ch;display:grid}.season-notice-copy .eyebrow{margin:0}.season-notice-message{color:var(--charcoal);font-size:var(--step--1);margin:0}.season-notice-action{flex:0 auto;max-width:36rem;display:inline}.season-notice-action span[aria-hidden=true]{white-space:nowrap}.season-notice-action.text-link{background-position:0 100%}.intro-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:start;gap:clamp(1.75rem,5vw,5.5rem);display:grid}.intro-grid>div:first-child h2{margin-bottom:0}.services{isolation:isolate;background:linear-gradient(172deg, #e2e9dd 0%, var(--sage) 46%, #d3ddcf 100%);padding-block:clamp(4.25rem,3rem + 5vw,7.5rem);position:relative;overflow:hidden}.services:before,.services:after{z-index:-1;pointer-events:none;width:120%;height:150%;animation:services-drift-a 22s var(--ease-in-out) infinite alternate;content:"";position:absolute}.services:before{background:radial-gradient(closest-side,#faf3e2e6 0%,#f7eed780 42%,#f7eed700 100%);top:-45%;left:-40%}.services:after{background:radial-gradient(closest-side,#aab48a80 0%,#b2bc943d 45%,#b2bc9400 100%);animation-name:services-drift-b;animation-duration:19s;bottom:-60%;right:-45%}.services.is-ambient-paused:before,.services.is-ambient-paused:after{animation-play-state:paused}@keyframes services-drift-a{0%{opacity:.85;transform:translate(0,0)scale(1)}to{opacity:1;transform:translate(7%,5%)scale(1.08)}}@keyframes services-drift-b{0%{opacity:1;transform:translate(0,0)scale(1.05)}to{opacity:.75;transform:translate(-8%,-6%)scale(1)}}.services .intro-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5.5rem)}.services .intro-grid>div:first-child{padding-top:clamp(1.3rem,1rem + .8vw,1.8rem)}.services h2{max-width:20ch;font-size:clamp(1.9rem,1.45rem + 1.4vw,2.65rem);line-height:1.08}.service-list{border-top:1px solid var(--line-strong)}.service-row{--row-ease:cubic-bezier(.16, 1, .3, 1);isolation:isolate;color:inherit;background:linear-gradient(var(--line-strong), var(--line-strong)) left bottom / 100% 1px no-repeat;-webkit-tap-highlight-color:transparent;grid-template-columns:2.75rem minmax(0,1fr) 2rem;align-items:baseline;gap:clamp(.75rem,2vw,1.75rem);padding:clamp(1.4rem,1.1rem + .9vw,1.9rem) clamp(.4rem,.2rem + .8vw,.9rem);text-decoration:none;display:grid;position:relative}.service-row:before{z-index:-1;opacity:0;transition:opacity .42s var(--row-ease), transform .42s var(--row-ease);content:"";background:linear-gradient(90deg,#fbf6e8 0%,#f6f1e1d9 26%,#e4ebdc80 62%,#dce5d900 100%);position:absolute;inset:0;transform:translate(-24px)}.service-row:after{background:var(--forest);transform-origin:0;height:1px;transition:transform .52s var(--row-ease);content:"";position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.service-row>div{transition:transform .42s var(--row-ease)}.service-row>span:first-child{transition:color .42s var(--row-ease);color:var(--terracotta-text);font:italic 500 1.1rem/1 var(--serif);font-variant-numeric:lining-nums tabular-nums;letter-spacing:.02em}.service-row h3{margin-bottom:.35rem;font-size:clamp(1.35rem,1.15rem + .8vw,1.85rem)}.service-row p{color:color-mix(in srgb, var(--charcoal) 90%, var(--forest));margin:0}.service-row>strong{color:var(--forest);transition:transform .42s var(--row-ease), color .42s var(--row-ease);place-self:center end;font-size:1.5rem;font-weight:400;line-height:1}.service-row:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}.service-row:focus-visible:before{opacity:1;transform:none}.service-row:focus-visible:after{transform:scaleX(1)}.service-row:focus-visible>div{transform:translate(6px)}.service-row:focus-visible>strong{color:var(--terracotta-text);transform:translate(8px)}.service-row:active:before,.service-row:active:after,.service-row:active>div,.service-row:active>strong{transition-duration:90ms}.service-row:active:before{opacity:1;transform:none}.service-row:active:after{transform:scaleX(1)}.service-row:active>div{transform:translate(6px)}.service-row:active>strong{color:var(--terracotta-text);transform:translate(8px)}@media (hover:hover) and (pointer:fine){.service-row:hover:before{opacity:1;transform:none}.service-row:hover:after{transform:scaleX(1)}.service-row:hover>div{transform:translate(6px)}.service-row:hover>span:first-child{color:var(--terracotta)}.service-row:hover>strong{color:var(--terracotta-text);transform:translate(8px)}}.motion-ready .services .service-row{transition:opacity .6s var(--ease-out), transform .6s var(--ease-out)}.motion-ready .services:not(.is-visible) .service-row{opacity:0;transform:translateY(14px)}.motion-ready .services .service-row:nth-child(2){transition-delay:90ms}.motion-ready .services .service-row:nth-child(3){transition-delay:.18s}.contact-channels{gap:1.25rem;display:grid}.contact-channel{gap:.2rem;display:grid}.contact-channel-label{color:var(--terracotta-text);letter-spacing:.04em;margin:0 0 .15rem;font-size:.78rem;font-weight:750}.contact-channels a{display:block}.contact-band .contact-channel-label,.site-footer .contact-channel-label{color:var(--sage)}.intro-contacts .contact-channels{margin:1rem 0 0}.intro-contacts .contact-channels a{color:var(--forest);font-weight:700;text-decoration:none}.page-hero{border-bottom:1px solid var(--line);padding:clamp(2.4rem,6vw,6rem) 0 clamp(3.5rem,7vw,7rem)}.page-hero-compact{padding-block:clamp(1.15rem,2vw,1.85rem)}.page-hero .lead{max-width:40rem;font-size:clamp(1.05rem,1rem + .25vw,1.2rem)}.page-hero-compact+.contact-band{padding-top:clamp(1.5rem,3vw,2.5rem)}.content-grid{grid-template-columns:repeat(12,1fr);gap:clamp(1.5rem,3vw,3rem);display:grid}.content-grid .content-block{grid-column:span 4}.content-block{border-top:2px solid var(--forest);padding-top:1.5rem}.content-index{color:var(--terracotta-text);font:italic 500 1rem var(--serif);margin-bottom:.9rem;display:block}.content-block ul{padding-left:1.2rem}.contact-band{color:var(--white);background:var(--forest)}.contact-band h2,.contact-band h3{color:var(--white)}.contact-band .eyebrow{color:var(--sage)}.contact-grid{grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,7vw,7rem);display:grid}.contact-form-single{width:min(calc(100% - (var(--gutter) * 2)), 50rem)}.contact-list{gap:1rem;display:grid}.contact-list a{display:block}.enquiry-form{color:var(--charcoal);background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:clamp(1.25rem,3.5vw,2.5rem);position:relative}.enquiry-form h2,.enquiry-form h3{color:var(--forest);margin-bottom:.45em}.enquiry-form>.form-note[data-form-intro]{margin-bottom:1.5rem}.enquiry-form label{color:var(--charcoal)}.enquiry-form a{color:var(--terracotta-text)}.contact-band .enquiry-form a:not([class]):hover{color:var(--forest)}.enquiry-form .form-note{color:var(--ink-soft)}.enquiry-form>.form-grid+.form-note{margin-top:.5rem}.enquiry-form>.button[type=submit]{min-width:10rem;margin-top:.35rem;position:relative}.enquiry-form[aria-busy=true]>.button[type=submit]{padding-right:2.9rem}.enquiry-form[aria-busy=true]>.button[type=submit]:after{border:2px solid color-mix(in srgb, var(--white) 35%, transparent);border-top-color:var(--white);content:"";border-radius:50%;width:1.05rem;height:1.05rem;margin-top:-.525rem;animation:.8s linear infinite form-spin;position:absolute;top:50%;right:1.1rem}@keyframes form-spin{to{transform:rotate(360deg)}}.quote-choice{display:none}.quote-choice:target{color:var(--charcoal);background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:clamp(1.25rem,4vw,2.5rem);display:block}.quote-choice:target+.enquiry-form{display:none}.quote-choice h2{color:var(--forest);margin:0 0 1rem}.quote-choice .hero-actions{margin-top:0}.field-hint{color:var(--ink-soft);margin:.35rem 0 0;font-size:.84rem}.field-hint[hidden]{display:none}.turnstile-field{align-content:start}.turnstile-widget{max-width:100%;min-height:65px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.15rem;display:grid}.field{align-content:start;gap:.4rem;min-width:0;display:grid}.field-full{grid-column:1/-1}.field label,.field>span:not(.field-error){font-size:.9rem;font-weight:700;line-height:1.35}.field input,.field textarea,.field select{border:1px solid var(--field-border);border-radius:var(--radius-sm);width:100%;min-height:3rem;color:var(--charcoal);background:color-mix(in srgb, var(--white) 70%, var(--cream));transition:border-color var(--motion-fast) ease, background-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;padding:.7rem .9rem}.field input::placeholder,.field textarea::placeholder{color:#6a726d;opacity:1}.field input:hover,.field textarea:hover,.field select:hover,.date-picker-toggle:hover{border-color:var(--forest)}.field input:focus,.field textarea:focus,.field select:focus,.date-picker-toggle:focus{background:var(--white)}.enquiry-form[aria-busy=true] .button{cursor:progress}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible,.date-picker-toggle:focus-visible,.date-picker-nav:focus-visible,.date-picker-day:focus-visible,.date-picker-text-action:focus-visible{border-color:var(--forest);outline:2px solid var(--terracotta);outline-offset:2px}.date-picker{position:relative}.date-picker.is-open{z-index:6}.date-picker.is-enhanced .date-picker-native{clip:rect(0 0 0 0);opacity:0;pointer-events:none;border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}.date-picker-toggle{border:1px solid var(--field-border);border-radius:var(--radius-sm);width:100%;min-height:3rem;color:var(--charcoal);background:color-mix(in srgb, var(--white) 70%, var(--cream));font:inherit;text-align:left;cursor:pointer;transition:border-color var(--motion-fast) ease, background-color var(--motion-fast) ease;padding:.7rem .9rem;display:none}.date-picker.is-enhanced .date-picker-toggle{justify-content:space-between;align-items:center;gap:.75rem;display:inline-flex}.date-picker-toggle.is-empty{color:#5d6660}.date-picker-icon{color:var(--forest);flex:none}.date-picker-dialog{border:1px solid var(--line);border-radius:var(--radius-md);width:min(20.75rem,100vw - 2.5rem);color:var(--charcoal);background:var(--white);padding:.9rem;position:absolute;top:calc(100% + .45rem);left:0;box-shadow:0 18px 40px -24px #17372c73}.date-picker-toolbar{grid-template-columns:2.75rem 1fr 2.75rem;align-items:center;gap:.4rem;margin-bottom:.7rem;display:grid}.date-picker-heading{color:var(--forest);font-family:var(--serif);letter-spacing:-.02em;text-align:center;text-transform:lowercase;margin:0;font-size:1.15rem;font-weight:560}[lang=en] .date-picker-heading{text-transform:none}.date-picker-nav{border:1px solid var(--line);width:2.75rem;height:2.75rem;color:var(--forest);background:var(--cream);cursor:pointer;transition:background-color var(--motion-fast) ease, border-color var(--motion-fast) ease;border-radius:50%;font-size:1.35rem;line-height:1}.date-picker-nav:hover{border-color:var(--forest);background:var(--sage)}.date-picker-weekdays,.date-picker-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.date-picker-weekdays{color:var(--terracotta-text);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin-bottom:.35rem;font-size:.72rem;font-weight:750}.date-picker-day{border-radius:var(--radius-sm);min-height:2.55rem;color:var(--charcoal);font:inherit;cursor:pointer;background:0 0;border:0;transition:background-color .14s,color .14s}.date-picker-day:disabled{visibility:hidden;cursor:default}.date-picker-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 2px var(--terracotta)}.date-picker-day.is-selected{color:var(--white);background:var(--forest)}@media (hover:hover) and (pointer:fine){.date-picker-day:not(:disabled):hover{background:var(--sage)}.date-picker-day.is-selected:hover{background:var(--forest)}}.date-picker-actions{justify-content:space-between;gap:.75rem;margin-top:.65rem;display:flex}.date-picker-text-action{min-height:2.75rem;color:var(--forest);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}@media (prefers-reduced-motion:no-preference){.date-picker-dialog{opacity:0;transform:translateY(6px)}.date-picker.is-open .date-picker-dialog{opacity:1;transition:opacity .16s ease, transform .16s var(--ease-out);transform:none}@starting-style{.date-picker.is-open .date-picker-dialog{opacity:0;transform:translateY(6px)}}}.field textarea{resize:vertical;min-height:8.5rem;line-height:1.5}.field [aria-invalid=true],.field [aria-invalid=true]:hover{background:color-mix(in srgb, #f6e7e3 45%, var(--white));border-color:#a12c20;box-shadow:inset 0 0 0 1px #a12c20}.field-error{min-height:1.35em;color:var(--error);font-size:.84rem;font-weight:650;line-height:1.35}.form-note,.form-status{font-size:.92rem}.form-status{border-left:4px solid var(--forest);border-radius:var(--radius-sm);color:var(--charcoal);background:color-mix(in srgb, var(--sage) 70%, var(--white));margin-bottom:1rem;padding:.85rem 1rem}.form-status:focus{outline:none}.form-status:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.enquiry-form[aria-busy=true] .form-status{border-left-color:var(--field-border);background:var(--cream)}.form-status[role=alert]{border-left-color:var(--error);color:var(--error);background:#f6e7e3;font-weight:600}@media (prefers-reduced-motion:no-preference){.form-status:not([hidden]){animation:status-in .22s var(--ease-out)}}@keyframes status-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.conditional[hidden]{display:none}.gallery-section{padding-top:.85rem}.gallery-group+.gallery-group{margin-top:clamp(2.5rem,5vw,4rem)}.gallery-group-heading{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem 1.5rem;margin-bottom:1.15rem;padding-bottom:.7rem;display:flex}.gallery-group-heading h2{margin:0}.gallery-group-heading a{color:var(--forest);font-weight:700}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem 1.15rem;display:grid}.gallery-item{margin:0}.gallery-open{cursor:zoom-in;background:0 0;border:0;border-radius:12px;width:100%;padding:0;display:block}.gallery-thumb{border-radius:12px;display:block;overflow:hidden}.gallery-open img{width:100%;aspect-ratio:var(--thumb-ratio,1 / 1);object-fit:cover;object-position:var(--focal,50% 50%);transition:transform .26s}.gallery-item figcaption{color:var(--forest);padding:.55rem .2rem;font-size:.88rem}.gallery-open:focus-visible{outline-offset:5px}.gallery-dialog{overscroll-behavior:contain;width:min(92vw,68rem);max-height:92dvh;color:var(--charcoal);background:var(--cream);border:0;border-radius:.7rem;padding:3.6rem 1rem 1rem;overflow:auto}.gallery-dialog[open]{flex-direction:column;display:flex}@media (prefers-reduced-motion:no-preference){.gallery-dialog{opacity:0;transition:opacity .18s,transform .18s;transform:scale(.985)}.gallery-dialog[open]{opacity:1;transform:none}@starting-style{.gallery-dialog[open]{opacity:0;transform:scale(.985)}}.gallery-dialog::backdrop{background:#141f1a00;transition:background .18s}.gallery-dialog[open]::backdrop{background:#141f1ac7}}.gallery-dialog::backdrop{background:#141f1ac7}.gallery-dialog figure{flex-direction:column;flex:auto;min-height:0;margin:0;display:flex;overflow:auto}.gallery-dialog img{object-fit:contain;flex:0 auto;width:100%;height:auto;min-height:min(9rem,35vh);margin-inline:auto}.gallery-dialog figcaption{text-align:center;flex:none;margin-top:.65rem;font-size:.85rem}.gallery-toolbar{flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-top:.85rem;display:grid}.gallery-prev,.gallery-next{border:1px solid var(--forest);min-height:2.75rem;color:var(--forest);background:var(--white);cursor:pointer;border-radius:999px;padding:.5rem .9rem;font-weight:700}.gallery-prev,.gallery-next,.gallery-close{transition:background-color var(--motion-fast) ease, color var(--motion-fast) ease}.gallery-prev:hover,.gallery-next:hover,.gallery-close:hover{background:var(--sage)}.gallery-prev:active,.gallery-next:active,.gallery-close:active{background:color-mix(in srgb, var(--sage) 70%, var(--forest))}.gallery-prev{justify-self:start}.gallery-next{justify-self:end}.gallery-counter{text-align:center;margin:0;font-size:.9rem;font-weight:700}.gallery-close{border:1px solid var(--forest);width:2.75rem;height:2.75rem;color:var(--forest);background:var(--white);cursor:pointer;border-radius:50%;font-size:1.5rem;line-height:1;position:absolute;top:.45rem;right:.65rem}.site-footer{padding:4rem max(var(--gutter), calc((100vw - var(--max)) / 2)) 1.5rem;color:var(--white);background:#19362d}.site-footer h2{max-width:none;color:var(--sage);font:700 .78rem var(--sans);letter-spacing:.14em;text-transform:uppercase}.site-footer a{margin-bottom:.55rem;display:block}.footer-grid{grid-template-columns:1.3fr 1fr .7fr;gap:3rem;display:grid}.footer-brand{background:var(--cream);border-radius:.45rem;padding:.55rem .65rem}.footer-brand .brand-lockup{width:min(15rem,100%)}.footer-bottom{opacity:.8;border-top:1px solid #fff3;max-width:none;margin:3rem 0 0;padding-top:1.3rem;font-size:.8rem}.socials{gap:1rem;margin-top:1rem;display:flex}.map-block{margin-top:clamp(2rem,4vw,3rem)}.map-embed{margin:0}.map-embed iframe{border-radius:var(--radius-md);background:var(--sage);border:0;width:100%;height:22rem;display:block}.map-embed figcaption{color:color-mix(in srgb, var(--forest) 72%, var(--cream));margin-top:.65rem;font-size:.8rem}@media (width>=1101px){.mobile-nav{display:none}}.not-found{text-align:center;place-items:center;min-height:65vh;display:grid}.not-found h1{margin-inline:auto}@media (width<=1100px){.desktop-nav,.desktop-quote{display:none}.header-inner{grid-template-columns:auto 1fr}.header-actions{justify-self:end}.nav-toggle{display:inline-flex}}@media (width<=900px){:root{--header-min:4.8rem;--header-offset:6.5rem}.site-header{min-height:var(--header-min)}.header-actions{justify-self:end}.nav-toggle{display:inline-flex}.hero-grid,.intro-grid,.contact-grid,.process-grid,.order-note,.story-passage-grid,.story-passage--image-start .story-passage-grid,.service-showcase-grid,.cafe-menu-grid{grid-template-columns:1fr}.services .intro-grid{grid-template-columns:1fr;gap:1.75rem}.services .intro-grid>div:first-child{padding-top:0}.season-notice-inner{flex-direction:column;align-items:start}.season-notice-copy,.season-notice-action{flex:none;max-width:none}.story-passage--image-start .story-passage-copy,.story-passage--image-start .story-figures{order:revert}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{max-width:40rem}.hero-visual{min-height:0}.hero-media img{object-position:var(--hero-object-position-mobile,var(--hero-object-position,50% 50%))}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid .content-block{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){:root{--section:4.5rem}.site-header{gap:.7rem}.brand-lockup{width:10rem}.header-actions{gap:.6rem}.hero{padding:1.5rem 0 2rem}.page-hero{padding-top:1.5rem}.hero-grid{gap:1.5rem}.hero-copy h1{margin-bottom:1rem}.season-notice-inner{gap:.35rem}.season-notice-action{max-width:none}.story-frame img,.service-showcase-media img{object-position:var(--story-focal-mobile,var(--story-focal,50% 50%))}.service-showcase-figures{gap:.75rem}.service-row{grid-template-columns:1.9rem minmax(0,1fr) 1.5rem;gap:.75rem;padding-inline:.25rem}.service-row>strong{font-size:1.3rem}.services .intro-grid>div:first-child{padding-top:0}.hero-actions{gap:.6rem 1.25rem}.enquiry-form>.button[type=submit]{width:100%}.content-grid,.form-grid,.footer-grid{grid-template-columns:1fr}.field-full{grid-column:auto}}@media (width<=340px){.gallery-grid,.service-showcase-figures{grid-template-columns:1fr}}@media (hover:hover) and (pointer:fine){.gallery-open:hover img{transform:scale(1.03)}}.motion-ready [data-reveal]:not(section),.motion-ready section[data-reveal]>*{transition:opacity var(--motion-reveal) var(--ease-out), transform var(--motion-reveal) var(--ease-out)}.motion-ready [data-reveal]:not(section):not(.is-visible),.motion-ready section[data-reveal]:not(.is-visible)>*{opacity:0;transform:translateY(14px)}.motion-ready section[data-reveal=lift]:not(.is-visible)>*{transform:translateY(16px)}.motion-ready section[data-reveal]>*+*,.motion-ready .story-passage-copy[data-reveal]+[data-reveal],.motion-ready .service-showcase-copy[data-reveal]+[data-reveal],.motion-ready .gallery-group-heading[data-reveal]+[data-reveal]{transition-delay:90ms}.motion-ready .cafe-menu-item[data-reveal]:nth-child(2){transition-delay:60ms}.motion-ready .cafe-menu-item[data-reveal]:nth-child(3){transition-delay:.12s}.motion-ready .cafe-menu-item[data-reveal]:nth-child(n+4){transition-delay:.18s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.motion-ready [data-reveal],.motion-ready section[data-reveal]>*,.hero-media img,.media-drift{opacity:1;animation:none;transform:none}}
