/*
Theme Name: Kassel entdecken
Description: Schlankes Block-Theme für Kassel entdecken V2.
Version: 0.7.9
Requires at least: 6.7
Requires PHP: 8.2
Text Domain: kassel-entdecken-theme
*/

:root {
	--ke-blue: #353a90;
	--ke-blue-deep: #29306f;
	--ke-orange: #ff914d;
	--ke-cloud: #f5f6ff;
	--ke-paper: #ffffff;
	--ke-text: #303a74;
	--ke-line: #cbd0ee;
}

body { background: var(--ke-paper); color: var(--ke-text); }
.wp-site-blocks { overflow: clip; }
.ke-header { border-bottom: 1px solid var(--ke-line); background: rgba(255,255,255,.96); position: sticky; top: 0; z-index: 20; }
.ke-header .wp-block-site-title { font-size: clamp(1.25rem, 3vw, 1.7rem); font-weight: 800; letter-spacing: -.055em; color: var(--ke-blue); }
.ke-header .wp-block-site-title a { text-decoration: none; }
.ke-header .wp-block-site-title::after { content: ""; display: block; width: 34%; min-width: 2rem; height: .25rem; border-radius: 999px; background: var(--ke-orange); transform: rotate(-2deg); margin-top: .1rem; }
.ke-header .wp-block-navigation-item__content { color: var(--ke-blue-deep); font-weight: 700; text-decoration: none; }
.ke-header .wp-block-navigation__responsive-container-open { color: var(--ke-blue); padding: .65rem; border: 1px solid var(--ke-line); border-radius: .65rem; }
.ke-hero { position: relative; margin-top: clamp(1.25rem, 3vw, 3rem); padding: clamp(2.4rem, 7vw, 6.5rem) clamp(1.2rem, 5vw, 5rem); border-radius: 1.6rem; overflow: hidden; background: linear-gradient(135deg, var(--ke-cloud), #fff 62%); }
.ke-hero::before { content:""; position:absolute; inset: .8rem; border: .18rem solid var(--ke-blue); border-radius: 1.3rem 1.8rem 1.4rem 1.9rem; pointer-events:none; transform: rotate(-.45deg); opacity:.9; }
.ke-hero::after { content:"↗"; position:absolute; right: clamp(1.4rem, 5vw, 4.5rem); bottom: 1.2rem; color:var(--ke-orange); font: 800 clamp(3rem,9vw,7rem)/1 system-ui; transform:rotate(8deg); }
.ke-hero > * { position:relative; z-index:1; max-width: 48rem; }
.ke-discovery-search { margin:1.35rem 0 1.1rem; max-width:40rem; }
.ke-discovery-search label { display:block; margin-bottom:.45rem; font-weight:800; }
.ke-discovery-search > div { display:flex; gap:.5rem; }
.ke-discovery-search input { min-width:0; flex:1; padding:.75rem .9rem; border:1px solid var(--ke-line); border-radius:.6rem; color:var(--ke-blue-deep); font:inherit; }
.ke-discovery-search button { padding:.75rem 1rem; border:1px solid var(--ke-orange); border-radius:.6rem; background:var(--ke-orange); color:var(--ke-blue-deep); font:inherit; font-weight:800; cursor:pointer; }
.ke-eyebrow { color: var(--ke-blue); font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.11em; }
.ke-hero .wp-block-heading { color:var(--ke-blue); font-size:clamp(2.55rem,8vw,5.8rem); line-height:.93; letter-spacing:-.065em; margin-block:.55rem 1.1rem; }
.ke-hero .wp-block-button__link, .wp-block-button__link { background:var(--ke-orange); color:var(--ke-blue-deep); font-weight:800; padding:.82rem 1.2rem; box-shadow:none; }
.wp-block-button__link:hover { background:#ffad76; }
.ke-section { padding-block:clamp(2.5rem,6vw,5.5rem); }
.ke-section-title { color:var(--ke-blue); font-size:clamp(1.8rem,4vw,3rem); letter-spacing:-.04em; }
.ke-section-intro { max-width:42rem; font-size:1.1rem; }
.ke-start-search { padding-top:clamp(2rem,6vw,5rem); padding-bottom:1.25rem; max-width:48rem; }
.ke-start-search .ke-section-title { margin:.35rem 0 .25rem; }
.ke-platform-grid, .ke-nav-card-grid { display:grid; gap:1rem; width:min(100% - 2.5rem, 76rem); margin:0 auto; }
.ke-platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ke-platform-card, .ke-nav-card { position:relative; display:flex; flex-direction:column; text-decoration:none; border:1px solid var(--ke-line); border-radius:1rem; color:var(--ke-blue-deep); background:var(--ke-cloud); transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.ke-platform-card { min-height:13rem; padding:1.35rem; justify-content:flex-end; }
.ke-platform-card strong { color:var(--ke-blue); font-size:clamp(1.55rem,3vw,2.2rem); letter-spacing:-.045em; margin:.45rem 0; }
.ke-card-arrow { position:absolute; right:1.2rem; top:1rem; color:var(--ke-orange); font-size:2rem; font-weight:800; }
.ke-nav-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:1.5rem; }
.ke-nav-card { min-height:7.25rem; padding:1.15rem; justify-content:space-between; background:var(--ke-paper); }
.ke-nav-card strong { color:var(--ke-blue); font-size:1.15rem; }
.ke-nav-card > span { color:var(--ke-orange); align-self:flex-end; font-size:1.35rem; font-weight:800; }
.ke-platform-card:hover, .ke-nav-card:hover { transform:translateY(-3px); border-color:var(--ke-blue); box-shadow:0 10px 24px rgba(53,58,144,.12); }
.ke-partners { width:min(100% - 2.5rem, 76rem); margin:0 auto; }
.ke-partner-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.85rem; margin-top:1.4rem; }
.ke-partner-grid figure { display:grid; grid-template-rows:6.75rem auto; align-items:center; justify-items:center; gap:.6rem; min-width:0; margin:0; padding:.9rem; border:1px solid var(--ke-line); border-radius:.9rem; background:var(--ke-paper); }
.ke-partner-grid img { display:block; width:100%; height:100%; object-fit:contain; }
.ke-partner-grid figcaption { color:var(--ke-blue-deep); font-size:.76rem; font-weight:700; text-align:center; }
/* The Query block itself may receive a grid layout from block markup. The cards
   belong to its post template, which must span the full constrained width. */
.ke-card-grid { display:block !important; }
.ke-card-grid .wp-block-post-template { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.35rem; width:100%; }
.ke-card-grid .wp-block-post { background:var(--ke-paper); border:1px solid var(--ke-line); border-radius:1rem; overflow:hidden; padding-bottom:1rem; box-shadow:0 8px 20px rgba(53,58,144,.07); }
.ke-card-grid .wp-block-post-featured-image { display:grid; place-items:center; margin:0 0 1rem; aspect-ratio: 4 / 3; overflow:hidden; background:var(--ke-cloud); }
.ke-card-grid .wp-block-post-featured-image img { display:block; width:80%; height:80%; object-fit:contain; background:transparent; }
.ke-card-grid .wp-block-post-title, .ke-card-grid .wp-block-post-excerpt { padding-inline:1rem; }
.ke-card-grid .wp-block-post-title { margin-block:.2rem .55rem; color:var(--ke-blue); font-size:1.3rem; }
.ke-card-grid .wp-block-post-title a { text-decoration:none; }
.ke-card-grid .wp-block-post-excerpt { font-size:.96rem; }
.ke-place-card-meta { padding-inline:1rem; margin:.1rem 0 .65rem; color:var(--ke-blue); font-size:.9rem; font-weight:800; }
.ke-place-main { padding-block:clamp(2rem,6vw,5rem); }
.ke-place-main .wp-block-post-title { color:var(--ke-blue); font-size:clamp(2.5rem,6vw,4.6rem); letter-spacing:-.055em; }
.ke-place-main .wp-block-post-featured-image { max-width:64rem; max-height:34rem; margin:1.25rem auto 0; background:var(--ke-cloud); border-radius:1.2rem; overflow:hidden; }
.ke-place-main .wp-block-post-featured-image img { display:block; width:86%; height:min(48vw,29rem); margin:clamp(.8rem,3vw,1.6rem) auto; border-radius:1.2rem; object-fit:contain; }
.ke-place-back { margin:0 0 .65rem; font-weight:800; }
.ke-place-back a { color:var(--ke-blue); }
.ke-place-details { border:1px solid var(--ke-line); border-radius:1rem; background:var(--ke-cloud); padding:1.25rem; margin-top:1.8rem; }
.ke-place-details h2 { color:var(--ke-blue); font-size:1.2rem; margin-top:0; }
.ke-place-details dl { margin:0; display:grid; gap:.75rem; }
.ke-place-details dt { color:var(--ke-blue); font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.ke-place-details dd { margin:.15rem 0 0; }
.ke-place-profile { margin-top:1.6rem; max-width:46rem; }
.ke-place-profile h2 { color:var(--ke-blue); font-size:1.5rem; }
.ke-footer { background:var(--ke-blue); color:#fff; margin-top:clamp(2rem,5vw,4rem); }
.ke-footer .wp-block-site-title { font-weight:800; letter-spacing:-.05em; }
.ke-footer .wp-block-navigation-item__content, .ke-footer a { color:#fff; }
.ke-privacy-settings { margin-top:1.2rem; padding:0; border:0; background:transparent; color:#fff; font:inherit; text-decoration:underline; cursor:pointer; }
a:focus-visible, button:focus-visible, .wp-block-navigation__responsive-container-open:focus-visible { outline:3px solid var(--ke-orange); outline-offset:3px; border-radius:.25rem; }
@media (max-width: 899px) { .ke-card-grid .wp-block-post-template { grid-template-columns:repeat(2,minmax(0,1fr)); } .ke-nav-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ke-partner-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width: 599px) { .ke-header { position:relative; } .ke-hero { border-radius:1rem; } .ke-hero::before { inset:.55rem; } .ke-card-grid .wp-block-post-template, .ke-platform-grid, .ke-nav-card-grid { grid-template-columns:1fr; } .ke-partner-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ke-discovery-search > div { display:block; } .ke-discovery-search button { width:100%; margin-top:.5rem; } }

/* Design V2.1: compact editorial city magazine */
:root {
	--ke-ink: #252d61;
	--ke-mist: #f8f8fc;
	--ke-rule: #d9dced;
	--ke-radius: .45rem;
	--ke-content: min(100% - 3rem, 72rem);
}
body { color:var(--ke-ink); font-size:1rem; line-height:1.58; }
.wp-site-blocks { overflow:clip; }
.ke-header { border-color:var(--ke-rule); background:rgba(255,255,255,.98); box-shadow:none; }
.ke-header > .wp-block-group { width:var(--ke-content); min-height:4.4rem; margin-inline:auto; }
.ke-header .wp-block-site-title { font-size:1.35rem; letter-spacing:-.06em; }
.ke-header .wp-block-site-title::after { width:2.3rem; height:.18rem; min-width:0; margin-top:.08rem; border-radius:0; }
.ke-header .wp-block-navigation-item__content { font-size:.91rem; font-weight:650; }
.ke-header .wp-block-navigation-item__content:hover { color:var(--ke-orange); }
.ke-header .wp-block-navigation__responsive-container-open { padding:.35rem; border:0; border-radius:0; }
.ke-section { padding-block:clamp(2.75rem,5vw,5.5rem); }
.ke-eyebrow { color:var(--ke-blue); font-size:.69rem; letter-spacing:.16em; }
.ke-section-title { max-width:15ch; color:var(--ke-blue); font-size:clamp(1.8rem,3.8vw,3.35rem); line-height:1.03; letter-spacing:-.055em; }
.ke-section-intro { max-width:38rem; color:var(--ke-ink); font-size:1rem; }
.ke-start-search { width:var(--ke-content); max-width:72rem; padding-top:clamp(2.25rem,5vw,4.5rem); padding-bottom:1.35rem; }
.ke-start-search .ke-section-title { margin:0 0 1rem; }
.ke-discovery-search { max-width:43rem; margin:0; }
.ke-discovery-search label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ke-discovery-search > div { position:relative; display:block; }
.ke-discovery-search input { width:100%; min-height:3.2rem; padding:.75rem 3.65rem .75rem 1rem; border:1px solid var(--ke-rule); border-radius:var(--ke-radius); background:var(--ke-paper); color:var(--ke-ink); box-shadow:0 .35rem 1.1rem rgba(41,48,111,.05); }
.ke-discovery-search input::placeholder { color:#68709c; }
.ke-discovery-search button { position:absolute; top:.32rem; right:.32rem; min-width:2.5rem; min-height:2.5rem; padding:0; border:0; border-radius:.3rem; background:var(--ke-blue); color:#fff; font-size:0; }
.ke-discovery-search button::after { content:"⌕"; font-size:1.7rem; line-height:1; font-weight:400; }
.ke-discovery-search button:hover { background:var(--ke-orange); }
.ke-platform-grid, .ke-nav-card-grid, .ke-partners { width:var(--ke-content); max-width:72rem; }
.ke-platform-grid { gap:.75rem; }
.ke-platform-card, .ke-nav-card { border-color:var(--ke-rule); border-radius:var(--ke-radius); background:transparent; box-shadow:none; }
.ke-platform-card { min-height:8.6rem; padding:1.1rem 1.2rem; justify-content:flex-start; }
.ke-platform-card .ke-eyebrow { margin-bottom:1rem; }
.ke-platform-card strong { margin:0 0 .15rem; color:var(--ke-blue); font-size:clamp(1.15rem,2.2vw,1.55rem); line-height:1.1; }
.ke-platform-card > span:not(.ke-eyebrow):not(.ke-card-arrow) { max-width:26rem; color:var(--ke-ink); font-size:.88rem; }
.ke-card-arrow { top:1rem; right:1.05rem; font-size:1.25rem; transition:transform .16s ease; }
.ke-nav-card-grid { gap:0; margin-top:1.45rem; border-top:1px solid var(--ke-rule); border-left:1px solid var(--ke-rule); }
.ke-nav-card { min-height:8.25rem; padding:1rem; border:0; border-right:1px solid var(--ke-rule); border-bottom:1px solid var(--ke-rule); border-radius:0; background:transparent; }
.ke-nav-card strong { max-width:12ch; color:var(--ke-blue); font-size:1.06rem; line-height:1.15; }
.ke-nav-card > span { color:var(--ke-orange); font-size:1.05rem; }
.ke-platform-card:hover, .ke-nav-card:hover { transform:none; border-color:var(--ke-blue); background:var(--ke-mist); box-shadow:none; }
.ke-platform-card:hover .ke-card-arrow, .ke-nav-card:hover > span { transform:translateX(.2rem); }
.ke-partners { padding-top:clamp(2.5rem,5vw,4.5rem); border-top:1px solid var(--ke-rule); }
.ke-partner-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin-top:1.2rem; border-top:1px solid var(--ke-rule); border-left:1px solid var(--ke-rule); }
.ke-partner-grid figure { grid-template-rows:4.6rem auto; gap:.45rem; padding:.75rem; border:0; border-right:1px solid var(--ke-rule); border-bottom:1px solid var(--ke-rule); border-radius:0; background:transparent; }
.ke-partner-grid img { width:82%; height:82%; }
.ke-partner-grid figcaption { color:var(--ke-ink); font-size:.68rem; font-weight:650; line-height:1.2; }
.ke-card-grid .wp-block-post-template { gap:0; border-top:1px solid var(--ke-rule); border-left:1px solid var(--ke-rule); }
.ke-card-grid .wp-block-post { display:flex; flex-direction:column; border:0; border-right:1px solid var(--ke-rule); border-bottom:1px solid var(--ke-rule); border-radius:0; padding:0 0 1rem; background:var(--ke-paper); box-shadow:none; transition:background .16s ease; }
.ke-card-grid .wp-block-post:hover { background:var(--ke-mist); }
.ke-card-grid .wp-block-post-featured-image { margin:0 0 .85rem; aspect-ratio:4/3; background:var(--ke-mist); }
.ke-card-grid .wp-block-post-featured-image img { width:84%; height:84%; transition:transform .2s ease; }
.ke-card-grid .wp-block-post:hover .wp-block-post-featured-image img { transform:scale(1.025); }
.ke-card-grid .wp-block-post-title { margin:0 0 .3rem; color:var(--ke-blue); font-size:1.18rem; line-height:1.15; letter-spacing:-.035em; }
.ke-card-grid .wp-block-post-title a::after { content:" ↗"; color:var(--ke-orange); font-size:.85em; }
.ke-card-grid .wp-block-post-excerpt { margin:0; color:var(--ke-ink); font-size:.9rem; line-height:1.45; }
.ke-place-card-meta { order:-1; margin:0 0 .55rem; color:var(--ke-blue); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.ke-place-main { width:var(--ke-content); max-width:72rem; padding-block:clamp(2rem,5vw,4.5rem); }
.ke-place-back { margin:0 0 1.25rem; font-size:.85rem; }
.ke-place-main .wp-block-post-title { max-width:15ch; font-size:clamp(2.35rem,5.8vw,4.85rem); line-height:.98; }
.ke-place-main .wp-block-post-featured-image { max-width:100%; max-height:none; margin:1.6rem 0 0; border-radius:0; background:var(--ke-mist); }
.ke-place-main .wp-block-post-featured-image img { width:88%; height:min(46vw,29rem); margin:clamp(.85rem,3vw,1.5rem) auto; border-radius:0; }
.ke-place-main > .wp-block-post-content { max-width:44rem; margin-top:1.8rem; font-size:1.05rem; }
.ke-place-profile { max-width:44rem; }
.ke-place-tier { display:inline-flex; margin:0 0 .65rem; padding:.32rem .62rem; border-radius:999px; background:var(--ke-orange); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ke-place-details { max-width:50rem; padding:1.35rem 0; border:0; border-top:1px solid var(--ke-rule); border-bottom:1px solid var(--ke-rule); border-radius:0; background:transparent; }
.ke-place-details h2 { font-size:1.1rem; }
.ke-place-details dl { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:2rem; row-gap:1rem; }
.ke-place-details dt { font-size:.66rem; letter-spacing:.1em; }
.ke-place-details dd { font-size:.94rem; }
.ke-footer { margin-top:clamp(2.5rem,5vw,4.5rem); }
.ke-footer > * { width:var(--ke-content); max-width:72rem; margin-inline:auto; }
.ke-footer .wp-block-site-title { font-size:1.2rem; }
.ke-footer p { max-width:28rem; font-size:.92rem; }
.ke-footer .wp-block-navigation { margin-top:1.35rem; }
.ke-footer .wp-block-navigation-item__content { font-size:.86rem; }
.ke-privacy-settings { margin-top:1rem; font-size:.84rem; }
.ke-consent { max-width:34rem; padding:.9rem 1rem; border-color:var(--ke-rule); border-radius:var(--ke-radius); box-shadow:0 .8rem 2.3rem rgba(41,48,111,.16); }
.ke-consent strong { font-size:1rem; }
.ke-consent p { font-size:.86rem; line-height:1.4; }
.ke-consent-actions { gap:.45rem; margin-top:.75rem; }
.ke-consent button { min-height:2.35rem; padding:.4rem .7rem; border-radius:.3rem; font-size:.84rem; }
@media (max-width:899px) {
	.ke-partner-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
	.ke-card-grid .wp-block-post-template { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:599px) {
	:root { --ke-content:min(100% - 2rem, 72rem); }
	.ke-header > .wp-block-group { min-height:3.85rem; }
	.ke-header .wp-block-site-title { font-size:1.18rem; }
	.ke-section { padding-block:2.5rem; }
	.ke-start-search { padding-top:2rem; padding-bottom:1rem; }
	.ke-section-title { font-size:2rem; }
	.ke-discovery-search input { min-height:3rem; }
	.ke-discovery-search button { top:.28rem; right:.28rem; min-width:2.44rem; min-height:2.44rem; width:auto; margin:0; }
	.ke-platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }
	.ke-platform-card { min-height:7.6rem; padding:.85rem; }
	.ke-platform-card .ke-eyebrow { margin-bottom:.65rem; font-size:.59rem; letter-spacing:.1em; }
	.ke-platform-card strong { font-size:1rem; }
	.ke-platform-card > span:not(.ke-eyebrow):not(.ke-card-arrow) { font-size:.75rem; line-height:1.32; }
	.ke-card-arrow { top:.65rem; right:.7rem; font-size:1rem; }
	.ke-nav-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:1rem; }
	.ke-nav-card { min-height:6.4rem; padding:.8rem; }
	.ke-nav-card strong { font-size:.9rem; }
	.ke-card-grid .wp-block-post-template { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ke-card-grid .wp-block-post-title, .ke-card-grid .wp-block-post-excerpt, .ke-place-card-meta { padding-inline:.75rem; }
	.ke-card-grid .wp-block-post-title { font-size:1rem; }
	.ke-card-grid .wp-block-post-excerpt { font-size:.78rem; }
	.ke-place-card-meta { font-size:.59rem; }
	.ke-partner-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.ke-partner-grid figure { grid-template-rows:3.6rem auto; padding:.55rem; }
	.ke-partner-grid figcaption { font-size:.59rem; }
	.ke-place-main .wp-block-post-title { font-size:2.45rem; }
	.ke-place-main .wp-block-post-featured-image img { width:86%; height:58vw; }
	.ke-place-details dl { grid-template-columns:1fr; gap:.85rem; }
	.ke-consent { right:.6rem; bottom:.6rem; left:.6rem; padding:.75rem .8rem; }
	.ke-consent-actions { display:grid; grid-template-columns:1fr 1fr; }
	.ke-consent button:last-child { grid-column:span 2; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; } }

/* V2.1 polish: shared safe area, editorial rhythm, no spreadsheet grids. */
:root {
	--ke-gutter: max(1.25rem, env(safe-area-inset-left));
	--ke-gutter-right: max(1.25rem, env(safe-area-inset-right));
	--ke-content: min(calc(100% - var(--ke-gutter) - var(--ke-gutter-right)), 65rem);
	--ke-gap: clamp(.7rem, 1.35vw, 1.15rem);
	--ke-soft: #fafafe;
	--ke-hairline: rgba(53,58,144,.16);
	--ke-card-radius: .65rem;
}
.ke-header > .wp-block-group,
.ke-start-search,
.ke-platform-grid,
.ke-nav-card-grid,
.ke-partners,
.ke-place-main,
.ke-footer > * { width:var(--ke-content); }
.ke-section { padding-block:clamp(2.8rem,6vw,6rem); }
.ke-section-title { max-width:17ch; font-size:clamp(1.7rem,3.25vw,3rem); line-height:1.07; }
.ke-start-search { padding-top:clamp(2rem,4.2vw,4.25rem); padding-bottom:1.15rem; }
.ke-start-search .ke-section-title { max-width:13ch; font-size:clamp(2.05rem,4.8vw,4.1rem); }
.ke-start-search .ke-section-title::after,
.ke-categories .ke-section-title::after,
.ke-partners .ke-section-title::after { content:""; display:block; width:2.2rem; height:.16rem; margin-top:.72rem; background:var(--ke-orange); transform:rotate(-1.5deg); }
.ke-discovery-search input { border-color:rgba(53,58,144,.22); border-radius:.55rem; box-shadow:0 .45rem 1.5rem rgba(41,48,111,.06); }
.ke-discovery-search input:focus { border-color:var(--ke-blue); outline:2px solid rgba(255,145,77,.42); outline-offset:2px; }
.ke-discovery-search button { border-radius:.4rem; }
.ke-platform-grid { gap:var(--ke-gap); }
.ke-platform-card { min-height:8.1rem; padding:1.05rem 1.15rem 1rem; border:1px solid var(--ke-hairline); border-radius:var(--ke-card-radius); background:linear-gradient(135deg, var(--ke-soft), #fff 72%); }
.ke-platform-card::before { content:""; width:1.4rem; height:.12rem; margin-bottom:.8rem; background:var(--ke-orange); transform:rotate(-2deg); }
.ke-platform-card .ke-eyebrow { order:-1; margin:0 0 .55rem; color:#626b97; }
.ke-platform-card strong { font-size:clamp(1.12rem,2vw,1.42rem); }
.ke-platform-card:hover { border-color:rgba(53,58,144,.4); background:#fff; }
.ke-nav-card-grid { gap:var(--ke-gap); margin-top:1.6rem; border:0; }
.ke-nav-card { min-height:7.6rem; padding:1rem; border:1px solid transparent; border-radius:var(--ke-card-radius); background:var(--ke-soft); }
.ke-nav-card:nth-child(3n + 2) { background:#f6f7fd; }
.ke-nav-card:nth-child(3n) { background:#fcfcff; }
.ke-nav-card strong { font-size:1.03rem; letter-spacing:-.02em; }
.ke-nav-card::before { content:""; width:1.15rem; height:.11rem; background:var(--ke-orange); }
.ke-nav-card:hover { border-color:var(--ke-hairline); background:#fff; }
.ke-nav-card > span { font-size:1.15rem; }
.ke-card-grid .wp-block-post-template { gap:clamp(1.35rem,2.2vw,2.25rem); border:0; }
.ke-card-grid .wp-block-post { min-width:0; margin:0 !important; padding:0 0 .55rem; border:0; border-radius:0; background:transparent; }
.ke-card-grid .wp-block-post:hover { background:transparent; }
.ke-card-grid .wp-block-post-featured-image { margin:0 0 .95rem; border-radius:var(--ke-card-radius); background:var(--ke-soft); }
.ke-card-grid .wp-block-post-title,
.ke-card-grid .wp-block-post-excerpt,
.ke-place-card-meta { padding-inline:0; }
.ke-place-card-meta { margin:0 0 .5rem; color:#626b97; font-size:.64rem; letter-spacing:.12em; }
.ke-card-grid .wp-block-post-title { margin-bottom:.4rem; font-size:clamp(1.08rem,1.7vw,1.32rem); line-height:1.12; }
.ke-card-grid .wp-block-post-excerpt { max-width:31ch; font-size:.88rem; line-height:1.45; }
.ke-card-grid .wp-block-post:not(:has(.wp-block-post-featured-image)) { padding-top:1.05rem; border-top:1px solid var(--ke-hairline); }
.ke-card-grid .wp-block-post:not(:has(.wp-block-post-featured-image)) .ke-place-card-meta { margin-top:0; }
.ke-partners { padding-top:clamp(2.8rem,5.5vw,5rem); border-top:1px solid var(--ke-hairline); }
.ke-partner-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(.55rem,1vw,.85rem); margin-top:1.5rem; border:0; }
.ke-partner-grid figure { grid-template-rows:4.75rem auto; min-height:6.8rem; padding:.5rem .35rem; border:0; border-radius:0; background:transparent; }
.ke-partner-grid figure:nth-child(odd) { background:linear-gradient(180deg, var(--ke-soft), transparent); }
.ke-partner-grid img { width:76%; height:76%; }
.ke-partner-grid figcaption { font-size:.64rem; font-weight:600; }
.ke-place-main .wp-block-post-title { max-width:14ch; font-size:clamp(2.2rem,5vw,4.5rem); }
.ke-place-main .wp-block-post-featured-image { border-radius:var(--ke-card-radius); }
.ke-place-main .wp-block-post-featured-image img { border-radius:0; }
.ke-place-details { margin-top:2.25rem; border-color:var(--ke-hairline); }
body .ke-consent { max-width:31rem; padding:.72rem .82rem; border-color:var(--ke-hairline); border-radius:.6rem; box-shadow:0 .65rem 2rem rgba(41,48,111,.15); }
body .ke-consent strong { font-size:.92rem; }
body .ke-consent p { margin-top:.28rem; font-size:.78rem; line-height:1.36; }
body .ke-consent-actions { gap:.38rem; margin-top:.58rem; }
body .ke-consent button { min-height:2.2rem; padding:.34rem .58rem; border-radius:.3rem; font-size:.76rem; }
@media (max-width:899px) { .ke-partner-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:599px) {
	:root { --ke-gutter: max(1.25rem, env(safe-area-inset-left)); --ke-gutter-right:max(1.25rem, env(safe-area-inset-right)); }
	.ke-section { padding-block:2.65rem; }
	.ke-start-search { padding-top:2rem; padding-bottom:1rem; }
	.ke-start-search .ke-section-title { font-size:2.1rem; }
	.ke-platform-grid { gap:.6rem; }
	.ke-platform-card { min-height:7.45rem; padding:.8rem; }
	.ke-platform-card::before { width:1rem; margin-bottom:.55rem; }
	.ke-platform-card .ke-eyebrow { margin-bottom:.35rem; }
	.ke-platform-card strong { font-size:.98rem; }
	.ke-platform-card > span:not(.ke-eyebrow):not(.ke-card-arrow) { font-size:.71rem; line-height:1.3; }
	.ke-nav-card-grid { gap:.6rem; margin-top:1.2rem; }
	.ke-nav-card { min-height:6.35rem; padding:.78rem; }
	.ke-nav-card strong { font-size:.9rem; }
	.ke-nav-card::before { width:.9rem; }
	.ke-card-grid .wp-block-post-template { gap:1.35rem .7rem; }
	.ke-card-grid .wp-block-post-featured-image { margin-bottom:.7rem; }
	.ke-card-grid .wp-block-post-title { font-size:.98rem; }
	.ke-card-grid .wp-block-post-excerpt { font-size:.76rem; }
	.ke-place-card-meta { font-size:.57rem; }
	.ke-partner-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; }
	.ke-partner-grid figure { grid-template-rows:3.55rem auto; min-height:5.5rem; padding:.35rem .2rem; }
	.ke-partner-grid figcaption { font-size:.56rem; }
	body .ke-consent { right:max(.5rem, env(safe-area-inset-right)); bottom:max(.5rem, env(safe-area-inset-bottom)); left:max(.5rem, env(safe-area-inset-left)); padding:.65rem .7rem; }
	body .ke-consent-actions { grid-template-columns:1fr 1fr; }
	body .ke-consent button { min-height:2.12rem; }
}

/* Profile-inspired channel cards and a single, deliberately visible content axis. */
main.wp-block-group { width:var(--ke-content); max-width:72rem; margin-inline:auto; }
main.wp-block-group .ke-start-search,
main.wp-block-group .ke-platform-grid,
main.wp-block-group .ke-nav-card-grid,
main.wp-block-group .ke-partners { width:100%; }
.ke-platform-card--profile { display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr auto; align-items:start; min-height:15.8rem; padding:1.55rem; background:linear-gradient(145deg,#fff 0%,#fbfbff 100%); box-shadow:0 .55rem 1.65rem rgba(37,45,97,.065); }
.ke-platform-card--profile::before { display:none; }
.ke-profile-head { display:flex; grid-column:1; align-items:center; gap:.75rem; min-width:0; }
.ke-profile-logo { display:grid; flex:0 0 5.1rem; width:5.1rem; height:5.1rem; place-items:center; overflow:hidden; border:1px solid var(--ke-hairline); border-radius:50%; background:#fff; }
.ke-profile-logo img { display:block; width:88%; height:88%; object-fit:contain; }
.ke-profile-head strong { display:block; color:var(--ke-blue); font-size:1.38rem; line-height:1.05; letter-spacing:-.05em; }
.ke-profile-verified { display:inline-grid; width:1.05rem; height:1.05rem; margin-left:.16rem; place-items:center; border-radius:50%; background:#149ce8; color:#fff; font-size:.67rem; letter-spacing:0; vertical-align:.13em; }
.ke-profile-topics { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.62rem; color:#596488; font-size:.79rem; font-weight:650; line-height:1.2; }
.ke-profile-topics > span { padding:.34rem .5rem; border-radius:999px; background:#f6f7fc; white-space:nowrap; }
.ke-profile-copy { grid-column:1 / -1; align-self:end; max-width:35ch; margin-top:1.35rem; padding-right:1.65rem; color:var(--ke-ink); font-size:1rem; line-height:1.42; }
.ke-profile-copy > span { display:block; }
.ke-profile-copy > span + span { margin-top:.18rem; }
.ke-profile-chip { display:inline-flex; grid-column:1; align-items:center; width:max-content; max-width:100%; margin-top:1.15rem; padding:.56rem .82rem; border:1px solid transparent; border-radius:999px; background:#f5f6fb; color:var(--ke-blue); font-size:.82rem; font-weight:750; line-height:1; white-space:nowrap; }
.ke-platform-card--profile .ke-card-arrow { top:1rem; right:1rem; }
.ke-platform-card--profile:hover .ke-profile-logo { border-color:var(--ke-orange); }
.ke-partner-link { display:block; min-width:0; color:inherit; text-decoration:none; }
.ke-partner-link:focus-visible { outline:3px solid var(--ke-orange); outline-offset:3px; }
.ke-partner-link:hover figure { background:linear-gradient(180deg,var(--ke-soft),transparent); }
.ke-brand-mark { display:block; color:inherit; line-height:0; text-decoration:none; }
.ke-brand-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.ke-brand-mark--header { width:9.6rem; height:3.15rem; }
.ke-footer { display:grid !important; justify-items:center; gap:1.15rem; padding-inline:var(--ke-gutter) !important; text-align:center; }
.ke-footer > * { width:auto; max-width:min(100%,72rem); margin:0 !important; }
.ke-brand-mark--footer { width:11.5rem; height:3.8rem; }
.ke-footer .ke-brand-mark--footer img { filter:brightness(0) invert(1); }
.ke-footer p { max-width:34rem; }
.ke-footer .wp-block-navigation { margin-top:.15rem !important; }
.ke-footer .wp-block-navigation__container { justify-content:center; gap:.8rem 1.5rem; }
.ke-footer .ke-privacy-settings { margin-top:.1rem; }
@media (max-width:599px) {
	main.wp-block-group { width:var(--ke-content); }
	.ke-platform-card--profile { min-height:15.4rem; padding:.82rem; }
	.ke-profile-head { gap:.48rem; }
	.ke-profile-logo { flex-basis:3.3rem; width:3.3rem; height:3.3rem; }
	.ke-profile-head strong { font-size:.98rem; line-height:1.05; }
	.ke-profile-verified { width:.8rem; height:.8rem; font-size:.53rem; }
	.ke-profile-topics { gap:.22rem; margin-top:.36rem; font-size:.64rem; line-height:1.2; }
	.ke-profile-topics > span { padding:.22rem .3rem; }
	.ke-profile-copy { margin-top:.84rem; padding-right:1rem; font-size:.74rem; line-height:1.38; }
	.ke-profile-copy > span + span { margin-top:.14rem; }
	.ke-profile-chip { margin-top:.78rem; padding:.42rem .52rem; font-size:.65rem; }
	.ke-platform-card--profile .ke-card-arrow { top:.65rem; right:.65rem; }
	.ke-brand-mark--header { width:7.8rem; height:2.55rem; }
	.ke-brand-mark--footer { width:8.5rem; height:2.8rem; }
	.ke-footer { gap:.95rem; }
	.ke-footer .wp-block-navigation__container { gap:.65rem 1rem; }
}
