/* ==========================================================================
   Maillard'Coon / Pretty Lynx — design system
   ========================================================================== */

:root{
  --ink:#1c191d;
  --ink-soft:#3c3540;
  --taupe:#6b6477;
  --taupe-light:#a49dae;
  --cream:#faf5ec;
  --cream-deep:#f1e9da;
  --surface:#ffffff;
  --gold:#b3873f;
  --gold-light:#d9b877;
  --gold-dark:#8a6a30;
  --rose:#c98a83;
  --green:#5c8a63;
  --amber:#c99a3a;
  --grey:#9a94a0;

  --font-display:"Fraunces", Georgia, serif;
  --font-body:"Nunito Sans", "Segoe UI", sans-serif;

  --container:1180px;
  --radius-sm:6px;
  --radius-md:14px;
  --radius-lg:28px;
  --shadow-sm:0 2px 10px rgba(28,25,29,.06);
  --shadow-md:0 12px 32px rgba(28,25,29,.10);
  --shadow-lg:0 24px 60px rgba(28,25,29,.16);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:clip}
svg{width:20px;height:20px;flex-shrink:0;display:inline-block;vertical-align:middle}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink-soft);
  background:var(--cream);
  line-height:1.65;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.nav-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}
.skip-link{position:fixed;left:18px;top:12px;z-index:3000;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;transform:translateY(-150%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gold-dark),var(--gold-light),#fff0bd);transform:scaleX(0);transform-origin:left;z-index:2400;pointer-events:none;box-shadow:0 0 14px rgba(217,184,119,.45)}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.15;margin:0 0 .5em;font-weight:600}
h1{font-size:clamp(2.3rem,5vw,3.6rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-size:1.3rem}
h1,h2,h3{overflow-wrap:anywhere;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
.container{max-width:var(--container);margin:0 auto;padding:0 24px}
section{padding:88px 0}
@media (max-width:768px){section{padding:56px 0}}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-body);font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  font-size:.78rem;color:var(--gold-dark);margin-bottom:14px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);display:inline-block}
.section-head{max-width:640px;margin:0 auto 48px;text-align:center}
.section-head p{color:var(--taupe)}
.lede{font-size:1.15rem;color:var(--taupe)}

/* Buttons */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 30px;border-radius:100px;font-weight:800;font-size:.95rem;
  font-family:var(--font-body);letter-spacing:.01em;cursor:pointer;border:1.5px solid transparent;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s,color .3s,border-color .3s;
  white-space:nowrap;
}
.btn::before{
  content:"";position:absolute;inset:-7px;border-radius:inherit;pointer-events:none;
  box-shadow:0 0 18px 4px rgba(179,135,63,.4);opacity:0;transition:opacity .35s;
}
.btn:hover::before,.btn:focus-visible::before{opacity:1}
.btn::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  --glow:255,255,255;--glow-a:.25;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(var(--glow),var(--glow-a)), rgba(var(--glow),0) 62%);
  opacity:0;transition:opacity .35s;
}
.btn:hover::after,.btn:focus-visible::after{opacity:1}
.btn-primary{background:var(--ink);color:var(--cream)}
.btn-primary::after{--glow:255,255,255;--glow-a:.28}
.btn-primary:hover{background:var(--gold-dark);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold::after{--glow:255,255,255;--glow-a:.3}
.btn-gold:hover{background:var(--gold-dark);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-md)}
.btn-outline{background:transparent;border-color:rgba(28,25,29,.25);color:var(--ink)}
.btn-outline::after{--glow:179,135,63;--glow-a:.4}
.btn-outline:hover{border-color:var(--ink);background:var(--ink);color:var(--cream);transform:translateY(-3px)}
.btn-outline:hover::after{--glow:255,255,255;--glow-a:.28}
.btn-outline.on-dark{border-color:rgba(255,255,255,.5);color:#fff}
.btn-outline.on-dark::after{--glow:255,255,255;--glow-a:.28}
.btn-outline.on-dark:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-outline.on-dark:hover::after{--glow:179,135,63;--glow-a:.4}
.btn-sm{padding:10px 20px;font-size:.85rem}
.btn:active{transform:scale(.98)}
.btn:disabled{cursor:wait;opacity:.68;box-shadow:none;transform:none}
.btn:disabled::before,.btn:disabled::after{display:none}

/* ---------------- Header ---------------- */
#site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:16px 0;
  transition:padding .35s var(--ease),background-color .35s var(--ease),box-shadow .35s var(--ease);
  background:linear-gradient(to bottom, rgba(15,13,16,.6), transparent);
}
#site-header.scrolled{
  padding:10px 0;background:rgba(250,245,236,.98);
  box-shadow:0 2px 20px rgba(28,25,29,.08);
}
#site-header .container{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1500px}
.brand{display:flex;align-items:center;flex-shrink:0;line-height:0}
.brand img{height:58px;width:auto;display:block;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4)) drop-shadow(0 0 1px rgba(0,0,0,.5))}
@media (max-width:600px){.brand img{height:46px}}

.main-nav{display:flex;align-items:center;gap:2px;flex-wrap:nowrap}
.main-nav a{
  padding:8px 12px;font-size:.83rem;font-weight:700;color:rgba(255,255,255,.88);
  border-radius:100px;transition:background .3s,color .3s;position:relative;
  white-space:nowrap;flex-shrink:0;-webkit-tap-highlight-color:transparent;
}
#site-header.scrolled .main-nav a{color:var(--ink-soft)}
.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.14);color:#fff}
#site-header.scrolled .main-nav a:hover,#site-header.scrolled .main-nav a.active{background:var(--cream-deep);color:var(--ink)}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.language-switcher{position:relative;flex-shrink:0;font-family:var(--font-body)}
.language-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:7px 12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:100px;color:#fff;font:inherit;font-size:.79rem;font-weight:800;cursor:pointer;transition:background .3s,border-color .3s,color .3s}
#site-header.scrolled .language-toggle{background:rgba(28,25,29,.04);border-color:rgba(28,25,29,.11);color:var(--ink)}
.language-flag{font-size:1.05rem;line-height:1}.language-chevron{font-size:.9rem;transition:transform .3s}.language-toggle[aria-expanded="true"] .language-chevron{transform:rotate(180deg)}
.language-menu{position:absolute;top:calc(100% + 10px);right:0;width:176px;padding:8px;background:rgba(255,255,255,.98);border:1px solid rgba(28,25,29,.08);border-radius:14px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.97);transform-origin:top right;transition:opacity .22s,visibility .22s,transform .25s var(--ease);overflow:hidden}
.language-menu.is-open{opacity:1;visibility:visible;transform:none}
.language-menu a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--ink-soft);font-size:.82rem;font-weight:750;-webkit-tap-highlight-color:transparent}
.language-menu a:hover,.language-menu a[aria-current="true"]{background:var(--cream-deep);color:var(--gold-dark)}
.language-menu a span{font-size:1rem}

.nav-toggle{display:none;position:relative;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:50%;cursor:pointer;padding:0;z-index:1200;flex-shrink:0;transition:background .3s,border-color .3s,transform .3s}
.nav-toggle span{width:22px;height:1.8px;background:#fff;border-radius:2px;transition:transform .38s var(--ease),opacity .2s,background .3s}
#site-header.scrolled .nav-toggle span{background:var(--ink)}
#site-header.scrolled .nav-toggle{background:rgba(28,25,29,.04);border-color:rgba(28,25,29,.1)}
.nav-toggle.is-open span{background:var(--ink)}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7.8px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0;transform:scaleX(.3)}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7.8px) rotate(-45deg)}
.mobile-nav-head,.mobile-nav-contact{display:none}

/* Compact desktop header for notebooks. The full navigation remains visible;
   the off-canvas menu is reserved for tablets and phones below. */
@media (min-width:1191px) and (max-width:1399px){
  #site-header .container{gap:10px;padding-left:18px;padding-right:18px}
  .brand img{height:52px}
  .main-nav{gap:0}
  .main-nav a{padding:7px 8px;font-size:.75rem}
  .language-toggle{gap:6px;min-height:39px;padding:6px 9px;font-size:.74rem}
}

