/* Shared by the site and Gutenberg. Colours and type remain in theme.json. */
@font-face{font-family:"Caveat";font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/caveat-latin.woff2') format('woff2')}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:200 900;font-display:swap;src:url('../fonts/nunito-sans-latin.woff2') format('woff2')}
:root{--kk-radius:12px;--kk-shadow:0 5px 20px #303f3909;--kk-gutter:clamp(1.25rem,4vw,3.5rem)}
html{scroll-behavior:smooth}
body{margin:0}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto}
.wp-site-blocks{padding:0}
.wp-site-blocks>*,.kk-main>*{margin-block-start:0}
.wp-site-blocks>header,.wp-site-blocks>footer,.kk-main{margin-inline:0;max-width:none}
.kk-main{padding:0}
:where(a,button,input,textarea,select):focus-visible{outline:3px solid var(--wp--preset--color--ink);outline-offset:5px}
a{text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
.wp-block-heading{overflow-wrap:break-word}
.wp-block-button__link{transition:background-color .18s ease,transform .18s ease;box-shadow:inset 0 1px 0 #ffffff40;text-decoration:none}
.wp-block-button__link span{display:inline-block;margin-left:1.1rem;font-size:1.25em;line-height:1}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:1rem}
.wp-block-button__link:hover{background:var(--wp--preset--color--paper);color:var(--wp--preset--color--ink);transform:translateY(-1px)}
.wp-block-button.is-style-secondary .wp-block-button__link{background:var(--wp--preset--color--sand);border-color:var(--wp--preset--color--sand);color:var(--wp--preset--color--ink)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border:1px solid var(--wp--preset--color--olive);color:var(--wp--preset--color--ink)}
.kk-header{background:var(--wp--preset--color--cream);position:relative;z-index:5}
.kk-header-inner{max-width:1320px;margin:auto;min-height:104px;padding:1rem var(--kk-gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem}
.kk-brand{display:flex;align-items:center;gap:1rem;flex:0 1 300px}
.kk-brand>*{margin:0}
.kk-brand:not(:has(.custom-logo-link))::before{content:'';display:block;width:76px;height:58px;flex-shrink:0;background:url('../images/logo-placeholder.svg') center/contain no-repeat}
.kk-brand .wp-block-site-title{max-width:225px}
.kk-brand .wp-block-site-title a{color:inherit;text-decoration:none}
.kk-brand .wp-block-site-logo{flex-shrink:0}
.kk-header-actions{display:flex;align-items:center;gap:1.8rem;margin:0}
.kk-header .wp-block-navigation__container{gap:clamp(1rem,1.8vw,2rem)}
.kk-header .wp-block-navigation a{color:var(--wp--preset--color--ink);white-space:nowrap}
.kk-header .wp-block-navigation .current-menu-item>a{color:var(--wp--preset--color--rust)}
.kk-header-search{width:auto;margin:0}
.kk-header-search .wp-block-search__button{padding:.6rem;background:none;color:var(--wp--preset--color--ink);border:0;border-radius:6px;margin-left:0}
.kk-header-search .wp-block-search__inside-wrapper{border:0;padding:0}
.kk-header-search .wp-block-search__input{max-width:180px}
.kk-hero{position:relative;isolation:isolate;min-height:560px;max-width:1600px;margin:auto;overflow:hidden;background:linear-gradient(105deg,#f5ebdf 10%,#ebdaca 100%)}
.kk-hero-copy{position:relative;z-index:2;width:59%;padding:clamp(3rem,6.2vw,6rem) 0 5rem max(var(--kk-gutter),calc((100% - 1200px)/2));margin:0}
.kk-hero-copy h1{font-size:clamp(3rem,4.7vw,4.8rem);line-height:1.04;font-weight:500;letter-spacing:-.025em;max-width:650px;margin:0}
.kk-hero-copy h1::after{content:'♡';position:absolute;top:2.8rem;right:8%;color:var(--wp--preset--color--coral);font-size:3.8rem;transform:rotate(16deg);pointer-events:none}
.kk-hero-copy p{font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.65;margin-top:1.7rem;max-width:500px}
.kk-hero-copy .wp-block-buttons{margin-top:2rem}
.kk-hero-image{position:absolute;right:0;bottom:0;width:61%;height:100%;margin:0!important;z-index:0}
.kk-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
.kk-hero-image{mask-image:linear-gradient(to right,transparent,#000 18%)}
.kk-handnote{position:absolute;right:5%;top:1.5rem;z-index:1;font:400 clamp(1.2rem,1.8vw,1.7rem)/1.2 var(--wp--preset--font-family--hand);text-align:center;transform:rotate(-8deg);margin:0}
.kk-hero-compact{min-height:340px;border-radius:var(--kk-radius)}
.kk-hero-compact .kk-hero-copy{padding:2.8rem;width:55%}
.kk-hero-compact .kk-hero-copy h2{font-size:clamp(2.2rem,3.4vw,3.3rem);max-width:400px;margin:0}
.kk-hero-compact .kk-hero-image{width:65%}
.kk-features{max-width:1320px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;padding:2rem var(--kk-gutter) 3rem;margin:0 auto;text-align:center}
.kk-feature{margin:0}
.kk-icon{width:52px;margin:0 auto 1rem}
.kk-icon img{display:block;width:100%;height:auto}
.kk-feature h3{font-size:1.7rem;margin:0 0 .3rem;font-weight:600}
.kk-feature p{font-size:.925rem;line-height:1.5;margin:0}
.kk-book{position:relative;background:var(--wp--preset--color--sage);margin:1rem 0 0;padding:1rem 0}
.kk-book::before,.kk-book::after{content:'';position:absolute;left:0;width:100%;height:70px;background:url('../images/wave.svg') center/100% 100% no-repeat;pointer-events:none}
.kk-book::before,.kk-book::after{background:var(--wp--preset--color--sage);mask:url('../images/wave.svg') center/100% 100% no-repeat}
.kk-book::before{top:-49px}
.kk-book::after{bottom:-49px;transform:rotate(180deg)}
.kk-book-inner{position:relative;display:grid;grid-template-columns:minmax(220px, .8fr) minmax(0,1.1fr) minmax(130px,.45fr);align-items:center;gap:2.5rem;max-width:1250px;margin:auto;padding:.5rem var(--kk-gutter)}
.kk-book-inner::after{content:'';position:absolute;right:1%;top:0;width:90px;height:230px;background:url('../images/paw-trail.svg') center/contain no-repeat;opacity:.45;pointer-events:none}
.kk-book-cover{max-width:320px;transform:rotate(-4deg);margin:-1.5rem 0 -1rem;z-index:1;filter:drop-shadow(5px 15px 10px #303f3920)}
.kk-book-cover img{display:block;width:100%}
.kk-book-copy{margin:0;position:relative;z-index:1}
.kk-book-copy h2{font-size:3.4rem;margin:0 0 1.25rem}
.kk-book-copy p{margin:0;line-height:1.55}
.kk-book-copy .wp-block-buttons{margin-top:1.75rem}
.kk-book-note{font:400 1.8rem/1.1 var(--wp--preset--font-family--hand);transform:rotate(-10deg);margin:7rem 0 0;text-align:center;position:relative;z-index:1}
.kk-section{max-width:1250px;margin:0 auto;padding:3rem var(--kk-gutter)}
.kk-blog{padding-top:5rem}
.kk-section>h2{margin:0 0 1.2rem}
.kk-posts{margin:0}
.kk-posts .wp-block-post-template,.kk-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.kk-posts .wp-block-post-template{padding:0;list-style:none}
.kk-post-card{background:#ffffff70;box-shadow:var(--kk-shadow);border:1px solid #d9cdbc55;border-radius:var(--kk-radius);overflow:hidden;height:100%;margin:0}
.kk-card-image,.kk-post-image{margin:0}
.kk-card-image img,.kk-post-image img{display:block;aspect-ratio:2;object-fit:cover;width:100%}
.kk-card-body{padding:1.15rem 1.2rem 1.35rem;margin:0}
.kk-card-body h3{font-size:1.75rem;line-height:1.1;margin:0 0 .5rem}
.kk-card-body p{font-size:.95rem;line-height:1.5;margin:.5rem 0}
.kk-card-body .wp-block-post-excerpt{margin:0}
.kk-card-body .wp-block-read-more,.kk-text-link{font-size:.9rem;margin-top:1rem;display:block}
.kk-text-link a{text-decoration:none}
.kk-text-link span{margin-left:.45rem}
.kk-extras{padding-top:1rem;padding-bottom:4rem}
.kk-quote{position:relative;padding:2rem 5rem;margin:0;background:linear-gradient(105deg,#e3e4d7,#eef0e6);border-radius:var(--kk-radius);font:400 1.9rem/1.25 var(--wp--preset--font-family--hand);border:0}
.kk-quote p{margin:0}
.kk-quote::before{content:'“';position:absolute;left:1.8rem;top:.75rem;font-size:5rem}
.kk-quote::after{content:'';position:absolute;right:1rem;top:1rem;width:65px;height:90px;background:url('../images/paw-trail.svg') center/cover no-repeat;opacity:.6}
.kk-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:1.5rem}
.kk-two-col>*{margin:0}
.is-style-kk-card{border-radius:var(--kk-radius);padding:1.5rem;background:#ffffff70;border:1px solid #d9cdbc55;box-shadow:var(--kk-shadow)}
.is-style-kk-sage{padding:2rem;background:var(--wp--preset--color--sage);border-radius:var(--kk-radius)}
.kk-about{display:grid;grid-template-columns:110px minmax(0,1fr);gap:1.5rem;align-items:center}
.kk-about>*{margin:0}
.kk-about h3{margin:0 0 .5rem;font-size:1.9rem}
.kk-about p{font-size:.95rem;line-height:1.5;margin:.5rem 0 0}
.is-style-kk-portrait{margin:0}
.is-style-kk-portrait img{aspect-ratio:1;object-fit:cover;border-radius:50%;display:block}
.kk-contact-icon{background:var(--wp--preset--color--paper);border-radius:50%;padding:1.5rem;aspect-ratio:1;display:flex;align-items:center}
.kk-newsletter{max-width:760px;margin:1.5rem auto 0;padding:2rem}
.kk-newsletter-heading{display:flex;align-items:flex-start;gap:1.2rem}
.kk-newsletter-heading>*{margin:0}
.kk-newsletter-heading .kk-icon{flex:0 0 42px}
.kk-newsletter h3{font-size:1.8rem;margin:0 0 .5rem}
.kk-newsletter p{font-size:.95rem;margin:0}
.kk-integration-slot{margin-top:1.5rem;border:1px dashed var(--wp--preset--color--olive);border-radius:8px;padding:1.25rem;background:#faf6f080}
.kk-integration-slot>p{margin:0}
.kk-button-showcase{display:flex;gap:1.5rem;flex-wrap:wrap}
.kk-button-showcase>*{margin:0}
.kk-footer{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--cream);padding:2.5rem var(--kk-gutter)}
.kk-footer-inner{max-width:1140px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.kk-footer a{color:inherit}
.kk-footer :where(a,button):focus-visible{outline-color:var(--wp--preset--color--cream)}
.kk-footer .wp-block-navigation{font-size:.9rem}
.kk-footer-thanks{font:400 2.2rem/1.2 var(--wp--preset--font-family--hand);margin:0 0 1.3rem}
.kk-legal{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;font-size:.8rem;margin-top:1.2rem}
.kk-legal>*{margin:0}
.kk-footer-cats{width:160px;margin:0;flex-shrink:0}
.kk-footer-cats img{width:100%;display:block}
.kk-page{padding-block:3rem 5rem;min-height:60vh}
.kk-page>h1{margin-top:0}
.kk-page .kk-book{margin-block:4rem}
.kk-page .kk-book-inner{grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);gap:1.75rem;padding:1.5rem}
.kk-page .kk-book-note{display:none}
.kk-page .kk-section{padding-inline:0}
.kk-archive{min-height:65vh;padding-top:3rem;padding-bottom:5rem}
.kk-archive>.wp-block-query{margin-top:2.5rem}
.kk-archive .wp-block-query-pagination{margin-top:2.5rem}
.kk-post-meta,.kk-post-navigation{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.9rem}
.kk-post-meta{margin-bottom:2rem}
.kk-post-navigation{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--wp--preset--color--sand)}
.kk-about-page{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);gap:2rem;align-items:center;margin-bottom:2rem}
input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select{font:inherit;color:var(--wp--preset--color--ink);background:var(--wp--preset--color--cream);border:1px solid var(--wp--preset--color--olive);border-radius:6px;padding:.7rem .9rem;max-width:100%}
textarea{width:100%;min-height:140px}
input[type=submit],.wp-block-search__button{font:700 1rem/1.4 var(--wp--preset--font-family--body);background:var(--wp--preset--color--coral);color:var(--wp--preset--color--button-ink);border:1px solid var(--wp--preset--color--coral);border-radius:8px;padding:.7rem 1.2rem;cursor:pointer}
.wp-block-search{max-width:100%}
.wp-block-search__inside-wrapper{max-width:100%}
.wp-block-search__input{min-width:0}
.wp-block-table{overflow-x:auto}
.wp-block-table th,.wp-block-table td{padding:.75rem;border-color:var(--wp--preset--color--sand)}
.wp-block-table thead{background:var(--wp--preset--color--paper)}
.wp-block-post-content li{margin-bottom:.3rem}
.wp-block-post-content pre{overflow:auto}
.wp-block-post-content blockquote:not(.kk-quote){margin-inline:0;padding:1rem 1.5rem;border-left:3px solid var(--wp--preset--color--coral)}
.wp-block-social-links{gap:1rem}
.editor-styles-wrapper .kk-main{margin-inline:0}
.editor-styles-wrapper .kk-integration-slot{outline:1px dashed var(--wp--preset--color--olive)}
@media(min-width:1600px){.kk-hero{border-radius:0 0 16px 16px}}
@media(max-width:1100px){
 .kk-header-inner{gap:1rem}.kk-brand{flex-basis:240px}.kk-brand .wp-block-site-title{font-size:1.45rem}.kk-header-actions{gap:.6rem}.kk-header .wp-block-navigation{font-size:.8rem}.kk-header .wp-block-navigation__container{gap:1rem}
 .kk-book-inner{grid-template-columns:minmax(190px,.75fr) minmax(0,1.2fr)}.kk-book-note{display:none}.kk-book-inner::after{right:0;width:65px}.kk-book-copy{padding-right:1rem}
 .kk-about{grid-template-columns:85px minmax(0,1fr);gap:1rem}.kk-contact-icon{padding:1rem}
}
@media(max-width:900px){
 .kk-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.kk-header .wp-block-navigation__responsive-container-open{display:flex!important}
 .kk-header .wp-block-navigation__responsive-container.is-menu-open{padding:2rem;background:var(--wp--preset--color--cream);color:var(--wp--preset--color--ink)}
 .kk-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:1.5rem;font-size:1.2rem}
 .kk-header-inner{min-height:90px}.kk-brand{flex-basis:300px}.kk-header-search{display:none}
 .kk-hero{min-height:500px}.kk-hero-copy{width:65%;padding-top:3.5rem}.kk-hero-copy h1{font-size:3.3rem}.kk-hero-copy h1::after{top:.5rem;font-size:3rem}.kk-handnote{font-size:1.3rem;right:2%;top:1.5rem}.kk-hero-image{width:72%}
 .kk-features{gap:1rem}.kk-feature h3{font-size:1.5rem}.kk-feature p{font-size:.8rem}
 .kk-posts .wp-block-post-template,.kk-editorial-grid{gap:1rem}.kk-card-body{padding:1rem}.kk-card-body h3{font-size:1.5rem}
 .kk-two-col{grid-template-columns:1fr}
}
@media(max-width:600px){
 .kk-header-inner{min-height:82px;padding:.8rem 1.25rem}.kk-brand{gap:.6rem;flex-basis:250px}.kk-brand .wp-block-site-title{font-size:1.5rem;max-width:185px}.kk-brand .wp-block-site-logo{max-width:60px}
 .kk-hero{min-height:0;display:flex;flex-direction:column}.kk-hero-copy{width:100%;padding:2rem 1.4rem 0;text-align:center}.kk-hero-copy h1{font-size:2.75rem;line-height:1.07;letter-spacing:-.025em}.kk-hero-copy h1::after{display:none}.kk-hero-copy p{font-size:1rem;margin:1rem auto 0;max-width:310px}.kk-hero-copy p br{display:none}.kk-hero-copy .wp-block-buttons{justify-content:center;margin-top:1.4rem}.kk-hero-image{position:relative;width:100%;height:230px;margin-top:-.25rem!important}.kk-hero-image img{object-fit:cover;object-position:50% 75%}.kk-handnote{display:none}
 .kk-hero-compact .kk-hero-copy{width:100%;padding:2rem 1.25rem 0}.kk-hero-compact .kk-hero-copy h2{font-size:2.5rem;margin:auto}.kk-hero-compact .kk-hero-image{width:100%;height:200px}
 .kk-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem;padding:1.75rem 1.25rem 3rem}.kk-icon{width:42px;margin-bottom:.65rem}.kk-feature h3{font-size:1.45rem}.kk-feature p{font-size:.8rem}
 .kk-book{margin-top:1.5rem}.kk-book-inner,.kk-page .kk-book-inner{grid-template-columns:1fr;padding:1rem 1.5rem 2rem;gap:1.5rem;text-align:center}.kk-book-cover{max-width:220px;margin:-1.5rem auto 0}.kk-book-copy{padding:0}.kk-book-copy h2{font-size:2.9rem;margin-bottom:1rem}.kk-book-copy p{font-size:1rem}.kk-book-copy .wp-block-buttons{justify-content:center}.kk-book-inner::after{top:1rem;right:1rem}
 .kk-blog{padding-top:5rem}.kk-section{padding-inline:1.25rem}.kk-posts .wp-block-post-template,.kk-editorial-grid{grid-template-columns:1fr;gap:1.25rem}.kk-card-body h3{font-size:1.8rem}.kk-card-body{padding:1.1rem 1.25rem 1.3rem}
 .kk-quote{padding:1.5rem 2.4rem;font-size:1.65rem}.kk-quote::before{left:.5rem;top:.5rem;font-size:3rem}.kk-quote::after{width:40px;right:.2rem;opacity:.3}
 .kk-about{grid-template-columns:80px minmax(0,1fr);padding:1.15rem}.kk-about h3{font-size:1.8rem}.kk-about p{font-size:.875rem}.kk-newsletter{padding:1.4rem}.kk-newsletter-heading{gap:.85rem}.kk-newsletter-heading .kk-icon{flex-basis:32px}.kk-newsletter h3{font-size:1.6rem}
 .kk-footer-inner{align-items:flex-start}.kk-footer-cats{width:75px;align-self:flex-end}.kk-footer-thanks{font-size:1.9rem}.kk-footer .wp-block-navigation__container{gap:.8rem 1.1rem}.kk-legal{gap:.8rem}
 .kk-page{padding-block:2rem 3rem}.kk-page h1{font-size:2.8rem}.kk-about-page{grid-template-columns:1fr}.kk-about-page>.is-style-kk-portrait{max-width:220px;margin:auto}.kk-button-showcase{flex-direction:column}.kk-post-navigation{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wp-block-button__link{transition:none}.wp-block-button__link:hover{transform:none}}
@media(max-width:600px){.kk-hero-copy h1{font-size:clamp(2rem,9.4vw,2.6rem)}.kk-hero-image{height:190px;mask-image:none}.kk-hero-image img{object-position:50% 100%}}
