/* v3 — editorial black & cream. Loaded after styles.css; overrides it sitewide. */
/* v2: removed 8 unused Google Font families (Cormorant Unicase/SC, Forum, Tenor Sans, Alice, Ruslan Display, Kurale, Oranienbaum); Cormorant Garamond 400/400i now comes from the single import in styles.css */
:root{
  --cream:#F6F1E8; --ivory:#F6F1E8; --sand:#F6F1E8; --line:#D9D1C3;
  --ink:#151412; --ink-2:#3B3833; --muted:#7C766C;
  --forest:#151412; --forest-2:#151412; --honey:#151412; --honey-d:#151412; --honey-l:#F6F1E8;
  --green:#151412; --green-l:transparent; --amber-l:transparent; --grey-l:transparent;
  --radius:0; --shadow:none; --shadow-lg:none;
  --serif:'Cormorant Garamond',Georgia,serif;
  --hero-font:'Kurale',Georgia,serif;
}
html[data-font=kurale]{--hero-font:'Kurale',Georgia,serif}
html[data-font=oranienbaum]{--hero-font:'Oranienbaum',Georgia,serif}
html[data-font=ruslan]{--hero-font:'Ruslan Display',Georgia,serif}
/* font round 2: lighter candidates (preview with ?font=) */
html[data-font=oranienbaum-outline]{--hero-font:'Oranienbaum',Georgia,serif}
html[data-font=oranienbaum-outline] .v3-word{font-size:28vw;letter-spacing:0;color:transparent;-webkit-text-stroke:1.2px var(--ink)}
html[data-font=cormorant-unicase]{--hero-font:'Cormorant Unicase',Georgia,serif}
html[data-font=cormorant-unicase] .v3-word{font-weight:300;font-size:23.8vw}
html[data-font=cormorant-sc]{--hero-font:'Cormorant SC',Georgia,serif}
html[data-font=cormorant-sc] .v3-word{font-weight:300;font-size:23.8vw}
html[data-font=forum]{--hero-font:'Forum',Georgia,serif}
html[data-font=forum] .v3-word{font-size:27.6vw}
html[data-font=tenor]{--hero-font:'Tenor Sans',sans-serif}
html[data-font=tenor] .v3-word{font-size:20.3vw;letter-spacing:.02em}
html[data-font=alice]{--hero-font:'Alice',Georgia,serif}
html[data-font=alice] .v3-word{font-size:23vw}
body,body.v2{background:var(--cream);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--ink);letter-spacing:0}
.eyebrow,.v2 .eyebrow{color:var(--muted);font-weight:500;letter-spacing:.22em}
a{text-underline-offset:4px}

/* header: quiet, hairline */
.site-header{background:rgba(246,241,232,.94);border-bottom:1px solid var(--line)}
.brand-mark{display:none}
.brand-name{font-weight:500;color:var(--ink)}
.nav a{color:var(--ink-2);font-weight:400;font-size:14.5px;letter-spacing:.04em}
.nav a:hover,.nav a.active,.nav a.header-avail{color:var(--ink);border-bottom-color:var(--ink)}
.nav a.header-avail{border-bottom:1px solid var(--ink)}
.mock-tag{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:0;box-shadow:none;font-weight:500}
.mobile-bar{display:none !important}
.menu-btn,.v2 .menu-btn{border-radius:0;background:transparent;border:1px solid var(--line);box-shadow:none}
.mnav{background:var(--cream)}
.mnav a{border-radius:0}

/* buttons: thin outline, square */
.btn,.btn.primary,.btn.dark,.btn.lg{background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:2px;box-shadow:none;font-weight:500;font-size:14px;letter-spacing:.14em;text-transform:uppercase;padding:14px 26px}
.btn:hover{background:var(--ink);color:var(--cream)}
.btn-available{background:none;color:var(--ink)!important;box-shadow:none;border-radius:0;padding:0;font-weight:500}