@media (max-width:1190px){
  .main-nav{
    position:fixed;inset:0 0 0 auto;width:min(380px,90vw);height:100vh;height:100dvh;
    background:linear-gradient(155deg,#fff 0%,var(--cream) 70%,#eee1ca 100%);flex-direction:column;align-items:stretch;
    padding:max(92px,calc(env(safe-area-inset-top) + 76px)) 30px max(30px,env(safe-area-inset-bottom));gap:2px;transform:translateX(102%);transition:transform .52s var(--ease);
    box-shadow:-18px 0 60px rgba(15,13,16,.22);
    overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;touch-action:pan-y;contain:layout paint;
    z-index:1100;
  }
  .main-nav::before{content:"";position:absolute;right:-35px;bottom:8%;width:210px;height:210px;border:1px solid rgba(179,135,63,.12);border-radius:48% 52% 46% 54%;transform:rotate(22deg);pointer-events:none}
  .main-nav.is-open{transform:translateX(0)}
  .mobile-nav-head{display:flex;flex-direction:column;padding:0 6px 20px;margin-bottom:8px;border-bottom:1px solid rgba(179,135,63,.24);position:relative}
  .mobile-nav-head span{font-family:var(--font-display);font-size:1.42rem;color:var(--ink);line-height:1.2}
  .mobile-nav-head small{margin-top:5px;color:var(--gold-dark);font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
  .main-nav>a:not(.mobile-nav-contact){color:var(--ink-soft)!important;font-size:1.02rem;padding:11px 6px;border-bottom:1px solid rgba(28,25,29,.07);border-radius:0;white-space:normal;transform:translateX(18px);opacity:0;transition:color .25s,padding .3s,transform .38s var(--ease),opacity .3s}
  .main-nav.is-open>a:not(.mobile-nav-contact){transform:none;opacity:1}
  .main-nav.is-open>a:nth-of-type(1){transition-delay:.08s}.main-nav.is-open>a:nth-of-type(2){transition-delay:.11s}.main-nav.is-open>a:nth-of-type(3){transition-delay:.14s}.main-nav.is-open>a:nth-of-type(4){transition-delay:.17s}.main-nav.is-open>a:nth-of-type(5){transition-delay:.20s}.main-nav.is-open>a:nth-of-type(6){transition-delay:.23s}.main-nav.is-open>a:nth-of-type(7){transition-delay:.26s}.main-nav.is-open>a:nth-of-type(8){transition-delay:.29s}.main-nav.is-open>a:nth-of-type(9){transition-delay:.32s}
  .main-nav a:hover,.main-nav a.active{background:none!important;color:var(--gold-dark)!important;padding-left:14px}
  .main-nav a:focus-visible{outline:none!important;border-radius:0;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1.5px;text-underline-offset:5px;background:transparent!important;color:var(--gold-dark)!important}
  .main-nav a.active::before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:var(--gold);transform:translateY(-50%);box-shadow:0 0 0 5px rgba(179,135,63,.12)}
  .main-nav .mobile-nav-contact{display:flex!important;align-items:center;justify-content:space-between;margin-top:18px;padding:14px 17px!important;border:0!important;border-radius:12px!important;background:var(--ink)!important;color:#fff!important;font-size:.82rem!important;font-weight:800;box-shadow:0 12px 28px rgba(28,25,29,.17)}
  .main-nav .mobile-nav-contact span{font-size:1.15rem;color:var(--gold-light)}
  .nav-toggle{display:flex}
  .nav-scrim{position:fixed;inset:0;background:rgba(15,13,16,.58);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .4s;z-index:1050;touch-action:none;overscroll-behavior:none}
  .nav-scrim.is-open{opacity:1;pointer-events:auto}
}

/* ---------------- Hero ---------------- */
.hero{
  position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;
  background:var(--ink);overflow:hidden;
}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;
  transform:translate3d(0,var(--parallax-y,0),0) scale(1.08);animation:heroZoom 16s ease-out forwards;will-change:transform}
.hero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,17,20,.55) 0%,rgba(20,17,20,.35) 40%,rgba(20,17,20,.85) 100%);}
@keyframes heroZoom{to{transform:translate3d(0,var(--parallax-y,0),0) scale(1.02)}}
.hero-content{position:relative;z-index:2;color:#fff;max-width:760px;padding-top:90px;padding-bottom:130px}
.hero-content .eyebrow{color:var(--gold-light)}
.hero-content .eyebrow::before{background:var(--gold-light)}
.hero h1{color:#fff}
.hero-content p{color:rgba(255,255,255,.86);font-size:1.15rem;max-width:560px}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px}
.hero-scroll{
  position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.75);
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
}
.hero-scroll .line{width:1px;height:34px;background:linear-gradient(#fff,transparent);animation:scrollLine 2s ease-in-out infinite}
@keyframes scrollLine{0%{opacity:0;transform:translateY(-6px)}50%{opacity:1}100%{opacity:0;transform:translateY(10px)}}

.page-hero{
  position:relative;padding:180px 0 90px;background:var(--ink);color:#fff;overflow:hidden;
}
.page-hero-media{position:absolute;inset:0}
.page-hero-media img{width:100%;height:110%;object-fit:cover;opacity:.4;transform:translate3d(0,var(--parallax-y,0),0) scale(1.02);will-change:transform}
.page-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,15,19,.55),rgba(18,15,19,.92))}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{color:#fff;margin-bottom:.3em}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:.85rem;color:rgba(255,255,255,.6);margin-bottom:18px}
.breadcrumb a:hover{color:#fff}
.page-hero .lede{color:rgba(255,255,255,.78);max-width:640px}

/* ---------------- Reveal animation ---------------- */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal-scale{opacity:1;transform:none}
.js .reveal-scale{opacity:0;transform:scale(.96);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal-scale.is-visible{opacity:1;transform:scale(1)}
.stagger.is-visible > *{transition-delay:calc(var(--i,0) * 90ms)}

/* ---------------- Value / feature grid (bento) ---------------- */
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:22px}
@media (max-width:960px){.value-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}}
@media (max-width:560px){.value-grid{grid-template-columns:1fr}}
.value-card{
  background:var(--surface);border-radius:var(--radius-md);padding:32px 26px;
  box-shadow:var(--shadow-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease);
  border:1px solid rgba(28,25,29,.05);
}
/* Bento: one tall feature tile (2x2) beside a wide tile and two small ones —
   asymmetric grid gives the "engagement" section visual rhythm instead of
   four identical boxes. Falls back to a plain stacked/2-col grid on small
   screens where a bento layout would just look cramped. */
.value-grid>.value-card-feature{grid-column:1/3;grid-row:1/3;display:flex;flex-direction:column;justify-content:center;
  background:var(--ink);background-image:radial-gradient(circle at 85% 12%,rgba(217,184,119,.28),transparent 55%);color:#fff;padding:38px 34px}
.value-grid>.value-card-feature h3{color:#fff}
.value-grid>.value-card-feature p{color:rgba(255,255,255,.72)}
.value-grid>.value-card-feature .icon-badge{background:rgba(255,255,255,.12);color:var(--gold-light);width:60px;height:60px;border-radius:18px}
.value-grid>.value-card-feature .icon-badge svg{width:30px;height:30px}
.value-grid>.value-card:nth-of-type(2){grid-column:3/5;grid-row:1/2}
.value-grid>.value-card:nth-of-type(3){grid-column:3/4;grid-row:2/3}
.value-grid>.value-card:nth-of-type(4){grid-column:4/5;grid-row:2/3}
@media (max-width:960px){
  .value-grid>.value-card-feature{grid-column:1/3;grid-row:auto}
  .value-grid>.value-card:nth-of-type(2){grid-column:1/3;grid-row:auto}
  .value-grid>.value-card:nth-of-type(3){grid-column:1/2;grid-row:auto}
  .value-grid>.value-card:nth-of-type(4){grid-column:2/3;grid-row:auto}
}
@media (max-width:560px){
  .value-grid>.value-card-feature,.value-grid>.value-card:nth-of-type(2),.value-grid>.value-card:nth-of-type(3),.value-grid>.value-card:nth-of-type(4){grid-column:1/2}
}
/* SVG icon "draw-in": stroke-based icons (shield/home/heart…) trace their
   outline as the card reveals. Filled icons (paw) are unaffected — fine,
   they already scale in with the card. */
.icon-badge svg path,.icon-badge svg circle{stroke-dasharray:140;stroke-dashoffset:140;transition:stroke-dashoffset 1s var(--ease) .2s}
.reveal.is-visible .icon-badge svg path,.reveal.is-visible .icon-badge svg circle{stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){.icon-badge svg path,.icon-badge svg circle{stroke-dasharray:none;stroke-dashoffset:0}}
.premium-surface{position:relative;isolation:isolate}
.premium-surface::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx,-100%) var(--my,-100%),rgba(255,255,255,.20),transparent 42%);opacity:0;transition:opacity .35s}
.premium-surface:hover::after{opacity:1}
.value-card,.info-card,.cat-card,.kitten-feature{background-image:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,255,255,.78))}
.value-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md)}
.icon-badge{
  width:52px;height:52px;border-radius:16px;background:var(--cream-deep);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--gold-dark);
}
.icon-badge svg{width:26px;height:26px}
.value-card h3{margin-bottom:.4em;font-size:1.1rem}
.value-card p{color:var(--taupe);font-size:.92rem;margin:0}

/* ---------------- Cat / kitten cards ---------------- */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media (max-width:900px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.cat-grid{grid-template-columns:1fr}}
.cat-card{
  background:var(--surface);border-radius:var(--radius-md);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .45s var(--ease),box-shadow .45s var(--ease);
  border:1px solid rgba(28,25,29,.05);
}
.cat-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.cat-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--cream-deep);cursor:zoom-in}
.cat-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.cat-card:hover .cat-photo img{transform:scale(1.08)}
.cat-photo .zoom-ic,.litter-photo .zoom-ic,.kitten-feature-media .zoom-ic{position:absolute;bottom:12px;right:12px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);
  display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.7);transition:all .35s;z-index:2}
