:root{--wine:#54100d;--deep:#260706;--maple:#a23b27;--copper:#df9d68;--cream:#f4eee6;--paper:#fffaf4;--ink:#241714;--muted:#77665f;--line:rgba(84,16,13,.15);--display:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;z-index:200;background:#fff;padding:10px 16px;transform:translateY(-130%)}.skip:focus{transform:none}.site-header{height:86px;position:fixed;inset:0 0 auto;z-index:80;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.35s}.site-header.scrolled{height:70px;background:#260706df;backdrop-filter:blur(20px);border-bottom:1px solid #ffffff1c}.brand,.footer-brand{display:flex;align-items:center;gap:12px;font-size:.76rem;font-weight:600;letter-spacing:.2em;line-height:1}.brand img,.footer-brand img{width:36px;height:36px}.brand small,.footer-brand span{display:block;font-size:.48rem;letter-spacing:.32em;color:#ddb39e;margin-top:6px}.desktop-nav{display:flex;gap:32px;font-size:.72rem}.desktop-nav a{color:#ffffffc4}.menu,.mobile-nav{display:none}.section{padding:clamp(92px,10vw,160px) max(24px,7vw)}.kicker{text-transform:uppercase;letter-spacing:.23em;font-size:.61rem;font-weight:600;margin:0}.maple{color:var(--maple)}.copper{color:var(--copper)}.hero{height:100svh;min-height:700px;position:relative;overflow:hidden;color:#fff;display:flex;align-items:flex-end;padding:0 max(24px,7vw) 11vh}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 34%;animation:arrive 1.8s both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#210504e8 0%,#2a08068f 42%,#2a080619 72%),linear-gradient(0deg,#210504c7,transparent 55%)}.aurora{position:absolute;border-radius:50%;filter:blur(25px);opacity:.34;mix-blend-mode:screen}.a1{width:34vw;height:34vw;right:7%;top:7%;background:#e77434}.a2{width:12vw;height:12vw;right:28%;top:22%;background:#ffe0a7}.hero-copy{position:relative;z-index:2}.hero h1{font:400 clamp(7rem,18vw,18rem)/.65 var(--display);letter-spacing:-.065em;margin:38px 0 60px}.hero-copy>p:last-child{font-size:clamp(1.15rem,2vw,1.85rem);line-height:1.3}.hero-copy em{font-family:var(--display);font-size:1.35em;color:#ffd3a1}.hero-meta{position:absolute;z-index:3;right:max(24px,5vw);top:43%;display:flex;flex-direction:column;text-align:right;gap:9px;text-transform:uppercase;letter-spacing:.18em;font-size:.53rem;color:#ffffffb9}.enter{position:absolute;z-index:3;right:max(24px,5vw);bottom:8vh;text-transform:uppercase;letter-spacing:.16em;font-size:.55rem;display:flex;align-items:center;gap:18px}.enter i{width:48px;height:48px;border:1px solid #ffffff72;border-radius:50%;display:grid;place-items:center;font-style:normal}.story{background:var(--cream);display:grid;grid-template-columns:.45fr 1.25fr .75fr;gap:5vw;align-items:start}.chapter{display:flex;gap:18px;color:var(--wine)}.chapter span{font:400 5rem/.8 var(--display);color:#54100d20}.chapter p{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em}.story h2,.section-title h2,.closing h2{font:400 clamp(3rem,5.5vw,6rem)/1.02 var(--display);letter-spacing:-.04em;margin:26px 0 42px}.story h2 em,.section-title h2 em,.closing h2 em{color:var(--maple)}.opening{font:500 clamp(1.05rem,1.5vw,1.3rem)/1.65 var(--sans);max-width:760px}.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px;color:var(--muted);font-size:.88rem}.story blockquote{font:400 1.45rem/1.45 var(--display);margin:42px 0 0;padding:18px 0 18px 27px;border-left:1px solid var(--maple);color:var(--wine)}.story-photo{margin:85px 0 0;position:relative;height:620px;overflow:hidden}.story-photo img{width:100%;height:100%;object-fit:cover}.story-photo figcaption{position:absolute;bottom:18px;left:18px;background:#2a0806c9;color:#fff;padding:7px 11px;font-size:.52rem;text-transform:uppercase;letter-spacing:.16em}.signature{padding-top:70px;padding-bottom:90px}.signature-grid{display:grid;grid-template-columns:1.35fr 1fr .7fr;margin-top:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.signature-grid>div{padding:27px 30px 30px 0;border-right:1px solid var(--line)}.signature-grid>div+div{padding-left:30px}.signature-grid>div:last-child{border:0}.signature small,.signature span{display:block;color:var(--muted);font-size:.61rem;text-transform:uppercase;letter-spacing:.13em}.signature strong{display:block;font:400 1.25rem/1.35 var(--display);color:var(--wine);margin-top:11px}.health{background:var(--deep);color:#fff}.section-title{display:grid;grid-template-columns:1fr minmax(260px,380px);align-items:end;margin-bottom:70px}.section-title .kicker{grid-column:1/-1}.section-title h2{margin-bottom:0}.section-title h2 em{color:var(--copper)}.section-title>p:last-child{color:#c29d90;font-size:.8rem}.health-groups{border-top:1px solid #ffffff25}.health-group{display:grid;grid-template-columns:.75fr 1.25fr;border-bottom:1px solid #ffffff25;min-height:330px}.health-intro{padding:38px 6vw 38px 0}.health-intro>span{font:400 3rem var(--display);color:#ffffff24;float:right}.health-intro>p{text-transform:uppercase;letter-spacing:.18em;color:var(--copper);font-size:.57rem}.health-intro h3{font:400 clamp(2rem,3vw,3.2rem)/1.12 var(--display);margin:45px 0 0}.health-results{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid #ffffff25}.health-results>div{padding:48px;display:flex;flex-direction:column;justify-content:center}.health-results>div+div{border-left:1px solid #ffffff25}.health-results small,.other-result small{color:#c9a394;text-transform:uppercase;letter-spacing:.15em;font-size:.58rem}.health-results strong,.other-result strong{font:400 clamp(3rem,5vw,5.5rem)/1 var(--display);color:#ffd3a2;margin:35px 0 20px}.health-results p,.other-result p{font-size:.65rem;color:#a98578}.health-group.light{background:#fff9f1;color:var(--ink);margin:0 calc(max(24px,7vw)*-1);padding:0 max(24px,7vw)}.health-group.light .health-intro>span{color:#54100d1c}.health-group.light .health-results{border-color:var(--line)}.health-group.light .health-results>div+div{border-color:var(--line)}.health-group.light .health-results strong{color:var(--maple)}.health-group.light .health-results small,.health-group.light .health-results p{color:var(--muted)}.genes-group{min-height:470px}.legend{font-size:.61rem;color:#af8a7c;margin-top:45px}.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 7px 0 16px}.legend i:first-child{margin-left:0}.clear{background:#8eae92}.carrier{background:var(--copper)}.gene-list{border-left:1px solid #ffffff25;display:grid;grid-template-columns:1fr 1fr;padding:26px 48px}.gene{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:13px 0;border-bottom:1px solid #ffffff1d}.gene:nth-child(odd){padding-right:28px}.gene:nth-child(even){padding-left:28px;border-left:1px solid #ffffff1d}.gene b{font-size:.71rem}.gene span{display:block;color:#aa887b;font-size:.56rem}.gene i{width:8px;height:8px;border-radius:50%;background:#8eae92}.gene.carrier i{background:var(--copper)}.compact{grid-template-columns:.75fr .62fr .63fr;min-height:300px}.other-result,.privacy{border-left:1px solid #ffffff25;padding:48px;display:flex;flex-direction:column;justify-content:center}.other-result strong{font-size:3.1rem}.privacy b{font:400 1.7rem var(--display);color:#ffd3a2}.privacy p{font-size:.68rem;color:#aa887b}.pedigree{background:#eee3d5}.pedigree .section-title>p:last-child{color:var(--muted)}.pedigree-shell{background:#260706;color:#fff;box-shadow:0 30px 80px #40130d2d}.pedigree-bar{min-height:82px;padding:17px 22px 17px 28px;border-bottom:1px solid #ffffff1c;display:flex;align-items:center;justify-content:space-between;gap:25px}.pedigree-bar>div:first-child{display:flex;flex-direction:column}.pedigree-bar b{font:400 1.15rem var(--display)}.pedigree-bar span{font-size:.53rem;color:#a98275;text-transform:uppercase;letter-spacing:.13em}.tree-actions{display:flex;gap:7px;flex-wrap:wrap}.tree-actions button{border:1px solid #ffffff28;background:transparent;color:#c7a396;border-radius:99px;padding:8px 13px;font-size:.57rem;cursor:pointer}.tree-actions button.active{background:#fff5e8;color:var(--wine)}.tree-viewport{height:720px;overflow:auto;outline:none;scrollbar-color:#8f4d3a #2f0b08}.tree-canvas{position:relative;width:1780px;height:1140px;background:radial-gradient(circle at 0 50%,#6d1c142c,transparent 24%),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:auto,300px 100%}.connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.connector{fill:none;stroke:#c987664c;stroke-width:1.2;transition:.3s}.connector.dim{opacity:.08}.tree-node{position:absolute;width:245px;min-height:58px;padding:9px 11px;border:1px solid #ffffff1f;background:#ffffff09;color:#fff;text-align:left;cursor:pointer;transition:.25s}.tree-node:hover,.tree-node:focus-visible,.tree-node.active{border-color:#dda06e;background:#ffffff15;outline:none;z-index:3}.tree-node.dim{opacity:.12}.tree-node.root{width:245px;min-height:104px;border-color:#d99a67;background:#6a1d15;padding:18px}.tree-node small{display:block;color:#bd8f7e;font-size:.44rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node strong{display:block;font:400 .76rem/1.2 var(--display);margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node.root strong{font-size:1.65rem}.tree-node span{display:block;color:#88675e;font-size:.44rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.generation-label{position:absolute;top:17px;color:#926f63;font-size:.47rem;text-transform:uppercase;letter-spacing:.16em}.tree-hint{margin:0;padding:13px 28px;border-top:1px solid #ffffff1c;color:#9d786c;font-size:.55rem}.source-note{color:var(--muted);font-size:.57rem;margin:20px 0 0}.drawer{position:fixed;z-index:150;right:0;top:0;bottom:0;width:min(460px,100%);padding:78px 46px;background:var(--paper);transform:translateX(105%);transition:.4s;box-shadow:-25px 0 60px #0003}.drawer.open{transform:none}.drawer-close{position:absolute;right:25px;top:18px;border:0;background:none;font-size:2rem;cursor:pointer}.drawer h2{font:400 2.65rem/1.1 var(--display);color:var(--wine);margin:30px 0}.drawer-meta{display:flex;gap:8px;flex-wrap:wrap}.drawer-meta span{background:#eee0d2;padding:7px 10px;font-size:.61rem}.titles{margin-top:35px;color:var(--muted);font-size:.82rem}.scrim{position:fixed;z-index:140;inset:0;background:#1b070688;opacity:0;pointer-events:none;transition:.3s}.scrim.open{opacity:1;pointer-events:auto}.closing{text-align:center;background:var(--wine);color:#fff}.closing h2{max-width:1100px;margin:25px auto 48px}.closing h2 em{color:#ffd1a1}.closing a{display:inline-flex;align-items:center;gap:18px;text-transform:uppercase;letter-spacing:.16em;font-size:.58rem}.closing a span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff5c;border-radius:50%}footer{background:var(--deep);color:#fff;padding:55px max(24px,7vw);display:flex;align-items:center;justify-content:space-between;gap:30px}footer p{font-size:.61rem;color:#98766a}.reveal{opacity:0;transform:translateY(24px);transition:.8s}.reveal.visible{opacity:1;transform:none}@keyframes arrive{from{transform:scale(1.08);filter:saturate(.65)}to{transform:scale(1)}}
@media(max-width:980px){.desktop-nav{display:none}.menu{display:block;width:48px;height:48px;border:1px solid #ffffff55;border-radius:50%;background:none;color:#fff;position:relative}.menu span{position:absolute;width:15px;height:1px;background:#fff;left:16px;top:19px}.menu span+span{top:26px}.menu b{position:absolute;clip:rect(0 0 0 0)}.mobile-nav{display:flex;position:fixed;inset:70px 0 auto;background:#260706f5;flex-direction:column;padding:25px;gap:20px;transform:translateY(-150%);transition:.3s}.mobile-nav.open{transform:none}.story{grid-template-columns:1fr 1fr}.chapter{grid-column:1/-1}.story-photo{height:580px}.signature-grid{grid-template-columns:1fr}.signature-grid>div,.signature-grid>div+div{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.section-title{grid-template-columns:1fr}.section-title>p:last-child{margin-top:28px}.health-group,.compact{grid-template-columns:1fr}.health-intro{padding-right:0}.health-results,.gene-list,.other-result,.privacy{border-left:0;border-top:1px solid #ffffff25}.health-group.light .health-results{border-top-color:var(--line)}.pedigree-bar{align-items:flex-start;flex-direction:column}footer{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.hero{min-height:720px}.hero h1{font-size:7.2rem;margin:34px 0 52px}.hero-meta{top:108px;left:24px;right:auto;text-align:left}.enter{bottom:35px}.section{padding:88px 22px}.story{grid-template-columns:1fr}.chapter{display:none}.story h2,.section-title h2,.closing h2{font-size:3.2rem}.story-columns{grid-template-columns:1fr;gap:5px}.story-photo{margin:15px 0 0;height:520px}.health-group.light{margin:0 -22px;padding:0 22px}.health-results{grid-template-columns:1fr}.health-results>div{padding:34px 0}.health-results>div+div{border-left:0;border-top:1px solid var(--line)}.gene-list{grid-template-columns:1fr;padding:20px 0}.gene:nth-child(odd),.gene:nth-child(even){padding:13px 0;border-left:0}.other-result,.privacy{padding:35px 0}.tree-actions button{padding:7px 10px}.tree-viewport{height:650px}.pedigree{padding-left:0;padding-right:0}.pedigree>.section-title,.source-note{margin-left:22px;margin-right:22px}.drawer{padding:70px 28px}footer{padding:45px 22px}.hero-photo{object-position:57% 35%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.hero-photo{animation:none}}
.tree-canvas{width:1810px}.tree-node.gen-5{min-height:28px;height:28px;padding:4px 8px}.tree-node.gen-5 small,.tree-node.gen-5 span{display:none}.tree-node.gen-5 strong{font-size:.61rem;margin:0}

/* V4 — palette érable, galerie éditoriale et pedigree sans défilement horizontal */
.gallery{background:#fffaf3;padding-top:110px}.gallery-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:8vw;margin-bottom:60px}.gallery-heading h2,.dog-nav-heading h2{font:400 clamp(3.5rem,7vw,7.5rem)/.96 var(--display);letter-spacing:-.05em;margin:24px 0 0;color:var(--wine)}.gallery-heading h2 em{color:var(--maple)}.gallery-heading>p{max-width:420px;color:var(--muted);font-size:.86rem}.gallery-grid{display:grid;grid-template-columns:1.2fr .75fr .65fr;grid-template-rows:310px 290px;gap:14px}.gallery-shot{position:relative;border:0;padding:0;overflow:hidden;background:var(--deep);cursor:zoom-in;color:#fff}.gallery-shot img{width:100%;height:100%;object-fit:cover;transition:transform .8s,filter .8s}.gallery-shot:hover img{transform:scale(1.035);filter:saturate(1.08)}.gallery-shot span{position:absolute;left:20px;bottom:18px;background:#2d0c08c9;padding:7px 11px;text-transform:uppercase;letter-spacing:.16em;font-size:.52rem}.shot-main{grid-row:1/3}.shot-main img{object-position:47% 35%}.shot-detail{grid-column:2/4}.shot-detail img{object-position:50% 25%;transform:scale(1.55)}.shot-detail:hover img{transform:scale(1.6)}.shot-wild img{object-position:68% 42%;transform:scale(1.25)}.shot-wild:hover img{transform:scale(1.3)}.gallery-quote{margin:0;background:var(--maple);color:#fff;font:400 clamp(1.45rem,2.2vw,2.4rem)/1.3 var(--display);display:flex;align-items:flex-end;padding:30px}.lightbox{width:min(1100px,94vw);height:min(86vh,850px);padding:0;border:0;background:#1d0705;color:#fff;box-shadow:0 30px 100px #0008}.lightbox::backdrop{background:#180504df;backdrop-filter:blur(8px)}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox button{position:absolute;right:18px;top:14px;z-index:2;width:44px;height:44px;border:1px solid #ffffff66;border-radius:50%;background:#260706aa;color:#fff;font-size:1.5rem;cursor:pointer}.lightbox p{position:absolute;left:22px;bottom:12px;background:#260706c7;padding:7px 11px;font-size:.58rem;text-transform:uppercase;letter-spacing:.15em}
.tree-viewport{height:auto;overflow:hidden}.tree-canvas{width:100%;height:1170px;background-size:auto,16.666% 100%}.tree-node{width:14.1%;padding:8px;overflow:hidden}.tree-node.root{width:14.1%}.tree-node[data-branch="sire"]{background:#8d3a281d;border-color:#d98d6f33}.tree-node[data-branch="dam"]{background:#e4aa7d12;border-color:#edc6a23b}.tree-node strong{font-size:clamp(.45rem,.7vw,.74rem)}.tree-node small,.tree-node span{font-size:clamp(.3rem,.42vw,.44rem)}.tree-node.gen-5{width:14.1%}.pedigree-shell{background:#2d0c08}.tree-hint{text-align:center}.dog-navigation{background:#f2e8da}.dog-nav-heading{text-align:center;max-width:900px;margin:0 auto 55px}.dog-nav-heading h2{font-size:clamp(3.5rem,6vw,6rem)}.dog-nav-heading>p:last-child{color:var(--muted)}.dog-cards{display:grid;grid-template-columns:1fr 1fr .72fr;gap:12px}.dog-card{height:460px;position:relative;overflow:hidden;background:var(--wine);color:#fff}.dog-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:.7s}.dog-card:hover img{transform:scale(1.04);filter:saturate(1)}.dog-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#240806dc)}.dog-card span{position:absolute;z-index:2;inset:auto 28px 28px}.dog-card small,.dog-card strong,.dog-card i{display:block}.dog-card small{text-transform:uppercase;letter-spacing:.16em;font-size:.54rem;color:#e4b895}.dog-card strong{font:400 3rem var(--display);margin:4px 0 14px}.dog-card i{font-style:normal;font-size:.6rem;text-transform:uppercase;letter-spacing:.15em}.dog-card.elie img{object-position:65% 35%;transform:scale(1.22)}.dog-card.elie:hover img{transform:scale(1.27)}.all-dogs{background:linear-gradient(145deg,#7d2b1d,#32100b)}.all-dogs:before{content:"🍁";position:absolute;right:18px;top:12px;font-size:9rem;opacity:.08}.all-dogs:after{display:none}.all-dogs span{top:50%;bottom:auto;transform:translateY(-50%)}
@media(max-width:980px){.gallery-heading{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:440px 250px 300px}.shot-main{grid-column:1/3;grid-row:auto}.shot-detail{grid-column:auto}.tree-canvas{height:1170px}.tree-node,.tree-node.root,.tree-node.gen-5{width:13.7%}.dog-cards{grid-template-columns:1fr 1fr}.all-dogs{grid-column:1/3;height:260px}}
@media(max-width:640px){.gallery{padding-left:16px;padding-right:16px}.gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:480px 230px auto 300px}.shot-main,.shot-detail{grid-column:auto}.gallery-quote{min-height:200px}.tree-canvas{height:1170px}.tree-node,.tree-node.root,.tree-node.gen-5{width:13.3%;padding:3px}.tree-node strong{font-size:6px}.tree-node small{font-size:4px}.tree-node span{display:none}.generation-label{font-size:4px;letter-spacing:0}.pedigree-bar{padding:16px}.tree-hint{padding:12px 16px}.dog-cards{grid-template-columns:1fr}.dog-card,.all-dogs{grid-column:auto;height:390px}.all-dogs{height:240px}}
.dog-card.river{background:radial-gradient(circle at 72% 25%,#d8915955,transparent 28%),linear-gradient(145deg,#42120d,#8a2f20)}.dog-card.elie{background:radial-gradient(circle at 25% 28%,#f0bd8b42,transparent 27%),linear-gradient(145deg,#8f3522,#3a110c)}.dog-card.river:before,.dog-card.elie:before{content:"RM";position:absolute;right:22px;top:0;font:400 12rem var(--display);color:#fff;opacity:.045}

/* V4 finale — présentation santé uniforme, éditoriale et sans code couleur de statut */
.health-intro>p{color:#c9a394}.health-results strong,.other-result strong{color:var(--cream)}
.health-count{margin-top:45px;color:#af8a7c;font-size:.61rem;text-transform:uppercase;letter-spacing:.14em}
.gene span{color:#b99a8e}.gene i{width:18px;height:1px;border-radius:0;background:#ffffff3d}
.gene.carrier i,.clear,.carrier{background:#ffffff3d}

/* Identité Red Maple — logo officiel fourni par l'élevage */
.site-header{height:158px}.site-header.scrolled{height:126px}
.brand,.footer-brand{gap:17px}.brand img{width:120px;height:120px;object-fit:cover;border-radius:50%;border:1px solid #ffffff4a;box-shadow:0 10px 34px #1604035c}
.footer-brand img{width:190px;height:190px;object-fit:cover;border-radius:50%;border:1px solid #ffffff24;box-shadow:0 16px 40px #0004}
@media(max-width:640px){.site-header{height:116px}.site-header.scrolled{height:98px}.brand img{width:88px;height:88px}.brand span{font-size:.63rem}.footer-brand img{width:158px;height:158px}}
