@font-face{font-family: "Montserrat";font-style: normal;font-weight: 300;font-display: swap;src: url("/assets/fonts/montserrat-latin-300-normal.woff2") format("woff2");unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family: "Montserrat";font-style: normal;font-weight: 300;font-display: swap;src: url("/assets/fonts/montserrat-latin-ext-300-normal.woff2") format("woff2");unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family: "Montserrat";font-style: normal;font-weight: 400;font-display: swap;src: url("/assets/fonts/montserrat-latin-400-normal.woff2") format("woff2");unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family: "Montserrat";font-style: normal;font-weight: 400;font-display: swap;src: url("/assets/fonts/montserrat-latin-ext-400-normal.woff2") format("woff2");unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family: "Montserrat";font-style: normal;font-weight: 500;font-display: swap;src: url("/assets/fonts/montserrat-latin-500-normal.woff2") format("woff2");unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family: "Montserrat";font-style: normal;font-weight: 500;font-display: swap;src: url("/assets/fonts/montserrat-latin-ext-500-normal.woff2") format("woff2");unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family: "Sacramento";font-style: normal;font-weight: 400;font-display: swap;src: url("/assets/fonts/sacramento-latin-400-normal.woff2") format("woff2");unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family: "Sacramento";font-style: normal;font-weight: 400;font-display: swap;src: url("/assets/fonts/sacramento-latin-ext-400-normal.woff2") format("woff2");unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}:root{color-scheme: light;--color-anthracite: #353535;--color-anthracite-soft: #4a4a4a;--color-anthracite-deep: #2b2b2b;--color-white: #ffffff;--color-paper: #f7f7f5;--color-pierre-bleue: #4f5d68;--color-pierre-bleue-dark: #3e4a53;--color-pierre-bleue-light: #8c99a3;--color-pierre-bleue-mist: #eef1f3;--color-line: #e2e2e0;--color-on-dark-muted: #c9ced2;--text: var(--color-anthracite);--text-soft: var(--color-anthracite-soft);--accent: var(--color-pierre-bleue);--surface: var(--color-white);--surface-alt: var(--color-paper);--focus-ring: 0 0 0 3px var(--color-white), 0 0 0 6px var(--color-pierre-bleue);--font-sans: "Montserrat", "Segoe UI", system-ui, -apple-system, sans-serif;--font-script: "Sacramento", "Brush Script MT", cursive;--fs-body: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);--fs-small: 0.9375rem;--fs-lead: clamp(1.1875rem, 1.05rem + 0.55vw, 1.4rem);--fs-h3: clamp(1.3rem, 1.15rem + 0.6vw, 1.6rem);--fs-h2: clamp(1.85rem, 1.4rem + 1.9vw, 3rem);--fs-h1: clamp(2.35rem, 1.6rem + 3vw, 4.1rem);--lh-body: 1.65;--lh-tight: 1.12;--space-2xs: 0.375rem;--space-xs: 0.625rem;--space-s: 1rem;--space-m: 1.5rem;--space-l: 2.5rem;--space-xl: clamp(3.5rem, 2.5rem + 4vw, 6rem);--space-2xl: clamp(4.5rem, 3rem + 6vw, 8.5rem);--gutter: clamp(1rem, 0.5rem + 2.5vw, 2.5rem);--container: 82rem;--container-narrow: 46rem;--radius: 2px;--radius-stele: 999px 999px var(--radius) var(--radius);--ease-out: cubic-bezier(0.16, 1, 0.3, 1);--ease-soft: cubic-bezier(0.4, 0, 0.2, 1);--dur-fast: 180ms;--dur: 420ms;--dur-slow: 900ms;--shadow-soft: 0 1px 2px rgb(53 53 53 / 0.06), 0 8px 28px rgb(53 53 53 / 0.08);--z-header: 50;--z-menu: 60;--z-cookies: 70;--header-h: 4.75rem}*, *::before, *::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-padding-top: calc(var(--header-h) + 1rem)}@media (prefers-reduced-motion: no-preference){html{scroll-behavior: smooth}}body{margin: 0;font-family: var(--font-sans);font-size: var(--fs-body);font-weight: 400;line-height: var(--lh-body);color: var(--text);background: var(--surface);text-rendering: optimizeLegibility;-webkit-font-smoothing: antialiased}h1, h2, h3, h4{margin: 0 0 var(--space-s);font-weight: 300;line-height: var(--lh-tight);letter-spacing: -0.015em;text-wrap: balance}h1{font-size: var(--fs-h1)}h2{font-size: var(--fs-h2)}h3{font-size: var(--fs-h3);font-weight: 400;letter-spacing: -0.005em}p{margin: 0 0 var(--space-s);text-wrap: pretty}strong{font-weight: 500}img, svg, video{display: block;max-width: 100%;height: auto}ul[role="list"], ol[role="list"]{list-style: none;margin: 0;padding: 0}[hidden]{display: none !important}html:not(.js) .js-only{display: none !important}a{color: var(--accent);text-decoration-thickness: 1px;text-underline-offset: 0.2em;transition: color var(--dur-fast) var(--ease-soft)}a:hover{color: var(--color-pierre-bleue-dark);text-decoration-thickness: 2px}:focus-visible{outline: none;box-shadow: var(--focus-ring);border-radius: var(--radius)}::selection{background: var(--color-pierre-bleue);color: var(--color-white)}.lead{font-size: var(--fs-lead);line-height: 1.55;color: var(--text-soft);font-weight: 300}.script{font-family: var(--font-script);font-weight: 400;font-size: 1.45em;letter-spacing: 0;line-height: 0.8;color: var(--accent);padding-inline: 0.04em}.overline{display: block;margin-bottom: var(--space-s);font-size: 0.8125rem;font-weight: 500;letter-spacing: 0.22em;text-transform: uppercase;color: var(--accent)}.visually-hidden{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.skip-link{position: absolute;left: var(--space-s);top: -10rem;z-index: 100;padding: var(--space-xs) var(--space-s);background: var(--color-anthracite);color: var(--color-white);font-weight: 500}.skip-link:focus{top: var(--space-s);color: var(--color-white)}.placeholder{background: var(--color-pierre-bleue-mist);color: var(--text);padding: 0 0.3em;border-radius: var(--radius);font-size: 0.92em;white-space: nowrap}.icon{width: 1.25em;height: 1.25em;flex: none}@media (prefers-reduced-motion: no-preference){.js [data-reveal]{opacity: 0;transform: translateY(18px);transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);transition-delay: calc(var(--reveal-i, 0) * 90ms)}.js [data-reveal].is-visible{opacity: 1;transform: none}}.container{width: min(100% - 2 * var(--gutter), var(--container));margin-inline: auto}.container--narrow{width: min(100% - 2 * var(--gutter), var(--container-narrow));margin-inline: auto}.section{padding-block: var(--space-2xl);position: relative}.section--alt{background: var(--surface-alt)}.section--tight{padding-block: var(--space-xl)}.section--dark{background: var(--color-anthracite);color: var(--color-white)}.section--dark a:not(.btn){color: var(--color-white)}.section-head{max-width: 40rem;margin-bottom: var(--space-l)}.section-head p{color: var(--text-soft)}.watermark{position: relative;isolation: isolate;overflow: clip}.watermark::before{content: "";position: absolute;z-index: -1;pointer-events: none;inset: var(--wm-inset, -10% -12% auto auto);width: var(--wm-size, min(46rem, 70vw));aspect-ratio: 1;background: currentColor;opacity: var(--wm-opacity, 0.05);-webkit-mask: url("/assets/img/brand/hirondelles.svg") center / contain no-repeat;mask: url("/assets/img/brand/hirondelles.svg") center / contain no-repeat}.breadcrumb{font-size: var(--fs-small);color: var(--text-soft);padding-top: var(--space-m)}.breadcrumb ol{display: flex;flex-wrap: wrap;gap: 0.4rem;list-style: none;margin: 0;padding: 0}.breadcrumb li + li::before{content: "/";margin-right: 0.4rem;color: var(--color-line)}.btn{--btn-bg: transparent;--btn-fg: var(--color-anthracite);--btn-border: var(--color-anthracite);--btn-fill: var(--color-anthracite);--btn-fg-hover: var(--color-white);position: relative;isolation: isolate;overflow: hidden;display: inline-flex;align-items: center;justify-content: center;gap: 0.6rem;min-height: 3.25rem;padding: 0.8rem 1.5rem;font: 500 1rem/1.2 var(--font-sans);letter-spacing: 0.01em;white-space: nowrap;text-decoration: none;color: var(--btn-fg);background: var(--btn-bg);border: 1px solid var(--btn-border);border-radius: var(--radius);cursor: pointer;transition: color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-soft)}.btn::before{content: "";position: absolute;inset: 0;z-index: -1;background: var(--btn-fill);transform: scaleY(0);transform-origin: bottom;transition: transform var(--dur) var(--ease-out)}.btn:hover{color: var(--btn-fg-hover);text-decoration: none}.btn:hover::before{transform: scaleY(1)}.btn:active{transform: translateY(1px) scale(0.99)}.btn .icon{transition: transform var(--dur) var(--ease-out)}.btn:hover .icon--move{transform: translateX(4px)}.btn--primary{--btn-bg: var(--color-pierre-bleue);--btn-fg: var(--color-white);--btn-border: var(--color-pierre-bleue);--btn-fill: var(--color-anthracite)}.btn--primary:hover{border-color: var(--color-anthracite)}.btn--on-dark{--btn-fg: var(--color-white);--btn-border: var(--color-pierre-bleue-light);--btn-fill: var(--color-white);--btn-fg-hover: var(--color-anthracite)}.btn--primary-on-dark{--btn-bg: var(--color-white);--btn-fg: var(--color-anthracite);--btn-border: var(--color-white);--btn-fill: var(--color-pierre-bleue-mist);--btn-fg-hover: var(--color-anthracite)}.btn--small{min-height: 2.75rem;padding: 0.55rem 1.1rem;font-size: 0.9375rem}.link-arrow{display: inline-flex;align-items: center;gap: 0.5rem;font-weight: 500;text-decoration: none;color: var(--accent);padding-block: 0.6rem}.link-arrow .icon{transition: transform var(--dur) var(--ease-out)}.link-arrow:hover .icon, a:hover .link-arrow .icon{transform: translateX(5px)}.btn-row{display: flex;flex-wrap: wrap;gap: var(--space-s);align-items: center}@media (max-width: 30em){.btn-row .btn{flex: 1 1 100%}}.btn:disabled{opacity: 0.4;cursor: not-allowed}.btn:disabled::before{transform: scaleY(0)}.topbar{background: var(--color-anthracite);color: var(--color-white);font-size: var(--fs-small)}.topbar .container{display: flex;align-items: center;justify-content: space-between;gap: var(--space-m);min-height: 2.5rem}.topbar a{color: var(--color-white);text-decoration: none;display: inline-flex;align-items: center;gap: 0.45rem;padding-block: 0.4rem}.topbar a:hover{text-decoration: underline;color: var(--color-white)}.topbar__links{display: flex;gap: var(--space-l)}.topbar__muted{color: var(--color-on-dark-muted)}@media (max-width: 47.99em){.topbar{display: none}}.site-header{position: sticky;top: 0;z-index: var(--z-header);background: rgb(255 255 255 / 0.94);border-bottom: 1px solid transparent;transition: border-color var(--dur) var(--ease-soft), box-shadow var(--dur) var(--ease-soft)}@supports (backdrop-filter: blur(8px)){.site-header{background: rgb(255 255 255 / 0.86);backdrop-filter: saturate(140%) blur(10px)}}.site-header.is-stuck{border-bottom-color: var(--color-line);box-shadow: 0 6px 24px rgb(53 53 53 / 0.05)}.site-header__inner{display: flex;align-items: center;gap: var(--space-l);min-height: var(--header-h)}.brand{display: block;color: var(--color-anthracite);flex: none;padding-block: 0.35rem}.brand .logo{width: clamp(6.5rem, 5rem + 4vw, 8rem);height: auto}.logo__bird{transform-box: fill-box;transform-origin: center;transition: transform 700ms var(--ease-out);transition-delay: calc(var(--i) * 45ms)}@media (prefers-reduced-motion: no-preference){.brand:hover .logo__bird, .brand:focus-visible .logo__bird{transform: translate(6%, -16%) rotate(-4deg)}}.nav{margin-left: auto}.nav__list{display: flex;align-items: center;gap: clamp(1rem, 0.2rem + 1.2vw, 1.75rem);list-style: none;margin: 0;padding: 0}.nav__item{position: relative;display: flex;align-items: center}.nav__link{position: relative;display: inline-block;padding-block: 0.75rem;font-size: 0.9375rem;font-weight: 500;color: var(--text);text-decoration: none;white-space: nowrap}.nav__link::after{content: "";position: absolute;left: 0;right: 0;bottom: 0.45rem;height: 1px;background: var(--accent);transform: scaleX(0);transform-origin: left;transition: transform var(--dur) var(--ease-out)}.nav__link:hover, .nav__link[aria-current="page"], .nav__link.is-active{color: var(--accent)}.nav__link:hover::after, .nav__link[aria-current="page"]::after, .nav__link.is-active::after{transform: scaleX(1)}.nav__toggle{display: inline-grid;place-items: center;width: 1.75rem;height: 2.75rem;margin-left: 0.1rem;padding: 0;border: 0;background: none;color: var(--text);cursor: pointer}.nav__toggle .icon{width: 1rem;height: 1rem;transition: transform var(--dur) var(--ease-out)}.nav__toggle[aria-expanded="true"] .icon{transform: rotate(180deg)}.subnav{position: absolute;top: calc(100% + 0.5rem);left: -1.25rem;min-width: 21rem;padding: var(--space-xs);list-style: none;margin: 0;background: var(--color-white);border: 1px solid var(--color-line);border-radius: var(--radius);box-shadow: var(--shadow-soft);opacity: 0;visibility: hidden;transform: translateY(-6px);transition: opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out), visibility 0s linear var(--dur)}.nav__item.is-open .subnav{opacity: 1;visibility: visible;transform: none;transition-delay: 0s}.subnav a{display: block;padding: 0.8rem 1rem;text-decoration: none;color: var(--text);border-radius: var(--radius)}.subnav a:hover{background: var(--color-pierre-bleue-mist)}.subnav strong{display: block;font-weight: 500}.subnav span{display: block;font-size: var(--fs-small);color: var(--text-soft)}.header-actions{display: flex;align-items: center;gap: var(--space-xs)}.header-call, .menu-button{display: none}@media (max-width: 79.99em){.nav, .header-actions .btn{display: none}.header-actions{margin-left: auto}.header-call, .menu-button{display: inline-flex;align-items: center;justify-content: center;gap: 0.45rem;min-width: 3rem;min-height: 3rem;padding: 0 0.75rem;border: 1px solid var(--color-line);border-radius: var(--radius);background: var(--color-white);color: var(--text);font: 500 0.9375rem var(--font-sans);text-decoration: none;cursor: pointer}.header-call{color: var(--accent)}}@media (min-width: 48em) and (max-width: 79.99em){.header-actions .btn--primary{display: inline-flex}.header-call{display: none}}.mobile-menu{position: fixed;inset: 0;z-index: var(--z-menu);display: flex;flex-direction: column;background: var(--color-white);overflow-y: auto;overscroll-behavior: contain;visibility: hidden;opacity: 0;transform: translateY(-12px);transition: opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out), visibility 0s linear var(--dur)}.mobile-menu.is-open{visibility: visible;opacity: 1;transform: none;transition-delay: 0s}.mobile-menu__head{display: flex;align-items: center;justify-content: space-between;min-height: var(--header-h);padding-inline: var(--gutter);border-bottom: 1px solid var(--color-line)}.mobile-menu__body{padding: var(--space-m) var(--gutter) var(--space-l);display: grid;gap: var(--space-l)}.mobile-menu__list{list-style: none;margin: 0;padding: 0}.mobile-menu__list a{display: flex;align-items: center;justify-content: space-between;padding: 0.95rem 0;border-bottom: 1px solid var(--color-line);font-size: 1.3rem;font-weight: 300;color: var(--text);text-decoration: none}.mobile-menu__list .is-sub a{padding-left: 1.25rem;font-size: 1.125rem}.mobile-menu__ctas{display: grid;gap: var(--space-xs)}.mobile-menu__ctas .btn{width: 100%}body.menu-open{overflow: hidden}.cta-line{background: var(--surface-alt);border-top: 1px solid var(--color-line);padding-block: var(--space-m)}.cta-line__inner{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--space-xs) var(--space-l)}.cta-line__text{margin: 0;font-size: var(--fs-lead);font-weight: 300;color: var(--text)}.cta-line__links{display: flex;flex-wrap: wrap;gap: 0 var(--space-m)}.cta-line__wa{color: var(--text-soft)}.site-footer{background: var(--color-anthracite-deep);color: var(--color-on-dark-muted);font-size: var(--fs-small);padding-top: var(--space-l)}.site-footer a{color: var(--color-white);text-decoration: none}.site-footer a:hover{text-decoration: underline;color: var(--color-white)}.site-footer p a, .site-footer label a{text-decoration: underline;text-underline-offset: 0.2em}.footer-grid{display: grid;gap: var(--space-l);padding-bottom: var(--space-l)}@media (min-width: 48em){.footer-grid{grid-template-columns: 1fr 1fr}}@media (min-width: 72em){.footer-grid{grid-template-columns: 1fr 0.8fr 1.2fr;gap: var(--space-xl)}}.footer-brand .logo{width: 8.5rem;height: auto;margin-bottom: var(--space-s)}.footer-brand p{max-width: 22rem}.footer-slogan{margin-bottom: var(--space-xs);font-size: 1.15rem;font-weight: 300;line-height: 1.35;color: var(--color-white)}.footer-title{color: var(--color-white);font-size: 1rem;font-weight: 500;margin-bottom: var(--space-s)}.footer-links{list-style: none;margin: 0;padding: 0;display: grid;gap: 0.2rem}.footer-links a{display: inline-block;padding-block: 0.3rem}.footer-contact{list-style: none;margin: 0;padding: 0;display: grid;gap: 0.5rem}.footer-contact li{display: flex;gap: 0.6rem;align-items: center}.footer-contact .placeholder{background: rgb(255 255 255 / 0.1);color: var(--color-white)}.newsletter label{display: block;color: var(--color-white);margin-bottom: 0.4rem}.newsletter__row{display: flex;gap: 0;border: 1px solid var(--color-pierre-bleue-light);border-radius: var(--radius)}.newsletter__row:focus-within{box-shadow: 0 0 0 3px var(--color-anthracite-deep), 0 0 0 5px var(--color-white)}.newsletter input[type="email"]{flex: 1;min-width: 0;min-height: 3.25rem;padding: 0 1rem;background: transparent;border: 0;color: var(--color-white);font: inherit;font-size: 1rem}.newsletter input[type="email"]::placeholder{color: var(--color-on-dark-muted)}.newsletter input[type="email"]:focus{outline: none}.newsletter button{min-height: 3.25rem;padding: 0 1.1rem;border: 0;background: var(--color-white);color: var(--color-anthracite);font: 500 0.9375rem var(--font-sans);cursor: pointer;transition: background var(--dur-fast)}.newsletter button:hover{background: var(--color-pierre-bleue-mist)}.newsletter__consent{display: flex;gap: 0.6rem;align-items: flex-start;margin-top: var(--space-xs);color: var(--color-on-dark-muted)}.newsletter__consent input{margin-top: 0.3rem;width: 1.1rem;height: 1.1rem;accent-color: var(--color-pierre-bleue-light);flex: none}.newsletter__consent label{color: inherit;margin: 0}.hp{position: absolute !important;left: -9999px !important}.footer-bottom{border-top: 1px solid rgb(255 255 255 / 0.12);padding-block: var(--space-s);display: flex;flex-wrap: wrap;gap: var(--space-s) var(--space-l);align-items: center;justify-content: space-between}.footer-bottom ul{display: flex;flex-wrap: wrap;gap: var(--space-xs) var(--space-m);list-style: none;margin: 0;padding: 0}.footer-bottom button{background: none;border: 0;padding: 0.4rem 0;color: var(--color-white);font: inherit;cursor: pointer}.footer-bottom button:hover{text-decoration: underline}.footer-bottom a, .footer-bottom button{min-height: 2.75rem;display: inline-flex;align-items: center}.newsletter{margin-top: var(--space-m)}.footer-bottom p, .topbar p{margin: 0}@media (max-width: 47.99em){.footer-links{grid-template-columns: 1fr 1fr;gap: 0 var(--space-s)}.footer-grid{gap: var(--space-m)}}@media (max-width: 30em){.cta-line__links{gap: 0 var(--space-s)}.cta-line .link-arrow{font-size: 1rem}}.media{position: relative;margin: 0;overflow: hidden;background: var(--color-pierre-bleue-mist);border-radius: var(--radius)}.media img{width: 100%;height: 100%;object-fit: cover}.media--zoom img{transition: transform 1.2s var(--ease-out)}a:hover .media--zoom img, .media--zoom:hover img{transform: scale(1.04)}.frame--stele{border-radius: var(--radius-stele)}.media[data-provisoire]::after{content: "Photo provisoire – à remplacer";position: absolute;left: 0.6rem;bottom: 0.6rem;z-index: 2;padding: 0.25rem 0.55rem;background: rgb(53 53 53 / 0.82);color: var(--color-white);font: 500 0.75rem/1.3 var(--font-sans);letter-spacing: 0.02em;border-radius: var(--radius);pointer-events: none}.field{display: grid;gap: 0.4rem;margin-bottom: var(--space-m)}.field label, .field legend{font-weight: 500}.field__help{font-size: var(--fs-small);color: var(--text-soft)}.field__error{font-size: var(--fs-small);color: #9b2c2c}.input, .select, .textarea{width: 100%;min-height: 3.25rem;padding: 0.75rem 1rem;font: inherit;color: var(--text);background: var(--color-white);border: 1px solid #a9adb0;border-radius: var(--radius);transition: border-color var(--dur-fast), box-shadow var(--dur-fast)}.input:focus, .select:focus, .textarea:focus{outline: none;border-color: var(--accent);box-shadow: 0 0 0 3px rgb(79 93 104 / 0.25)}.textarea{min-height: 8rem;resize: vertical}.quote{display: grid;gap: var(--space-xl)}@media (min-width: 64em){.quote{grid-template-columns: 1fr 20rem;align-items: start}.quote__aside{position: sticky;top: calc(var(--header-h) + 1.5rem)}}.quote__form{min-width: 0}.qstep{border: 0;margin: 0 0 var(--space-xl);padding: 0;min-width: 0}.qstep > legend{display: flex;align-items: center;gap: 0.8rem;width: 100%;padding-bottom: var(--space-s);margin-bottom: var(--space-m);border-bottom: 1px solid var(--color-line);font-size: var(--fs-h3);font-weight: 300}.qstep__num{display: inline-grid;place-items: center;width: 2.2rem;height: 2.2rem;border: 1px solid var(--accent);border-radius: 50%;color: var(--accent);font-size: 1rem;font-weight: 500}fieldset.field{border: 0;padding: 0;min-width: 0}fieldset.field legend{margin-bottom: 0.5rem}.grid-2{display: grid;gap: 0 var(--space-m)}@media (min-width: 40em){.grid-2{grid-template-columns: 1fr 1fr}}.field small{font-weight: 400;color: var(--text-soft)}.input--file{padding: 0.7rem;min-height: 3.25rem}.consent{display: flex;gap: 0.75rem;align-items: flex-start;margin-bottom: var(--space-s)}.consent input{flex: none;width: 1.35rem;height: 1.35rem;margin-top: 0.2rem;accent-color: var(--color-pierre-bleue)}.quote__submit{margin: var(--space-s) 0}.quote__aside{padding: var(--space-l);background: var(--surface-alt);border-radius: var(--radius)}.quote__aside h2{font-size: 1.4rem;font-weight: 400}.quote__contact{margin-bottom: var(--space-m)}.quote__contact .placeholder{background: var(--color-pierre-bleue-mist);color: var(--text)}.progress{display: flex;gap: var(--space-xs);list-style: none;margin: 0 0 var(--space-l);padding: 0;counter-reset: p}.progress[hidden]{display: none}.progress li{flex: 1;padding-top: 0.6rem;border-top: 3px solid var(--color-line);font-size: var(--fs-small);color: var(--text-soft)}.progress li.is-current, .progress li.is-done{border-color: var(--accent);color: var(--text);font-weight: 500}[aria-invalid="true"]{border-color: #9b2c2c !important}.field__error{margin: 0.35rem 0 0;font-size: var(--fs-small);color: #9b2c2c;font-weight: 500}.form-alert{margin-bottom: var(--space-m);padding: var(--space-s) var(--space-m);border-left: 3px solid #9b2c2c;background: #f8eeee;color: #6e1f1f;border-radius: var(--radius)}.form-alert--status{border-color: var(--accent);background: var(--color-pierre-bleue-mist);color: var(--text)}.spinner{width: 1rem;height: 1rem;border: 2px solid currentColor;border-right-color: transparent;border-radius: 50%}@media (prefers-reduced-motion: no-preference){.spinner{animation: spin 0.8s linear infinite}}@keyframes spin{to{transform: rotate(360deg)}}button[aria-busy="true"]{cursor: progress;opacity: 0.85}.newsletter__status{margin: var(--space-xs) 0 0;color: var(--color-white);min-height: 1.4em}.newsletter__status:empty{min-height: 0}.qstep[hidden]{display: none}.qstep__nav{margin-top: var(--space-m)}.qstep > legend:focus{outline: none}.photo-list{display: grid;gap: var(--space-xs);grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));list-style: none;margin: var(--space-xs) 0 0;padding: 0}.photo-list:empty{display: none}.photo-list li{display: grid;gap: 0.3rem;font-size: 0.8125rem;color: var(--text-soft)}.photo-list img{width: 100%;aspect-ratio: 4 / 3;object-fit: cover;border-radius: var(--radius)}.photo-list span{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.photo-list__remove{justify-self: start;min-height: 2.5rem;padding: 0 0.6rem;background: none;border: 1px solid var(--color-line);border-radius: var(--radius);font: 500 0.875rem var(--font-sans);color: var(--text);cursor: pointer}.quote .qstep:last-of-type .btn[data-nav="prev"]{margin-right: var(--space-s)}.days{display: grid;gap: var(--space-xs);grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr))}.day input{position: absolute;opacity: 0;pointer-events: none}.day span{display: grid;gap: 0.15rem;min-height: 4.25rem;padding: 0.7rem 0.9rem;border: 1px solid #a9adb0;border-radius: var(--radius);cursor: pointer;transition: border-color var(--dur-fast), background var(--dur-fast), transform var(--dur-fast)}.day strong{display: block;font-weight: 500}.day strong::first-letter{text-transform: uppercase}.day small{font-size: 0.875rem;color: var(--text-soft)}.day span:hover{border-color: var(--color-anthracite);transform: translateY(-1px)}.day input:checked + span{background: var(--color-anthracite);border-color: var(--color-anthracite);color: var(--color-white)}.day input:checked + span small{color: var(--color-on-dark-muted)}.day input:focus-visible + span{box-shadow: var(--focus-ring)}.day--skeleton{display: block;height: 4.25rem;border-radius: var(--radius);background: linear-gradient(90deg, var(--surface-alt) 25%, var(--color-pierre-bleue-mist) 50%, var(--surface-alt) 75%);background-size: 200% 100%}@media (prefers-reduced-motion: no-preference){.day--skeleton{animation: shimmer 1.4s ease-in-out infinite}}@keyframes shimmer{to{background-position: -200% 0}}.days__nav{display: flex;justify-content: space-between;gap: var(--space-xs);margin-top: var(--space-s)}.days__nav[hidden]{display: none}.days__nav [data-days-prev] .icon{transform: scaleX(-1)}@media (max-width: 30em){.days__nav .btn span{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0)}}.slots .chip span{min-width: 5.5rem;justify-content: center;font-variant-numeric: tabular-nums}.booking__recap{font-size: var(--fs-lead);font-weight: 300}.booking__recap:empty{display: none}.booking__recap strong{font-weight: 500;text-transform: none}.option-checks{display: grid;gap: var(--space-xs)}.option-check{display: grid;grid-template-columns: auto 1fr auto;gap: 0.2rem var(--space-s);align-items: start;padding: 0.85rem 1rem;border: 1px solid #a9adb0;border-radius: var(--radius);cursor: pointer;transition: border-color var(--dur-fast), background var(--dur-fast)}.option-check:hover{border-color: var(--color-anthracite)}.option-check:has(input:checked){border-color: var(--accent);background: var(--color-pierre-bleue-mist)}.option-check:has(input:focus-visible){box-shadow: var(--focus-ring)}.option-check input{width: 1.25rem;height: 1.25rem;margin-top: 0.15rem;accent-color: var(--color-pierre-bleue)}.option-check strong{display: block;font-weight: 500}.option-check small{display: block;font-size: var(--fs-small);color: var(--text-soft)}.option-check__price{white-space: nowrap;font-weight: 500}@media (max-width: 30em){.option-check{grid-template-columns: auto 1fr}.option-check__price{grid-column: 2}}.quote-summary{margin: var(--space-s) 0 var(--space-m);padding: var(--space-m);background: var(--surface-alt);border-left: 2px solid var(--accent);border-radius: var(--radius)}.quote-summary__title{font-weight: 500;margin-bottom: var(--space-xs)}.quote-summary ul{list-style: none;margin: 0 0 var(--space-xs);padding: 0}.quote-summary li{display: flex;justify-content: space-between;gap: var(--space-s);padding: 0.45rem 0;border-bottom: 1px solid var(--color-line)}.quote-summary li small{display: block;font-size: var(--fs-small);color: var(--text-soft)}.quote-summary li strong{font-weight: 500;white-space: nowrap}.quote-summary__total{margin: var(--space-xs) 0;font-size: var(--fs-lead);font-weight: 300}.quote-summary__total strong{font-weight: 500}.slot-picker{margin: 0 0 var(--space-l);padding: var(--space-m);border: 1px solid var(--color-line);border-radius: var(--radius)}.slot-picker__title{font-weight: 500;margin-bottom: 0.2rem}.slot-picker .field{margin-bottom: var(--space-s)}.slot-picker [data-slots-step]:disabled{opacity: 0.45}.cookie-banner{position: fixed;z-index: var(--z-cookies);left: var(--gutter);right: var(--gutter);bottom: var(--gutter);max-width: 30rem;padding: var(--space-m);background: var(--color-white);color: var(--text);border: 1px solid var(--color-line);border-radius: var(--radius);box-shadow: 0 18px 48px rgb(53 53 53 / 0.18);font-size: var(--fs-small)}@media (min-width: 48em){.cookie-banner{left: auto}}.cookie-banner[hidden]{display: none}@media (prefers-reduced-motion: no-preference){.cookie-banner{animation: cookie-in 600ms var(--ease-out) both}}@keyframes cookie-in{from{opacity: 0;transform: translateY(16px)}}.cookie-banner h2{font-size: 1.15rem;font-weight: 500;margin-bottom: var(--space-xs)}.cookie-banner p{margin-bottom: var(--space-s)}.cookie-banner__actions{display: grid;grid-template-columns: 1fr 1fr;gap: var(--space-xs)}.cookie-banner__actions .btn{width: 100%;padding-inline: 0.8rem}.cookie-banner__more{grid-column: 1 / -1;justify-self: center;background: none;border: 0;padding: 0.6rem;font: 500 var(--fs-small) var(--font-sans);color: var(--accent);text-decoration: underline;text-underline-offset: 0.2em;cursor: pointer;min-height: 2.75rem}.cookie-dialog{width: min(100% - 2rem, 36rem);padding: 0;border: 0;border-radius: var(--radius);box-shadow: 0 24px 64px rgb(53 53 53 / 0.25);color: var(--text)}.cookie-dialog::backdrop{background: rgb(43 43 43 / 0.55)}.cookie-dialog form{padding: var(--space-l) var(--space-m) var(--space-m)}.cookie-dialog h2{font-size: 1.4rem;font-weight: 400}.cookie-choice{display: grid;grid-template-columns: 1fr auto;gap: 0.25rem var(--space-s);align-items: center;padding-block: var(--space-s);border-top: 1px solid var(--color-line)}.cookie-choice p{grid-column: 1;margin: 0;font-size: var(--fs-small);color: var(--text-soft)}.cookie-choice label{font-weight: 500}.cookie-choice input{grid-row: 1 / span 2;grid-column: 2;width: 1.5rem;height: 1.5rem;accent-color: var(--color-pierre-bleue)}.cookie-dialog .btn-row{margin-top: var(--space-m)}body.menu-open .cookie-banner{display: none}.wa{position: fixed;right: var(--gutter);bottom: var(--gutter);z-index: calc(var(--z-cookies) - 5);display: flex;flex-direction: column;align-items: flex-end;gap: 0.75rem;pointer-events: none;transition: opacity var(--dur) var(--ease-soft), transform var(--dur) var(--ease-out)}.wa > *{pointer-events: auto}.wa.is-tucked{opacity: 0;transform: translateY(12px);pointer-events: none}.wa.is-tucked > *{pointer-events: none}body:has([data-cookie-banner]:not([hidden])) .wa, body.menu-open .wa{display: none}.wa__btn{display: grid;place-items: center;width: 3.75rem;height: 3.75rem;border-radius: 50%;background: var(--color-anthracite);color: var(--color-white);box-shadow: 0 10px 28px rgb(43 43 43 / 0.28);transition: transform var(--dur) var(--ease-out), background var(--dur-fast)}.wa__btn .icon{width: 1.75rem;height: 1.75rem}.wa__btn:hover{background: var(--color-pierre-bleue);color: var(--color-white);transform: translateY(-2px)}.wa__bubble{position: relative;display: grid;grid-template-columns: auto 1fr;gap: 0.75rem;align-items: center;max-width: min(19rem, calc(100vw - 2 * var(--gutter)));padding: 0.9rem 2.6rem 0.9rem 0.9rem;background: var(--color-white);border: 1px solid var(--color-line);border-radius: var(--radius);box-shadow: 0 16px 40px rgb(53 53 53 / 0.16);opacity: 0;transform: translateY(10px) scale(0.98);transform-origin: bottom right;transition: opacity 500ms var(--ease-out), transform 600ms var(--ease-out)}.wa__bubble.is-visible{opacity: 1;transform: none}.wa__bubble::after{content: "";position: absolute;right: 1.4rem;bottom: -6px;width: 12px;height: 12px;background: var(--color-white);border-right: 1px solid var(--color-line);border-bottom: 1px solid var(--color-line);transform: rotate(45deg)}.wa__avatar{display: grid;place-items: center;width: 2.75rem;height: 2.75rem;border-radius: 50%;background: var(--color-pierre-bleue-mist);color: var(--color-anthracite)}.wa__birds{display: block;width: 1.9rem;height: 1.9rem;background: currentColor;-webkit-mask: url("/assets/img/brand/hirondelles.svg") center / contain no-repeat;mask: url("/assets/img/brand/hirondelles.svg") center / contain no-repeat}.wa__text{color: var(--text);text-decoration: none;font-size: 0.975rem;line-height: 1.45}.wa__text:hover{color: var(--accent)}.wa__close{position: absolute;top: 0.3rem;right: 0.3rem;display: grid;place-items: center;width: 2.25rem;height: 2.25rem;border: 0;background: none;color: var(--text-soft);cursor: pointer;border-radius: var(--radius)}.wa__close:hover{background: var(--surface-alt)}@media (prefers-reduced-motion: reduce){.wa__bubble, .wa{transition: none}}@media (prefers-reduced-motion: no-preference){.wa__bubble.is-visible .wa__birds{animation: wa-birds 1.2s var(--ease-out) 150ms both}}@keyframes wa-birds{from{opacity: 0;transform: translate(-30%, 30%) scale(0.7) rotate(8deg)}}.hero{padding-block: clamp(1.5rem, 0.5rem + 3vw, 3.5rem) var(--space-xl);overflow: clip}.hero__grid{display: grid;gap: var(--space-l);align-items: center}@media (min-width: 56em){.hero__grid{grid-template-columns: 1.1fr 0.9fr;gap: clamp(2rem, 1rem + 4vw, 6rem)}.hero__visual .media{aspect-ratio: auto;height: clamp(26rem, 100dvh - 15rem, 40rem)}}.hero h1{max-width: 13ch;margin-bottom: var(--space-m)}.hero h1 .script{display: inline-block;margin-top: 0.08em;padding-bottom: 0.08em}.hero .lead{max-width: 30rem;margin-bottom: var(--space-l)}.hero__visual{position: relative;justify-self: center;width: min(100%, 34rem)}.hero__visual .media{aspect-ratio: 4 / 5}@media (max-width: 55.99em){.hero__visual{width: min(100%, 26rem)}.hero__visual .media{aspect-ratio: 5 / 6}}.hero__swallows{position: absolute;top: -8%;right: -9%;width: 58%;color: var(--color-anthracite);pointer-events: none}@media (max-width: 55.99em){.hero__swallows{right: -6%;width: 52%}}.swallow{transform-box: fill-box;transform-origin: center}@media (prefers-reduced-motion: no-preference){.hero__visual .media img{animation: hero-breathe 2.4s var(--ease-out) both}.hero__swallows .swallow{animation: swallow-in 1.8s var(--ease-out) both, swallow-glide 9s ease-in-out 2s infinite alternate;animation-delay: calc(400ms + var(--i) * 120ms), calc(2.2s + var(--i) * 0.7s)}.hero__copy > *{animation: rise 1s var(--ease-out) both}.hero__copy > :nth-child(2){animation-delay: 120ms}.hero__copy > :nth-child(3){animation-delay: 240ms}}@keyframes hero-breathe{from{transform: scale(1.07);filter: saturate(0.7)}}@keyframes swallow-in{from{opacity: 0;transform: translate(-60%, 80%) rotate(12deg) scale(0.8)}}@keyframes swallow-glide{to{transform: translate(4%, -6%) rotate(-3deg)}}@keyframes rise{from{opacity: 0;transform: translateY(14px)}}.manifesto{--wm-inset: auto -8% -30% auto;--wm-size: min(40rem, 90vw)}.manifesto__statement{font-size: clamp(1.6rem, 1.15rem + 1.9vw, 2.6rem);font-weight: 300;line-height: 1.28;letter-spacing: -0.015em;max-width: 26ch;margin-bottom: var(--space-xl)}.manifesto__statement em{font-style: normal;color: var(--accent)}.pledges{display: grid;gap: var(--space-l);list-style: none;margin: 0;padding: 0}@media (min-width: 48em){.pledges{grid-template-columns: repeat(3, 1fr);gap: 0}.pledges li{padding-inline: var(--space-l);border-left: 1px solid var(--color-line)}.pledges li:first-child{padding-left: 0;border-left: 0}}.pledges h3{font-size: 1.2rem;font-weight: 500;margin-bottom: var(--space-xs)}.pledges p{color: var(--text-soft);margin: 0}.universes{display: grid;gap: var(--space-l) var(--space-m)}@media (min-width: 48em){.universes{grid-template-columns: repeat(12, 1fr)}.universe--a{grid-column: 1 / 8;grid-row: 1 / 3}.universe--b{grid-column: 8 / 13}.universe--c{grid-column: 8 / 13}.universe--d{grid-column: 1 / 6}.universe--e{grid-column: 6 / 13}}.universe{display: flex;flex-direction: column;text-decoration: none;color: var(--text)}.universe:hover{color: var(--text)}.universe .media{aspect-ratio: 3 / 2;margin-bottom: var(--space-s)}@media (min-width: 48em){.universe--a .media{aspect-ratio: auto;flex: 1;min-height: 18rem}.universe--a .media img{position: absolute;inset: 0}.universe--e .media{aspect-ratio: 16 / 7}}.universe h3{display: flex;align-items: center;justify-content: space-between;gap: var(--space-s);margin-bottom: 0.3rem}.universe h3 .icon{color: var(--accent);transition: transform var(--dur) var(--ease-out)}.universe:hover h3 .icon{transform: translate(3px, -3px)}.universe p{color: var(--text-soft);margin: 0;font-size: 1rem}.universe__note{color: var(--accent);font-weight: 500}.swatches{position: relative;display: grid;grid-template-columns: repeat(3, 1fr);gap: 0.5rem;aspect-ratio: 3 / 2;margin-bottom: var(--space-s)}.swatch{position: relative;overflow: hidden;border-radius: var(--radius);background: var(--color-pierre-bleue-mist);transition: transform 700ms var(--ease-out)}.swatch img{width: 100%;height: 100%;object-fit: cover}.swatch span{position: absolute;left: 0.5rem;right: 0.5rem;bottom: 0.5rem;padding: 0.3rem 0.45rem;background: rgb(255 255 255 / 0.92);font-size: 0.8125rem;font-weight: 500;line-height: 1.25;border-radius: var(--radius)}.swatch:nth-child(2){transform: translateY(8%)}@media (prefers-reduced-motion: no-preference){.universe:hover .swatch:nth-child(1){transform: translateY(-4%) rotate(-1.5deg)}.universe:hover .swatch:nth-child(2){transform: translateY(2%)}.universe:hover .swatch:nth-child(3){transform: translateY(-4%) rotate(1.5deg)}}.engrave__grid{display: grid;gap: var(--space-l);grid-template-areas: "intro" "preview" "controls"}.engrave__intro{grid-area: intro}.engrave__preview{grid-area: preview}.engrave__controls{grid-area: controls}@media (min-width: 60em){.engrave__grid{grid-template-columns: 0.85fr 1.15fr;grid-template-areas: "intro preview" "controls preview";gap: var(--space-m) var(--space-xl);align-items: start}.engrave__preview{align-self: center}}.engrave__intro p{color: var(--text-soft);max-width: 32rem}.stone{position: relative;isolation: isolate;overflow: hidden;aspect-ratio: 5 / 4;border-radius: 50% 50% var(--radius) var(--radius) / 24% 24% var(--radius) var(--radius);box-shadow: 0 30px 60px -30px rgb(43 43 43 / 0.55), inset 0 0 0 1px rgb(255 255 255 / 0.06);display: grid;place-items: center;text-align: center;padding: 14% 10% 10%}@media (max-width: 40em){.stone{aspect-ratio: 1;border-radius: 50% 50% var(--radius) var(--radius) / 30% 30% var(--radius) var(--radius)}}.stone__bg{position: absolute;inset: 0;z-index: -1;opacity: 0;transition: opacity 700ms var(--ease-soft)}.stone__bg img{width: 100%;height: 100%;object-fit: cover}.stone__bg--granit-noir img{filter: grayscale(1) brightness(0.42) contrast(1.15)}.stone__bg--pierre-bleue img{filter: brightness(0.8)}.stone::after{content: "";position: absolute;inset: 0;z-index: -1;background: radial-gradient(120% 90% at 30% 10%, rgb(255 255 255 / 0.16), transparent 55%), linear-gradient(180deg, transparent 60%, rgb(0 0 0 / 0.18));pointer-events: none}.stone__text{--ink: rgb(255 255 255 / 0.82);--hi: rgb(255 255 255 / 0.22);--lo: rgb(0 0 0 / 0.75);margin: 0;color: var(--ink);text-shadow: 0 -1px 0 var(--lo), 0 1px 0 var(--hi), 0 0 1px rgb(0 0 0 / 0.4);font-size: clamp(1.25rem, 0.9rem + 1.6vw, 2.1rem);line-height: 1.45;font-weight: 500;letter-spacing: 0.18em;text-transform: uppercase;white-space: pre-line;overflow-wrap: anywhere;transition: color 500ms var(--ease-soft)}.stone__text.is-chiselling{animation: chisel 650ms var(--ease-out)}@keyframes chisel{from{clip-path: inset(0 100% 0 0)}to{clip-path: inset(0 0 0 0)}}.engrave:has(#pierre-granit-noir:checked) .stone__bg--granit-noir, .engrave:has(#pierre-pierre-bleue:checked) .stone__bg--pierre-bleue, .engrave:has(#pierre-granit-gris:checked) .stone__bg--granit-gris{opacity: 1}.engrave:has(#pierre-granit-gris:checked) .stone__text{--ink: rgb(30 30 30 / 0.78);--hi: rgb(255 255 255 / 0.55);--lo: rgb(0 0 0 / 0.45)}.engrave:has(#style-script:checked) .stone__text{font-family: var(--font-script);text-transform: none;letter-spacing: 0;font-size: clamp(2.2rem, 1.5rem + 3vw, 3.9rem);line-height: 1.15}.engrave:has(#dorure:checked) .stone__text{background: linear-gradient(170deg, #f3dc9c 10%, #b98d3b 45%, #f1d68f 60%, #9c7430 95%);-webkit-background-clip: text;background-clip: text;color: transparent;text-shadow: none;filter: drop-shadow(0 1px 0 rgb(0 0 0 / 0.55))}@supports not selector(:has(*)){.stone__bg--granit-noir{opacity: 1}}.engrave__controls{display: grid;gap: var(--space-m)}.engrave__controls .field{margin: 0}.engrave__controls fieldset{border: 0;margin: 0;padding: 0}.engrave__controls legend{font-weight: 500;margin-bottom: 0.5rem}.chips{display: flex;flex-wrap: wrap;gap: 0.5rem}.chip input{position: absolute;opacity: 0;pointer-events: none}.chip span{display: inline-flex;align-items: center;gap: 0.5rem;min-height: 3rem;padding: 0.55rem 1rem;border: 1px solid #a9adb0;border-radius: var(--radius);cursor: pointer;font-size: 1rem;transition: background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast)}.chip span:hover{border-color: var(--color-anthracite)}.chip input:checked + span{background: var(--color-anthracite);border-color: var(--color-anthracite);color: var(--color-white)}.chip input:focus-visible + span{box-shadow: var(--focus-ring)}.chip i{display: inline-block;width: 1rem;height: 1rem;border-radius: 50%;border: 1px solid rgb(0 0 0 / 0.2)}.engrave__textarea{min-height: 6rem;text-transform: none}.engrave__counter{font-size: var(--fs-small);color: var(--text-soft);justify-self: end}.engrave__cta{margin: 0}.process__grid{display: grid;gap: var(--space-l)}@media (min-width: 60em){.process__grid{grid-template-columns: 0.9fr 1.1fr;gap: var(--space-xl);align-items: start}.process__visual{position: sticky;top: calc(var(--header-h) + 2rem)}}.process__visual .media{aspect-ratio: 4 / 5}@media (max-width: 59.99em){.process__visual .media{aspect-ratio: 16 / 10}}.steps{position: relative;list-style: none;margin: var(--space-l) 0 0;padding: 0 0 0 2.75rem;counter-reset: step}.steps::before, .steps::after{content: "";position: absolute;left: 0.75rem;top: 0.5rem;bottom: 0.5rem;width: 1px;background: var(--color-line)}.steps::after{background: var(--accent);transform-origin: top;transform: scaleY(1)}@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){.steps::after{animation: draw-line linear both;animation-timeline: view();animation-range: entry 30% cover 60%}}}@keyframes draw-line{from{transform: scaleY(0)}to{transform: scaleY(1)}}.step{position: relative;padding-bottom: var(--space-l)}.step:last-child{padding-bottom: 0}.step::before{counter-increment: step;content: counter(step);position: absolute;left: -2.75rem;top: 0;z-index: 1;display: grid;place-items: center;width: 1.55rem;height: 1.55rem;background: var(--surface-alt);border: 1px solid var(--accent);border-radius: 50%;font-size: 0.8125rem;font-weight: 500;color: var(--accent)}.step h3{margin-bottom: 0.4rem}.step p{color: var(--text-soft);margin: 0}.process__note{margin-top: var(--space-l);padding: var(--space-m);background: var(--color-pierre-bleue-mist);border-left: 2px solid var(--accent);border-radius: var(--radius)}.process__note p{margin: 0}.works__head{display: flex;flex-wrap: wrap;align-items: end;justify-content: space-between;gap: var(--space-s);margin-bottom: var(--space-l)}.works__head h2{margin: 0}.works__track{display: grid;grid-auto-flow: column;grid-auto-columns: min(78vw, 22rem);gap: var(--space-m);--track-pad: max(var(--gutter), calc((100% - var(--container)) / 2));overflow-x: auto;scroll-snap-type: x mandatory;padding-inline: var(--track-pad);scroll-padding-inline: var(--track-pad);padding-bottom: var(--space-s);scrollbar-width: thin;scrollbar-color: var(--color-pierre-bleue-light) transparent;list-style: none;margin: 0}.works__track li{scroll-snap-align: start}.works__track li:nth-child(even) .media{aspect-ratio: 4 / 5;margin-top: var(--space-l)}.works__track .media{aspect-ratio: 3 / 4}.works__track figcaption{margin-top: var(--space-xs);font-size: 1rem;color: var(--text-soft)}.works__controls{display: flex;gap: var(--space-xs)}.works__controls button{display: inline-grid;place-items: center;width: 3rem;height: 3rem;border: 1px solid var(--color-line);border-radius: var(--radius);background: var(--color-white);color: var(--text);cursor: pointer;transition: border-color var(--dur-fast)}.works__controls button:hover{border-color: var(--color-anthracite)}.works__controls .icon--flip{transform: scaleX(-1)}.advice__grid{display: grid;gap: var(--space-l)}@media (min-width: 60em){.advice__grid{grid-template-columns: 1.4fr 0.6fr;gap: var(--space-xl);align-items: end}}.advice__list{list-style: none;margin: 0 0 var(--space-m);padding: 0;border-top: 1px solid var(--color-line)}.advice__list li{border-bottom: 1px solid var(--color-line)}.advice__list a{display: grid;grid-template-columns: 1fr auto;gap: 0.25rem var(--space-m);align-items: center;padding: var(--space-m) 0;text-decoration: none;color: var(--text)}.advice__list .cat{grid-column: 1;font-size: var(--fs-small);color: var(--accent);font-weight: 500}.advice__list .title{grid-column: 1;font-size: var(--fs-h3);font-weight: 300;line-height: 1.3;transition: color var(--dur-fast)}.advice__list .icon{grid-column: 2;grid-row: 1 / span 2;color: var(--accent);width: 1.5rem;height: 1.5rem;transition: transform var(--dur) var(--ease-out)}.advice__list a:hover .title{color: var(--accent)}.advice__list a:hover .icon{transform: translateX(6px)}.advice__visual .media{aspect-ratio: 3 / 4}@media (max-width: 59.99em){.advice__visual{display: none}}.page-head{padding-block: var(--space-l) var(--space-m)}.page-head__grid{display: grid;gap: var(--space-l);align-items: center}.page-head h1{max-width: 18ch;margin-bottom: var(--space-s)}.page-head .lead{max-width: 38rem;margin: 0}@media (min-width: 56em){.page-head--visual .page-head__grid{grid-template-columns: 1.2fr 0.8fr}}.page-head__visual{aspect-ratio: 4 / 3}@media (min-width: 56em){.page-head__visual{aspect-ratio: 5 / 6;max-height: 30rem}}.split{display: grid;gap: var(--space-l);align-items: center}@media (min-width: 56em){.split{grid-template-columns: 1fr 1fr;gap: var(--space-xl)}.split--reverse > :first-child{order: 2}}.split__visual{aspect-ratio: 4 / 3}.split p{color: var(--text-soft);max-width: 36rem}.facts{display: grid;gap: var(--space-m);margin: 0}.facts div{padding: var(--space-m);background: var(--color-white);border-left: 2px solid var(--accent);border-radius: var(--radius)}.section--alt .facts div{background: var(--color-white)}.section:not(.section--alt) .facts div{background: var(--surface-alt)}.facts dt{font-weight: 500;margin-bottom: 0.25rem}.facts dd{margin: 0;color: var(--text-soft)}@media (min-width: 56em){.facts--row{grid-template-columns: repeat(3, 1fr)}}.ticks{list-style: none;margin: 0 0 var(--space-m);padding: 0;display: grid;gap: 0.4rem}.ticks li{position: relative;padding-left: 1.6rem}.ticks li::before{content: "";position: absolute;left: 0.15rem;top: 0.6em;width: 0.7rem;height: 0.35rem;border-left: 1.5px solid var(--accent);border-bottom: 1.5px solid var(--accent);transform: rotate(-45deg)}.prose{max-width: 42rem}.prose h2{font-size: clamp(1.45rem, 1.2rem + 1vw, 1.9rem);margin-top: var(--space-l)}.prose h3{margin-top: var(--space-m)}.prose ul, .prose ol{padding-left: 1.25rem;margin: 0 0 var(--space-s)}.prose li{margin-bottom: 0.4rem}.prose li::marker{color: var(--accent)}.prose table{width: 100%;border-collapse: collapse;margin-bottom: var(--space-m);font-size: var(--fs-small)}.prose th, .prose td{text-align: left;padding: 0.7rem 0.6rem;border-bottom: 1px solid var(--color-line);vertical-align: top}.prose th{font-weight: 500}.table-scroll{overflow-x: auto}.note{padding: var(--space-m);background: var(--color-pierre-bleue-mist);border-left: 2px solid var(--accent);border-radius: var(--radius)}.note p:last-child{margin: 0}.badge{display: inline-block;padding: 0.2rem 0.55rem;font-size: 0.8125rem;font-weight: 500;border-radius: var(--radius);background: var(--color-pierre-bleue-mist);color: var(--accent)}.badge--soon{background: var(--surface-alt);color: var(--text-soft);border: 1px solid var(--color-line)}.badge + h2, .badge + h3{margin-top: var(--space-s)}.materials{display: grid;gap: var(--space-2xl)}.material{display: grid;gap: var(--space-l);align-items: center}@media (min-width: 56em){.material{grid-template-columns: 0.9fr 1.1fr;gap: var(--space-xl)}.material:nth-child(even) .material__visual{order: 2}}.material__visual{aspect-ratio: 4 / 5;max-height: 34rem;border-radius: 50% 50% var(--radius) var(--radius) / 22% 22% var(--radius) var(--radius)}.material__tag{color: var(--accent);font-weight: 500;margin-bottom: 0.3rem}.material__body > p{color: var(--text-soft);max-width: 36rem}.price-dots{display: inline-flex;gap: 0.1rem;margin-right: 0.35rem;font-weight: 500}.price-dots i{font-style: normal;color: var(--color-line)}.price-dots i.is-on{color: var(--text)}.shades{display: grid;gap: var(--space-m);grid-template-columns: repeat(2, 1fr)}@media (min-width: 40em){.shades{grid-template-columns: repeat(4, 1fr)}}@media (min-width: 64em){.shades{grid-template-columns: repeat(7, 1fr)}}.shade__chip{position: relative;aspect-ratio: 1;overflow: hidden;border-radius: var(--radius);margin-bottom: var(--space-xs);box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.06);transition: transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out)}.shade__chip img{width: 100%;height: 100%;object-fit: cover}.shade:hover .shade__chip{transform: translateY(-4px);box-shadow: var(--shadow-soft)}.shade__chip[data-provisoire]::after{content: "Provisoire";position: absolute;left: 0.4rem;bottom: 0.4rem;padding: 0.15rem 0.4rem;background: rgb(53 53 53 / 0.82);color: var(--color-white);font: 500 0.6875rem/1.3 var(--font-sans);border-radius: var(--radius)}.shade__name{margin: 0;font-weight: 500}.shade__mat{margin: 0;font-size: var(--fs-small);color: var(--text-soft)}.services{display: grid;gap: var(--space-xl) var(--space-l)}@media (min-width: 56em){.services{grid-template-columns: 1fr 1fr}.service:first-child{grid-column: 1 / -1;display: grid;grid-template-columns: 1.2fr 0.8fr;gap: var(--space-xl);align-items: center}.service:first-child .service__media{aspect-ratio: 16 / 10;margin: 0}}.service__media{aspect-ratio: 3 / 2;margin-bottom: var(--space-s)}.service p{color: var(--text-soft);max-width: 34rem}.soon{display: grid;gap: var(--space-m);grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));margin-bottom: var(--space-m)}.soon li{padding: var(--space-m);background: var(--color-white);border-radius: var(--radius);border: 1px solid var(--color-line)}.soon h3{font-size: 1.15rem;font-weight: 500}.soon p{color: var(--text-soft);margin: 0;font-size: 1rem}.gfilters{display: flex;flex-wrap: wrap;gap: var(--space-m) var(--space-xl);align-items: end;margin: var(--space-l) 0}.gfilters[hidden]{display: none}.gfilters fieldset{border: 0;margin: 0;padding: 0}.gfilters legend{font-weight: 500;margin-bottom: 0.5rem}.gallery{columns: 3 18rem;column-gap: var(--space-m);margin-top: var(--space-l)}.gallery__item{break-inside: avoid;margin-bottom: var(--space-l)}.gallery__item[hidden]{display: none}.gallery__item:nth-child(3n+1) .media{aspect-ratio: 4 / 5}.gallery__item:nth-child(3n+2) .media{aspect-ratio: 1}.gallery__item:nth-child(3n) .media{aspect-ratio: 3 / 4}.gallery figure{margin: 0}.gallery figcaption{display: grid;margin-top: var(--space-xs)}.gallery figcaption span{font-size: var(--fs-small);color: var(--text-soft)}.compare{position: relative;--pos: 50%}.compare__img{position: absolute;inset: 0}.compare__img img{width: 100%;height: 100%;object-fit: cover}.compare__img--before{clip-path: inset(0 calc(100% - var(--pos)) 0 0)}.compare::before{content: "";position: absolute;top: 0;bottom: 0;left: var(--pos);z-index: 2;width: 2px;margin-left: -1px;background: var(--color-white);box-shadow: 0 0 0 1px rgb(0 0 0 / 0.15);pointer-events: none}.compare__label{position: absolute;top: 0.6rem;z-index: 2;padding: 0.2rem 0.5rem;background: rgb(255 255 255 / 0.9);font-size: 0.8125rem;font-weight: 500;border-radius: var(--radius)}.compare__label--before{left: 0.6rem}.compare__label--after{right: 0.6rem}.compare input[type=range]{position: absolute;inset: 0;z-index: 3;width: 100%;height: 100%;margin: 0;opacity: 0;cursor: ew-resize}.compare input[type=range]:focus-visible + * , .compare:has(input:focus-visible){box-shadow: var(--focus-ring)}.timeline{list-style: none;margin: 0 0 var(--space-m);padding: 0;display: grid;gap: var(--space-l);counter-reset: t}.timeline li{position: relative;display: grid;gap: 0.3rem;padding-left: 2rem}.timeline li::before{content: "";position: absolute;left: 0.3rem;top: 0.45rem;width: 0.7rem;height: 0.7rem;border-radius: 50%;background: var(--surface);border: 1.5px solid var(--accent);z-index: 1}.timeline li::after{content: "";position: absolute;left: 0.62rem;top: 1.2rem;bottom: calc(-1 * var(--space-l));width: 1px;background: var(--color-line)}.timeline li:last-child::after{display: none}.timeline span{color: var(--text-soft)}@media (min-width: 56em){.timeline{grid-template-columns: repeat(4, 1fr);gap: var(--space-m)}.timeline li{padding: 1.75rem 0 0}.timeline li::before{left: 0;top: 0}.timeline li::after{left: 0.9rem;right: calc(-1 * var(--space-m));top: 0.37rem;bottom: auto;width: auto;height: 1px}}.timeline__note{color: var(--text-soft)}.faq{border-top: 1px solid var(--color-line)}.faq details{border-bottom: 1px solid var(--color-line)}.faq summary{display: flex;justify-content: space-between;align-items: center;gap: var(--space-s);padding: var(--space-m) 0;font-size: 1.15rem;cursor: pointer;list-style: none}.faq summary::-webkit-details-marker{display: none}.faq summary::after{content: "+";flex: none;display: grid;place-items: center;width: 2rem;height: 2rem;border: 1px solid var(--color-line);border-radius: 50%;color: var(--accent);font-size: 1.2rem;transition: transform var(--dur) var(--ease-out)}.faq details[open] summary::after{transform: rotate(45deg)}.faq details p{color: var(--text-soft);padding-bottom: var(--space-m);margin: 0;max-width: 40rem}.cats{margin-bottom: var(--space-l)}.cats .chips{list-style: none;padding: 0;margin: 0}.cat-link{display: inline-flex;align-items: center;min-height: 2.75rem;padding: 0.45rem 1rem;border: 1px solid var(--color-line);border-radius: var(--radius);color: var(--text);text-decoration: none;font-size: 1rem}.cat-link:hover{border-color: var(--color-anthracite);color: var(--text);text-decoration: none}.cat-link.is-active{background: var(--color-anthracite);border-color: var(--color-anthracite);color: var(--color-white)}.posts{display: grid;gap: var(--space-l)}.post a{display: grid;gap: var(--space-m);color: var(--text);text-decoration: none;padding-bottom: var(--space-l);border-bottom: 1px solid var(--color-line)}@media (min-width: 48em){.post a{grid-template-columns: 18rem 1fr;align-items: center;gap: var(--space-l)}}.post__media{aspect-ratio: 3 / 2}.post h3{font-size: var(--fs-h3);font-weight: 300;transition: color var(--dur-fast)}.post a:hover h3{color: var(--accent)}.post p{color: var(--text-soft)}.post__meta{display: flex;flex-wrap: wrap;gap: 0.3rem 1rem;font-size: var(--fs-small);color: var(--text-soft);margin-bottom: 0.4rem}.post__meta > :first-child{color: var(--accent);font-weight: 500}.pager{display: flex;justify-content: space-between;gap: var(--space-s);margin-top: var(--space-l)}.article__head{padding-block: var(--space-l)}.article__head h1{font-size: clamp(2rem, 1.5rem + 2.2vw, 3.2rem)}.article__visual{margin-bottom: var(--space-xl)}.article__visual .media{aspect-ratio: 21 / 9}@media (max-width: 40em){.article__visual .media{aspect-ratio: 4 / 3}}.article .prose{font-size: 1.125rem}.article__author{color: var(--text-soft);margin-top: var(--space-l)}.article__newsletter{margin-block: var(--space-xl);padding: var(--space-l);background: var(--surface-alt);border-radius: var(--radius)}.article__newsletter h2{font-size: 1.4rem;font-weight: 400}.service__price{margin: 0 0 var(--space-xs);color: var(--text-soft)}.service__price strong{color: var(--text);font-weight: 500}.filters{margin-bottom: var(--space-l);padding: var(--space-m);background: var(--surface-alt);border-radius: var(--radius)}.filters[hidden]{display: none}.filters__title{font-weight: 500;margin-bottom: var(--space-s)}.filters__grid{display: grid;gap: 0 var(--space-m);grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr))}.filters .field{margin-bottom: var(--space-s)}.filters__foot{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--space-s)}.filters__count{margin: 0;font-weight: 500}.filters__reset{background: none;border: 0;padding: 0.6rem 0;min-height: 2.75rem;color: var(--accent);font: 500 1rem var(--font-sans);text-decoration: underline;text-underline-offset: 0.2em;cursor: pointer}.select{appearance: none;background-image: linear-gradient(45deg, transparent 50%, var(--text) 50%), linear-gradient(135deg, var(--text) 50%, transparent 50%);background-position: calc(100% - 1.2rem) 55%, calc(100% - 0.85rem) 55%;background-size: 0.35rem 0.35rem;background-repeat: no-repeat;padding-right: 2.5rem}.mcards{display: grid;gap: var(--space-l) var(--space-m);grid-template-columns: repeat(auto-fill, minmax(min(100%, 21rem), 1fr))}.mcards[hidden]{display: none}.mcard[hidden]{display: none}.mcard a{display: flex;flex-direction: column;height: 100%;color: var(--text);text-decoration: none}.mcard__media{aspect-ratio: 4 / 5;border-radius: var(--radius-stele);margin-bottom: var(--space-s)}.mcard h3{margin-bottom: 0.2rem;transition: color var(--dur-fast)}.mcard a:hover h3{color: var(--accent)}.mcard__lead{color: var(--text-soft);margin-bottom: 0.5rem}.mcard__meta{display: flex;flex-wrap: wrap;gap: 0.25rem 0.9rem;font-size: var(--fs-small);color: var(--text-soft);margin-bottom: 0.5rem}.mcard__dispo{color: var(--accent);font-weight: 500}.mcard__swatches{display: flex;gap: 0.3rem}.mcard__swatches i, .specs__swatches i{display: inline-block;width: 1rem;height: 1rem;border-radius: 50%;border: 1px solid rgb(0 0 0 / 0.15)}.mcard__example{margin: 0.5rem 0 0;font-size: 0.8125rem;color: var(--text-soft);font-style: italic}.catalogue__empty{padding: var(--space-xl) 0;max-width: 36rem}.catalogue__empty[hidden]{display: none}.product__grid{display: grid;gap: var(--space-l)}@media (min-width: 60em){.product__grid{grid-template-columns: 1fr 1fr;gap: var(--space-xl);align-items: start}.product__gallery{position: sticky;top: calc(var(--header-h) + 1.5rem)}}.product__gallery{display: grid;gap: var(--space-s)}.product__gallery .media{aspect-ratio: 4 / 5}.product__example{display: inline-block;margin-bottom: var(--space-s);padding: 0.25rem 0.6rem;font-size: 0.8125rem;font-weight: 500;background: var(--color-pierre-bleue-mist);color: var(--accent);border-radius: var(--radius)}.product h1{margin-bottom: var(--space-s)}.product__subtitle{font-size: 1.2rem;font-weight: 500;letter-spacing: 0;margin-top: var(--space-l)}.product__ctas{margin: var(--space-l) 0 var(--space-xs)}.specs{margin: var(--space-l) 0 0;border-top: 1px solid var(--color-line)}.specs div{display: grid;grid-template-columns: 9rem 1fr;gap: var(--space-s);padding: 0.85rem 0;border-bottom: 1px solid var(--color-line)}@media (max-width: 30em){.specs div{grid-template-columns: 1fr;gap: 0.1rem}}.specs dt{font-weight: 500}.specs dd{margin: 0;color: var(--text-soft)}.specs small{font-size: var(--fs-small)}.specs__swatches{display: flex;flex-wrap: wrap;gap: 0.4rem 1rem}.specs__swatches span{display: inline-flex;align-items: center;gap: 0.4rem}.price{display: grid;gap: 0.1rem;margin-top: 0.4rem}.price strong{font-size: 1.35rem;font-weight: 500;color: var(--text);letter-spacing: -0.01em}.price small{font-size: var(--fs-small);color: var(--text-soft)}.product__price{margin-top: var(--space-m);padding: var(--space-m);background: var(--color-pierre-bleue-mist);border-left: 2px solid var(--accent);border-radius: var(--radius)}.product__price .price{margin: 0}.product__price .price strong{font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem)}.pricing{display: grid;gap: var(--space-l);padding: var(--space-l);background: var(--surface-alt);border-radius: var(--radius)}@media (min-width: 56em){.pricing{grid-template-columns: 0.8fr 1.2fr;gap: var(--space-xl)}}.pricing--compact{padding: 0;background: none;gap: var(--space-m);grid-template-columns: 1fr}.pricing__title{font-size: 1.2rem;font-weight: 500;margin-bottom: var(--space-xs)}.pricing__lead, .pricing__note{color: var(--text-soft)}.pricing__note{font-size: var(--fs-small);margin: 0}.pricing--compact .pricing__included{padding-bottom: var(--space-m);border-bottom: 1px solid var(--color-line)}.options-list{display: grid;gap: 0;border-top: 1px solid var(--color-line)}.options-list li{display: grid;grid-template-columns: 1fr auto;gap: 0.15rem var(--space-m);padding: 0.8rem 0;border-bottom: 1px solid var(--color-line)}.options-list__name{font-weight: 500}.options-list__price{text-align: right;white-space: nowrap}.options-list__desc{grid-column: 1 / -1;font-size: var(--fs-small);color: var(--text-soft)}.catalogue__cta{margin-top: var(--space-l)}.page-simple{padding-block: var(--space-2xl);--wm-inset: 0 -10% auto auto}.page-simple h1{max-width: 16ch}.page-simple .lead{max-width: 36rem;margin-bottom: var(--space-l)}.page-simple__links{list-style: none;margin: var(--space-l) 0 0;padding: 0;display: flex;flex-wrap: wrap;gap: var(--space-xs) var(--space-l)}