.cat-photo .zoom-ic svg,.litter-photo .zoom-ic svg,.kitten-feature-media .zoom-ic svg{width:15px;height:15px;color:var(--ink)}
.cat-card:hover .zoom-ic,.litter-card:hover .zoom-ic,.kitten-feature-media:hover .zoom-ic{opacity:1;transform:scale(1)}
.cat-body{display:flex;flex-direction:column;min-height:188px;padding:22px 24px 26px}
.cat-body h3{margin-bottom:.15em}
.cat-tag{color:var(--gold-dark);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.cat-meta{display:flex;flex-wrap:wrap;gap:8px;margin:auto 0 4px;padding-top:14px}
.chip{
  background:var(--cream-deep);color:var(--ink-soft);font-size:.74rem;font-weight:700;
  padding:5px 11px;border-radius:100px;letter-spacing:.02em;
}
.chip.chip-dna{background:rgba(179,135,63,.12);color:var(--gold-dark)}

/* Badges: disponible / option / reserve */
.badge{
  display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:.76rem;
  text-transform:uppercase;letter-spacing:.05em;padding:6px 14px;border-radius:100px;
}
.badge::before{content:"";width:8px;height:8px;border-radius:50%}
.badge-dispo{background:rgba(92,138,99,.16);color:#35613d}
.badge-dispo::before{background:var(--green);animation:pulseDot 1.8s ease-in-out infinite}
.badge-option{background:rgba(201,154,58,.18);color:#76540e}
.badge-option::before{background:var(--amber)}
.badge-reserve{background:rgba(154,148,160,.2);color:#5d5762}
.badge-reserve::before{background:var(--grey)}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 0 rgba(92,138,99,.45)}50%{box-shadow:0 0 0 6px rgba(92,138,99,0)}}

.kitten-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}
@media (max-width:860px){.kitten-feature{grid-template-columns:1fr}}
.kitten-feature-media{position:relative;min-height:420px;cursor:zoom-in}
.kitten-feature-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.kitten-feature-body{padding:44px 44px 44px}
@media (max-width:860px){.kitten-feature-body{padding:34px 26px}}
.kitten-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:22px 0 28px}
.kitten-facts dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--taupe);font-weight:700}
.kitten-facts dd{margin:2px 0 0;font-weight:700;color:var(--ink)}

