:root {
  --rose: #ee4f9b;
  --rose-bright: #ff72b7;
  --rose-soft: #ffe5f0;
  --plum: #6c1f59;
  --plum-dark: #35152f;
  --cream: #fffaf7;
  --paper: #ffffff;
  --ink: #2b2430;
  --muted: #716775;
  --line: #eadfe6;
  --sage: #6e8372;
  --shadow: 0 24px 70px rgba(67, 29, 57, 0.13);
  --radius-lg: 32px;
  --radius-md: 20px;
  --shell: min(1180px, calc(100vw - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
body.dialog-open { overflow: hidden; }
[hidden] { display: none !important; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea { font: inherit; }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding: 90px 0; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; z-index: 1000; top: 10px; left: 10px; transform: translateY(-150%);
  padding: 10px 14px; border-radius: 8px; color: white; background: var(--plum-dark);
}
.skip-link:focus { transform: translateY(0); }

.announcement { color: #fff; background: var(--plum-dark); font-size: 0.82rem; letter-spacing: 0.025em; }
.announcement__inner { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 14px; }
.announcement a { margin-left: 8px; color: #ffd1e6; font-weight: 750; text-underline-offset: 3px; }
.announcement__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--rose-bright); }

.site-header { position: relative; z-index: 30; background: rgba(255, 250, 247, 0.94); border-bottom: 1px solid rgba(108, 31, 89, 0.08); backdrop-filter: blur(14px); }
.site-header__inner { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: inline-flex; flex-direction: column; gap: 2px; text-decoration: none; }
.brand img { width: 320px; height: auto; max-width: 42vw; }
.brand span { margin-left: 4px; color: var(--muted); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; gap: 24px; }
.primary-nav > a:not(.button) { position: relative; text-decoration: none; font-size: 0.9rem; font-weight: 760; }
.primary-nav > a:not(.button)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 2px; background: var(--rose); transition: right 180ms ease; }
.primary-nav > a:not(.button):hover::after, .primary-nav > a:not(.button):focus-visible::after { right: 0; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--rose-soft); padding: 12px; }
.menu-toggle > span:not(.sr-only) { display: block; height: 2px; margin: 4px 0; background: var(--plum); }

.button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 25px;
  border: 1px solid var(--plum); border-radius: 999px; color: #fff; background: var(--plum);
  box-shadow: 0 10px 24px rgba(108, 31, 89, 0.2); text-decoration: none; font-size: 0.9rem; font-weight: 800;
  cursor: pointer; transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.button:hover, .button:focus-visible { transform: translateY(-2px); background: #7c2868; box-shadow: 0 14px 28px rgba(108, 31, 89, 0.24); }
.button--small { min-height: 44px; padding-inline: 20px; }
.button--secondary { color: var(--plum); background: #fff; box-shadow: none; }
.button--kittens { gap: 10px; }
.button--kittens > span { transition: transform 180ms ease; }
.button--kittens:hover > span,.button--kittens:focus-visible > span { transform: translateX(4px); }
.text-link { display: inline-flex; gap: 8px; align-items: center; color: var(--plum); font-weight: 820; text-decoration: none; }
.text-link span { transition: transform 180ms ease; }
.text-link:hover span { transform: translateX(4px); }

.hero { overflow: hidden; padding: 66px 0 84px; background: radial-gradient(circle at 83% 20%, #ffe2ef 0, rgba(255,226,239,0) 35%), linear-gradient(145deg, #fffaf7 5%, #fff5f9 100%); }
.hero__grid { display: grid; grid-template-columns: 0.92fr 1.08fr; align-items: center; gap: 70px; }
.eyebrow { margin: 0 0 16px; color: var(--rose); font-size: 0.76rem; font-weight: 900; letter-spacing: 0.17em; text-transform: uppercase; }
h1, h2, h3 { color: var(--plum-dark); font-family: Georgia, "Times New Roman", serif; line-height: 1.08; }
h1 { max-width: 680px; margin: 0; font-size: clamp(3.2rem, 5.7vw, 5.8rem); letter-spacing: -0.048em; }
h1 em { color: var(--rose); font-weight: 500; }
h2 { margin: 0; font-size: clamp(2.2rem, 4vw, 4rem); letter-spacing: -0.035em; }
h3 { font-size: 1.3rem; }
.hero__lead { max-width: 650px; margin: 28px 0 0; color: var(--muted); font-size: 1.12rem; }
.hero__actions { display: flex; align-items: center; gap: 26px; margin-top: 34px; }
.trust-list { display: flex; flex-wrap: wrap; gap: 11px 25px; margin: 36px 0 0; padding: 0; color: #514653; font-size: 0.85rem; font-weight: 750; list-style: none; }
.trust-list li { position: relative; padding-left: 19px; }
.trust-list li::before { content: "✓"; position: absolute; left: 0; color: var(--sage); font-weight: 900; }
.hero__visual { position: relative; min-width: 0; padding: 0 26px 44px 0; }
.hero__image-wrap { position: relative; overflow: hidden; aspect-ratio: 1.08; border-radius: 52% 48% 36% 64% / 46% 47% 53% 54%; box-shadow: var(--shadow); }
.hero__image-wrap::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.35); pointer-events: none; }
.hero__image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: 43% center; }
.availability-card { position: absolute; right: 0; bottom: 0; width: min(350px, 72%); padding: 22px 24px; border: 1px solid rgba(108,31,89,0.1); border-radius: 20px; background: rgba(255,255,255,0.96); box-shadow: 0 18px 50px rgba(67,29,57,0.16); }
.availability-card__status { display: flex; align-items: center; gap: 7px; color: var(--sage); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.availability-card__status i { width: 8px; height: 8px; border-radius: 50%; background: #6ea276; box-shadow: 0 0 0 4px rgba(110,162,118,0.14); }
.availability-card strong { display: block; margin-top: 8px; color: var(--plum-dark); font-family: Georgia, serif; font-size: 1.35rem; }
.availability-card p { margin: 7px 0 10px; color: var(--muted); font-size: 0.82rem; line-height: 1.45; }
.availability-card a { color: var(--plum); font-size: 0.82rem; font-weight: 850; text-decoration: none; }

.credibility { border-block: 1px solid var(--line); background: #fff; }
.credibility__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.credibility__grid > div { display: flex; min-height: 118px; flex-direction: column; justify-content: center; padding: 24px 30px; border-right: 1px solid var(--line); }
.credibility__grid > div:first-child { border-left: 1px solid var(--line); }
.credibility strong { color: var(--plum-dark); font-family: Georgia, serif; font-size: 1.22rem; }
.credibility span { color: var(--muted); font-size: 0.79rem; }

.story { background: #fff; }
.story__grid { display: grid; grid-template-columns: 1.08fr 0.92fr; align-items: center; gap: 100px; }
.story__images { position: relative; min-height: 640px; }
.story__image { position: absolute; object-fit: cover; box-shadow: var(--shadow); }
.story__image--main { top: 0; left: 0; width: 73%; height: 540px; border-radius: var(--radius-lg); object-position: center 28%; }
.story__image--accent { right: 0; bottom: 0; width: 48%; height: 340px; border: 9px solid #fff; border-radius: 50% 50% 24px 24px; object-position: center 24%; }
.story__caption { position: absolute; bottom: 44px; left: 22px; padding: 10px 14px; border-radius: 99px; color: var(--plum); background: #fff; box-shadow: 0 10px 30px rgba(67,29,57,0.12); font-size: 0.72rem; font-weight: 850; }
.story__copy p:not(.eyebrow) { color: var(--muted); }
.story__copy h2 { margin-bottom: 30px; }
.story__copy .text-link { margin-top: 12px; }

.process { background: #f8f0f5; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 60px; }
.section-heading > p { max-width: 430px; margin: 0 0 8px; color: var(--muted); }
.process__steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 55px 0 0; padding: 0; list-style: none; counter-reset: steps; }
.process__steps li { min-height: 260px; padding: 30px; border: 1px solid rgba(108,31,89,0.09); border-radius: var(--radius-md); background: rgba(255,255,255,0.84); }
.process__steps span { display: inline-grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: var(--plum); background: var(--rose-soft); font-size: 0.72rem; font-weight: 900; }
.process__steps h3 { margin: 44px 0 10px; }
.process__steps p { margin: 0; color: var(--muted); font-size: 0.9rem; }


.contact { background: #fff8f5; }
.contact__grid { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: 90px; align-items: start; }
.contact__grid > div > p:not(.eyebrow) { color: var(--muted); }
.contact__details { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; margin-top: 32px; }
.contact__details a { color: var(--plum); font-weight: 820; }
.contact__details span { color: var(--muted); font-size: 0.85rem; }
.contact-route-card { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 20px 60px rgba(67,29,57,0.08); }
.contact-route-card > div { padding: 34px; }
.contact-route-card > div + div { border-left: 1px solid var(--line); background: #fff8fb; }
.contact-route-card h3 { margin: 4px 0 8px; font-size: 1.45rem; }
.contact-route-card p:not(.eyebrow) { margin: 0 0 22px; color: var(--muted); font-size: .88rem; }
.contact-page__card { max-width: 850px; margin-inline: auto; padding: 48px; border: 1px solid var(--line); border-radius: var(--radius-lg); text-align: center; background: #fff; box-shadow: var(--shadow); }
.contact-page__card h2 { margin: 7px 0 12px; overflow-wrap: anywhere; font-size: clamp(1.75rem,4vw,3rem); }
.contact-page__card > p:not(.eyebrow) { max-width: 660px; margin: 0 auto 24px; color: var(--muted); }
.contact-page__routes { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 34px; text-align: left; }
.contact-page__routes a { display: block; padding: 20px; border: 1px solid var(--line); border-radius: 16px; color: var(--plum); text-decoration: none; background: #fff9fc; }
.contact-page__routes a:hover { border-color: var(--rose); }
.contact-page__routes strong,.contact-page__routes span { display: block; }
.contact-page__routes span { margin-top: 4px; color: var(--muted); font-size: .82rem; }
.inquiry-form { display: grid; gap: 18px; padding: 36px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 20px 60px rgba(67,29,57,0.08); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.inquiry-form label { display: grid; gap: 7px; color: var(--plum-dark); font-size: 0.78rem; font-weight: 850; }
.inquiry-form input, .inquiry-form textarea, .inquiry-form select { width: 100%; border: 1px solid #ded1da; border-radius: 12px; color: var(--ink); background: #fffdfc; padding: 13px 14px; outline: none; }
.inquiry-form input:focus, .inquiry-form textarea:focus, .inquiry-form select:focus { border-color: var(--rose); box-shadow: 0 0 0 4px rgba(238,79,155,0.1); }
.inquiry-form textarea { min-height: 130px; resize: vertical; }
.inquiry-form .button { justify-self: start; }
.form-note { margin: -6px 0 0; color: var(--muted); font-size: 0.72rem; }

.faq-preview { padding-top: 70px; background: #fff; border-top: 1px solid var(--line); }
.faq-preview__inner { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.faq-preview h2 { max-width: 720px; }

.site-footer { padding: 80px 0 26px; color: #e8dce5; background: var(--plum-dark); }
.site-footer__grid { display: grid; grid-template-columns: 1.8fr repeat(3, 1fr); gap: 50px; }
.footer-brand img { width: 310px; height: auto; filter: brightness(0) invert(1); opacity: 0.92; }
.footer-brand p { max-width: 370px; color: #cbbbc8; }
.site-footer__grid > div:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.site-footer strong { margin-bottom: 7px; color: #fff; }
.site-footer a { color: #d9c9d5; text-decoration: none; }
.site-footer a:hover { color: #fff; }
.site-footer span { color: #aa96a6; }
.site-footer__bottom { display: flex; justify-content: space-between; margin-top: 58px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,0.11); font-size: 0.72rem; }
.site-footer__bottom a { color: #cbbbc8; text-decoration: none; }

.page-hero { padding: 82px 0; background: radial-gradient(circle at 80% 20%,#ffe0ee,transparent 38%),linear-gradient(145deg,#fffaf7,#fff4f8); }
.page-hero__narrow { max-width: 930px; text-align: center; }
.page-hero__narrow p:not(.eyebrow) { max-width: 720px; margin: 24px auto 0; color: var(--muted); font-size: 1.08rem; }
.page-hero--split { padding: 64px 0; }
.page-hero__grid { display: grid; grid-template-columns: 1fr .88fr; gap: 70px; align-items: center; }
.page-hero__grid > div > p:not(.eyebrow) { max-width: 620px; color: var(--muted); font-size: 1.08rem; }
.page-hero__grid .button { margin-top: 18px; }
.page-hero__grid > img { width: 100%; height: 520px; border-radius: 44% 56% 32px 32px; box-shadow: var(--shadow); object-fit: cover; object-position: center 25%; }
.info-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.price-card { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: 0 16px 45px rgba(67,29,57,.06); }
.price-card > span { color: var(--rose); font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.price-card > strong { display: block; margin: 13px 0 7px; color: var(--plum-dark); font-family: Georgia,serif; font-size: 2rem; }
.price-card p { margin: 0; color: var(--muted); font-size: .88rem; }
.two-column-copy { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding: 16px 18px 16px 47px; border: 1px solid var(--line); border-radius: 13px; background: #fff; font-weight: 760; }
.check-list li::before { content: "✓"; position: absolute; top: 15px; left: 17px; color: var(--sage); font-weight: 950; }
.callout { color: #fff; background: var(--plum-dark); }
.callout__inner { display: flex; align-items: center; justify-content: space-between; gap: 55px; }
.callout h2 { color: #fff; }
.callout p:not(.eyebrow) { max-width: 690px; color: #d8c9d5; }
.public-gallery { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.public-gallery article { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: 0 16px 48px rgba(67,29,57,.07); }
.public-gallery img { width: 100%; height: 380px; object-fit: cover; object-position: center 25%; }
.public-gallery article > div { padding: 24px; }
.public-gallery span,.post-card time { color: var(--rose); font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.public-gallery h2,.post-card h2 { margin: 7px 0; font-size: 1.55rem; }
.public-gallery p,.post-card p { margin: 0; color: var(--muted); }
.album-section { background: #fff; }
.album-section--soft { background: #f8f0f5; }
.album-heading { margin-bottom: 50px; }
.album-grid { columns: 3 310px; column-gap: 22px; }
.album-card { display: inline-block; width: 100%; margin: 0 0 22px; overflow: hidden; break-inside: avoid; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: 0 14px 40px rgba(67,29,57,.07); }
.album-card img { width: 100%; height: auto; background: #f2edf0; }
.album-card > div { padding: 20px 22px 23px; }
.album-card span { color: var(--rose); font-size: .66rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.album-card h3 { margin: 6px 0; font-size: 1.35rem; }
.album-card p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.kitten-listing { background: #fff; padding-top: 62px; }
.kitten-listing__heading h1 { font-size: clamp(2.7rem, 4.6vw, 4.4rem); }
.listing-updated { display: block; margin-top: 8px; color: var(--plum); font-size: .76rem; font-weight: 850; }
.kitten-alumni { background: #f8f0f5; }
.kitten-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 50px; }
.kitten-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: 0 16px 48px rgba(67,29,57,.07); }
.kitten-card.is-shared { border-color: var(--rose); box-shadow: 0 0 0 4px rgba(238,79,155,.12),0 16px 48px rgba(67,29,57,.08); }
.kitten-card > img { width: 100%; height: auto; background: #f2edf0; }
.kitten-card > div { padding: 25px; }
.kitten-card h3 { margin: 10px 0 6px; font-size: 1.65rem; }
.kitten-card p { margin: 8px 0; color: var(--muted); }
.kitten-card .text-link { margin-top: 14px; }
.kitten-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.kitten-actions .text-link { margin-top: 0; }
.kitten-share { display: inline-flex; align-items: center; justify-content: center; min-height: 39px; padding: 0 16px; border: 1px solid var(--plum); border-radius: 99px; color: var(--plum); background: #fff; font-size: .78rem; font-weight: 850; text-decoration: none; }
.kitten-share::before { content: "f"; display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: 8px; border-radius: 50%; color: #fff; background: #1877f2; font-family: Arial,sans-serif; font-size: .82rem; font-weight: 900; line-height: 1; }
.kitten-share:hover,.kitten-share:focus-visible { color: #fff; background: var(--plum); }
.facebook-share-dialog { width: min(620px,calc(100% - 28px)); max-height: calc(100dvh - 28px); margin: auto; padding: 0; overflow: visible; border: 0; border-radius: var(--radius-lg); color: var(--ink); background: transparent; box-shadow: 0 30px 90px rgba(53,21,47,.28); }
.facebook-share-dialog::backdrop { background: rgba(53,21,47,.62); backdrop-filter: blur(4px); }
.facebook-share-dialog__card { position: relative; max-height: calc(100dvh - 28px); padding: 36px; overflow-y: auto; border-radius: var(--radius-lg); background: #fff; }
.facebook-share-dialog__close { position: absolute; z-index: 2; top: 16px; right: 16px; display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--plum); background: #fff; font-size: 1.7rem; line-height: 1; cursor: pointer; }
.facebook-share-dialog__close:hover,.facebook-share-dialog__close:focus-visible { color: #fff; background: var(--plum); }
.facebook-share-dialog__heading { padding-right: 50px; }
.facebook-share-dialog__heading h2 { margin: 5px 0 8px; font-size: clamp(2rem,5vw,2.8rem); }
.facebook-share-dialog__heading > p:not(.eyebrow) { margin: 0; color: var(--muted); }
.facebook-share-dialog__preview { display: block; width: 100%; margin-top: 24px; border: 1px solid var(--line); border-radius: 18px; aspect-ratio: 1200/630; object-fit: contain; background: #f7f1f5; }
.facebook-share-dialog__plugin { display: grid; min-height: 62px; margin-top: 18px; place-items: center; border: 1px solid var(--line); border-radius: 15px; background: #f7f8fb; }
.facebook-share-dialog__plugin iframe { display: block; border: 0; }
.facebook-share-dialog__actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 18px; margin-top: 18px; }
.facebook-share-dialog__actions .button { min-height: 44px; padding: 0 20px; }
.text-button { padding: 8px; border: 0; color: var(--plum); background: transparent; font: inherit; font-size: .82rem; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.facebook-share-dialog__status { min-height: 1.4em; margin: 12px 0 0; color: #27603b; font-size: .78rem; font-weight: 750; text-align: center; }
.facebook-share-dialog__status.is-error { color: #9d3041; }
.kitten-inquiry-dialog { width: min(680px,calc(100% - 28px)); max-height: calc(100dvh - 28px); margin: auto; padding: 0; overflow: visible; border: 0; border-radius: var(--radius-lg); color: var(--ink); background: transparent; box-shadow: 0 30px 90px rgba(53,21,47,.28); }
.kitten-inquiry-dialog::backdrop { background: rgba(53,21,47,.62); backdrop-filter: blur(4px); }
.kitten-inquiry-dialog__card { position: relative; max-height: calc(100dvh - 28px); overflow-y: auto; border-radius: var(--radius-lg); background: #fff; }
.kitten-inquiry-dialog__close { position: absolute; z-index: 2; top: 16px; right: 16px; display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--plum); background: #fff; font-size: 1.7rem; line-height: 1; cursor: pointer; }
.kitten-inquiry-dialog__close:hover,.kitten-inquiry-dialog__close:focus-visible { color: #fff; background: var(--plum); }
.kitten-inquiry-form { border: 0; box-shadow: none; }
.kitten-inquiry-dialog__heading { padding-right: 50px; }
.kitten-inquiry-dialog__heading h2 { margin: 5px 0 8px; font-size: clamp(2rem,5vw,3rem); }
.kitten-inquiry-dialog__heading > p:not(.eyebrow) { margin: 0; color: var(--muted); }
.kitten-inquiry-success { padding: 64px 44px 48px; text-align: center; outline: none; }
.kitten-inquiry-success > span { display: grid; width: 64px; height: 64px; margin: 0 auto 22px; place-items: center; border-radius: 50%; color: #fff; background: var(--sage); font-size: 2rem; font-weight: 900; }
.kitten-inquiry-success h2 { margin: 5px 0 10px; }
.kitten-inquiry-success > p:not(.eyebrow) { max-width: 460px; margin: 0 auto 24px; color: var(--muted); }
.kitten-facts { color: var(--plum)!important; font-size: .82rem; font-weight: 800; }
.kitten-status { display: inline-flex; padding: 6px 10px; border-radius: 99px; font-size: .67rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.kitten-status--available { color: #245f37; background: #e2f5e7; }
.kitten-status--under-contract { color: #7a5c13; background: #fff2c9; }
.kitten-status--sold { color: #625963; background: #eee9ed; }
.kitten-empty { margin-top: 50px; padding: 52px; border: 1px dashed #d9c8d4; border-radius: var(--radius-md); text-align: center; background: #fffafc; }
.kitten-empty h3 { margin: 0 0 8px; font-size: 1.65rem; }
.kitten-empty p { max-width: 650px; margin: 0 auto 22px; color: var(--muted); }
.button-row--center { justify-content: center; }
.waitlist-inline { display: flex; align-items: center; justify-content: space-between; gap: 45px; margin-top: 34px; padding: 30px 34px; border: 1px solid var(--line); border-radius: var(--radius-md); background: linear-gradient(135deg,#fff6fa,#fffdfb); }
.waitlist-inline h2 { font-size: clamp(1.85rem,3vw,2.6rem); }
.waitlist-inline p:not(.eyebrow) { max-width: 650px; margin: 10px 0 0; color: var(--muted); }
.waitlist-inline .button { flex: 0 0 auto; }
.check-list--detailed li { min-height: 106px; }
.check-list--detailed strong,.check-list--detailed span { display: block; }
.check-list--detailed span { margin-top: 5px; color: var(--muted); font-size: .78rem; font-weight: 500; line-height: 1.45; }
.waitlist-hero { padding-bottom: 66px; }
.waitlist-section { padding-top: 62px; background: #fff; }
.waitlist-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 75px; align-items: start; }
.waitlist-guidance { position: sticky; top: 125px; }
.waitlist-guidance h2 { font-size: clamp(2.2rem,3.8vw,3.6rem); }
.waitlist-guidance ol { display: grid; gap: 20px; margin: 34px 0 0; padding: 0; list-style: none; }
.waitlist-guidance li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; }
.waitlist-guidance li > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: var(--plum); background: var(--rose-soft); font-size: .78rem; font-weight: 900; }
.waitlist-guidance li strong { color: var(--plum-dark); }
.waitlist-guidance li p { margin: 3px 0 0; color: var(--muted); font-size: .84rem; }
.waitlist-notice { margin-top: 32px; padding: 20px; border-left: 4px solid var(--sage); border-radius: 0 14px 14px 0; background: #f3f8f1; }
.waitlist-notice strong { color: var(--plum-dark); }
.waitlist-notice p { margin: 5px 0 0; color: var(--muted); font-size: .82rem; }
.waitlist-form { padding: 38px; }
.longform { max-width: 780px; }
.longform .lede { color: var(--plum-dark); font-family: Georgia,serif; font-size: 1.55rem; line-height: 1.45; }
.longform h2 { margin: 55px 0 18px; font-size: 2.25rem; }
.longform p { color: #5f5661; }
.longform a { color: var(--plum); font-weight: 760; }
.longform blockquote { margin: 55px 0; padding: 35px 42px; border-left: 5px solid var(--rose); border-radius: 0 20px 20px 0; color: var(--plum-dark); background: var(--rose-soft); font-family: Georgia,serif; font-size: 1.45rem; }
.longform cite { display: block; margin-top: 12px; color: var(--muted); font: 700 .78rem/1.4 Inter,system-ui,sans-serif; }
.post-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 28px; }
.post-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: 0 16px 48px rgba(67,29,57,.06); }
.post-card > img { display: block; width: 100%; height: auto; object-fit: contain; }
.post-card > div { padding: 30px; }
.post-card p { white-space: normal; }
.empty-public { grid-column: 1/-1; padding: 60px; border: 1px dashed #d9c8d4; border-radius: var(--radius-md); color: var(--muted); text-align: center; }
.faq-list { max-width: 900px; }
.faq-list details { border-bottom: 1px solid var(--line); background: #fff; }
.faq-list summary { position: relative; padding: 25px 48px 25px 4px; color: var(--plum-dark); font-family: Georgia,serif; font-size: 1.3rem; font-weight: 700; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; top: 22px; right: 8px; color: var(--rose); font: 500 1.8rem/1 Inter,sans-serif; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 780px; margin: -2px 0 25px; color: var(--muted); }
.payment-card { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; align-items: center; padding: 55px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow); }
.payment-card > div:first-child { padding: 45px 30px; border-radius: 24px; color: #fff; background: var(--plum); text-align: center; }
.payment-card > div:first-child span { display: block; color: #efdce9; font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.payment-card > div:first-child strong { display: block; margin-top: 8px; font-family: Georgia,serif; font-size: 4rem; }
.payment-card ol { padding-left: 22px; color: var(--muted); }
.payment-card li { margin: 10px 0; }
.button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 24px; }
.contract-intro { padding-bottom: 44px; background: #fff; }
.contract-price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.contract-price-grid article { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: 0 16px 45px rgba(67,29,57,.06); }
.contract-price-grid span { display: block; color: var(--rose); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.contract-price-grid strong { display: block; margin-top: 8px; color: var(--plum-dark); font-family: Georgia,serif; font-size: 2.15rem; }
.contract-notice { margin-top: 18px; padding: 20px 24px; border-left: 4px solid var(--sage); border-radius: 0 14px 14px 0; background: #f3f8f1; }
.contract-notice p { margin: 5px 0 0; color: var(--muted); }
.contract-section { padding-top: 45px; background: #faf6f8; }
.contract-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 42px; align-items: start; }
.contract-progress { position: sticky; top: 125px; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.contract-progress .eyebrow { margin-bottom: 20px; }
.contract-progress ol { display: grid; gap: 16px; margin: 0 0 24px; padding: 0; list-style: none; }
.contract-progress li { display: grid; grid-template-columns: 32px 1fr; gap: 11px; align-items: start; }
.contract-progress li > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: var(--plum); background: var(--rose-soft); font-size: .72rem; font-weight: 900; }
.contract-progress li strong,.contract-progress li small { display: block; }
.contract-progress li small { margin-top: 3px; color: var(--muted); line-height: 1.35; }
.contract-progress li.is-disabled { opacity: .58; }
.contract-progress > a { color: var(--plum); font-size: .78rem; font-weight: 800; }
.contract-form { display: grid; gap: 24px; }
.contract-form__section { display: grid; gap: 18px; padding: 38px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 18px 55px rgba(67,29,57,.06); }
.contract-form__section h2 { font-size: clamp(2rem, 3.5vw, 3rem); }
.contract-step { margin: 0; color: var(--rose); font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.section-help { margin: -8px 0 2px; color: var(--muted); }
.contract-form label { display: grid; gap: 7px; color: var(--plum-dark); font-size: .79rem; font-weight: 850; }
.contract-form input:not([type=checkbox]),.contract-form select { width: 100%; min-height: 48px; padding: 12px 13px; border: 1px solid #ded1da; border-radius: 12px; color: var(--ink); background: #fffdfc; outline: none; }
.contract-form input:focus,.contract-form select:focus { border-color: var(--rose); box-shadow: 0 0 0 4px rgba(238,79,155,.1); }
.contract-form label > span { color: var(--muted); font-weight: 500; }
.field-row--three { grid-template-columns: 1fr .7fr 1fr; }
.sold-as { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff8fb; }
.sold-as span,.sold-as strong,.sold-as small { display: block; }
.sold-as span { color: var(--rose); font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.sold-as strong { margin-top: 5px; color: var(--plum-dark); }
.sold-as small { margin-top: 4px; color: var(--muted); }
.terms-list { display: grid; gap: 12px; counter-reset: terms; }
.terms-list article,.record-terms article { display: grid; grid-template-columns: 40px 1fr; gap: 16px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; }
.terms-list article > span,.record-terms article > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; color: var(--plum); background: var(--rose-soft); font-weight: 900; }
.terms-list h3,.record-terms h3 { margin: 2px 0 7px; font-size: 1.12rem; }
.terms-list p,.record-terms p { margin: 0; color: var(--muted); font-size: .9rem; }
.special-terms { padding: 22px; border-left: 4px solid var(--rose); border-radius: 0 14px 14px 0; background: var(--rose-soft); }
.special-terms p { margin: 0; color: var(--muted); }
.special-terms p + p { margin-top: 12px; }
.esign-disclosure { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: #faf7f9; }
.esign-disclosure h3 { margin: 0 0 8px; }
.esign-disclosure p { margin: 0; color: var(--muted); font-size: .9rem; }
.contract-payment-alert { padding: 19px 21px; border-left: 4px solid var(--sage); border-radius: 0 13px 13px 0; background: #f1f7f2; }
.contract-payment-alert strong { color: var(--plum-dark); }
.contract-payment-alert p { margin: 5px 0 0; color: var(--muted); font-size: .86rem; }
.record-hero { padding: 62px 0; background: linear-gradient(145deg,#fffaf7,#fff2f8); }
.record-hero__inner { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.record-hero h1 { font-size: clamp(2.6rem,5vw,4.7rem); }
.record-hero p:not(.eyebrow) { color: var(--muted); }
.record-actions { display: flex; align-items: center; gap: 18px; }
.record-actions > a { color: var(--plum); font-weight: 800; }
.record-actions > div { display: grid; justify-items: center; gap: 7px; }
.record-actions small { max-width: 270px; color: var(--muted); font-size: .7rem; line-height: 1.35; text-align: center; }
.record-section { background: #f7f3f5; }
.contract-record { padding: 46px 52px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.contract-document__header { display: flex; align-items: end; justify-content: space-between; gap: 32px; padding-bottom: 23px; border-bottom: 2px solid var(--plum-dark); }
.contract-document__brand { margin: 0 0 4px; color: var(--plum); font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.contract-document__header h1 { margin: 0; font-size: clamp(2rem,4vw,3.2rem); }
.contract-document__meta { min-width: 280px; margin: 0; }
.contract-document__meta > div { display: grid; grid-template-columns: 76px 1fr; gap: 10px; padding: 4px 0; border-bottom: 1px solid var(--line); }
.contract-document__meta dt,.contract-facts th,.contract-money span { color: var(--muted); font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.contract-document__meta dd { margin: 0; color: var(--plum-dark); font-size: .78rem; font-weight: 800; text-align: right; }
.record-status { display: flex; justify-content: space-between; gap: 20px; padding: 14px 18px; border-radius: 12px; color: #245f37; background: #e2f5e7; }
.record-status span { color: #7a5c13; font-weight: 800; }
.contract-document .record-status { margin-top: 20px; }
.record-payment-notice { display: grid; grid-template-columns: auto 1fr; gap: 12px; margin-top: 17px; padding: 15px 17px; border-left: 4px solid var(--rose); border-radius: 0 12px 12px 0; background: var(--rose-soft); font-size: .8rem; }
.record-payment-notice strong { color: var(--plum-dark); }
.record-payment-notice span { color: var(--muted); }
.contract-document__section { margin-top: 27px; }
.contract-document__section > h2 { margin: 0 0 11px; font-size: 1.28rem; }
.contract-facts,.contract-money { width: 100%; border-collapse: collapse; table-layout: fixed; }
.contract-facts th,.contract-facts td,.contract-money td { padding: 10px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.contract-facts th { width: 12%; background: #fbf8fa; }
.contract-facts td { width: 38%; color: var(--plum-dark); font-size: .82rem; font-weight: 690; overflow-wrap: anywhere; }
.contract-money td { width: 33.333%; background: #fffdfd; }
.contract-money span { display: block; }
.contract-money strong { display: block; margin-top: 3px; color: var(--plum-dark); font-family: Georgia,serif; font-size: 1.55rem; }
.record-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin: 0; }
.record-grid > div { padding: 18px; border: 1px solid var(--line); border-radius: 13px; }
.record-grid dt { color: var(--muted); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.record-grid dd { margin: 6px 0 0; color: var(--plum-dark); font-weight: 750; }
.record-grid--money { grid-template-columns: repeat(3,1fr); }
.record-grid--money dd { font-family: Georgia,serif; font-size: 1.7rem; }
.record-terms__list { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 22px; margin: 0; padding: 0; list-style: none; counter-reset: contract-term; }
.record-terms__list li { position: relative; padding: 10px 12px 10px 39px; border: 1px solid var(--line); border-radius: 9px; counter-increment: contract-term; break-inside: avoid; }
.record-terms__list li::before { content: counter(contract-term); position: absolute; top: 10px; left: 11px; display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; color: #fff; background: var(--plum); font-size: .61rem; font-weight: 900; }
.record-terms__list h3 { margin: 0 0 3px; font-family: inherit; font-size: .79rem; line-height: 1.25; }
.record-terms__list p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.47; }
.signature-block { display: grid; grid-template-columns: .75fr 1.25fr; gap: 28px; align-items: end; padding-top: 18px; border-top: 2px solid var(--plum-dark); }
.signature-block .eyebrow { margin: 0 0 2px; }
.signature-block strong { display: block; color: var(--plum-dark); font-family: Georgia,serif; font-size: 2rem; font-style: italic; }
.signature-block span { display: block; color: var(--plum-dark); font-size: .76rem; font-weight: 800; }
.signature-block p:last-child { margin: 5px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.record-integrity { margin-top: 23px; padding-top: 13px; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.record-integrity p { margin: 0; color: #8b818a; font-size: .68rem; }
.record-integrity p + p { margin-top: 3px; }
.admin-contract-body { background: #f7f3f5; }
.admin-record-bar { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.admin-record-bar .shell { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.admin-record-bar a { color: var(--plum); font-weight: 800; text-decoration: none; }
.admin-record-bar strong { color: var(--muted); font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; }
.honeypot { position: absolute!important; left: -9999px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.consent { display: grid!important; grid-template-columns: auto 1fr; align-items: start; gap: 10px!important; color: var(--muted)!important; font-weight: 550!important; line-height: 1.45; }
.consent input { width: 18px!important; height: 18px; margin-top: 2px; accent-color: var(--plum); }
.consent a { color: var(--plum); font-weight: 760; }
.form-status { min-height: 1.4em; margin: -4px 0 0; color: var(--plum); font-size: .82rem; font-weight: 750; }
.form-status.is-error { color: #9a263d; }
.inquiry-form label > span { color: var(--muted); font-weight: 500; }

/* Ragdoll colors, patterns, and markings guide */
.ragdoll-guide { background: #fff; }
.ragdoll-guide section[id] { scroll-margin-top: 24px; }
.guide-hero { padding: 76px 0 68px; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 86% 12%,#ffe0ee 0,rgba(255,224,238,0) 34%),linear-gradient(145deg,#fffaf7,#fff5f9); }
.guide-hero__inner { max-width: 1030px; }
.guide-hero h1 { max-width: 960px; font-size: clamp(3.25rem,6.3vw,6.2rem); }
.guide-hero__lead { max-width: 780px; margin: 26px 0 0; color: var(--muted); font-size: 1.12rem; }
.guide-hero__notes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.guide-hero__notes span { padding: 8px 12px; border: 1px solid #e7d6e1; border-radius: 999px; color: #5b4d58; background: rgba(255,255,255,.75); font-size: .72rem; font-weight: 800; }
.guide-toc { position: relative; z-index: 5; border-bottom: 1px solid var(--line); background: #fff; }
.guide-toc__inner { display: flex; align-items: center; gap: 8px; min-height: 66px; overflow-x: auto; scrollbar-width: thin; }
.guide-toc strong { margin-right: 7px; color: var(--plum-dark); font-size: .76rem; white-space: nowrap; }
.guide-toc a { padding: 7px 11px; border-radius: 999px; color: var(--plum); background: #fff7fb; font-size: .74rem; font-weight: 780; text-decoration: none; white-space: nowrap; }
.guide-toc a:hover,.guide-toc a:focus-visible { color: #fff; background: var(--plum); }
.guide-section { padding: 84px 0; border-bottom: 1px solid var(--line); background: #fff; }
.guide-section--soft { background: #faf5f8; }
.guide-reading-width { max-width: 1040px; }
.guide-heading { max-width: 820px; margin-bottom: 42px; }
.guide-heading > p:not(.eyebrow),.guide-heading--split > p { margin: 18px 0 0; color: var(--muted); }
.guide-heading--split { display: grid; max-width: none; grid-template-columns: 1fr .72fr; gap: 70px; align-items: end; }
.guide-heading--split > p { margin: 0 0 7px; }
.guide-heading h2 { font-size: clamp(2.35rem,4.4vw,4.4rem); }
.guide-note { margin-top: 26px; padding: 20px 23px; border-left: 4px solid var(--sage); border-radius: 0 14px 14px 0; color: #554b54; background: #f2f7f2; font-size: .9rem; }
.guide-note strong { color: var(--plum-dark); }
.guide-note--important { border-left-color: var(--rose); background: #fff3f8; }
.name-formula { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.15fr; gap: 11px; align-items: stretch; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 18px 50px rgba(67,29,57,.07); }
.name-formula > div { display: grid; align-content: start; min-width: 0; padding: 21px; border-radius: 16px; background: #fbf7fa; }
.name-formula > b { align-self: center; color: var(--rose); font-family: Georgia,serif; font-size: 1.5rem; }
.name-formula span { color: var(--rose); font-size: .66rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.name-formula strong { margin-top: 7px; color: var(--plum-dark); font-family: Georgia,serif; font-size: 1.22rem; line-height: 1.15; }
.name-formula small { margin-top: 8px; color: var(--muted); font-size: .72rem; line-height: 1.42; }
.name-formula .name-formula__result { color: #fff; background: var(--plum); }
.name-formula__result span,.name-formula__result small { color: #eadbe6; }
.name-formula__result strong { color: #fff; }
.guide-example-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 22px; }
.guide-example-pair article { padding: 27px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.term-line { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.term-line span { padding: 5px 9px; border-radius: 99px; color: var(--plum); background: var(--rose-soft); font-size: .67rem; font-weight: 850; }
.guide-example-pair dl { margin: 18px 0 0; }
.guide-example-pair dl > div { display: grid; grid-template-columns: 86px 1fr; gap: 10px; padding: 7px 0; border-top: 1px solid var(--line); }
.guide-example-pair dt { color: var(--plum-dark); font-weight: 850; }
.guide-example-pair dd { margin: 0; color: var(--muted); }
.pattern-ladder { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; margin-bottom: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.pattern-ladder > div { display: grid; gap: 4px; padding: 20px; border-right: 1px solid var(--line); }
.pattern-ladder > div:last-child { border-right: 0; }
.pattern-ladder__swatch { display: block; position: relative; height: 10px; margin-bottom: 9px; overflow: hidden; border-radius: 99px; background: #9b7c8e; }
.pattern-ladder__swatch::after { content: ""; position: absolute; inset: 0; background: #fff; }
.pattern-ladder__swatch--point::after { left: 94%; }
.pattern-ladder__swatch--mitted::after { left: 70%; }
.pattern-ladder__swatch--bicolor::after { left: 42%; }
.pattern-ladder__swatch--high::after { left: 13%; }
.pattern-ladder strong { color: var(--plum-dark); font-family: Georgia,serif; }
.pattern-ladder span { color: var(--muted); font-size: .72rem; line-height: 1.4; }
.pattern-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.pattern-card { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.guide-badge { display: inline-block; padding: 6px 9px; border-radius: 99px; color: var(--plum); background: var(--rose-soft); font-size: .61rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.pattern-card h3 { margin: 15px 0 7px; font-size: 1.75rem; }
.pattern-card > p:not(.pattern-card__note) { margin: 0; color: var(--muted); }
.pattern-card ul { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 20px; margin: 20px 0; padding: 0; list-style: none; }
.pattern-card li { position: relative; padding-left: 17px; color: #504650; font-size: .8rem; }
.pattern-card li::before { content: "•"; position: absolute; left: 0; color: var(--rose); font-weight: 900; }
.pattern-card__note { margin: 0; padding-top: 16px; border-top: 1px solid var(--line); color: #675b65; font-size: .78rem; }
.color-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.color-card { display: grid; grid-template-columns: 13px 1fr; gap: 16px; min-height: 175px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.color-card__chip { width: 13px; height: 100%; min-height: 90px; border-radius: 99px; background: #5a403c; }
.color-card--blue .color-card__chip { background: #73808a; }
.color-card--chocolate .color-card__chip { background: #8a5c48; }
.color-card--lilac .color-card__chip { background: #b8a8b1; }
.color-card--red .color-card__chip { background: #d46f44; }
.color-card--cream .color-card__chip { background: #e7c69c; }
.color-card--cinnamon .color-card__chip { background: #b87554; }
.color-card--fawn .color-card__chip { background: #c7ad9e; }
.color-card h3 { margin: 0 0 8px; font-size: 1.42rem; }
.color-card p { margin: 0; color: var(--muted); font-size: .79rem; line-height: 1.48; }
.color-card small { display: inline-block; margin-top: 12px; color: var(--plum); font-size: .65rem; font-weight: 850; }
.overlay-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.overlay-grid article { display: grid; grid-template-columns: 42px 1fr; gap: 17px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.overlay-grid article > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: var(--plum); background: var(--rose-soft); font-size: .72rem; font-weight: 900; }
.overlay-grid h3 { margin: 2px 0 7px; font-size: 1.48rem; }
.overlay-grid strong { color: #504650; font-size: .83rem; }
.overlay-grid p { margin: 9px 0 0; color: var(--muted); font-size: .82rem; }
.example-strip { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.example-strip span { padding: 7px 11px; border: 1px solid #e4d5df; border-radius: 99px; color: #675666; background: #fff; font-size: .69rem; font-weight: 760; }
.marking-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.marking-panel { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 16px 45px rgba(67,29,57,.05); }
.marking-panel h3 { margin: 17px 0 9px; font-size: 2rem; }
.marking-panel > p:not(.marking-panel__note) { color: var(--muted); }
.blaze-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin: 24px 0; }
.blaze-list > span { display: grid; min-height: 82px; place-items: center; align-content: center; gap: 6px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; color: var(--plum-dark); background: #fff9fc; font-size: .69rem; font-weight: 820; text-align: center; }
.blaze-symbol { display: grid; width: 26px; height: 30px; place-items: center; color: #fff; border-radius: 50% 50% 42% 42%; background: var(--plum); font-style: normal; font-size: .8rem; }
.blaze-symbol--none::after { content: "—"; }
.blaze-symbol--line::after { content: ""; width: 3px; height: 19px; border-radius: 99px; background: #fff; }
.blaze-symbol--broken { font-size: 1rem; line-height: .55; }
.marking-panel__note { margin: 20px 0 0; padding-top: 17px; border-top: 1px solid var(--line); color: #675b65; font-size: .78rem; }
.plain-term-list { display: flex; flex-wrap: wrap; gap: 9px; margin: 25px 0; padding: 0; list-style: none; }
.plain-term-list li { padding: 8px 12px; border-radius: 99px; color: var(--plum); background: var(--rose-soft); font-size: .74rem; font-weight: 800; }
.variation-box { display: grid; grid-template-columns: .8fr 1.2fr; gap: 18px 60px; margin-top: 22px; padding: 32px; border-radius: var(--radius-md); color: #f5eaf2; background: var(--plum-dark); }
.variation-box h3 { margin: 0; color: #fff; font-size: 1.75rem; }
.variation-box > p { margin: 3px 0 0; color: #d8c8d4; }
.variation-box ul { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; margin: 3px 0 0; padding: 0; list-style: none; }
.variation-box li { padding: 9px 11px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; color: #eadde7; font-size: .69rem; line-height: 1.35; }
.guide-section--mismark { color: #f4e8f0; background: var(--plum-dark); }
.mismark-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: center; }
.mismark-layout h2 { color: #fff; }
.mismark-layout p:not(.eyebrow) { color: #d8c9d5; }
.mismark-layout strong { color: #fff; }
.mismark-examples { padding: 30px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius-md); background: rgba(255,255,255,.06); }
.mismark-examples > strong { font-family: Georgia,serif; font-size: 1.4rem; }
.mismark-examples ul { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.mismark-examples li { position: relative; padding-left: 20px; color: #eadde7; font-size: .84rem; }
.mismark-examples li::before { content: "✓"; position: absolute; left: 0; color: #ff95c7; font-weight: 900; }
.glossary-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 1px solid var(--line); }
.glossary-grid > div { display: grid; grid-template-columns: 135px 1fr; gap: 18px; padding: 18px 12px; border-bottom: 1px solid var(--line); }
.glossary-grid > div:nth-child(odd) { padding-right: 28px; border-right: 1px solid var(--line); }
.glossary-grid > div:nth-child(even) { padding-left: 28px; }
.glossary-grid dt { color: var(--plum-dark); font-family: Georgia,serif; font-size: 1.02rem; font-weight: 700; }
.glossary-grid dd { margin: 0; color: var(--muted); font-size: .8rem; }
.registry-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.registry-table-wrap:focus-visible { outline: 3px solid rgba(238,79,155,.35); outline-offset: 3px; }
.registry-table { width: 100%; min-width: 900px; border-collapse: collapse; }
.registry-table th,.registry-table td { padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.registry-table thead th { color: var(--plum); background: #fff8fb; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.registry-table tbody th { color: var(--plum-dark); font-family: Georgia,serif; font-size: 1.25rem; }
.registry-table td { color: var(--muted); font-size: .78rem; line-height: 1.55; }
.registry-table tr:last-child > * { border-bottom: 0; }
.registry-table tr > *:last-child { border-right: 0; }
.registry-date { margin: 13px 0 0; color: var(--muted); font-size: .7rem; }
.cherubim-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }
.cherubim-layout p { color: var(--muted); }
.cherubim-layout > div:last-child > p:first-child { margin-top: 0; }
.development-timeline { display: grid; grid-template-columns: repeat(4,1fr); margin: 0; padding: 0; list-style: none; counter-reset: development; }
.development-timeline li { position: relative; padding: 0 25px 0 0; counter-increment: development; }
.development-timeline li::before { content: counter(development); display: grid; width: 34px; height: 34px; margin-bottom: 15px; place-items: center; border-radius: 50%; color: #fff; background: var(--plum); font-size: .68rem; font-weight: 900; }
.development-timeline li::after { content: ""; position: absolute; top: 16px; left: 43px; right: 9px; height: 1px; background: #d8c7d2; }
.development-timeline span { display: block; color: var(--rose); font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.development-timeline strong { display: block; margin-top: 5px; color: var(--plum-dark); font-family: Georgia,serif; font-size: 1.15rem; line-height: 1.22; }
.development-timeline p { margin: 8px 0 0; color: var(--muted); font-size: .76rem; }
.example-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.example-grid article { padding: 25px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.example-grid h3 { margin: 13px 0 7px; font-size: 1.35rem; }
.example-grid article > p:last-child { margin: 0; color: var(--muted); font-size: .8rem; }
.guide-section--formula { background: linear-gradient(145deg,#fff4f8,#fffaf7); }
.reading-formulas { display: grid; gap: 10px; }
.reading-formulas p { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin: 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.85); }
.reading-formulas span { padding: 5px 9px; border-radius: 99px; color: var(--plum); background: var(--rose-soft); font-size: .74rem; font-weight: 820; }
.reading-formulas b { color: var(--rose); }
.reading-formulas strong { margin-left: auto; color: var(--plum-dark); font-family: Georgia,serif; font-size: 1.03rem; }
.reading-formulas strong::before { content: "= "; color: var(--rose); }
.formula-summary { margin: 20px 0 0; color: var(--muted); }
.formula-summary strong { color: var(--plum-dark); }
.source-list { margin: 0; padding: 0; list-style: none; }
.source-list li { padding: 19px 0; border-top: 1px solid var(--line); }
.source-list li:last-child { border-bottom: 1px solid var(--line); }
.source-list a { color: var(--plum); font-family: Georgia,serif; font-size: 1.08rem; font-weight: 700; text-underline-offset: 3px; }
.source-list p { margin: 5px 0 0; color: var(--muted); font-size: .76rem; }

@media (max-width: 1020px) {
  .site-header__inner { min-height: 82px; }
  .menu-toggle { display: block; }
  .primary-nav { position: fixed; inset: 120px 20px auto; display: none; flex-direction: column; align-items: stretch; gap: 8px; padding: 22px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: 8px; }
  .hero__grid { grid-template-columns: 1fr; gap: 65px; }
  .hero__copy { max-width: 760px; }
  .hero__visual { max-width: 760px; margin-inline: auto; }
  .story__grid { gap: 55px; }
  .process__steps { grid-template-columns: 1fr 1fr; }
  .contact__grid { gap: 50px; }
  .contact-route-card { grid-template-columns: 1fr; }
  .contact-route-card > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .waitlist-layout { grid-template-columns: 1fr; gap: 48px; }
  .waitlist-guidance { position: static; }
  .site-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .site-footer__grid > div:last-child { grid-column: 2 / 4; }
  .public-gallery { grid-template-columns: 1fr 1fr; }
  .kitten-grid { grid-template-columns: 1fr 1fr; }
  .guide-heading--split { gap: 40px; }
  .name-formula { grid-template-columns: 1fr auto 1fr; }
  .name-formula > b:nth-of-type(2),.name-formula > b:nth-of-type(3) { display: none; }
  .name-formula__result { grid-column: 1 / -1; }
  .color-grid { grid-template-columns: repeat(2,1fr); }
  .variation-box ul { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 760px) {
  :root { --shell: min(100% - 28px, 620px); --radius-lg: 24px; }
  .section { padding: 52px 0; }
  .page-hero + .section,.section + .section { padding-top: 28px; }
  .announcement__inner { justify-content: flex-start; min-height: 44px; overflow-x: auto; white-space: nowrap; }
  .announcement a, .announcement__dot:nth-of-type(2) { display: none; }
  .brand img { max-width: 66vw; }
  .brand span { display: none; }
  .primary-nav { top: 104px; }
  .hero { padding: 46px 0 58px; }
  h1 { font-size: clamp(2.85rem, 15vw, 4.2rem); }
  .hero__actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .hero__visual { padding: 0 0 90px; }
  .hero__image-wrap { aspect-ratio: 0.9; }
  .availability-card { width: calc(100% - 22px); right: 11px; }
  .credibility__grid { grid-template-columns: 1fr 1fr; }
  .credibility__grid > div { min-height: 105px; padding: 20px; border-bottom: 1px solid var(--line); }
  .story__grid, .contact__grid { grid-template-columns: 1fr; }
  .story__grid { gap: 70px; }
  .story__images { min-height: 520px; }
  .story__image--main { width: 82%; height: 440px; }
  .story__image--accent { width: 53%; height: 265px; }
  .story__caption { bottom: 18px; left: 10px; }
  .section-heading, .faq-preview__inner { align-items: flex-start; flex-direction: column; }
  .process__steps { grid-template-columns: 1fr; }
  .process__steps li { min-height: 220px; }
  .contact__grid { gap: 45px; }
  .contact-page__card { padding: 34px 20px; }
  .contact-page__routes { grid-template-columns: 1fr; }
  .inquiry-form { padding: 24px 18px; }
  .field-row { grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .site-footer__grid > div:last-child { grid-column: 1 / -1; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
  .page-hero { padding: 52px 0; }
  .page-hero__grid,.two-column-copy,.payment-card { grid-template-columns: 1fr; gap: 45px; }
  .page-hero__grid > img { height: 430px; }
  .info-grid,.public-gallery,.post-grid,.kitten-grid,.contract-price-grid,.record-grid,.record-grid--money { grid-template-columns: 1fr; }
  .check-list { grid-template-columns: 1fr; }
  .callout__inner { align-items: flex-start; flex-direction: column; }
  .public-gallery img { height: 330px; }
  .album-grid { columns: 1; }
  .album-heading { margin-bottom: 35px; }
  .kitten-grid { margin-top: 34px; }
  .kitten-empty { padding: 35px 22px; }
  .kitten-actions { align-items: flex-start; flex-direction: column; }
  .kitten-inquiry-dialog { width: calc(100% - 18px); max-height: calc(100dvh - 18px); }
  .kitten-inquiry-dialog__card { max-height: calc(100dvh - 18px); }
  .kitten-inquiry-dialog__close { top: 11px; right: 11px; }
  .kitten-inquiry-success { padding: 54px 22px 34px; }
  .facebook-share-dialog { width: calc(100% - 18px); max-height: calc(100dvh - 18px); }
  .facebook-share-dialog__card { max-height: calc(100dvh - 18px); padding: 28px 18px 24px; }
  .facebook-share-dialog__close { top: 11px; right: 11px; }
  .facebook-share-dialog__heading { padding-right: 42px; }
  .facebook-share-dialog__preview { margin-top: 18px; border-radius: 14px; }
  .waitlist-inline { align-items: flex-start; flex-direction: column; padding: 26px 22px; }
  .waitlist-form { padding: 24px 18px; }
  .payment-card { padding: 25px; }
  .contract-layout { grid-template-columns: 1fr; }
  .contract-progress { position: static; }
  .contract-form__section,.contract-record { padding: 24px 18px; }
  .field-row--three { grid-template-columns: 1fr; }
  .record-hero__inner,.record-actions { align-items: flex-start; flex-direction: column; }
  .record-actions > div { justify-items: start; }
  .record-actions small { text-align: left; }
  .contract-document { padding: 25px 18px; }
  .contract-document__header,.signature-block { align-items: start; grid-template-columns: 1fr; flex-direction: column; }
  .contract-document__meta { width: 100%; min-width: 0; }
  .contract-facts { table-layout: auto; }
  .contract-facts th,.contract-facts td { padding: 8px 7px; }
  .contract-facts th { width: auto; font-size: .56rem; }
  .contract-facts td { width: auto; font-size: .72rem; }
  .record-payment-notice { grid-template-columns: 1fr; }
  .record-terms__list { grid-template-columns: 1fr; }
  .guide-hero { padding: 52px 0 46px; }
  .guide-hero h1 { font-size: clamp(2.75rem,14vw,4.5rem); }
  .guide-hero__lead { font-size: 1rem; }
  .guide-toc__inner { min-height: 58px; }
  .guide-section { padding: 54px 0; }
  .guide-heading { margin-bottom: 30px; }
  .guide-heading--split,.guide-example-pair,.pattern-grid,.overlay-grid,.marking-layout,.mismark-layout,.cherubim-layout { grid-template-columns: 1fr; gap: 24px; }
  .guide-heading--split > p { margin: 0; }
  .name-formula { grid-template-columns: 1fr; padding: 13px; }
  .name-formula > b { display: none; }
  .name-formula > div { padding: 18px; }
  .guide-example-pair article,.pattern-card,.marking-panel { padding: 23px 20px; }
  .pattern-ladder { grid-template-columns: 1fr 1fr; }
  .pattern-ladder > div { border-bottom: 1px solid var(--line); }
  .pattern-ladder > div:nth-child(2) { border-right: 0; }
  .pattern-ladder > div:nth-last-child(-n+2) { border-bottom: 0; }
  .pattern-card ul { grid-template-columns: 1fr; }
  .color-grid { grid-template-columns: 1fr; }
  .color-card { min-height: 0; }
  .blaze-list { grid-template-columns: 1fr 1fr; }
  .variation-box { grid-template-columns: 1fr; gap: 12px; padding: 24px 20px; }
  .variation-box ul { grid-column: auto; grid-template-columns: 1fr 1fr; }
  .glossary-grid { grid-template-columns: 1fr; }
  .glossary-grid > div,.glossary-grid > div:nth-child(odd),.glossary-grid > div:nth-child(even) { grid-template-columns: 112px 1fr; padding: 16px 2px; border-right: 0; }
  .registry-table-wrap::after { content: "Swipe sideways to compare →"; display: block; padding: 10px 14px; color: var(--muted); background: #fff8fb; font-size: .67rem; font-weight: 750; }
  .development-timeline { grid-template-columns: 1fr 1fr; gap: 28px 12px; }
  .development-timeline li::after { display: none; }
  .example-grid { grid-template-columns: 1fr; }
  .reading-formulas p { align-items: flex-start; }
  .reading-formulas strong { width: 100%; margin: 5px 0 0; }
}

@media print {
  @page { size: letter portrait; margin: .38in .42in; }
  html,body { color: #111; background: #fff!important; font-size: 9pt; line-height: 1.25; }
  .skip-link,.announcement,.site-header,.site-footer,.record-actions,.record-hero,.admin-record-bar,.screen-only { display: none!important; }
  main,.record-section { padding: 0!important; background: #fff!important; }
  .contract-record { --shell: 100%; width: 100%; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
  .contract-document,.contract-document * { color: #000!important; text-shadow: none!important; }
  .contract-document__header { align-items: end; padding-bottom: 7pt; gap: 18pt; border-bottom: 1.5pt solid #222; }
  .contract-document__brand { margin-bottom: 1pt; color: #333; font-size: 6.4pt; }
  .contract-document__header h1 { color: #111; font-size: 18pt; }
  .contract-document__meta { min-width: 220pt; }
  .contract-document__meta > div { grid-template-columns: 54pt 1fr; padding: 1.5pt 0; border-color: #bbb; }
  .contract-document__meta dt,.contract-facts th,.contract-money span { color: #444; font-size: 5.7pt; }
  .contract-document__meta dd { color: #111; font-size: 6.6pt; }
  .record-payment-notice { grid-template-columns: 94pt 1fr; gap: 5pt; margin-top: 7pt; padding: 5pt 7pt; border-left: 2pt solid #555; border-radius: 0; color: #111; background: #f4f4f4!important; font-size: 6.3pt; line-height: 1.25; }
  .record-payment-notice strong,.record-payment-notice span { color: #111; }
  .contract-document__section { margin-top: 8pt; break-inside: auto; }
  .contract-document__section > h2 { margin-bottom: 3pt; color: #111; font-size: 9pt; }
  .contract-facts th,.contract-facts td,.contract-money td { padding: 3.5pt 4pt; border-color: #aaa; }
  .contract-facts th { color: #333; background: #f2f2f2!important; }
  .contract-facts td { color: #111; font-size: 6.4pt; line-height: 1.2; }
  .contract-money td { background: #fff!important; }
  .contract-money strong { margin-top: 1pt; color: #111; font-size: 10pt; }
  .record-terms__list { display: block; margin: 0; }
  .record-terms__list li { display: block; width: 100%; margin: 0 0 4.5pt; padding: 0 0 0 17pt; border: 0; border-radius: 0; break-inside: avoid; page-break-inside: avoid; }
  .record-terms__list li::before { top: 0; left: 0; width: 11.5pt; height: 11.5pt; border: .7pt solid #000; color: #000!important; background: #fff!important; font-size: 6.2pt; }
  .record-terms__list h3 { margin-bottom: 1pt; color: #111; font-size: 8.2pt; line-height: 1.16; }
  .record-terms__list p { color: #222; font-size: 7.35pt; line-height: 1.29; }
  .signature-block { grid-template-columns: .75fr 1.25fr; gap: 15pt; margin-top: 7pt; padding-top: 5pt; border-top: 1.5pt solid #222; break-inside: avoid; }
  .signature-block .eyebrow { color: #333; font-size: 5.5pt; }
  .signature-block strong { color: #111; font-size: 13pt; }
  .signature-block span { color: #111; font-size: 6.2pt; }
  .signature-block p:last-child { margin-top: 2pt; color: #333; font-size: 5.8pt; line-height: 1.22; }
  .record-integrity { margin-top: 5pt; padding-top: 3pt; border-color: #aaa; }
  .record-integrity p { color: #555; font-size: 4.6pt; line-height: 1.15; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
