@font-face{font-family:MontserratAlt;src:url('/fonts/montserrat-alternates-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:MontserratAlt;src:url('/fonts/montserrat-alternates-semibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{--paper:#fbfcf8;--ink:#183e30;--muted:#53675c;--accent:#c34c18;--line:#dce4d9;--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--ease:cubic-bezier(.22,1,.36,1);--header-surface:#fbfcf8;--footer-surface:#183e30}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 Arial,sans-serif}a{color:inherit;text-underline-offset:.3em}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;height:auto}figure{margin:0}header{position:sticky;top:0;z-index:10;background:var(--header-surface);border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;margin:auto;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:46px;height:60px;object-fit:contain}.brand strong{font:600 21px/1.3 MontserratAlt,sans-serif;letter-spacing:-1px}.brand span span{display:block;font:11px/1.7 Arial,sans-serif;letter-spacing:.05em;color:var(--muted)}.header-inner nav{display:flex;align-items:center;gap:24px}nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:14px}#navigation a{padding:6px 10px;border-radius:10px}#navigation a[aria-current]{color:var(--accent)}#navigation a:last-child{background:var(--ink);color:white;border-radius:14px;padding:10px 22px}main{max-width:1440px;padding:0 5%;margin:auto;width:100%}.hero{padding:76px 0 90px}h1,h2,h3{font-family:MontserratAlt,Arial,sans-serif;font-weight:400;letter-spacing:-.055em;line-height:1.14;text-wrap:balance}h1{font-size:clamp(38px,4.7vw,68px);max-width:1080px;margin:20px 0 30px}h2{font-size:clamp(30px,3.1vw,46px);margin:18px 0 26px}h3{font-size:25px;letter-spacing:-.035em;margin:10px 0}em{font-style:normal;color:var(--accent)}p{max-width:650px;margin:0 0 20px}.lead{font-size:20px;line-height:1.65;color:var(--muted);max-width:680px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.17em;color:var(--muted);margin:0 0 24px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;padding:15px 23px;background:var(--ink);border:1px solid var(--ink);color:white;text-decoration:none;font-size:14px;font-weight:600;border-radius:18px;transition:transform 180ms var(--ease),background 180ms ease}.button svg,.text-link svg{flex-shrink:0}.button:hover{background:#285a43;transform:translateY(-2px)}.button:active{transform:scale(.98)}.text-link{display:inline-flex;gap:20px;align-items:center;min-height:48px;font-weight:600;font-size:14px;text-decoration:none;border-bottom:1px solid var(--ink);margin-top:12px}.text-link:hover{color:var(--accent)}section{margin-top:110px}.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;margin:40px 0 0}.home-hero h1{font-size:clamp(44px,5.2vw,75px);line-height:1.09;margin:26px 0}.home-hero .lead{font-size:18px;max-width:430px;margin-bottom:30px}.hero-copy{padding:28px 0}.hero-photo{position:relative;align-self:stretch;min-height:580px}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:55% center;border-radius:28px 28px 100px 28px}.hero-photo figcaption{position:absolute;bottom:30px;left:-22px;background:#f2f6e8;padding:23px 28px;border-radius:18px;font:18px/1.6 MontserratAlt,sans-serif;box-shadow:0 8px 24px #183e300d}.hero-photo figcaption span,.hero-photo figcaption strong{display:block}.hero-location{font-size:12px;color:var(--muted);margin-top:24px;display:flex;align-items:center;gap:9px}.dot{width:6px;height:6px;background:var(--accent);border-radius:50%}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split figure img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:28px}.intro{padding:90px 0;border-bottom:1px solid var(--line);margin-top:0;align-items:start}.intro>.eyebrow{padding-top:25px}.intro h2{margin-top:0}.intro .lead{font-size:22px}.offer-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start}.offer-section>.service-list:only-child{grid-column:1/-1}.service-list>a{display:flex;align-items:center;gap:22px;text-decoration:none;border-top:1px solid var(--line);padding:27px 0;transition:color .2s}.service-list>a:last-child{border-bottom:1px solid var(--line)}.service-list>a>svg{margin-left:auto;flex-shrink:0}.number{font-size:11px;font-weight:600;color:var(--accent);letter-spacing:.07em}.service-list p{font-size:14px;margin:8px 0 0;color:var(--muted)}.service-list h3{font-size:24px;margin:0}.service-list>a:hover{color:var(--accent)}.portrait-section{display:grid;grid-template-columns:.9fr 1fr;gap:12%;align-items:center;padding:65px;background:#eef2e8;border-radius:28px}.portrait-section figure{max-width:360px;margin:auto;width:100%}.portrait-section .portrait{width:100%;aspect-ratio:.78;object-fit:cover;object-position:50% 32%;border-radius:24px 24px 90px 24px}.portrait-section p{color:var(--muted)}.portrait-section figcaption{font-size:12px;margin-top:15px}.about{margin-top:50px}.cta{display:flex;gap:50px;justify-content:space-between;align-items:center;padding:60px 65px;background:#e9efcf;border-radius:28px}.cta h2{margin-top:0}.cta p{max-width:620px}.cta .button{flex-shrink:0}.cta .eyebrow{margin-bottom:16px}.reading{max-width:780px;margin-inline:auto}.reading p{max-width:none}.reading h3{margin-top:35px}.topic-list{padding:0;list-style:none}.topic-list li{border-bottom:1px solid var(--line);padding:17px 0 17px 26px;position:relative}.topic-list li:before{content:'+';position:absolute;left:0;color:var(--accent)}.still-life{background:#edf2e8;border-radius:28px;padding:40px}.split .still-life img{object-fit:contain}.logo-panel{background:#eef2e8;padding:60px;border-radius:28px}.split .logo-panel img{object-fit:contain;aspect-ratio:auto}.food-story{display:grid;grid-template-columns:.7fr 1fr;gap:10%;align-items:center}.food-story figure img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center 65%;border-radius:28px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;margin-top:60px}.contact-panel{padding:40px 0}.contact-big{font:clamp(23px,2.6vw,36px)/1.5 MontserratAlt,sans-serif;display:block;text-decoration:none;margin:20px 0}.contact-mail{display:block;margin-bottom:30px;overflow-wrap:anywhere}.appointment{background:#e9efcf;border-radius:28px;padding:40px}.appointment h2{margin-top:0}.small{font-size:12px;margin-top:20px}.locations{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:45px}.locations article{border-top:1px solid var(--line);padding:30px 0}.locations article h3{font-size:30px}.locations p{font-size:16px}.locations details{margin-top:30px}.locations summary{cursor:pointer;min-height:44px}.locations details img{margin-top:20px}.legal{margin-top:50px}.legal h2{font-size:26px;margin-top:45px}.breadcrumb{padding-top:24px;font-size:12px;color:var(--muted)}.breadcrumb a{font-size:12px}.menu-toggle{border-radius:10px;background:none;border:1px solid var(--line);padding:10px;min-height:44px;align-items:center;gap:7px;cursor:pointer}.menu-toggle[hidden]{display:none}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}footer{background:var(--footer-surface);color:#f5f7ed;padding:60px 5% 24px}.footer-inner{max-width:1296px;margin:auto}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:50px;padding-bottom:45px}.footer-top .brand span span{color:#c3d1c7}.footer-top .brand img{background:var(--paper);border-radius:10px;padding:5px}.footer-contact p{font-size:14px;color:#c3d1c7;margin:12px 0}.footer-contact a{font-size:16px}.footer-bottom{border-top:1px solid #ffffff30;padding-top:20px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}.footer-bottom nav{display:flex;gap:25px}.footer-bottom small{font-size:12px;color:#c3d1c7}.footer-credit{font-size:12px;color:#c3d1c7}.footer-credit a{color:inherit}footer nav a{font-size:12px}
@media(max-width:1000px){.header-inner nav{gap:10px}.home-hero{gap:4%}.home-hero h1{font-size:56px}.hero-photo{min-height:500px}.portrait-section{padding:40px;gap:8%}.cta{padding:40px;gap:25px}.cta .button{max-width:250px}.offer-section{gap:4%}.service-list h3{font-size:21px}}
@media(max-width:800px){.header-inner{flex-wrap:wrap;gap:0;padding:12px 5%}.brand strong{font-size:18px}.brand img{width:35px;height:44px}.brand span span{font-size:9px}.header-inner nav{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0}.header-inner nav a{border-top:1px solid var(--line);padding:12px 0!important;font-size:16px}#navigation a:last-child{background:none;color:var(--ink)}.menu-toggle:not([hidden]){display:inline-flex}.js #navigation[hidden]{display:none}.hero{padding:45px 0 65px}.home-hero{display:flex;flex-direction:column;margin-top:0;gap:26px}.hero-copy{padding:18px 0 0;width:100%}.home-hero h1{font-size:clamp(42px,8vw,64px);margin:18px 0 23px}.home-hero .eyebrow{font-size:9px;margin:0}.home-hero .lead{font-size:17px;margin-bottom:24px;max-width:500px}.hero-location{margin-bottom:0;font-size:11px}.hero-photo{min-height:330px;width:100%;margin-top:7px}.hero-photo>img{border-radius:24px 24px 70px 24px;object-position:center}.hero-photo figcaption{left:15px;bottom:20px;font-size:14px;padding:16px 20px}.split,.offer-section,.portrait-section,.food-story,.contact-grid,.locations{grid-template-columns:1fr;gap:30px}section{margin-top:65px}.intro{padding:60px 0;gap:0}.intro>.eyebrow{padding:0}.intro .lead{font-size:19px}h1{font-size:42px}h2{font-size:33px}.offer-section .section-heading h2{margin-bottom:5px}.portrait-section{padding:30px 24px}.portrait-section figure{max-width:360px}.portrait-section .portrait{aspect-ratio:.9}.cta{display:block;padding:34px 25px}.cta .button{max-width:none;margin-top:10px}.contact-grid{margin-top:30px}.contact-panel{padding:15px 0}.appointment{padding:30px 24px}.contact-big{font-size:28px}.locations{gap:15px}.locations article h3{font-size:28px}.reading{margin-top:60px}.legal h2{font-size:25px}.footer-top{flex-direction:column;gap:30px}.footer-bottom{align-items:start;flex-direction:column;gap:12px}footer{padding-top:40px}.logo-panel{padding:45px}.food-story figure{max-width:500px}.hero>.text-link{display:flex;width:fit-content}.breadcrumb{padding-top:18px}.breadcrumb a{min-height:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Native same-origin page changes; unsupported browsers use the JS entry. */
@view-transition{navigation:auto}
:root{view-transition-name:none}
main{view-transition-name:page-content}
::view-transition{pointer-events:none}
::view-transition-group(page-content){animation-duration:320ms}
::view-transition-old(page-content){animation:page-out 140ms ease-out both}
::view-transition-new(page-content){animation:page-in 320ms cubic-bezier(.22,1,.36,1) both}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

/* Paint the browser canvas too: no white strip beyond the document edges. */
:root{background:var(--footer-surface);background-image:linear-gradient(var(--header-surface) 0 50%,var(--footer-surface) 50% 100%);background-attachment:fixed;overscroll-behavior:none}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{flex:1;width:100%;margin:0 auto}
header{background:var(--header-surface)}
footer{background:var(--footer-surface);padding-bottom:calc(3rem + env(safe-area-inset-bottom,0px))}
#navigation a{transition:color 160ms ease,text-decoration-color 160ms ease}
.menu-toggle svg{transition:transform 200ms var(--ease)}
.menu-toggle[aria-expanded="true"] svg{transform:rotate(90deg)}
@media(max-width:800px){.header-inner{row-gap:0}.js #navigation{overflow:hidden;max-height:calc(100dvh - 90px);overflow-y:auto}}

h1{overflow-wrap:anywhere;hyphens:auto}.legal a{overflow-wrap:anywhere}

@media(max-width:800px){.js #navigation:not([data-ready]){display:none}}