/* Kittens catalogue: one generous portrait, with the siblings always close. */
.kitten-catalogue{position:relative;border:1px solid rgba(179,135,63,.14);border-radius:32px;overflow:hidden;background:#fbf7ef;box-shadow:0 24px 64px rgba(77,61,42,.13)}
.kitten-catalogue-stage{position:relative}
.kitten-catalogue-slide{display:none;grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:660px;opacity:0;pointer-events:none}
.kitten-catalogue-slide.is-active{display:grid;opacity:1;pointer-events:auto;animation:kittenReveal .26s cubic-bezier(.23,1,.32,1) both}
.kitten-catalogue-slide.is-leaving{display:none}
@keyframes kittenReveal{from{opacity:.78}to{opacity:1}}
.kitten-catalogue-slide.is-active .kitten-catalogue-photo img{animation:kittenImageSettle .52s cubic-bezier(.23,1,.32,1) both}
@keyframes kittenImageSettle{from{transform:scale(1.012)}to{transform:scale(1)}}
.kitten-catalogue-photo{position:relative;min-height:660px;overflow:hidden;cursor:zoom-in;background:var(--cream-deep)}
.kitten-catalogue-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(30,24,25,.22),transparent 32%);pointer-events:none}
.kitten-catalogue-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;transform:scale(1.035);transition:transform 6.5s ease}
.kitten-catalogue-slide.is-active .kitten-catalogue-photo img{transform:scale(1)}
.kitten-catalogue-photo .zoom-ic{position:absolute;right:22px;top:22px;z-index:3;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.88);display:flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:0 8px 22px rgba(0,0,0,.15)}
.kitten-catalogue-photo .zoom-ic svg{width:17px;height:17px}
.kitten-photo-number{position:absolute;left:28px;bottom:28px;z-index:3;color:#fff;font-family:var(--font-display);font-size:2rem;line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.kitten-photo-number small{font-family:var(--font-body);font-size:.72rem;opacity:.68}
.kitten-catalogue-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:48px 52px 126px;color:var(--ink);background:radial-gradient(circle at 100% 0,rgba(217,184,119,.2),transparent 43%),linear-gradient(145deg,#fffdf9,#f5ecde)}
.kitten-catalogue-copy h2{color:var(--ink);font-size:clamp(2.55rem,4vw,4.7rem);margin:.08em 0 .2em;line-height:.95;overflow-wrap:anywhere}
.kitten-kicker{margin:20px 0 0;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:800}
.kitten-welcome{color:var(--ink-soft);font-size:1.08rem;line-height:1.7;max-width:520px;margin-bottom:4px}
.kitten-labels{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.kitten-new{display:inline-flex;padding:6px 13px;border-radius:100px;background:var(--gold);color:#211d22;font-weight:900;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.kitten-catalogue-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;margin:24px 0}
.kitten-catalogue-facts div{min-width:0;padding-top:12px;border-top:1px solid rgba(28,25,29,.12)}
.kitten-catalogue-facts dt,.kitten-parentage>span{font-size:.63rem;text-transform:uppercase;letter-spacing:.12em;color:var(--taupe);font-weight:800}
.kitten-catalogue-facts dd{margin:5px 0 0;color:var(--ink);font-weight:700;font-size:.95rem;line-height:1.45;overflow-wrap:anywhere}
.kitten-parentage{margin:0 0 26px}
.kitten-parentage>div{display:flex;align-items:stretch;gap:8px;margin-top:9px;min-width:0}
.kitten-parent-link{flex:1;min-width:0;text-align:left;border:1px solid rgba(179,135,63,.22);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.68);color:var(--ink);cursor:pointer;transition:border-color .3s,background .3s,transform .3s}
.kitten-parent-link:hover{border-color:var(--gold);background:#fff;transform:translateY(-2px)}
.kitten-parent-link span,.kitten-parent-link small{display:block;overflow-wrap:anywhere}.kitten-parent-link span{font-weight:800;font-size:.82rem;line-height:1.3}.kitten-parent-link small{margin-top:3px;color:var(--gold-dark);font-size:.67rem}
.kitten-parent-join{align-self:center;color:var(--taupe);font-family:var(--font-display)}
.kitten-catalogue-copy .btn{align-self:flex-start}
.kitten-cta-disabled{pointer-events:none;cursor:default;opacity:.58;filter:saturate(.5)}
.kitten-catalogue:not(.kitten-catalogue-circle) .kitten-catalogue-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kitten-catalogue:not(.kitten-catalogue-circle) .kitten-catalogue-copy .btn{align-self:center;min-width:220px;text-align:center}
.kitten-catalogue-footer{position:absolute;z-index:5;left:52%;right:0;bottom:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:18px 32px;background:rgba(255,255,255,.7);border-top:1px solid rgba(179,135,63,.14)}
.kitten-catalogue-arrow{width:44px;height:44px;border:1px solid rgba(179,135,63,.25);border-radius:50%;background:rgba(255,255,255,.72);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .12s ease}
.kitten-catalogue-arrow:active{transform:scale(.96)}
.kitten-catalogue-arrow:hover{background:var(--gold);color:#211d22;border-color:var(--gold)}
.kitten-catalogue-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.kitten-catalogue-tabs{display:flex;justify-content:center;gap:7px;overflow-x:auto;scrollbar-width:none;padding:4px}.kitten-catalogue-tabs::-webkit-scrollbar{display:none}
.kitten-catalogue-tab{flex:0 0 42px;width:42px;height:42px;padding:2px;border:1px solid transparent;border-radius:50%;background:transparent;cursor:pointer;position:relative;transition:transform .2s cubic-bezier(.23,1,.32,1),border-color .18s ease}
.kitten-catalogue-tab img{width:100%;height:100%;border-radius:50%;object-fit:cover;filter:saturate(.65);opacity:.58;transition:.35s}
.kitten-catalogue-tab span{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);padding:4px 8px;border-radius:6px;background:#fff;color:var(--ink);font-size:.62rem;font-weight:800;opacity:0;pointer-events:none;transition:.25s;white-space:nowrap}
.kitten-catalogue-tab:hover span{opacity:1;transform:translate(-50%,0)}
.kitten-catalogue-tab.is-active{border-color:var(--gold);transform:scale(1.12)}.kitten-catalogue-tab.is-active img{filter:none;opacity:1}
.kitten-catalogue-tab:focus,.kitten-catalogue-tab:focus-visible{border-radius:50%}.kitten-catalogue-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.kitten-catalogue-progress{position:absolute;z-index:6;left:0;right:0;bottom:0;height:3px;background:rgba(179,135,63,.1)}
.kitten-catalogue-progress span{display:block;width:100%;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}
.kitten-catalogue.is-playing .kitten-catalogue-progress span{animation:kittenProgress 8s linear both}
@keyframes kittenProgress{to{transform:scaleX(1)}}
@media (max-width:980px){.kitten-catalogue-slide,.kitten-catalogue-slide.is-active{grid-template-columns:1fr;min-height:0}.kitten-catalogue-photo{min-height:0;aspect-ratio:4/3}.kitten-catalogue-copy{padding:40px 36px;justify-content:flex-start}.kitten-catalogue-copy h2{font-size:3.4rem}.kitten-catalogue-footer{position:relative;left:auto;right:auto;bottom:auto;padding:16px 20px;background:rgba(255,255,255,.82)}}
@media (max-width:600px){.legend{padding:16px;gap:12px}.legend-item{align-items:flex-start;min-width:0;width:100%;font-size:.8rem;line-height:1.4}.legend-item .badge{flex:0 0 auto}.kitten-catalogue{max-width:100%;border-radius:20px}.kitten-catalogue-photo{aspect-ratio:4/5}.kitten-catalogue-copy{padding:32px 22px}.kitten-catalogue-copy h2{font-size:2.9rem}.kitten-welcome{font-size:1rem}.kitten-catalogue-facts,.kitten-catalogue:not(.kitten-catalogue-circle) .kitten-catalogue-facts{grid-template-columns:1fr}.kitten-catalogue-footer{grid-template-columns:40px minmax(0,1fr) 40px;gap:5px;padding:15px 10px}.kitten-catalogue-arrow{width:40px;height:40px}.kitten-catalogue-tab{flex-basis:36px;width:36px;height:36px}.kitten-parentage>div{display:grid;grid-template-columns:1fr}.kitten-parent-join{display:none}.kitten-parent-link{width:100%}}
@media (prefers-reduced-motion:reduce){.kitten-catalogue-progress{display:none}.kitten-catalogue-slide{transition:none}.kitten-catalogue-photo img{transition:none}}

/* Alternate circular catalogue — inspired by the supplied flavour selector. */
.kitten-catalogue-circle{border:0;background:#f4ece1;box-shadow:0 26px 76px rgba(91,69,46,.14)}
.kitten-catalogue-circle .kitten-catalogue-stage{min-height:690px;background:linear-gradient(120deg,#fbf7f0,var(--kitten-soft));transition:background .55s ease}
.kitten-catalogue-circle .kitten-catalogue-slide{position:absolute;inset:0;grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:690px;background:radial-gradient(circle at 82% 24%,rgba(255,255,255,.76),transparent 27%)}
.kitten-catalogue-circle .kitten-catalogue-slide.is-active{display:grid;z-index:2;opacity:1;animation:none}
.kitten-catalogue-circle .kitten-catalogue-slide.is-leaving{display:grid;z-index:3;opacity:1;visibility:visible;pointer-events:none;background:transparent}
.kitten-catalogue-circle .kitten-catalogue-slide.is-leaving .kitten-catalogue-copy{display:none}
.kitten-catalogue-circle .kitten-catalogue-slide.is-leaving .kitten-extra-photos{display:none}
.kitten-catalogue-circle .kitten-catalogue-photo{grid-column:2;grid-row:1;align-self:start;justify-self:center;width:min(88%,470px);min-height:0;aspect-ratio:1;margin-top:112px;border:0;border-radius:50%;clip-path:circle(50% at 50% 50%);filter:drop-shadow(0 22px 26px color-mix(in srgb,var(--kitten-accent) 20%,transparent));background:var(--kitten-soft);overflow:hidden;contain:paint;isolation:isolate}
.kitten-catalogue-circle .kitten-catalogue-photo::before{content:"";position:absolute;z-index:0;inset:-5%;background-image:var(--kitten-photo);background-size:cover;background-position:center top;filter:blur(15px) saturate(.72);opacity:.48}
.kitten-catalogue-circle .kitten-catalogue-photo::after{z-index:2;background:radial-gradient(circle at 35% 26%,transparent 55%,rgba(25,18,18,.13));box-shadow:inset 0 0 0 9px rgba(255,255,255,.84);border-radius:50%}
.kitten-catalogue-circle .kitten-catalogue-photo picture{position:absolute;z-index:1;top:10%;right:10%;bottom:0;left:10%;overflow:hidden}
.kitten-catalogue-circle .kitten-catalogue-photo picture,.kitten-catalogue-circle .kitten-catalogue-photo img{border-radius:0}
.kitten-catalogue-circle .kitten-catalogue-photo img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transform:none;transition:none}
.kitten-catalogue-circle .kitten-extra-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-column:2;grid-row:1;align-self:end;justify-self:center;z-index:4;width:min(82%,400px);gap:9px;margin-bottom:20px}
.kitten-catalogue-circle .kitten-extra-photo{position:relative;min-width:0;aspect-ratio:1;border:2px solid rgba(255,255,255,.88);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.58);box-shadow:0 7px 18px rgba(38,29,24,.12);cursor:zoom-in;transition:transform .18s cubic-bezier(.23,1,.32,1),border-color .18s ease,box-shadow .18s ease}
.kitten-catalogue-circle .kitten-extra-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .35s cubic-bezier(.23,1,.32,1)}
.kitten-catalogue-circle .kitten-extra-photo:hover{z-index:2;border-color:var(--kitten-accent);box-shadow:0 10px 24px color-mix(in srgb,var(--kitten-accent) 20%,transparent);transform:translateY(-3px)}
.kitten-catalogue-circle .kitten-extra-photo:hover img{transform:scale(1.055)}
.kitten-catalogue-circle .kitten-extra-photo:active{transform:scale(.97)}
.kitten-catalogue-circle .kitten-extra-photo:focus-visible{outline:2px solid var(--kitten-accent);outline-offset:3px}
.kitten-catalogue-circle .kitten-catalogue-slide.is-active .kitten-catalogue-photo{animation:kittenCircleOrbitIn 1.18s cubic-bezier(.18,.72,.18,1) both}
.kitten-catalogue-circle .kitten-catalogue-slide.is-leaving .kitten-catalogue-photo{animation:kittenCircleOrbitOut 1.02s cubic-bezier(.45,.02,.74,.34) both}
.kitten-catalogue-circle .kitten-catalogue-slide.is-active .kitten-catalogue-photo img,.kitten-catalogue-circle .kitten-catalogue-slide.is-leaving .kitten-catalogue-photo img{animation:none;transform:none}
@keyframes kittenCircleOrbitIn{0%{opacity:0;transform:translate(-48%,-112%) scale(.56) rotate(-10deg)}24%{opacity:.45;transform:translate(-18%,-82%) scale(.68) rotate(-7deg)}52%{opacity:.9;transform:translate(15%,-45%) scale(.84) rotate(3deg)}76%{opacity:1;transform:translate(7%,-12%) scale(.96) rotate(1.5deg)}90%{transform:translate(-1.5%,1.5%) scale(1.012) rotate(-.3deg)}100%{opacity:1;transform:none}}
@keyframes kittenCircleOrbitOut{0%{opacity:1;transform:none}24%{opacity:1;transform:translate(11%,8%) scale(.96) rotate(2deg)}52%{opacity:.82;transform:translate(39%,35%) scale(.82) rotate(6deg)}76%{opacity:.38;transform:translate(70%,77%) scale(.64) rotate(10deg)}100%{opacity:0;transform:translate(96%,118%) scale(.48) rotate(14deg)}}
.kitten-catalogue-circle .kitten-photo-number{left:auto;right:8%;bottom:13%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--kitten-accent);font-family:var(--font-body);font-size:.82rem;font-weight:900;text-shadow:none;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.kitten-catalogue-circle .kitten-photo-number{display:none}
.kitten-catalogue-circle .kitten-photo-number small{display:none}
.kitten-catalogue-circle .kitten-catalogue-photo .zoom-ic{right:8%;top:10%;width:44px;height:44px}
.kitten-catalogue-circle .kitten-catalogue-photo .zoom-ic{display:none}
.kitten-catalogue-circle .kitten-catalogue-copy{grid-column:1;grid-row:1;padding:104px 42px 48px 58px;justify-content:center;background:transparent}
.kitten-catalogue-circle .kitten-catalogue-copy{align-items:center;text-align:center}
.kitten-catalogue-circle .kitten-labels{justify-content:center}
.kitten-catalogue-circle .kitten-welcome{margin-left:auto;margin-right:auto}
.kitten-catalogue-circle .kitten-catalogue-slide.is-active .kitten-catalogue-copy{animation:kittenCircleCopyIn .42s ease-out .12s both}
.kitten-catalogue-circle .kitten-catalogue-slide.is-leaving .kitten-catalogue-copy{animation:kittenCircleCopyOut .18s ease-in both}
@keyframes kittenCircleCopyIn{from{opacity:0}to{opacity:1}}
@keyframes kittenCircleCopyOut{to{opacity:0}}
.kitten-catalogue-circle .kitten-catalogue-copy h2{font-size:clamp(3.2rem,5.2vw,5.9rem);line-height:.88;margin:.12em 0 .22em}
.kitten-catalogue-circle .kitten-kicker{color:var(--kitten-accent)}
.kitten-catalogue-circle .kitten-new{background:var(--kitten-accent);color:#fff}
.kitten-catalogue-circle .kitten-welcome{font-size:1.08rem;line-height:1.68;max-width:570px}
.kitten-catalogue-circle .kitten-catalogue-facts{display:flex;flex-wrap:wrap;justify-content:center;max-width:590px;gap:9px;margin:16px 0 18px}
.kitten-catalogue-circle .kitten-catalogue-facts div,.kitten-catalogue-circle .kitten-catalogue-facts div:nth-child(1),.kitten-catalogue-circle .kitten-catalogue-facts div:nth-child(2),.kitten-catalogue-circle .kitten-catalogue-facts div:nth-child(3){display:flex;grid-column:auto;grid-row:auto;align-items:center;gap:9px;width:auto;padding:9px 15px;border:1px solid rgba(28,25,29,.08);border-radius:999px;background:rgba(255,255,255,.54);box-shadow:0 5px 14px rgba(67,48,33,.05)}
.kitten-catalogue-circle .kitten-catalogue-facts dt{white-space:nowrap;color:var(--kitten-accent)}
.kitten-catalogue-circle .kitten-catalogue-facts dd{margin:0;max-width:310px;text-align:left;font-size:.9rem;line-height:1.35}
.kitten-catalogue-circle .kitten-catalogue-copy .btn{align-self:center;min-width:210px;margin-top:8px;margin-bottom:22px;background:var(--ink);border-color:var(--ink);color:#fff;text-align:center}
.kitten-catalogue-circle .kitten-catalogue-copy .btn:hover{background:var(--kitten-accent);border-color:var(--kitten-accent)}
.kitten-catalogue-circle .kitten-parent-link{background:rgba(255,255,255,.48);border-color:color-mix(in srgb,var(--kitten-accent) 27%,transparent)}
.kitten-catalogue-circle .kitten-parentage{width:100%;margin-bottom:16px}.kitten-catalogue-circle .kitten-parentage>div{justify-content:center}.kitten-catalogue-circle .kitten-parent-link{text-align:center}
.kitten-catalogue-circle .kitten-catalogue-footer{left:50%;right:auto;top:20px;bottom:auto;width:min(760px,calc(100% - 56px));padding:0;background:transparent;border:0;grid-template-columns:48px minmax(0,1fr) 48px;gap:12px;transform:translateX(-50%)}
.kitten-catalogue-circle .kitten-catalogue-arrow{width:44px;height:44px;background:rgba(255,255,255,.76);border-color:color-mix(in srgb,var(--kitten-accent) 25%,transparent)}
.kitten-catalogue-circle .kitten-catalogue-tabs{justify-content:flex-start;align-items:center;gap:9px;padding:7px}
.kitten-catalogue-circle .kitten-catalogue-tab{flex:0 0 60px;width:60px;height:60px;background:rgba(255,255,255,.56);transition:transform .2s cubic-bezier(.23,1,.32,1),border-color .18s ease,background-color .18s ease}
.kitten-catalogue-circle .kitten-catalogue-tab.is-active{z-index:2;flex-basis:60px;width:60px;height:60px;border-color:var(--kitten-accent);transform:scale(1.08);box-shadow:0 7px 16px color-mix(in srgb,var(--kitten-accent) 22%,transparent)}
.kitten-catalogue-circle .kitten-catalogue-tab:focus,.kitten-catalogue-circle .kitten-catalogue-tab:focus-visible{outline:0;border-radius:50%}
.kitten-catalogue-circle .kitten-catalogue-arrow:focus,.kitten-catalogue-circle .kitten-catalogue-arrow:focus-visible{border-radius:50%;outline:2px solid var(--kitten-accent);outline-offset:2px}
.kitten-catalogue-circle .kitten-catalogue-photo:focus,.kitten-catalogue-circle .kitten-catalogue-photo:focus-visible{border-radius:50%;outline:0}
.kitten-catalogue-circle .kitten-catalogue-progress{background:rgba(255,255,255,.3)}
.kitten-catalogue-circle .kitten-catalogue-progress span{background:var(--kitten-accent)}
.kitten-catalogue-circle.is-playing .kitten-catalogue-progress span{animation-duration:9s}
@media (max-width:980px){
  .kitten-catalogue-circle .kitten-catalogue-stage{min-height:0}
  .kitten-catalogue-circle .kitten-catalogue-slide,.kitten-catalogue-circle .kitten-catalogue-slide.is-active{position:relative;inset:auto;grid-template-columns:1fr;min-height:0;padding-top:36px}
  .kitten-catalogue-circle .kitten-catalogue-slide.is-leaving{display:none}
  .kitten-catalogue-circle .kitten-catalogue-photo{grid-column:1;grid-row:1;width:min(74vw,430px);aspect-ratio:1;margin-top:0}
  .kitten-catalogue-circle .kitten-extra-photos{grid-column:1;grid-row:2;position:relative;width:min(74vw,430px);gap:8px;margin:12px auto 0}
  .kitten-catalogue-circle .kitten-catalogue-copy{grid-column:1;grid-row:2;padding:36px 36px}
  .kitten-catalogue-circle .has-extra-photos .kitten-catalogue-copy{grid-row:3}
  .kitten-catalogue-circle .kitten-catalogue-footer{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:auto;padding:16px 20px;background:rgba(255,255,255,.48);border-top:1px solid rgba(255,255,255,.58);transform:none}
  .kitten-catalogue-circle .kitten-catalogue-tabs{justify-content:flex-start}
}
@media (max-width:600px){
  .kitten-catalogue-circle{border-radius:18px}
  .kitten-catalogue-circle .kitten-catalogue-footer{position:relative;z-index:7;top:auto;left:auto;right:auto;bottom:auto;width:auto;padding:10px 8px;background:rgba(255,255,255,.58);border:0;border-bottom:1px solid rgba(255,255,255,.75)}
  .kitten-catalogue-circle .kitten-catalogue-slide,.kitten-catalogue-circle .kitten-catalogue-slide.is-active{min-height:0;padding-top:14px}
  .kitten-catalogue-circle .kitten-catalogue-photo{width:min(72vw,286px);margin-top:0;border-width:7px}
  .kitten-catalogue-circle .kitten-extra-photos{width:calc(100% - 36px);max-width:340px;gap:7px;margin-top:10px}
  .kitten-catalogue-circle .kitten-extra-photo{border-radius:8px;box-shadow:0 5px 14px rgba(38,29,24,.1)}
  .kitten-catalogue-circle .kitten-catalogue-copy{padding:20px 18px 26px}
  .kitten-catalogue-circle .kitten-labels{min-height:30px}
  .kitten-catalogue-circle .kitten-kicker{margin:10px 0 4px}
  .kitten-catalogue-circle .kitten-catalogue-copy h2{font-size:clamp(2.65rem,14vw,3.25rem);margin:.06em 0 .16em}
  .kitten-catalogue-circle .kitten-welcome{display:block;margin-bottom:12px;font-size:1rem;line-height:1.55;overflow:visible}
  .kitten-catalogue-circle .kitten-catalogue-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:7px;margin:8px 0 13px}
  .kitten-catalogue-circle .kitten-catalogue-facts div,.kitten-catalogue-circle .kitten-catalogue-facts div:nth-child(1),.kitten-catalogue-circle .kitten-catalogue-facts div:nth-child(2),.kitten-catalogue-circle .kitten-catalogue-facts div:nth-child(3){display:block;width:auto;min-width:0;padding:8px 9px;border-radius:10px;text-align:center}
  .kitten-catalogue-circle .kitten-catalogue-facts div:last-child:nth-child(odd){grid-column:1/-1}
  .kitten-catalogue-circle .kitten-catalogue-facts dt{font-size:.68rem}
  .kitten-catalogue-circle .kitten-catalogue-facts dd{margin-top:3px;text-align:center;font-size:.8rem;line-height:1.25}
  .kitten-catalogue-circle .kitten-parentage{margin:13px 0 0}
  .kitten-catalogue-circle .kitten-parentage>span{display:block;margin-bottom:7px}
  .kitten-catalogue-circle .kitten-parentage>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .kitten-catalogue-circle .kitten-parent-link{min-width:0;width:100%;min-height:44px;padding:7px 6px}
  .kitten-catalogue-circle .kitten-parent-link span{overflow-wrap:anywhere}
  .kitten-catalogue-circle .kitten-catalogue-copy .btn{width:100%;min-width:0;margin:2px 0 0}
  .kitten-catalogue-circle .kitten-catalogue-tabs{justify-content:flex-start;gap:6px}
  .kitten-catalogue-circle .kitten-catalogue-arrow{width:44px;height:44px}
  .kitten-catalogue-circle .kitten-catalogue-tab{flex-basis:44px;width:44px;height:44px}.kitten-catalogue-circle .kitten-catalogue-tab.is-active{flex-basis:44px;width:44px;height:44px;transform:scale(1.08)}
}

/* Motion polish for the first two preview concepts. */
.kitten-catalogue-circle .kitten-catalogue-slide.is-active .kitten-catalogue-photo{animation:none;will-change:transform,opacity;backface-visibility:hidden}
.kitten-catalogue-circle .kitten-catalogue-slide.is-leaving .kitten-catalogue-photo{animation:none;will-change:transform,opacity;backface-visibility:hidden}
.kitten-catalogue-circle .kitten-catalogue-slide.is-active .kitten-catalogue-copy{animation:kittenCircleCopyIn .26s cubic-bezier(.23,1,.32,1) .06s both}
.kitten-catalogue-circle .kitten-catalogue-slide.is-leaving .kitten-catalogue-copy{animation:kittenCircleCopyOut .16s cubic-bezier(.23,1,.32,1) both}

/* ---------------- Timeline / litters ---------------- */
.litter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
@media (max-width:760px){.litter-grid{grid-template-columns:1fr}}
.litter-card{background:var(--surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid rgba(28,25,29,.05)}
.litter-photo{position:relative;aspect-ratio:1/1;overflow:hidden;cursor:zoom-in}
.litter-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.litter-card:hover .litter-photo img{transform:scale(1.05)}
.litter-body{padding:26px 28px 10px}
.litter-date{color:var(--gold-dark);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.litter-parents{color:var(--taupe);font-size:.88rem;margin-top:10px}
.litter-toggle{
  display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;cursor:pointer;
  padding:16px 28px;font-weight:800;font-size:.85rem;color:var(--ink);border-top:1px solid rgba(28,25,29,.07);margin-top:14px;
}
.litter-toggle svg{width:14px;height:14px;transition:transform .35s var(--ease)}
.litter-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.litter-detail{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);padding:0 28px}
.litter-detail p{color:var(--taupe);font-size:.92rem}

/* ---------------- Gallery / lightbox ---------------- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.js .gallery-grid .gallery-extra{display:none}
.gallery-more{display:flex;margin:30px auto 0;min-width:170px}
.regional-guide-link{margin-top:20px;font-size:.92rem;line-height:1.55}
.regional-guide-link a{color:var(--gold-dark);font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
@media (max-width:860px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
.gallery-item{position:relative;aspect-ratio:1/1;border-radius:var(--radius-sm);overflow:hidden;cursor:zoom-in;background:var(--cream-deep)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.gallery-item:hover img{transform:scale(1.1)}
.gallery-item::after{content:"";position:absolute;inset:0;background:rgba(18,15,19,0);transition:background .35s}
.gallery-item:hover::after{background:rgba(18,15,19,.18)}
.gallery-item .zoom-ic{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.9);
  display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.7);transition:all .35s}
.gallery-item:hover .zoom-ic{opacity:1;transform:scale(1)}
.gallery-item .zoom-ic svg{width:14px;height:14px;color:var(--ink)}

/* Editorial gallery: photographs lead, captions provide context */
.gallery-mosaic{grid-auto-flow:dense;grid-auto-rows:150px}
.gallery-mosaic .gallery-item{aspect-ratio:auto;min-height:150px;border-radius:12px;box-shadow:0 8px 24px rgba(28,25,29,.08)}
.gallery-mosaic .gallery-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
.gallery-mosaic .gallery-item:nth-child(7n+4){grid-column:span 2}
.gallery-mosaic .gallery-item::after{z-index:1;background:linear-gradient(180deg,transparent 48%,rgba(12,10,13,.76) 100%);opacity:.72}
.gallery-mosaic .gallery-item::before{content:attr(data-alt);position:absolute;left:17px;right:52px;bottom:14px;z-index:3;color:#fff;font-family:var(--font-display);font-size:.92rem;line-height:1.25;text-shadow:0 2px 8px rgba(0,0,0,.45);transform:translateY(7px);opacity:.82;transition:transform .4s var(--ease),opacity .4s}
.gallery-mosaic .gallery-item:hover::before{transform:none;opacity:1}
.gallery-mosaic .gallery-item .zoom-ic{z-index:4}
.gallery-mosaic .gallery-item img{transform:scale(1.015);object-position:center 30%}
.gallery-mosaic .gallery-item:hover img{transform:scale(1.075)}
.gallery-mosaic.gallery-focus-pets{grid-auto-rows:220px}
.gallery-focus-pets .gallery-item img{object-position:center 22%}
@media (max-width:860px){
  .gallery-mosaic{grid-template-columns:repeat(3,1fr);grid-auto-rows:130px}
  .gallery-mosaic.gallery-focus-pets{grid-auto-rows:175px}
}
@media (max-width:600px){
  .gallery-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:138px;gap:10px}
  .gallery-mosaic.gallery-focus-pets{grid-auto-rows:156px}
  .gallery-more{width:100%;min-height:48px;margin-top:22px}
  .gallery-mosaic .gallery-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
  .gallery-mosaic .gallery-item:nth-child(7n+4){grid-column:span 1}
  .gallery-mosaic .gallery-item::before{left:12px;right:12px;bottom:11px;font-size:.78rem;opacity:1;transform:none}
}
.gallery-item-doc img{object-fit:contain;background:var(--cream-deep);padding:6px}
.gallery-item-doc:hover img{transform:scale(1.04)}

#lightbox{position:fixed;inset:0;background:rgba(12,10,13,.94);z-index:2000;display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .4s}
#lightbox.is-open{opacity:1;pointer-events:auto}
#lightbox figure{margin:0;max-width:88vw;position:relative}
.lightbox-stage{position:relative;display:grid;place-items:center;min-width:min(70vw,900px);min-height:50vh}
#lightbox img{max-width:88vw;max-height:78vh;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.5);transform:scale(.92);transition:transform .4s,opacity .25s}
#lightbox.is-open img{transform:scale(1)}
#lightbox.is-loading img{opacity:.35}
#lightbox figcaption{display:flex;justify-content:space-between;gap:28px;color:rgba(255,255,255,.82);font-size:.9rem;padding:13px 4px 0}
.lightbox-count{flex:none;color:var(--gold-light);font-weight:800}
.lightbox-loader{position:absolute;width:34px;height:34px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--gold-light);border-radius:50%;animation:lbSpin .8s linear infinite;opacity:0}
#lightbox.is-loading .lightbox-loader{opacity:1}
@keyframes lbSpin{to{transform:rotate(360deg)}}
.lightbox-close,.lightbox-nav{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;
  width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .3s}
.lightbox-close:hover,.lightbox-nav:hover{background:rgba(255,255,255,.24)}
.lightbox-close{top:26px;right:26px}
.lightbox-nav.prev{left:26px;top:50%;transform:translateY(-50%)}
.lightbox-nav.next{right:26px;top:50%;transform:translateY(-50%)}
.lightbox-close svg,.lightbox-nav svg{width:20px;height:20px}
.lightbox-close{font-size:28px;line-height:1}.lightbox-nav{font-size:34px;line-height:1}
@media (max-width:640px){.lightbox-stage{min-width:90vw;min-height:40vh}.lightbox-nav{width:38px;height:38px;top:auto!important;bottom:18px;transform:none!important}.lightbox-close{top:16px;right:16px}.lightbox-nav.prev{left:16px}.lightbox-nav.next{right:16px}#lightbox figcaption{padding-bottom:62px}.lightbox-caption{max-width:70vw}}

/* Champion / championne — compact medal + label, tucked in the top-right corner, well clear of the subject */
.champion-seal{
  position:absolute;top:14px;right:14px;z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:7px;
  opacity:0;transform:scale(.6) translateY(-6px);transform-origin:top right;
  transition:opacity .5s var(--ease) .3s,transform .55s cubic-bezier(.34,1.56,.64,1) .3s;
}
.champion-seal[data-lightbox]{cursor:zoom-in}
.cat-card.is-visible .champion-seal{opacity:1;transform:scale(1) translateY(0)}
.seal-medal{
  position:relative;overflow:hidden;width:42px;height:42px;border-radius:50%;flex:none;
  background:radial-gradient(circle at 35% 28%, #f7e2ac, var(--gold) 58%, var(--gold-dark) 100%);
  border:2px solid rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;color:#fff;
  animation:sealGlow 2.6s ease-in-out infinite;box-shadow:0 4px 10px rgba(18,15,19,.35);
}
.seal-medal svg{width:19px;height:19px;position:relative;z-index:2}
.seal-shine{
  content:"";position:absolute;top:-60%;left:-70%;width:36%;height:220%;
  background:linear-gradient(75deg,transparent,rgba(255,255,255,.9),transparent);
  transform:rotate(22deg);animation:sealShine 3.4s ease-in-out infinite;
}
@keyframes sealShine{0%,45%{left:-70%}75%,100%{left:140%}}
@keyframes sealGlow{0%,100%{box-shadow:0 0 0 0 rgba(179,135,63,.5)}50%{box-shadow:0 0 0 6px rgba(179,135,63,0)}}
.champion-seal .seal-label{
  background:var(--ink);color:var(--gold-light);font-family:var(--font-body);
  font-size:.62rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  padding:5px 11px;border-radius:100px;white-space:nowrap;
  box-shadow:0 3px 8px rgba(18,15,19,.35);
}
@media (prefers-reduced-motion:reduce){.champion-seal{transition:none;opacity:1}.seal-medal,.seal-shine{animation:none}}

/* ---------------- Info cards ---------------- */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:860px){.info-grid{grid-template-columns:1fr}}
.info-card{background:var(--surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid rgba(28,25,29,.05);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.info-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.info-card-top{height:6px;background:linear-gradient(90deg,var(--gold),var(--gold-light))}
.info-card-body{padding:30px 28px}
.info-card-link{display:flex;flex-direction:column;height:100%;cursor:pointer}
.info-card-link .info-card-body{display:flex;flex-direction:column;flex:1}
.info-card-link .info-card-body p{flex:1}
.info-card-visit{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--gold-dark);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.info-card-visit span{font-size:1rem;transition:transform .3s var(--ease)}
.info-card-link:hover .info-card-visit span,.info-card-link:focus-visible .info-card-visit span{transform:translate(3px,-3px)}
.info-grid-action{display:flex;justify-content:center;margin-top:34px}

/* ---------------- Editorial guides ---------------- */
.guides-teaser{background:linear-gradient(160deg,var(--surface),var(--cream-deep))}
.guide-intro{max-width:820px;margin:0 auto 46px;text-align:center}
.guide-intro p:last-child{color:var(--taupe);font-size:.94rem}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.guide-card{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid rgba(28,25,29,.06);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.guide-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-md)}
.guide-card-image{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cream-deep)}
.guide-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.guide-card:hover .guide-card-image img{transform:scale(1.045)}
.guide-card-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:25px 25px 27px}
.guide-card h3{font-size:1.3rem;margin:.45em 0 .55em}
.guide-card h3 a:hover{color:var(--gold-dark)}
.guide-card p{color:var(--taupe);font-size:.91rem;line-height:1.6;flex:1}
.guide-reading{display:inline-block;color:var(--gold-dark);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.guide-more{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:.82rem;font-weight:800;margin-top:8px}
.guide-more span{color:var(--gold);transition:transform .25s}
.guide-more:hover span{transform:translateX(4px)}
.guides-more{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:14px}
.guides-more-label{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe)}
.guides-more-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;max-width:900px}
.guides-more-links a{display:inline-flex;align-items:center;min-height:38px;padding:7px 15px;border:1px solid rgba(28,25,29,.14);border-radius:999px;background:var(--surface);color:var(--ink);font-size:.86rem;font-weight:600;line-height:1.3;transition:border-color .25s,color .25s,transform .25s}
.guides-more-links a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-1px)}
@media (max-width:600px){.guides-more-links{gap:8px}.guides-more-links a{font-size:.8rem;padding:6px 12px}}
.article-hero{position:relative;min-height:560px;display:flex;align-items:flex-end;padding:180px 0 72px;background:var(--ink);overflow:hidden}
.article-hero-media{position:absolute;inset:0}
.article-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 32%}
.article-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,14,17,.48),rgba(17,14,17,.9) 90%)}
.article-hero .container{position:relative;z-index:2;max-width:980px;margin-left:auto;margin-right:auto;color:#fff}
.article-hero .breadcrumb,.article-hero .breadcrumb a{color:rgba(255,255,255,.68)}
.article-hero .guide-reading{color:var(--gold-light);margin:20px 0 12px}
.article-hero h1{max-width:850px;color:#fff;font-size:clamp(2.2rem,5vw,4rem)}
.article-hero p{max-width:710px;color:rgba(255,255,255,.82);font-size:1.12rem;margin:0}
.article-section{background:var(--surface)}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) 290px;justify-content:center;gap:70px;align-items:start}
.guide-article{min-width:0;font-size:1.04rem;line-height:1.82}
.guide-article .article-lead{font-family:var(--font-display);font-size:1.35rem;line-height:1.55;color:var(--ink);border-left:3px solid var(--gold);padding-left:24px;margin-bottom:42px}
.guide-article h2{font-size:1.7rem;margin:2.1em 0 .65em}
.guide-article h2:first-child{margin-top:0}
.guide-article a:not(.btn){color:var(--gold-dark);text-decoration:underline;text-underline-offset:3px}
.article-checklist{display:grid;gap:10px;margin:24px 0 30px}
.article-checklist li{position:relative;padding:12px 16px 12px 43px;background:var(--cream);border-radius:10px;color:var(--ink-soft);font-weight:650}
.article-checklist li::before{content:"✓";position:absolute;left:16px;color:var(--green);font-weight:900}
.article-note{display:flex;flex-direction:column;gap:7px;margin:38px 0;padding:25px 27px;background:linear-gradient(135deg,var(--cream-deep),#fff8e9);border:1px solid rgba(179,135,63,.18);border-radius:16px}
.article-note strong{font-family:var(--font-display);font-size:1.2rem;color:var(--ink)}
.article-note span{color:var(--taupe)}
.article-aside{position:sticky;top:110px}
.article-aside>div{padding:30px 27px;background:var(--cream);border:1px solid rgba(179,135,63,.16);border-radius:18px;box-shadow:var(--shadow-sm)}
.article-aside h2{font-size:1.45rem}.article-aside p{color:var(--taupe);font-size:.9rem}
.article-contact-link{display:block;margin-top:16px;text-align:center;color:var(--gold-dark);font-size:.85rem;font-weight:800}
.article-sources{margin-top:58px;padding-top:35px;border-top:1px solid rgba(28,25,29,.1)}
.article-sources h2{font-size:1.35rem;margin:0 0 .4em}.article-sources p{color:var(--taupe);font-size:.88rem}
.article-sources ul{display:flex;flex-wrap:wrap;gap:10px}.article-sources li a{display:block;padding:8px 12px;background:var(--cream);border-radius:8px;font-size:.8rem;text-decoration:none!important}
.article-updated{margin-top:30px;color:var(--taupe-light);font-size:.78rem}
.related-guides{background:var(--cream)}
.guide-grid-related{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin:0 auto 36px}
.guide-faq{display:grid;gap:13px}
.guide-faq details{background:var(--cream);border:1px solid rgba(28,25,29,.07);border-radius:12px;overflow:hidden}
.guide-faq summary{position:relative;cursor:pointer;padding:18px 48px 18px 20px;color:var(--ink);font-weight:800;list-style:none}
.guide-faq summary::-webkit-details-marker{display:none}.guide-faq summary::after{content:"+";position:absolute;right:20px;top:13px;font-family:var(--font-display);font-size:1.45rem;color:var(--gold-dark)}
.guide-faq details[open] summary::after{content:"−"}.guide-faq details p{padding:0 20px 20px;margin:0;color:var(--taupe)}
@media (max-width:980px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:minmax(0,760px)}.article-aside{position:static}.article-aside>div{display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:center}.article-aside .eyebrow,.article-aside p{grid-column:1}.article-aside .btn{grid-column:2;grid-row:1/4}.article-contact-link{grid-column:2;margin:0}}
@media (max-width:620px){.guide-grid,.guide-grid-related{grid-template-columns:1fr}.guide-card-image{aspect-ratio:3/2}.article-hero{min-height:500px;padding:150px 0 52px}.article-hero h1{font-size:2.25rem}.article-layout{padding-left:18px;padding-right:18px}.guide-article{font-size:1rem}.guide-article .article-lead{font-size:1.18rem;padding-left:18px}.guide-article h2{font-size:1.5rem}.article-aside>div{display:block}.article-aside .btn{width:100%}.article-contact-link{margin-top:15px}.article-checklist li{padding-left:39px}}

/* ---------------- Steps / process ---------------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}
.step{position:relative;padding:30px 24px;background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.step-num{
  counter-increment:step;font-family:var(--font-display);font-size:2.2rem;color:var(--gold);
  opacity:.55;margin-bottom:10px;
}
.step-num::before{content:counter(step,decimal-leading-zero)}

.check-list li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;font-weight:600;color:var(--ink-soft)}
.check-list svg{width:19px;height:19px;flex:none;color:var(--green);margin-top:2px}

/* ---------------- Price band ---------------- */
.price-band{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;
  background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:42px 46px;
  background-image:radial-gradient(circle at 85% 20%, rgba(179,135,63,.35), transparent 55%);
}
.price-band .amount{font-family:var(--font-display);font-size:2.6rem;color:var(--gold-light)}
.price-band .amount span{font-size:1.05rem;color:rgba(255,255,255,.7);font-family:var(--font-body);font-weight:700}
.price-highlights{list-style:none;margin:0;padding-left:32px;border-left:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;gap:14px}
.price-highlights li{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.92rem;color:rgba(255,255,255,.92)}
.price-highlights svg{width:18px;height:18px;flex:none;color:var(--gold-light)}
@media (max-width:720px){.price-highlights{padding-left:0;border-left:none;border-top:1px solid rgba(255,255,255,.16);padding-top:18px}}

/* ---------------- Stats ---------------- */
.stats-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:var(--surface);border-radius:var(--radius-lg);
  padding:40px 20px;box-shadow:var(--shadow-md);margin-top:-64px;position:relative;z-index:5}
