/* Studio Template: layout and block styles. Colours, fonts and corners come from theme.json
   presets and Global Styles; this file only uses the variables. No rules aim at the booking
   plugin's output (decisions.md 2026-09-29). */

/* ---------- Header ---------- */
.stk-header { position: relative; z-index: 20; }
/* header bars are full-width flex groups: give them the site's side padding */
.stk-announcement, .stk-utility, .stk-mainbar { padding-inline: var(--wp--style--root--padding-left); }
.stk-announcement { padding-block: 0.45rem; font-size: 0.95rem; }
.stk-announcement p { margin: 0; }
.stk-announcement a { color: inherit; font-weight: 700; }
.stk-utility { padding-block: 0.35rem; font-size: 0.875rem; }
.stk-utility p { margin: 0; }
.stk-utility a { color: inherit; text-decoration: none; }
.stk-utility__facts { gap: 0.4rem 1.5rem; }
.stk-utility .wp-block-social-links { gap: 0.6rem; }
.stk-mainbar { padding-block: 0.75rem; box-shadow: 0 1px 0 rgb(0 0 0 / 0.08); }
.stk-mainbar .wp-block-site-logo img { max-height: 72px; width: auto; }
.stk-mainbar__end { gap: 1.5rem; }
.stk-mainbar__cta .wp-block-button__link { padding: 0.55rem 1.1rem; }
@media (max-width: 781px) {
	.stk-utility__facts p:nth-child(n+3) { display: none; }
	.stk-mainbar__cta { display: none; }
	.stk-mainbar .wp-block-site-logo img { max-height: 52px; }
}

/* ---------- Sections ---------- */
.stk-main > .stk-section { margin-block: 0; }
.stk-section { padding-block: var(--wp--preset--spacing--60); }
.stk-section.has-background + .stk-section.has-background { margin-top: 0; }
.stk-section--hero,
.stk-section--page-title { padding-block: 0; }
.stk-section--layout-switch { padding-block: 0.55rem; font-size: var(--wp--preset--font-size--small); }
.stk-section--layout-switch p { margin: 0; }
.stk-section--layout-switch a { color: inherit; text-decoration: underline; text-underline-offset: 0.2em; }
.stk-section__head { margin-bottom: var(--wp--preset--spacing--40); }
.stk-section__head > * { margin-block: 0 0.5rem; }
.stk-eyebrow { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.85rem; font-weight: 700; color: var(--wp--preset--color--secondary); }
.stk-lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); }

