/* Polices : sous-ensemble latin (scripts/subset-fonts.sh). Le fichier complet, déclaré sur la plage complémentaire, n'est téléchargé que pour un caractère hors latin. */
@font-face{font-family:Cormorant;src:url('/assets/fonts/CormorantGaramond-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2199,U+2212,U+25B6}
@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2199,U+2212,U+25B6}
@font-face{font-family:Cormorant;src:url('/assets/fonts/CormorantGaramond-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-0130,U+0132-0151,U+0154-02C5,U+02C7-02D9,U+02DB,U+02DD-1FFF,U+2070-20AB,U+20AD-2121,U+2123-218F,U+219A-2211,U+2213-25B5,U+25B7-10FFFF}
@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-0130,U+0132-0151,U+0154-02C5,U+02C7-02D9,U+02DB,U+02DD-1FFF,U+2070-20AB,U+20AD-2121,U+2123-218F,U+219A-2211,U+2213-25B5,U+25B7-10FFFF}
:root{--header-h:95px;--paper:#f6f5ef;--soft:#e9eae1;--green:#0a402b;--ink:#1d3027;--muted:#5d695f;--line:#cdd2c6;--serif:Cormorant,Georgia,serif;--sans:Montserrat,sans-serif;--gutter:clamp(24px,4.2vw,80px);--ease:cubic-bezier(.22,1,.36,1);--pdp-max:1420px;--pdp-edge:clamp(18px,2vw,40px);--pdp-gap:clamp(22px,2.4vw,40px);--pdp-text:350px;--pair-gap:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:400 13px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:wait;opacity:.6}img{display:block;max-width:100%;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;font-family:var(--serif);line-height:1.02;letter-spacing:-.045em}em{font-weight:400}h1{font-size:clamp(70px,7.5vw,122px)}h2{font-size:clamp(46px,4.5vw,78px)}p{max-width:65ch}ul{list-style:none;margin:0;padding:0}::selection{color:var(--paper);background:var(--green)}:focus-visible{outline:2px solid currentColor;outline-offset:6px}button:focus-visible{outline-offset:3px}[hidden]{display:none!important}.skip-link{position:fixed;top:-90px;left:24px;z-index:100;background:var(--green);color:var(--paper);padding:16px}.skip-link:focus{top:8px}.eyebrow,.caption,.photo-caption,.footer-bottom{font-family:var(--sans);font-size:10px;line-height:1.6;letter-spacing:.14em;font-weight:500}.eyebrow{text-transform:uppercase}.caption{font-size:10px;color:var(--muted);letter-spacing:.025em;max-width:100%;margin-top:26px}.section-space{padding:100px var(--gutter)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid currentColor;padding:10px 0;font-size:12px;line-height:1.5;align-self:flex-start}.text-link span,.button span,.image-link span{font-size:19px;line-height:1;transition:transform .3s var(--ease)}.text-link:hover span,.button:hover span,.image-link:hover span{transform:translate(3px,-3px)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:18px 23px;font-size:12px;letter-spacing:.035em;min-height:56px;transition:background .25s,color .25s}.button-dark{color:var(--paper);background:var(--green)}.button-dark:hover{background:#173323}.button-light{background:var(--paper);color:var(--green)}.button-light:hover{background:#e2e6d9}.announcement{height:33px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:var(--green);color:var(--paper);font-size:10px;letter-spacing:.08em}.announcement a{font-size:10px;letter-spacing:.01em;white-space:nowrap}.announcement a span{margin-left:15px}.header{height:95px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);background:var(--paper);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--green)}.brand-mark{width:35px;height:30px;flex-shrink:0;display:block;background:currentColor;-webkit-mask:url('/assets/brand/monogram.png') center / 117.5% 182.9% no-repeat;mask:url('/assets/brand/monogram.png') center / 117.5% 182.9% no-repeat}.brand>span{font-family:var(--serif);font-size:27px;line-height:1;letter-spacing:-.04em}.brand small{display:block;font:500 7px/1 var(--sans);letter-spacing:.27em;margin:7px 0 0 2px}.desktop-nav{display:flex;gap:38px;margin-left:5vw}.desktop-nav a{padding:16px 0;position:relative}.desktop-nav a:after{content:'';height:1px;background:currentColor;position:absolute;bottom:10px;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:30px}.language{padding:13px 5px}.header-account{padding:13px 0}.menu-toggle{display:none;width:44px;height:44px;padding:12px 7px}.menu-toggle span{display:block;width:27px;height:1px;background:currentColor;margin:7px 0;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:absolute;top:100%;left:0;right:0;height:calc(100dvh - 78px);background:var(--paper);padding:50px var(--gutter);display:flex;flex-direction:column;gap:24px;overflow-y:auto}.mobile-nav>a{font-family:var(--serif);font-size:42px;letter-spacing:-.04em}.mobile-nav .eyebrow{margin-top:auto;padding-bottom:30px}
.hero{display:grid;grid-template-columns:48% 52%;min-height:clamp(650px,calc(100svh - 128px),950px);background:var(--soft)}.hero-copy{padding:51px 4.2vw 25px var(--gutter);display:flex;align-items:flex-start;flex-direction:column}.hero-copy>.eyebrow{font-size:10px;letter-spacing:.15em}.hero h1{font-size:clamp(82px,8vw,142px);color:var(--green);line-height:.91;margin:clamp(38px,5.2vh,76px) 0 30px;letter-spacing:-.055em}.hero h1 em{white-space:nowrap}.hero-intro{display:flex;gap:20px;align-items:stretch;margin-bottom:29px}.vertical-line{width:1px;background:#9ca997}.hero-intro p{font-size:13px;line-height:1.9}.hero .button{min-width:258px}.hero-visual{position:relative;overflow:hidden}.hero-visual>img{object-position:50% 45%}.hero-edition{position:absolute;right:27px;top:29px;text-align:center;font-size:10px;letter-spacing:.14em;line-height:1.5;color:var(--paper);background:var(--green);width:66px;padding:9px 0}.hero-edition strong{font:400 31px/1 var(--serif);letter-spacing:-.05em;display:block;margin-top:3px}.photo-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:15px 27px;background:var(--green);color:var(--paper);font-size:10px;letter-spacing:.1em}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px}.section-heading .eyebrow{margin-bottom:17px}.section-heading-side{display:flex;align-items:flex-end;gap:72px}.section-heading-side p{font-size:11px;line-height:1.8}.section-heading-side .text-link{align-self:flex-end}.selection-grid{display:grid;grid-template-columns:1fr 1fr .72fr;gap:25px;align-items:start}.product-photo{display:block;aspect-ratio:3/4;position:relative;overflow:hidden;background:var(--soft)}.product-photo>img{transition:transform .8s var(--ease)}.product-photo:hover>img{transform:scale(1.035)}.photo-action{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:16px 20px;color:var(--paper);background:var(--green);font-size:10px;transform:translateY(101%);transition:transform .35s var(--ease)}.product-photo:hover .photo-action{transform:translateY(0)}.product-card:has(:focus-visible) .photo-action{transform:translateY(0)}.product-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-top:17px}.product-meta h3{font-size:30px;overflow-wrap:anywhere}.product-meta>span{font-size:11px;white-space:nowrap}.product-desc{font-size:11px;color:var(--muted);margin-top:5px}.landscape{display:grid;grid-template-columns:55% 45%;min-height:700px}.landscape-photo{position:relative;overflow:hidden}.landscape-photo>img{object-position:40% 50%}.landscape-photo>.eyebrow{position:absolute;bottom:26px;left:var(--gutter);color:var(--paper)}.landscape-copy{position:relative;padding:66px 5.8vw;background:var(--green);color:var(--paper);overflow:hidden}.landscape-copy h2{font-size:clamp(80px,8vw,138px);margin:48px 0 31px;line-height:.9}.landscape-copy>p:not(.eyebrow){font-size:13px;line-height:1.95;max-width:330px}.landscape-copy .text-link{margin-top:26px;position:relative;z-index:1}.landscape-mark{position:absolute;bottom:-6px;right:20px;opacity:.1}.landscape-mark .brand-mark{width:165px}.movement .section-heading{align-items:center}.movement .section-heading .eyebrow{margin:0}.movement-image{height:clamp(330px,43vw,730px);position:relative;overflow:hidden}.movement-image>img{object-position:50% 45%}.image-link{position:absolute;bottom:30px;right:30px;background:var(--paper);color:var(--green);padding:19px 23px;display:flex;gap:45px;align-items:center;font-size:11px;letter-spacing:.07em}.join-strip{padding:64px var(--gutter);background:var(--soft);display:flex;justify-content:space-between;align-items:center;gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.join-strip h2{font-size:44px;max-width:640px;line-height:1.1;margin-top:17px}.join-strip .button{flex-shrink:0}.founding-slots{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px;max-width:640px}.founding-slots span{width:14px;height:14px;border:1px solid var(--green)}.founding-slots span.filled{background:var(--green)}.founding-slots-note{font-size:12px;line-height:1.8;margin-top:12px;max-width:640px}
footer{padding:65px var(--gutter) 0;background:var(--green);color:var(--paper);overflow:hidden}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding-bottom:52px}.footer-tagline{font:400 35px/1.12 var(--serif);letter-spacing:-.025em;margin-top:22px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:11px;padding-top:4px}.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.footer-note .eyebrow{font-size:10px}.footer-note p{font-size:10px;margin-top:24px;line-height:1.9}.footer-bottom{padding:20px 0;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;border-top:1px solid #ffffff35;font-size:10px;letter-spacing:.065em}.page-intro{padding:80px var(--gutter) 65px;background:var(--soft)}.page-intro h1{margin:20px 0}.page-intro>p:not(.eyebrow){font-size:12px;margin-top:20px}.collection-intro{display:flex;align-items:flex-end;justify-content:space-between}.collection-intro h1{margin-bottom:0}.collection-intro>p:not(.eyebrow){padding-bottom:9px;font-size:11px}.catalog{padding-top:0}.filters{display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:35px;gap:12px;padding-bottom:16px}.filter-buttons button:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--green);transform:scaleX(0);transition:transform .25s}.filter-buttons button[aria-pressed=true]:after{transform:scaleX(1)}.result-count{font-size:11px;color:var(--muted);white-space:nowrap;padding-top:20px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 27px}.catalog-grid .product-photo{aspect-ratio:3/4}.catalog-grid .product-card:nth-child(4) img{object-position:50% 40%}.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--pdp-text));column-gap:var(--pdp-gap);align-items:start;width:100%;max-width:var(--pdp-max);margin-inline:auto;padding:34px var(--pdp-edge) 72px}.product-gallery{padding:25px;display:grid;gap:25px}.product-information{padding:36px 0 0;position:static;min-width:0}.back-link{font-size:10px;display:inline-block;padding:10px 0;margin-bottom:27px}.product-information>.eyebrow{font-size:10px;margin-bottom:19px}.product-tagline{font-size:12px;margin-top:12px}.price{font-size:18px;margin-top:24px}.product-story{font-size:13px;line-height:1.95;padding:24px 0;border-bottom:1px solid var(--line)}.product-story a{text-decoration:underline;text-underline-offset:4px}.fit-link{font-size:11px;display:inline-block;margin:16px 0 23px;text-decoration:underline;text-underline-offset:4px}.product-join{display:flex;width:100%}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:17px 0;font-size:11px}summary::-webkit-details-marker{display:none}summary:after{content:'+';content:'+' / '';font-size:18px;line-height:1}details[open] summary:after{content:'−';content:'−' / ''}details>p{font-size:10px;line-height:1.9;margin-bottom:19px;color:var(--muted)}
.manifesto-intro{position:relative;background:var(--green);color:var(--paper);padding:80px var(--gutter) 95px}.manifesto-intro h1{font-size:clamp(100px,12vw,195px);line-height:.87;margin:43px 0 35px}.manifesto-intro>p:last-of-type{font-family:var(--serif);font-size:30px;font-style:italic}.manifesto-intro>.brand-mark{position:absolute;bottom:80px;right:8vw;width:160px;opacity:.45}.founding-layout{display:grid;grid-template-columns:48% 52%;min-height:790px}.founding-image{position:relative}.founding-image::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(to top,rgba(10,64,43,.7),rgba(10,64,43,0));pointer-events:none}.founding-image img{position:absolute;inset:0;object-position:50% 30%}.founding-image>p{position:absolute;z-index:1;bottom:45px;left:var(--gutter);color:var(--paper);font-size:11px;letter-spacing:.1em;text-shadow:0 1px 20px #152f22}.founding-image>p em{font:400 italic 72px/1.2 var(--serif);letter-spacing:-.04em}.founding-content{padding:75px 6vw}.founding-content h1{margin:28px 0;font-size:clamp(65px,6.8vw,110px);line-height:.93}.founding-content>p:not(.eyebrow){font-size:13px;line-height:1.95}.member-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);margin-top:32px;padding-top:23px}.member-benefits span{font-family:var(--serif);font-size:28px}.member-benefits p{font-size:12px;line-height:1.8;margin-top:7px}.measure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:40px}.measure-grid article{border-top:1px solid var(--line);padding-top:22px}.measure-grid article>span{font-size:10px}.measure-grid h2{font-size:38px;margin:20px 0}.measure-grid p{font-size:11px;line-height:1.9}.legal-copy{max-width:900px;margin:auto;padding-top:40px}.legal-copy h2{font-size:38px;margin:40px 0 20px}.legal-copy p{font-size:12px;line-height:1.95}.returns-cta{margin-top:50px}.not-found{min-height:65vh}.not-found h1{margin:35px 0}.not-found p{font-size:12px;margin-bottom:28px}
@media(min-width:1600px){.hero-copy{padding-top:65px}.hero h1{margin-top:80px}.hero-intro{margin:15px 0 38px}.landscape{min-height:850px}.section-space{padding-top:130px;padding-bottom:130px}}
@media(max-width:1100px){.hero-copy{padding-top:30px}.hero{min-height:680px}.hero h1{font-size:9vw;margin-top:45px}.hero-copy>.eyebrow{font-size:10px}.hero .button{min-width:220px;font-size:11px}.section-heading-side{gap:30px}.selection-grid{gap:20px;grid-template-columns:1fr 1fr}.landscape{min-height:620px}.landscape-copy{padding:46px 5vw}.landscape-copy h2{font-size:90px}.movement .section-heading{display:block}.movement .section-heading h2{margin-top:18px}.join-strip h2{font-size:38px}.footer-tagline{font-size:30px}.founding-content{padding:50px 4vw}.founding-layout{grid-template-columns:45% 55%}}
@media(max-width:760px){:root{--gutter:24px;--header-h:78px}.announcement{height:29px;justify-content:center;font-size:10px}.announcement>a{display:none}.header{height:78px}.brand>span{font-size:23px}.brand small{font-size:6px}.brand-mark{width:29px}.brand{gap:9px}.desktop-nav,.header-account{display:none}.header-actions{gap:13px}.menu-toggle{display:block}.hero{display:flex;flex-direction:column;height:auto;max-height:none;min-height:0}.hero-copy{padding:32px var(--gutter) 21px}.hero-copy>.eyebrow{font-size:8px}.hero h1{font-size:clamp(79px,13.1vw,110px);margin:31px 0 24px;line-height:.92}.hero-intro{margin-bottom:25px}.hero-intro p{line-height:1.85}.hero .button{min-width:245px;padding:18px 21px}.hero-visual{height:570px}.hero-visual>img{object-position:50% 43%}.hero-edition{top:21px;right:22px}.photo-caption{padding:14px 24px;font-size:10px}.section-space{padding:65px var(--gutter)}.section-heading{display:block;margin-bottom:30px}.section-heading .eyebrow{font-size:10px;margin-bottom:15px}.section-heading h2{font-size:55px}.section-heading-side{justify-content:space-between;margin-top:20px;gap:15px}.section-heading-side p{font-size:11px}.section-heading-side .text-link{gap:18px}.selection-grid{gap:14px}.product-meta{display:block;padding-top:13px}.product-meta h3{font-size:27px;letter-spacing:-.035em}.product-meta>span{display:block;margin-top:6px}.product-desc{line-height:1.7;margin-top:5px}.photo-action{display:none}.selection-grid .product-photo{aspect-ratio:3/4.6}.selection-grid .product-card:nth-child(2){margin-top:48px}.caption{font-size:10px;line-height:1.9;margin-top:25px}.landscape{display:flex;flex-direction:column}.landscape-photo{height:500px}.landscape-copy{padding:43px var(--gutter) 50px}.landscape-copy>.eyebrow{font-size:10px}.landscape-copy h2{font-size:90px;margin:32px 0}.landscape-copy>p:not(.eyebrow){max-width:340px}.landscape-copy .text-link{margin-top:24px}.landscape-mark{right:24px;bottom:10px}.landscape-mark .brand-mark{width:130px}.movement .section-heading h2{font-size:45px}.movement .section-heading .eyebrow{font-size:10px}.movement-image{height:390px}.movement-image>img{object-position:100% 50%}.landscape-photo>img{object-position:54% 50%}.image-link{bottom:20px;left:20px;right:20px;padding:16px;font-size:10px;justify-content:space-between;gap:10px}.join-strip{padding:42px var(--gutter);display:block}.join-strip h2{font-size:43px;max-width:350px}.join-strip .eyebrow{font-size:10px}.join-strip .button{margin-top:26px;font-size:11px}.founding-slots{gap:5px;margin-top:18px}.founding-slots span{width:11px;height:11px}.founding-slots-note{font-size:11px}.footer-top{grid-template-columns:1fr 1fr;gap:36px 20px;padding-bottom:43px}.footer-top>div:first-child{grid-column:1/-1}.footer-tagline{font-size:37px}.footer-top>div:first-child>.eyebrow{font-size:10px}.footer-note .eyebrow{font-size:10px;letter-spacing:.08em}.footer-links{font-size:12px;gap:14px}.footer-bottom{font-size:10px;gap:15px;align-items:center;line-height:1.8}.footer-bottom>span:nth-child(2){display:none}footer{padding-top:45px}.page-intro{padding:48px var(--gutter) 42px}.page-intro .eyebrow{font-size:10px}.page-intro h1{font-size:64px;line-height:1.03}.page-intro>p:not(.eyebrow){font-size:11px}.collection-intro{display:block}.collection-intro>p:not(.eyebrow){margin-top:20px;font-size:12px}.catalog{padding-top:0}.filters{gap:10px;margin-bottom:24px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 15px}.catalog-grid .product-photo{aspect-ratio:3/4.5}.product-detail{display:block;padding:0}.product-gallery{width:100%;padding:16px 16px 0;display:block}.product-information{width:100%;padding:24px var(--gutter) 50px}.back-link{margin-bottom:20px}.product-information>.eyebrow{font-size:10px}.product-information .fit-link{font-size:10px;padding:8px 0}.manifesto-intro{padding:50px var(--gutter) 60px}.manifesto-intro .eyebrow{font-size:10px}.manifesto-intro h1{font-size:94px;margin:40px 0 28px}.manifesto-intro>p:last-of-type{font-size:24px;max-width:calc(100% - 90px)}.manifesto-intro>.brand-mark{width:70px;right:30px;bottom:45px}.founding-layout{display:flex;flex-direction:column-reverse;min-height:0}.founding-content{padding:46px var(--gutter)}.founding-content>.eyebrow{font-size:10px}.founding-content h1{font-size:76px}.member-benefits{gap:14px}.member-benefits p{font-size:13px}.founding-image{height:500px}.founding-image>p{left:24px;bottom:30px}.measure-grid{display:block;margin-top:25px}.measure-grid article{padding:24px 0}.measure-grid h2{font-size:40px}.measure-grid p{max-width:350px;font-size:13px}.legal-copy{padding-top:10px}.legal-copy h2{font-size:34px}.not-found h1{font-size:85px}.not-found .button{font-size:10px}.not-found>.eyebrow{font-size:10px}}
@media(max-width:370px){:root{--gutter:18px}.hero-copy>.eyebrow{font-size:10px}.brand>span{font-size:21px}.brand-mark{width:24px}.mobile-nav>a{font-size:36px}.founding-content h1{font-size:67px}.member-benefits{gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(prefers-reduced-motion:no-preference){.hero-copy h1{animation:enter .8s var(--ease) both}.hero-intro,.hero-copy>.button{animation:enter .8s .12s var(--ease) both}@keyframes enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}
/* Instagram: locally saved previews, linked to the original publications. */
.instagram-section{padding-top:64px;padding-bottom:48px;background:var(--paper)}
.instagram-heading{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}
.instagram-heading h2{font-size:clamp(38px,4.4vw,66px);margin-top:14px;line-height:1.08}
.instagram-heading .text-link{min-height:44px;white-space:nowrap}
.instagram-grid{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 7px}
.instagram-post{min-width:0;display:block}
.instagram-photo{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--soft)}
.instagram-photo img{width:100%;height:100%;object-fit:cover}
.instagram-reel{position:absolute;right:10px;bottom:10px;background:var(--paper);color:var(--green);padding:4px 8px;font-size:10px}
.instagram-post:hover .instagram-photo,.instagram-post:focus-visible .instagram-photo{outline:1px solid var(--green);outline-offset:3px}
@media(min-width:761px){.instagram-section{padding-top:80px;padding-bottom:60px}.instagram-heading{flex-direction:row;justify-content:space-between;align-items:flex-end;margin-bottom:40px}.instagram-heading .text-link{align-self:flex-end}.instagram-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}}
/* Supplied logos: original transparent PNGs, with light masks on green sections. */
.brand-signature{width:245px;max-width:100%}
.brand-wordmark{width:100%;height:auto;object-fit:contain}
.brand .brand-signature small{margin:8px 0 0;text-align:center}
.landscape-mark .brand-mark,.manifesto-intro>.brand-mark{height:auto;aspect-ratio:2092/1344}
.footer-wordmark{width:50%;height:auto;aspect-ratio:6601/1013;margin:0 auto 30px;padding:0;background:currentColor;-webkit-mask:url('/assets/brand/wordmark.png') center / contain no-repeat;mask:url('/assets/brand/wordmark.png') center / contain no-repeat}
/* Final optical pass: comfortable reading while retaining the editorial hierarchy. */
.desktop-nav a,.header-actions>a{font-size:11px}.desktop-nav a{font-size:12px}
.product-information summary{font-size:12px}.product-information details p{font-size:12px}
@media(max-width:760px){
.hero .button,.button,.text-link,.section-heading-side .text-link,.product-join{font-size:11px}

.footer-note p{font-size:11px}
}
@media(max-width:370px){.manifesto-intro h1{font-size:78px}.footer-note p{font-size:10px}.member-benefits p{font-size:11px}}

/* Product media: Shopify-inspired carousel with editorial proportions. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.product-gallery--carousel{display:grid;grid-template-rows:auto auto;gap:12px;padding:0;min-width:0;position:sticky;top:129px}
.product-gallery__thumbs{display:flex;flex-direction:row;gap:8px;width:100%;max-height:none;overflow-x:auto;overflow-y:hidden;padding:1px 1px 6px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--green) transparent}
.product-gallery__thumb{display:block;position:relative;flex:0 0 54px;width:54px;aspect-ratio:3/4;padding:2px;scroll-snap-align:start;border:1px solid transparent;background:transparent;overflow:hidden;transition:border-color .2s ease}
.product-gallery__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.product-gallery__thumb:hover,.product-gallery__thumb[aria-current=true]{border-color:var(--green)}
.product-gallery__thumb:focus-visible,.product-gallery__stage:focus-visible,.product-gallery__arrow:focus-visible,.colour-option:focus-visible,.size-option:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.product-gallery__stage{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pair-gap);min-width:0;touch-action:pan-y;user-select:none}
.product-gallery--solo .product-gallery__stage{grid-template-columns:minmax(0,calc(50% - var(--pair-gap)/2));justify-content:center}
.product-gallery--solo .product-gallery__thumbs{justify-content:center}
.product-gallery__slide{width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--soft)}
.product-gallery__slide img{display:block;width:100%;height:100%;aspect-ratio:3/4;object-fit:cover}
.product-gallery__arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:32px;height:32px;transform:translateY(-50%);border:1px solid rgba(10,64,43,.2);background:rgba(246,245,239,.9);color:var(--green);font-size:14px;line-height:1;transition:background .2s ease,border-color .2s ease}
.product-gallery__arrow:hover{border-color:var(--green);background:var(--paper)}
.product-gallery__arrow--previous{left:8px}
.product-gallery__arrow--next{right:8px}
.product-gallery--empty{padding:0}
.product-gallery__thumb[data-gallery-paired]{border-color:rgba(10,64,43,.34)}
.product-gallery__arrow:disabled{opacity:.3;pointer-events:none}
@media(max-width:760px){
 .product-gallery--carousel{display:flex;width:100%;flex-direction:column;align-items:center;gap:12px;padding:16px 16px 0;position:static}
 .product-gallery--carousel>.product-gallery__stage{display:block;width:56%}
 .product-gallery__slide{aspect-ratio:3/4}
 .product-gallery__slide img{height:100%;aspect-ratio:3/4;object-position:center 35%}
 .product-gallery--carousel>.product-gallery__thumbs{width:56%;gap:9px}
 .product-gallery__thumb{flex:0 0 38px;width:38px}
 .colour-option{width:48px;height:48px}
 .colour-option__chip{width:34px;height:34px}
 .size-option{min-width:55px;height:47px;font-size:11px}
 .variant-value{font-size:19px}
 .product-gallery__arrow{width:30px;height:30px}
 .product-gallery__arrow--previous{left:5px}
 .product-gallery__arrow--next{right:5px}
 .product-gallery--empty{display:block;width:100%;padding:16px 16px 0}
 .product-gallery--empty>.product-placeholder{width:56%;margin:0 auto}
}

/* Six-piece homepage edit: a compact, centered and aligned product grid. */
.selection-grid--expanded{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 16px;width:92%;max-width:1000px;margin-inline:auto}
.selection-grid--expanded>.product-card{min-width:0}
.selection-grid--expanded>.product-card:nth-child(n){margin:0}
.selection-grid--expanded .product-photo{aspect-ratio:3/4}
.selection-grid--expanded .product-meta{display:block;padding-top:10px}
.selection-grid--expanded .product-meta h3{font-size:clamp(22px,2.2vw,30px);min-height:0}
.selection-grid--expanded .product-meta>span{display:block;margin-top:4px}
.selection-grid--expanded .product-desc{margin-top:4px;line-height:1.45}
.selection-grid--expanded .catalog-colours,.catalog-grid .catalog-colours{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:6px;line-height:1.45}
.selection-grid--expanded .colour-swatches,.catalog-grid .colour-swatches{display:inline-flex;align-items:center;gap:4px}
.selection-grid--expanded .colour-swatch,.catalog-grid .colour-swatch{display:block;flex:0 0 12px;width:12px;height:12px;background:var(--swatch-color);border:1px solid #749183}
@media(min-width:761px){
 .selection-grid--expanded{gap:48px 28px}
}
@media(min-width:900.02px){
 .selection-grid--expanded{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1024px){
 .selection-grid--expanded{grid-template-columns:repeat(6,minmax(0,1fr));width:100%;max-width:none;column-gap:20px}
 .selection-grid--expanded .product-meta h3{font-size:clamp(20px,1.55vw,26px)}
 }

/* Shopify snapshot: real categories, variant selectors and honest missing imagery. */
.filter-buttons{display:flex;flex-wrap:wrap;column-gap:26px;row-gap:0;flex:1;min-width:0}
.filter-buttons button{font-size:12px;min-height:44px;padding:18px 0;position:relative;white-space:nowrap}
.catalog-colours{font-size:11px;color:var(--muted);margin-top:12px}
.product-information h1{font-size:clamp(34px,3.1vw,46px);line-height:1.06;overflow-wrap:anywhere}
.product-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100%;aspect-ratio:3/4;background:var(--soft);color:var(--green);padding:26px;text-align:center}
.product-placeholder strong{font:400 clamp(26px,3vw,52px)/1.1 var(--serif);overflow-wrap:anywhere;max-width:100%}
.product-placeholder>span:last-child{font-size:11px}
.variant-selectors{margin-top:26px}
.variant-field+.variant-field{margin-top:22px}
.variant-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0}
.variant-label{font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.variant-value{font-family:var(--serif);font-size:17px;letter-spacing:-.02em;color:var(--green)}
.variant-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
.colour-option{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;outline:1px solid transparent;outline-offset:-5px;transition:outline-color .2s ease}
.colour-option[aria-checked=true],.colour-option:hover{outline-color:var(--green)}
.colour-option__chip{display:block;width:30px;height:30px;background:var(--swatch-color,var(--soft));border:1px solid #749183}
.colour-option__chip[data-two-tone]{background:linear-gradient(135deg,var(--swatch-color) 0 50%,var(--swatch-color-2) 50% 100%)}
.size-option{min-width:52px;height:44px;padding:0 12px;border:1px solid var(--line);background:var(--paper);color:var(--green);font-size:10px;letter-spacing:.08em;transition:border-color .2s ease,background .2s ease,color .2s ease}
.size-option:hover:not(:disabled){border-color:var(--green)}
.size-option[aria-checked=true]{color:var(--paper);background:var(--green);border-color:var(--green)}
.size-option:disabled{color:var(--muted);border-style:dashed;text-decoration:line-through;cursor:not-allowed}
.price [data-product-price]{font-size:22px;color:var(--green)}
@media(max-width:760px){
 .filter-buttons{column-gap:20px}.filter-buttons button{font-size:11px}
 .result-count{width:100%;padding-top:0}
 .product-placeholder{padding:18px 10px;gap:15px}
 .product-placeholder .eyebrow{font-size:10px}
 .product-placeholder>span:last-child{font-size:10px}
 .product-information h1{font-size:clamp(42px,10vw,66px)}
}

/* Galerie filtrée par coloris : éléments masqués par l'attribut hidden malgré leurs display explicites.
   Coloris sans photo : emplacement de la taille d'une photo seule, centré comme --solo, et rangée de miniatures
   gardée invisible à sa place ; la galerie ne change pas de hauteur au changement de coloris. */
.product-gallery__thumb[hidden],.product-gallery--carousel .product-gallery__thumbs[hidden],.product-gallery__arrow[hidden]{display:none}
.product-gallery--carousel.product-gallery--no-match .product-gallery__stage{grid-template-columns:minmax(0,calc(50% - var(--pair-gap)/2));justify-content:center}
.product-gallery--no-match .product-gallery__thumbs{visibility:hidden}
/* Masquage et retour immédiats : la règle « réduire les animations » donne une transition à tout élément, visibilité comprise. */
.product-gallery__thumbs,.product-gallery__thumbs img{transition-property:none}
/* Fiche sans aucune photo : même taille qu'une photo au-dessus de 760 px (en dessous, 56 % comme le carrousel). */
@media(min-width:761px){.product-gallery--empty>.product-placeholder{width:calc(50% - var(--pair-gap)/2);margin-inline:auto}}
/* Carte de la collection et de l'accueil : la carte fixe le format, l'emplacement la remplit exactement. */
.product-photo>.product-placeholder{width:100%;height:100%;aspect-ratio:auto}
.product-gallery__slide--empty .product-placeholder{min-height:0;height:100%}
/* Emplacement « Photographie à venir » dans la grille d'accueil à six colonnes : titre réduit pour que le nom du modèle tienne sur une ligne. */
.selection-grid .product-placeholder{padding:18px 12px;gap:14px}
.selection-grid .product-placeholder strong{font-size:clamp(20px,1.7vw,30px)}
/* Titre du hero « Sculpter la ligne. Libérer le mouvement. » (24/09/2026) : sous 370 px, le mot « mouvement. » débordait de 20 px à 76 px. Taille fluide plafonnée à 76 px, retrouvée dès 354 px. */
@media(max-width:370px){.hero h1{font-size:min(76px,21.5vw)}}
/* Espace client (24/09/2026) : le lien « Espace client » s'ajoute aux actions d'en-tête. Entre 761 et 899 px, sans ces réglages, « La Marque », « Espace client » et le CTA passaient sur deux lignes ; police 10 px et gaps resserrés ramènent l'en-tête sur une ligne dès 761 px. Entre 900 et 1023 px, les gaps seuls suffisent. Placé après la règle 11 px pour l'emporter. */
@media(min-width:761px) and (max-width:899.98px){.desktop-nav{gap:20px;margin-left:2vw}.desktop-nav a,.header-actions>a{font-size:10px}.desktop-nav a{font-size:11px}.header-actions{gap:14px}}
@media(min-width:900px) and (max-width:1023.98px){.desktop-nav{gap:24px;margin-left:3vw}.header-actions{gap:16px}}
/* Panier (25/09/2026). Le lien « Devenez un Founding Member » passe dans le bandeau vert ; le panier prend sa place dans l'en-tête.
   Contrairement au compte et à l'ancien CTA, le panier reste visible sous 761 px : c'est le point d'entrée de la commande.
   Le compteur n'apparaît que s'il y a des pièces (pas de « 0 » permanent), il est rempli par editorial.js. */
.header-cart{padding:13px 0;display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}


.cart-layout{display:grid;grid-template-columns:1fr 340px;gap:6vw;align-items:start;padding-top:60px}
.cart-lines>.eyebrow{margin-bottom:26px}
.cart-empty{border-top:1px solid var(--line);padding-top:30px}
.cart-empty p{font-size:12px;margin-bottom:24px}
.cart-list{display:flex;flex-direction:column;border-bottom:1px solid var(--line)}
.cart-line{display:grid;grid-template-columns:96px 1fr auto;gap:22px;align-items:start;border-top:1px solid var(--line);padding:24px 0}
.cart-line__photo{width:96px;aspect-ratio:3/4;background:var(--soft);overflow:hidden}
.cart-line__photo img{width:100%;height:100%;object-fit:cover}
/* Ligne sans photo du coloris : nom du modèle et « Photographie à venir », sur le modèle de .product-placeholder.
   Tailles choisies pour que le nom le plus long (ESSENTIALS) tienne sur une ligne à chaque largeur de vignette. */
.cart-line__placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;padding:8px 5px;color:var(--green);text-align:center}
.cart-line__placeholder strong{font:400 15px/1.05 var(--serif)}
.cart-line__placeholder span{font-size:10px;line-height:1.35}
.cart-line__name{font-family:var(--serif);font-size:27px;line-height:1.05;letter-spacing:-.035em}
.cart-line__options{font-size:12px;color:var(--muted);margin-top:8px}
.cart-line__price{font-size:11px;margin-top:10px}
.cart-line__actions{display:flex;align-items:center;gap:14px;margin-top:16px}
.cart-quantity{display:flex;align-items:center;border:1px solid var(--line)}
/* M9 (28/09) : cibles tactiles d'au moins 44×44 px sur −, + et Retirer (recommandation Apple/WCAG), trait et typo inchangés. */
.cart-quantity button{min-width:44px;min-height:44px;font-size:15px;line-height:1;color:var(--ink)}
.cart-quantity button:disabled{opacity:.3;cursor:not-allowed}
.cart-quantity span{min-width:26px;text-align:center;font-size:11px}
.cart-remove{min-width:44px;min-height:44px;font-size:10px;letter-spacing:.06em;text-decoration:underline;text-underline-offset:4px;color:var(--muted);padding:8px 0}
.cart-remove:hover{color:var(--ink)}
.cart-line__total{font-size:12px;text-align:right;white-space:nowrap}
.cart-removed:not([hidden]){font-size:10px;line-height:1.8;color:var(--muted);margin-top:22px;padding:16px;background:var(--soft);border-left:2px solid var(--green)}
/* Panier vidé (Q22) : message et bouton « Annuler », sur le modèle du bandeau .cart-removed. */
.cart-cleared:not([hidden]){display:flex;align-items:baseline;gap:14px;font-size:10px;line-height:1.8;margin-top:22px;padding:16px;background:var(--soft);border-left:2px solid var(--green)}
.cart-undo{font-size:10px;letter-spacing:.06em;text-decoration:underline;text-underline-offset:4px;color:var(--ink);padding:0}
.cart-summary{position:sticky;top:120px;background:var(--soft);padding:30px 28px}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.cart-total span:last-child{font-family:var(--serif);font-size:30px;letter-spacing:-.04em}
.cart-total-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:14px}
.cart-checkout{width:100%;margin-top:22px;font-size:10px}
.cart-secure{font-size:12px;line-height:1.7;color:var(--muted);margin-top:14px;text-align:center}
.cart-checkout:disabled{cursor:not-allowed;opacity:.55}
/* Coloris bicolores (25/09/2026) : deux teintes en diagonale plutôt qu'une seule, trompeuse.
   Concerne les chaussettes ESSENTIALS (blanc et noir, blanc et vert) et la brassière ECHO (rouge et bleu). */
.colour-swatch[data-two-tone]{background:linear-gradient(135deg,var(--swatch-color) 0 50%,var(--swatch-color-2) 50% 100%)}
.product-added:not(:empty){display:block;font-size:10px;line-height:1.7;margin-top:12px;padding:10px 12px;background:var(--soft);border-left:2px solid var(--green)}
.product-added a{margin-left:6px;text-decoration:underline;text-underline-offset:3px}
.cart-clear{display:block;width:100%;margin-top:18px;padding:10px 0;font-size:10px;letter-spacing:.06em;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.cart-clear:hover{color:var(--ink)}
/* Page Founding Members sans formulaire : les paragraphes se suivaient sans respiration. */
.founding-content>p+p{margin-top:14px}
.founding-content .founding-slots{margin-top:26px}
.founding-content .founding-slots-note{font-size:10px;color:var(--muted);margin-top:10px}
.founding-content .button{margin-top:26px}
.cart-terms{padding-top:0}
.cart-terms .measure-grid{margin-top:0}
.cart-terms .text-link{margin-top:40px}
@media(max-width:900px){.cart-layout{grid-template-columns:1fr;gap:40px}.cart-summary{position:static}}
@media(max-width:760px){.cart-layout{padding-top:40px}.cart-line{grid-template-columns:72px 1fr;gap:16px}.cart-line__photo{width:72px}.cart-line__name{font-size:23px}.cart-line__total{grid-column:2;text-align:left;margin-top:14px;font-size:11px}.cart-summary{padding:26px 22px}.cart-total span:last-child{font-size:27px}}
/* Sous 400 px, la signature à largeur fixe collait aux actions d'en-tête, qui empiétaient sur la marge de droite
   sans provoquer de défilement horizontal : invisible pour un contrôle de débordement seul. Largeur rendue fluide.
   « EN », « Panier (n) » et le bouton de menu dépassaient aussi de 3 px à 320 px : police et écarts resserrés. */
@media(max-width:760px){.brand-signature{width:min(200px,50vw)}}
@media(max-width:370px){.brand-signature{width:min(185px,50vw)}.header-actions{gap:6px}.header-actions>a{font-size:10px}.header-cart{gap:3px}}
@media(max-width:760px){.cart-line__placeholder{gap:4px;padding:6px 3px}.cart-line__placeholder strong{font-size:11px}.cart-line__placeholder span{font-size:10px}}
@media(max-width:370px){.cart-line__placeholder strong{font-size:10px}.cart-line{grid-template-columns:60px 1fr;gap:12px}.cart-line__photo{width:60px}.cart-line__name{font-size:20px}.cart-line__actions{gap:10px}}
@media(min-width:761px) and (max-width:1023.98px){.product-detail{display:block;max-width:940px}.product-gallery--carousel{position:static}.product-information{max-width:640px;padding:28px 0 0}.product-gallery__thumb{flex:0 0 46px;width:46px}.product-information h1{font-size:62px}}
/* Pages légales (25/09/2026) : les paragraphes d'un même article se touchaient, la lecture en pâtissait. */
.legal-copy p+p{margin-top:14px}
/* Grille des tarifs de livraison des CGV (28/09/2026, Q28bis) : liste à puces au rythme des paragraphes. */
.legal-copy ul{margin:14px 0;padding-left:1.3em;list-style:disc}
.legal-copy li{font-size:12px;line-height:1.95}
/* Vidéo du hero (Bunny.net) et son bouton pause, à l'emplacement de l'ancienne étiquette photo. */
.hero-visual>video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%;background:var(--soft)}
.video-toggle{position:absolute;top:29px;left:27px;width:34px;height:34px;border:0;padding:0;background:var(--paper);color:var(--green);cursor:pointer;display:grid;place-items:center}
.video-toggle span{width:10px;height:11px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.video-toggle[data-paused] span{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor;margin-left:3px}
.video-toggle:focus-visible{outline:2px solid var(--green);outline-offset:-4px}
@media(max-width:760px){.video-toggle{top:21px;left:22px}}
/* Mention de précommande : fiche produit sous le bouton, et panier au-dessus du paiement. Lisible, pas une note de bas de page. */
.product-availability,.cart-preorder{font-size:13px;line-height:1.65;color:var(--ink);letter-spacing:0}
.product-availability strong,.cart-preorder strong{display:block;color:var(--green);font-weight:600;margin-bottom:2px}
.product-availability{margin:18px 0 28px}
.cart-preorder{margin:18px 0 20px;padding:16px 0 0;border-top:1px solid var(--line)}
/* Vidéos produit (26/09/2026) : recadrées en 3:4 comme les photos, cadrage vertical écrit par build.py pour chaque clip. */
.product-gallery__slide--video{position:relative}
.product-gallery__slide video{display:block;width:100%;height:100%;object-fit:cover;background:var(--soft)}
.product-gallery__slide .video-toggle{top:auto;bottom:12px;left:12px;width:30px;height:30px}
.product-gallery__play{position:absolute;top:50%;left:50%;width:16px;height:16px;transform:translate(-50%,-50%);background:var(--paper);pointer-events:none}
.product-gallery__play::after{content:'';position:absolute;top:50%;left:50%;border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent var(--green);transform:translate(-35%,-50%)}
/* Barre de tri (26/09/2026) : collection et fiches produit, fixée sous l'en-tête pendant le défilement.
   Pleine largeur comme l'en-tête, une seule ligne qui glisse au doigt quand elle déborde. */
.category-bar{position:sticky;top:var(--header-h);z-index:20;background:var(--paper);flex-wrap:nowrap;align-items:center;padding-bottom:0}
.catalog .category-bar{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}
.category-bar--links{margin:0;padding-inline:var(--gutter)}
.category-bar .filter-buttons{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
.category-bar .filter-buttons::-webkit-scrollbar{display:none}
.category-bar .filter-buttons button{flex:0 0 auto}
.category-bar .result-count{flex:0 0 auto;width:auto;margin:0;padding:0}
.category-bar .filter-buttons button:after{bottom:0}
.filter-buttons a{display:block;flex:0 0 auto;position:relative;white-space:nowrap;font-size:12px;min-height:44px;padding:18px 0}
.filter-buttons a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--green);transform:scaleX(0);transition:transform .25s}
.filter-buttons a[aria-current=true]:after{transform:scaleX(1)}
.filter-buttons a:focus-visible,.filter-buttons button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
@media(max-width:760px){.filter-buttons a{font-size:11px}}
@media(max-width:370px){.filter-buttons a{font-size:10px}.filter-buttons button{font-size:10px}}
/* Size guide: height by weight chart, one band per size over the row lines. */
.size-guide{padding-top:50px}
.size-guide>.size-group{max-width:1100px;margin:0 auto}
.size-group>summary{align-items:center;padding:26px 0}
.size-group>summary h2{font-size:clamp(34px,3vw,46px)}
.size-group>summary:after{content:'';width:10px;height:10px;margin:0 6px 6px 20px;border-right:1.5px solid var(--green);border-bottom:1.5px solid var(--green);transform:rotate(45deg);transition:transform .25s var(--ease)}
.size-group[open]>summary:after{content:'';margin-bottom:0;margin-top:6px;transform:rotate(-135deg)}
.size-group>summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.size-group-body{padding:14px 0 48px}
.size-single{max-width:none;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:64px;border-top:1px solid var(--green);border-bottom:1px solid var(--line)}
.size-single>span:first-child{font:400 30px/1 var(--serif);letter-spacing:-.03em;color:var(--green)}
.size-single>span:last-child{font-size:13px;letter-spacing:.06em}
.size-chart{--row:56px;width:100%;max-width:1100px;margin:0 auto;border-collapse:separate;border-spacing:0;table-layout:fixed}
.size-chart th,.size-chart td{padding:0;font-weight:400;text-align:center;vertical-align:middle}
.size-chart thead th{padding:0 6px 18px;border-bottom:1px solid var(--green);color:var(--green);font-size:12px;letter-spacing:.08em;vertical-align:bottom}
.size-chart thead th:first-child{width:22%;text-align:left;color:var(--muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.size-chart tbody tr{height:var(--row)}
.size-chart tbody th,.size-chart tbody td{background:repeating-linear-gradient(to bottom,transparent 0 calc(var(--row) - 1px),var(--line) calc(var(--row) - 1px) var(--row))}
.size-chart tbody th{text-align:left;font-size:12px;letter-spacing:.06em;white-space:nowrap}
.size-band{position:relative;--tint:.05}
.size-band[data-size=M]{--tint:.08}.size-band[data-size=L]{--tint:.11}.size-band[data-size=XL]{--tint:.14}.size-band[data-size="M–L"]{--tint:.11}
.size-band:before{content:'';position:absolute;inset:0 6px;background:rgba(10,64,43,var(--tint));border-top:3px solid var(--green)}
.size-band>span[aria-hidden]{position:relative;font:400 clamp(44px,6vw,96px)/1 var(--serif);letter-spacing:-.04em;color:var(--green)}
.size-chart-note{max-width:1100px;margin:22px auto 0;color:var(--muted);font-size:11px}
@media(max-width:760px){.size-guide{padding-top:24px}.size-group>summary{padding:22px 0}.size-group>summary h2{font-size:32px}.size-group-body{padding:8px 0 36px}.size-single>span:first-child{font-size:26px}.size-chart{--row:46px}.size-chart thead th{padding:0 2px 14px;font-size:12px;letter-spacing:.04em}.size-chart thead th:first-child{width:27%;font-size:10px}.size-chart tbody th{font-size:12px;letter-spacing:.02em}.size-band:before{inset:0 3px}.size-band>span[aria-hidden]{font-size:38px}}
/* La Marque: three text and photo blocks, staggered rather than aligned. */
.brand-story{display:flex;flex-direction:column;gap:clamp(90px,10vw,170px)}
.brand-block{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);align-items:start}
.brand-photo{margin:0;overflow:hidden;background:var(--soft)}
.brand-photo img{display:block;width:100%;height:100%;object-fit:cover}
.brand-text h2{font-size:clamp(46px,4.4vw,72px);line-height:1.02;margin:22px 0 26px}
.brand-text>p:not(.eyebrow):not(.founder-signature){max-width:470px;font-size:13px;line-height:1.9}
.brand-text>p+p{margin-top:14px}
.brand-manifesto .brand-text{grid-column:1/6;padding-top:clamp(40px,6vw,110px)}
.brand-manifesto .brand-photo{grid-column:7/13;justify-self:end;width:50%;aspect-ratio:2/3}
.brand-origin .brand-photos{grid-column:1/7;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.2vw,18px);margin-top:clamp(50px,7vw,130px)}
.brand-photos .brand-photo{aspect-ratio:3/4}
.brand-photos .brand-photo:last-child{margin-top:clamp(36px,5vw,90px)}
.brand-origin .brand-text{grid-column:8/13;grid-row:1}
.brand-founder .brand-text{grid-column:2/7;padding-top:clamp(80px,10vw,180px)}
.brand-founder .brand-photo{grid-column:8/12;width:75%;aspect-ratio:4/5}
.founder-signature{margin-top:34px;font:italic 400 28px/1.15 var(--serif);color:var(--green)}
.founder-signature span{display:block;margin-top:10px;font:400 10px/1.4 var(--sans);font-style:normal;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
@media(max-width:760px){.brand-story{gap:80px}.brand-block{display:flex;flex-direction:column;gap:30px}.brand-block .brand-photo{order:-1}.brand-manifesto .brand-photo{width:60%}.brand-origin .brand-photos{order:-1;width:100%;margin-top:0}.brand-photos .brand-photo:last-child{margin-top:32px}.brand-founder .brand-photo{width:58%}.brand-block .brand-text{width:100%;padding-top:0}.brand-text h2{font-size:48px;margin:18px 0 22px}}
/* Focus clavier des boutons verts : l'anneau prenait la couleur du texte (papier) et disparaissait sur fond papier ou sauge. */
.button-dark:focus-visible{outline-color:var(--green)}
/* Cartouche « Découvrir la collection » posé sur la photo : anneau vert dessiné à l'intérieur du fond papier. */
.image-link:focus-visible{outline-color:var(--green);outline-offset:-6px}
/* Q46 (28/09) : fondu au bord de la barre de catégories quand elle glisse (data-fade posé par editorial.js) — indicateur de défilement, pas un dégradé décoratif. */
.category-bar .filter-buttons[data-fade=right]{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 44px),transparent)}
.category-bar .filter-buttons[data-fade=left]{-webkit-mask-image:linear-gradient(to right,transparent,#000 44px);mask-image:linear-gradient(to right,transparent,#000 44px)}
.category-bar .filter-buttons[data-fade=both]{-webkit-mask-image:linear-gradient(to right,transparent,#000 44px,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(to right,transparent,#000 44px,#000 calc(100% - 44px),transparent)}
/* Q42 (28/09) : FAQ en bas de la page Informations — questions en Cormorant, réponses au style des paragraphes légaux. */
.faq{padding-top:0}
.faq h3{font-size:24px;margin:36px 0 10px}
.faq a{text-decoration:underline;text-underline-offset:4px}
/* Q47 (28/09) : second chemin de la page 404, vers la collection, sous le bouton d'accueil. */
.not-found-more{margin-top:30px;margin-bottom:0}
/* M8 (28/09) — accessibilité. Q05 : options de la ligne du panier, taxes et acceptation des CGV à13 px sur mobile. */
@media(max-width:760px){.cart-line__options{font-size:13px}.cart-total-note{font-size:13px}.cart-secure{font-size:13px}}
/* MQ1 (28/09) — fiches produit et barre de tri.
   Q39 : bouton Précommander inactif tant que la taille n'est pas choisie — même vert, assourdi, sans flèche animée. */
.product-join[aria-disabled=true]{opacity:.45;cursor:not-allowed}
.product-join[aria-disabled=true]:hover{background:var(--green)}
.product-join[aria-disabled=true]:hover span{transform:none}
/* Q31 : fenêtre de 500 px de haut ou moins (téléphone en paysage, zoom fort) — la barre de tri défile avec la page. */
@media(max-height:500px){.category-bar{position:static}}
/* Q45 : à 1440×900, le bouton Précommander était sous le pli — la colonne d'information se resserre au-dessus
   de 1000 px (espacements seulement, aucune taille de police), le mobile et la tablette gardent leur respiration. */
@media(min-width:1024px){
 .product-detail{padding-top:18px}
 .product-information{padding-top:14px}
 .back-link{margin-bottom:10px}
 .product-information>.eyebrow{margin-bottom:12px}
 .product-tagline{margin-top:8px}
 .price{margin-top:12px}
 .product-story{padding:14px 0}
 .variant-selectors{margin-top:14px}
 .variant-field+.variant-field{margin-top:12px}
 .variant-choices{margin-top:7px}
 .fit-link{margin:8px 0 12px}
 .product-gallery--carousel{top:113px}
}
/* Inscription aux nouvelles, pied de page (1er octobre 2026). */
.footer-signup{padding:44px 0 48px;border-top:1px solid #ffffff35}
.signup-form{max-width:520px;position:relative}
.signup-form>label:not(.consent){display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.signup-intro{font-size:12px;line-height:1.8;margin:12px 0 18px;opacity:.85}
.signup-form .email-row{display:flex;border-bottom:1px solid var(--paper)}
.signup-form .email-row:focus-within{border-bottom-width:2px;margin-bottom:-1px}
.signup-form .email-row input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;color:var(--paper);padding:12px 0}
.signup-form .email-row input::placeholder{color:var(--paper);opacity:.55}
.signup-form .email-row input:focus-visible{outline:none}
.signup-form .email-row button{border:0;background:var(--paper);color:var(--green);font:inherit;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding:0 22px;cursor:pointer;margin-bottom:6px}
.signup-form .email-row button:hover{background:#fff}
.signup-form .email-row button:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
.signup-form .email-row button:disabled{opacity:.5;cursor:progress}
.signup-form .consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:11px;line-height:1.6;opacity:.85}
.signup-form .consent input{accent-color:var(--paper);margin:3px 0 0;width:15px;height:15px;flex:none}
.signup-form .consent a{text-decoration:underline;text-underline-offset:3px}
.signup-form .form-status{min-height:1.6em;margin:14px 0 0;font-size:12px}
.signup-form .form-noscript{font-size:12px;line-height:1.7;margin-top:10px}
.signup-form .form-noscript a{text-decoration:underline;text-underline-offset:3px}
.signup-form .trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.signup-form.is-done .email-row,.signup-form.is-done .consent,.signup-form.is-done>label,.signup-form.is-done .signup-intro{display:none}
.signup-form.is-done .form-status{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.3}
@media(max-width:760px){.footer-signup{padding:34px 0 38px}.signup-form .email-row{flex-direction:column;border-bottom:0}.signup-form .email-row input{border-bottom:1px solid var(--paper)}.signup-form .email-row button{margin:14px 0 0;padding:15px 22px}}

/* Pièces en stock (2 octobre 2026) : mention sur la fiche, étiquette par ligne du panier, encadré du panier mixte. */
.cart-line__delivery{display:inline-block;margin-top:8px;padding:3px 8px;border:1px solid var(--line);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cart-line__delivery.is-stock{border-color:var(--green);color:var(--green);font-weight:600}
.cart-preorder.is-mixed{margin:20px 0 22px;padding:18px 18px 20px;border-top:0;background:var(--green);color:var(--paper);font-size:14px;line-height:1.6}
.cart-preorder.is-mixed strong{color:var(--paper);font-size:17px;line-height:1.35;margin-bottom:8px}

/* « Être prévenue quand les photos arrivent » : le formulaire du pied de page, sur fond clair, dans une fiche sans photo. */
.photo-alert{max-width:none;margin:0 0 28px;padding:20px 20px 16px;background:var(--soft);color:var(--ink)}
.photo-alert .signup-intro{display:block;font-size:13px;line-height:1.65;margin:10px 0 6px;opacity:1}
.photo-alert .email-row{border-bottom-color:var(--ink)}
.photo-alert .email-row input{color:var(--ink)}
.photo-alert .email-row input::placeholder{color:var(--ink)}
.photo-alert .email-row button{background:var(--green);color:var(--paper)}
.photo-alert .email-row button:hover{background:var(--ink)}
.photo-alert .email-row button:focus-visible{outline-color:var(--green)}
.photo-alert .consent input{accent-color:var(--green)}
.photo-alert.is-done .form-status{font-size:20px}
@media(max-width:760px){.photo-alert .email-row{flex-direction:column;border-bottom:0}.photo-alert .email-row input{border-bottom:1px solid var(--ink)}.photo-alert .email-row button{margin:14px 0 0;padding:15px 22px}}
/* 12 octobre 2026 (Béatrice) — fiche produit vue sur un téléphone par une cliente qui arrive d'une publicité.
   Constat : 165 visites sur la fiche RIDGE en trois jours de publicité, aucune commande. La photo occupait 56 % de
   la largeur (réglage du 25 septembre, remplacé ici pour le mobile seulement), le prix était au deuxième écran,
   le bouton au troisième, et il était assourdi tant que la taille n'était pas choisie. L'ordinateur ne change pas,
   sauf le conseil de taille, les deux lignes de réassurance et le bouton « Voir mon panier ». */
.fit-note{font-size:12px;line-height:1.65;color:var(--muted);margin:12px 0 0}
.product-reassure{font-size:11px;line-height:1.75;color:var(--muted);margin-top:14px}
.product-reassure a{text-decoration:underline;text-underline-offset:3px}
.product-join[aria-disabled=true]{opacity:1;cursor:pointer}
.product-added:not(:empty){font-size:12px;padding:12px 14px}
.product-added .product-added__cart{display:block;margin:10px 0 2px;padding:13px 16px;background:var(--green);color:var(--paper);text-align:center;text-decoration:none;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.buy-bar{display:none}
@media(max-width:760px){
 .product-gallery--carousel{padding:0;gap:10px}
 .product-gallery--carousel>.product-gallery__stage{width:100%}
 .product-gallery--carousel>.product-gallery__thumbs{width:100%;padding-inline:var(--gutter);gap:8px}
 .product-gallery__thumb{flex:0 0 50px;width:50px}
 .product-gallery__arrow{width:38px;height:38px}
 .product-gallery__arrow--previous{left:10px}
 .product-gallery__arrow--next{right:10px}
 .product-gallery--empty{padding:0}
 .product-gallery--empty>.product-placeholder{width:100%}
 .product-information>.back-link{display:none}
 .fit-note{font-size:13px}
 .product-reassure{font-size:12px}
 .buy-bar:not([hidden]){display:flex;position:fixed;z-index:40;left:0;right:0;bottom:0;align-items:center;justify-content:space-between;gap:14px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);transition:transform .25s var(--ease)}
 .buy-bar[data-off]{transform:translateY(110%);visibility:hidden;transition:transform .25s var(--ease),visibility 0s .25s}
 .buy-bar__name{display:flex;flex-direction:column;margin:0;min-width:0;line-height:1.3;color:var(--green)}
 .buy-bar__name strong{font:400 19px/1.1 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .buy-bar__name span{font-size:13px}
 .buy-bar__action{flex:0 0 auto;min-width:0;height:48px;padding:0 20px;font-size:11px;white-space:nowrap}
 body:has(.buy-bar:not([hidden])) footer{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.buy-bar,.buy-bar[data-off]{transition:none}}
/* Inscription sur l'accueil, à la place du bandeau Founding Members après leur fermeture (30 octobre 2026) :
   même bandeau beige, formulaire en vert sur fond clair. */
.join-strip--signup h2{max-width:560px}.join-strip--signup .eyebrow label{cursor:pointer}
.join-strip--signup .signup-form{flex:0 1 440px;color:var(--green)}
.join-strip--signup .signup-form .email-row{border-bottom-color:var(--green)}
.join-strip--signup .signup-form .email-row input{color:var(--green)}
.join-strip--signup .signup-form .email-row input::placeholder{color:var(--green);opacity:.5}
.join-strip--signup .signup-form .email-row button{background:var(--green);color:var(--paper)}
.join-strip--signup .signup-form .email-row button:hover{background:#06301f}
.join-strip--signup .signup-form .email-row button:focus-visible{outline-color:var(--green)}
.join-strip--signup .signup-form .consent input{accent-color:var(--green)}
@media(max-width:760px){.join-strip--signup .signup-form{margin-top:26px}.join-strip--signup .signup-form .email-row input{border-bottom-color:var(--green)}}
/* Survol des cartes (25 octobre 2026) : deuxième photo du coloris, posée sur la première, révélée par editorial.js une fois chargée. */
.product-photo>.product-photo__alt{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s var(--ease),transform .8s var(--ease);pointer-events:none}
.product-photo>.product-photo__alt:not([src]){display:none}
.product-photo.is-alt>.product-photo__alt{opacity:1}
/* Panier, « Complétez votre tenue » (25 octobre 2026) : quatre cartes sous les pièces ; en ligne sur mobile. */
.cart-suggest{margin-top:56px;padding-top:34px;border-top:1px solid var(--line)}
.cart-suggest>.eyebrow{margin-bottom:12px}
.cart-suggest h2{font:400 34px/1.05 var(--serif);letter-spacing:-.03em;color:var(--green);margin-bottom:26px}
.cart-suggest__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cart-suggest__item{display:flex;flex-direction:column;gap:14px}
.cart-suggest__photo{display:block;aspect-ratio:3/4;background:var(--soft);overflow:hidden}
.cart-suggest__photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.cart-suggest__photo:hover img{transform:scale(1.035)}
.cart-suggest__name{font:400 22px/1.05 var(--serif);letter-spacing:-.03em}
.cart-suggest__action{margin-top:14px}
.cart-suggest__add{min-height:44px;padding:0 20px;border:1px solid var(--green);color:var(--green);font-size:10px;letter-spacing:.08em;text-transform:uppercase;transition:background .2s ease,color .2s ease}
.cart-suggest__add:hover{background:var(--green);color:var(--paper)}
.cart-suggest__add:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.cart-suggest__sizes{display:flex;flex-wrap:wrap;gap:6px}
.cart-suggest__sizes .size-option{min-width:44px;padding:0 10px}
.cart-suggest__sizes .size-option.is-yours{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.cart-suggest__guide{display:inline-block;margin-top:10px;font-size:10px;letter-spacing:.06em;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}
.cart-suggest__done{font-size:11px;color:var(--green)}
.cart-suggest__done:before{content:"✓ "}
@media(max-width:760px){.cart-suggest{margin-top:40px}.cart-suggest h2{font-size:28px}.cart-suggest__list{grid-template-columns:1fr;gap:0}.cart-suggest__item{display:grid;grid-template-columns:96px 1fr;gap:16px;border-top:1px solid var(--line);padding:20px 0}.cart-suggest__name{font-size:21px}}
@media(min-width:901px){.cart-suggest{grid-column:1}.cart-layout>.cart-summary{grid-row:span 2}}
.cart-suggest__options{font-size:12px;color:var(--muted);margin-top:8px}
.cart-suggest__price{font-size:11px;margin-top:10px}
@media(min-width:901px) and (max-width:1199px){.cart-suggest__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cart-suggest__colours{display:flex;flex-wrap:wrap;margin:6px 0 0 -7px}
.cart-suggest__colours .colour-option{width:38px;height:38px}
.cart-suggest__colours .colour-option__chip{width:22px;height:22px}

/* En-tête : icône du panier (25 octobre 2026), pastille verte du nombre de pièces en haut à droite du sac. */
.header-cart{position:relative;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0}
.header-cart__icon{display:block}
.header-cart .cart-count{position:absolute;top:5px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--green);color:var(--paper);font-size:9px;line-height:16px;text-align:center;letter-spacing:0}
/* Quantité sur la fiche et prix des lots (28 octobre 2026) */
.product-quantity{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}
.product-quantity__control{display:flex;align-items:center;border:1px solid var(--line)}
.product-quantity__control button{min-width:44px;min-height:44px;font-size:15px;line-height:1;color:var(--ink)}
.product-quantity__control button:disabled{opacity:.3;cursor:not-allowed}
.product-quantity__control span{min-width:30px;text-align:center;font-size:12px}
.product-lot{font-size:12px;line-height:1.7;color:var(--green);margin:-4px 0 16px}
.cart-lots{list-style:none;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid var(--line)}
.cart-lots li{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--green);padding:3px 0}