@media (max-width:860px){.stats-bar{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:-44px;gap:8px;padding-left:12px;padding-right:12px}.stat{padding-left:4px;padding-right:4px}.stat .num{font-size:clamp(1.65rem,4.5vw,2.15rem)}.stat .label{font-size:.74rem}}
.stat{text-align:center;padding:10px}
.stat .num{font-family:var(--font-display);font-size:2.4rem;color:var(--ink);display:block}
.stat .num span{color:var(--gold-dark)}
.stat .label{color:var(--taupe);font-size:.84rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
@media (max-width:760px){
  .stats-bar{grid-template-columns:1fr;margin-top:-34px;padding:12px 18px;gap:0;border-radius:22px}
  .stat{display:grid;grid-template-columns:minmax(98px,42%) minmax(0,1fr);align-items:center;column-gap:12px;padding:18px 4px;text-align:left;min-width:0}
  .stat+.stat{border-top:1px solid rgba(28,25,29,.09)}
  .stat .num{font-size:clamp(1.45rem,6.2vw,1.82rem);line-height:1;text-align:center;white-space:nowrap;min-width:0}
  .stat .label{font-size:.77rem;line-height:1.45;overflow-wrap:anywhere}
}

/* ---------------- Testimony-ish quote / story split ---------------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:36px}}
.split-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.split-media img{width:100%;height:100%;object-fit:cover}
.split-media-featured-cat{aspect-ratio:4/3;background:var(--ink)}
.split-media-featured-cat picture{display:block;width:100%;height:100%}
.split-media-featured-cat img{object-position:32% 48%}
@media (max-width:860px){.split-media-featured-cat{aspect-ratio:3/2}.split-media-featured-cat img{object-position:30% 48%}}
@media (max-width:520px){.split-media-featured-cat{aspect-ratio:4/3}.split-media-featured-cat img{object-position:29% 48%}}
.split.rev .split-media{order:2}
.split-media::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,var(--cream) 0 44%,rgba(250,245,236,.88) 54%,transparent 70%);transform:translateX(0);pointer-events:none}
.split.is-visible .split-media::after{animation:imageCurtain 1.15s var(--ease) .12s forwards}
@keyframes imageCurtain{to{transform:translateX(115%)}}

/* ---------------- Federation strip ---------------- */
.fed-strip{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;padding:30px 0}
.fed-strip img{height:70px;width:auto;filter:grayscale(1);opacity:.7;transition:all .4s}
.fed-strip img:hover{filter:grayscale(0);opacity:1}

/* ---------------- CTA banner ---------------- */
.cta-banner{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;padding:70px 50px;text-align:center;
  background:var(--ink);color:#fff;
}
.cta-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(179,135,63,.35),transparent 55%),radial-gradient(circle at 80% 90%,rgba(179,135,63,.25),transparent 50%)}
.cta-banner::after{content:"";position:absolute;inset:-60%;background:conic-gradient(from 180deg,transparent,rgba(217,184,119,.10),transparent 24%);animation:ctaGlow 14s linear infinite;pointer-events:none}
@keyframes ctaGlow{to{transform:rotate(360deg)}}
.cta-banner .container-inner{position:relative;z-index:2;max-width:620px;margin:0 auto}
.cta-banner h2{color:#fff}
.cta-banner p{color:rgba(255,255,255,.78)}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:22px}

