/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme,base;@layer components{::view-transition-old(root),::view-transition-new(root){animation-duration:.3s}.js .reveal{opacity:0;translate:0 var(--reveal-shift,20px);transition:var(--reveal-transition,opacity .6s ease, translate .6s ease)}.js .reveal.is-visible{opacity:1;translate:none}@supports (animation-timeline:view()) and (animation-range:entry 0% entry 7.5rem){.js .reveal,.js .reveal.is-visible{opacity:1;transition:none;animation:linear both reveal;translate:none}.js .reveal:where(*),.js .reveal.is-visible:where(*){animation-timeline:view();animation-range:entry entry 7.5rem}}@keyframes reveal{0%{opacity:0;translate:0 var(--reveal-shift,20px)}}:root{--reveal-shift:16px;--reveal-transition:opacity .7s var(--ease), translate .7s var(--ease);--bg:var(--site-background);--surface:var(--site-surface);--surface-2:var(--site-surface-alt);--line:var(--site-line);--muted:var(--site-muted);--ink:var(--site-text);--heading:var(--site-heading);--accent:var(--site-accent);--accent-soft:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-soft:color-mix(in srgb, var(--accent) 9%, var(--bg))}}:root{--deep:var(--heading)}@supports (color:color-mix(in lab, red, red)){:root{--deep:color-mix(in srgb, var(--heading) 92%, var(--accent))}}:root{--trace:var(--line)}@supports (color:color-mix(in lab, red, red)){:root{--trace:color-mix(in srgb, var(--line) 50%, var(--surface-2))}}:root{--accent-deep:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-deep:color-mix(in srgb, var(--accent) 82%, var(--heading))}}:root{--on-dark:var(--bg)}@supports (color:color-mix(in lab, red, red)){:root{--on-dark:color-mix(in srgb, var(--bg) 92%, var(--heading))}}:root{--font-display:var(--site-font-display);--font-body:var(--site-font-body);--step--2:clamp(.72rem, .7rem + .1vw, .78rem);--step--1:clamp(.85rem, .82rem + .15vw, .93rem);--step-0:clamp(1rem, .97rem + .18vw, 1.09rem);--step-1:clamp(1.2rem, 1.12rem + .4vw, 1.42rem);--step-2:clamp(1.55rem, 1.3rem + 1.1vw, 2.2rem);--step-3:clamp(2rem, 1.5rem + 2.3vw, 3.4rem);--step-4:clamp(2.5rem, 1.7rem + 3.4vw, 4.6rem);--space-xs:.5rem;--space-s:clamp(.75rem, .7rem + .3vw, 1rem);--space-m:clamp(1.25rem, 1rem + 1vw, 2rem);--space-l:clamp(2.5rem, 2rem + 2.5vw, 4.5rem);--space-xl:clamp(4rem, 3rem + 5vw, 8.5rem);--radius:3px;--container:76rem;--header-h:4.75rem;--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem);-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}img,svg{max-width:100%;display:block}picture{display:contents}source{display:none}h1,h2,h3{font-family:var(--font-display);color:var(--heading);letter-spacing:-.02em;text-wrap:balance;margin:0 0 .6em;font-weight:650;line-height:1.1}h1{font-size:var(--step-4);letter-spacing:-.025em;line-height:1.02}h2{font-size:var(--step-3)}h3{font-size:var(--step-1);letter-spacing:-.01em;font-weight:620}p,ul,ol{margin:0 0 1em}p{text-wrap:pretty}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent-deep)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}strong{color:var(--heading);font-weight:600}.container{width:min(100% - 2.5rem, var(--container));margin-inline:auto}.skip-link{z-index:60;background:var(--heading);color:var(--bg);border-radius:var(--radius);padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.hud{font-family:var(--font-body);font-size:var(--step--2);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.8rem;margin-bottom:1rem;font-weight:600;display:flex}.hud:before{content:"";background:radial-gradient(circle at calc(100% - .3rem),currentColor .22rem,#0000 .24rem),linear-gradient(currentColor,currentColor) 0/calc(100% - .4rem) 2px no-repeat;flex:none;width:1.6rem;height:.6rem}.breadcrumb.hud:before{display:none}.demo-bar{background:var(--heading);color:var(--on-dark);font-size:var(--step--1);text-align:center;margin:0;padding:.55rem 1.25rem;line-height:1.5}.demo-bar a{color:var(--on-dark);text-decoration:underline;-webkit-text-decoration-color:var(--on-dark);-webkit-text-decoration-color:var(--on-dark);text-decoration-color:var(--on-dark);font-weight:600}@supports (color:color-mix(in lab, red, red)){.demo-bar a{-webkit-text-decoration-color:color-mix(in srgb, var(--on-dark) 50%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--on-dark) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--on-dark) 50%, transparent)}}.demo-bar a:hover{text-decoration-color:currentColor}.demo-bar__short{display:none}@media (width<=40rem){.demo-bar__long{display:none}.demo-bar__short{display:inline}}.site-header{z-index:40;background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--bg) 88%, transparent)}}.site-header{-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent)}}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-m);min-height:var(--header-h);display:flex}.brand img{width:auto;height:2.6rem}.nav-toggle{display:none}.site-nav ul{--nav-gap:clamp(1rem, .4rem + 1.6vw, 2.25rem);align-items:center;gap:var(--nav-gap);margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--heading);font-size:var(--step--1);letter-spacing:.02em;padding-block:.4rem;font-weight:500;text-decoration:none;position:relative}.site-nav a:not(.nav-cta):after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a[aria-current=page]:after{transform:scaleX(1)}.site-nav .nav-cta{border:1px solid var(--heading);border-radius:var(--radius);padding:.6rem 1.25rem;transition:background .25s,color .25s}.site-nav .nav-cta:hover,.site-nav .nav-cta[aria-current=page]{background:var(--heading);color:var(--bg)}@media (width>=56.01rem){.site-header__inner{gap:min(var(--space-m), .75rem + (100vw - 56rem) * .0568)}.brand img{height:min(2.6rem,1.73vw + 1.3312rem)}.site-nav ul{gap:min(var(--nav-gap), .625rem + (100vw - 56rem) * .0548)}.site-nav a{font-size:min(var(--step--1), .8125rem + (100vw - 56rem) * .0068)}}@media (width<=56rem){.site-header__inner{flex-wrap:wrap;gap:0;min-height:0;padding-block:.75rem}.site-nav ul{margin-top:.75rem}.brand img{height:2.3rem}.site-nav{flex-basis:100%}.site-nav ul{padding-bottom:var(--space-m);flex-direction:column;align-items:stretch;gap:0}.site-nav a{font-family:var(--font-display);font-size:var(--step-2);letter-spacing:-.01em;border-bottom:1px solid var(--line);padding:.9rem 0;font-weight:400;display:block}.site-nav a:not(.nav-cta):after{display:none}.site-nav a[aria-current=page]{color:var(--accent)}.site-nav .nav-cta{margin-top:var(--space-m);text-align:center;font-family:var(--font-body);font-size:var(--step--1);letter-spacing:.12em;text-transform:uppercase;background:var(--heading);color:var(--bg);padding:1rem;font-weight:600}.js .nav-toggle{font:inherit;font-size:var(--step--1);letter-spacing:.12em;text-transform:uppercase;color:var(--heading);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:0 0;align-items:center;gap:.6rem;padding:.55rem 1rem;font-weight:600;display:inline-flex}.nav-toggle__icon,.nav-toggle__icon:before,.nav-toggle__icon:after{background:currentColor;width:1rem;height:1px;transition:transform .25s,background .25s;display:block}.nav-toggle__icon{position:relative}.nav-toggle__icon:before,.nav-toggle__icon:after{content:"";position:absolute;left:0}.nav-toggle__icon:before{top:-5px}.nav-toggle__icon:after{top:5px}.nav-toggle[aria-expanded=true] .nav-toggle__icon{background:0 0}.nav-toggle[aria-expanded=true] .nav-toggle__icon:before{transform:translateY(5px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__icon:after{transform:translateY(-5px)rotate(-45deg)}.js .site-nav:not(.is-open){display:none}html:not(.js) .site-header{position:static}.js .site-nav.is-open{overscroll-behavior:contain;overflow-y:auto}}.btn{border-radius:var(--radius);min-height:3.25rem;font-family:var(--font-body);font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;text-align:center;cursor:pointer;transition:background .25s, color .25s, border-color .25s, transform .25s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.6rem;padding:.9rem 1.75rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--accent);color:var(--on-dark)}.btn--primary:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.btn--primary:hover{background:color-mix(in srgb, var(--accent) 85%, var(--heading))}}.btn--primary:hover{color:var(--on-dark)}.btn--ghost{color:var(--heading);border-color:var(--heading);background:0 0}@supports (color:color-mix(in lab, red, red)){.btn--ghost{border-color:color-mix(in srgb, var(--heading) 35%, transparent)}}.btn--ghost:hover{border-color:var(--heading);color:var(--heading);background:var(--heading)}@supports (color:color-mix(in lab, red, red)){.btn--ghost:hover{background:color-mix(in srgb, var(--heading) 5%, transparent)}}.btn--light{background:var(--on-dark);color:var(--heading)}.btn--light:hover{background:var(--bg);color:var(--heading)}.btn--outline-light{color:var(--on-dark);border-color:var(--on-dark);background:0 0}@supports (color:color-mix(in lab, red, red)){.btn--outline-light{border-color:color-mix(in srgb, var(--on-dark) 55%, transparent)}}.btn--outline-light:hover{color:var(--on-dark);border-color:var(--on-dark);background:var(--on-dark)}@supports (color:color-mix(in lab, red, red)){.btn--outline-light:hover{background:color-mix(in srgb, var(--on-dark) 12%, transparent)}}.btn-row{margin-top:var(--space-m);flex-wrap:wrap;gap:.75rem;display:flex}.btn-row--center{margin-top:var(--space-l);justify-content:center}.demo-note{margin:var(--space-s) 0 0;font-size:var(--step--1);color:var(--muted);font-style:italic}.frame{object-fit:cover;border-radius:var(--radius);background:var(--surface-2);width:100%;height:100%}.hero{padding-block:var(--space-l) var(--space-xl);position:relative;overflow:hidden}.hero__grid{gap:var(--space-l);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;display:grid}.hero__grid--text{grid-template-columns:minmax(0,1fr)}.hero__grid--text .hero__text{max-width:48rem}.hero h1{margin-bottom:.45em}.kicker{font-family:var(--font-body);font-weight:600;font-size:var(--step-1);letter-spacing:0;color:var(--accent);margin-bottom:.7rem;line-height:1.3;display:block}.hero__lead{max-width:34rem;font-size:var(--step-1);color:var(--ink);line-height:1.6}.hero__visual{aspect-ratio:4/4.6;justify-self:end;width:min(100%,31rem);position:relative}.hero__visual .frame{z-index:1;box-shadow:0 40px 80px -40px var(--heading);position:relative}@supports (color:color-mix(in lab, red, red)){.hero__visual .frame{box-shadow:0 40px 80px -40px color-mix(in srgb, var(--heading) 45%, transparent)}}.hero__offset{border-radius:var(--radius);background-color:var(--accent-soft);background-image:radial-gradient(circle, var(--accent) 1.2px, transparent 1.6px);position:absolute;inset:1.5rem -1.5rem -1.5rem 1.5rem}@supports (color:color-mix(in lab, red, red)){.hero__offset{background-image:radial-gradient(circle, color-mix(in srgb, var(--accent) 45%, transparent) 1.2px, transparent 1.6px)}}.hero__offset{border:1px solid var(--accent);background-size:1rem 1rem}@supports (color:color-mix(in lab, red, red)){.hero__offset{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent)}}.hero--page{padding-block:var(--space-l);background:linear-gradient(to bottom, var(--surface-2), var(--bg));border-bottom:1px solid var(--line)}.hero--page h1{font-size:var(--step-4);max-width:18ch}.hero--page .hero__lead{max-width:40rem}.section{padding-block:var(--space-xl)}.section--alt{background-color:var(--surface-2);background-image:radial-gradient(circle, var(--trace) 1px, transparent 1.4px);background-position:top;background-size:1.5rem 1.5rem}.section__head{max-width:44rem;margin-bottom:var(--space-l)}@media (width>=64rem){.section__head--split{gap:var(--space-l);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;max-width:none;display:grid}.section__head--split h2{margin-bottom:0}.section__head--split .section__intro{margin:0;padding-bottom:.4rem}}.section__intro{font-size:var(--step-1);color:var(--muted);max-width:40rem;line-height:1.6}.tiles{justify-content:center;gap:var(--space-m);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tile{flex-direction:column;flex:0 1 calc((100% - (var(--cols,4) - 1) * var(--space-m)) / var(--cols,4) - .1px);max-width:24rem;display:flex;position:relative}.tile picture,.tile .frame{aspect-ratio:3/4;height:auto}.tile .frame{margin-bottom:var(--space-s);transition:transform .6s var(--ease), filter .6s}.tile:hover .frame{filter:saturate(1.08);transform:translateY(-6px)}.tile h3{font-size:var(--step-2);margin:.4rem 0}.tile p{color:var(--muted);font-size:var(--step--1);margin-bottom:.9rem}.tile__link{font-size:var(--step--2);letter-spacing:.18em;text-transform:uppercase;color:var(--heading);margin-top:auto;font-weight:600;text-decoration:none}.tile__link span{color:var(--accent);transition:transform .3s var(--ease);display:inline-block}.tile:hover .tile__link span{transform:translate(4px)}.tile__link:after{content:"";position:absolute;inset:0}.services{gap:var(--space-xl);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;display:grid}.services--flip .services__image{order:-1}.services--solo{grid-template-columns:minmax(0,1fr);max-width:48rem}.services__image{aspect-ratio:4/5;height:auto}.menu{margin:var(--space-m) 0 0;border-top:1px solid var(--line);padding:0;list-style:none}.menu li{border-bottom:1px solid var(--line);padding-block:1.1rem}.menu__line{align-items:baseline;gap:.75rem;margin:0;display:flex}.menu__name{font-family:var(--font-display);font-size:var(--step-1);color:var(--heading);font-weight:450;line-height:1.3}.menu__dots{border-bottom:1px dotted var(--muted);flex:1;min-width:1.5rem}@supports (color:color-mix(in lab, red, red)){.menu__dots{border-bottom:1px dotted color-mix(in srgb, var(--muted) 60%, transparent)}}.menu__dots{transform:translateY(-.3em)}.menu__price{font-family:var(--font-body);font-weight:600;font-size:var(--step--1);color:var(--accent);white-space:nowrap}.menu__text{max-width:34rem;font-size:var(--step--1);color:var(--muted);margin:.35rem 0 0}.menu__note{margin-top:var(--space-m);font-size:var(--step--1);color:var(--muted);font-style:italic}.gallery{columns:3;column-gap:var(--space-m);margin:0;padding:0;list-style:none}.gallery li{break-inside:avoid;margin:0 0 var(--space-m)}.gallery figure{border-radius:var(--radius);background:var(--surface-2);margin:0;position:relative;overflow:hidden}.gallery img{width:100%;height:auto;transition:transform .8s var(--ease)}.gallery figure:hover img{transform:scale(1.03)}.gallery--row{columns:auto;justify-content:center;gap:var(--space-m);flex-wrap:wrap;display:flex}.gallery--row li{flex:0 1 calc((100% - (var(--cols,4) - 1) * var(--space-m)) / var(--cols,4) - .1px);max-width:26rem}.gallery.gallery--row li{margin:0}.gallery--row figure{aspect-ratio:3/4}.gallery--row img{object-fit:cover;height:100%}.gallery figcaption{border-radius:var(--radius);background:var(--bg);padding:.35rem .85rem;position:absolute;bottom:.75rem;left:.75rem}@supports (color:color-mix(in lab, red, red)){.gallery figcaption{background:color-mix(in srgb, var(--bg) 90%, transparent)}}.gallery figcaption{color:var(--heading);font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;font-weight:600}.story{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;display:grid}.story--reverse .story__visual{order:-1}.story__visual{aspect-ratio:4/5}.story__intro{font-family:var(--font-display);font-size:var(--step-2);color:var(--heading);font-weight:380;line-height:1.3}.story__body{color:var(--ink);max-width:36rem}.hero--full{min-height:min(78svh,46rem);padding-block:var(--space-l);isolation:isolate;align-items:center;display:grid}.hero--full .hero__backdrop{z-index:-2;object-fit:cover;background:var(--surface-2);width:100%;height:100%;position:absolute;inset:0}.hero--full:after{content:"";z-index:-1;background:linear-gradient(to right, var(--bg), transparent 70%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.hero--full:after{background:linear-gradient(to right, color-mix(in srgb, var(--bg) 55%, transparent), transparent 70%)}}.hero__panel{max-width:40rem;padding:var(--space-l) var(--space-m);border-radius:var(--radius);background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.hero__panel{background:color-mix(in srgb, var(--bg) 92%, transparent)}}.hero__panel{box-shadow:0 40px 80px -48px var(--heading)}@supports (color:color-mix(in lab, red, red)){.hero__panel{box-shadow:0 40px 80px -48px color-mix(in srgb, var(--heading) 55%, transparent)}}.hero__panel{backdrop-filter:blur(6px)}.hero__panel h1{font-size:var(--step-3)}.hero__panel .hero__lead{font-size:var(--step-0)}.hero--type{padding-block:var(--space-l) var(--space-xl)}.hero--type h1{letter-spacing:-.02em;max-width:15ch;font-size:clamp(2.8rem,1.4rem + 5.6vw,6.6rem);line-height:1.02}.hero__row{gap:var(--space-l);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.hero__row .hero__lead,.hero__row .btn-row{margin:0}.hero__band{aspect-ratio:21/9;width:100%;height:auto;margin-top:var(--space-l);object-fit:cover;border-radius:var(--radius);background:var(--surface-2);display:block}.services-columns__head{max-width:44rem}.services-columns__image{aspect-ratio:21/8;width:100%;height:auto;margin-top:var(--space-l);object-fit:cover;border-radius:var(--radius);background:var(--surface-2);display:block}.menu--columns{column-gap:var(--space-xl);margin-top:var(--space-l);border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.menu--columns li:nth-child(-n+2){border-top:1px solid var(--line)}.gallery--mosaic{gap:var(--space-m);columns:auto;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(9rem,4rem + 11vw,15rem);display:grid}.gallery.gallery--mosaic li{margin:0}.gallery--mosaic li:first-child{grid-area:span 2/span 2}.gallery--mosaic li:last-child:not(:first-child){grid-column:span var(--span-4,1)}.gallery--mosaic figure{height:100%}.gallery--mosaic img{object-fit:cover;height:100%}.story-overlap{grid-template-columns:minmax(0,64fr) minmax(0,36fr);align-items:stretch;display:grid}.story-overlap__image{object-fit:cover;border-radius:var(--radius);background:var(--surface-2);grid-area:1/1;width:100%;height:100%;min-height:26rem;display:block}.story-overlap__card{z-index:1;margin-block:var(--space-xl);margin-left:calc(-1 * var(--space-xl));padding:var(--space-l);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 40px 80px -48px var(--heading);grid-area:1/2;align-self:center;position:relative}@supports (color:color-mix(in lab, red, red)){.story-overlap__card{box-shadow:0 40px 80px -48px color-mix(in srgb, var(--heading) 45%, transparent)}}.story-overlap.story--reverse{grid-template-columns:minmax(0,36fr) minmax(0,64fr)}.story-overlap.story--reverse .story-overlap__image{grid-area:1/2}.story-overlap.story--reverse .story-overlap__card{margin-left:0;margin-right:calc(-1 * var(--space-xl));grid-area:1/1}@media (width<=64rem){.gallery--mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery--mosaic li:last-child:not(:first-child){grid-column:span var(--span-3,1)}}@media (width<=56rem){.hero.hero--full{min-height:0;padding-block:0 var(--space-l);display:block}.hero--full .hero__backdrop{z-index:auto;aspect-ratio:4/3;height:auto;max-height:58svh;position:relative}.hero--full:after{display:none}.hero__panel{margin-top:calc(-1 * var(--space-l));padding:var(--space-m);backdrop-filter:none;position:relative}.hero__row{gap:var(--space-m);grid-template-columns:minmax(0,1fr)}.hero__band{aspect-ratio:4/3}.services-columns__image{aspect-ratio:16/9}.menu--columns{grid-template-columns:minmax(0,1fr)}.menu--columns li:nth-child(2){border-top:0}.story-overlap,.story-overlap.story--reverse{grid-template-columns:minmax(0,1fr)}.story-overlap__image,.story-overlap.story--reverse .story-overlap__image{aspect-ratio:4/3;grid-area:auto;height:auto;min-height:0}.story-overlap__card,.story-overlap.story--reverse .story-overlap__card{margin:calc(-1 * var(--space-l)) var(--space-s) 0;padding:var(--space-m);order:1;grid-area:auto}}@media (width<=40rem){.gallery--mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:9.5rem;gap:.75rem}.gallery--mosaic li:last-child:not(:first-child){grid-column:span var(--span-2,1)}}.cards{gap:var(--space-m);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.card{padding:var(--space-m);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .25s, box-shadow .25s, transform .25s var(--ease);flex-direction:column;display:flex;position:relative}.section--alt .card{background:var(--bg)}.card:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.card:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}}.card:hover{box-shadow:0 24px 48px -36px var(--heading)}@supports (color:color-mix(in lab, red, red)){.card:hover{box-shadow:0 24px 48px -36px color-mix(in srgb, var(--heading) 55%, transparent)}}.card:hover{transform:translateY(-3px)}.card__icon{width:3.5rem;height:3.5rem;margin-bottom:var(--space-s);border-radius:var(--radius);border:1.5px solid var(--accent);place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.card__icon{border:1.5px solid color-mix(in srgb, var(--accent) 60%, var(--line))}}.card__icon{background:var(--accent-soft);color:var(--accent);transition:background-color .25s,color .25s}.card:hover .card__icon{background:var(--accent);color:var(--surface)}.card__icon svg{width:2.25rem;height:2.25rem}.card h3{margin-bottom:.5rem}.card p{margin:0 0 var(--space-s);color:var(--muted)}.card__facts{margin:0 0 var(--space-s);flex-wrap:wrap;gap:.4rem;display:flex}.card__facts div{border-radius:var(--radius);background:var(--surface-2);font-size:var(--step--2);gap:.35rem;padding:.25rem .6rem;display:flex}.card__facts dt{color:var(--muted)}.card__facts dd{color:var(--heading);margin:0;font-weight:600}.card__link{font-size:var(--step--1);color:var(--heading);margin-top:auto;font-weight:600;text-decoration:none}.card__link span{color:var(--accent);transition:transform .3s var(--ease);display:inline-block}.card:hover .card__link span{transform:translate(4px)}.card__link:after{content:"";position:absolute;inset:0}.cards--list{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:0}.cards--list .card{column-gap:var(--space-m);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon title facts""icon text facts""icon link facts";align-items:start;padding-inline:0;display:grid}.section--alt .cards--list .card{background:0 0}.cards--list .card:hover{box-shadow:none;transform:none}.cards--list .card__icon{grid-area:icon;margin:0}.cards--list .card>h3{grid-area:title}.cards--list .card>p{grid-area:text}.cards--list .card__facts{flex-direction:column;grid-area:facts;align-items:flex-end;margin:0}.cards--list .card__link{grid-area:link}@media (width<=40rem){.cards--list .card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon title""icon text""icon facts""icon link"}.cards--list .card__facts{margin-bottom:var(--space-s);flex-direction:row;align-items:flex-start}}.article{gap:var(--space-l);grid-template-columns:minmax(0,1fr) 18rem;align-items:start;display:grid}.article>div>section+section{margin-top:var(--space-l)}.article h2{font-size:var(--step-2)}.article aside{top:calc(var(--header-h) + 1.5rem);gap:var(--space-m);display:grid;position:sticky}.steps--article{margin-top:var(--space-m)}.toc ol{margin:0;padding:0;list-style:none}.toc li+li{margin-top:.5rem}.toc a{font-size:var(--step--1);color:var(--heading);font-weight:500;text-decoration:none}.toc a:hover{color:var(--accent)}.md-cards>ul{gap:var(--space-s);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));padding:0;list-style:none;display:grid}.md-cards>ul>li{padding:var(--space-s);border-radius:var(--radius);background:var(--surface-2);border-left:3px solid var(--accent);margin:0}@media (width<=56rem){.article{grid-template-columns:minmax(0,1fr)}.article aside{order:-1;position:static}}.faq--section{border-top:1px solid var(--line);max-width:52rem}.faq details{border-bottom:1px solid var(--line)}.faq summary{justify-content:space-between;align-items:baseline;gap:var(--space-s);cursor:pointer;font-family:var(--font-display);font-size:var(--step-1);color:var(--heading);padding-block:1.1rem;line-height:1.3;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-display);color:var(--accent);transition:transform .3s var(--ease);flex:none}.faq details[open] summary:after{transform:rotate(45deg)}.faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.faq details>p{max-width:42rem;color:var(--ink);margin:0 0 1.2rem}.steps{counter-reset:step;gap:var(--space-l) var(--space-m);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));margin:0;padding:1.4rem 0 0;list-style:none;display:grid}.steps li{padding-top:var(--space-m);border-top:2px solid var(--accent);margin:0}@supports (color:color-mix(in lab, red, red)){.steps li{border-top:2px solid color-mix(in srgb, var(--accent) 45%, var(--line))}}.steps li:before{counter-increment:step;content:counter(step, decimal-leading-zero);width:2.75rem;height:2.75rem;margin:calc(-1 * var(--space-m) - 1.4rem - 1px) 0 1rem;border:2px solid var(--accent);background:var(--surface);color:var(--accent-deep);font-family:var(--font-body);font-weight:700;font-size:var(--step--1);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid}.steps p{color:var(--muted);margin:0}.features{gap:var(--space-m);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.feature{padding:var(--space-m);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius)}.section--alt .feature{background:var(--bg)}.feature h3{font-size:var(--step-1)}.feature p{color:var(--muted);margin:0}.zones{gap:var(--space-l);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid}.zone-list{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.zone-list li{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:var(--step--1);color:var(--heading);margin:0;padding:.5rem 1.1rem}.zone-list li.is-main{background:var(--heading);border-color:var(--heading);color:var(--bg)}.cta-band{padding-block:var(--space-xl);background:var(--deep);color:var(--on-dark);text-align:center;position:relative;overflow:clip}@supports not (overflow:clip){.cta-band{overflow:hidden}}.cta-band:before{content:"";border:2px solid var(--on-dark);width:calc(12% + 2rem);height:5rem;position:absolute;top:26%;left:-2rem}@supports (color:color-mix(in lab, red, red)){.cta-band:before{border:2px solid color-mix(in srgb, var(--on-dark) 18%, transparent)}}.cta-band:before{pointer-events:none;border-bottom:0;border-left:0}.cta-band:after{content:"";border:2px solid var(--accent);background:var(--deep);pointer-events:none;border-radius:50%;width:1.1rem;height:1.1rem;position:absolute;top:calc(26% + 4.45rem);left:calc(12% - .55rem - 1px)}@media (width<=40rem){.cta-band:before,.cta-band:after{display:none}}.cta-band__inner{justify-items:center;gap:var(--space-m);display:grid;position:relative}@media (width>=40.01rem){.cta-band__inner{padding-inline:max(0px, 12% + .55rem + 1rem - (100% - min(100% - 2.5rem, var(--container))) / 2)}}.cta-band h2{font-size:var(--step-3);color:var(--on-dark);max-width:20ch;margin:0}.cta-band .demo-note{color:var(--on-dark);margin:0}.for-sale{gap:var(--space-m) var(--space-l);padding:var(--space-l);background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) * 1.5);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.for-sale__tag{border-radius:var(--radius);background:var(--accent);color:var(--on-dark);font-size:var(--step--2);letter-spacing:.18em;text-transform:uppercase;justify-self:start;margin:.4rem 0 0;padding:.45rem 1rem;font-weight:600}.for-sale h2{font-size:var(--step-3)}.for-sale p{max-width:44rem}.contact-grid{gap:var(--space-l);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;display:grid}.contact-grid h2{font-size:var(--step-2)}.panel{padding:var(--space-m);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.panel ul{margin:0;padding-left:1.1rem}.panel li+li{margin-top:.4rem}.panel li::marker{color:var(--accent)}.alert{padding:var(--space-m);border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.alert{border:1px solid color-mix(in srgb, var(--accent) 25%, transparent)}}.alert p:last-child{margin-bottom:0}.alert__title{font-family:var(--font-display);font-size:var(--step-1);color:var(--heading);margin-bottom:.5rem}#formulaire{padding:var(--space-l);background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) * 1.5)}.form{gap:var(--space-s);display:grid}.field{gap:.4rem;display:grid}.field label{font-size:var(--step--2);letter-spacing:.16em;text-transform:uppercase;color:var(--heading);font-weight:600}.form input:not([type=checkbox]),.form select,.form textarea{width:100%;font:inherit;color:var(--heading);background:var(--bg);border:1px solid var(--muted)}@supports (color:color-mix(in lab, red, red)){.form input:not([type=checkbox]),.form select,.form textarea{border:1px solid color-mix(in srgb, var(--muted) 55%, transparent)}}.form input:not([type=checkbox]),.form select,.form textarea{border-radius:.75rem;padding:.8rem 1rem;transition:border-color .2s,box-shadow .2s}.form textarea{resize:vertical;min-height:9rem}.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent);outline:none}@supports (color:color-mix(in lab, red, red)){.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}}.consent{font-size:var(--step--1);color:var(--ink);align-items:flex-start;gap:.7rem;display:flex}.consent input{width:1.1rem;height:1.1rem;accent-color:var(--accent);flex:none;margin-top:.3rem}.form [data-status]:empty{display:none}.form [data-status]{border-left:3px solid var(--muted);background:var(--surface-2);border-radius:.75rem;margin:0;padding:.85rem 1rem}.form [data-status][data-state=success],.form [data-status][data-state=sent]{border-left-color:var(--heading)}.form [data-status][data-state=error],.form [data-status][data-state=unsupported]{border-left-width:6px;border-left-color:var(--accent);background:var(--accent-soft)}.form [data-status][data-state=uncertain],.form [data-status][data-state=unconfigured]{border-left-style:dashed;border-left-color:var(--muted)}.form[aria-busy=true]{opacity:.7}.form button[aria-disabled=true]{cursor:progress}.breadcrumb ol{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li{margin:0}.breadcrumb li+li:before{content:"·";color:var(--accent);margin-right:.5rem}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover,.breadcrumb [aria-current]{color:var(--heading)}.prose{max-width:46rem}.prose h1{font-size:var(--step-3)}.prose h2{font-size:var(--step-2);margin-top:var(--space-l)}.placeholder{color:var(--accent);background:var(--accent-soft);border-radius:.3em;padding:0 .3em}.site-footer{padding-block:var(--space-xl) var(--space-m);background:var(--surface-2);border-top:1px solid var(--line);color:var(--muted);font-size:var(--step--1)}.site-footer__grid{gap:var(--space-l);grid-template-columns:minmax(0,1.6fr);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.site-footer img{width:auto;height:2.75rem;margin-bottom:var(--space-m)}.site-footer p{max-width:30rem}.site-footer h2{font-family:var(--font-body);font-size:var(--step--2);letter-spacing:.2em;text-transform:uppercase;color:var(--heading);margin-bottom:1rem;font-weight:600}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-top:.5rem}.site-footer a{color:var(--ink);text-decoration:none}.site-footer a:hover{color:var(--accent);text-decoration:underline}.site-footer__bottom{margin-top:var(--space-l);padding-top:var(--space-m);border-top:1px solid var(--line);justify-content:space-between;gap:var(--space-s);flex-wrap:wrap;display:flex}.site-footer__bottom p{margin:0}.site-footer__bottom .hud{color:var(--muted);margin:0}@media (width<=53.6rem){.gallery{columns:2}}@media (width<=64rem){.gallery--row li,.tile{flex-basis:calc((100% - var(--space-m)) / 2 - .1px)}}@media (width<=56rem){.hero{padding-block:var(--space-m) var(--space-l)}.hero__grid,.services,.story,.zones,.contact-grid,.for-sale{gap:var(--space-l);grid-template-columns:minmax(0,1fr)}.hero__visual{aspect-ratio:1/1.05;order:-1;justify-self:center;width:min(100% - 1.5rem,24rem)}.services--flip .services__image,.story--reverse .story__visual{order:0}.services__image,.story__visual{max-width:28rem}.for-sale,#formulaire{padding:var(--space-m)}.site-footer__grid{grid-template-columns:minmax(0,1fr);grid-auto-flow:row}}@media (width<=40rem){.tiles{scroll-snap-type:x mandatory;scrollbar-width:none;view-timeline:--tiles block;flex-wrap:nowrap;justify-content:flex-start;gap:1rem;margin-inline:-1.25rem;padding:0 1.25rem 1rem;scroll-padding-inline:1.25rem;display:flex;overflow:auto hidden}@supports (animation-timeline:view()) and (animation-range:entry 0% entry 7.5rem){.js .tiles .reveal:where(*),.js .tiles .reveal.is-visible:where(*){animation-timeline:--tiles}}.tiles::-webkit-scrollbar{display:none}.tile{scroll-snap-align:start;flex:0 0 72%}.gallery{columns:2;column-gap:.75rem}.gallery--row{gap:.75rem}.gallery--row li{flex-basis:calc(50% - .375rem - .1px)}.gallery li{margin-bottom:.75rem}.gallery figcaption{padding:.3rem .6rem;font-size:.65rem;bottom:.5rem;left:.5rem}.btn-row .btn{flex:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.js .reveal{opacity:1;translate:none}}}@layer utilities{.tw\:mt-\(--space-m\){margin-top:var(--space-m)}.tw\:text-\(length\:--step--1\){font-size:var(--step--1)}}@font-face{font-family:Space Grotesk;src:url(/assets/fonts/space-grotesk-variable.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:optional}@font-face{font-family:IBM Plex Sans;src:url(/assets/fonts/ibm-plex-sans-variable.woff2)format("woff2");font-weight:100 700;font-style:normal;font-display:optional}:root{--site-background:#f6f3ec;--site-surface:#fff;--site-surface-alt:#ebe5d8;--site-line:#d6ccb9;--site-muted:#55524b;--site-text:#24282b;--site-heading:#12303b;--site-accent:#9e3f17;--site-font-display:"Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--site-font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--site-font-mono:ui-monospace, "SFMono-Regular", monospace}@supports (animation-range:entry 0% entry 7.5rem){@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}}}