/* no boxes: hairlines + whitespace */
.card,.featured,.c-card,.form,.v2 .form,.visit,.visit2,.cta-band,.teaser,.tile,.l2 .img,.parent .pimg,.profile .pimg,.v2-hero .photo,.hero-media .main{border-radius:0;box-shadow:none}
.card,.featured,.c-card,.form,.v2 .form,.visit,.visit2{background:transparent;border:none;border-top:1px solid var(--line)}
.band-ivory,.band-forest,.trust,.cta-band{background:transparent;color:var(--ink);border-top:1px solid var(--line)}
.band-forest h2,.band-forest h3{color:var(--ink)}
.ph{background:#EEE8DD;border:1px solid var(--line);border-radius:0 !important}
.kitten .ph{border-radius:0}
.badge,.badge.available,.badge.reserved,.badge.sold{background:none;color:var(--ink);padding:0;border-radius:0;font-weight:500;letter-spacing:.2em}
.badge.available::before{background:var(--ink);width:5px;height:5px}
.pending{background:transparent;color:#8A6A2E;border:1px dashed #C8B48C;border-radius:0;font-weight:500}
.discreet .sw{background:transparent;border:1px dashed #C8B48C}
.v2 .choice,.choice{border-radius:0;background:transparent}
.input,.v2 .input{border-radius:0;background:transparent}
.tile::after{background:linear-gradient(transparent 50%,rgba(21,20,18,.55))}
.plain-steps div::before,.why .num{color:var(--muted)}
.foot2{background:var(--cream);color:var(--ink);border-top:1px solid var(--ink)}
.foot2 .brand-sub,.foot2 .legal{color:var(--muted)!important}
.foot2 a{color:var(--ink)}
.foot2 .brand-name{font-weight:500!important;color:var(--ink)}

/* ---------- v3 home hero ---------- */
.v3-hero{padding:56px 0 88px;overflow:hidden;text-align:center}
.v3-stage{position:relative;display:flex;justify-content:center;align-items:flex-end}
.v3-word{position:absolute;left:50%;top:50%;transform:translate(-50%,-66%);white-space:nowrap;
  font-family:var(--hero-font);font-weight:400;text-transform:uppercase;color:var(--ink);
  font-size:25vw;line-height:1;letter-spacing:.01em;pointer-events:none;user-select:none}

html[data-font=ruslan] .v3-word{font-size:23vw}
html[data-font=oranienbaum] .v3-word{font-size:28vw;letter-spacing:0}
.v3-cat{position:relative;z-index:2;height:min(64vh,640px);width:auto;max-width:none;filter:drop-shadow(0 18px 24px rgba(21,20,18,.14))}
.v3-line{margin-top:40px;font-family:var(--serif);font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2)}
.v3-link{margin-top:14px}
.v3-link a{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px}
@media (max-width:760px){
  .v3-hero{padding:36px 0 64px}
  .v3-word{font-size:27vw;transform:translate(-50%,-95%)}
  html[data-font=ruslan] .v3-word{font-size:25vw}
  html[data-font=oranienbaum] .v3-word{font-size:30vw}
  .v3-cat{height:auto;width:58vw;max-width:58vw}
  .v3-line{font-size:13px;letter-spacing:.14em;padding:0 20px}
}

/* ---------- kitten page features, restyled ---------- */
.kitten h2{font-weight:500}
.kitten .k-age{font-family:var(--serif);font-style:italic;color:var(--ink-2)}
.kitten .k-age.ready{color:var(--ink)}
.k-ask{color:var(--ink-2);border-bottom:1px solid var(--ink-2)}
.k-ask:hover{color:var(--ink);border-bottom-color:var(--ink)}
.k-update{background:transparent;border:none;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);border-radius:0;padding:28px 0 24px}
.k-update h3{font-weight:500}
.k-update input[type=text],.k-update input[type=email],.k-update textarea{background:transparent;border:none;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0}
.k-update input:focus,.k-update textarea:focus{border-bottom-color:var(--ink)}
.k-update input[type=radio]{accent-color:var(--ink)}
.k-update .k-actions .btn{padding:11px 22px;font-size:13px}
.k-plan{background:transparent;border-radius:0;padding:0;margin:0 0 34px;border-top:1px solid var(--ink)}
.k-plan .k-price{padding:18px 0;margin:0;border-bottom:1px solid var(--line)}
.k-plan .k-price b{color:var(--ink);font-weight:500}
.k-plan .k-row{padding:14px 0;border-bottom:1px solid var(--line);margin:0}
.k-plan .k-row b{font-weight:500}

/* font round 3: decorative Slavic display candidates (local files, preview only; see fonts/) */

/* font round 4: Slavic folk / fairy-tale candidates (local files, preview only; see fonts/) */

/* font round 5: free Palitura lookalikes (OFL, Google Fonts; local files) */
@font-face{font-family:'F5 Almendra';src:url(fonts/Almendra-Regular.ttf) format('truetype')}
html[data-font=almendra]{--hero-font:'F5 Almendra',Georgia,serif}
html[data-font=almendra] .v3-word{font-size:24.7vw}

/* v4: Almendra is the default hero font (Kurale stays available via ?font=kurale) */
:root{--hero-font:'F5 Almendra',Georgia,serif}
html:not([data-font]) .v3-word{font-size:24.7vw}
@media (max-width:760px){html:not([data-font]) .v3-word{font-size:24.7vw}}
/* main page headings in Almendra; body text unchanged */
h1,h2{font-family:'F5 Almendra',var(--serif);font-weight:400;letter-spacing:.01em}
/* v4: TRADITIONAL stacked above SIBERIAN, staggered like brickwork */
.v3-word-top{font-family:'F5 Almendra',var(--serif);font-size:14.8vw !important;left:-1vw;transform:none;
  top:calc(50% - .66*24.7vw - .80*14.8vw);text-align:left}
@media (max-width:760px){.v3-word-top{top:calc(50% - .95*24.7vw - .80*14.8vw)}}
.v3-hero{padding-top:calc(56px + 11vw)}
.v3-stage{overflow:visible}
@media (max-width:760px){.v3-hero{padding-top:calc(36px + 12vw)}}
/* v5: smaller brick-stagger title. SIBERIAN starts ~where its B was and ends at the right edge; TRADITIONAL (60%) sits above, offset left */
.v3-hero{overflow:hidden;padding-top:calc(56px + 7vw)}
html:not([data-font]) .v3-word:not(.v3-word-top){font-size:19.1vw;left:20.3vw;transform:translate(0,-66%)}
.v3-word-top{font-size:11.5vw !important;left:3vw;top:calc(50% - .66*19.1vw - .82*11.5vw)}
html:not([data-font]) .v3-word{margin-top:-9vw}
.v3-hero{padding-top:calc(56px + 14vw)}
@media (max-width:760px){
  .v3-hero{padding-top:calc(36px + 8vw)}
  html:not([data-font]) .v3-word:not(.v3-word-top){font-size:19.1vw;transform:translate(0,-95%)}
  .v3-word-top{top:calc(50% - .95*19.1vw - .82*11.5vw)}
  /* mobile: lift the title so Malachite overlaps only its lower part and both words stay readable */
  .v3-hero{padding-top:calc(36px + 34vw)}
  html:not([data-font]) .v3-word{margin-top:-30vw}
}
/* v6: upper word set as "Traditional" (sentence case) */
.v3-word-top{text-transform:none}
.v3-word-top{font-size:12.9vw !important;top:calc(50% - .66*19.1vw - .82*12.9vw)}
@media (max-width:760px){.v3-word-top{top:calc(50% - .95*19.1vw - .82*12.9vw)}}
/* v7 variant (?hero=over): title sits ON TOP of a smaller Malachite, across his torso */
html[data-hero=over] .v3-word{z-index:3;margin-top:0 !important;text-shadow:0 0 14px rgba(246,241,232,.55),0 0 3px rgba(246,241,232,.5)}
html[data-hero=over] .v3-hero{padding-top:56px}
html[data-hero=over] .v3-cat{height:min(50vh,500px)}
html[data-hero=over]:not([data-font]) .v3-word:not(.v3-word-top){transform:translate(0,-30%)}
html[data-hero=over] .v3-word-top{top:calc(50% - .30*19.1vw - .82*12.9vw)}
@media (max-width:760px){
  html[data-hero=over] .v3-hero{padding-top:36px}
  html[data-hero=over] .v3-cat{height:auto;width:45vw;max-width:45vw}
  html[data-hero=over]:not([data-font]) .v3-word:not(.v3-word-top){transform:translate(0,-30%)}
  html[data-hero=over] .v3-word-top{top:calc(50% - .30*19.1vw - .82*12.9vw)}
}
html[data-hero=over] .v3-word{margin-top:7vw !important}
@media (max-width:760px){html[data-hero=over] .v3-word{margin-top:9vw !important}}
html[data-hero=over] .v3-line{margin-top:72px}
@media (max-width:760px){html[data-hero=over] .v3-line{margin-top:40px}}
/* v8: the smaller-cat layout is now the default (?hero=classic shows v6). Words sit BEHIND Malachite, no glow. */
html[data-hero=over] .v3-word{z-index:1;text-shadow:none}
html[data-hero=over] .v3-cat{z-index:2}
/* home: the mock-up label lives in the footer line ("Design mock-up for review — not the live site") instead of over the hero */
body:has(.v3-hero) .mock-tag{display:none}
/* v9: back to the v6 layout (full-size Malachite, words behind him), title moved lower across his chest/mid-body */
html:not([data-font]):not([data-hero]) .v3-word{margin-top:4vw}
@media (max-width:760px){html:not([data-font]):not([data-hero]) .v3-word{margin-top:-8vw}}
html:not([data-font]):not([data-hero]) .v3-hero{padding-top:56px}
html:not([data-font]):not([data-hero]) .v3-word{margin-top:16vw}
@media (max-width:760px){
  html:not([data-font]):not([data-hero]) .v3-hero{padding-top:36px}
  html:not([data-font]):not([data-hero]) .v3-word{margin-top:18vw}
}
/* v10: Malachite at 80% of v9; stronger parallax (parallax.js); tagline stays above the sliding cat */
html:not([data-font]):not([data-hero]) .v3-cat{height:min(51.2vh,512px)}
@media (max-width:760px){html:not([data-font]):not([data-hero]) .v3-cat{height:auto;width:46.4vw;max-width:46.4vw}}
.v3-line,.v3-link{position:relative;z-index:3}
.v3-cat{will-change:transform}
.v3-line,.v3-link{z-index:auto}
html:not([data-font]):not([data-hero]) .v3-line{margin-top:88px}
@media (max-width:760px){html:not([data-font]):not([data-hero]) .v3-line{margin-top:40px}}
/* v11: title centred on Malachite's mid-body at rest; soft shadows */
html:not([data-font]):not([data-hero]) .v3-word{margin-top:11.2vw}
.v3-cat{filter:drop-shadow(0 2px 3px rgba(21,20,18,.16)) drop-shadow(0 18px 26px rgba(21,20,18,.14))}
.v3-ground{position:absolute;left:50%;bottom:-6px;width:min(30vw,300px);height:22px;margin-left:calc(min(30vw,300px)/-2);z-index:1;
  border-radius:50%;background:radial-gradient(closest-side,rgba(21,20,18,.22),rgba(21,20,18,0));pointer-events:none}
@media (max-width:760px){.v3-ground{width:40vw;margin-left:-20vw;height:14px;bottom:-4px}}
.v3-word{text-shadow:0 1px 0 rgba(255,253,248,.5),0 8px 22px rgba(21,20,18,.14)}
/* v11b: letters START at mid-body (top of "Traditional" ≈ middle of Malachite) */
html:not([data-font]):not([data-hero]) .v3-word{margin-top:21.8vw}
@media (max-width:760px){html:not([data-font]):not([data-hero]) .v3-word{margin-top:27.9vw}}
@media (min-width:761px){
  html:not([data-font]):not([data-hero]) .v3-word{margin-top:18.5vw}
  html:not([data-font]):not([data-hero]) .v3-line{margin-top:130px}
}
/* v11c: mobile-only Malachite at 80% of v11 mobile size */
@media (max-width:760px){
  html:not([data-font]):not([data-hero]) .v3-cat{width:37.1vw;max-width:37.1vw}
  .v3-ground{width:32vw;margin-left:-16vw}
  html:not([data-font]):not([data-hero]) .v3-word{margin-top:22vw}
}

/* v11 palette: cool soft grays instead of warm cream (site-wide). Ink stays near-black; shadows retuned to a cool neutral. */
:root{
  --cream:#EEF0F2; --ivory:#EEF0F2; --sand:#EEF0F2; --honey-l:#EEF0F2; --line:#D2D6DB;
  --ink:#141518; --ink-2:#373A40; --muted:#5E636B;
  --forest:#141518; --forest-2:#141518; --honey:#141518; --honey-d:#141518; --green:#141518;
}
body{background:var(--cream)}
.site-header{background:rgba(242,243,245,.94)}
.v3-hero{background:linear-gradient(180deg,#F4F5F7 0%,#ECEEF1 55%,#E3E6EA 100%)}
.ph{background:#E5E8EC}
.pending{color:#4F5966;border-color:#A9B1BB}
.discreet .sw{border-color:#A9B1BB}
.review-note{background:#F2F4F6;border-color:#C3C8CF;color:#5E646C}
.site-footer,.foot2{background:var(--cream)}
.v3-cat{filter:drop-shadow(0 2px 3px rgba(18,20,26,.18)) drop-shadow(0 18px 26px rgba(18,20,26,.15))}
.v3-ground{background:radial-gradient(closest-side,rgba(18,20,26,.24),rgba(18,20,26,0))}
.v3-word{text-shadow:0 1px 0 rgba(255,255,255,.55),0 8px 22px rgba(18,20,26,.16)}
/* v12: desktop Malachite ~130% of v11; feet sit just below SIBERIAN */
@media (min-width:761px){
  html:not([data-font]):not([data-hero]) .v3-cat{height:min(66.5vh,665px)}
  .v3-ground{width:min(39vw,390px);margin-left:calc(min(39vw,390px)/-2)}
}
/* v12 shadows: clearer, still soft */
.v3-word{text-shadow:0 1px 0 rgba(255,255,255,.5),3px 5px 3px rgba(18,20,26,.38),6px 12px 26px rgba(18,20,26,.28)}
.v3-cat{filter:drop-shadow(0 3px 4px rgba(18,20,26,.26)) drop-shadow(6px 24px 30px rgba(18,20,26,.24))}
.v3-ground{background:radial-gradient(closest-side,rgba(18,20,26,.34),rgba(18,20,26,0))}
/* v12: desktop title anchored to the stage bottom (= Malachite's feet) so his feet sit ~10px below SIBERIAN's baseline at any window height */
@media (min-width:761px){
  html:not([data-font]):not([data-hero]) .v3-cat{height:min(46vw,665px)}
  html:not([data-font]):not([data-hero]) .v3-word{margin-top:0}
  html:not([data-font]):not([data-hero]) .v3-word:not(.v3-word-top){top:auto;bottom:calc(10px - 3.2vw);transform:none}
  html:not([data-font]):not([data-hero]) .v3-word-top{top:auto;bottom:calc(10px + 13.58vw)}
}
/* v12: TRADITIONAL in caps; its font can be previewed with ?tfont= (SIBERIAN stays Almendra) */
.v3-word-top{text-transform:uppercase;--tsize:11.5vw;font-size:var(--tsize) !important;letter-spacing:.01em}
@media (min-width:761px){html:not([data-font]):not([data-hero]) .v3-word-top{bottom:calc(10px + 15.9vw - .18*var(--tsize))}}
@media (max-width:760px){.v3-word-top{top:calc(50% - .95*19.1vw - .82*var(--tsize))}}
html[data-tfont=syncopate] .v3-word-top{font-family:'Syncopate',sans-serif;font-weight:400;letter-spacing:.08em}
html[data-tfont=michroma] .v3-word-top{font-family:'Michroma',sans-serif;letter-spacing:.06em}
html[data-tfont=pinyon] .v3-word-top{font-family:'Pinyon Script',cursive;text-transform:none}
html[data-tfont=greatvibes] .v3-word-top{font-family:'Great Vibes',cursive;text-transform:none}
html[data-tfont=bodoni] .v3-word-top{font-family:'Bodoni Moda',serif;font-style:italic;font-optical-sizing:auto}
html[data-tfont=cinzeldeco] .v3-word-top{font-family:'Cinzel Decorative',serif}
html[data-tfont=federo] .v3-word-top{font-family:'Federo',sans-serif;letter-spacing:.04em}
html[data-tfont=yeseva] .v3-word-top{font-family:'Yeseva One',serif}
html[data-tfont=syncopate] .v3-word-top{--tsize:7.8vw}
html[data-tfont=michroma] .v3-word-top{--tsize:6.7vw}
html[data-tfont=pinyon] .v3-word-top{--tsize:14vw}
html[data-tfont=greatvibes] .v3-word-top{--tsize:14vw}
html[data-tfont=bodoni] .v3-word-top{--tsize:10vw}
html[data-tfont=cinzeldeco] .v3-word-top{--tsize:9.6vw}
html[data-tfont=federo] .v3-word-top{--tsize:10.1vw}
html[data-tfont=yeseva] .v3-word-top{--tsize:9.9vw}
/* v13: Cinzel Decorative is the default for TRADITIONAL (other options still via ?tfont=) */
html:not([data-tfont]) .v3-word-top{font-family:'Cinzel Decorative',serif;font-weight:400;--tsize:9.6vw;letter-spacing:.02em;font-kerning:normal}
/* Cinzel's swash tails sit low: lift TRADITIONAL slightly so it doesn't kiss SIBERIAN */
@media (min-width:761px){html:not([data-font]):not([data-hero]):not([data-tfont]) .v3-word-top{bottom:calc(10px + 16.7vw - .18*var(--tsize))}}
@media (max-width:760px){html:not([data-tfont]) .v3-word-top{top:calc(50% - .95*19.1vw - .82*var(--tsize) - 1.2vw)}}
/* v14: tagline card below the hero; Malachite slides BEHIND it */
.v3-card{position:relative;z-index:5;background:#E9ECEF;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  text-align:center;padding:34px 20px 38px;box-shadow:0 -10px 24px rgba(18,20,26,.06)}
.v3-card .v3-line{margin-top:0}
.v3-hero{padding-bottom:0}
html:not([data-font]):not([data-hero]) .v3-card .v3-line{margin-top:0}
main > section:not(.v3-hero){position:relative;z-index:4;background:var(--cream)}
@media (max-width:760px){
  .v3-hero{overflow-x:clip;overflow-y:visible;padding-bottom:28px}
  /* bigger, lower Malachite; title pinned inside his body (nose ≈ top of TRADITIONAL) */
  html:not([data-font]):not([data-hero]) .v3-cat{width:52vw;max-width:52vw}
  html:not([data-font]):not([data-hero]) .v3-word{margin-top:0}
  html:not([data-font]):not([data-hero]) .v3-word:not(.v3-word-top){top:var(--sib-top,46vw);bottom:auto;transform:none}
  html:not([data-font]):not([data-hero]):not([data-tfont]) .v3-word-top,
  html:not([data-font]):not([data-hero]) .v3-word-top{top:calc(var(--sib-top,46vw) - .82*var(--tsize) - 1.2vw)}
  .v3-ground{width:40vw;margin-left:-20vw}
}
@media (min-width:761px){.v3-card{background:transparent;border:0;box-shadow:none;padding:24px 20px 56px}}
@media (max-width:760px){.v3-hero{padding-bottom:100px}}
@media (max-width:760px){html:not([data-font]):not([data-hero]){--sib-top:31vw}}
@media (min-width:761px){.v3-hero{padding-bottom:56px}}
/* v15: card 90px lower on mobile */
@media (max-width:760px){.v3-hero{padding-bottom:190px}}
/* v16 DESKTOP: bigger Malachite, nose at the top of TRADITIONAL, opaque card he slides behind (same structure as mobile) */
@media (min-width:761px){
  html:not([data-font]):not([data-hero]) .v3-cat{height:50vw;max-height:none}
  html:not([data-font]):not([data-hero]) .v3-word:not(.v3-word-top){top:var(--sib-top-d,28vw);bottom:auto;transform:none}
  html:not([data-font]):not([data-hero]):not([data-tfont]) .v3-word-top,
  html:not([data-font]):not([data-hero]) .v3-word-top{top:calc(var(--sib-top-d,28vw) - .82*var(--tsize) - 1.2vw);bottom:auto}
  .v3-hero{overflow-x:clip;overflow-y:visible;padding-bottom:150px}
  .v3-card{background:#E9ECEF;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 -10px 24px rgba(18,20,26,.06);padding:40px 20px 46px}
  .v3-ground{width:min(36vw,520px);margin-left:calc(min(36vw,520px)/-2)}
}
@media (min-width:761px){html:not([data-font]):not([data-hero]){--sib-top-d:23.9vw} .v3-hero{padding-bottom:420px}}
/* v16: layering for pinned title + spying cat */
.v3-title{position:absolute;inset:0;z-index:5;pointer-events:none;will-change:transform}
html:not([data-hero]) .v3-cat{position:relative;z-index:6;pointer-events:none}
.v3-card{z-index:7}
main > section:not(.v3-hero):not(.v3-card){position:relative;z-index:4}
.v3-pinbar{position:fixed;left:0;right:0;top:0;height:0;z-index:5;opacity:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(238,240,242,.97) 0%,rgba(238,240,242,.94) 78%,rgba(238,240,242,0) 100%)}
.v3-title .v3-word{z-index:auto}
/* v16 layer order: content 4 < pin band 5 < title 6 < Malachite 7 < tagline card 8 < header 50 */
.v3-pinbar{z-index:5}
.v3-title{z-index:6}
html:not([data-hero]) .v3-cat{z-index:7}
main > section.v3-card{z-index:8}
/* v17 sticky card-edge band: hero gray above the docking line, the card's own colour + edge shadow below */
.v3-pinbar{background:linear-gradient(180deg,#EEF0F2 0,#EEF0F2 var(--edge,100px),#E9ECEF var(--edge,100px),#E9ECEF 100%);
  box-shadow:0 6px 14px -8px rgba(20,21,24,.35)}
.v3-pinbar::before{content:"";position:absolute;left:0;right:0;top:var(--edge,100px);height:1px;background:rgba(20,21,24,.10)}
/* v18: one persistent Malachite above the card at all times (his body below the card edge is clipped away in JS),
   and the docked edge strip above the card so the card slides UNDER the edge he peeks over. */
html:not([data-hero]) .v3-cat{z-index:10}
.v3-pinbar{z-index:9}
/* v19: the hero stage spans the full width so TRADITIONAL can bleed off both edges; Malachite sits left of centre
   so SIBERIAN has room to run out from his back. Sideways overflow is clipped at the page level. */
html,body{overflow-x:clip}
html:not([data-font]):not([data-hero]):not([data-tfont]) .v3-stage{justify-content:flex-start}
html:not([data-font]):not([data-hero]):not([data-tfont]) .v3-cat{margin-left:6vw}
@media (max-width:760px){html:not([data-font]):not([data-hero]):not([data-tfont]) .v3-cat{margin-left:1vw}}
@media (min-width:761px){html[data-cat=half] .v3-hero{padding-bottom:240px}}
/* v21: puffy, inflated letters while squeezed (driven by --puff 0→1 from parallax.js) */
.v3-title .v3-word{-webkit-text-stroke:calc(var(--puff,0) * .03em) currentColor;
  filter:drop-shadow(0 calc(var(--puff,0) * 10px) calc(var(--puff,0) * 18px) rgba(18,20,26,calc(var(--puff,0) * .35)))}
/* v22 ?pop=1: burst canvas sits under Malachite (z10) and the card; the title re-forms when scrolled back */
.v3-popfx{position:fixed;left:0;top:0;z-index:6;pointer-events:none}
.v3-title.v3-reform .v3-word{animation:v3reform .6s ease-in-out}
@keyframes v3reform{from{opacity:0;transform:scale(.6)}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.v3-popfx{display:none}.v3-title.v3-reform .v3-word{animation:none}}
/* v22: burst shards draw above the docked edge strip (9) but under Malachite */
.v3-popfx{z-index:10}
html:not([data-hero]) .v3-cat{z-index:11}
/* v23 torn pieces: above the docked strip (9) and the card (8), under Malachite (11) */
.v3-title.v3-piece{z-index:10;pointer-events:none;will-change:transform,opacity}
@media (prefers-reduced-motion:reduce){.v3-piece{display:none}}
/* torn pieces: tight shadow only, so the clip edges never show as grey panels */
.v3-title.v3-piece .v3-word{filter:none !important;text-shadow:0 2px 3px rgba(18,20,26,.30) !important}
/* v23: title stays above the docked strip (9) while it squeezes, under Malachite (11) */
html:not([data-hero]) .v3-title{z-index:10}

/* ===================== v24: site-wide restyle to match the hero =====================
   One serif (Cormorant Garamond, the wordmark/hero face) for headings, Inter for body, cool grays,
   generous space, one soft shadow recipe echoing the hero, and two quiet motifs: a short hairline before
   eyebrows and a small Malachite peeking over the footer rule (inner pages only). Hero untouched. */
:root{--v24-shadow:0 22px 44px -26px rgba(18,20,26,.42),0 3px 8px -2px rgba(18,20,26,.10);--v24-paper:#EEF0F2;--v24-band:#E8EBEE}
body{background:var(--v24-paper);color:#3A3D44}
main h1,main h2,main h3,main h4,.k-update h3{font-family:'Cormorant Garamond',Georgia,serif !important;font-weight:500;color:#141518;letter-spacing:-.005em;font-style:normal}
main h1{font-size:clamp(40px,5.4vw,68px);line-height:1.04}
main h2{font-size:clamp(30px,3.4vw,44px);line-height:1.1}
main h3{font-size:24px;line-height:1.2}
main h4{font-size:21px;line-height:1.25}
main p,main dd,main dt,main li{line-height:1.7}
main > section:not(.v3-hero):not(.v3-card){padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(64px,9vw,120px)}
.page-hero{padding-bottom:clamp(24px,4vw,48px) !important}
.page-hero .lead{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(20px,2vw,24px);font-style:italic;color:#4A4E57;max-width:34em}
/* motif 1: hairline before every eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:11px;text-transform:uppercase;color:#5E636B}
.eyebrow::before{content:"";width:28px;height:1px;background:#141518;opacity:.55}
/* images & placeholders: one soft shadow, square corners */
.tile,.l2 .img,.parent .pimg,.profile .pimg,.kitten .ph,main img:not(.v3-cat){box-shadow:var(--v24-shadow) !important;border-radius:2px !important;border:none !important}
.ph{background:linear-gradient(160deg,#E9ECEF,#DDE1E6) !important}
.ph-paw{display:none}
.ph-name{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:26px;color:#2B2D33}
.ph-note{letter-spacing:.14em;text-transform:uppercase;font-size:10px;color:#7D838D}
/* calm bands instead of boxes */
.band-ivory{background:var(--v24-band) !important;border-top:none !important}
/* kitten entries */
.kitten{gap:clamp(32px,6vw,88px) !important}
.kitten h2{margin:10px 0 4px}
.kitten .k-age{font-size:19px;color:#4A4E57}
.kitten .k-age.ready{color:#141518}
.kitten .k-age.ready::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#141518;margin:0 10px 2px 0;vertical-align:middle}
.badge{font-size:10px !important;color:#5E636B !important}
.k-ask{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:18px;color:#141518;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.facts{border-top:1px solid rgba(20,21,24,.14)}
.facts dt{color:#5E636B;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.k-plan{border-top:1px solid rgba(20,21,24,.55) !important}
.k-plan .k-price span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7D838D}
.k-plan .k-price b{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:500}
.k-plan .k-row{font-size:14px;color:#4A4E57;border-bottom-color:rgba(20,21,24,.10) !important}
.k-plan .k-row b{font-variant-numeric:tabular-nums;color:#141518}
.k-update{border-top:1px solid rgba(20,21,24,.55) !important}
.k-update h3{font-size:24px}
.k-thanks{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:22px;color:#141518}
/* buttons: quiet outline, letterspaced */
.btn{font-size:12px !important;letter-spacing:.18em !important;text-transform:uppercase;padding:14px 26px !important;border-color:rgba(20,21,24,.75) !important;background:transparent !important;color:#141518 !important;transition:background .25s,color .25s}
.btn:hover{background:#141518 !important;color:#EEF0F2 !important}
/* forms (contact) */
main input[type=text],main input[type=email],main input[type=tel],main textarea,main select,.input{background:transparent !important;border:none !important;border-bottom:1px solid rgba(20,21,24,.25) !important;border-radius:0 !important;box-shadow:none !important}
main input:focus,main textarea:focus,main select:focus{outline:none;border-bottom-color:#141518 !important}
/* pending placeholders: quiet but findable */
.pending{border:none !important;border-bottom:1px dotted #8A929C !important;color:#5A616B !important;font-size:.92em}
/* footer + motif 2: Malachite peeking over the footer rule (inner pages; the home page already has him) */
.foot2{position:relative;background:var(--v24-band) !important;border-top:1px solid rgba(20,21,24,.6) !important;margin-top:56px}
.foot2::before{content:"";position:absolute;left:50%;top:-37px;width:64px;height:36px;margin-left:-32px;
  background:url(img/malachite-cutout-icon-top.png) no-repeat center top/64px auto;filter:drop-shadow(0 2px 3px rgba(18,20,26,.18))}
body:has(.v3-hero) .foot2::before{display:none}
@media (max-width:760px){main > section:not(.v3-hero):not(.v3-card){padding-top:64px;padding-bottom:64px}.kitten .k-plan .k-price b{font-size:26px}}
/* v25: Instagram glyph in place of the word (inherits the calm gray/ink colour) */
.ig-link{display:inline-flex;align-items:center;gap:.4em;white-space:nowrap}
.ig-link .ig{width:1.05em;height:1.05em;flex:none;opacity:.85;transform:translateY(-.02em)}
.ig-link:hover .ig{opacity:1}
/* v26: official colourful Instagram glyph, ~1.5x the text size, centred on the handle */
.ig-link{gap:.5em}
.ig-link .ig.ig-color{width:1.5em;height:1.5em;opacity:1;transform:none;border-radius:.34em;box-shadow:0 1px 2px rgba(18,20,26,.12)}
/* v27: contact details are links: calm by default, a subtle underline on hover/focus */
.foot2 .reach a,main a[href^="tel:"],main a[href^="mailto:"],main a[href^="sms:"],main a[href*="instagram.com"]{color:inherit;text-decoration:none;text-underline-offset:4px;text-decoration-thickness:1px}
.foot2 .reach a:hover,.foot2 .reach a:focus-visible,main a[href^="tel:"]:hover,main a[href^="mailto:"]:hover,main a[href^="sms:"]:hover,main a[href*="instagram.com"]:hover,
main a[href^="tel:"]:focus-visible,main a[href^="mailto:"]:focus-visible,main a[href^="sms:"]:focus-visible,main a[href*="instagram.com"]:focus-visible{text-decoration:underline;text-decoration-color:rgba(20,21,24,.45)}
.sms-link{margin-left:14px;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:1.05em;color:#4A4E57 !important}
/* v28: reserved badge, k-plan placeholders, recent graduates */
.badge.reserved::before,.badge.sold::before{content:"";display:inline-block;width:5px;height:5px;border:1px solid #141518;border-radius:50%;margin-right:8px;vertical-align:middle}
.k-plan .k-price b .pending{font-family:Inter,system-ui,sans-serif;font-size:13px}
.k-plan .k-row b .pending{font-weight:400}
.grads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px);max-width:860px}
.grad .img{aspect-ratio:4/3;overflow:hidden;box-shadow:var(--v24-shadow);margin-bottom:18px}
.grad .img img{width:100%;height:100%;object-fit:cover;box-shadow:none !important}
.grad h3{margin:6px 0 2px}.grad .meta{color:#5E636B;font-size:14px}
@media (max-width:760px){.grads{grid-template-columns:1fr}}
.l3 .colors{color:#5E636B;font-size:13px;line-height:1.6;margin-top:6px}
/* v29: kitten grid, filter bar, kitten page */
.kbar{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #E3E5E9;border-bottom:1px solid #E3E5E9}
.kfilters{display:flex;flex-wrap:wrap;gap:10px;width:100%}
.kfilters input,.kfilters select{font:13px Inter,system-ui,sans-serif;color:#141518;background:#fff;border:1px solid #D9DCE1;border-radius:2px;padding:8px 10px;min-width:0}
.kfilters input{flex:1 1 200px}.kfilters select{flex:0 1 auto}
.kfbtn{display:none;font:600 11px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;background:none;border:1px solid #141518;padding:10px 16px;cursor:pointer}
.kmeta{font:13px Inter,sans-serif;color:#5E636B;margin:16px 0 22px}.kmeta a{color:#141518;margin-left:10px}
.kgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 28px}
.kc{text-decoration:none;color:inherit;display:block}.kc[hidden]{display:none}
.kimg{aspect-ratio:1;overflow:hidden;box-shadow:var(--v24-shadow);background:#E9EBEE}
.kimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s;box-shadow:none !important}
.kc:hover .kimg img{transform:scale(1.04)}
.kph{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#F4F5F7,#E3E6EA);font:11px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8A909A}
.kph.big{aspect-ratio:4/5}
/* elovite: neutral "photo coming soon" tile (no fake photo) */
.kph{flex-direction:column;gap:10px;border:1px solid #E3E6EA;text-align:center;padding:0 12px}
.kph::before{content:"";width:30px;height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA0A8' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5A1.5 1.5 0 0 1 4.5 7h2.2l1.5-2h7.6l1.5 2h2.2A1.5 1.5 0 0 1 21 8.5v9A1.5 1.5 0 0 1 19.5 19h-15A1.5 1.5 0 0 1 3 17.5z'/%3E%3Ccircle cx='12' cy='12.5' r='3.5'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.9}
.kph.big::before{width:42px;height:42px}
.kc h3{margin:14px 0 2px;font-size:22px}.ksub{font:12px Inter,sans-serif;color:#5E636B}
.kback{font:12px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#5E636B;text-decoration:none}
.kp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);margin-top:28px;align-items:start}
.kpimg img{width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:var(--v24-shadow)}.kcap{font:12px Inter,sans-serif;color:#666B73;margin-top:10px}
.kdl{display:grid;grid-template-columns:120px 1fr;margin:28px 0;font:14px Inter,sans-serif}
.kdl dt,.kdl dd{margin:0;padding:12px 0;border-top:1px solid #E3E5E9}.kdl dt{color:#5E636B;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.kdl a{color:#141518}
@media (max-width:900px){.kgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.kgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.kc h3{font-size:18px}
 .kbar{flex-direction:column;align-items:stretch}.kfbtn{display:block}.kfilters{display:none}.kbar.open .kfilters{display:flex}
 .kfilters select,.kfilters input{flex:1 1 45%}.kp{grid-template-columns:1fr}.kdl{grid-template-columns:96px 1fr}}
/* v30: mother chips */
.kmoms{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.kml{font:11px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#5E636B;margin-right:6px}
.kmom{display:inline-flex;align-items:center;gap:8px;font:13px Inter,sans-serif;color:#141518;background:#fff;border:1px solid #D9DCE1;border-radius:999px;padding:5px 14px 5px 5px;cursor:pointer;transition:border-color .2s,background .2s}
.kmom[data-m=""]{padding:7px 16px}
.kmom img{width:28px;height:28px;border-radius:50%;object-fit:cover;box-shadow:none !important}
.kmom:hover{border-color:#141518}.kmom.on{background:#141518;color:#fff;border-color:#141518}
@media (max-width:760px){.kmoms{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.kml{display:none}.kmom{flex:0 0 auto}}
@media (max-width:760px){.kmoms{gap:6px}.kmom{padding:4px 11px 4px 4px;font-size:12.5px;gap:6px}.kmom img{width:24px;height:24px}.kmom[data-m=""]{padding:6px 13px}}
/* v30b: single Filter button + pop-up panel */
.kbar2{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 26px;padding-bottom:16px;border-bottom:1px solid #E3E5E9;font:13px Inter,sans-serif}
.kfwrap{position:relative}
.kbar2 .kfbtn{display:inline-block}
.kfbtn[aria-expanded=true]{background:#141518;color:#fff}
.ksum{color:#141518}.ksum a{color:#5E636B;text-decoration:none;font-size:16px;margin-left:4px;padding:0 4px}.ksum a:hover{color:#141518}
.kcount{color:#5E636B;margin-left:auto}
.kpanel{position:absolute;z-index:30;top:calc(100% + 10px);left:0;width:380px;background:#fff;border:1px solid #E3E5E9;box-shadow:0 18px 50px rgba(20,21,24,.14);padding:20px}
.kpanel[hidden]{display:none}
.kpanel .kmoms{margin:0 0 16px;flex-wrap:wrap}.kpanel .kml{display:block;width:100%;margin:0 0 2px}
.kpanel .kfilters{display:grid !important;grid-template-columns:1fr 1fr;gap:10px}
.kpanel .kfilters input{grid-column:1/-1}
.kpfoot{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid #E3E5E9}
.kpfoot a{color:#5E636B}
.kdone{font:600 11px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;background:#141518;color:#fff;border:0;padding:10px 20px;cursor:pointer}
@media (max-width:760px){.kpanel{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:80vh;overflow:auto}
 .kpanel .kmoms{flex-wrap:wrap;overflow:visible}.kpanel .kfilters input,.kpanel .kfilters select{flex:none}}
/* v31b: Mother as a custom select matching the other fields */
.kmsel{position:relative;margin-bottom:10px}
.kmbtn{width:100%;display:flex;align-items:center;gap:10px;font:13px Inter,system-ui,sans-serif;color:#141518;background:#fff;border:1px solid #D9DCE1;border-radius:2px;padding:0 30px 0 10px;height:36px;text-align:left;cursor:pointer;position:relative}
.kmbtn::after{content:"";position:absolute;right:12px;top:50%;width:6px;height:6px;border-right:1.5px solid #141518;border-bottom:1.5px solid #141518;transform:translateY(-70%) rotate(45deg)}
.kmbtn[aria-expanded=true]{border-color:#141518}
.kmbtn .kt{width:24px;height:24px;flex:none;overflow:hidden;display:block}.kmbtn .kt img{width:100%;height:100%;object-fit:cover;box-shadow:none !important}
.kmlist{position:static;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid #D9DCE1;box-shadow:0 14px 34px rgba(20,21,24,.12)}
.kmlist[hidden]{display:none}
.kopt{display:flex;align-items:center;gap:14px;padding:6px;cursor:pointer;outline:none}
.kopt:hover,.kopt:focus{background:#F4F5F7}
.kopt .kt{width:60px;height:60px;flex:none;overflow:hidden;display:flex}.kopt .kt img{width:100%;height:100%;object-fit:cover;box-shadow:none !important}
.kopt .kall,.kmbtn .kall{align-items:center;justify-content:center;background:linear-gradient(160deg,#F4F5F7,#E3E6EA);font:italic 500 18px "Cormorant Garamond",serif;color:#5E636B}
.kopt .kn{font:500 20px "Cormorant Garamond",serif;color:#141518;flex:1}
.kopt.on .kn::after{content:"✓";font:13px Inter,sans-serif;float:right;margin-right:8px;color:#141518}
.kpanel .kfilters select,.kpanel .kfilters input{height:36px}
@media (max-width:760px){.kopt .kt{width:56px;height:56px}}
.kmbtn #kmval{display:flex;align-items:center;gap:10px}.kpanel{width:400px}@media (max-width:760px){.kpanel{width:auto}}
.kmlist .kopt{border:0;border-radius:0;background:none;font:inherit}.kmlist .kopt.on{background:#F4F5F7;color:#141518}.kmlist .kopt:hover{background:#F4F5F7}
.kmlist .kopt,.kmlist .kopt[data-m=""]{padding:6px}
/* v32 */
.grads{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
.grad .kph-wrap{display:block}
@media (max-width:760px){.grads{grid-template-columns:1fr}}
.grad .kph-wrap{text-decoration:none}

/* ---- v2 launch "ready changes" ---- */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 1px 1px);clip-path:inset(50%);white-space:nowrap;border:0}
/* CLS: reserve space for JS-rendered content so the footer starts below the fold (856px = shortest real kitten page) */
main:has(#kpage),main:has(#kgrid){min-height:850px}
/* heading-order fixes keep the old look */
main h3.as-h4{font-size:21px;line-height:1.25}
.plain-steps h3.as-h4{font-size:24px;margin-bottom:8px}
main h2.as-h4{font-size:21px;line-height:1.25}
.why h2.as-h4{font-size:26px;margin-bottom:10px}
main h2.as-h3{font-size:24px;line-height:1.2}
.visit2 h2.as-h3{font-size:30px;margin-bottom:12px}
.form h2.as-h3{font-size:34px}
/* links that were <a href="#"> are now buttons: same look */
.linkbtn{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.ksum .linkbtn{color:#5E636B;text-decoration:none;font-size:16px;margin-left:4px;padding:0 4px}.ksum .linkbtn:hover{color:#141518}
.kpfoot .linkbtn{color:#5E636B}
.kmeta .linkbtn{color:#141518;margin-left:10px}
.linkbtn:focus-visible,.choice:has(input:focus-visible),.opt:has(input:focus-visible){outline:2px solid #141518;outline-offset:2px}
/* real contact form (v2) */
.form fieldset{border:0;padding:0;margin:16px 0 0;min-width:0}
.form legend{font-size:13.5px;font-weight:600;color:var(--ink);padding:0;margin-bottom:8px}
.form legend i,.field label i{font-style:normal;color:var(--muted);font-weight:400}
.req{color:#141518;margin-left:2px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{width:100%;font:15px var(--sans);color:#141518;padding:13px 0}
.form ::placeholder{color:var(--muted);opacity:1}
.form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#5E636B 50%),linear-gradient(135deg,#5E636B 50%,transparent 50%)!important;background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%!important;background-size:5px 5px!important;background-repeat:no-repeat!important;padding-right:24px}
.choice{cursor:pointer;position:relative}
.choice input,.opt input.vh{position:absolute;opacity:0}
.choice:has(input:checked){border-color:var(--forest-2)}
.choice:has(input:checked) .r{border-color:var(--forest-2);background:radial-gradient(var(--forest-2) 45%,transparent 50%)}
.opts{display:flex;flex-wrap:wrap;gap:8px 22px}
.opt{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;color:var(--ink-2);cursor:pointer}
.opt input{accent-color:#141518;width:16px;height:16px;margin:0}
.form .check{cursor:pointer}.form .check input{accent-color:#141518;width:18px;height:18px;margin:2px 0 0;flex:none}
.form-note{font-size:13px;color:var(--muted);margin-top:14px}
.form-status{font-size:14px;color:#141518;margin-top:12px}

/* adoption: "How Adoption Works" steps on available.html#how (static, no JS, no images = no layout shift) */
.adopt-intro{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2vw,23px);color:#373A40;max-width:36em;margin:0 0 56px}
.adopt-steps{list-style:none;padding:0;margin:0 0 56px;counter-reset:as;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 72px}
.adopt-steps>li{counter-increment:as;border-top:1px solid #D2D6DB;padding-top:22px}
.adopt-steps>li::before{content:counter(as,decimal-leading-zero);display:block;font-family:var(--serif);font-size:30px;line-height:1;color:#5E636B;margin-bottom:14px}
.adopt-steps h3{font-family:var(--serif);font-weight:500;font-size:clamp(23px,2.2vw,27px);line-height:1.2;margin:0 0 12px;color:#141518}
.adopt-steps p,.adopt-steps ul{font-size:15.5px;line-height:1.7;color:#373A40;margin:0 0 10px;max-width:36em}
.adopt-steps ul{padding-left:1.1em}.adopt-steps ul li{margin-bottom:6px}
.adopt-steps strong{font-weight:600;color:#141518}.adopt-steps em{color:#4A4E57}
.adopt-contact{font-size:15px;color:#373A40;max-width:44em;margin:0 0 88px;padding-top:22px;border-top:1px solid #D2D6DB}
.adopt-contact a{color:#141518;text-underline-offset:3px}
@media (max-width:760px){.adopt-steps{grid-template-columns:1fr;gap:36px}.adopt-intro{margin-bottom:40px}.adopt-contact{margin-bottom:64px}}

/* reconcile: state line on available.html is an h2 that keeps the old h1 look (H1 is visually hidden for SEO) */
.v2 .page-hero h2.as-h1{font-size:64px;margin:14px 0 18px;line-height:1.04}
main h2.as-h1{font-size:clamp(40px,5.4vw,68px);line-height:1.04}
@media (max-width:760px){.v2 .page-hero h2.as-h1{font-size:44px}}
.adopt-faq{max-width:44em;margin:0 0 88px;padding-top:22px;border-top:1px solid #D2D6DB}
.adopt-faq h3{font-family:var(--serif);font-weight:500;font-size:clamp(23px,2.2vw,27px);line-height:1.2;margin:0 0 10px;color:#141518}
.adopt-faq p{font-size:15.5px;line-height:1.7;color:#373A40;margin:0}
.adopt-contact{margin-bottom:56px}
/* household questionnaire */
.form fieldset.household{margin-top:28px;padding-top:20px;border-top:1px solid #D2D6DB}
.form fieldset.household>legend{font-family:var(--serif);font-size:22px;font-weight:500;float:left;width:100%;margin-bottom:4px}
.form fieldset.household>legend+*{clear:both}
.household .field{margin-top:14px}
.household .hint{display:block;font-size:13px;color:#5E636B;margin:2px 0 6px}

/* perf/a11y: mock-up tag text #686C74 on #EEF0F2 = 4.61:1 (was 4.48) */
.mock-tag{color:#686C74}

/* staged: visible home H1 */
.v3-hero .home-h1{font-family:var(--serif);font-size:clamp(26px,3.2vw,40px);font-weight:600;text-align:center;margin:18px auto 0;position:relative;z-index:2}
/* questions.html: readable column + source refs */
.qa{max-width:760px}.qa ul,.qa ol{padding-left:1.2em;line-height:1.7}.qa li{margin:6px 0}.qa a.src{font-size:.85em;color:inherit;opacity:.7}
/* Oct 22 layout fixes: footer nav on one line at desktop (after "Questions" was added); calmer home H1 on mobile */
@media (min-width:901px){.foot2 nav{flex-wrap:nowrap;white-space:nowrap;gap:22px;flex-shrink:0}.foot2 nav a{white-space:nowrap}}
@media (max-width:900px){.foot2 nav{white-space:normal;flex-wrap:wrap;gap:12px 20px}.foot2 nav a{white-space:nowrap}}
@media (max-width:600px){.v3-hero .home-h1{font-size:21px;line-height:1.25;margin:22px auto 18px;padding:0 12px;max-width:none;text-wrap:balance}}

/* e2e fix: mock-up tag contrast ≥4.5:1 at 9px (WCAG AA) */
.mock-tag{color:#4F535A;opacity:1}
/* Mobile: stack home CTA pair full-width; labels never wrap */
@media (max-width:760px){.v3-card .v3-link{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:0 20px}.v3-card .v3-link a{white-space:nowrap;justify-content:center;text-align:center}}
/* CLS: hero words hidden until their web font is ready (class set in <head>, removed by parallax.js, max 2.5s) */
html.hero-fp .v3-title{visibility:hidden}
/* hero-space: drop the empty band under Malachite (was 190px mobile / 420px desktop). The squash/peek motion is
   transform-only (parallax.js measures the card position live), so it simply overlaps the card; keep room for the floor shadow only. */
/* hero gap fix: the card now meets the cutout. The PNG has ~1% transparent padding at the bottom (alpha>32 ends at row 1188/1200),
   so a small negative margin hides that, and the padding is trimmed to just clear the floor shadow. */
@media (max-width:760px){.v3-hero{padding-bottom:6px}}
@media (min-width:761px){.v3-hero{padding-bottom:10px}}
html:not([data-hero]) .v3-cat{margin-bottom:-1%}
/* calmer hero motion: smooth transform easing; static for reduced motion */
@media (prefers-reduced-motion:reduce){.v3-cat,.v3-title,.v3-ground{transform:none !important;transition:none !important;animation:none !important}}

/* Melita Oct 22: hide visible home H1, keep for search engines */
.v3-hero .home-h1{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Oct 22 hero CTAs: buttons first (right under Malachite), location line below; "Available kittens" = quiet secondary button */
.v3-card .v3-cta{margin:0 0 22px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px}
.v3-card .v3-cta a{min-height:50px;box-sizing:border-box}
.v3-card .v3-cta a.v3-btn2{display:inline-flex;align-items:center;justify-content:center;padding:0 24px;line-height:1.2;font-family:var(--serif);font-style:italic;font-size:19px;color:#3A3D44;text-decoration:none;
  border:1px solid rgba(20,21,24,.22);background:rgba(255,255,255,.35);border-radius:2px;transition:background .2s,border-color .2s}
.v3-card .v3-cta a.v3-btn2:hover{background:rgba(255,255,255,.7);border-color:rgba(20,21,24,.45)}
.v3-card .v3-cta a:focus-visible{outline:2px solid #141518;outline-offset:3px}
@media (max-width:760px){.v3-card .v3-cta{flex-direction:column;align-items:stretch;gap:12px;padding:0 20px}.v3-card .v3-cta a{justify-content:center;text-align:center;white-space:nowrap}}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
/* address line under the hero is now the page H1 (Oct 24) */
.v3-card h1.v3-line{font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin:0;max-width:none}
@media (max-width:760px){.v3-card h1.v3-line{font-size:13px;letter-spacing:.14em;padding:0 20px}}
.foot2 .top .brand-sub{white-space:nowrap}

/* ===== Oct 24 review fixes ===== */
/* Home H1: address only, white letters over the card */
.v3-card h1.v3-line.v3-addr{color:#fff;font-weight:600;text-shadow:0 0 1px rgba(20,21,24,.9),0 1px 2px rgba(20,21,24,.7),0 2px 8px rgba(20,21,24,.3);overflow-wrap:break-word;text-wrap:balance;max-width:100%}
@media (max-width:760px){.v3-card h1.v3-line.v3-addr{font-size:15px;letter-spacing:.16em;line-height:1.5;padding:0 16px}}
/* Mobile menu is a real button now */
button.menu-btn{font:inherit;font-size:20px;line-height:1;color:var(--ink,#141518);cursor:pointer;-webkit-appearance:none;appearance:none}
.mnav.open{display:flex}
@media (min-width:761px){.mnav.open{display:none}}
/* Global focus cue */
:focus-visible{outline:2px solid #141518;outline-offset:2px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #141518;outline-offset:2px}
/* Skip link */
.skip-link{position:absolute;left:8px;top:-60px;z-index:1000;background:#141518;color:#fff;padding:10px 16px;font:600 14px Inter,system-ui,sans-serif;text-decoration:none}
.skip-link:focus{top:8px}
main:focus{outline:none}
/* Contact form: hidden waiting-list questions */
[data-wl][hidden]{display:none!important}
/* Contrast: small grey labels */
.k-plan .k-price span,.ph-note{color:#5F656E}
/* Tap targets */
.foot2 nav a,.foot2 .reach a{display:inline-block;padding-top:8px;padding-bottom:8px}
.nav a{padding-top:8px;padding-bottom:8px}
#sources a,.sources a{display:inline-block;padding:4px 0}
.v3-card .v3-cta .btn{font-size:15px;min-height:44px}

/* contact: single-column form, compact details below */
.contact1{display:block;max-width:820px}
.contact1 .form{width:100%}
.cinfo{margin-top:28px;text-align:center;font-size:14px;color:var(--muted)}
.cline{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 22px}
.cline a{color:var(--forest)}
.cvisit{margin:8px auto 0;max-width:620px;font-size:13px}

.cost-table{border-collapse:collapse;width:100%;max-width:760px;margin:0 0 12px}.cost-table th,.cost-table td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.12);vertical-align:top}.cost-table th{font-weight:600}
.ask-form{display:flex;flex-direction:column;gap:6px}.ask-form input{font:inherit;padding:12px 14px;border:1px solid rgba(0,0,0,.25);border-radius:10px;width:100%;box-sizing:border-box}.ask-form input:focus{outline:2px solid currentColor;outline-offset:2px}.ask-list{list-style:none;padding:0!important;margin:14px 0 0}.ask-list li{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.1)}.ask-list p{margin:4px 0 0}.nav .ask-link{white-space:nowrap}
.quick-toggle{margin:18px 0 0}
.forms #form{margin-top:40px}
[id],section,h1,h2,h3,h4{scroll-margin-top:96px}

/* Ask search (Oct 24) */
.ask-form{display:flex;flex-direction:column;gap:8px;width:100%}
.ask-form label{display:block;margin:0}
.ask-form input{display:block;width:100%;box-sizing:border-box;font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;line-height:1.3;padding:14px 18px;border:1px solid rgba(0,0,0,.3);border-radius:12px;background:#fff;color:#141518;-webkit-appearance:none;appearance:none}
.ask-form input::placeholder{color:#5b5f66;opacity:1;font-style:italic}
.ask-form .hint{display:block;font-size:13px;color:#5b5f66}
#ask-results{min-height:0;margin:0;padding:0}#ask-results:empty{display:none}
#ask-results .ask-list{margin:12px 0 0}
#ask-results .ask-list li:last-child{border-bottom:0;padding-bottom:0}
#ask{padding-bottom:24px}