/* ---------------- Accordion (legend / info) ---------------- */
.legend{display:flex;gap:22px;flex-wrap:wrap;margin:20px 0 40px;padding:20px 26px;background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.legend-item{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--taupe)}

/* ---------------- Consent gate (maps/video embeds) ---------------- */
.embed-gate{
  position:relative;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;background:var(--ink-soft);
  display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;
}
.embed-gate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.embed-gate-inner{position:relative;z-index:2;padding:20px;max-width:420px}
.embed-gate-inner p{color:rgba(255,255,255,.75);font-size:.88rem}
.embed-gate iframe{border:0;width:100%;height:100%}

/* ---------------- Form ---------------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-size:.8rem;font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.04em}
.field input,.field textarea{
  border:1.5px solid rgba(28,25,29,.14);background:var(--surface);border-radius:var(--radius-sm);
  min-height:48px;padding:13px 16px;font-family:var(--font-body);font-size:.95rem;color:var(--ink);transition:border-color .3s,box-shadow .3s;
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(179,135,63,.14)}
.field textarea{resize:vertical;min-height:130px}
#contact-form{scroll-margin-top:110px}
.form-required-note{margin:0 0 16px;color:var(--taupe);font-size:.84rem}
.form-required-note span,.field label span{color:#8b351f;font-weight:900}
.form-note{font-size:.82rem;color:var(--taupe);margin-top:16px}

.contact-info-card{background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:44px;height:100%}
.contact-info-card h3{color:#fff}
.contact-line{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.contact-line svg{width:19px;height:19px;color:var(--gold-light);margin-top:3px;flex:none}
.contact-line a:hover{color:var(--gold-light)}

/* ---------------- Footer ---------------- */
#site-footer{background:var(--ink);color:rgba(255,255,255,.65);padding-top:80px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1)}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;gap:34px}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}
.footer-brand{display:flex;align-items:center;margin-bottom:18px}
.footer-brand img{height:64px;width:auto}
#site-footer h4{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;font-family:var(--font-body);font-weight:800}
#site-footer ul li{margin-bottom:11px}
#site-footer a{transition:color .3s}
#site-footer a:hover{color:var(--gold-light)}
.footer-contact-item,.footer-contact-item a{display:flex;align-items:flex-start;gap:10px}
.footer-contact-item svg{width:17px;height:17px;margin-top:2px;color:var(--gold-light)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:26px 0;font-size:.82rem}

