:root{--wine:#541914;--deep:#250b08;--maple:#a94331;--copper:#d79568;--ivory:#fbf6ed;--cream:#f1e6d8;--ink:#2b1b17;--muted:#78675f;--line:rgba(84,25,20,.16);--display:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;z-index:300;background:#fff;padding:10px 16px;transform:translateY(-140%)}.skip:focus{transform:none}.site-header{height:158px;position:fixed;inset:0 0 auto;z-index:80;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.35s}.site-header.scrolled{height:126px;background:#fbf6ede8;color:var(--wine);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.brand,.footer-brand{display:flex;align-items:center;gap:17px;font-size:.76rem;font-weight:600;letter-spacing:.2em;line-height:1}.brand img{width:120px;height:120px;object-fit:cover;border-radius:50%;border:1px solid #ffffff4a;box-shadow:0 10px 34px #1604035c}.site-header.scrolled .brand img{border-color:var(--line);box-shadow:0 10px 30px #54100d20}.brand small,.footer-brand span{display:block;font-size:.48rem;letter-spacing:.32em;color:var(--copper);margin-top:6px}.desktop-nav{display:flex;gap:30px;font-size:.67rem}.desktop-nav a{opacity:.82}.menu,.mobile-nav{display:none}.section{padding:clamp(100px,11vw,172px) max(24px,7vw)}.eyebrow{text-transform:uppercase;letter-spacing:.23em;font-size:.61rem;font-weight:600;margin:0}.maple{color:var(--maple)}.copper{color:var(--copper)}h2{font:400 clamp(3.7rem,7vw,7.5rem)/.96 var(--display);letter-spacing:-.05em;margin:28px 0;color:var(--wine)}h2 em{color:var(--maple);font-style:normal}.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.55rem;color:var(--maple)}
.hero{height:100svh;min-height:760px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:0 max(24px,7vw) 10vh;color:#fff;background:var(--deep)}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.75) contrast(1.06)}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,#210604e8 0%,#3b0e0aa8 44%,#5f281b35 75%),linear-gradient(0deg,#250b08ad 0%,transparent 55%)}.hero-stamp{position:absolute;right:4vw;top:23vh;font:400 clamp(6rem,14vw,14rem)/1 var(--display);opacity:.1;transform:rotate(-10deg)}.hero-copy{position:relative;z-index:2}.hero h1{font:400 clamp(5.2rem,12.4vw,13.2rem)/.76 var(--display);letter-spacing:-.065em;margin:30px 0 36px}.hero h1 em{font-style:normal;color:#efb58a}.hero-copy>p:last-child{font:400 clamp(1.1rem,1.7vw,1.55rem)/1.5 var(--display)}.hero-note{position:absolute;z-index:2;right:max(24px,5vw);top:47%;display:flex;flex-direction:column;text-align:right;text-transform:uppercase;letter-spacing:.17em;font-size:.52rem}.scroll-cue{position:absolute;z-index:2;right:max(24px,5vw);bottom:7vh;display:flex;align-items:center;gap:17px;text-transform:uppercase;letter-spacing:.16em;font-size:.55rem}.scroll-cue i{width:48px;height:48px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-style:normal}
.editorial-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:9vw;align-items:start}.editorial-grid h2{margin-top:0}.prose{color:var(--muted);font-size:.9rem}.prose p{margin:0 0 22px}.lead>p:first-child{font:400 1.3rem/1.55 var(--display);color:var(--ink)}.text-link{margin-top:20px;display:inline-flex;align-items:center;gap:20px;padding-bottom:8px;border-bottom:1px solid var(--line);color:var(--wine);text-transform:uppercase;letter-spacing:.16em;font-size:.58rem}.text-link span{font-size:1rem}.litter{background:var(--deep);color:#fff}.litter-head{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.litter h2{color:#fff}.litter h2 em{color:#efb58a}.status{border:1px solid #efb58a78;border-radius:100px;padding:12px 20px;color:#efb58a;text-transform:uppercase;letter-spacing:.16em;font-size:.52rem}.litter-card{margin-top:70px;border-top:1px solid #ffffff2c;border-bottom:1px solid #ffffff2c;padding:58px 0;display:grid;grid-template-columns:70px 1fr .5fr;gap:3vw;align-items:center}.number{color:#efb58a;font-size:.58rem;letter-spacing:.18em}.litter-card h3{font:400 clamp(2rem,4vw,4.2rem)/1.05 var(--display);margin:16px 0}.availability{border-left:1px solid #ffffff25;padding-left:3vw;display:flex;flex-direction:column}.availability span,.availability small{text-transform:uppercase;letter-spacing:.15em;font-size:.52rem;color:#b99587}.availability strong{font:400 1.25rem/1.4 var(--display);margin:14px 0;color:#efb58a}.support{position:relative}.support:after{content:"";position:absolute;width:42vw;height:42vw;border-radius:50%;right:-16vw;top:-16vw;background:#cf785511;filter:blur(20px)}
.journey{background:var(--wine);color:#fff}.journey-head{display:grid;grid-template-columns:.5fr 1.15fr .45fr;gap:5vw;align-items:end}.journey h2{color:#fff;margin:0}.journey h2 em{color:#efb58a}.journey-head>p:last-child{color:#d0afa2;font-size:.8rem}.steps{padding:0 max(24px,7vw) 10vw}.step{display:grid;grid-template-columns:100px .9fr;gap:3vw;padding:62px 0;border-top:1px solid #ffffff25}.step>span{font:400 3.5rem/1 var(--display);color:#efb58a}.step>div{max-width:850px}.step h3{font:400 clamp(2.2rem,4.6vw,4.8rem)/1 var(--display);margin:14px 0 25px}.step p:not(.kicker){color:#d2b8ad;font-size:.86rem;max-width:700px}.departure{background:var(--cream)}.departure-grid{display:grid;grid-template-columns:.75fr 1fr;gap:9vw}.departure h2{margin-top:0}.departure-grid>div>p{color:var(--muted);max-width:380px}.checklist{list-style:none;padding:0;margin:0}.checklist li{position:relative;padding:22px 10px 22px 46px;border-top:1px solid var(--line);font:400 1.15rem/1.5 var(--display);color:var(--wine)}.checklist li:before{content:"✓";position:absolute;left:4px;color:var(--maple);font-family:var(--sans)}.checklist small{display:block;color:var(--muted);font:400 .74rem/1.6 var(--sans);margin-top:6px}.family-copy{display:grid;grid-template-columns:1fr .5fr;gap:7vw;align-items:end}.family-copy p{color:var(--muted);font-size:.82rem}.dog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:65px}.dog-grid figure{margin:0;position:relative;overflow:hidden;background:var(--cream)}.dog-grid img{width:100%;aspect-ratio:1/1.15;object-fit:cover;filter:saturate(.78)}.dog-grid figure:nth-child(2){margin-top:65px}.dog-grid figcaption{position:absolute;inset:auto 0 0;padding:40px 24px 20px;background:linear-gradient(transparent,#250b08d9);color:#fff;font:400 2rem var(--display)}.lifelong{position:relative;overflow:hidden;background:var(--deep);color:#fff}.lifelong h2{color:#fff}.lifelong h2 em{color:#efb58a}.lifelong .prose,.lifelong .lead>p:first-child{color:#d2b8ad}.paw{position:absolute;right:-4vw;top:-8vw;font:400 34vw/1 var(--display);color:#fff;opacity:.025}.certificate-title{max-width:1050px}.legal-grid{margin-top:70px;display:grid;grid-template-columns:.38fr 1fr;gap:7vw;align-items:start}.legal-grid aside{position:sticky;top:160px;border-top:1px solid var(--line);padding-top:28px;display:flex;align-items:center;gap:20px}.legal-grid aside strong{font:400 7rem/1 var(--display);color:var(--maple)}.legal-grid aside span{text-transform:uppercase;letter-spacing:.16em;font-size:.52rem;color:var(--muted)}.legal-grid .prose{columns:2;column-gap:5vw}.legal-grid .prose h3,.legal-grid .prose ul{break-inside:avoid}.legal-grid h3{font:400 1.4rem/1.4 var(--display);color:var(--wine);margin:30px 0 15px}.legal-grid ul{padding-left:20px}.legal-grid li{margin:0 0 12px}footer{background:var(--deep);color:#fff;padding:52px max(24px,7vw);display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand img{width:190px;height:190px;object-fit:cover;border-radius:50%;border:1px solid #ffffff24;box-shadow:0 16px 40px #0004}.footer-brand{gap:17px}footer p{font-size:.61rem;color:#a17b6e}.reveal{opacity:0;transform:translateY(22px);transition:.8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.desktop-nav{display:none}.menu{display:block;width:47px;height:47px;border:1px solid currentColor;border-radius:50%;background:none;color:inherit;position:relative}.menu span{position:absolute;width:15px;height:1px;background:currentColor;left:15px;top:18px}.menu span+span{top:25px}.menu b{position:absolute;clip:rect(0 0 0 0)}.mobile-nav{display:flex;position:fixed;inset:126px 0 auto;background:#fbf6ed;color:var(--wine);flex-direction:column;padding:25px;gap:18px;transform:translateY(-180%);transition:.3s}.mobile-nav.open{transform:none}.editorial-grid,.journey-head,.departure-grid,.family-copy,.legal-grid{grid-template-columns:1fr}.journey-head{gap:32px}.legal-grid .prose{columns:1}.legal-grid aside{position:static}.litter-card{grid-template-columns:55px 1fr}.availability{grid-column:2;border-left:0;padding:24px 0 0;border-top:1px solid #ffffff25}.dog-grid{gap:12px}footer{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.site-header{height:116px}.site-header.scrolled{height:98px}.brand img{width:88px;height:88px}.brand span{font-size:.63rem}.mobile-nav{inset-block-start:98px}.hero{min-height:760px;padding-bottom:100px}.hero h1{font-size:4.55rem;margin:34px 0}.hero-note{top:130px;left:22px;right:auto;text-align:left}.section{padding:95px 22px}h2{font-size:3.3rem}.litter-head{grid-template-columns:1fr}.status{justify-self:start}.litter-card{display:block}.availability{margin-top:30px}.step{grid-template-columns:1fr;padding:48px 0}.step>span{font-size:2.2rem}.steps{padding:0 22px 70px}.dog-grid{grid-template-columns:1fr}.dog-grid figure:nth-child(2){margin-top:0}.dog-grid img{aspect-ratio:1.2/1}.footer-brand img{width:158px;height:158px}footer{padding:44px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}
.hero>img{object-position:center 48%;filter:saturate(.82) contrast(1.04)}
.archive-gallery{background:var(--wine);color:#fff}.gallery-heading{display:grid;grid-template-columns:1fr .42fr;gap:8vw;align-items:end}.gallery-heading h2{color:#fff;margin-bottom:0}.gallery-heading h2 em{color:#efb58a}.gallery-heading>p{color:#d2b8ad;font-size:.8rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:72px}.gallery-grid button{position:relative;min-width:0;padding:0;border:0;background:var(--deep);overflow:hidden;cursor:zoom-in;color:#fff;text-align:left}.gallery-grid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .65s,filter .65s;filter:saturate(.82)}.gallery-grid button:hover img,.gallery-grid button:focus-visible img{transform:scale(1.035);filter:saturate(1)}.gallery-grid button>span{position:absolute;inset:auto 0 0;padding:58px 24px 22px;background:linear-gradient(transparent,#250b08ed);font:400 1.7rem/1.05 var(--display)}.gallery-grid small{display:block;margin-top:8px;text-transform:uppercase;letter-spacing:.15em;font:500 .5rem var(--sans);color:#efb58a}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:30px clamp(20px,5vw,70px);border:0;background:#180605f2;color:#fff}.lightbox[open]{display:grid;grid-template-columns:70px 1fr 70px;align-items:center}.lightbox::backdrop{background:#180605e8;backdrop-filter:blur(8px)}.lightbox figure{margin:0;display:grid;place-items:center;gap:15px;height:calc(100dvh - 60px)}.lightbox figure img{max-width:100%;max-height:calc(100dvh - 115px);object-fit:contain;box-shadow:0 25px 80px #0008}.lightbox figcaption{text-transform:uppercase;letter-spacing:.17em;font-size:.57rem;color:#d9afa0}.lightbox-close,.lightbox-nav{border:1px solid #ffffff6b;background:#250b0866;color:#fff;border-radius:50%;cursor:pointer}.lightbox-close{position:fixed;right:25px;top:22px;width:48px;height:48px;font-size:1.7rem;z-index:2}.lightbox-nav{width:54px;height:54px;font-size:1.25rem;justify-self:center}.lightbox button:hover,.lightbox button:focus-visible{background:var(--maple);border-color:var(--maple)}
@media(max-width:900px){.gallery-heading{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.lightbox[open]{grid-template-columns:50px 1fr 50px}.lightbox-nav{width:44px;height:44px}}
@media(max-width:640px){.gallery-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:48px}.gallery-grid button>span{padding:40px 12px 13px;font-size:1.1rem}.lightbox{padding:65px 10px 20px}.lightbox[open]{grid-template-columns:42px 1fr 42px}.lightbox figure{height:calc(100dvh - 85px)}.lightbox figure img{max-height:calc(100dvh - 140px)}.lightbox-nav{width:38px;height:38px}.lightbox-close{right:14px;top:12px}}

/* Ajustement de lisibilité — équilibre titres / textes */
body{font-size:17px;line-height:1.78}h2{font-size:clamp(3.45rem,6.15vw,6.7rem);line-height:1.01}.editorial-grid,.journey-head,.departure-grid,.family-copy,.legal-grid,.gallery-heading{column-gap:clamp(52px,8vw,130px)}.editorial-grid>* ,.journey-head>* ,.departure-grid>* ,.family-copy>* ,.legal-grid>* ,.gallery-heading>*{min-width:0}.prose{font-size:1rem;line-height:1.82}.lead>p:first-child{font-size:1.4rem;line-height:1.62}.journey-head>p:last-child,.gallery-heading>p,.departure-grid>div>p,.family-copy p{font-size:.96rem;line-height:1.78}.step h3{font-size:clamp(2.15rem,4.05vw,4.25rem);line-height:1.05}.step p:not(.kicker){font-size:.98rem;line-height:1.82}.litter-card h3{font-size:clamp(2rem,3.65vw,3.8rem);line-height:1.1}.availability strong{font-size:1.38rem}.checklist li{font-size:1.22rem;line-height:1.55}.checklist small{font-size:.82rem;line-height:1.7}.certificate-title{max-width:1150px}.legal-grid .prose{column-gap:clamp(42px,5vw,78px)}
@media(max-width:900px){h2{font-size:clamp(3.25rem,8vw,5.4rem)}.editorial-grid,.journey-head,.departure-grid,.family-copy,.legal-grid,.gallery-heading{row-gap:42px}.legal-grid .prose{font-size:1.02rem}}
@media(max-width:640px){body{font-size:16px}h2{font-size:3.05rem;line-height:1.04}.prose{font-size:1rem;line-height:1.78}.lead>p:first-child{font-size:1.26rem}.step p:not(.kicker){font-size:1rem}.journey-head>p:last-child,.gallery-heading>p,.departure-grid>div>p,.family-copy p{font-size:1rem}}

/* Dégagement des surtitres, notamment avant « À vos côtés » */
section>.eyebrow+.editorial-grid,section>.eyebrow+.family-copy{margin-top:clamp(44px,4.5vw,68px)}
.lifelong>.eyebrow{position:relative;z-index:2}.lifelong .editorial-grid{position:relative;z-index:1}
@media(max-width:640px){section>.eyebrow+.editorial-grid,section>.eyebrow+.family-copy{margin-top:38px}}
