:root{--navy:#080f2a;--navy2:#111c40;--gold:#e6c681;--muted:#aab4cc;--white:#f8f8ff;--border:rgba(255,255,255,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--white);font-family:'DM Sans',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.section-shell{width:min(1240px,calc(100% - 100px));margin:auto}.ambient{position:absolute;pointer-events:none;border-radius:50%;filter:blur(95px);opacity:.26;z-index:-1}.ambient-one{width:550px;height:550px;top:110px;right:-120px;background:#2648a2}.ambient-two{width:400px;height:400px;top:900px;left:-200px;background:#172d78}.site-header{height:104px;width:min(1350px,calc(100% - 100px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:2px;font-size:17px}.brand-mark{background:linear-gradient(135deg,#fff4c6,#bfa15b);color:#08102b;font-size:18px;letter-spacing:-1px;padding:13px 9px;border-radius:50%}.brand small{display:block;font-size:9px;letter-spacing:3px;color:var(--gold);margin-top:5px}.site-header nav{display:flex;gap:38px;font-size:13px;color:#d7dcee}.site-header nav a:hover,.text-link:hover{color:var(--gold)}.header-contact{border:1px solid rgba(230,198,129,.6);padding:13px 20px;border-radius:30px;font-size:12px}.header-contact span{color:var(--gold);margin-left:12px}.hero{min-height:740px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;position:relative;padding-top:35px;padding-bottom:100px}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:11px;letter-spacing:3px;font-weight:700}.eyebrow-line{height:1px;width:28px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-2px}h1{font-size:clamp(58px,6vw,94px);line-height:1.09;margin:29px 0}h1 em,h2 em{color:var(--gold);font-weight:500}.hero-copy>p{max-width:460px;line-height:1.9;color:var(--muted);font-size:15px}.hero-actions,.contact-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:35px}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;border-radius:4px;padding:18px 23px;font-size:12px;font-weight:700;transition:transform .3s,background .3s}.btn:hover{transform:translateY(-4px)}.btn-gold{background:var(--gold);color:#09122f}.btn-outline{border:1px solid var(--gold);color:var(--gold)}.text-link{font-size:12px;border-bottom:1px solid var(--gold);padding:12px 0}.text-link span{margin-left:12px}.hero-foot{margin-top:85px;color:#b8c0d7;font-size:12px}.gold-star{color:var(--gold);font-size:20px;margin-right:10px}.hero-art{height:600px;display:grid;place-items:center;position:relative;perspective:1200px}.hero-orbit{position:absolute;border:1px solid rgba(230,198,129,.15);border-radius:50%;pointer-events:none}.orbit-one{width:580px;height:580px}.orbit-two{width:480px;height:480px}.tilt-card{position:relative;overflow:hidden;transform-style:preserve-3d;will-change:transform;isolation:isolate}.hero-card{width:min(390px,82%);height:520px;border-radius:195px 195px 16px 16px;box-shadow:0 30px 80px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.22)}.card-image-wrap{position:absolute;inset:-10px;overflow:hidden;transform:translateZ(0)}.card-image-wrap img{height:100%;object-fit:cover;transition:transform .6s}.hero-card img{object-position:center 40%}.card-shine{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),rgba(255,255,255,.35),transparent 50%);transition:opacity .3s}.tilt-card:hover .card-shine{opacity:1}.card-label{position:absolute;bottom:0;left:0;right:0;padding:25px;background:linear-gradient(transparent,rgba(4,9,25,.92));display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:2px;z-index:3}.card-label strong{margin-left:auto;color:var(--gold);font-size:10px}.card-label-dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}.floating-tag,.glass-chip{position:absolute;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.23);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:17px 20px;border-radius:8px;font-size:12px;box-shadow:0 15px 40px rgba(0,0,0,.22);z-index:3}.tag-top{right:-8px;top:100px}.tag-bottom{left:-15px;bottom:100px;color:var(--gold)}.scroll-indicator{position:absolute;bottom:20px;left:0;color:#7f8ba8;font-size:9px;letter-spacing:3px;display:flex;gap:14px;align-items:center}.scroll-indicator span{width:1px;height:45px;background:var(--gold)}.collection{padding-top:115px;padding-bottom:125px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:55px}.section-top h2,.feature h2,.showcase h2,.contact h2{font-size:clamp(40px,4.5vw,66px);line-height:1.15;margin:25px 0 0}.section-top h2{max-width:620px}.section-top>p{max-width:315px;font-size:14px;line-height:1.9;color:var(--muted)}.collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;perspective:1300px}.collection-card{height:560px;border-radius:12px;border:1px solid var(--border);box-shadow:0 20px 45px rgba(0,0,0,.25)}.collection-card img{object-position:center 30%}.collection-card:nth-child(2) img{object-position:center center}.collection-caption{position:absolute;bottom:0;left:0;right:0;padding:90px 35px 30px;background:linear-gradient(transparent,rgba(3,7,21,.96));z-index:3;transform:translateZ(24px)}.collection-caption span{font-size:10px;letter-spacing:3px;color:var(--gold)}.collection-caption h3{font:500 37px 'Playfair Display',serif;margin:12px 0 6px}.collection-caption p{color:#c9cee0;font-size:13px;margin:0}.feature{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center;padding-top:65px;padding-bottom:165px}.feature-visual{height:670px;position:relative;border-radius:260px 260px 14px 14px;overflow:hidden;clip-path:inset(0 0 100% 0);background:#15203d}.feature-visual img{height:100%;object-fit:cover;object-position:center;transform:scale(1.2)}.feature-number{position:absolute;bottom:25px;left:30px;color:white;font-size:11px;letter-spacing:2px;z-index:4}.feature-copy p{color:var(--muted);font-size:15px;line-height:2;margin:30px 0 40px}.particle-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.particle{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffe5a1;box-shadow:0 0 15px #ffd77d;opacity:0}.showcase{padding-top:80px;padding-bottom:140px;text-align:center}.showcase-head p{color:var(--muted);margin-top:20px}.showcase-head .eyebrow{justify-content:center}.glass-stage{margin:65px auto 0;max-width:1050px;position:relative;padding:55px 50px;isolation:isolate}.glass-stage:before{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.17);border-radius:28px;background:linear-gradient(140deg,rgba(255,255,255,.12),rgba(255,255,255,.015));backdrop-filter:blur(20px);z-index:-1}.glass-halo{position:absolute;width:70%;height:70%;top:15%;left:15%;background:#3d54ac;filter:blur(100px);opacity:.36;z-index:-2}.glass-frame{position:relative;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.32);box-shadow:0 25px 65px rgba(0,0,0,.48);transition:transform .5s}.glass-frame:hover{transform:translateY(-7px) scale(1.012)}.flyer-img{width:100%;height:auto}.flyer-glow{position:absolute;pointer-events:none;opacity:0;filter:blur(13px);border-radius:50%;background:rgba(255,211,100,.7);transition:opacity .4s}.glow-logo{width:22%;height:40%;left:39%;top:15%;animation:breath 3s ease-in-out infinite}.glow-phone{width:6%;height:12%;left:63%;top:72%}.glow-cart{width:6%;height:10%;left:43%;top:73%}.glass-frame:hover .flyer-glow{opacity:.38}.glass-frame:hover .glow-phone,.glass-frame:hover .glow-cart{animation:glow 1.5s ease-in-out infinite alternate}@keyframes breath{0%,100%{transform:scale(.94);opacity:.06}50%{transform:scale(1.1);opacity:.2}}@keyframes glow{from{opacity:.12}to{opacity:.55}}.chip-one{left:-10px;top:23px;color:var(--gold)}.chip-two{right:-10px;bottom:24px}.contact{text-align:center;padding:110px 25px 120px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.contact .eyebrow{justify-content:center}.contact h2{max-width:750px;margin:25px auto}.contact>p{max-width:550px;margin:auto;color:var(--muted);line-height:1.9}.contact-actions{justify-content:center}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:32px;padding-bottom:40px;color:#8e9ab4;font-size:11px}.footer a{color:var(--gold)}@media(max-width:1000px){.section-shell,.site-header{width:min(100% - 50px,800px)}.site-header nav{display:none}.hero{grid-template-columns:1fr;gap:20px;padding-top:75px}.hero-copy{text-align:center}.hero-copy .eyebrow,.hero-actions{justify-content:center}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-foot{margin-top:35px}.hero-art{height:550px}.scroll-indicator{display:none}.section-top{align-items:start;flex-direction:column;gap:5px}.feature{gap:50px}.feature-visual{height:550px}.floating-tag{font-size:11px}}@media(max-width:650px){.section-shell,.site-header{width:calc(100% - 36px)}.site-header{height:78px}.brand{font-size:13px}.brand-mark{font-size:14px;padding:10px 7px}.header-contact{padding:11px;font-size:10px}.header-contact span{display:none}.hero{padding-top:60px;padding-bottom:60px;min-height:auto}.hero h1{font-size:clamp(50px,13vw,70px)}.hero-copy>p{font-size:14px}.hero-actions{gap:17px}.hero-art{height:480px}.hero-card{width:min(320px,83%);height:420px}.orbit-one{width:380px;height:380px}.orbit-two{width:310px;height:310px}.floating-tag{padding:12px;font-size:10px}.tag-top{right:-4px;top:70px}.tag-bottom{left:0;bottom:55px}.collection{padding-top:70px;padding-bottom:70px}.section-top h2,.feature h2,.showcase h2,.contact h2{font-size:43px}.collection-grid{grid-template-columns:1fr;gap:20px}.collection-card{height:440px}.feature{grid-template-columns:1fr;gap:45px;padding:30px 0 100px}.feature-visual{height:520px;max-width:440px;width:100%;margin:auto}.feature-copy{text-align:center}.feature-copy .eyebrow{justify-content:center}.showcase{padding:30px 0 90px}.glass-stage{padding:22px 12px;margin-top:35px}.glass-stage:before{border-radius:15px}.glass-chip{font-size:9px;padding:8px}.chip-one{left:0;top:-10px}.chip-two{right:0;bottom:-10px}.contact{padding:75px 10px}.footer{flex-direction:column;text-align:center}.eyebrow{font-size:9px;letter-spacing:2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.feature-visual{clip-path:none}.feature-visual img{transform:none}}

/* Catégories supplémentaires : sans photographies fictives */
.animal-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:32px}
.animal-category{border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.055);backdrop-filter:blur(14px);border-radius:22px;padding:26px 22px;transition:transform .35s ease,border-color .35s ease}
.animal-category:hover{transform:translateY(-7px);border-color:rgba(222,188,105,.65)}
.animal-emoji{font-size:48px;display:block;margin-bottom:20px}
.animal-category h3{font-family:'Playfair Display',serif;font-size:23px;margin:0 0 10px}
.animal-category p{opacity:.75;font-size:14px;line-height:1.65;min-height:48px}
.animal-category a{display:inline-block;margin-top:16px;color:#e8c77c;font-weight:700;text-decoration:none;font-size:14px}
@media(max-width:900px){.animal-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.animal-categories{grid-template-columns:1fr}.animal-category p{min-height:0}}
@media(prefers-reduced-motion:reduce){.animal-category{transition:none}}

/* Pages internes */
.site-header{width:min(1440px,calc(100% - 52px))}.site-header nav{gap:15px;flex-wrap:wrap;justify-content:center}.site-header nav a{font-size:11px;white-space:nowrap}.site-header nav a[aria-current=page]{color:var(--gold)}.inner-hero{padding:105px 0 65px;max-width:950px}.inner-hero h1{font-size:clamp(48px,6vw,82px)}.inner-hero p{color:var(--muted);max-width:730px;line-height:1.85}.inner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:100px}.service-card{border:1px solid var(--border);border-radius:20px;padding:32px;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));min-height:265px;transition:transform .3s,border-color .3s}.service-card:hover{transform:translateY(-6px);border-color:var(--gold)}.service-icon{font-size:45px}.service-card h2{font:500 27px 'Playfair Display',serif;margin:22px 0 10px}.service-card p{color:var(--muted);font-size:14px;line-height:1.7}.service-card a{color:var(--gold);font-size:13px;font-weight:700}.inner-banner{padding:35px;margin:0 auto 90px;border:1px solid var(--border);border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(255,255,255,.05)}.inner-banner h2{font:500 31px 'Playfair Display',serif}.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:80px}.photo-strip img{height:350px;object-fit:cover;border-radius:18px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px;margin:0 auto 95px}.quote-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--gold)}.quote-form input,.quote-form select,.quote-form textarea{background:#111c40;border:1px solid var(--border);color:white;border-radius:9px;padding:15px;font:inherit;width:100%}.quote-form .wide{grid-column:1/-1}.quote-form button{cursor:pointer;border:0}.mobile-nav-toggle{display:none}@media(max-width:1150px){.site-header{flex-wrap:wrap;height:auto;padding:18px 0}.site-header nav{order:3;width:100%;gap:14px;padding:10px 0}.site-header nav a{font-size:11px}}@media(max-width:700px){.inner-grid{grid-template-columns:1fr}.inner-hero{padding:65px 0 40px}.inner-banner{flex-direction:column;align-items:start}.photo-strip{grid-template-columns:1fr}.photo-strip img{height:320px}.quote-form{grid-template-columns:1fr}.site-header nav{display:flex;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;scrollbar-width:thin}.site-header nav a{flex:none}.header-contact{display:none}}

/* GALERIE PREMIUM — grille, filtres, lightbox */
.gallery-section{padding-top:95px;padding-bottom:115px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:35px}.gallery-heading h2{font:500 clamp(38px,5vw,66px)/1.15 'Playfair Display',serif;max-width:680px}.gallery-heading p{max-width:360px;color:var(--muted);line-height:1.8}.gallery-filters{display:flex;gap:12px;flex-wrap:wrap;margin:35px 0 28px}.gallery-filters button{background:rgba(255,255,255,.07);color:#e9eefa;border:1px solid rgba(255,255,255,.16);border-radius:30px;padding:12px 22px;font:600 13px 'DM Sans',sans-serif;cursor:pointer;transition:.3s}.gallery-filters button:hover,.gallery-filters .is-active{background:#e8c77c;color:#10172f;border-color:#e8c77c}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gallery-item{position:relative;min-width:0;height:365px;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:0;cursor:zoom-in;background:#18274d;text-align:left;transform:translateZ(0)}.gallery-item:nth-child(2){transform:translateY(28px)}.gallery-item:nth-child(4){height:270px;align-self:center}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .5s}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.12);filter:saturate(1.16)}.gallery-overlay{position:absolute;inset:auto 0 0;padding:65px 20px 20px;background:linear-gradient(transparent,rgba(3,8,25,.95));display:flex;flex-direction:column;gap:6px;pointer-events:none}.gallery-overlay strong{color:white;font-size:15px}.gallery-overlay small{color:#e8c77c}.gallery-note{color:var(--muted);font-size:12px;margin-top:44px}.gallery-item[hidden]{display:none!important}.gallery-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(3,7,20,.94);backdrop-filter:blur(22px);display:none;align-items:center;justify-content:center;padding:65px 80px}.gallery-lightbox.is-open{display:flex}.gallery-lightbox figure{margin:0;max-width:min(100%,1000px);text-align:center}.gallery-lightbox figure img{display:block;max-width:100%;max-height:76vh;object-fit:contain;border-radius:12px;box-shadow:0 24px 100px #0009}.gallery-lightbox figcaption{color:#f5e4bf;margin-top:16px}.gallery-lightbox button{position:absolute;border:1px solid #ffffff55;color:white;background:#ffffff18;backdrop-filter:blur(8px);cursor:pointer;border-radius:50%;width:47px;height:47px;font-size:28px;transition:background .2s}.gallery-lightbox button:hover{background:#ffffff44}.lightbox-close{top:20px;right:25px}.lightbox-prev{left:20px;top:50%}.lightbox-next{right:20px;top:50%}.gallery-lightbox:focus-within{outline:none}.gallery-item:focus-visible,.gallery-filters button:focus-visible{outline:3px solid #e8c77c;outline-offset:3px}.reading-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#e8c77c,#fff4c8);z-index:10000;pointer-events:none}.back-to-top{position:fixed;right:20px;bottom:20px;z-index:50;width:46px;height:46px;border-radius:50%;border:1px solid #ffffff44;background:#1a2859e6;color:white;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.service-card,.animal-category{will-change:transform}@media(max-width:950px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item:nth-child(2){transform:none}.gallery-item:nth-child(4){height:365px}.gallery-heading{display:block}}@media(max-width:580px){.gallery-grid{gap:12px}.gallery-item{height:250px}.gallery-item:nth-child(4){height:250px}.gallery-overlay{padding:50px 12px 14px}.gallery-overlay strong{font-size:12px}.gallery-lightbox{padding:60px 15px}.lightbox-prev,.lightbox-next{top:auto!important;bottom:18px}.gallery-lightbox figure img{max-height:65vh}.gallery-section{padding-top:55px;padding-bottom:65px}}@media(prefers-reduced-motion:reduce){.gallery-item img{transition:none}}