.back-to-top{
  position:fixed;right:24px;bottom:max(24px,calc(env(safe-area-inset-bottom) + 14px));width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;z-index:900;box-shadow:var(--shadow-md);border:0;cursor:pointer;
  opacity:0;pointer-events:none;transform:translateY(10px);transition:all .4s var(--ease);
}
.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.back-to-top:hover{background:var(--gold-dark)}
.back-to-top svg{width:18px;height:18px}

/* Discreet WhatsApp action */
.float-actions{position:fixed;left:24px;bottom:max(24px,calc(env(safe-area-inset-bottom) + 14px));z-index:900;display:flex;flex-direction:column;gap:12px;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(10px);transition:visibility 0s linear .24s,opacity .24s ease,transform .24s cubic-bezier(.23,1,.32,1)}
.float-actions.is-visible{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition-delay:0s}
.float-btn{width:52px;height:52px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:transform .35s var(--ease),background .3s,color .3s,box-shadow .3s}
.float-btn:hover{transform:translateY(-3px) scale(1.06);background:var(--gold-dark);color:#fff;box-shadow:0 14px 30px rgba(28,25,29,.22)}
.float-btn svg{width:22px;height:22px}

/* Quiet spatial depth for breeder and litter cards */
.depth-card{--rotate-x:0deg;--rotate-y:0deg;transform:perspective(1100px) rotateX(var(--rotate-x)) rotateY(var(--rotate-y)) translateY(0);transform-style:preserve-3d;transition:transform .22s ease-out,box-shadow .4s var(--ease)}
.cat-card.depth-card:hover{transform:perspective(1100px) rotateX(var(--rotate-x)) rotateY(var(--rotate-y)) translateY(-7px)}
.litter-card.depth-card:hover{transform:perspective(1100px) rotateX(var(--rotate-x)) rotateY(var(--rotate-y)) translateY(-4px);box-shadow:var(--shadow-lg)}
.depth-card .cat-photo img,.depth-card .litter-photo img{object-position:var(--photo-x,50%) center}

/* Page navigation veil and refined entrance */
.page-veil{position:fixed;inset:0;z-index:5000;pointer-events:none;background:linear-gradient(125deg,var(--ink) 0 62%,var(--gold-dark) 100%);transform:translateY(101%);transition:transform .36s cubic-bezier(.72,0,.28,1)}
.page-veil::after{content:"Maillard'Coon";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:clamp(1.2rem,3vw,2rem);letter-spacing:.08em;color:rgba(255,255,255,.82)}
body.page-leaving .page-veil{transform:translateY(0)}
body.page-arrived main{animation:pageArrive .62s var(--ease) both}
@keyframes pageArrive{from{opacity:.78;transform:translateY(8px)}to{opacity:1;transform:none}}
.hero-content>*,.page-hero .container>*,.article-hero .container>*{animation:heroContentIn .82s var(--ease) both}
.hero-content>*:nth-child(1),.page-hero .container>*:nth-child(1),.article-hero .container>*:nth-child(1){animation-delay:.12s}
.hero-content>*:nth-child(2),.page-hero .container>*:nth-child(2),.article-hero .container>*:nth-child(2){animation-delay:.22s}
.hero-content>*:nth-child(3),.page-hero .container>*:nth-child(3),.article-hero .container>*:nth-child(3){animation-delay:.34s}
.hero-content>*:nth-child(4),.page-hero .container>*:nth-child(4),.article-hero .container>*:nth-child(4){animation-delay:.46s}
@keyframes heroContentIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* Kinetic typography: the h1 in every hero opts out of the block-level fade
   above (it gets its own word-by-word reveal from main.js instead) and is
   shown immediately — main.js wraps each word before first paint so there
   is no flash of unstyled text; without JS it just reads normally. */
.hero-content h1,.page-hero .container h1,.article-hero .container h1{animation:none;opacity:1;transform:none}
.kt-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.kt-word-inner{display:inline-block;transform:translateY(115%);transition:transform .7s var(--ease);transition-delay:calc(200ms + var(--i,0) * 60ms)}
h1.kt-play .kt-word-inner{transform:translateY(0)}
@media (prefers-reduced-motion:reduce){.kt-word-inner{transform:none!important;transition:none!important}}

/* Fine editorial details */
.section-head h2{position:relative;padding-bottom:17px}
.section-head h2::after{content:"";position:absolute;left:50%;bottom:0;width:42px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:translateX(-50%)}
main section{position:relative}
main section+section::before{content:"";position:absolute;top:0;left:50%;width:min(1120px,calc(100% - 48px));height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(179,135,63,.13),transparent)}

