/*
Theme Name: Kıbrıs Psikoloji Blocks
Theme URI: https://kibrispsikoloji.com/
Author: Kıbrıs Psikoloji
Description: Editorial interactive block theme for Kıbrıs Psikoloji: finished editable Gutenberg pages, certificate management, immersive homepage, native forms, content discovery, SEO controls and structured data.
Version: 42.0.0
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.1
Text Domain: kibris-psikoloji
*/

:root { --kp-shadow: 0 18px 60px rgba(36,69,66,.08); --kp-shadow-soft: 0 12px 40px rgba(36,69,66,.055); }
html { scroll-behavior:smooth; }
body { text-rendering:optimizeLegibility; }
::selection { background:#d3e7de; color:#0b2f2c; }

.kp-skip-link { position:fixed; left:1rem; top:-5rem; z-index:9999; background:#0b2f2c; color:white!important; padding:.65rem 1rem; border-radius:8px; }
.kp-skip-link:focus { top:1rem; }
.kp-site-header { position:sticky; top:0; z-index:50; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.kp-site-header .wp-block-site-logo img { display:block; }
.kp-brand-lockup { gap:.65rem!important; }
.kp-header-actions { gap:1rem!important; }
.kp-site-header .wp-block-navigation-item__content { padding:.45rem .25rem; }
.kp-site-header .wp-block-navigation__submenu-container { border:1px solid rgba(36,69,66,.1)!important; border-radius:14px!important; box-shadow:var(--kp-shadow-soft); padding:.55rem!important; background:#fffdfc!important; }
.kp-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding:.55rem .7rem!important; border-radius:8px; }
.kp-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background:#e5ece5; }

.kp-home-hero { overflow:hidden; position:relative; }
.kp-home-hero:after { content:""; position:absolute; width:24rem; height:24rem; border-radius:50%; right:-10rem; top:8%; background:radial-gradient(circle,rgba(151,170,162,.2),transparent 68%); pointer-events:none; }
.kp-hero-media { position:relative; }
.kp-hero-portrait img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:2rem; box-shadow:var(--kp-shadow); }
.kp-portrait-card { position:absolute; left:-1.25rem; bottom:1.25rem; width:min(230px,70%); box-shadow:var(--kp-shadow-soft); }
.kp-hero-trust { border-top:1px solid rgba(36,69,66,.10); padding-top:1.25rem; }
.kp-hero-trust p { margin:0; }
.kp-hero-trust span { color:var(--wp--preset--color--muted); }

.kp-editorial-photo img,.kp-about-main-photo img,.kp-online-photo img { width:100%; height:100%; object-fit:cover; border-radius:1.5rem; }
.kp-editorial-photo img { aspect-ratio:4/5; }
.kp-about-main-photo img { aspect-ratio:4/5; box-shadow:var(--kp-shadow); }
.kp-online-photo img { aspect-ratio:4/5; box-shadow:var(--kp-shadow-soft); }
.kp-editorial-photo--about img { aspect-ratio:5/6; }

.kp-card { transition:transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease; }
.kp-card:hover { transform:translateY(-3px); box-shadow:0 16px 44px rgba(36,69,66,.06); border-color:rgba(36,69,66,.2)!important; }
.kp-service-grid { gap:1rem!important; }
.kp-service-card { min-height:250px; display:flex; flex-direction:column; }
.kp-service-card .kp-card-link { margin-top:auto; padding-top:1rem; }
.kp-service-card .kp-card-link a:after { content:""; position:absolute; }

.kp-eyebrow { letter-spacing:.11em; text-transform:uppercase; font-weight:700; }
.kp-section-heading > .wp-block-group { max-width:760px; }
.kp-chip-row { gap:.55rem!important; margin:1.5rem 0!important; }
.kp-chip-row p,.kp-category-chips p { margin:0; padding:.45rem .8rem; border-radius:999px; background:#e5ece5; color:#244542; font-size:.78rem; font-weight:600; }
.kp-category-chips { gap:.55rem!important; margin-top:2rem!important; }
.kp-category-chips p { background:#fffdfc; border:1px solid rgba(36,69,66,.12); }
.kp-category-chips a { color:inherit; }
.kp-editorial-quote { border-left:0; margin:2rem 0 0; padding:1.5rem 0 0; border-top:1px solid rgba(36,69,66,.14); }
.kp-editorial-quote p { font-family:var(--wp--preset--font-family--editorial); font-size:clamp(1.4rem,3vw,2rem); line-height:1.25; color:#244542; }
.kp-feature-number { font-family:var(--wp--preset--font-family--editorial); font-size:2.1rem; color:var(--wp--preset--color--eucalyptus); margin-bottom:.5rem; }
.kp-mini-process .wp-block-column { border-top:1px solid rgba(36,69,66,.14); padding-top:1.5rem; }
.kp-service-panel { min-height:100%; }
.kp-service-panel ul { padding-left:1.25rem; }
.kp-service-panel li + li { margin-top:.55rem; }

.kp-query-card { height:100%; min-height:290px; display:flex; flex-direction:column; }
.kp-query-card .wp-block-post-excerpt { flex:1; }
.kp-query-card .wp-block-post-title a { color:inherit; }
.kp-query-card .wp-block-post-title a:hover { color:#0b2f2c; }
.kp-query-card .wp-block-post-terms a { text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.kp-articles-query .wp-block-post-template { gap:1rem; }
.kp-articles-query .wp-block-query-pagination { margin-top:2.5rem; }

.wp-block-details { border-bottom:1px solid rgba(36,69,66,.12); padding:1rem 0; }
.wp-block-details summary { cursor:pointer; font-weight:600; color:#244542; }
.wp-block-details[open] summary { margin-bottom:.6rem; }

.kp-page-hero { overflow:hidden; }
.kp-page-hero > .wp-block-heading,.kp-page-hero > p { max-width:960px; margin-left:auto; margin-right:auto; }
.kp-contact-card { margin-top:2rem; }
.kp-contact-card p { margin:.45rem 0; }

.kp-site-footer a { color:#fffdfc; }
.kp-site-footer .wp-block-navigation-item__content { opacity:.8; }
.kp-site-footer .wp-block-navigation-item__content:hover { opacity:1; }
.kp-site-footer .wp-block-site-logo img { filter:brightness(0) invert(1); opacity:.92; }

.wp-block-button.is-style-outline .wp-block-button__link { color:#244542; border-color:rgba(36,69,66,.3); background:transparent; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background:#e5ece5; border-color:#244542; }

.single .wp-block-post-content > p,.single .wp-block-post-content > ul,.single .wp-block-post-content > ol { max-width:760px; }
.single .wp-block-post-content > h2,.single .wp-block-post-content > h3 { margin-top:2em; }

@media (max-width: 1000px) {
  .kp-header-cta { display:none!important; }
  .kp-site-header .wp-block-navigation__responsive-container-open { display:flex; }
}
@media (max-width: 781px) {
  .kp-portrait-card { position:relative; left:auto; bottom:auto; width:auto; margin:-2rem 1rem 0!important; }
  .kp-hero-portrait img { aspect-ratio:5/6; }
  .kp-service-card { min-height:0; }
  .kp-page-hero { text-align:left; }
  .kp-category-chips { justify-content:flex-start!important; }
  .kp-site-header .wp-block-site-title { font-size:1.18rem!important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .kp-card { transition:none; } }


/* v5 — native Gutenberg style library */
.is-style-kp-soft-card {
  background:#FFFDFC;
  border:1px solid rgba(36,69,66,.10);
  border-radius:24px;
  padding:clamp(1.25rem,3vw,2rem);
  box-shadow:var(--kp-shadow-soft);
}
.is-style-kp-outline-card {
  background:transparent;
  border:1px solid rgba(36,69,66,.18);
  border-radius:24px;
  padding:clamp(1.25rem,3vw,2rem);
}
.is-style-kp-dark-panel {
  background:#0B2F2C;
  color:#FFFDFC;
  border-radius:28px;
  padding:clamp(1.5rem,4vw,3.25rem);
  overflow:hidden;
}
.is-style-kp-dark-panel h1,
.is-style-kp-dark-panel h2,
.is-style-kp-dark-panel h3,
.is-style-kp-dark-panel h4,
.is-style-kp-dark-panel a { color:#FFFDFC; }
.is-style-kp-dark-panel .has-muted-color { color:#c6d2ce!important; }
.is-style-kp-glass-panel {
  background:rgba(255,253,252,.76);
  border:1px solid rgba(36,69,66,.12);
  border-radius:24px;
  padding:clamp(1.25rem,3vw,2rem);
  box-shadow:0 16px 60px rgba(36,69,66,.07);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.wp-block-image.is-style-kp-editorial-frame img {
  border-radius:24px;
  box-shadow:var(--kp-shadow-soft);
}
.wp-block-image.is-style-kp-organic-frame img {
  border-radius:34% 66% 44% 56% / 38% 35% 65% 62%;
  box-shadow:var(--kp-shadow-soft);
}
.wp-block-quote.is-style-kp-editorial {
  border:0;
  border-top:1px solid rgba(36,69,66,.16);
  border-bottom:1px solid rgba(36,69,66,.16);
  padding:1.5rem 0;
  margin:2rem 0;
}
.wp-block-quote.is-style-kp-editorial p {
  font-family:var(--wp--preset--font-family--editorial);
  font-size:clamp(1.45rem,3vw,2.2rem);
  line-height:1.25;
  color:#244542;
}
ul.is-style-kp-check-list { list-style:none; padding-left:0; }
ul.is-style-kp-check-list li { position:relative; padding-left:1.75rem; }
ul.is-style-kp-check-list li + li { margin-top:.7rem; }
ul.is-style-kp-check-list li:before {
  content:"✓";
  position:absolute;
  left:0;
  top:.02em;
  width:1.25rem;
  height:1.25rem;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#E5ECE5;
  color:#244542;
  font-size:.78rem;
  font-weight:700;
}
.kp-pattern-split .wp-block-image img { min-height:360px; object-fit:cover; }
.kp-pattern-number { font-family:var(--wp--preset--font-family--editorial); font-size:3rem; line-height:1; color:#97AAA2; margin:0; }
.kp-pattern-band { position:relative; overflow:hidden; }
.kp-pattern-band:before { content:""; position:absolute; inset:auto -8rem -10rem auto; width:24rem; height:24rem; border-radius:50%; background:rgba(151,170,162,.13); pointer-events:none; }
.kp-stat-value { font-family:var(--wp--preset--font-family--editorial); font-size:clamp(2rem,4vw,3.5rem); line-height:1; color:#244542; margin-bottom:.35rem; }
.kp-resource-card { height:100%; }
.kp-mini-cta { border-top:1px solid rgba(36,69,66,.12); border-bottom:1px solid rgba(36,69,66,.12); }

/* v6 — premium frontend refinement */
:root {
  --kp-shadow-float: 0 22px 70px rgba(11,47,44,.12);
  --kp-line: rgba(36,69,66,.11);
  --kp-glow: rgba(151,170,162,.18);
}
body { overflow-x:hidden; }
body:before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 88% 10%, rgba(151,170,162,.10), transparent 23rem),
    radial-gradient(circle at 6% 58%, rgba(234,219,215,.10), transparent 24rem);
}

/* Header */
.kp-site-header { transition:background-color .22s ease, box-shadow .22s ease, padding .22s ease; }
.kp-site-header.kp-is-scrolled { background:rgba(250,248,244,.97)!important; box-shadow:0 10px 34px rgba(36,69,66,.055); }
.kp-header-inner { min-height:54px; }
.kp-brand-lockup .wp-block-site-title { font-family:var(--wp--preset--font-family--editorial); font-size:1.28rem; letter-spacing:-.015em; white-space:nowrap; }
.kp-brand-lockup .wp-block-site-title a { color:#244542; }
.kp-main-navigation { font-size:.87rem; font-weight:600; }
.kp-main-navigation .wp-block-navigation-item__content { position:relative; color:#344340; }
.kp-main-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:after {
  content:""; position:absolute; left:.25rem; right:.25rem; bottom:.2rem; height:1px; background:#244542;
  transform:scaleX(0); transform-origin:right; transition:transform .22s ease;
}
.kp-main-navigation > .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content:after,
.kp-main-navigation > .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content:after { transform:scaleX(1); transform-origin:left; }
.kp-header-cta .wp-block-button__link { min-height:44px; display:flex; align-items:center; padding:.7rem 1.15rem; font-size:.84rem; }
.kp-site-header .wp-block-navigation__submenu-container { min-width:255px!important; padding:.65rem!important; }

/* Hero */
.kp-home-hero--v6:before {
  content:"Ψ"; position:absolute; right:1.5vw; top:3rem; font-family:var(--wp--preset--font-family--editorial);
  font-size:clamp(12rem,27vw,28rem); line-height:.8; color:rgba(151,170,162,.055); pointer-events:none;
}
.kp-home-hero--v6:after { width:34rem; height:34rem; right:-14rem; top:18%; background:radial-gradient(circle,rgba(221,232,234,.42),transparent 68%); }
.kp-hero-kicker { gap:.6rem!important; }
.kp-hero-kicker p { margin:0; }
.kp-kicker-dot { width:.55rem; height:.55rem; border-radius:50%; background:#97AAA2; box-shadow:0 0 0 5px rgba(151,170,162,.12); flex:0 0 auto; }
.kp-hero-title { max-width:12.5ch; letter-spacing:-.035em; }
.kp-hero-title em { color:#50625b; font-weight:400; }
.kp-hero-lede { max-width:620px; }
.kp-hero-buttons { margin-top:1.7rem!important; gap:.7rem!important; }
.kp-hero-media--editorial { isolation:isolate; padding:clamp(.75rem,2vw,1.2rem); }
.kp-hero-portrait { position:relative; z-index:2; margin:0!important; }
.kp-hero-portrait img { aspect-ratio:4/5; border-radius:42% 42% 28px 28px; box-shadow:var(--kp-shadow-float); }
.kp-hero-orbit { position:absolute; border:1px solid rgba(36,69,66,.12); border-radius:50%; z-index:0; }
.kp-hero-orbit--one { width:78%; aspect-ratio:1; right:-6%; top:-5%; }
.kp-hero-orbit--two { width:56%; aspect-ratio:1; left:-7%; bottom:-2%; border-color:rgba(234,219,215,.85); }
.kp-portrait-card { z-index:4; left:-1.35rem; bottom:2rem; width:min(245px,74%); box-shadow:var(--kp-shadow-float); }
.kp-portrait-card p { margin:.1rem 0; }
.kp-hero-note { position:absolute; z-index:5; top:1.5rem; right:-1.6rem; gap:.55rem!important; box-shadow:0 12px 36px rgba(36,69,66,.08); }
.kp-hero-note p { margin:0; }
.kp-status-dot { width:.52rem; height:.52rem; border-radius:50%; background:#244542; box-shadow:0 0 0 4px rgba(36,69,66,.09); }
.kp-hero-trust { gap:0!important; }
.kp-hero-trust .wp-block-column { padding-right:1rem; }
.kp-hero-trust .wp-block-column + .wp-block-column { border-left:1px solid var(--kp-line); padding-left:1rem; }
.kp-trust-item strong { color:#244542; font-size:.78rem; letter-spacing:.025em; }

/* Section rhythm */
.kp-section-heading--split { gap:2rem!important; }
.kp-section-link a { font-weight:600; border-bottom:1px solid rgba(36,69,66,.25); padding-bottom:.22rem; }
.kp-services-section,.kp-latest-posts,.kp-process-section { position:relative; }

/* Services */
.kp-service-grid--editorial { align-items:stretch; }
.kp-service-card--v6 { min-height:335px; overflow:hidden; position:relative; }
.kp-service-card--v6:before { content:""; position:absolute; width:9rem; height:9rem; border-radius:50%; right:-4rem; top:-4rem; background:rgba(151,170,162,.08); transition:transform .3s ease; }
.kp-service-card--v6:hover:before { transform:scale(1.35); }
.kp-service-card-head { margin-bottom:2rem!important; }
.kp-service-number { margin:0; font-family:var(--wp--preset--font-family--editorial); font-size:1.35rem; }
.kp-service-arrow { display:grid; place-items:center; width:2.15rem; height:2.15rem; border:1px solid var(--kp-line); border-radius:50%; color:#244542; transition:transform .22s ease, background .22s ease; }
.kp-service-card--v6:hover .kp-service-arrow { transform:translate(2px,-2px); background:#E5ECE5; }
.kp-service-tagline { font-weight:600; }
.kp-service-card--v6 .kp-card-link a { font-weight:600; }

/* Trust */
.kp-trust-band { position:relative; overflow:hidden; }
.kp-trust-band:before { content:""; position:absolute; width:34rem; height:34rem; border-radius:50%; left:-17rem; bottom:-20rem; border:1px solid rgba(36,69,66,.08); }
.kp-trust-grid { border-top:1px solid rgba(36,69,66,.14); }
.kp-trust-principle { padding:2rem clamp(1.2rem,2.5vw,2.4rem) 0; }
.kp-trust-principle:first-child { padding-left:0; }
.kp-trust-principle + .kp-trust-principle { border-left:1px solid rgba(36,69,66,.12); }
.kp-principle-index { color:#718a82; font-size:.75rem; letter-spacing:.1em; font-weight:700; }

/* Process */
.kp-process-intro { max-width:360px; }
.kp-process-timeline { position:relative; }
.kp-process-timeline:before { content:""; position:absolute; left:0; right:0; top:.48rem; height:1px; background:linear-gradient(90deg,#97AAA2 0%,rgba(151,170,162,.25) 100%); }
.kp-process-step { position:relative; padding:2.25rem 2rem 0 0; }
.kp-process-step + .kp-process-step { padding-left:1.5rem; }
.kp-process-dot { position:absolute; top:0; left:0; width:.95rem; height:.95rem; border-radius:50%; background:#FAF8F4; border:3px solid #97AAA2; box-shadow:0 0 0 6px #FAF8F4; }
.kp-process-step + .kp-process-step .kp-process-dot { left:1.5rem; }
.kp-process-index { color:#97AAA2; font-family:var(--wp--preset--font-family--editorial); font-size:2rem; margin:.25rem 0 .8rem; }
.kp-process-note { box-shadow:var(--kp-shadow-soft); }
.kp-process-note p { margin:.1rem 0; }

/* Online */
.kp-online-band { position:relative; overflow:hidden; }
.kp-online-band:after { content:""; position:absolute; right:-12rem; top:-13rem; width:32rem; height:32rem; border:1px solid rgba(36,69,66,.08); border-radius:50%; }
.kp-online-points { border-top:1px solid rgba(36,69,66,.14); padding-top:1.5rem; }
.kp-online-points p { margin:.25rem 0 1.15rem; }
.kp-online-points span { color:#6F7E79; font-size:.88rem; }
.kp-online-visual { position:relative; padding:.7rem; }
.kp-online-photo img { aspect-ratio:5/6; border-radius:30px 30px 42% 42%; }
.kp-online-float { position:absolute; left:-1.2rem; bottom:2rem; width:min(235px,72%); box-shadow:var(--kp-shadow-float); }
.kp-online-float p { margin:0; }

/* Blog */
.kp-query-card--visual { padding:0!important; overflow:hidden; min-height:100%; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.kp-query-card--visual:hover { transform:translateY(-4px); box-shadow:0 22px 55px rgba(36,69,66,.075); border-color:rgba(36,69,66,.18)!important; }
.kp-query-image { overflow:hidden; margin:0!important; }
.kp-query-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.kp-query-card--visual:hover .kp-query-image img { transform:scale(1.025); }
.kp-query-card__body { min-height:270px; display:flex; flex-direction:column; }
.kp-query-card__body .wp-block-post-excerpt { flex:1; }
.kp-post-meta { color:#6F7E79; gap:.8rem!important; padding-top:1rem; border-top:1px solid var(--kp-line); }
.kp-post-meta > * + *:before { content:"·"; margin-right:.8rem; }
.kp-category-chips p { transition:background .2s ease, border-color .2s ease, transform .2s ease; }
.kp-category-chips p:hover { background:#E5ECE5; border-color:rgba(36,69,66,.24); transform:translateY(-1px); }

/* CTA + footer */
.kp-cta--premium { position:relative; overflow:hidden; }
.kp-cta--premium:before,.kp-cta--premium:after { content:""; position:absolute; border:1px solid rgba(255,253,252,.09); border-radius:50%; pointer-events:none; }
.kp-cta--premium:before { width:30rem; height:30rem; right:-13rem; top:-18rem; }
.kp-cta--premium:after { width:20rem; height:20rem; right:4rem; bottom:-15rem; }
.kp-cta-inner { gap:2rem!important; }
.kp-outline-light .wp-block-button__link { color:#FFFDFC!important; border-color:rgba(255,253,252,.35)!important; }
.kp-outline-light .wp-block-button__link:hover { background:rgba(255,253,252,.08)!important; border-color:#FFFDFC!important; }
.kp-site-footer { position:relative; overflow:hidden; }
.kp-site-footer:after { content:"Ψ"; position:absolute; right:-1rem; bottom:-5rem; font-family:var(--wp--preset--font-family--editorial); font-size:20rem; line-height:1; color:rgba(255,255,255,.025); pointer-events:none; }
.kp-footer-top { gap:2.5rem!important; }
.kp-footer-intro { max-width:620px; margin-left:0!important; }
.kp-footer-intro h2 { max-width:17ch; }
.kp-footer-rule { opacity:.2; margin-top:3rem!important; margin-bottom:3rem!important; }
.kp-footer-links { list-style:none; padding:0; margin:0; }
.kp-footer-links li + li { margin-top:.55rem; }
.kp-footer-links a { opacity:.72; font-size:.9rem; }
.kp-footer-links a:hover { opacity:1; }
.kp-footer-bottom { margin-top:3rem!important; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.08); gap:1rem!important; }
.kp-footer-bottom p { margin:0; }

/* Buttons and focus */
.wp-element-button { transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.wp-element-button:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(36,69,66,.10); }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:2px solid #244542; outline-offset:4px; }

@media (max-width: 1100px) {
  .kp-main-navigation { font-size:.82rem; }
  .kp-header-actions { gap:.6rem!important; }
  .kp-header-cta { display:none!important; }
  .kp-hero-note { right:0; }
  .kp-service-grid--editorial { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width: 781px) {
  .kp-site-header { padding-top:.35rem!important; padding-bottom:.35rem!important; }
  .kp-header-inner { min-height:52px; }
  .kp-site-header .wp-block-site-logo img { width:42px!important; }
  .kp-brand-lockup .wp-block-site-title { font-size:1.08rem!important; }
  .kp-site-header .wp-block-navigation__responsive-container.is-menu-open {
    background:#FAF8F4!important; color:#244542!important; padding:1.25rem!important;
  }
  .kp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top:5rem; }
  .kp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items:flex-start!important; gap:.4rem!important; width:100%; }
  .kp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width:100%; }
  .kp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family:var(--wp--preset--font-family--editorial); font-size:1.65rem; padding:.5rem 0!important; }
  .kp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position:static!important; box-shadow:none!important; border:0!important; background:transparent!important; padding:.25rem 0 .75rem 1rem!important; min-width:0!important; }
  .kp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family:var(--wp--preset--font-family--sans); font-size:.95rem; padding:.35rem 0!important; }
  .kp-hero-columns { gap:2.5rem!important; }
  .kp-hero-title { max-width:14ch; }
  .kp-hero-trust { display:grid!important; grid-template-columns:1fr; }
  .kp-hero-trust .wp-block-column { padding:.9rem 0!important; border-left:0!important; border-top:1px solid var(--kp-line); }
  .kp-hero-trust .wp-block-column:first-child { border-top:0; }
  .kp-hero-note { top:.5rem; right:.2rem; }
  .kp-portrait-card { margin:-2.3rem 1rem 0!important; position:relative; left:auto; bottom:auto; width:auto; }
  .kp-service-grid--editorial { grid-template-columns:1fr!important; }
  .kp-service-card--v6 { min-height:0; }
  .kp-trust-grid { display:grid!important; grid-template-columns:1fr; border-top:0; }
  .kp-trust-principle { padding:1.5rem 0!important; border-left:0!important; border-top:1px solid rgba(36,69,66,.12); }
  .kp-process-timeline { display:grid!important; grid-template-columns:1fr; }
  .kp-process-timeline:before { left:.45rem; top:0; bottom:0; width:1px; height:auto; right:auto; }
  .kp-process-step,.kp-process-step + .kp-process-step { padding:0 0 2.2rem 2.4rem; }
  .kp-process-dot,.kp-process-step + .kp-process-step .kp-process-dot { left:0; top:.15rem; }
  .kp-process-index { margin-top:0; }
  .kp-online-columns { gap:2.5rem!important; }
  .kp-online-float { left:.4rem; }
  .kp-articles-query .wp-block-post-template { grid-template-columns:1fr!important; }
  .kp-query-card__body { min-height:0; }
  .kp-footer-columns { gap:2rem!important; }
  .kp-footer-bottom { align-items:flex-start!important; }
}
@media (prefers-reduced-motion: reduce) {
  .kp-site-header,.kp-service-card--v6:before,.kp-query-card--visual,.kp-query-image img,.wp-element-button,.kp-service-arrow { transition:none!important; }
}

/* Article detail */
.kp-article-header .wp-block-post-title { max-width:14ch; margin-left:auto; margin-right:auto; letter-spacing:-.035em; }
.kp-article-header .wp-block-post-excerpt { max-width:760px; margin-left:auto; margin-right:auto; }
.kp-post-meta--center { border-top:0; padding-top:.25rem; }
.kp-article-featured img { box-shadow:var(--kp-shadow-soft); }
.kp-single-article .wp-block-post-content { font-size:1.06rem; }
.kp-single-article .wp-block-post-content > p,
.kp-single-article .wp-block-post-content > ul,
.kp-single-article .wp-block-post-content > ol,
.kp-single-article .wp-block-post-content > h2,
.kp-single-article .wp-block-post-content > h3,
.kp-single-article .wp-block-post-content > blockquote { max-width:760px; margin-left:auto; margin-right:auto; }
.kp-single-article .wp-block-post-content > p { line-height:1.78; }
.kp-single-article .wp-block-post-content > h2 { margin-top:2.4em; font-size:clamp(1.8rem,3vw,2.45rem); }
.kp-single-article .wp-block-post-content > h3 { margin-top:2em; }
.kp-single-article .wp-block-post-content blockquote { border:0; border-left:3px solid #97AAA2; padding-left:1.5rem; font-family:var(--wp--preset--font-family--editorial); font-size:1.45rem; color:#244542; }
.kp-article-footer { border-top:1px solid var(--kp-line); }


/* v7 — production settings + dynamic contact block */
.kp-contact-info { color:inherit; }
.kp-contact-info--card { background:#E5ECE5; border-radius:22px; padding:1.5rem; }
.kp-contact-info--card h3 { margin-top:0; }
.kp-contact-info p { margin:.55rem 0; }
.kp-contact-info strong { font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:#6F7E79; }
.kp-contact-info__whatsapp { margin-top:1.1rem!important; }
.kp-contact-info__socials { display:flex; flex-wrap:wrap; gap:.7rem 1rem; margin-top:1rem; font-size:.9rem; }
.kp-contact-info--footer strong { color:#97AAA2; }
.kp-contact-info--footer a { color:#FFFDFC; }
.kp-contact-info--footer .kp-contact-info__whatsapp a { color:#aacec9; }
.kp-contact-info-editor { border:1px dashed #97AAA2; border-radius:16px; padding:1.25rem; background:#f5f3ef; }
.kp-contact-info-editor p { margin-bottom:.75rem; }
@media (max-width: 600px) {
  .kp-contact-info--card { padding:1.2rem; }
}

/* v8 — navigation, content discovery and editorial SEO UX */
.kp-breadcrumb-wrap { position:relative; z-index:3; }
.kp-breadcrumbs { width:100%; max-width:1320px; margin-left:auto; margin-right:auto; font-size:.78rem; color:#6F7E79; }
.kp-breadcrumbs ol { list-style:none; display:flex; flex-wrap:wrap; align-items:center; gap:.38rem; margin:0; padding:0; }
.kp-breadcrumbs li { display:flex; align-items:center; gap:.38rem; min-width:0; }
.kp-breadcrumbs li:not(:last-child)::after { content:"/"; color:rgba(36,69,66,.28); }
.kp-breadcrumbs a { color:#50625b; text-decoration:none; }
.kp-breadcrumbs a:hover { color:#0B2F2C; text-decoration:underline; text-underline-offset:3px; }
.kp-breadcrumbs [aria-current="page"] { color:#6F7E79; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:min(52vw,420px); }
.kp-breadcrumbs--editor { padding:.7rem 1rem; border:1px dashed rgba(36,69,66,.2); border-radius:10px; }

.kp-article-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:.55rem; margin:1.75rem auto 0; }
.kp-article-filter { display:inline-flex; align-items:center; gap:.55rem; min-height:42px; padding:.56rem .88rem; border:1px solid rgba(36,69,66,.13); border-radius:999px; background:rgba(255,253,252,.82); color:#344340; font-size:.82rem; font-weight:600; line-height:1; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.kp-article-filter:hover { background:#E5ECE5; border-color:rgba(36,69,66,.24); transform:translateY(-1px); }
.kp-article-filter.is-active { background:#244542; border-color:#244542; color:#FFFDFC; }
.kp-article-filter small { display:grid; place-items:center; min-width:1.4rem; height:1.4rem; padding:0 .3rem; border-radius:999px; background:rgba(36,69,66,.08); font-size:.68rem; color:inherit; }
.kp-article-filter.is-active small { background:rgba(255,255,255,.14); }
.kp-article-filters--editor { pointer-events:none; }

.kp-404-page { position:relative; overflow:hidden; }
.kp-404-page:before { content:"Ψ"; position:absolute; font-family:var(--wp--preset--font-family--editorial); font-size:clamp(18rem,48vw,44rem); line-height:.7; color:rgba(151,170,162,.055); right:-8vw; top:1rem; pointer-events:none; }
.kp-404-card { position:relative; z-index:1; box-shadow:0 30px 90px rgba(36,69,66,.07); }
.kp-404-code { margin:0 0 .5rem; font-family:var(--wp--preset--font-family--editorial); font-size:clamp(4rem,11vw,8.5rem); line-height:.8; letter-spacing:-.05em; }
.kp-404-card .wp-block-search,
.kp-search-page .wp-block-search { max-width:650px; margin-left:auto; margin-right:auto; }
.kp-404-card .wp-block-search__inside-wrapper,
.kp-search-page .wp-block-search__inside-wrapper { padding:.35rem; border:1px solid rgba(36,69,66,.15); border-radius:16px; background:#FFFDFC; }
.kp-404-card .wp-block-search__input,
.kp-search-page .wp-block-search__input { border:0; background:transparent; padding:.7rem .85rem; color:#344340; }
.kp-404-card .wp-block-search__input:focus,
.kp-search-page .wp-block-search__input:focus { outline:2px solid rgba(36,69,66,.28); outline-offset:3px; border-radius:10px; }
.kp-404-card .wp-block-search__button,
.kp-search-page .wp-block-search__button { margin:0; border:0; border-radius:12px; background:#244542; color:#FFFDFC; min-width:46px; }
.kp-search-empty { text-align:center; }

/* Native navigation overlay, intentionally using the core Navigation block. */
.wp-block-navigation__responsive-container.is-menu-open { background:#FAF8F4!important; color:#244542!important; padding:1.25rem clamp(1.25rem,5vw,2.25rem)!important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top:4.25rem!important; align-items:stretch!important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { width:100%; gap:0!important; align-items:stretch!important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width:100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { width:100%; padding:.95rem 0!important; border-bottom:1px solid rgba(36,69,66,.10); font-family:var(--wp--preset--font-family--editorial); font-size:clamp(1.45rem,6vw,2rem); font-weight:400; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position:static!important; visibility:visible!important; opacity:1!important; width:100%!important; box-shadow:none!important; border:0!important; background:transparent!important; padding:0 0 .55rem 1rem!important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family:var(--wp--preset--font-family--sans); font-size:.95rem; padding:.65rem 0!important; }
.wp-block-navigation__responsive-container-close { top:1.2rem!important; right:1.25rem!important; }

@media (max-width: 781px) {
  .kp-breadcrumbs { font-size:.74rem; }
  .kp-breadcrumbs [aria-current="page"] { max-width:44vw; }
  .kp-article-filters { justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; padding:0 1px .45rem; margin-left:calc(-1 * min(1rem, 3vw)); margin-right:calc(-1 * min(1rem, 3vw)); scrollbar-width:none; }
  .kp-article-filters::-webkit-scrollbar { display:none; }
  .kp-article-filter { flex:0 0 auto; }
}

/* v9 — dense editorial homepage + subtle interactive depth */
:root {
  --kp-v9-border: rgba(36,69,66,.10);
  --kp-v9-soft: #f5f3ef;
  --kp-v9-card: #fffdfc;
  --kp-v9-radius: 24px;
}

/* Make the homepage feel composed rather than vertically empty. */
.kp-home-hero--v9,
.kp-v9-statement,
.kp-services-section--v9,
.kp-v9-therapist,
.kp-process-section--v9,
.kp-v9-cert-section,
.kp-latest-posts--v9,
.kp-v9-faq-cta { position:relative; isolation:isolate; }

.kp-home-hero--v9 { overflow:hidden; }
.kp-home-hero--v9:before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at calc(62% + var(--kp-depth-x,0px)) calc(18% + var(--kp-depth-y,0px)), rgba(151,170,162,.15), transparent 19rem),
    radial-gradient(circle at 95% 70%, rgba(234,219,215,.18), transparent 16rem);
  z-index:-1;
}
.kp-v9-hero-grid { align-items:stretch!important; position:relative; z-index:2; }
.kp-v9-hero-copy { padding:clamp(.25rem,1vw,1rem) 0; }
.kp-v9-hero-title { max-width:10.5ch; font-size:clamp(3rem,5.7vw,5.5rem)!important; letter-spacing:-.045em; margin:.35rem 0 1rem; }
.kp-v9-hero-title em { color:#50625b; font-style:italic; font-weight:400; }
.kp-v9-hero-lede { max-width:570px; line-height:1.6; }
.kp-v9-hero-buttons { margin-top:1.35rem!important; gap:.65rem!important; }
.kp-v9-hero-trust { margin-bottom:0; border-top:1px solid var(--kp-v9-border); }
.kp-v9-hero-trust .wp-block-column { padding:1rem .85rem 0 0; }
.kp-v9-hero-trust .wp-block-column + .wp-block-column { border-left:1px solid var(--kp-v9-border); padding-left:.85rem; }
.kp-v9-hero-trust p { margin:0; line-height:1.35; color:#344340; }
.kp-v9-hero-trust small { color:#6f7e79; font-size:.7rem; }
.kp-mini-icon { display:inline-grid; place-items:center; width:1.7rem; height:1.7rem; margin-right:.35rem; border-radius:999px; background:#e5ece5; color:#244542; font-weight:700; }

.kp-v9-hero-photo-wrap { position:relative; height:100%; min-height:540px; }
.kp-v9-hero-photo { height:100%; margin:0!important; }
.kp-v9-hero-photo img { width:100%; height:100%; min-height:540px; object-fit:cover; object-position:center 18%; border-radius:26px; box-shadow:0 24px 70px rgba(36,69,66,.12); }
.kp-v9-hero-name { position:absolute; left:-1.25rem; top:1.3rem; z-index:3; box-shadow:0 12px 34px rgba(36,69,66,.09); }
.kp-v9-hero-name p { margin:0; line-height:1.35; }
.kp-v9-handnote { position:absolute; z-index:3; right:1.2rem; bottom:1.2rem; max-width:12ch; margin:0; font-family:var(--wp--preset--font-family--editorial); font-style:italic; font-size:1.15rem; line-height:1.15; color:#50625b; transform:rotate(-4deg); background:rgba(255,253,252,.78); padding:.65rem .75rem; border-radius:14px; backdrop-filter:blur(6px); }

.kp-v9-hero-rail { display:grid; grid-template-rows:1fr 1fr; gap:1rem; height:100%; }
.kp-v9-quote-card,.kp-v9-rail-card { min-height:0; height:100%; box-sizing:border-box; overflow:hidden; position:relative; }
.kp-v9-quote-card h3 { margin-top:0; font-size:clamp(1.45rem,2vw,2.05rem)!important; }
.kp-v9-quote-card:after { content:"“"; position:absolute; right:.7rem; top:-.25rem; font-family:var(--wp--preset--font-family--editorial); font-size:5rem; color:rgba(36,69,66,.07); }
.kp-v9-rail-card { display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(160deg,#e5ece5,#dde8ea)!important; }
.kp-v9-rail-kicker { margin:0; font-family:var(--wp--preset--font-family--editorial); font-size:clamp(1.3rem,2vw,1.75rem)!important; line-height:1.15; color:#244542; }
.kp-v9-rail-leaf { position:absolute; width:6rem; height:10rem; right:-1.3rem; top:1rem; border:1px solid rgba(36,69,66,.14); border-radius:100% 0 100% 0; transform:rotate(28deg); }
.kp-v9-rail-leaf:before,.kp-v9-rail-leaf:after { content:""; position:absolute; width:2.4rem; height:4.5rem; border:1px solid rgba(36,69,66,.12); border-radius:100% 0 100% 0; }
.kp-v9-rail-leaf:before { left:-2.2rem; top:3rem; transform:rotate(-48deg); }
.kp-v9-rail-leaf:after { right:1rem; bottom:-2rem; transform:rotate(38deg); }

.kp-v9-botanical { position:absolute; z-index:0; width:9rem; height:16rem; opacity:.52; pointer-events:none; transition:transform .18s linear; }
.kp-v9-botanical--left { left:-4.5rem; top:8rem; transform:translate(var(--kp-depth-x,0),var(--kp-depth-y,0)); }
.kp-v9-botanical--right { right:-3.5rem; top:1.5rem; transform:scaleX(-1) translate(calc(var(--kp-depth-x,0) * .5),calc(var(--kp-depth-y,0) * .5)); }
.kp-v9-botanical:before { content:""; position:absolute; left:50%; top:1rem; bottom:0; width:1px; background:#97aaa2; transform:rotate(13deg); transform-origin:bottom; }
.kp-v9-botanical i { position:absolute; width:3.2rem; height:5.2rem; border:1px solid rgba(80,98,91,.42); border-radius:100% 0 100% 0; background:rgba(229,236,229,.45); }
.kp-v9-botanical i:nth-child(1) { left:1rem; top:3.2rem; transform:rotate(-34deg); }
.kp-v9-botanical i:nth-child(2) { right:.3rem; top:6.4rem; transform:rotate(42deg); }
.kp-v9-botanical i:nth-child(3) { left:1.3rem; top:10rem; transform:rotate(-24deg) scale(.8); }

.kp-v9-fact-strip { box-shadow:0 14px 44px rgba(36,69,66,.045); }
.kp-v9-fact { gap:.85rem!important; align-items:center!important; min-width:0; padding:.2rem .8rem; }
.kp-v9-fact + .kp-v9-fact { border-left:1px solid var(--kp-v9-border); }
.kp-v9-fact p { margin:0; line-height:1.25; }
.kp-v9-fact small { color:#6f7e79; font-size:.7rem; }
.kp-v9-fact-symbol,.kp-v9-fact-number { flex:0 0 auto; min-width:2.5rem; font-family:var(--wp--preset--font-family--editorial); font-size:2.1rem; line-height:1; color:#244542; text-align:center; }
.kp-v9-fact-number { margin:0; }

/* Statement */
.kp-v9-statement { overflow:hidden; }
.kp-v9-statement:before { content:"Ψ"; position:absolute; right:42%; bottom:-5rem; font-family:var(--wp--preset--font-family--editorial); font-size:22rem; color:rgba(151,170,162,.035); line-height:.7; pointer-events:none; }
.kp-v9-statement-title { max-width:22ch; letter-spacing:-.025em; }
.kp-v9-statement-art { min-height:270px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(145deg,#eadbd7,#f4e9e6)!important; }
.kp-v9-vase { position:absolute; right:1.1rem; top:.4rem; width:10rem; height:11rem; }
.kp-v9-vase span { position:absolute; left:3rem; bottom:0; width:4.2rem; height:5.2rem; border-radius:46% 46% 34% 34%; background:rgba(255,253,252,.8); border:1px solid rgba(36,69,66,.08); }
.kp-v9-vase:before { content:""; position:absolute; left:5rem; top:.5rem; width:1px; height:6.4rem; background:#50625b; transform:rotate(-9deg); }
.kp-v9-vase i { position:absolute; width:2.7rem; height:4.4rem; border-radius:100% 0 100% 0; background:rgba(151,170,162,.48); }
.kp-v9-vase i:nth-child(2) { left:2rem; top:1.9rem; transform:rotate(-36deg); }
.kp-v9-vase i:nth-child(3) { right:1.4rem; top:3.2rem; transform:rotate(32deg); }
.kp-v9-vase i:nth-child(4) { left:2.5rem; top:5.5rem; transform:rotate(-55deg) scale(.75); }

/* Services */
.kp-v9-section-head { gap:1rem 2rem!important; }
.kp-v9-section-head h2 { margin-bottom:.3rem; }
.kp-v9-section-head p { margin-top:.3rem; }
.kp-v9-service-feature { min-height:370px; position:relative; overflow:hidden; display:flex; flex-direction:column; }
.kp-v9-service-feature > * { position:relative; z-index:2; }
.kp-v9-service-no { font-family:var(--wp--preset--font-family--editorial); font-size:2.35rem; margin:0 0 1rem; }
.kp-v9-service-feature h3 { margin:.2rem 0 .75rem; }
.kp-v9-service-feature .kp-card-link { margin-top:auto; }
.kp-v9-service-visual { position:absolute!important; right:-1.5rem; bottom:-1.5rem; width:11rem; height:11rem; border-radius:48% 52% 40% 60%; background:#e5ece5; opacity:.86; }
.kp-v9-service-visual span { position:absolute; width:5.5rem; height:7.5rem; right:2rem; bottom:1rem; border-radius:44% 44% 18px 18px; background:#fffdfc; border:1px solid rgba(36,69,66,.08); }
.kp-v9-service-visual i { position:absolute; width:2.3rem; height:4.1rem; border-radius:100% 0 100% 0; background:#97aaa2; opacity:.65; }
.kp-v9-service-visual i:nth-child(2) { right:6.8rem; bottom:4.1rem; transform:rotate(-28deg); }
.kp-v9-service-visual i:nth-child(3) { right:1rem; bottom:5rem; transform:rotate(42deg); }
.kp-v9-service-screen { position:absolute!important; right:1.2rem; bottom:1.2rem; width:9rem; height:6rem; border:1px solid rgba(36,69,66,.13); border-radius:14px; background:#fffdfc; box-shadow:0 12px 34px rgba(36,69,66,.07); }
.kp-v9-service-screen:after { content:""; position:absolute; left:1rem; right:1rem; bottom:-.7rem; height:.65rem; border-radius:0 0 8px 8px; background:#d5dfda; }
.kp-v9-service-screen span { position:absolute; inset:.6rem; border-radius:9px; background:linear-gradient(135deg,#dde8ea,#eadbd7); }
.kp-v9-service-screen i { position:absolute; width:2.2rem; height:3.5rem; right:-1rem; top:-1.5rem; border-radius:100% 0 100% 0; background:#97aaa2; transform:rotate(25deg); opacity:.55; }
.kp-v9-service-list { display:grid; gap:.7rem; height:100%; }
.kp-v9-service-row { min-height:61px; padding:.8rem 1rem; border:1px solid var(--kp-v9-border); border-radius:16px; background:#fffdfc; transition:background .2s ease,transform .2s ease; }
.kp-v9-service-row:hover { background:#e5ece5; transform:translateX(3px); }
.kp-v9-service-row p { margin:0; }
.kp-v9-service-row p:first-child { display:flex; gap:.75rem; align-items:center; font-weight:600; }
.kp-v9-service-row span { color:#97aaa2; font-family:var(--wp--preset--font-family--editorial); font-size:1.15rem; }
.kp-v9-service-row a { color:#344340; }
.kp-v9-service-note { margin-top:auto; }
.kp-v9-service-note p { margin:0; font-family:var(--wp--preset--font-family--editorial); font-style:italic; }

/* Therapist */
.kp-v9-therapist { overflow:hidden; }
.kp-v9-therapist:after { content:""; position:absolute; width:20rem; height:20rem; right:-8rem; bottom:-8rem; border-radius:50%; border:1px solid rgba(36,69,66,.08); }
.kp-v9-therapist-photo-wrap { position:relative; padding:.5rem; }
.kp-v9-therapist-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 20%; border-radius:26px; box-shadow:0 22px 60px rgba(36,69,66,.09); }
.kp-v9-photo-note { position:absolute; left:-.5rem; top:42%; max-width:8ch; background:rgba(255,253,252,.86); padding:.75rem; border-radius:14px; font-family:var(--wp--preset--font-family--editorial); font-style:italic; font-size:1.25rem; line-height:1.1; transform:rotate(-6deg); }
.kp-v9-photo-badge { position:absolute; left:1.1rem; right:1.1rem; bottom:-.6rem; box-shadow:0 14px 40px rgba(11,47,44,.18); }
.kp-v9-photo-badge p { margin:0; }
.kp-v9-credential-stack { display:grid; gap:.55rem; }
.kp-v9-credential { gap:.75rem!important; padding:.9rem; border:1px solid var(--kp-v9-border); border-radius:16px; background:#faf8f4; }
.kp-v9-credential h4,.kp-v9-credential p { margin:0; }
.kp-v9-credential-icon { display:grid; place-items:center; flex:0 0 2.4rem; width:2.4rem; height:2.4rem; border-radius:12px; background:#e5ece5; color:#244542; }
.kp-v9-script-quote { padding:1rem .3rem 0; margin:0; font-family:var(--wp--preset--font-family--editorial); font-style:italic; color:#8c766d; transform:rotate(-2deg); }

/* Process */
.kp-v9-process-flow { position:relative; gap:0!important; }
.kp-v9-process-flow:before { content:""; position:absolute; top:1.45rem; left:8%; right:8%; height:1px; background:linear-gradient(90deg,rgba(151,170,162,.25),#97aaa2,rgba(151,170,162,.25)); z-index:0; }
.kp-v9-process-item { position:relative; z-index:1; padding:0 clamp(.7rem,2vw,1.5rem); text-align:left; }
.kp-v9-process-node { display:grid; place-items:center; width:2.9rem; height:2.9rem; border-radius:999px; margin-bottom:1rem; background:#e5ece5; border:6px solid #faf8f4; box-shadow:0 0 0 1px rgba(36,69,66,.08); font-family:var(--wp--preset--font-family--editorial); color:#244542; }
.kp-v9-process-item h3,.kp-v9-process-item p { margin:.25rem 0; }

/* Certificates */
.kp-v9-cert-section { overflow:hidden; }
.kp-v9-cert-section:before { content:""; position:absolute; width:16rem; height:16rem; left:-7rem; bottom:-6rem; border-radius:50%; background:rgba(229,236,229,.7); }
.kp-v9-cert-shell { position:relative; z-index:2; }
.kp-v9-cert-intro { gap:1rem 2rem!important; }

/* Magazine articles */
.kp-v9-magazine-grid { align-items:stretch!important; }
.kp-v9-featured-query,.kp-v9-side-query,.kp-v9-featured-query .wp-block-post-template { height:100%; }
.kp-v9-article-feature { padding:0!important; overflow:hidden; height:100%; min-height:520px; display:flex; flex-direction:column; }
.kp-v9-article-feature-image { margin:0!important; overflow:hidden; }
.kp-v9-article-feature-image img { width:100%; transition:transform .45s ease; }
.kp-v9-article-feature:hover .kp-v9-article-feature-image img { transform:scale(1.025); }
.kp-v9-article-feature-body { flex:1; }
.kp-v9-article-feature-body .wp-block-post-title { max-width:18ch; }
.kp-v9-side-query .wp-block-post-template { display:grid; gap:1rem; }
.kp-v9-article-mini { padding:0!important; overflow:hidden; min-height:190px; align-items:stretch!important; }
.kp-v9-article-mini-image { flex:0 0 39%; min-height:190px; margin:0!important; }
.kp-v9-article-mini-image img { width:100%; height:100%; object-fit:cover; }
.kp-v9-article-mini-body { min-width:0; flex:1; }
.kp-v9-article-mini-body .wp-block-post-title { margin:.4rem 0; }
.kp-v9-reading-note { position:relative; overflow:hidden; }
.kp-v9-reading-note:after { content:""; position:absolute; width:7rem; height:11rem; right:-2rem; bottom:-3rem; border-radius:100% 0 100% 0; border:1px solid rgba(36,69,66,.15); transform:rotate(25deg); }

/* FAQ + CTA */
.kp-v9-faq-cta-grid { align-items:stretch!important; }
.kp-v9-faq-panel { height:100%; }
.kp-v9-faq-panel .wp-block-details { padding:.85rem .9rem; margin:.55rem 0; border:1px solid var(--kp-v9-border); border-radius:12px; background:#faf8f4; }
.kp-v9-faq-panel .wp-block-details[open] { background:#fffdfc; }
.kp-v9-final-cta { position:relative; overflow:hidden; min-height:100%; display:flex; flex-direction:column; justify-content:center; }
.kp-v9-final-cta > * { position:relative; z-index:2; }
.kp-v9-final-cta h2 { max-width:16ch; }
.kp-v9-cta-leaves { position:absolute!important; z-index:0!important; right:-1rem; bottom:-3rem; width:14rem; height:15rem; opacity:.35; }
.kp-v9-cta-leaves:before { content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; background:#97aaa2; transform:rotate(10deg); }
.kp-v9-cta-leaves i { position:absolute; width:4rem; height:7rem; border:1px solid #97aaa2; border-radius:100% 0 100% 0; }
.kp-v9-cta-leaves i:nth-child(1) { left:1.6rem; top:1rem; transform:rotate(-35deg); }
.kp-v9-cta-leaves i:nth-child(2) { right:1.1rem; top:4rem; transform:rotate(38deg); }
.kp-v9-cta-leaves i:nth-child(3) { left:2rem; bottom:0; transform:rotate(-20deg) scale(.8); }
.kp-v9-cta-buttons .is-style-outline .wp-block-button__link { color:#fffdfc!important; border-color:rgba(255,253,252,.5)!important; }
.kp-v9-cta-script { position:absolute!important; right:2.3rem; top:48%; max-width:10ch; font-family:var(--wp--preset--font-family--editorial); font-style:italic; font-size:1.2rem; line-height:1.1; color:#d7c2bd; transform:rotate(-7deg); }

/* Interaction: only activated by JS so content never becomes invisible without JS. */
.kp-motion-ready .kp-reveal { opacity:0; transform:translateY(18px); transition:opacity .65s cubic-bezier(.2,.65,.3,1),transform .65s cubic-bezier(.2,.65,.3,1); }
.kp-motion-ready .kp-reveal-delay-1 { transition-delay:.09s; }
.kp-motion-ready .kp-reveal-delay-2 { transition-delay:.18s; }
.kp-motion-ready .kp-reveal.is-visible { opacity:1; transform:translateY(0); }
.kp-interactive-card { position:relative; overflow:hidden; }
.kp-interactive-card:after { content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .25s ease; background:radial-gradient(220px circle at var(--card-x,50%) var(--card-y,50%),rgba(151,170,162,.16),transparent 65%); }
.kp-interactive-card:hover:after { opacity:1; }

@media (max-width:1180px) {
  .kp-v9-hero-grid { flex-wrap:wrap!important; }
  .kp-v9-hero-grid > .wp-block-column:nth-child(1) { flex-basis:48%!important; }
  .kp-v9-hero-grid > .wp-block-column:nth-child(2) { flex-basis:48%!important; }
  .kp-v9-hero-grid > .wp-block-column:nth-child(3) { flex-basis:100%!important; }
  .kp-v9-hero-rail { grid-template-columns:1fr 1fr; grid-template-rows:auto; margin-top:.2rem; }
  .kp-v9-quote-card,.kp-v9-rail-card { min-height:190px; }
  .kp-v9-services-grid { flex-wrap:wrap!important; }
  .kp-v9-services-grid > .wp-block-column:nth-child(1),.kp-v9-services-grid > .wp-block-column:nth-child(2) { flex-basis:calc(50% - .5rem)!important; }
  .kp-v9-services-grid > .wp-block-column:nth-child(3) { flex-basis:100%!important; }
  .kp-v9-service-list { grid-template-columns:1fr 1fr; margin-top:1rem; }
  .kp-v9-service-note { grid-column:1/-1; }
  .kp-v9-therapist-grid { flex-wrap:wrap!important; }
  .kp-v9-therapist-grid > .wp-block-column:nth-child(1) { flex-basis:38%!important; }
  .kp-v9-therapist-grid > .wp-block-column:nth-child(2) { flex-basis:58%!important; }
  .kp-v9-therapist-grid > .wp-block-column:nth-child(3) { flex-basis:100%!important; }
  .kp-v9-credential-stack { grid-template-columns:repeat(3,1fr); margin-top:1.5rem; }
  .kp-v9-script-quote { grid-column:1/-1; }
}

@media (max-width:781px) {
  .kp-home-hero--v9 { padding-top:1.5rem!important; }
  .kp-v9-botanical { display:none; }
  .kp-v9-hero-grid { display:grid!important; grid-template-columns:1fr!important; }
  .kp-v9-hero-grid > .wp-block-column { flex-basis:100%!important; }
  .kp-v9-hero-title { max-width:12ch; font-size:clamp(2.8rem,12vw,4.2rem)!important; }
  .kp-v9-hero-photo-wrap { min-height:0; }
  .kp-v9-hero-photo img { min-height:0; aspect-ratio:5/6; }
  .kp-v9-hero-name { left:.7rem; top:.7rem; }
  .kp-v9-handnote { right:.7rem; bottom:.7rem; }
  .kp-v9-hero-rail { grid-template-columns:1fr 1fr; }
  .kp-v9-fact-strip { grid-template-columns:1fr 1fr!important; }
  .kp-v9-fact + .kp-v9-fact { border-left:0; }
  .kp-v9-fact:nth-child(even) { border-left:1px solid var(--kp-v9-border); }
  .kp-v9-fact:nth-child(n+3) { border-top:1px solid var(--kp-v9-border); padding-top:1rem; }
  .kp-v9-statement-grid,.kp-v9-services-grid,.kp-v9-therapist-grid,.kp-v9-magazine-grid,.kp-v9-faq-cta-grid { display:grid!important; grid-template-columns:1fr!important; }
  .kp-v9-statement-grid > .wp-block-column,.kp-v9-services-grid > .wp-block-column,.kp-v9-therapist-grid > .wp-block-column,.kp-v9-magazine-grid > .wp-block-column,.kp-v9-faq-cta-grid > .wp-block-column { flex-basis:100%!important; }
  .kp-v9-service-list { grid-template-columns:1fr; }
  .kp-v9-service-note { grid-column:auto; }
  .kp-v9-therapist-photo-wrap { max-width:520px; }
  .kp-v9-credential-stack { grid-template-columns:1fr; }
  .kp-v9-script-quote { grid-column:auto; }
  .kp-v9-process-flow { grid-template-columns:1fr 1fr!important; row-gap:2rem; }
  .kp-v9-process-flow:before { display:none; }
  .kp-v9-process-item { padding:0 1rem 0 0; }
  .kp-v9-article-feature { min-height:0; }
  .kp-v9-article-mini { min-height:150px; }
  .kp-v9-article-mini-image { min-height:150px; }
  .kp-v9-cta-script { position:static!important; margin-top:1.5rem; transform:rotate(-3deg); }
}

@media (max-width:520px) {
  .kp-v9-hero-trust { display:grid!important; grid-template-columns:1fr!important; }
  .kp-v9-hero-trust .wp-block-column { padding:.75rem 0!important; border-left:0!important; border-top:1px solid var(--kp-v9-border); }
  .kp-v9-hero-trust .wp-block-column:first-child { border-top:0; }
  .kp-v9-hero-rail { grid-template-columns:1fr; }
  .kp-v9-fact-strip { grid-template-columns:1fr!important; }
  .kp-v9-fact { border-left:0!important; border-top:1px solid var(--kp-v9-border); padding:.8rem 0!important; }
  .kp-v9-fact:first-child { border-top:0; }
  .kp-v9-process-flow { grid-template-columns:1fr!important; }
  .kp-v9-article-mini { display:grid!important; grid-template-columns:1fr; }
  .kp-v9-article-mini-image { min-height:180px; }
}

@media (prefers-reduced-motion:reduce) {
  .kp-motion-ready .kp-reveal,.kp-motion-ready .kp-reveal.is-visible { opacity:1; transform:none; transition:none; }
  .kp-interactive-card:after { display:none; }
  .kp-v9-botanical { transition:none; }
}

/* v11 — rebuilt homepage: clear hierarchy, restrained scale, useful density */
.kp-home-hero--v11 { position:relative; min-height:auto; overflow:hidden; }
.kp-home-hero--v11:before {
  content:""; position:absolute; width:min(48vw,720px); aspect-ratio:1; right:-12%; top:-28%; border-radius:50%;
  background:radial-gradient(circle,rgba(151,170,162,.2),rgba(151,170,162,0) 68%); pointer-events:none;
}
.kp-home-hero--v11:after {
  content:""; position:absolute; width:260px; height:260px; left:-150px; bottom:-150px; border:1px solid rgba(36,69,66,.1); border-radius:50%; pointer-events:none;
}
.kp-v11-hero-grid { position:relative; z-index:1; min-height:min(680px,72vh); }
.kp-v11-hero-copy { max-width:690px; margin-left:0!important; }
.kp-v11-kicker { gap:.65rem!important; }
.kp-v11-kicker > span { flex:0 0 auto; width:28px; height:1px; background:#78958b; }
.kp-v11-kicker p { margin:0; }
.kp-v11-hero-title { max-width:11ch; margin:.35rem 0 1.2rem; font-size:clamp(3.1rem,5.4vw,5rem)!important; letter-spacing:-.05em; line-height:.94!important; }
.kp-v11-hero-title em { display:inline; color:#78958b; font-weight:400; }
.kp-v11-hero-lede { max-width:590px; margin-top:0; line-height:1.62; }
.kp-v11-hero-buttons { gap:.7rem!important; margin-top:1.7rem!important; }
.kp-v11-assurance { gap:0!important; margin-top:2.3rem!important; padding-top:1.25rem; border-top:1px solid var(--kp-border); }
.kp-v11-assurance p { min-width:min(240px,50%); margin:0; padding-right:1.5rem; line-height:1.45; }
.kp-v11-assurance p + p { padding-left:1.5rem; border-left:1px solid var(--kp-border); }
.kp-v11-assurance strong { color:#244542; }
.kp-v11-assurance span { color:#6f7e79; font-size:.78rem; }
.kp-v11-hero-visual { position:relative; max-width:570px; margin-right:0!important; padding:1rem 0 1.3rem 1rem; }
.kp-v11-hero-visual:before { content:""; position:absolute; inset:0 7% 0 0; border-radius:38% 38% 28px 28px; background:#dde8e2; }
.kp-v11-hero-photo { position:relative; z-index:1; margin:0!important; }
.kp-v11-hero-photo img { display:block; width:100%; max-height:640px; aspect-ratio:4/5; object-fit:cover; object-position:center 32%; border-radius:34% 34% 24px 24px; box-shadow:0 28px 80px rgba(11,47,44,.14); }
.kp-v11-profile-card { position:absolute; z-index:3; left:-1.2rem; bottom:0; gap:.8rem!important; width:min(280px,72%); box-shadow:0 18px 48px rgba(11,47,44,.14); }
.kp-v11-profile-card p { margin:0; line-height:1.35; }
.kp-v11-profile-card p span { color:#6f7e79; font-size:.72rem; }
.kp-v11-profile-mark { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border-radius:13px; background:#e5ece5; color:#244542; font-family:var(--wp--preset--font-family--editorial); font-size:1.35rem; }
.kp-v11-availability { position:absolute; z-index:3; right:-.6rem; top:2.5rem; gap:.5rem!important; box-shadow:0 10px 34px rgba(11,47,44,.08); }
.kp-v11-availability > span { width:.52rem; height:.52rem; border-radius:50%; background:#4d7867; box-shadow:0 0 0 4px rgba(77,120,103,.13); }
.kp-v11-availability p { margin:0; white-space:nowrap; }

/* Consistent section rhythm across the whole homepage. */
.kp-v9-statement,.kp-services-section--v9,.kp-v9-therapist,.kp-process-section--v9,.kp-v9-cert-section,.kp-latest-posts--v9,.kp-v9-faq-cta {
  border-top:1px solid rgba(36,69,66,.065);
}
.kp-v9-section-head { align-items:flex-end!important; }
.kp-v9-section-head > .wp-block-group { max-width:700px; margin-left:0!important; }
.kp-v9-section-head h2 { margin:.1rem 0 .55rem; font-size:clamp(2.25rem,4vw,3.6rem)!important; letter-spacing:-.04em; }
.kp-v9-section-head p { max-width:620px; }
.kp-section-link a { display:inline-flex; align-items:center; min-height:40px; font-size:.86rem; }

/* Statement */
.kp-v9-statement-grid { display:grid!important; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); }
.kp-v9-statement:before,.kp-v9-therapist:after { display:none; }
.kp-v9-statement-grid > .wp-block-column { width:auto!important; flex-basis:auto!important; }
.kp-v9-statement-title { max-width:24ch; font-size:clamp(2.1rem,3.8vw,3.7rem)!important; line-height:1.08!important; }
.kp-v9-statement-art { min-height:310px; justify-content:flex-end; box-sizing:border-box; }

/* Services: two clear primary choices plus a compact directory. */
.kp-v9-services-grid { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(300px,1.08fr); align-items:stretch; }
.kp-v9-services-grid > .wp-block-column { width:auto!important; flex-basis:auto!important; }
.kp-v9-service-feature { min-height:390px; border-radius:26px!important; box-shadow:0 14px 44px rgba(11,47,44,.045); }
.kp-v9-service-feature h3 { font-size:clamp(1.8rem,2.8vw,2.55rem)!important; }
.kp-v9-service-feature > p:not(.kp-v9-service-no):not(.kp-card-link) { max-width:28ch; }
.kp-v9-service-row { box-sizing:border-box; min-height:64px; }

/* Expert profile becomes a calm two-column composition. */
.kp-v9-therapist-grid { display:grid!important; grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr); align-items:center!important; }
.kp-v9-therapist-grid > .wp-block-column { width:auto!important; flex-basis:auto!important; }
.kp-v9-therapist-grid > .wp-block-column:first-child { grid-column:1; grid-row:1 / span 2; }
.kp-v9-therapist-grid > .wp-block-column:nth-child(2),.kp-v9-therapist-grid > .wp-block-column:nth-child(3) { grid-column:2; }
.kp-v9-therapist-photo-wrap { max-width:510px; margin-left:0!important; }
.kp-v9-therapist-photo img { aspect-ratio:4/4.6; border-radius:30px; }
.kp-v9-photo-note { display:none; }
.kp-v9-photo-badge { left:1.5rem; right:auto; bottom:-1rem; min-width:260px; }
.kp-v9-credential-stack { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin-top:1.2rem; }
.kp-v9-credential { display:block!important; padding:1rem; }
.kp-v9-credential-icon { margin-bottom:.8rem!important; }
.kp-v9-script-quote { grid-column:1 / -1; }

/* Process */
.kp-v9-process-flow { gap:1rem!important; }
.kp-v9-process-flow:before { display:none; }
.kp-v9-process-item { min-width:0; padding:1.35rem!important; border:1px solid var(--kp-border); border-radius:20px; background:rgba(255,253,249,.72); }
.kp-v9-process-node { width:2.55rem; height:2.55rem; margin:0 0 1.1rem; border:0; background:#244542; color:#fffdfc; box-shadow:none; font-size:.88rem; }
.kp-v9-process-item h3 { font-size:1.08rem!important; }

/* Articles and closing section */
.kp-v9-magazine-grid { gap:1.25rem!important; }
.kp-v9-article-feature { min-height:480px; }
.kp-v9-article-feature,.kp-v9-article-mini,.kp-v9-reading-note { border-radius:22px!important; }
.kp-v9-faq-cta-grid { display:grid!important; grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr); gap:1.5rem!important; }
.kp-v9-faq-cta-grid > .wp-block-column { width:auto!important; flex-basis:auto!important; }
.kp-v9-faq-panel .wp-block-details { padding:1rem 1.1rem; border-radius:14px; }
.kp-v9-final-cta { border-radius:28px!important; }

@media (max-width:1100px) {
  .kp-v11-hero-grid { min-height:0; }
  .kp-v11-hero-title { font-size:clamp(3rem,6vw,4.4rem)!important; }
  .kp-v9-services-grid { grid-template-columns:1fr 1fr!important; }
  .kp-v9-services-grid > .wp-block-column:nth-child(3) { grid-column:1 / -1; }
  .kp-v9-service-list { grid-template-columns:1fr 1fr; }
  .kp-v9-service-note { grid-column:1 / -1; }
}
@media (max-width:781px) {
  .kp-home-hero--v11 { padding-top:2rem!important; }
  .kp-v11-hero-grid,.kp-v9-statement-grid,.kp-v9-services-grid,.kp-v9-therapist-grid,.kp-v9-faq-cta-grid { display:grid!important; grid-template-columns:1fr!important; }
  .kp-v11-hero-grid > .wp-block-column,.kp-v9-statement-grid > .wp-block-column,.kp-v9-services-grid > .wp-block-column,.kp-v9-therapist-grid > .wp-block-column,.kp-v9-faq-cta-grid > .wp-block-column { grid-column:1!important; grid-row:auto!important; width:auto!important; flex-basis:auto!important; }
  .kp-v11-hero-copy { max-width:none; }
  .kp-v11-hero-title { max-width:12ch; font-size:clamp(2.8rem,12vw,4rem)!important; }
  .kp-v11-hero-visual { max-width:560px; margin:1rem auto 0!important; padding-left:0; }
  .kp-v11-profile-card { left:.7rem; }
  .kp-v11-availability { right:.4rem; }
  .kp-v9-services-grid > .wp-block-column:nth-child(3),.kp-v9-script-quote { grid-column:1!important; }
  .kp-v9-service-list,.kp-v9-credential-stack { grid-template-columns:1fr!important; }
  .kp-v9-service-note { grid-column:1!important; }
  .kp-v9-therapist-photo-wrap { margin-inline:auto!important; }
  .kp-v9-process-flow { grid-template-columns:1fr 1fr!important; }
}
@media (max-width:520px) {
  .kp-v11-assurance { display:grid!important; grid-template-columns:1fr; }
  .kp-v11-assurance p { min-width:0; padding:.8rem 0!important; border-left:0!important; }
  .kp-v11-assurance p + p { border-top:1px solid var(--kp-border); }
  .kp-v11-availability { position:relative; right:auto; top:auto; z-index:2; width:max-content; max-width:calc(100% - 1rem); margin:-1rem auto 0!important; }
  .kp-v11-profile-card { position:relative; left:auto; bottom:auto; width:auto; margin:-2rem .7rem 0!important; }
  .kp-v9-process-flow { grid-template-columns:1fr!important; }
}

/* v9 header search popover */
.kp-header-search { position:relative; }
.kp-header-search summary { list-style:none; display:grid; place-items:center; width:38px; height:38px; border-radius:999px; cursor:pointer; color:#244542; border:1px solid transparent; font-size:1.2rem; }
.kp-header-search summary::-webkit-details-marker { display:none; }
.kp-header-search summary:hover,.kp-header-search[open] summary { background:#e5ece5; border-color:rgba(36,69,66,.1); }
.kp-header-search form { position:absolute; right:0; top:calc(100% + .65rem); z-index:20; display:flex; gap:.45rem; width:min(390px,82vw); padding:.55rem; border:1px solid rgba(36,69,66,.12); border-radius:14px; background:#fffdfc; box-shadow:0 18px 50px rgba(36,69,66,.12); }
.kp-header-search label { flex:1; }
.kp-header-search input { box-sizing:border-box; width:100%; min-height:42px; padding:.65rem .8rem; border:0; border-radius:10px; background:#f5f3ef; color:#344340; font:inherit; }
.kp-header-search input:focus { outline:2px solid rgba(36,69,66,.25); outline-offset:2px; }
.kp-header-search button { border:0; border-radius:10px; background:#244542; color:#fffdfc; padding:.65rem .85rem; cursor:pointer; font:inherit; font-weight:600; }
@media (max-width:1000px) { .kp-header-search { display:none; } }

/* v10 — unified visual system and WooCommerce block templates */
:root {
  --kp-canvas:#f7f4ee;
  --kp-surface:#fffdf9;
  --kp-ink:#173936;
  --kp-border:rgba(23,57,54,.12);
  --kp-border-strong:rgba(23,57,54,.22);
  --kp-shadow-card:0 16px 50px rgba(11,47,44,.075);
  --kp-shadow-hover:0 24px 68px rgba(11,47,44,.12);
  --kp-ease:cubic-bezier(.2,.7,.2,1);
}

html { background:var(--kp-canvas); }
body { -webkit-font-smoothing:antialiased; background:var(--kp-canvas); }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
.wp-site-blocks { overflow:clip; }

/* A calmer, more deliberate frame across every editable template. */
.kp-site-header { border-bottom-color:var(--kp-border)!important; }
.kp-site-header:not(.kp-is-scrolled) { background:rgba(247,244,238,.88)!important; }
.kp-header-inner { min-height:64px; }
.kp-site-header .wp-block-navigation-item__content { letter-spacing:-.01em; }
.kp-site-header .wp-block-navigation__responsive-container-open {
  width:42px; height:42px; align-items:center; justify-content:center; border:1px solid var(--kp-border); border-radius:999px;
}
.kp-site-header .wc-block-mini-cart__button {
  min-width:42px; min-height:42px; padding:.5rem; border:1px solid var(--kp-border); border-radius:999px; color:var(--kp-ink);
}
.kp-site-header .wc-block-mini-cart__button:hover { background:var(--wp--preset--color--sage); }
.kp-site-footer { margin-block-start:0; }
.kp-site-footer h2 { letter-spacing:-.035em; }

.wp-element-button,.wp-block-button__link {
  border-radius:999px!important;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  letter-spacing:-.01em;
}
.wp-element-button:hover,.wp-block-button__link:hover { box-shadow:0 10px 30px rgba(11,47,44,.16); }
.is-style-kp-soft-card,.is-style-kp-glass-panel { border-color:var(--kp-border); }

/* Store archive and search */
.kp-shop-shell,.kp-product-shell,.kp-commerce-page { position:relative; isolation:isolate; }
.kp-shop-shell:before,.kp-product-shell:before {
  content:""; position:absolute; z-index:-1; width:34rem; height:34rem; right:-17rem; top:-12rem;
  border-radius:50%; background:radial-gradient(circle,rgba(151,170,162,.2),rgba(151,170,162,0) 68%); pointer-events:none;
}
.kp-shop-heading { margin-left:0!important; max-width:820px!important; padding-bottom:var(--wp--preset--spacing--40); }
.kp-shop-heading .wp-block-query-title { margin:.15em 0; max-width:14ch; }
.kp-shop-heading .wp-block-term-description { max-width:650px; margin-left:0; }
.kp-shop-toolbar {
  min-height:58px; margin-block:1.5rem 2rem!important; padding:.55rem .7rem .55rem 1.1rem;
  border:1px solid var(--kp-border); border-radius:16px; background:rgba(255,253,249,.78); backdrop-filter:blur(10px);
}
.kp-shop-toolbar p { margin:0; color:var(--wp--preset--color--muted); font-size:.85rem; }
.kp-shop-toolbar select {
  min-height:42px; padding:.55rem 2.5rem .55rem .85rem; border:1px solid var(--kp-border); border-radius:12px;
  background:var(--kp-surface); color:var(--kp-ink); font:inherit;
}
.kp-product-collection .wp-block-post-template { gap:1.25rem!important; }
.kp-product-card {
  box-sizing:border-box; height:100%; overflow:hidden;
  transition:transform .25s var(--kp-ease),box-shadow .25s var(--kp-ease),border-color .25s ease;
}
.kp-product-card:hover { transform:translateY(-5px); border-color:var(--kp-border-strong)!important; box-shadow:var(--kp-shadow-hover); }
.kp-product-card .wp-block-woocommerce-product-image { overflow:hidden; border-radius:18px; margin:0 0 1.1rem!important; }
.kp-product-card .wp-block-woocommerce-product-image img { aspect-ratio:1/1; object-fit:cover; transition:transform .45s var(--kp-ease); }
.kp-product-card:hover .wp-block-woocommerce-product-image img { transform:scale(1.025); }
.kp-product-card .wp-block-post-title { padding-inline:.65rem; margin:.35rem 0 .45rem; }
.kp-product-card .wp-block-woocommerce-product-price { margin:.25rem 0 .85rem!important; }
.kp-product-card .wp-block-woocommerce-product-button { margin-top:auto; }
.wp-block-woocommerce-product-sale-badge {
  margin:.65rem!important; padding:.45rem .7rem!important; border:0!important; border-radius:999px!important;
  background:var(--wp--preset--color--primary)!important; color:var(--wp--preset--color--warm-white)!important;
  font-size:.72rem!important; font-weight:700;
}
.kp-product-collection .wp-block-query-pagination { margin-top:3rem; gap:.45rem; }
.kp-product-collection .page-numbers,.kp-product-collection .wp-block-query-pagination-previous,.kp-product-collection .wp-block-query-pagination-next {
  display:inline-grid; place-items:center; min-width:42px; min-height:42px; padding:0 .7rem; border:1px solid var(--kp-border); border-radius:999px;
  background:var(--kp-surface);
}

/* Single product */
.kp-product-hero { align-items:flex-start!important; }
.kp-product-hero .wp-block-woocommerce-product-image-gallery { overflow:hidden; border-radius:26px; background:var(--kp-surface); box-shadow:var(--kp-shadow-card); }
.kp-product-summary {
  box-sizing:border-box; position:sticky; top:102px; padding:clamp(1.4rem,3vw,2.4rem);
  border:1px solid var(--kp-border); border-radius:26px; background:rgba(255,253,249,.9); box-shadow:var(--kp-shadow-card); backdrop-filter:blur(12px);
}
.kp-product-summary .wp-block-post-title { margin:.25rem 0 .7rem; }
.kp-product-summary .wp-block-woocommerce-product-price { margin:.8rem 0 1.2rem; }
.kp-product-summary .wp-block-post-excerpt { border-top:1px solid var(--kp-border); padding-top:1.2rem; }
.kp-product-summary form.cart { margin-top:1.4rem; }
.kp-product-meta { gap:.55rem 1rem!important; margin-top:1.4rem; padding-top:1.1rem; border-top:1px solid var(--kp-border); color:var(--wp--preset--color--muted); font-size:.78rem; }
.kp-product-details { margin-top:var(--wp--preset--spacing--70)!important; }

/* Cart, checkout and order confirmation share an intentionally quiet surface. */
.kp-commerce-page { min-height:55vh; }
.kp-commerce-page > .wp-block-post-title { max-width:1320px; margin-inline:auto; margin-bottom:2rem; }
.kp-commerce-page .wc-block-components-sidebar-layout { gap:clamp(1.5rem,4vw,3.5rem); }
.kp-commerce-page .wc-block-components-sidebar {
  box-sizing:border-box; padding:clamp(1.2rem,2.4vw,2rem)!important; border:1px solid var(--kp-border);
  border-radius:24px; background:var(--kp-surface); box-shadow:var(--kp-shadow-card);
}
.kp-commerce-page .wc-block-components-main { box-sizing:border-box; }
.kp-commerce-page .wc-block-components-totals-wrapper { border-color:var(--kp-border); }
.kp-commerce-page :where(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select,textarea) {
  border-color:var(--kp-border-strong)!important; border-radius:12px!important; background:#fff!important; color:var(--kp-ink)!important;
}
.kp-commerce-page :where(input,select,textarea):focus { border-color:var(--wp--preset--color--primary)!important; box-shadow:0 0 0 2px rgba(36,69,66,.12)!important; outline:0!important; }
.wc-block-components-button {
  border:0; border-radius:999px!important; min-height:48px; background:var(--wp--preset--color--primary); color:var(--wp--preset--color--warm-white);
  font-family:var(--wp--preset--font-family--sans); font-weight:700; transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.wc-block-components-button:hover { transform:translateY(-1px); background:var(--wp--preset--color--primary-deep); box-shadow:0 10px 30px rgba(11,47,44,.16); }
.wc-block-cart__submit-container { background:var(--kp-canvas); }
.wc-block-cart__submit-container:before { color:rgba(11,47,44,.1); }
.wc-block-components-order-summary-item__quantity {
  background:var(--kp-surface); border-color:var(--wp--preset--color--primary); box-shadow:0 0 0 2px var(--kp-surface); color:var(--wp--preset--color--primary);
}
.kp-order-confirmation > * { max-width:920px; }
.kp-order-confirmation > :first-child { margin-top:0; }
.kp-order-confirmation .wc-block-order-confirmation-address-wrapper > .wp-block-column {
  padding:1.5rem; border:1px solid var(--kp-border); border-radius:20px; background:var(--kp-surface);
}

@media (max-width:781px) {
  .kp-header-inner { min-height:56px; }
  .kp-shop-shell,.kp-product-shell,.kp-commerce-page { padding-top:var(--wp--preset--spacing--50)!important; padding-bottom:var(--wp--preset--spacing--70)!important; }
  .kp-shop-toolbar { align-items:stretch!important; }
  .kp-shop-toolbar select { width:100%; }
  .kp-product-summary { position:static; padding:1.25rem; }
  .kp-product-hero { gap:1.5rem!important; }
  .kp-checkout-header p { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .kp-product-card,.kp-product-card .wp-block-woocommerce-product-image img,.wc-block-components-button { transition:none!important; }
  .kp-product-card:hover,.kp-product-card:hover .wp-block-woocommerce-product-image img,.wc-block-components-button:hover { transform:none!important; }
}

/* v12 — reference-led header and hero */
.kp-site-header--v9 {
  padding-top:1rem!important; padding-bottom:0!important; border:0!important; background:transparent!important; backdrop-filter:none; -webkit-backdrop-filter:none;
}
.kp-site-header--v9.kp-is-scrolled { background:transparent!important; box-shadow:none; }
.kp-site-header--v9 .kp-header-inner {
  box-sizing:border-box; min-height:66px; padding:.55rem .65rem .55rem 1rem; border:1px solid rgba(36,69,66,.09); border-radius:18px;
  background:rgba(255,253,249,.96); box-shadow:0 12px 38px rgba(11,47,44,.075); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
}
.kp-site-header--v9.kp-is-scrolled .kp-header-inner { box-shadow:0 16px 48px rgba(11,47,44,.12); }
.kp-site-header--v9 .kp-brand-lockup { min-width:max-content; }
.kp-site-header--v9 .wp-block-site-logo img { width:44px; height:44px; object-fit:contain; }
.kp-site-header--v9 .kp-main-navigation { font-size:.82rem; }
.kp-site-header--v9 .kp-header-actions { gap:.7rem!important; }
.kp-site-header--v9 .kp-header-cta .wp-block-button__link { min-height:44px; padding:.65rem 1.15rem; }
.kp-header-search summary svg { display:block; }
body.admin-bar .kp-site-header { top:32px; }

.kp-home-hero--v12 { position:relative; overflow:hidden; }
.kp-v12-hero-shell {
  position:relative; min-height:650px; overflow:hidden; border:1px solid rgba(36,69,66,.08); border-radius:28px;
  box-shadow:0 24px 70px rgba(11,47,44,.08);
}
.kp-v12-hero-content { position:relative; z-index:4; box-sizing:border-box; display:flex; align-items:center; padding:clamp(2.5rem,5vw,5rem) clamp(2rem,4.5vw,4.6rem); }
.kp-v12-hero-copy { width:100%; max-width:650px; margin-left:0!important; }
.kp-v12-hero-title { max-width:10.5ch; margin:.45rem 0 1rem; font-size:clamp(3.15rem,5vw,4.8rem)!important; line-height:.98!important; letter-spacing:-.045em; }
.kp-v12-hero-lede { max-width:560px; margin-top:0; line-height:1.65; }
.kp-v12-hero-buttons { gap:.7rem!important; margin-top:1.65rem!important; }
.kp-v12-benefits { padding-top:1.35rem; border-top:1px solid rgba(36,69,66,.1); }
.kp-v12-benefits .wp-block-column { min-width:0; padding-right:.9rem; }
.kp-v12-benefits .wp-block-column + .wp-block-column { padding-left:.9rem; border-left:1px solid rgba(36,69,66,.1); }
.kp-v12-benefits p { margin:.6rem 0 0; line-height:1.35; }
.kp-v12-benefits p span { color:#6f7e79; font-size:.7rem; }
.kp-v12-benefit-icon { display:grid; place-items:center; width:31px; height:31px; border:1px solid rgba(36,69,66,.2); border-radius:10px; color:#244542; font-size:.9rem; }
.kp-v12-hero-media { position:relative; isolation:isolate; min-height:650px; overflow:hidden; background:#dfe6e3; }
.kp-v12-hero-media:after {
  content:""; position:absolute; z-index:2; left:-170px; top:-8%; width:255px; height:116%; border-radius:50%; background:#fffdfc; pointer-events:none;
}
.kp-v12-hero-photo { position:absolute; inset:0; z-index:1; margin:0!important; }
.kp-v12-hero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 24%; border-radius:0!important; }
.kp-v12-name-card { position:absolute; z-index:4; right:1.25rem; top:12%; width:min(205px,44%); box-shadow:0 14px 40px rgba(11,47,44,.11); }
.kp-v12-name-card p { margin:0; line-height:1.35; }
.kp-v12-signature { position:absolute; z-index:4; right:1.7rem; bottom:2rem; max-width:10ch; margin:0; padding:.6rem .75rem; border-radius:12px; background:rgba(255,253,249,.76); color:#50625b; font-family:var(--wp--preset--font-family--editorial); font-size:1.2rem; font-style:italic; line-height:1.12; text-align:center; transform:rotate(-4deg); backdrop-filter:blur(7px); }
.kp-v12-leaves { position:absolute; z-index:3; left:1%; top:14%; width:150px; height:390px; opacity:.5; pointer-events:none; }
.kp-v12-leaves:before { content:""; position:absolute; left:72px; top:0; bottom:0; width:1px; background:#78958b; transform:rotate(8deg); }
.kp-v12-leaves i { position:absolute; width:70px; height:118px; border:1px solid rgba(80,98,91,.35); border-radius:100% 0 100% 0; background:rgba(229,236,229,.65); }
.kp-v12-leaves i:nth-child(1) { left:0; top:35px; transform:rotate(-34deg); }
.kp-v12-leaves i:nth-child(2) { right:0; top:140px; transform:rotate(42deg); }
.kp-v12-leaves i:nth-child(3) { left:12px; top:245px; transform:rotate(-30deg) scale(.85); }

@media (max-width:1100px) {
  .kp-v12-hero-shell { min-height:590px; }
  .kp-v12-hero-content { padding:2.7rem 2.2rem; }
  .kp-v12-hero-title { font-size:clamp(2.8rem,5.2vw,4rem)!important; }
  .kp-v12-hero-media { min-height:590px; }
  .kp-v12-hero-media:after { left:-180px; }
  .kp-v12-leaves { left:-2%; transform:scale(.8); }
}
@media (max-width:900px) {
  .kp-site-header--v9 { padding-top:.6rem!important; }
  .kp-site-header--v9 .kp-header-inner { min-height:58px; border-radius:15px; }
  .kp-v12-hero-shell { display:grid!important; grid-template-columns:1fr; }
  .kp-v12-hero-shell > .wp-block-column { width:auto!important; flex-basis:auto!important; }
  .kp-v12-hero-content { padding:clamp(2.2rem,7vw,4rem); }
  .kp-v12-hero-copy { max-width:720px; }
  .kp-v12-hero-title { max-width:12ch; font-size:clamp(3rem,9vw,4.6rem)!important; }
  .kp-v12-hero-media { min-height:600px; }
  .kp-v12-hero-media:after { display:none; }
  .kp-v12-leaves { left:0; }
}
@media (max-width:600px) {
  body.admin-bar .kp-site-header { top:46px; }
  .kp-site-header--v9 .kp-header-inner { padding:.4rem .5rem .4rem .7rem; }
  .kp-site-header--v9 .wp-block-site-logo img { width:38px!important; height:38px; }
  .kp-site-header--v9 .wp-block-site-title { font-size:1.02rem!important; }
  .kp-home-hero--v12 { padding-top:.65rem!important; }
  .kp-v12-hero-shell { border-radius:20px; }
  .kp-v12-hero-content { padding:2.2rem 1.25rem 2rem; }
  .kp-v12-hero-title { font-size:clamp(2.75rem,13vw,3.7rem)!important; }
  .kp-v12-hero-buttons { display:grid; grid-template-columns:1fr; }
  .kp-v12-hero-buttons .wp-block-button,.kp-v12-hero-buttons .wp-block-button__link { width:100%; }
  .kp-v12-benefits { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0!important; }
  .kp-v12-benefits .wp-block-column { padding:0 .55rem!important; border-left:1px solid rgba(36,69,66,.1); }
  .kp-v12-benefits .wp-block-column:first-child { padding-left:0!important; border-left:0; }
  .kp-v12-benefits strong { font-size:.7rem; }
  .kp-v12-hero-media { min-height:500px; }
  .kp-v12-name-card { right:.7rem; top:.7rem; width:min(200px,58%); }
  .kp-v12-signature { right:.7rem; bottom:.8rem; }
  .kp-v12-leaves { left:-2rem; top:12%; transform:scale(.7); transform-origin:left top; }
}