/* Hero */
.stk-hero .wp-block-cover__inner-container { width: 100%; max-width: var(--wp--style--global--wide-size); }
.stk-hero h1 { font-size: var(--wp--preset--font-size--hero); color: #fff; text-wrap: balance; }
.stk-hero p { font-size: var(--wp--preset--font-size--large); color: #fff; max-width: 40rem; }
.stk-hero.is-position-center-center p,
.stk-hero--center p { margin-inline: auto; }
.stk-page-title h1 { color: #fff; text-wrap: balance; }

/* Intro, boxed variant = a notice card */
.stk-intro--boxed > .wp-block-group { padding: var(--wp--preset--spacing--40); border-radius: var(--wp--custom--radius--card); background: var(--wp--preset--color--base-2); border-left: 6px solid var(--wp--preset--color--accent); }
.stk-intro--boxed h2 { font-size: var(--wp--preset--font-size--large); }

/* Cards (group style "Card"): equal height, button pinned to the bottom */
.wp-block-group.is-style-stk-card {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	border-radius: var(--wp--custom--radius--card);
	box-shadow: var(--wp--preset--shadow--card);
	overflow: hidden;
	display: flex; flex-direction: column;
	gap: 0.6rem;
	height: 100%;
}
.wp-block-group.is-style-stk-card > :not(.wp-block-image) { margin-inline: 1.25rem; }
.wp-block-group.is-style-stk-card > .wp-block-image { margin: 0; }
.wp-block-group.is-style-stk-card > .wp-block-image img { width: 100%; display: block; }
.wp-block-group.is-style-stk-card > h3 { margin-top: 0.6rem; }
.wp-block-group.is-style-stk-card > p { margin-block: 0; color: var(--wp--preset--color--muted); }
.wp-block-group.is-style-stk-card > .wp-block-buttons { margin-top: auto; padding-block: 0.6rem 1.25rem; }

/* Photo cards with the title over the photo (cover style "Card") */
.wp-block-cover.is-style-stk-card { min-height: 280px; box-shadow: var(--wp--preset--shadow--card); border-radius: var(--wp--custom--radius--card); overflow: hidden; padding: 1.5rem; }
.wp-block-cover.is-style-stk-card p { color: #fff; margin: 0.25rem 0 0; }
.wp-block-cover.is-style-stk-card h3 { color: #fff; margin: 0; }
.wp-block-cover.is-style-stk-card a { color: #fff; }

/* Panels (two-column text, policies) */
.is-style-stk-panel { padding: var(--wp--preset--spacing--40); border-radius: var(--wp--custom--radius--card); height: 100%; }

/* Image and text */
.stk-section--media-text .wp-block-media-text__media img { border-radius: var(--wp--custom--radius--card); }
.stk-section--media-text .wp-block-media-text__content { padding-inline: var(--wp--preset--spacing--50); }

/* Call-to-action band: buttons invert on the coloured band */
.stk-section--cta-band h2, .stk-section--cta-band p { color: inherit; }
.stk-section--cta-band .wp-block-button__link { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.stk-section--cta-band .wp-block-button__link:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }

/* FAQ */
.is-style-stk-faq { border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent); padding-block: 1rem; }
.is-style-stk-faq summary { font-family: var(--wp--custom--font--heading); font-size: var(--wp--preset--font-size--large); font-weight: var(--wp--custom--font--heading-weight, 600); text-transform: var(--wp--custom--font--heading-case, none); cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.is-style-stk-faq summary::-webkit-details-marker { display: none; }
.is-style-stk-faq summary::after { content: "+"; font-weight: 400; color: var(--wp--preset--color--primary); }
.is-style-stk-faq[open] summary::after { content: "\2212"; }
.is-style-stk-faq > :not(summary) { margin-top: 0.75rem; }

/* Front page message (STStudio): colours come from STStudio as --ststudio-bg/--ststudio-fg */
.stk-notice { padding: var(--wp--preset--spacing--40); border-radius: var(--wp--custom--radius--card); border-left: 6px solid color-mix(in srgb, var(--ststudio-bg, #f8f5e9) 72%, #000); }
.stk-notice > * { color: inherit; }
.stk-notice__heading { font-size: var(--wp--preset--font-size--large); display: flex; justify-content: center; align-items: center; gap: 0.6em; text-wrap: balance; }
.stk-notice__text { margin-bottom: 0; }
.stk-notice .ststudio-notice__link { display: table; margin: 0.9rem auto 0; padding: 0.55rem 1.2rem; border-radius: var(--wp--custom--radius--button); background: var(--ststudio-fg, currentColor); color: var(--ststudio-bg, #fff); font-weight: 700; text-decoration: none; }
.stk-notice .ststudio-notice__link:hover { opacity: 0.9; }
/* The decoration: a small picture on both sides of the heading */
[class*="ststudio-notice--art-"]:not(.ststudio-notice--art-none) .stk-notice__heading::before,
[class*="ststudio-notice--art-"]:not(.ststudio-notice--art-none) .stk-notice__heading::after { content: ""; flex: none; width: 1.3em; height: 1.3em; background: currentColor; -webkit-mask: var(--stk-art) center / contain no-repeat; mask: var(--stk-art) center / contain no-repeat; }
.ststudio-notice--art-sun { --stk-art: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%225%22%2F%3E%3Cg%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M12%201v3M12%2020v3M1%2012h3M20%2012h3M4.2%204.2l2.1%202.1M17.7%2017.7l2.1%202.1M4.2%2019.8l2.1-2.1M17.7%206.3l2.1-2.1%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }
.ststudio-notice--art-snow { --stk-art: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cg%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M12%202v20M3.3%207l17.4%2010M3.3%2017L20.7%207M9%203.5l3%202%203-2M9%2020.5l3-2%203%202%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }
.ststudio-notice--art-leaf { --stk-art: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M20%203C9%203%204%209%204%2016c0%201.7.4%203.2%201%204.5C7%2013%2012%2010%2016%208c-4%203-7.5%207-9%2012.8%201.3.8%202.9%201.2%204.6%201.2C18%2022%2021%2014%2020%203z%22%2F%3E%3C%2Fsvg%3E"); }
.ststudio-notice--art-heart { --stk-art: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2021s-8-5.3-8-11.2C4%206.6%206.4%204.5%209%204.5c1.4%200%202.4.6%203%201.6.6-1%201.6-1.6%203-1.6%202.6%200%205%202.1%205%205.3C20%2015.7%2012%2021%2012%2021z%22%2F%3E%3C%2Fsvg%3E"); }
.ststudio-notice--art-balloon { --stk-art: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%229%22%20rx%3D%226%22%20ry%3D%227.5%22%2F%3E%3Cpath%20d%3D%22M10.5%2016.3h3l-1.5%202z%22%2F%3E%3Cpath%20d%3D%22M12%2018.3c-1%201.5%201%202.2%200%203.7%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E"); }
.ststudio-notice--art-star { --stk-art: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202l2.9%206.6%207.1.6-5.4%204.7%201.6%207.1L12%2017.3%205.8%2021l1.6-7.1L2%209.2l7.1-.6z%22%2F%3E%3C%2Fsvg%3E"); }

/* The bar (STStudio): today's closure or other hours first, else the studio's bar message */
.ststudio-bar__state { font-weight: 700; }
.ststudio-bar__state + .ststudio-bar__message::before { content: "\00b7"; margin-inline: 0.5em; font-weight: 700; }
.stk-announcement .ststudio-bar__link { margin-inline-start: 0.5em; }

/* Footer sign-up (shown when STStudio has a sign-up link) */
.stk-signup .wp-block-button.is-style-outline .wp-block-button__link { color: inherit; border-color: currentColor; padding: 0.45rem 1rem; }

/* Long text (policies, fine print): a readable column */
.stk-article { max-width: 46rem; margin-inline: auto; }
.stk-article h3 { margin-top: var(--wp--preset--spacing--40); }

/* Forms (kit's form section) */
.stk-form-wrap { max-width: 40rem; margin-inline: auto; }
.stk-form__field { display: grid; gap: 0.35rem; margin: 0 0 1rem; }
.stk-form__field label { font-weight: 600; }
.stk-form__req { color: var(--wp--preset--color--primary); }
.stk-form input, .stk-form select, .stk-form textarea {
	font: inherit; color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--base);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 30%, transparent);
	border-radius: calc(var(--wp--custom--radius--card) / 2); padding: 0.6rem 0.75rem; width: 100%; box-sizing: border-box; max-width: 100%;
}
.stk-form input:focus-visible, .stk-form select:focus-visible, .stk-form textarea:focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 1px; }
.stk-form__field--date input { max-width: 14rem; }
.stk-form__hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.stk-form button[disabled] { opacity: 0.6; cursor: wait; }
.stk-form__status:empty { display: none; }
.stk-form__status { margin-top: 1rem; }
.stk-form__status.is-sent { font-size: var(--wp--preset--font-size--large); font-weight: 600; }
.stk-form__status.is-error { color: #b42318; }

/* Galleries (kit's album tiles, albums and lightbox) */
.stk-album-tiles, .stk-album__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; }
.stk-album-tiles { grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.stk-album-tile a { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; background: var(--wp--preset--color--base); border-radius: var(--wp--custom--radius--card); box-shadow: var(--wp--preset--shadow--card); overflow: hidden; }
.stk-album-tile__cover { display: block; aspect-ratio: 4 / 3; background: var(--wp--preset--color--base-2); }
.stk-album-tile__cover img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform 0.3s; }
.stk-album-tile a:hover .stk-album-tile__cover img { transform: scale(1.04); }
.stk-album-tile__title { font-family: var(--wp--custom--font--heading); font-size: var(--wp--preset--font-size--large); font-weight: var(--wp--custom--font--heading-weight, 600); padding: 0.8rem 1.1rem 0.1rem; }
.stk-album-tile__count { color: var(--wp--preset--color--muted); font-size: 0.9rem; padding: 0 1.1rem 1rem; }
.stk-album { max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.stk-album__grid { grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: 0.9rem; }
.stk-album__item a { display: block; color: inherit; text-decoration: none; }
.stk-album__item img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; display: block; border-radius: calc(var(--wp--custom--radius--card) / 2); background: var(--wp--preset--color--base-2); }
.stk-album__item a:focus-visible img { outline: 3px solid var(--wp--preset--color--primary); outline-offset: 2px; }
.stk-album__title { display: block; font-size: 0.9rem; margin-top: 0.35rem; line-height: 1.3; }
.stk-album__more { display: flex; justify-content: center; margin-top: var(--wp--preset--spacing--40); }
.stk-album__more button[disabled] { opacity: 0.6; cursor: wait; }
.stk-album__back { text-align: center; margin-top: var(--wp--preset--spacing--40); }
.stk-album-page .wp-block-post-title, .stk-album-page .wp-block-post-excerpt { text-align: center; }
.stk-album-page .wp-block-post-excerpt { color: var(--wp--preset--color--muted); margin-bottom: var(--wp--preset--spacing--40); }
.stk-lightbox { border: 0; padding: 0; margin: 0; width: 100vw; height: 100vh; max-width: none; max-height: none; background: rgb(0 0 0 / 0.9); color: #fff; }
.stk-lightbox::backdrop { background: rgb(0 0 0 / 0.9); }
.stk-lightbox[open] { display: grid; place-items: center; }
.stk-lightbox__figure { margin: 0; max-width: calc(100vw - 7rem); text-align: center; pointer-events: none; }
.stk-lightbox__img { max-width: 100%; max-height: calc(100vh - 6rem); width: auto; height: auto; object-fit: contain; pointer-events: auto; }
.stk-lightbox__caption { margin-top: 0.6rem; font-size: 0.95rem; pointer-events: auto; }
.stk-lightbox__count { opacity: 0.7; margin-inline-start: 0.5em; }
.stk-lightbox__btn { position: fixed; background: rgb(255 255 255 / 0.12); color: #fff; border: 0; border-radius: 999px; width: 3rem; height: 3rem; font-size: 2rem; line-height: 1; cursor: pointer; display: grid; place-items: center; }
.stk-lightbox__btn:hover, .stk-lightbox__btn:focus-visible { background: rgb(255 255 255 / 0.28); }
.stk-lightbox__btn[disabled] { opacity: 0.25; cursor: default; }
.stk-lightbox__prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.stk-lightbox__next { right: 1rem; top: 50%; transform: translateY(-50%); }
.stk-lightbox__close { right: 1rem; top: 1rem; }
@media (max-width: 600px) {
	.stk-album__grid { grid-template-columns: repeat(2, 1fr); gap: 0.6rem; }
	.stk-lightbox__figure { max-width: 100vw; }
	.stk-lightbox__prev, .stk-lightbox__next { top: auto; bottom: 1rem; transform: none; }
}

/* Photo strip */
.stk-section--photo-strip .wp-block-gallery { gap: 0.5rem; }
.stk-section--photo-strip .wp-block-image img { border-radius: calc(var(--wp--custom--radius--card) / 2); }

/* Images */
.is-style-stk-round img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
.is-style-stk-framed img { border: 8px solid var(--wp--preset--color--base); box-shadow: var(--wp--preset--shadow--card); }

/* Intro, quote variant: a line from the studio, centred, in the heading font */
.stk-intro--quote .wp-block-quote { border: 0; padding: 0; margin: 0 auto; max-width: 44rem; text-align: center; }
.stk-intro--quote .wp-block-quote p { font-family: var(--wp--custom--font--heading); font-weight: var(--wp--custom--font--heading-weight); font-size: var(--wp--preset--font-size--x-large); line-height: 1.3; text-wrap: balance; margin: 0; }
.stk-intro--quote .wp-block-quote cite { display: block; margin-top: 1rem; font-style: normal; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }

/* Decorative edges */
.is-style-stk-angled { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 4vw), 0 100%); padding-bottom: calc(var(--wp--preset--spacing--60) + 4vw); }
.is-style-stk-wave { -webkit-mask: radial-gradient(40px 20px at 50% 100%, #0000 98%, #000) 50% / 80px 100%; mask: radial-gradient(40px 20px at 50% 100%, #0000 98%, #000) 50% / 80px 100%; padding-bottom: calc(var(--wp--preset--spacing--60) + 20px); }

/* ---------- Footer ---------- */
.stk-footer { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40); font-size: 0.95rem; }
.stk-footer h3 { color: inherit; font-size: 1.15rem; }
.stk-footer a { color: inherit; }
.stk-footer .wp-block-site-logo img { background: #fff; padding: 0.5rem; border-radius: var(--wp--custom--radius--card); }
.stk-hours { line-height: 1.9; }
.stk-footer__rule { border-color: color-mix(in srgb, currentColor 25%, transparent); margin-block: var(--wp--preset--spacing--40) 1rem; }
.stk-footer__legal { font-size: 0.85rem; opacity: 0.85; }

/* ---------- Styles: a look's personality on top of the brand (site.json brand.style) ---------- */
/* The build writes the slug; the kit puts it on <body> as .stk-style-<slug>. Nothing here aims at
   the booking plugin's output. */

/* playful: round photo crops with a ring, a hand-drawn stroke under section headings, confetti on
   the call-to-action bands, sticker buttons with a hard shadow */
.stk-style-playful .stk-section--card-grid .is-style-stk-card:has(> .wp-block-image) { text-align: center; }
.stk-style-playful .stk-section--card-grid .is-style-stk-card > .wp-block-image { width: 60%; margin: 1.25rem auto 0; }
.stk-style-playful .stk-section--card-grid .is-style-stk-card > .wp-block-image img { aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 6px solid var(--wp--preset--color--accent); }
.stk-style-playful .stk-section--card-grid .is-style-stk-card:has(> .wp-block-image) > .wp-block-buttons { justify-content: center; }
.stk-style-playful .stk-section__head h2::after { content: ""; display: block; width: 7rem; height: 0.75rem; margin: 0.3rem auto 0; background: var(--wp--preset--color--accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12'%3E%3Cpath d='M3 8c12-6 24-6 36 0s24 6 36 0 24-6 42 0' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12'%3E%3Cpath d='M3 8c12-6 24-6 36 0s24 6 36 0 24-6 42 0' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.stk-style-playful .stk-section--cta-band { background-image: radial-gradient(rgb(255 255 255 / 0.22) 2px, transparent 2.6px), radial-gradient(rgb(255 255 255 / 0.14) 1.5px, transparent 2px); background-size: 30px 30px, 46px 46px; background-position: 0 0, 15px 15px; }
.stk-style-playful .stk-section--cta-band h2 { transform: rotate(-1.5deg); }
.stk-style-playful .wp-block-button__link { box-shadow: 3px 3px 0 var(--wp--preset--color--contrast); }
.stk-style-playful .wp-block-button__link:hover { transform: translate(1px, 1px); box-shadow: 2px 2px 0 var(--wp--preset--color--contrast); }
.stk-style-playful .stk-hero h1 { text-shadow: 3px 3px 0 rgb(0 0 0 / 0.25); }

/* cosy: a faint paper grain on the page and the tinted sections, a big opening quote mark, the
   eyebrows as a soft italic line */
.stk-style-cosy { --stk-paper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.25 0 0 0 0 0.18 0 0 0 0 0.1 0 0 0 0.13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
body.stk-style-cosy { background-image: var(--stk-paper); }
.stk-style-cosy .stk-section.has-base-2-background-color { background-image: var(--stk-paper); }
.stk-style-cosy .stk-intro--quote .wp-block-quote::before { content: "\201C"; display: block; height: 3rem; font-family: var(--wp--custom--font--heading); font-size: 5rem; line-height: 1; margin: 0.25rem 0 0.75rem; color: var(--wp--preset--color--primary); }
.stk-style-cosy .stk-intro--quote .wp-block-quote p { font-style: italic; font-weight: 500; }
.stk-style-cosy .stk-eyebrow { text-transform: none; letter-spacing: 0; font-family: var(--wp--custom--font--heading); font-style: italic; font-weight: 500; font-size: 1.1rem; }
.stk-style-cosy .wp-block-group.is-style-stk-card { box-shadow: none; border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent); }

/* photo: one oversized hero heading, a short accent rule under section headings, the photo strip
   in black and white until hovered, wide-spaced eyebrows */
.stk-style-photo .stk-hero h1 { font-size: clamp(3rem, 7.5vw, 6rem); letter-spacing: -0.03em; line-height: 0.95; }
.stk-style-photo .stk-section__head h2::after { content: ""; display: block; width: 3rem; height: 3px; margin: 0.9rem auto 0; background: var(--wp--preset--color--accent); }
.stk-style-photo .stk-section--photo-strip .wp-block-image img { filter: grayscale(1); transition: filter 0.3s; }
.stk-style-photo .stk-section--photo-strip .wp-block-image img:hover { filter: none; }
.stk-style-photo .stk-eyebrow { letter-spacing: 0.22em; font-size: 0.75rem; }
.stk-style-photo .wp-block-group.is-style-stk-card { box-shadow: none; border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent); }