/* Misc */
.divider-paw{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 30px;color:var(--gold)}
.divider-paw::before,.divider-paw::after{content:"";height:1px;width:60px;background:rgba(179,135,63,.4)}
.center{text-align:center}
.mt-0{margin-top:0}
.na{color:var(--taupe)}

::selection{background:var(--gold);color:#fff}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:2.5px solid var(--gold);outline-offset:2px;border-radius:4px;
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media (max-width:820px){
  .hero-media img{object-position:24% 32%}
}
@media (max-width:600px){
  .container{padding-left:18px;padding-right:18px}
  .hero{min-height:88svh}
  .hero-content{padding-top:108px;padding-bottom:76px}
  .hero h1{font-size:clamp(2.15rem,11vw,3rem)}
  .page-hero{padding:132px 0 58px}
  .page-hero h1{font-size:clamp(2rem,10vw,2.7rem)}
  .page-hero .lede{font-size:1rem;line-height:1.55}
  .hero-cta .btn{width:100%}
  .breadcrumb a,.guide-more,.article-contact-link,#site-footer a{display:inline-flex;align-items:center;min-height:44px}
  .breadcrumb{min-height:44px;margin-bottom:10px}
  #site-header{padding:10px 0;background:linear-gradient(to bottom,rgba(15,13,16,.68),transparent)}
  #site-header.scrolled{padding:7px 0;background:rgba(250,245,236,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  #site-header .container{padding-left:16px;padding-right:14px;gap:10px}
  .header-actions{gap:5px}
  .language-toggle{min-height:44px;padding:7px 10px}
  .language-current{display:none}
  .language-menu{position:fixed;top:76px;right:14px;width:174px}
  .float-actions{left:16px}.back-to-top{right:16px}
  .footer-contact-item,.footer-contact-item a{min-width:0}
  .footer-contact-item span,.contact-line span,.contact-line a{overflow-wrap:anywhere}
  .cta-banner{padding:52px 22px}
  .price-band{padding:32px 24px}
  .contact-info-card{padding:30px 24px}
  .champion-seal{top:10px;right:10px;gap:5px}
  .seal-medal{width:36px;height:36px}
  .seal-medal svg{width:16px;height:16px}
  .champion-seal .seal-label{font-size:.56rem;padding:4px 9px}
  .hero-scroll{display:none}
}
@media (max-width:390px){
  .container{padding-left:15px;padding-right:15px}
  .brand img{height:42px}
  .nav-toggle{width:43px;height:43px}
  .language-toggle{min-height:44px;min-width:44px;padding-left:9px;padding-right:9px}
  .main-nav{width:94vw;padding-left:23px;padding-right:23px}
  .btn{max-width:100%;white-space:normal;text-align:center;padding-left:22px;padding-right:22px;line-height:1.3}
  .kitten-facts{grid-template-columns:1fr}
  .stat{grid-template-columns:minmax(96px,42%) minmax(0,1fr);column-gap:10px}
  .stat .num{font-size:clamp(1.4rem,6vw,1.68rem)}
}

@media (hover:none),(pointer:coarse){
  .btn:hover{transform:none}
  .cat-photo .zoom-ic,.litter-photo .zoom-ic,.kitten-feature-media .zoom-ic{opacity:1;transform:scale(1)}
}
