@import url('./fonts.css');
:root{--pink:#f097b7;--shell:#fae6e4;--paper:#fff8ee;--berry:#ae2858;--ink:#173b51;--teal:#90c7c1;--sun:#f4bd3b;--line:rgba(23,59,81,.2);--font-sans:var(--gh-font-body,'DM Sans'),sans-serif;--font-serif:var(--gh-font-heading,Arima),Georgia,serif;--font-mono:'DM Mono',monospace;--content-width:760px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:18px;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--berry);outline-offset:6px}::selection{background:var(--teal);color:var(--ink)}h1,h2,h3,h4{font-family:var(--font-serif);line-height:1.1;letter-spacing:-.035em;font-weight:700}h1{font-size:clamp(3.2rem,6vw,6.5rem)}h2{font-size:clamp(2.4rem,4.5vw,4.5rem)}h3{font-size:clamp(1.7rem,3vw,2.5rem)}p{margin:0 0 1.4em}.wrap{width:min(1260px,calc(100% - 64px));margin-inline:auto}.eyebrow,.post-meta{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em}.eyebrow{text-transform:uppercase}.skip-link{position:absolute;top:-100px;left:16px;z-index:100;background:var(--paper);padding:12px}.skip-link:focus{top:12px}.site-header{background:var(--pink);position:relative;z-index:10}.nav{display:flex;align-items:center;gap:32px;min-height:110px}.brand-mark{font-family:'Rubik Bubbles',sans-serif;font-size:2.6rem;letter-spacing:-.04em;line-height:.8;text-decoration:none;text-align:center;display:inline-block}.brand-mark small{font-family:var(--font-mono);display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;line-height:1;margin-top:9px}.site-header nav{margin-left:auto}.nav ul,.site-footer ul{list-style:none;display:flex;gap:28px;padding:0;margin:0}.nav li a{font: .75rem var(--font-mono);text-decoration:none;text-transform:uppercase}.nav li a:hover{text-decoration:underline}.site-footer{background:var(--pink);padding:64px 0 24px}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:32px}.footer-grid p{margin:0;font-size:1rem}.footer-grid>a:last-child{font-size:.9rem}.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:.75rem}
/* The editor owns order. Layout targets native card types, never child positions. */
.gh-content{display:grid;grid-template-columns:[full-start] minmax(24px,1fr) [wide-start] minmax(0,200px) [main-start] min(760px,calc(100% - 48px)) [main-end] minmax(0,200px) [wide-end] minmax(24px,1fr) [full-end];padding-bottom:72px;overflow-wrap:anywhere}.gh-content>*{grid-column:main;min-width:0}.gh-content>*+*{margin-top:24px}.gh-content>h2,.gh-content>h3{margin-top:64px;margin-bottom:0}.gh-content>p{margin-bottom:0}.gh-content>.kg-width-wide{grid-column:wide}.gh-content>.kg-width-full{grid-column:full}.gh-content>figure{margin:24px 0 16px}.gh-content>hr{width:100%;border:0;border-top:1px solid var(--line);margin-block:64px}.gh-content blockquote{font-family:var(--font-serif);font-size:1.8rem;line-height:1.5;border-left:4px solid var(--berry);padding-left:28px;margin-inline:0}.gh-content figcaption{font: .75rem/1.6 var(--font-mono);text-align:center;margin-top:16px}.gh-content ul,.gh-content ol{padding-left:1.5em}.gh-content li+li{margin-top:.6em}.gh-content pre{overflow:auto;background:var(--ink);color:var(--paper);padding:24px;border-radius:8px}.gh-content iframe{max-width:100%}.gh-content table{display:block;overflow:auto;border-collapse:collapse}.gh-content th,.gh-content td{padding:12px;border:1px solid var(--line)}
/* Header cards are the section building blocks, including the hero. */
.kg-header-card.kg-v2{padding:0!important;margin-top:64px;min-height:auto}.gh-content .kg-header-card.kg-v2 .kg-header-card-content{padding:80px max(32px,calc((100vw - 1196px)/2));gap:64px}.gh-content .kg-header-card.kg-v2 .kg-header-card-text{padding:0!important;max-width:100%}.gh-content .kg-header-card.kg-v2 h2.kg-header-card-heading{font-family:var(--font-serif);font-size:clamp(3.3rem,7.2vw,7rem);font-weight:700;letter-spacing:-.045em;line-height:1.02}.gh-content .kg-header-card.kg-v2 h2.kg-header-card-heading strong{font-weight:700}.gh-content .kg-header-card.kg-v2 .kg-header-card-subheading{font-family:var(--font-sans);font-size:clamp(1.05rem,1.4vw,1.35rem);line-height:1.65;max-width:620px;margin-top:28px}.gh-content .kg-header-card.kg-v2 .kg-header-card-button{margin-top:32px}.gh-content .kg-header-card.kg-v2 .kg-header-card-image{border:10px solid #fff;box-shadow:0 20px 45px #173b5118;height:auto;min-height:0;aspect-ratio:3/4;max-height:650px;object-fit:cover;transform:rotate(2deg)}.homepage-content{padding-bottom:0}.homepage-content>.kg-header-card{margin-top:0}
.kg-gallery-card{grid-column:wide}.kg-gallery-container{display:flex;flex-direction:column;gap:16px}.kg-gallery-row{display:flex;gap:16px}.kg-gallery-image{flex:1;min-width:0}.kg-gallery-image img{width:100%;height:100%;object-fit:cover;border:8px solid white}.kg-image-card img{margin-inline:auto;border:8px solid white}.kg-callout-card{border:1px solid var(--line);border-radius:12px;padding:28px!important;background:var(--shell)}.kg-callout-card .kg-callout-emoji{font:500 1.1rem/1.7 var(--font-mono);flex:0 0 2rem;width:2rem;white-space:nowrap;word-break:normal}.kg-callout-card .kg-callout-text{font-size:1.05rem;line-height:1.7}.kg-toggle-card{border:0!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important;border-radius:0!important;padding:24px 0!important}.kg-toggle-card .kg-toggle-heading-text{font:700 1.3rem/1.4 var(--font-serif)!important}.kg-toggle-card .kg-toggle-content{font:1rem/1.75 var(--font-sans)}.kg-toggle-card-icon{background:var(--shell);border-radius:50%;min-width:36px;min-height:36px}.kg-product-card-container{background:var(--shell);border-radius:14px;border:1px solid var(--line);padding:32px!important;box-shadow:none!important}.kg-product-card-title{font-family:var(--font-serif)!important}.kg-bookmark-container{color:var(--ink);border:1px solid var(--line);border-radius:8px;text-decoration:none}.kg-bookmark-content{padding:24px}.kg-bookmark-title{font-weight:700}.kg-bookmark-description{font-size:.9rem}.kg-bookmark-metadata{font-size:.75rem}.kg-video-card,.kg-audio-card{max-width:100%}.kg-button-card{text-align:center}.kg-button-card.kg-align-left{text-align:left}.kg-button-card.kg-align-right{text-align:right}.kg-embed-card>*{margin-inline:auto}.kg-file-card a{color:var(--ink)}
.journal{padding-block:72px 100px}.journal-heading{max-width:850px;margin-bottom:64px}.journal-heading h1{margin:16px 0 24px}.journal-heading>p:last-child{font-size:1.2rem}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}.post-card img{aspect-ratio:4/3;width:100%;object-fit:cover;border:8px solid white;margin-bottom:24px}.post-card h2{font-size:2rem;margin:12px 0 20px}.post-card h2 a{text-decoration:none}.post-card>p{font-size:1rem}.post-card .post-meta{font-size:.7rem}.pagination{display:flex;justify-content:space-between;gap:24px;margin-top:72px;padding-top:24px;border-top:1px solid var(--line);font: .8rem var(--font-mono)}.article{padding-top:72px}.article-heading{max-width:960px;text-align:center;margin-bottom:48px}.article-heading h1{margin:20px 0 28px}.article-intro{font-size:1.3rem}.article-feature{margin-block:0 64px}.article-feature img{width:100%;max-height:800px;object-fit:cover;border:10px solid white}.article-feature figcaption{text-align:center;font-size:.8rem;margin-top:16px}.article-end{display:flex;justify-content:space-between;gap:24px;padding-block:40px 72px;border-top:1px solid var(--line);font-size:.9rem}.empty-state{padding-block:90px;min-height:45vh}.empty-state h1{margin:0 0 32px}
@media(max-width:850px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gh-content .kg-header-card.kg-v2 .kg-header-card-content{gap:32px;padding:56px 32px}.gh-content .kg-header-card.kg-v2 h2.kg-header-card-heading{font-size:clamp(3rem,7vw,5rem)}.footer-grid{flex-wrap:wrap}.nav{gap:20px}.nav ul{gap:18px}}
@media(max-width:600px){body{font-size:17px}.wrap{width:calc(100% - 40px)}.nav{min-height:94px;gap:16px;flex-wrap:wrap;padding-block:20px}.brand-mark{font-size:2rem}.brand-mark small{font-size:.6rem}.nav nav{order:3;width:100%;margin:0}.nav ul{justify-content:center}.nav-cta{margin-left:auto}.gh-content .kg-header-card.kg-v2 .kg-header-card-content{padding:48px 24px;gap:36px}.gh-content .kg-header-card.kg-v2 h2.kg-header-card-heading{font-size:3.4rem}.gh-content .kg-header-card.kg-v2 .kg-header-card-image{max-height:520px;border-width:7px}.gh-content>h2{margin-top:48px}.kg-gallery-row{gap:8px}.kg-gallery-image img{border-width:4px}.post-grid{grid-template-columns:1fr}.journal{padding-top:48px}.footer-grid{align-items:flex-start;flex-direction:column}.footer-bottom{flex-direction:column}.article{padding-top:40px}.article-end,.pagination{flex-wrap:wrap}.kg-callout-card{padding:20px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* A small brand flourish follows every native split card, wherever it is moved. */
.gh-content .kg-header-card.kg-layout-split .kg-header-card-text{position:relative}
.gh-content .kg-header-card.kg-layout-split .kg-header-card-text::after{content:"";display:block;width:58px;height:58px;margin-top:30px;background:url('../images/twinkle-stars.svg') center/contain no-repeat;pointer-events:none}
@media(prefers-reduced-motion:no-preference){.motion-enabled .kg-header-card-text::after{animation:twinkle 5s ease-in-out infinite}@keyframes twinkle{50%{transform:rotate(9deg) scale(.93)}}}

.kg-toggle-card-icon{color:var(--ink)}.kg-toggle-card-icon svg{color:var(--ink);opacity:1}

/* Supplied brand artwork: dark on pink, light on navy. */
.brand-mark{flex-shrink:0;line-height:0}
.brand-mark img{width:100px;height:auto}
.site-footer{background:var(--ink);color:var(--paper)}
.site-footer .brand-mark img{width:80px}
.site-footer .footer-bottom{border-top-color:rgba(255,248,238,.25)}
.site-footer a:focus-visible{outline-color:var(--sun)}

/* Hero annotations retain the original small DM Mono treatment. */
.gh-content .hero-eyebrow{font:500 .72rem/1.7 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 24px;max-width:34rem}
.gh-content .hero-note{font:.8rem/1.8 var(--font-mono);letter-spacing:.06em;margin:29px 0 0;max-width:36rem}
.gh-content .love-ticker{grid-column:full;margin:0;background:var(--ink);color:var(--paper);display:flex;align-items:center;min-width:0;padding:14px 0;gap:12px}
.love-ticker-window{overflow:hidden;flex:1;min-width:0}
.love-ticker-track{display:flex;width:max-content}
.gh-content .love-ticker-list{display:flex;align-items:center;flex:0 0 auto;min-width:calc(100vw - 100px);justify-content:space-around;list-style:none;padding:0;margin:0;font:500 .69rem/1.8 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
.gh-content .love-ticker-list li{flex:0 0 auto;margin:0;white-space:nowrap}
.love-ticker-list li::after{content:'✦';color:var(--pink);display:inline-block;margin:0 25px}
.love-ticker-list li:nth-child(even)::after{content:'●';color:var(--sun)}
.love-ticker-toggle{flex:none;margin-right:16px;border:1px solid #fff8ee80;border-radius:5px;padding:8px 12px;background:transparent;color:var(--paper);font:.65rem var(--font-mono);min-height:40px;cursor:pointer}
.love-ticker-toggle:focus-visible{outline-color:var(--sun);outline-offset:3px}
.gh-content .love-ticker-duplicate,.love-ticker-toggle{display:none}
.love-ticker-list{flex-wrap:wrap;row-gap:12px}
@media(prefers-reduced-motion:no-preference){
    .motion-enabled .love-ticker-track{animation:love-crawl 45s linear infinite}
    .motion-enabled .love-ticker-list{flex-wrap:nowrap}
    .motion-enabled .gh-content .love-ticker-duplicate{display:flex}
    .motion-enabled .love-ticker-toggle{display:block}
    .motion-enabled .love-ticker:hover .love-ticker-track,.motion-enabled .love-ticker:focus-within .love-ticker-track,.motion-enabled .love-ticker.is-paused .love-ticker-track{animation-play-state:paused}
    @keyframes love-crawl{to{transform:translateX(-50%)}}
}
@media(prefers-reduced-motion:reduce){.love-ticker-track{width:100%}.gh-content .love-ticker-list{min-width:0;width:100%;padding:0 16px}.gh-content .love-ticker-list li{white-space:normal;text-align:center}}
body:not(.motion-enabled) .love-ticker-track{width:100%}
body:not(.motion-enabled) .love-ticker-list{min-width:0;width:100%;padding:0 16px}
body:not(.motion-enabled) .love-ticker-list li{white-space:normal;text-align:center}

/* Original landing-page hero framing and decorative accents. */
.gh-content .love-hero.kg-header-card.kg-layout-split .kg-header-card-text::after{display:none}
.gh-content .love-hero{position:relative;isolation:isolate;overflow:hidden}
.gh-content .love-hero::after{content:"";position:absolute;width:760px;height:760px;right:-180px;bottom:-330px;border-radius:50%;background:var(--teal);z-index:-1;pointer-events:none}
.gh-content .love-hero.kg-header-card.kg-v2 .kg-header-card-content{grid-template-columns:1.15fr .85fr;gap:42px;position:relative;z-index:1}
.gh-content .love-hero .kg-header-card-content>picture{display:block;width:84%;max-width:390px;height:auto;align-self:start;margin:24px 0 0 9%;padding:10px;background:#fff;transform:rotate(2deg) scale(1.1);transform-origin:bottom center;box-shadow:0 20px 45px #173b5118}
.gh-content .love-hero.kg-header-card.kg-v2 .kg-header-card-image{width:100%;height:auto;aspect-ratio:2/3;max-height:none;min-height:0;object-fit:cover;border:0;box-shadow:none;transform:none}
.hero-note .hero-heart{display:inline-block;width:25.6px;height:32px;margin-left:7px;vertical-align:middle;position:relative;top:-6px;overflow:visible}
.hero-heart path{fill:var(--berry);stroke:none}
@media(prefers-reduced-motion:no-preference){
    .motion-enabled .hero-heart .heart{transform-origin:131px 278px;animation:hero-heart-beat 1.5s ease-in-out infinite}
    .motion-enabled .hero-heart .tick{animation:hero-heart-echo 1.5s ease-in-out infinite}
    @keyframes hero-heart-beat{0%,33.333333%,100%{transform:scale(1)}16.666667%{transform:scale(1.1)}}
    @keyframes hero-heart-echo{0%,33.333333%,100%{transform:translate(0,0)}16.666667%{transform:translate(var(--x),var(--y))}}
}
@media(max-width:850px){
    .gh-content .love-hero.kg-header-card.kg-v2 .kg-header-card-content{grid-template-columns:1fr}
    .gh-content .love-hero .kg-header-card-content>picture{grid-column:1;grid-row:2;margin:24px auto 0;transform:rotate(2deg);transform-origin:center}
    .gh-content .love-hero .kg-header-card-text{grid-column:1;grid-row:1}
}
