/* Cooking With Carlina — Hybrid. Presentation translated from Hybrid Iteration 04.
   Colors and type come from theme.json presets; this file handles layout and
   the few treatments core block settings cannot express. */

:root {
	--cwc-line: var(--wp--preset--color--line);
	--cwc-gutter: clamp(1rem, 5vw, 4rem);
}

/* Hybrid 04 fidelity: shared rhythm, equal-height actions, distinct editorial channels. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
.cwc-header { padding-inline: 4vw; }
.cwc-brand { flex-shrink: 0; }
.cwc-primary-nav { flex: 1; }
.cwc-primary-nav .wp-block-navigation__container { width: 100%; justify-content: center; }
.cwc-nav-cta { margin-left: auto !important; }
.wp-block-buttons { align-items: stretch !important; gap: .85rem !important; }
.wp-block-button { display: flex; margin: 0 !important; }
.wp-block-button__link, .cwc-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .75rem 1rem; line-height: 1.35; }
.cwc-hero-media:after { content: 'Carlina · travel archive · original photography'; position: absolute; right: 2rem; bottom: 2rem; padding: .6rem .8rem; color: white; background: #173b69e6; font: 700 .7rem/1.4 var(--wp--preset--font-family--sans); letter-spacing: .12em; text-transform: uppercase; }
.cwc-hero-media:before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg,#2c1738,transparent 34%); }
.cwc-hero h1 { font-size: clamp(3rem,6.8vw,8rem); line-height: .82; margin: .8rem 0 1.2rem; }
.cwc-hero h1 > span { white-space: nowrap; }
.wp-site-blocks > .cwc-main { margin-top: 0; }
.cwc-main.is-landing > *, .cwc-main.is-landing > .wp-block-post-content > .alignfull { margin-block-start: 0 !important; }
.cwc-primary-nav .cwc-nav-cta a.wp-block-navigation-item__content { color: white !important; min-height: 46px; display: inline-flex; align-items: center; }
.cwc-hero-copy > .wp-block-buttons { margin-top: 1.5rem; }
.cwc-editorial-section { padding: clamp(4rem,8vw,8rem) 5vw; }
.cwc-editorial-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 3rem; margin-bottom: 2.5rem; }
.cwc-editorial-heading h2 { margin: .45rem 0 0; }
.cwc-editorial-heading > p { max-width: 32rem; margin-bottom: 0; }
.cwc-editorial-section h2, .cwc-panel-copy h2 { font-size: clamp(2.8rem,6vw,6rem); line-height: .93; }
.cwc-story-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 1.1rem; }
.cwc-story { position: relative; min-height: 440px; overflow: hidden; color: white; text-decoration: none; display: flex; align-items: end; padding: 2rem; }
.cwc-story > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cwc-story:after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,#1b11222e,#1b1122e6); }
.cwc-story > div { position: relative; z-index: 1; }
.cwc-story h3 { font-size: clamp(2rem,3vw,3.4rem); line-height: 1; margin: .7rem 0 1rem; }
.cwc-story span, .cwc-text-link { font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cwc-story span { text-decoration: underline; text-underline-offset: .3rem; }
.cwc-editorial-split, .cwc-channel-hero { display: grid; grid-template-columns: 1.08fr .92fr; margin: 0; }
.cwc-panel-photo { position: relative; min-height: 560px; overflow: hidden; display: block; }
.cwc-panel-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.cwc-panel-copy { padding: clamp(3rem,7vw,7rem); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.cwc-panel-copy p { max-width: 58ch; }
.cwc-travel-feature { background: #173b69; color: white; }
.cwc-travel-feature p { color: #dce8f5; }
.cwc-button { border: 1px solid #4d285c; background: #4d285c; color: white; text-decoration: none; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cwc-button-light { background: #f5eddf; border-color: #f5eddf; color: #26172f; }
.cwc-button:hover { background: #173b69; color: white; border-color: #173b69; }
.cwc-panel-copy .cwc-button { margin-top: 1.5rem; }
.cwc-recipes-feature, .cwc-recipe-invitation { background: #f5eddf; }
.cwc-recipe-intro { display: grid; grid-template-columns: .75fr 1.25fr; align-items: end; gap: 7vw; margin-bottom: 3rem; }
.cwc-recipe-intro blockquote, .cwc-recipe-invitation blockquote { margin: 0; font: 400 clamp(2rem,3.7vw,3.8rem)/.98 var(--wp--preset--font-family--serif); letter-spacing: -.03em; }
.cwc-recipe-intro em, .cwc-recipe-invitation em { color: #4d285c; font: 400 1.12em/1 var(--wp--preset--font-family--script); letter-spacing: 0; }
.cwc-editorial-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.cwc-editorial-card { border: 1px solid #d7c8b7; background: #fffaf2; min-width: 0; display: flex; flex-direction: column; }
.cwc-editorial-photo { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; background: #4d285c; color: #f5eddf; }
.cwc-editorial-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cwc-editorial-copy { padding: 1.6rem 2rem 2rem; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.cwc-editorial-copy h3 { font-size: clamp(1.5rem,2vw,2rem); margin: .4rem 0 .8rem; line-height: 1.08; }
.cwc-editorial-copy h3 a { text-decoration: none; }
.cwc-editorial-copy p { font-size: .95rem; margin-top: 0; }
.cwc-editorial-copy .cwc-text-link { margin-top: auto; padding-top: .8rem; }
.cwc-section-actions { margin-top: 2rem; display: flex; justify-content: center; }
.cwc-watch-feature { background: #4d285c; color: white; grid-template-columns: .9fr 1.1fr; }
.cwc-watch-feature p { color: #efe2f2; }
.cwc-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 74px; height: 74px; border: 1px solid white; border-radius: 50%; background: #26172f99; color: white; font-size: 1.4rem; }
.cwc-experience-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.cwc-experience-pair article { border: 1px solid #d7c8b7; display: flex; flex-direction: column; }
.cwc-experience-pair img { width: 100%; height: 340px; object-fit: cover; object-position: center 35%; }
.cwc-experience-pair article > div { padding: 2rem; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.cwc-experience-pair h3 { margin: .5rem 0; }
.cwc-experience-pair .cwc-button { margin-top: auto; }
.cwc-journal-feature { background: #d98ca6; grid-template-columns: .9fr 1.1fr; }
.cwc-journal-stories { padding: 3rem 5vw; background: #fffaf2; display: flex; flex-direction: column; justify-content: center; }
.cwc-journal-stories .cwc-journal-row { grid-template-columns: 1fr auto; text-decoration: none; }
.cwc-journal-row h3 { font-size: 1.7rem; margin: .25rem 0 .75rem; }
.cwc-closing { text-align: center; }
.cwc-channel-hero { background: #2c1738; color: white; grid-template-columns: .92fr 1.08fr; }
.cwc-channel-hero h1 { font-size: clamp(3.5rem,6.5vw,7rem); line-height: .93; margin: .8rem 0 1.5rem; }
.cwc-channel-hero p { color: #f0e6f2; }
.cwc-channel-recipe { background: #4d285c; }
.cwc-channel-episode { background: #173b69; }
.cwc-channel-episode .cwc-panel-photo img { object-position: center top; }
.cwc-story:nth-child(2) > img, .cwc-experience-pair article:first-child > img { object-position: center top; }
.cwc-recipe-invitation { padding: 3.5rem 6vw; text-align: center; }
.cwc-recipe-invitation p { margin-bottom: 0; }
.cwc-library-episode { background: #26172f; color: white; }
.cwc-library-episode .cwc-label, .cwc-library-episode .cwc-filter-label { color: #f2cbd4; }
.cwc-library-episode .cwc-editorial-card { background: #352140; border-color: #725879; }
.cwc-library-episode .cwc-editorial-photo { aspect-ratio: 16/9; }
.cwc-library-episode .cwc-editorial-copy p { color: #e9dfec; }
.cwc-library-episode .cwc-chip.is-active { background: #f5eddf; color: #26172f; border-color: #f5eddf; }
.cwc-no-photo { padding: 2rem; height: 100%; display: flex; flex-direction: column; justify-content: center; font: 400 2rem/1 var(--wp--preset--font-family--serif); }
.cwc-no-photo span { font: 700 .7rem/1.5 var(--wp--preset--font-family--sans); margin-top: 1rem; text-transform: uppercase; letter-spacing: .1em; }
.cwc-editorial-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-top: 3rem; }
.cwc-editorial-pagination a, .cwc-editorial-pagination span { padding: .7rem 1rem; border: 1px solid #d7c8b7; }
.cwc-detail-head { padding: 4rem 5vw 2rem; max-width: 1100px; margin: auto; }
.cwc-detail-head h1 { font-size: clamp(2.8rem,5vw,5.5rem); line-height: 1; margin: 1rem 0; }
.cwc-detail-content { max-width: 760px; margin: 2rem auto 4rem; padding-inline: 1.5rem; font: 1.12rem/1.8 var(--wp--preset--font-family--reading); }
.cwc-detail-content img { max-width: 100%; height: auto; }
.cwc-detail-content iframe { width: 100%; max-width: 100%; }
.cwc-detail-content h2 { font-size: clamp(2rem,4vw,3.6rem); }
.cwc-detail-content summary { cursor: pointer; padding-block: 1rem; font-family: var(--wp--preset--font-family--sans); border-block: 1px solid #725879; }
.cwc-channel-detail .cwc-video iframe { width: 100%; aspect-ratio: 16/9; height: auto; }
.cwc-channel-library { scroll-margin-top: 85px; }
.cwc-recipe-detail-photo { max-width: 760px; margin: auto; text-align: center; }
.cwc-recipe-detail-photo img { max-width: 100%; max-height: 540px; width: auto; }
.cwc-detail-crosslink { text-align: center; padding: 0 1.5rem 4rem; }
.cwc-detail-episode { background: #26172f; color: #fffaf2; }
.cwc-detail-episode .cwc-detail-head .cwc-label { color: #f2cbd4; }
.cwc-detail-episode .cwc-video { padding-inline: 1.5rem; }
@media (max-width: 1050px) {
 .cwc-editorial-split, .cwc-channel-hero, .cwc-recipe-intro, .cwc-editorial-heading { grid-template-columns: 1fr; }
 .cwc-story-grid { grid-template-columns: 1fr 1fr; }
 .cwc-story:first-child { grid-column: 1/-1; }
 .cwc-editorial-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .cwc-watch-feature > .cwc-panel-photo { order: -1; }
 .cwc-panel-photo { min-height: 55vh; }
 .cwc-primary-nav .wp-block-navigation__responsive-container-open { display: flex !important; }
 .cwc-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
 .cwc-primary-nav { flex: 0; }
 .cwc-hero-media:before { background: linear-gradient(180deg,#2c1738,transparent 30%); }
}
@media (max-width: 650px) {
 .cwc-editorial-grid, .cwc-story-grid, .cwc-experience-pair { grid-template-columns: 1fr; }
 .cwc-story:first-child { grid-column: auto; }
 .cwc-editorial-section { padding: 3.5rem 6vw; }
 .cwc-panel-copy { padding: 3rem 7vw; }
 .cwc-button { width: 100%; }
 .cwc-hero-media:after { right: 1rem; bottom: 1rem; max-width: calc(100% - 2rem); }
 .cwc-experience-pair img { height: 280px; }
}

h1, h2, h3, p, li, a { overflow-wrap: break-word; }
h1 em, h2 em, .cwc-display em {
	display: block;
	margin-top: .25rem;
	color: var(--wp--preset--color--rose);
	font: 400 .56em/1.05 var(--wp--preset--font-family--script);
	letter-spacing: 0;
}

.cwc-label, .cwc-kicker, .cwc-meta, .cwc-number {
	font-size: var(--wp--preset--font-size--label);
	font-weight: 800;
	letter-spacing: .17em;
	text-transform: uppercase;
}
.cwc-label, .cwc-meta { color: var(--wp--preset--color--blue); }
.cwc-kicker, .cwc-number { color: var(--wp--preset--color--blush); }
.has-plum-dark-background-color .cwc-label, .has-ink-background-color .cwc-label { color: var(--wp--preset--color--blush); }
.cwc-script-note { color: var(--wp--preset--color--rose); font: 400 clamp(2rem, 4vw, 3.8rem)/1 var(--wp--preset--font-family--script); }

/* Header */
.cwc-site-header {
	position: sticky; top: 0; z-index: 20;
	background: rgba(255, 250, 242, .97);
	border-bottom: 1px solid var(--cwc-line);
	backdrop-filter: blur(12px);
}
.admin-bar .cwc-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
.cwc-header { padding: 1rem var(--cwc-gutter); gap: 1.5rem; }
.cwc-brand .wp-block-site-title { margin: 0; font: 400 clamp(1.35rem, 2vw, 1.8rem)/1 var(--wp--preset--font-family--serif); letter-spacing: .015em; }
.cwc-brand .wp-block-site-title a { text-decoration: none; }
.cwc-brand-tagline { margin: 0; color: var(--wp--preset--color--plum); font: 1rem/1 var(--wp--preset--font-family--script); }
.cwc-primary-nav a { text-decoration: none; }
.cwc-primary-nav a:hover, .cwc-primary-nav .current-menu-item > a, .cwc-primary-nav [aria-current="page"] {
	text-decoration: underline; text-decoration-color: var(--wp--preset--color--rose);
	text-decoration-thickness: 2px; text-underline-offset: .45rem;
}
@media (min-width: 600px) {
	.cwc-primary-nav .cwc-nav-cta > a {
		padding: .8rem 1rem; background: var(--wp--preset--color--plum); color: #fff;
	}
	.cwc-primary-nav .cwc-nav-cta > a:hover { background: var(--wp--preset--color--blue-dark); text-decoration: none; }
}
.cwc-primary-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); }

/* Main */
.cwc-main { padding-block: clamp(2rem, 5vw, 4rem) clamp(4rem, 8vw, 7rem); }
.cwc-main.is-landing { padding-block: 0; }
.cwc-section { padding-block: clamp(4.5rem, 8vw, 8rem); }
.cwc-page-title { margin-block: clamp(2rem, 5vw, 4rem) 1.5rem; }

/* Hero — core pads any columns block with a background; heroes are full-bleed. */
.cwc-hero.has-background { padding: 0; }
/* Landing pages use the site sans; the reading serif is for articles only. */
.is-landing .wp-block-post-content { font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--medium); line-height: 1.62; }

/* Hero */
.cwc-hero { margin-block: 0 !important; min-height: min(82vh, 860px); }
.cwc-hero-copy { padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 6vw, 6rem); }
.cwc-hero-copy p { max-width: 36rem; color: #f0e6f2; }
.cwc-hero-copy .cwc-kicker { color: var(--wp--preset--color--blush); }
.cwc-hero .is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,.72); color: #fff; background: transparent; }
.cwc-hero-media { position: relative; min-height: 420px; }
/* Full-bleed photos are Cover blocks; their focal point is set in the editor. */
.cwc-fill.wp-block-cover { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0 !important; margin: 0; padding: 0; }
.cwc-fill .wp-block-cover__inner-container { display: none; }

/* Manifesto + pillars */
.cwc-manifesto { gap: 8vw; }
.cwc-pillars { margin-block: 0 !important; }
.cwc-pillar { min-height: 300px; padding: 2.4rem 2rem; border-right: 1px solid rgba(255,255,255,.18); display: flex; flex-direction: column; justify-content: space-between; }
.cwc-pillar:last-child { border-right: 0; }
.cwc-pillar p { color: #dce8f5; font-size: .94rem; }

/* Page head for section archives */
.cwc-page-head { padding-block: clamp(3.5rem, 7vw, 6rem); margin-block-start: calc(-1 * clamp(2rem, 5vw, 4rem)); }
.cwc-page-head .wp-block-query-title { margin: 0; }
.cwc-page-head p { max-width: 60ch; color: #efe4f1; }

/* Filters and sort (cwc/archive-controls) */
.cwc-archive-controls { display: flex; flex-wrap: wrap; gap: 1rem 2.5rem; margin-block: 2rem 2.5rem; }
.cwc-filter-group { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.cwc-filter-label { font-size: var(--wp--preset--font-size--label); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--blue); margin-right: .25rem; }
.cwc-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.cwc-chip { display: inline-block; min-height: 44px; padding: .75rem .85rem; border: 1px solid var(--cwc-line); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; line-height: 1.2; }
.cwc-chip:hover { border-color: var(--wp--preset--color--plum); }
.cwc-chip.is-active { background: var(--wp--preset--color--plum); border-color: var(--wp--preset--color--plum); color: #fff; }

/* Cards */
.cwc-card-grid { gap: 1rem; }
.cwc-card { height: 100%; overflow: hidden; border: 1px solid var(--cwc-line); background: var(--wp--preset--color--paper); }
.cwc-card .wp-block-post-featured-image { margin: 0; background: var(--wp--preset--color--plum); }
.cwc-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.cwc-card-copy { padding: 1.4rem 1.6rem 1.7rem; min-width: 0; }
.cwc-card-copy .wp-block-post-title { margin: .35rem 0 .5rem; font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.08; }
.cwc-card-copy .wp-block-post-title a { text-decoration: none; }
.cwc-card-copy .wp-block-post-excerpt { font-size: .95rem; }
.cwc-empty { padding: 3rem; border: 1px dashed #bbaa97; background: var(--wp--preset--color--cream); text-align: center; }

/* Search */
.cwc-search .wp-block-search__input { min-height: 52px; padding: .9rem 1rem; border: 1px solid var(--cwc-line); font: inherit; }
.cwc-search .wp-block-search__button { min-height: 52px; margin-left: .6rem; }

/* Single */
.cwc-single-head { padding-block: clamp(2rem, 5vw, 4rem) 1.5rem; }
.cwc-single-meta { gap: .4rem 1rem; }
.cwc-single-title { font-size: clamp(2.6rem, 6vw, 5.6rem); line-height: .95; }
/* Never upscale: legacy featured images are often small derivatives. */
.cwc-single-media { margin-block: 0 2.5rem; text-align: center; }
.cwc-single-media img { display: inline-block; width: auto !important; max-width: 100%; height: auto; max-height: 72vh; object-fit: contain; }
.cwc-video { max-width: 960px; margin: 0 auto 2.5rem; }
.cwc-video iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.cwc-article img { height: auto; }
.cwc-single-foot { margin-top: 2.5rem; padding-top: 1.2rem; border-top: 1px solid var(--cwc-line); font-size: .86rem; }
.cwc-tags { color: #5f5360; }

/* Related (cwc/related) */
.cwc-related { max-width: 1180px; margin: clamp(3rem, 6vw, 5rem) auto 0; }
.cwc-related-title { font-size: clamp(2rem, 4vw, 3.2rem); }
.cwc-related-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.cwc-related-item a { display: block; height: 100%; border: 1px solid var(--cwc-line); text-decoration: none; }
.cwc-related-item img { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; }
.cwc-related-meta { display: block; padding: 1rem 1.2rem 0; color: var(--wp--preset--color--blue); font-size: var(--wp--preset--font-size--label); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cwc-related-name { display: block; padding: .3rem 1.2rem 1.2rem; font: 400 1.35rem/1.1 var(--wp--preset--font-family--serif); }

/* Journal rows stay compact regardless of photo height. */
.cwc-journal-row { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 1rem; align-items: center; padding: .75rem 0; border-bottom: 1px solid var(--cwc-line); }
.cwc-journal-row img { width: 84px; height: 84px; object-fit: cover; }

/* About + routes */
.cwc-about { gap: 6vw; }
.cwc-about p { color: #e9dfec; max-width: 60ch; }
.cwc-portrait img { width: 100%; aspect-ratio: 3 / 4; height: auto; object-fit: cover; object-position: center 34%; }
.cwc-routes { gap: 1rem; }
.cwc-route-card { padding: 1.5rem; border-left: 4px solid var(--wp--preset--color--rose); background: var(--wp--preset--color--paper); }

/* Footer */
.cwc-social-band { padding: 1.25rem var(--cwc-gutter); background: var(--wp--preset--color--rose); gap: 1rem 2rem; align-items: center; }
.cwc-social-band-title { margin: 0; font: 400 clamp(1.35rem, 2.5vw, 2rem)/1.1 var(--wp--preset--font-family--serif); }
.cwc-footer { padding: 4rem var(--cwc-gutter) 2rem; background: var(--wp--preset--color--ink); color: #fff; }
.cwc-footer .cwc-label { color: var(--wp--preset--color--blush); }
.cwc-footer-brand { font: 400 2rem var(--wp--preset--font-family--serif); }
.cwc-footer .cwc-brand-tagline { color: var(--wp--preset--color--rose); font-size: 1.2rem; }
.cwc-footer-links { margin: 0; padding: 0; list-style: none; }
.cwc-footer-links a { display: inline-block; padding: .3rem 0; color: #e8dfea; text-decoration: none; font-size: .9rem; }
.cwc-footer-links a:hover { text-decoration: underline; }
.cwc-footer-bottom { margin-top: 3rem; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.2); color: #cbbfce; font-size: .78rem; }

/* Page sections (About, Experiences, Work With, Contact) */
.cwc-page-hero { min-height: min(72vh, 760px); }
.cwc-lede { font-size: var(--wp--preset--font-size--large); }
.cwc-section-head { gap: 1rem 3rem; margin-bottom: 2.5rem; }
.cwc-section-head .wp-block-heading { margin: .4rem 0 0; }
.cwc-section-intro { max-width: 34rem; margin: 0; }
.has-blue-dark-background-color .cwc-label, .has-blue-dark-background-color .cwc-fine, .has-blue-dark-background-color .cwc-section-intro { color: #dce8f5; }
.cwc-steps { gap: 1px !important; background: var(--cwc-line); border: 1px solid var(--cwc-line); }
.cwc-steps > .cwc-step { padding: 2rem; background: var(--wp--preset--color--paper); }
.cwc-step .cwc-number { color: var(--wp--preset--color--rose); }
.cwc-feature { margin-block: 0 !important; min-height: 620px; }
.cwc-feature-copy { padding: clamp(3rem, 7vw, 7rem) clamp(1.25rem, 6vw, 6rem); }
.cwc-feature-media { position: relative; min-height: 520px; }
.cwc-quote { margin: 1.5rem 0 0; padding: 0; color: var(--wp--preset--color--plum); }
.cwc-quote p { font: 400 clamp(1.8rem, 3.2vw, 3rem)/1.05 var(--wp--preset--font-family--serif); }
.cwc-stats { gap: 1px !important; background: var(--cwc-line); border: 1px solid var(--cwc-line); }
.cwc-stats > .cwc-stat { padding: 1.8rem 1.6rem; background: var(--wp--preset--color--paper); }
.cwc-stat-value { margin: 0; color: var(--wp--preset--color--plum); font: 400 clamp(2.2rem, 4vw, 3.4rem)/1 var(--wp--preset--font-family--serif); }
.cwc-stat-label { margin: .5rem 0 0; font-size: var(--wp--preset--font-size--label); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cwc-fine { font-size: .8rem; color: #5f5360; }
.cwc-offer-grid { gap: 1rem; }
.cwc-offer { border: 1px solid var(--cwc-line); background: var(--wp--preset--color--paper); }
.cwc-offer .wp-block-image { margin: 0; }
.cwc-offer .wp-block-image img { width: 100%; }
.cwc-focus-top img { object-position: center 20%; }
.cwc-offer-copy { padding: 1.5rem 1.7rem 1.8rem; }
.cwc-status { display: inline-block; margin: 0; padding: .36rem .55rem; background: var(--wp--preset--color--cream); color: var(--wp--preset--color--plum); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cwc-card-link a { font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cwc-closing .wp-block-buttons { margin-top: 1.5rem; }
.cwc-social-labelled .wp-social-link { background: transparent !important; color: var(--wp--preset--color--ink) !important; border: 1px solid currentColor; }
.cwc-social-labelled .wp-block-social-link-label { font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

/* Editor-only hints for server-rendered blocks */
.cwc-editor-note { padding: .8rem 1rem; border: 1px dashed var(--cwc-line); font-size: .8rem; }

@media (max-width: 1050px) {
	.cwc-hero, .cwc-about, .cwc-manifesto, .cwc-feature, .cwc-stats, .cwc-steps { flex-wrap: wrap !important; }
	.cwc-hero > .wp-block-column, .cwc-about > .wp-block-column, .cwc-manifesto > .wp-block-column, .cwc-feature > .wp-block-column { flex-basis: 100% !important; }
	.cwc-stats > .cwc-stat, .cwc-steps > .cwc-step { flex-basis: calc(50% - 1px) !important; }
	.cwc-feature-media { min-height: 60vh; }
	.cwc-hero-media { min-height: 52vh; order: -1; }
	.cwc-pillars { flex-wrap: wrap !important; }
	.cwc-pillars > .cwc-pillar { flex-basis: 50% !important; }
	.cwc-card-grid.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.cwc-related-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
	body { font-size: 16px; }
	.cwc-hero-media { min-height: 46vh; }
	.cwc-pillars > .cwc-pillar { flex-basis: 100% !important; min-height: 220px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
	.cwc-stats > .cwc-stat, .cwc-steps > .cwc-step { flex-basis: 100% !important; }
	.cwc-card-grid.is-layout-grid, .cwc-related-list { grid-template-columns: minmax(0, 1fr) !important; }
	.cwc-archive-controls { gap: 1rem; }
	.cwc-search .wp-block-search__inside-wrapper { flex-wrap: wrap; }
	.cwc-search .wp-block-search__button { width: 100%; margin: .6rem 0 0; }
	.wp-block-button, .wp-block-button__link { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Three stable header zones: brand / centered navigation / independent action. */
.cwc-site-header .cwc-header {
	display: grid !important;
	grid-template-columns: auto minmax(0,1fr) auto;
	align-items: center;
	gap: clamp(1rem,2.3vw,2.4rem);
	padding: 1rem 4vw;
}
.cwc-header .cwc-brand { justify-self: start; align-items: flex-start; }
.cwc-header .cwc-primary-nav { justify-self: center; min-width: 0; width: 100%; }
.cwc-header .cwc-primary-nav .wp-block-navigation__container { justify-content: center; gap: clamp(.65rem,1.3vw,1.3rem); }
.cwc-header .cwc-primary-nav .cwc-nav-cta { display: none; margin: 0 !important; }
.cwc-header .cwc-header-action { justify-self: end; margin: 0; }
.cwc-header-action .wp-block-button__link { white-space: nowrap; font-size: .68rem; }
.cwc-header .cwc-brand .wp-block-site-title { font-size: clamp(1.25rem,1.8vw,1.8rem); }
.cwc-header .cwc-primary-nav { font-size: .68rem; letter-spacing: .1em; }
.cwc-site-header:has(.is-menu-open) { backdrop-filter: none; }
.cwc-header .cwc-primary-nav .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; width: 100%; min-height: 100dvh; overflow-y: auto; padding: 2rem; z-index: 100; }
.cwc-photo-notes { padding: clamp(3rem,6vw,6rem) 6vw; background: #f5eddf; scroll-margin-top: 85px; }
.cwc-channel-photo-notes { padding: clamp(3rem,6vw,5rem) 6vw; background: #f5eddf; }
.cwc-channel-photo-notes .cwc-camera-roll figure:nth-child(3) img { object-position: center 64%; }
.cwc-channel-travel-story .cwc-panel-photo img { object-position: 65% center; }
.cwc-channel-journal .cwc-panel-photo img { object-position: center 40%; }
.cwc-photo-notes-journal .cwc-camera-roll figure:first-child img { object-position: center 38%; }
.cwc-photo-notes-journal .cwc-camera-roll figure:nth-child(2) img { object-position: center 55%; }
.cwc-photo-notes-journal .cwc-camera-roll figure:nth-child(3) img { object-position: center 36%; }
.cwc-photo-notes-heading { text-align: center; max-width: 850px; margin: 0 auto 2.5rem; }
.cwc-photo-notes-heading h2 { font-size: clamp(2.5rem,4.8vw,4.8rem); margin: .7rem 0 1rem; }
.cwc-photo-notes-heading blockquote { font: 400 clamp(1.4rem,2.5vw,2rem)/1.3 var(--wp--preset--font-family--serif); color: #4d285c; margin: 0; }
.cwc-camera-roll { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1.4rem; }
.cwc-camera-roll figure { margin: 0; padding: .65rem .65rem 0; background: #fffaf2; border: 1px solid #d7c8b7; }
.cwc-camera-roll img { width: 100%; height: 310px; object-fit: cover; }
.cwc-camera-roll figure:nth-child(2) img { object-position: center 64%; }
.cwc-camera-roll figcaption { padding: 1rem .5rem; color: #4d285c; font: 400 1.15rem/1.2 var(--wp--preset--font-family--serif); }
@media (max-width: 1170px) {
	.cwc-site-header .cwc-header { grid-template-columns: minmax(0,1fr) auto; }
	.cwc-header .cwc-header-action { display: none; }
	.cwc-header .cwc-primary-nav { justify-self: end; width: auto; }
	.cwc-header .cwc-primary-nav .wp-block-navigation__responsive-container-open { display: flex !important; }
	.cwc-header .cwc-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.cwc-header .cwc-primary-nav .is-menu-open .cwc-nav-cta { display: block; }
	.cwc-header .cwc-primary-nav .is-menu-open .cwc-nav-cta a { background: #4d285c; color: #fff !important; padding: .8rem 1rem; }
	.cwc-header .cwc-primary-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start; }
}
@media (max-width: 650px) {
	.cwc-camera-roll { grid-template-columns: 1fr 1fr; gap: .75rem; }
	.cwc-camera-roll figure:first-child { grid-column: 1/-1; }
	.cwc-camera-roll img { height: 200px; }
	.cwc-camera-roll figcaption { font-size: 1rem; }
}

/* Collaboration portfolio: real campaign imagery, quiet wordmarks, editorial stories. */
.cwc-experiences-page .cwc-hero-media:after { content: 'Carlina & Mario Lopez · Access Hollywood'; }
.cwc-experiences-page .entry-content > * { margin-block-start: 0 !important; }
.cwc-marquee { padding: 1.8rem 0; background: #f5eddf; border-bottom: 1px solid #d7c8b7; }
.cwc-marquee + .cwc-marquee { background: #fffaf2; }
.cwc-marquee-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0 5vw; }
.cwc-marquee-heading p { margin: 0; }
.cwc-marquee-toggle { min-height: 44px; padding: .5rem .9rem; border: 1px solid #d7c8b7; background: transparent; color: #4d285c; font: 700 .68rem/1.2 var(--wp--preset--font-family--sans); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.cwc-marquee-window { overflow: hidden; margin-top: 1.3rem; }
.cwc-marquee-track { display: flex; width: max-content; animation: cwc-brand-drift 65s linear infinite; }
.cwc-marquee-segment { display: flex; flex: 0 0 auto; align-items: stretch; gap: 2rem; padding: .5rem 2rem .5rem 0; }
.cwc-brand-mark { display: flex; flex-direction: column; justify-content: center; min-width: 260px; min-height: 88px; padding: .8rem 2rem; text-align: center; border-right: 1px solid #d7c8b7; text-decoration: none; color: #4d285c; }
.cwc-brand-mark strong { font: 400 clamp(1.5rem,2.5vw,2rem)/1.15 var(--wp--preset--font-family--serif); white-space: nowrap; }
.cwc-brand-mark span { margin-top: .6rem; font-size: .62rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: #315f96; }
.cwc-brand-mark:hover strong { text-decoration: underline; text-underline-offset: .2em; }
.cwc-brand-mark { background: #fff; min-height: 140px; width: 260px; box-sizing: border-box; }
.cwc-brand-mark .cwc-brand-logo { width: 200px; max-width: 100%; height: 90px; object-fit: contain; display: block; margin: 0 auto; }
.cwc-brand-mark strong { white-space: normal; max-width: 200px; }
.cwc-brand-logo[src$="logo-home-family.png"], .cwc-logo-home-family { background: #26172f; padding: 12px; box-sizing: border-box; }
.cwc-press-logo { display: block; width: 200px; max-width: 100%; height: 80px; object-fit: contain; object-position: left center; margin-bottom: 1.2rem; }
.cwc-press-tiles p { margin: 0 0 1.5rem; font-size: .95rem; }
.cwc-press-tiles > a { scroll-margin-top: 100px; }
.cwc-brand-mark:focus-visible { outline: 3px solid #315f96; outline-offset: -3px; }
.cwc-muppets-spotlight { padding: clamp(2rem,5vw,5rem) 6vw; background: #26172f; color: #fffaf2; scroll-margin-top: 90px; }
.cwc-muppets-title { max-width: 900px; margin: 0 auto 2.5rem; text-align: center; }
.cwc-muppets-title h2 { font-size: clamp(2.7rem,5.5vw,5.6rem); line-height: 1.05; margin: 1rem 0; }
.cwc-muppets-title h2 em { color: #de8cab; }
.cwc-muppets-title p { color: #eee4ef; }
.cwc-muppets-spotlight figure { margin: 0; }
.cwc-muppets-panorama img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; }
.cwc-muppets-spotlight figcaption { padding: .8rem 0; font-size: .75rem; color: #e4d4e7; }
.cwc-muppets-story { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem,5vw,5rem); padding-top: 2.5rem; }
.cwc-muppets-story blockquote { font: 400 clamp(1.7rem,3vw,3rem)/1.2 var(--wp--preset--font-family--serif); margin: 1rem 0; }
.cwc-muppets-story .cwc-label { color: #efc4d5; }
.cwc-muppets-story .cwc-button { margin-top: 1rem; }
.cwc-muppets-story img { display: block; width: 100%; height: auto; }
.cwc-muppets-extra { border-top: 1px solid #ffffff40; margin-top: 2.5rem; }
.cwc-muppets-extra summary { padding: 1.2rem 0; cursor: pointer; font: 400 1.4rem/1.3 var(--wp--preset--font-family--serif); }
.cwc-muppets-extra summary span { float: right; }
.cwc-muppets-extra img { width: 100%; max-width: 900px; height: auto; display: block; margin: auto; }
@media (max-width: 750px) {
 .cwc-muppets-story { grid-template-columns: minmax(0,1fr); }
 .cwc-muppets-title { text-align: left; }
}
.cwc-marquee:hover .cwc-marquee-track, .cwc-marquee:focus-within .cwc-marquee-track, .cwc-marquee[data-paused="true"] .cwc-marquee-track { animation-play-state: paused; }
@keyframes cwc-brand-drift { to { transform: translateX(-50%); } }
.cwc-collab-intro { padding-bottom: 3rem; }
.cwc-collab-feature { display: grid; grid-template-columns: 1.12fr .88fr; background: #173b69; color: white; }
.cwc-collab-feature { scroll-margin-top: 85px; }
.cwc-collab-feature figure { position: relative; margin: 0; min-height: 540px; }
.cwc-collab-feature figure > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 46% center; }
.cwc-collab-feature figcaption { position: absolute; left: 1.3rem; bottom: 1.3rem; max-width: calc(100% - 2.6rem); background: #26172fd9; padding: .6rem .9rem; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.cwc-collab-feature-copy { padding: clamp(2rem,5vw,5rem); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.cwc-collab-feature-copy h2 { font-size: clamp(2.5rem,4.8vw,5rem); line-height: 1; margin: .7rem 0 1.4rem; }
.cwc-collab-feature-copy > p { color: #e9e4ef; }
.cwc-collab-feature-copy dl { width: 100%; margin: 1rem 0 2rem; }
.cwc-collab-feature-copy dl > div { border-top: 1px solid #ffffff40; padding: .8rem 0; }
.cwc-collab-feature-copy dt { color: #f2cbd4; font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.cwc-collab-feature-copy dd { margin: .4rem 0 0; font-size: .95rem; }
.cwc-collab-feature-copy blockquote { margin: 0 0 2rem; font: 400 clamp(1.5rem,2.3vw,2.2rem)/1.2 var(--wp--preset--font-family--serif); }
.cwc-collab-reverse { background: #4d285c; }
.cwc-collab-reverse figure { order: 2; }
.cwc-collab-campaigns { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.cwc-collab-campaigns article { background: #f5eddf; border: 1px solid #d7c8b7; display: flex; flex-direction: column; }
.cwc-collab-campaigns article > img { width: 100%; height: 370px; object-fit: cover; object-position: center 65%; }
.cwc-collab-campaigns article > div { padding: 2rem; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.cwc-collab-campaigns h3 { font-size: clamp(2rem,3vw,3rem); margin: .5rem 0 1rem; }
.cwc-collab-campaigns .cwc-text-link { margin-top: auto; padding-top: 1rem; }
.cwc-collab-press { background: #f5eddf; }
.cwc-press-tiles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.cwc-press-tiles > a { display: flex; flex-direction: column; min-height: 200px; padding: 1.5rem; border: 1px solid #d7c8b7; background: #fffaf2; text-decoration: none; }
.cwc-press-tiles h3 { font-size: 1.9rem; margin: .8rem 0 1.5rem; }
.cwc-press-tiles .cwc-text-link { margin-top: auto; }
.cwc-collab-class { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1.5rem; padding: 3.5rem 6vw; border-block: 1px solid #d7c8b7; }
.cwc-collab-class h2 { font-size: clamp(2rem,3.5vw,3.5rem); }
.cwc-collab-class p { max-width: 65ch; }
.cwc-collab-class .cwc-status { grid-column: 2; }
.cwc-collab-closing { text-align: center; }
.cwc-collab-closing p { max-width: 58ch; margin: 1rem auto 2rem; }
@media (max-width: 900px) {
 .cwc-collab-feature, .cwc-collab-campaigns { grid-template-columns: 1fr; }
 .cwc-collab-reverse figure { order: 0; }
 .cwc-collab-feature figure { min-height: 420px; }
 .cwc-press-tiles { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
 .cwc-collab-class, .cwc-press-tiles { grid-template-columns: 1fr; }
 .cwc-collab-class .cwc-status { grid-column: 1; }
 .cwc-collab-feature figure { min-height: 320px; }
 .cwc-collab-campaigns article > img { height: 280px; }
 .cwc-brand-mark { min-width: 240px; }
 .cwc-marquee-heading { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
 .cwc-marquee-track { animation: none !important; transform: none !important; width: 100%; }
 .cwc-marquee-segment { width: 100%; flex-wrap: wrap; gap: 0; justify-content: center; }
 .cwc-marquee-segment[aria-hidden="true"] { display: none; }
 .cwc-marquee-segment .cwc-brand-mark { min-width: 0; max-width: 100%; flex: 1 1 260px; }
 .cwc-marquee-segment .cwc-brand-mark strong { white-space: normal; }
 .cwc-marquee-window { overflow: visible; }
 .cwc-marquee-toggle { display: none; }
}

/* Recipe details: structured fields rendered as the visible recipe (cwc/recipe-details). */
.cwc-recipe-details { width: min(720px, 100% - 2 * var(--cwc-gutter)); margin: 2.5rem auto 0; font-size: 1.0625rem; line-height: 1.62; }
.cwc-recipe-details h2 { font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.1; margin: 2rem 0 .8rem; }
.cwc-recipe-facts { display: flex; flex-wrap: wrap; gap: .6rem 2rem; margin: 0 0 1rem; padding: .9rem 0; border-block: 1px solid var(--cwc-line); }
.cwc-recipe-facts div { min-width: 0; }
.cwc-recipe-facts dt { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #5f5360; }
.cwc-recipe-facts dd { margin: .15rem 0 0; font-weight: 700; }
.cwc-recipe-ingredients, .cwc-recipe-steps { margin: 0; padding-left: 1.3rem; }
.cwc-recipe-ingredients li, .cwc-recipe-steps li { margin: .4rem 0; padding-left: .2rem; overflow-wrap: anywhere; }
.cwc-recipe-steps li::marker { font-weight: 800; color: var(--wp--preset--color--plum); }

/* Caribbean recipes hub (patterns/page-caribbean-recipes.php). */
.cwc-hub { padding: clamp(2.5rem, 6vw, 5rem) var(--cwc-gutter) clamp(3rem, 7vw, 6rem); }
.cwc-hub h1 { font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-size: clamp(2.4rem, 6vw, 4.6rem); line-height: 1; letter-spacing: -.02em; margin: .4rem 0 1.2rem; text-wrap: balance; }
.cwc-hub h2 { font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.1; margin: 2.4rem 0 .6rem; }
.cwc-hub ul { margin: 0; padding-left: 1.2rem; }
.cwc-hub li { margin: .55rem 0; overflow-wrap: anywhere; }

/* ------------------------------------------------------------------
   Oct 29 design round: drifting intro, digital postcards, seasoning.
   Interactions animate only transform, opacity and box-shadow layers,
   stay under 300ms, and reverse instantly. Ambient drift is slow and
   decorative; reduced motion stills all of it. No sound anywhere.
   ------------------------------------------------------------------ */
:root {
	/* Caribbean accents for postcard borders: sea, sunset, palm, sand. */
	--cwc-sea: #1f8a8f; --cwc-sea-ink: #0f5559; --cwc-sea-glow: rgba(31,138,143,.42);
	--cwc-coral: #e2725b; --cwc-coral-ink: #9c3b28; --cwc-coral-glow: rgba(226,114,91,.42);
	--cwc-palm: #3c8a4f; --cwc-palm-ink: #24592f; --cwc-palm-glow: rgba(60,138,79,.42);
	--cwc-sand: #d6a645; --cwc-sand-ink: #7d5810; --cwc-sand-glow: rgba(214,166,69,.48);
	--cwc-spring: cubic-bezier(.34,1.56,.64,1);
}
/* Real spring where supported: overshoot, then settle. */
@supports (transition-timing-function: linear(0, 1)) {
	:root { --cwc-spring: linear(0, .32 8%, .76 17%, 1.06 27%, 1.1 33%, 1.04 45%, .99 60%, 1); }
}

/* Homepage intro: clouds of plum, blush and blue drifting behind the copy. */
/* Full height, content still centered, so the drifting layer has no visible edge. */
.cwc-hero:not(.cwc-page-hero) .cwc-hero-copy { position: relative; isolation: isolate; overflow: hidden; align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.cwc-hero:not(.cwc-page-hero) .cwc-hero-copy::before,
.cwc-hero:not(.cwc-page-hero) .cwc-hero-copy::after {
	content: ''; position: absolute; inset: -30% -45%; z-index: -1; pointer-events: none;
	background:
		radial-gradient(ellipse 30% 22% at 28% 34%, rgba(242,203,212,.20), transparent 70%),
		radial-gradient(ellipse 26% 18% at 64% 70%, rgba(49,95,150,.30), transparent 70%),
		radial-gradient(ellipse 22% 16% at 82% 26%, rgba(217,140,166,.16), transparent 70%);
	animation: cwc-drift 48s ease-in-out infinite alternate;
}
.cwc-hero:not(.cwc-page-hero) .cwc-hero-copy::after {
	background:
		radial-gradient(ellipse 24% 18% at 40% 78%, rgba(255,250,242,.10), transparent 70%),
		radial-gradient(ellipse 34% 20% at 76% 46%, rgba(77,40,92,.55), transparent 72%),
		radial-gradient(ellipse 20% 14% at 14% 60%, rgba(49,95,150,.22), transparent 70%);
	animation-duration: 67s; animation-direction: alternate-reverse;
}
@keyframes cwc-drift {
	from { transform: translate3d(-7%, 3%, 0) scale(1); }
	to { transform: translate3d(8%, -4%, 0) scale(1.08); }
}
.cwc-hero-copy .cwc-hero-tagline { margin: 0 0 .8rem; color: var(--wp--preset--color--blush); font: 400 clamp(1.5rem, 2.4vw, 2.2rem)/1.15 var(--wp--preset--font-family--script); }

/* The same drift, quietly, between sections. */
.cwc-drift-divider { position: relative; height: clamp(48px, 7vw, 84px); overflow: hidden; background: #fffaf2; }
.cwc-drift-divider:after { content: ''; position: absolute; left: 6vw; right: 6vw; top: 50%; border-top: 1px solid #d7c8b780; }
.cwc-drift-divider span {
	position: absolute; inset: 0 -40%;
	background:
		radial-gradient(ellipse 12% 42% at 18% 55%, rgba(217,140,166,.24), transparent 70%),
		radial-gradient(ellipse 16% 48% at 52% 42%, rgba(49,95,150,.16), transparent 70%),
		radial-gradient(ellipse 11% 40% at 84% 60%, rgba(214,166,69,.22), transparent 70%);
	animation: cwc-drift 54s ease-in-out infinite alternate;
}
.cwc-drift-divider span + span { opacity: .75; transform: scaleX(-1); animation-duration: 73s; animation-direction: alternate-reverse; }

/* Digital postcard cards: lift with a spring, draw an accent border, then
   reveal the stamp and postmark as a second beat. */
.cwc-postcard {
	--cwc-accent: var(--cwc-sea); --cwc-ink: var(--cwc-sea-ink); --cwc-glow-color: var(--cwc-sea-glow);
	position: relative; isolation: isolate;
	transform: perspective(900px) rotateX(var(--cwc-rx, 0deg)) rotateY(var(--cwc-ry, 0deg));
	transition: transform 260ms var(--cwc-spring);
}
.cwc-postcard-grid > article:nth-of-type(4n+2) { --cwc-accent: var(--cwc-coral); --cwc-ink: var(--cwc-coral-ink); --cwc-glow-color: var(--cwc-coral-glow); }
.cwc-postcard-grid > article:nth-of-type(4n+3) { --cwc-accent: var(--cwc-palm); --cwc-ink: var(--cwc-palm-ink); --cwc-glow-color: var(--cwc-palm-glow); }
.cwc-postcard-grid > article:nth-of-type(4n+4) { --cwc-accent: var(--cwc-sand); --cwc-ink: var(--cwc-sand-ink); --cwc-glow-color: var(--cwc-sand-glow); }
.cwc-postcard > .cwc-editorial-photo, .cwc-postcard > .cwc-editorial-copy { position: relative; z-index: 1; }
/* Shadow sells the lift; the ring is the hero-select outline. Opacity only. */
.cwc-postcard::after {
	content: ''; position: absolute; inset: -1px; z-index: 3; pointer-events: none; opacity: 0;
	box-shadow: 0 0 0 2px var(--cwc-accent), 0 0 30px -4px var(--cwc-glow-color), 0 28px 46px -20px rgba(38,23,47,.6);
	transition: opacity 120ms ease-in;
}
.cwc-postcard-back { position: absolute; inset: 0; pointer-events: none; }
.cwc-postcard-back::before {
	/* Address lines under the place, bottom right, clear of the excerpt. */
	content: ''; position: absolute; right: 1.6rem; bottom: 1.1rem; width: 44%; height: 56px; z-index: 0; opacity: 0;
	background: repeating-linear-gradient(180deg, rgba(77,40,92,.22) 0 1px, transparent 1px 27px);
	transition: opacity 120ms ease-in;
}
.cwc-stamp {
	position: absolute; top: .9rem; right: .9rem; z-index: 2; width: 62px; height: 76px;
	background: var(--cwc-stamp, none) center / cover, var(--cwc-accent);
	border: 4px solid #fffaf2; outline: 2px dotted #fffaf2; outline-offset: -1px;
	box-shadow: 0 4px 10px rgba(38,23,47,.35);
	opacity: 0; transform: rotate(7deg) scale(.7); transform-origin: top right;
	transition: opacity 120ms ease-in, transform 120ms ease-in;
}
.cwc-postmark {
	position: absolute; top: 1.5rem; right: 3.7rem; z-index: 2; width: 120px; height: 64px;
	filter: drop-shadow(0 0 1.5px #fffaf2) drop-shadow(0 0 1px #fffaf2);
	opacity: 0; transform: rotate(-9deg) scale(.85);
	transition: opacity 120ms ease-in, transform 120ms ease-in;
}
.cwc-postmark svg { display: block; width: 100%; height: 100%; overflow: visible; }
.cwc-postmark circle, .cwc-postmark-waves { fill: none; stroke: var(--cwc-ink); stroke-width: 1.6; }
.cwc-postmark text { fill: var(--cwc-ink); font: 800 6.6px/1 var(--wp--preset--font-family--sans); letter-spacing: .14em; }
.cwc-postmark .cwc-postmark-date { font-size: 7.6px; letter-spacing: .06em; text-anchor: middle; }
.cwc-postcard-place {
	position: absolute; right: 1.6rem; bottom: 2.05rem; z-index: 2; max-width: 44%;
	overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-align: right;
	color: var(--cwc-ink); font: 400 1.15rem/1.2 var(--wp--preset--font-family--script);
	opacity: 0; transform: translateY(6px);
	transition: opacity 120ms ease-in, transform 120ms ease-in;
}
.cwc-library-episode .cwc-postcard-place { color: #f2cbd4; }
.cwc-library-episode .cwc-postcard-back::before { background: repeating-linear-gradient(180deg, rgba(255,250,242,.24) 0 1px, transparent 1px 27px); }
/* Postcard on: hover (real pointers only, so touch never sticks), keyboard focus, or a tap. */
.cwc-postcard:focus-within, .cwc-postcard.is-postcard {
	z-index: 4; transform: perspective(900px) translateY(-8px) scale(1.035) rotateX(var(--cwc-rx, 0deg)) rotateY(var(--cwc-ry, 0deg));
}
.cwc-postcard:focus-within::after, .cwc-postcard.is-postcard::after,
.cwc-postcard:focus-within .cwc-postcard-back > *, .cwc-postcard.is-postcard .cwc-postcard-back > *,
.cwc-postcard:focus-within .cwc-postcard-back::before, .cwc-postcard.is-postcard .cwc-postcard-back::before { opacity: 1; transform: none; }
.cwc-postcard:focus-within .cwc-stamp, .cwc-postcard.is-postcard .cwc-stamp { transform: rotate(4deg); }
.cwc-postcard:focus-within .cwc-postmark, .cwc-postcard.is-postcard .cwc-postmark { transform: rotate(-9deg); }
.cwc-postcard:focus-within::after, .cwc-postcard.is-postcard::after { transition: opacity 140ms ease-out; }
/* Second beat: the postcard side lands just after the pop (~110ms + 170ms). */
.cwc-postcard:focus-within .cwc-postcard-back > *, .cwc-postcard.is-postcard .cwc-postcard-back > *,
.cwc-postcard:focus-within .cwc-postcard-back::before, .cwc-postcard.is-postcard .cwc-postcard-back::before {
	transition: opacity 170ms ease-out 110ms, transform 180ms var(--cwc-spring) 100ms;
}
@media (hover: hover) and (pointer: fine) {
	.cwc-postcard:hover { z-index: 4; transform: perspective(900px) translateY(-8px) scale(1.035) rotateX(var(--cwc-rx, 0deg)) rotateY(var(--cwc-ry, 0deg)); }
	.cwc-postcard:hover::after, .cwc-postcard:hover .cwc-postcard-back > *, .cwc-postcard:hover .cwc-postcard-back::before { opacity: 1; transform: none; }
	.cwc-postcard:hover .cwc-stamp { transform: rotate(4deg); }
	.cwc-postcard:hover .cwc-postmark { transform: rotate(-9deg); }
	.cwc-postcard:hover::after { transition: opacity 140ms ease-out; }
	.cwc-postcard:hover .cwc-postcard-back > *, .cwc-postcard:hover .cwc-postcard-back::before {
		transition: opacity 170ms ease-out 110ms, transform 180ms var(--cwc-spring) 100ms;
	}
}

/* Cursor glow (added by motion.js): a warm light that also catches the
   borders of neighboring cards. The light moves by transform only. */
.cwc-glow {
	position: absolute; inset: -1px; z-index: 3; padding: 2px; overflow: hidden; pointer-events: none; opacity: 0;
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude;
	transition: opacity 200ms ease-out;
}
.cwc-glow::before {
	content: ''; position: absolute; left: 0; top: 0; width: 600px; height: 600px; border-radius: 50%;
	background: radial-gradient(circle, rgba(226,114,91,.95), rgba(214,166,69,.6) 36%, transparent 68%);
	transform: translate(calc(var(--cwc-gx, -9999px) - 300px), calc(var(--cwc-gy, -9999px) - 300px));
}
.cwc-postcard-grid.is-glowing .cwc-glow { opacity: 1; }

/* Scroll reveals (motion.js marks only sections still below the fold). */
.cwc-js .cwc-reveal { opacity: 0; transform: translateY(18px); transition: opacity 280ms ease-out, transform 280ms ease-out; }
.cwc-js .cwc-reveal.is-revealed { opacity: 1; transform: none; }

/* Lead magnet: a card in the grid, not a popup. Carlina's blue box. */
.cwc-lead-card { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-height: 100%; padding: 2.4rem 2rem; background: #173b69; color: #fffaf2; border: 1px solid #173b69; }
.cwc-lead-card .cwc-label { color: #f2cbd4; }
.cwc-lead-card h3 { margin: .6rem 0 1.5rem; font-size: clamp(1.6rem, 2.3vw, 2.3rem); line-height: 1.08; }
.cwc-lead-stamp { position: absolute; top: 1.2rem; right: 1.2rem; padding: .55rem .65rem; border: 2px dashed rgba(255,250,242,.6); transform: rotate(8deg); color: #fffaf2; font: 800 .56rem/1.4 var(--wp--preset--font-family--sans); letter-spacing: .16em; text-transform: uppercase; text-align: center; }

/* Recipes channel stays recipes; videos live on Watch (crosslink button kept). */
.cwc-detail-recipe .cwc-detail-content :is(iframe, video, .wp-block-embed, .wp-block-video, .cwc-video) { display: none; }

/* Press play: Carlina with a Muppet; keep both in frame as the panel narrows. */
.cwc-photo-muppets img { object-position: 30% center; }

/* Travel: stats at the top, landscapes as postcards, fellow travelers. */
.cwc-travel-stats { display: flex; flex-wrap: wrap; gap: .6rem 2.4rem; margin: 0 0 1.2rem; color: #f2cbd4; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cwc-travel-stats strong { display: block; color: #fffaf2; font: 400 clamp(2.6rem, 4.6vw, 4.4rem)/1 var(--wp--preset--font-family--serif); letter-spacing: -.02em; text-transform: none; }
.cwc-postcard-roll figure { position: relative; padding: .7rem .7rem 0; transform: rotate(-1.2deg); box-shadow: 0 16px 30px -20px rgba(38,23,47,.5); }
.cwc-postcard-roll figure:nth-child(4n+2) { transform: rotate(1deg) translateY(10px); }
.cwc-postcard-roll figure:nth-child(4n+3) { transform: rotate(-.5deg); }
.cwc-postcard-roll img, .cwc-channel-photo-notes .cwc-postcard-roll img { height: auto; aspect-ratio: 3 / 2; }
.cwc-postcard-roll figcaption { font: 400 1.35rem/1.2 var(--wp--preset--font-family--script); }
.cwc-roll-stamp { position: absolute; top: 1.4rem; right: 1.4rem; width: 44px; height: 54px; background: radial-gradient(circle at 50% 62%, #f6c35b 0 22%, transparent 23%), linear-gradient(180deg, var(--cwc-coral) 0 58%, var(--cwc-sea) 58%); border: 3px solid #fffaf2; outline: 1.5px dotted #fffaf2; box-shadow: 0 3px 8px rgba(38,23,47,.35); transform: rotate(5deg); }
.cwc-postcard-roll figure:nth-child(4n+2) .cwc-roll-stamp { background: radial-gradient(circle at 50% 62%, #fffaf2 0 20%, transparent 21%), linear-gradient(180deg, var(--cwc-sea) 0 58%, var(--cwc-palm) 58%); }
.cwc-postcard-roll figure:nth-child(4n+3) .cwc-roll-stamp { background: radial-gradient(circle at 50% 62%, #f6c35b 0 22%, transparent 23%), linear-gradient(180deg, var(--cwc-sand) 0 58%, var(--cwc-coral) 58%); }
.cwc-roll-postmark { position: absolute; top: 1.7rem; right: 4rem; display: grid; place-items: center; width: 70px; height: 70px; padding: .5rem; border: 1.5px solid rgba(255,250,242,.92); border-radius: 50%; color: #fffaf2; font: 800 .5rem/1.35 var(--wp--preset--font-family--sans); letter-spacing: .12em; text-align: center; text-transform: uppercase; text-shadow: 0 1px 3px rgba(38,23,47,.7); transform: rotate(-12deg); }
.cwc-testimonials { padding: clamp(3rem, 6vw, 5rem) 6vw; background: #173b69; color: #fffaf2; }
.cwc-testimonials .cwc-label { color: #f2cbd4; }
.cwc-testimonial-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 1.4rem; max-width: 980px; margin: 0 auto; }
.cwc-testimonial { margin: 0; padding: 2rem; border: 1px solid rgba(255,255,255,.3); text-align: center; }
.cwc-testimonial blockquote { margin: 0 0 1rem; font: 400 clamp(1.6rem, 3vw, 2.6rem)/1.15 var(--wp--preset--font-family--serif); }
.cwc-testimonial figcaption { color: #dce8f5; font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

/* Experiences: the Muppets lead the page, bigger and full-bleed. */
.cwc-muppets-lead { padding-top: clamp(3rem, 6vw, 6rem); }
.cwc-muppets-lead .cwc-muppets-title { max-width: 1100px; }
.cwc-muppets-lead .cwc-muppets-title h2 { font-size: clamp(3rem, 7vw, 7.2rem); }
.cwc-muppets-lead .cwc-muppets-panorama { margin-inline: -6vw; }
.cwc-muppets-lead .cwc-muppets-panorama img { aspect-ratio: 21 / 9; object-fit: cover; object-position: center 30%; }
.cwc-muppets-lead .cwc-muppets-panorama figcaption { padding-inline: 6vw; }

/* Collage of photo receipts; placeholder tiles until Carlina's photos arrive. */
.cwc-collage { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 15vw, 230px); grid-auto-flow: dense; gap: 1rem; }
.cwc-collage-tile { position: relative; display: flex; flex-direction: column; min-width: 0; margin: 0; padding: .6rem .6rem 0; background: #fffaf2; border: 1px solid #d7c8b7; box-shadow: 0 14px 26px -22px rgba(38,23,47,.6); }
/* Shapes follow the photo: feature and wide are two columns by two rows, portraits one by two (4 columns). */
.cwc-collage-tile.is-feature { grid-column: span 2; grid-row: span 2; transform: rotate(-.6deg); }
.cwc-collage-tile.is-tall { grid-row: span 2; }
.cwc-collage-tile.is-wide { grid-column: span 2; grid-row: span 2; }
.cwc-collage-tile:nth-child(3n) { transform: rotate(.8deg); }
.cwc-collage-tile:nth-child(4n+1):not(.is-feature) { transform: rotate(-.5deg); }
.cwc-collage-tile img { flex: 1; width: 100%; min-height: 0; object-fit: cover; }
.cwc-collage-pending { flex: 1; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; padding: 1rem; border: 2px dashed #bbaa97; background: repeating-linear-gradient(135deg, #f5eddf 0 12px, #efe4d3 12px 24px); color: #4d285c; font: 400 1.05rem/1.2 var(--wp--preset--font-family--serif); text-align: center; }
.cwc-collage-tile figcaption { padding: .65rem .3rem .75rem; color: #4d285c; font: 400 1.05rem/1.2 var(--wp--preset--font-family--serif); }

@media (max-width: 650px) {
	.cwc-postcard-roll figure, .cwc-postcard-roll figure:nth-child(n) { transform: none; }
	.cwc-collage { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; }
	.cwc-collage-tile:nth-child(n) { transform: none; }
	.cwc-collage-tile.is-feature { grid-column: span 2; grid-row: span 2; }
	.cwc-muppets-lead .cwc-muppets-panorama img { aspect-ratio: 16 / 9; }
	.cwc-postcard-place { max-width: 54%; font-size: 1rem; }
}
/* Reduced motion: no drift, lift, tilt, glow or reveal; postcards sit open. */
@media (prefers-reduced-motion: reduce) {
	.cwc-hero-copy::before, .cwc-hero-copy::after, .cwc-drift-divider span { animation: none !important; }
	.cwc-postcard, .cwc-postcard:hover, .cwc-postcard:focus-within, .cwc-postcard.is-postcard { transform: none !important; }
	.cwc-postcard .cwc-postcard-back > *, .cwc-postcard .cwc-postcard-back::before { opacity: 1; transform: none; }
	.cwc-postcard .cwc-stamp { transform: rotate(4deg); }
	.cwc-postcard .cwc-postmark { transform: rotate(-9deg); }
	.cwc-postcard::after { opacity: 1; box-shadow: 0 0 0 2px var(--cwc-accent); }
	.cwc-glow { display: none; }
	.cwc-js .cwc-reveal { opacity: 1; transform: none; }
}
/* Portrait source in a landscape postcard: keep the pyramid and her face. */
.cwc-channel-photo-notes .cwc-postcard-roll figure:nth-child(3) img { object-position: center 27%; }

/* Her own cooking on the "Welcome to my kitchen" card: keep her face and the pie. */
.cwc-story-grid .cwc-story:nth-child(3) > img { object-position: center 38%; }

/* Travel postcards: four across, two by two on smaller screens. */
.cwc-postcard-roll { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cwc-postcard-roll figure:nth-child(4n) { transform: rotate(1.4deg) translateY(6px); }
.cwc-postcard-roll figure:nth-child(4) img { object-position: center 55%; }
.cwc-postcard-roll figure:nth-child(4n) .cwc-roll-stamp { background: radial-gradient(circle at 50% 62%, #fffaf2 0 20%, transparent 21%), linear-gradient(180deg, var(--cwc-palm) 0 58%, var(--cwc-sand) 58%); }
@media (max-width: 1050px) { .cwc-postcard-roll { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) { .cwc-postcard-roll figure:first-child { grid-column: auto; } }

/* About scrapbook spread: Jermaine's scrapbook references in Carlina's palette.
   Plum and rose ink, Caribbean pins and washi tape, full-color photos, her words
   typed out. Hover lifts are transform-only, under 300ms; reduced motion stills them. */
.cwc-scrapbook {
	--cwc-type: "American Typewriter", "Courier Prime", "Courier New", ui-monospace, monospace;
	padding: clamp(3.5rem, 7vw, 7rem) 5vw;
	overflow-x: clip; /* tilted full-width strips never cause sideways scroll */
	background:
		radial-gradient(circle at 20% 15%, rgba(255,250,242,.7), transparent 45%),
		radial-gradient(rgba(77,40,92,.05) 1px, transparent 1.4px) 0 0 / 5px 5px,
		#f3ebdf;
}
.cwc-scrapbook-page { position: relative; max-width: 1180px; margin: 0 auto; }
.cwc-scrap-note {
	position: absolute; top: -1rem; right: 0; z-index: 2; margin: 0; padding: 1.1rem 1.4rem 1.3rem 1.2rem;
	background: #f2cbd4; color: #4d285c; font: 400 1rem/1.35 var(--cwc-type);
	box-shadow: 0 12px 22px -16px rgba(38,23,47,.55); transform: rotate(2deg);
	clip-path: polygon(0 4%, 6% 0, 100% 2%, 98% 100%, 3% 97%);
}
.cwc-scrap-title {
	position: relative; z-index: 3; width: fit-content; margin: 0 0 -1.4rem clamp(0rem, 6vw, 5rem);
	color: #4d285c; font: 400 clamp(3rem, 7vw, 6.4rem)/.88 var(--wp--preset--font-family--script);
	letter-spacing: 0; transform: rotate(-4deg);
}
.cwc-scrap-underline { display: block; width: 72%; height: 1.2rem; margin: .4rem 0 0 18%; overflow: visible; }
.cwc-scrap-underline path { fill: none; stroke: var(--cwc-coral); stroke-width: 3; stroke-linecap: round; }
.cwc-scrap-underline path + path { stroke-width: 2; opacity: .7; }

/* Board: hero photo with smaller photos pinned around it. */
.cwc-scrap-board { position: relative; display: grid; place-items: center; min-height: clamp(700px, 74vw, 960px); margin: 0 auto; }
.cwc-scrap-board figure, .cwc-scrap-frame { margin: 0; background: #fffaf2; box-shadow: 0 18px 30px -20px rgba(38,23,47,.65); transition: transform 220ms var(--cwc-spring); }
.cwc-scrap-board img, .cwc-scrap-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cwc-scrap-hero { position: relative; width: min(42%, 440px); aspect-ratio: 4 / 5; padding: .9rem .9rem 3.2rem; transform: rotate(-1.5deg); }
.cwc-scrap-hero img { filter: saturate(1.05); }
.cwc-scrap-hero figcaption { position: absolute; left: 0; right: 0; bottom: .55rem; color: #4d285c; font: 400 clamp(1.5rem, 2.4vw, 2.1rem)/1 var(--wp--preset--font-family--script); text-align: center; }
.cwc-scrap-pin { position: absolute; z-index: 2; width: clamp(130px, 15vw, 180px); padding: .45rem .45rem 1.3rem; }
.cwc-scrap-pin img { aspect-ratio: 4 / 5; height: auto; }
.cwc-scrap-pin::before { content: ''; position: absolute; top: -7px; left: 50%; z-index: 1; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff9 0 18%, var(--cwc-pin, var(--cwc-coral)) 22%); box-shadow: 0 3px 4px rgba(38,23,47,.4); }
/* Round 2 (Oct 30): eleven pins in a ring around the hero, three columns a side
   plus corners that overlap the hero's edge, like photos tucked into a frame. */
.cwc-scrap-pin.is-pin-1 { top: 5%; left: 3%; transform: rotate(-6deg); }
.cwc-scrap-pin.is-pin-2 { bottom: 1%; left: 6%; transform: rotate(4deg); --cwc-pin: var(--cwc-sea); }
.cwc-scrap-pin.is-pin-3 { top: 2%; right: 2%; width: clamp(160px, 18vw, 220px); transform: rotate(5deg); --cwc-pin: var(--cwc-sand); }
.cwc-scrap-pin.is-pin-3 img, .cwc-scrap-pin.is-pin-4 img, .cwc-scrap-pin.is-pin-9 img, .cwc-scrap-pin.is-pin-11 img { aspect-ratio: 4 / 3; }
.cwc-scrap-pin.is-pin-4 { top: 23%; right: 0; width: clamp(160px, 18vw, 220px); transform: rotate(-3deg); --cwc-pin: var(--cwc-palm); }
.cwc-scrap-pin.is-pin-5 { bottom: -2%; right: 27%; width: clamp(120px, 12vw, 150px); transform: rotate(7deg); }
.cwc-scrap-pin.is-pin-6 { top: 39%; left: 0; transform: rotate(3deg); --cwc-pin: var(--cwc-sea); }
.cwc-scrap-pin.is-pin-7 { top: 5%; left: 22%; width: clamp(110px, 11vw, 140px); transform: rotate(5deg); --cwc-pin: var(--cwc-sand); }
.cwc-scrap-pin.is-pin-8 { top: 0; right: 22%; width: clamp(110px, 11vw, 140px); transform: rotate(-5deg); --cwc-pin: var(--cwc-palm); }
.cwc-scrap-pin.is-pin-9 { bottom: -3%; left: 24%; width: clamp(150px, 16vw, 200px); transform: rotate(-4deg); }
.cwc-scrap-pin.is-pin-10 { bottom: 0; right: 4%; transform: rotate(-4deg); --cwc-pin: var(--cwc-sea); }
.cwc-scrap-pin.is-pin-11 { top: 46%; right: 1%; width: clamp(150px, 15vw, 190px); transform: rotate(3deg); --cwc-pin: var(--cwc-sand); }
.cwc-scrap-pin figcaption, .cwc-scrap-frame figcaption { padding-top: .35rem; color: #4d285c; font: 400 1.05rem/1.1 var(--wp--preset--font-family--script); text-align: center; }

/* Film strips: three photos on a taped paper strip. */
.cwc-scrap-strip { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: clamp(2.5rem, 5vw, 4rem) -5vw 0; padding: 1rem 5vw; background: #fffaf2; box-shadow: 0 16px 28px -22px rgba(38,23,47,.5); transform: rotate(-.8deg); }
.cwc-scrap-strip.is-strip-2 { transform: rotate(.7deg); }
.cwc-scrap-strip::before { content: ''; position: absolute; top: -14px; left: 9%; width: 120px; height: 30px; background: rgba(214,166,69,.55); transform: rotate(-5deg); }
.cwc-scrap-strip.is-strip-2::before { left: auto; right: 12%; background: rgba(31,138,143,.4); transform: rotate(4deg); }
.cwc-scrap-strip.is-strip-3 { transform: rotate(-.4deg); }
.cwc-scrap-strip.is-strip-3::before { left: 44%; background: rgba(226,114,91,.4); transform: rotate(-3deg); }
.cwc-scrap-frame { padding: .45rem; box-shadow: none; outline: 1px solid #d7c8b7; }
.cwc-scrap-frame img { aspect-ratio: 4 / 3; height: auto; }

/* Her words, typed; her travel count, circled by hand. */
.cwc-scrap-words { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); align-items: center; gap: 2rem 4rem; padding: clamp(2.5rem, 5vw, 4rem) clamp(0rem, 5vw, 4rem) 0; }
.cwc-scrap-words blockquote { margin: 0; }
.cwc-scrap-words blockquote p { margin: 0; color: #26172f; font: 400 clamp(.95rem, 1.3vw, 1.08rem)/1.75 var(--cwc-type); letter-spacing: .06em; text-transform: uppercase; }
.cwc-scrap-words cite { display: block; margin-top: .8rem; color: #4d285c; font: 400 1.6rem/1 var(--wp--preset--font-family--script); }
.cwc-scrap-words cite::before { content: '— '; }
.cwc-scrap-circled { position: relative; justify-self: center; margin: 0; padding: 1.4rem 2rem; color: #4d285c; font: 400 clamp(1.35rem, 2vw, 1.9rem)/1.1 var(--wp--preset--font-family--script); text-align: center; white-space: nowrap; transform: rotate(-3deg); }
.cwc-scrap-circled svg { position: absolute; inset: -.4rem -1rem; width: calc(100% + 2rem); height: calc(100% + .8rem); overflow: visible; }
.cwc-scrap-circled path { fill: none; stroke: var(--cwc-coral); stroke-width: 2.5; stroke-linecap: round; }
.cwc-scrap-issue { margin: clamp(2.5rem, 5vw, 4rem) 0 0; color: #4d285c; font: 400 .72rem/1 var(--cwc-type); letter-spacing: .14em; text-transform: uppercase; }

@media (hover: hover) and (pointer: fine) {
	.cwc-scrap-board figure:hover, .cwc-scrap-frame:hover { z-index: 4; transform: translateY(-6px) rotate(0deg) scale(1.03); }
}
@media (max-width: 760px) {
	.cwc-scrap-note { position: relative; top: 0; display: inline-block; margin-bottom: 1.5rem; }
	.cwc-scrap-title { margin: 0 0 1.5rem; }
	.cwc-scrap-board { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem 1rem; min-height: 0; place-items: start stretch; }
	.cwc-scrap-hero { grid-column: 1 / -1; justify-self: center; width: min(86%, 380px); }
	.cwc-scrap-pin[class*="is-pin-"] { position: relative; inset: auto; width: auto; }
	.cwc-scrap-frame figcaption { font-size: .8rem; }
	.cwc-scrap-pin.is-pin-5 { grid-column: 1 / -1; justify-self: center; width: 60%; }
	.cwc-scrap-strip { gap: .5rem; padding: .7rem 5vw; }
	.cwc-scrap-words { grid-template-columns: 1fr; padding-inline: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.cwc-scrap-board figure, .cwc-scrap-frame { transition: none; }
}

/* Homepage hero loop over the Cover photo: same crop, fades in once playing. */
.cwc-hero-loop { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: 72% 62%; opacity: 0; pointer-events: none; transition: opacity 600ms ease-out; }
.cwc-hero-loop.is-playing { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .cwc-hero-loop { display: none; } }

/* Destination rotator (item 19), travel hero. Static by default: her 66 countries
   read as one sentence. With motion allowed, motion.js stacks them and slides one
   in at a time (transform and opacity only, 300ms). */
.cwc-rotator { margin: 0 0 1.4rem; }
.cwc-rotator-line { color: #f0e6f2; font: 400 clamp(1.02rem, 1.4vw, 1.2rem)/1.55 var(--wp--preset--font-family--sans); }
.cwc-rotator-list { display: inline; margin: 0; padding: 0; list-style: none; }
.cwc-rotator-list li { display: inline; }
.cwc-rotator-toggle { min-height: 44px; margin-top: .6rem; padding: .45rem .85rem; border: 1px solid rgba(255,255,255,.45); background: transparent; color: #f2cbd4; font: 700 .66rem/1.2 var(--wp--preset--font-family--sans); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.cwc-rotator-toggle:hover, .cwc-rotator-toggle:focus-visible { border-color: #f2cbd4; }
.cwc-rotator-toggle:focus-visible { outline: 3px solid #f2cbd4; outline-offset: 3px; }
.cwc-rotator.is-rotating .cwc-rotator-lead { display: block; }
.cwc-rotator.is-rotating .cwc-rotator-list { display: grid; overflow: hidden; margin-top: .35rem; }
.cwc-rotator.is-rotating .cwc-rotator-list li {
	grid-area: 1 / 1; align-self: start; display: block;
	color: var(--wp--preset--color--blush); font: 400 clamp(1.8rem, 3vw, 2.8rem)/1.1 var(--wp--preset--font-family--serif); letter-spacing: -.01em;
	opacity: 0; transform: translateY(100%);
	transition: transform 300ms cubic-bezier(.2,.8,.2,1), opacity 300ms ease-out;
}
.cwc-rotator.is-rotating .cwc-rotator-sep { display: none; }
.cwc-rotator.is-rotating .cwc-rotator-list li.is-current { opacity: 1; transform: none; }
.cwc-rotator.is-rotating .cwc-rotator-list li.is-leaving { opacity: 0; transform: translateY(-100%); }

/* "The Descent" loader (inc/descent.php, assets/js/descent.js). Hidden unless the
   inline head script opts in; never shown under reduced motion. Moving parts use
   transform and opacity; the flight path draws with a stroke offset. */
.cwc-descent { display: none; }
.cwc-descent-on .cwc-descent { --cwc-descent-p: 0; display: block; position: fixed; inset: 0; z-index: 100000; overflow: hidden; cursor: pointer; transition: opacity 400ms ease-out; }
.cwc-descent.is-leaving { opacity: 0; }
.cwc-descent-scene { position: absolute; inset: 0; background: linear-gradient(180deg, #1d2b4f 0%, #47507a 26%, #b9807e 47%, #f0a865 60%, #f7d49b 67.5%, #34405a 68%, #1d2638 100%); }
.cwc-descent-sun { position: absolute; left: 50%; top: 67%; width: 60vmax; height: 60vmax; transform: translate(-50%, -50%); background: radial-gradient(circle, rgba(255,226,160,.9) 0 4%, rgba(255,190,110,.35) 14%, transparent 42%); }
.cwc-descent-city { position: absolute; left: 0; right: 0; bottom: 0; height: 32%;
	/* Coastal city lights: three offset, prime-sized layers so they scatter instead of forming a grid. */
	background:
		radial-gradient(circle, rgba(255,214,140,.85) 0 1px, transparent 1.7px) 3px 2px / 19px 13px,
		radial-gradient(circle, rgba(255,240,200,.55) 0 1.2px, transparent 2px) 11px 7px / 31px 23px,
		radial-gradient(circle, rgba(255,196,120,.45) 0 .8px, transparent 1.4px) 5px 17px / 13px 29px,
		linear-gradient(180deg, rgba(240,168,101,.18), transparent 35%);
	-webkit-mask: linear-gradient(180deg, transparent 0, #000 8%, rgba(0,0,0,.5) 60%, transparent); mask: linear-gradient(180deg, transparent 0, #000 8%, rgba(0,0,0,.5) 60%, transparent); }
.cwc-descent-cloud { position: absolute; left: -30%; right: -30%; pointer-events: none; opacity: calc(.2 + var(--cwc-descent-p) * .8); animation: cwc-descent-drift 9s linear infinite alternate; }
.cwc-descent-cloud.is-far { top: 46%; height: 18%; background: radial-gradient(ellipse 14% 50% at 20% 50%, rgba(255,240,225,.55), transparent 70%), radial-gradient(ellipse 18% 45% at 62% 55%, rgba(255,232,210,.5), transparent 70%); }
.cwc-descent-cloud.is-mid { top: 55%; height: 26%; background: radial-gradient(ellipse 20% 50% at 35% 50%, rgba(255,246,236,.75), transparent 70%), radial-gradient(ellipse 16% 45% at 80% 40%, rgba(255,240,228,.65), transparent 70%); animation-duration: 7s; animation-direction: alternate-reverse; }
.cwc-descent-cloud.is-near { top: 62%; height: 40%; background: radial-gradient(ellipse 26% 50% at 15% 50%, rgba(255,250,242,.92), transparent 70%), radial-gradient(ellipse 24% 46% at 70% 60%, rgba(255,248,240,.88), transparent 70%); opacity: calc(var(--cwc-descent-p) * 1); animation-duration: 5s; }
@keyframes cwc-descent-drift { from { transform: translateX(-4%); } to { transform: translateX(4%); } }
.cwc-descent-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; opacity: 0; transition: opacity 500ms ease-out; }
.cwc-descent-video.is-playing { opacity: 1; }
.cwc-descent-scene::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(29,43,79,.15), rgba(242,168,101,.18)); pointer-events: none; }
.cwc-descent-window { position: absolute; inset: clamp(10px, 3.5vmin, 40px); border-radius: clamp(40px, 14vmin, 180px); pointer-events: none;
	box-shadow: 0 0 0 100vmax #ece5da, inset 0 0 0 clamp(6px, 1.2vmin, 14px) #d9cfc1, inset 0 0 6vmin rgba(20,15,30,.45); }
.cwc-descent-copy { position: absolute; top: calc(clamp(10px, 3.5vmin, 40px) + 6vmin); left: 0; right: 0; margin: 0; color: #fffaf2; font: 400 clamp(1.2rem, 2.4vw, 1.9rem)/1 var(--wp--preset--font-family--script); text-align: center; text-shadow: 0 1px 10px rgba(20,15,30,.45); }
.cwc-descent-path { position: absolute; left: 9%; bottom: calc(clamp(10px, 3.5vmin, 40px) + 5vmin); width: 82%; height: clamp(70px, 12vh, 130px); overflow: visible; }
.cwc-descent-path path { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.cwc-descent-track { stroke: rgba(255,250,242,.5); stroke-width: 2; stroke-dasharray: 2 9; }
.cwc-descent-progress { stroke: #fffaf2; stroke-width: 3; }
.cwc-descent-runway { stroke: #f2cbd4; stroke-width: 4; stroke-dasharray: 12 7; }
.cwc-descent-plane { position: absolute; left: 0; top: 0; width: clamp(26px, 3.6vmin, 40px); height: auto; fill: #fffaf2; filter: drop-shadow(0 2px 4px rgba(20,15,30,.45)); will-change: transform; }
.cwc-descent.is-landing .cwc-descent-plane path { transform-box: fill-box; transform-origin: center; animation: cwc-descent-touchdown 300ms ease-out; }
@keyframes cwc-descent-touchdown { 0% { transform: translateY(-2px); } 60% { transform: translateY(2px) scale(.94); } 100% { transform: none; } }
.cwc-descent-jar { position: absolute; left: 50%; bottom: calc(clamp(10px, 3.5vmin, 40px) + 5vmin + clamp(70px, 12vh, 130px) + 1rem); width: clamp(34px, 5vmin, 52px); height: auto; opacity: 0; transform: translateX(-50%) scale(.6); transition: opacity 200ms ease-out, transform 200ms ease-out; }
.cwc-descent-jar .lid { fill: #4d285c; }
.cwc-descent-jar .glass { fill: rgba(255,250,242,.82); stroke: #fffaf2; stroke-width: 1.5; }
.cwc-descent-jar .spice { fill: #e2725b; }
.cwc-descent-jar .label { fill: #f5eddf; }
.cwc-descent.is-landing .cwc-descent-jar { opacity: 1; transform: translateX(-50%) scale(1); }
.cwc-descent.is-rattling .cwc-descent-jar { animation: cwc-descent-rattle 500ms ease-in-out; }
@keyframes cwc-descent-rattle {
	0%, 100% { transform: translateX(-50%) rotate(0); }
	15% { transform: translateX(-50%) rotate(-9deg); } 30% { transform: translateX(-50%) rotate(8deg); }
	45% { transform: translateX(-50%) rotate(-6deg); } 60% { transform: translateX(-50%) rotate(5deg); }
	75% { transform: translateX(-50%) rotate(-3deg); } 90% { transform: translateX(-50%) rotate(2deg); }
}
@media (prefers-reduced-motion: reduce) { .cwc-descent { display: none !important; } }
@media print { .cwc-descent { display: none !important; } }

/* Continent slideshow (travel page). Without JS: a grid of every slide. With JS:
   slides stack and crossfade (opacity and transform only, 300ms). */
.cwc-continents { padding: clamp(3rem, 6vw, 5rem) 6vw; background: #fffaf2; }
.cwc-continent-track { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.cwc-continent-slide figure { position: relative; margin: 0; padding: .7rem .7rem 0; background: #fff; border: 1px solid #d7c8b7; box-shadow: 0 16px 30px -24px rgba(38,23,47,.55); }
.cwc-continent-slide img, .cwc-continent-slide .cwc-collage-pending { display: flex; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; }
.cwc-continent-slide figcaption { padding: .8rem .2rem 1rem; color: #4d285c; font: 400 clamp(1.4rem, 2.6vw, 2.2rem)/1 var(--wp--preset--font-family--script); text-align: center; }
.cwc-continents.is-carousel .cwc-continent-viewport { max-width: 980px; margin: 0 auto; touch-action: pan-y; }
.cwc-continents.is-carousel .cwc-continent-track { display: grid; grid-template-columns: minmax(0, 1fr); }
.cwc-continents.is-carousel .cwc-continent-slide { grid-area: 1 / 1; opacity: 0; transform: translateX(2%) scale(.99); transition: opacity 300ms ease-out, transform 300ms ease-out; pointer-events: none; }
.cwc-continents.is-carousel .cwc-continent-slide.is-active { opacity: 1; transform: none; pointer-events: auto; }
.cwc-continent-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6rem 1rem; max-width: 980px; margin: 1.4rem auto 0; }
.cwc-continent-controls[hidden] { display: none; }
.cwc-continent-prev, .cwc-continent-next, .cwc-continent-toggle { min-width: 44px; min-height: 44px; padding: .4rem .9rem; border: 1px solid #d7c8b7; background: #fffaf2; color: #4d285c; font: 700 .9rem/1 var(--wp--preset--font-family--sans); cursor: pointer; }
.cwc-continent-toggle { font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.cwc-continent-toggle[hidden] { display: none; }
.cwc-continent-dots { display: flex; flex-wrap: wrap; justify-content: center; gap: .1rem; }
.cwc-continent-dot { position: relative; width: 44px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; }
.cwc-continent-dot::before { content: ''; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; border: 1.5px solid #4d285c; transition: transform 200ms ease-out; }
.cwc-continent-dot[aria-current="true"]::before { background: #4d285c; transform: scale(1.25); }
.cwc-continent-prev:hover, .cwc-continent-next:hover, .cwc-continent-toggle:hover { border-color: #4d285c; }
.cwc-continent-prev:focus-visible, .cwc-continent-next:focus-visible, .cwc-continent-toggle:focus-visible, .cwc-continent-dot:focus-visible { outline: 3px solid #315f96; outline-offset: 2px; }
@media (max-width: 650px) {
	.cwc-continent-dot { width: 32px; }
	.cwc-continent-controls { gap: .5rem; }
	.cwc-continent-dots { order: -1; flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) { .cwc-continents.is-carousel .cwc-continent-slide { transition: none; transform: none; } }
/* Loader country shuffle: a departures-board flick through her countries, then the
   count in script at touchdown. A soft scrim keeps it readable over white clouds. */
/* Round 2 (Oct 30): a gradient box behind the text for readability. It stays
   translucent and narrower than the window, so the wing clip shows around it. */
.cwc-descent-places { position: absolute; left: 50%; top: 34%; z-index: 1; box-sizing: border-box; width: min(40rem, calc(100% - 3.5rem)); padding: clamp(1rem, 2.6vmin, 1.6rem) clamp(.4rem, 2vmin, 1.4rem) clamp(1.1rem, 3vmin, 1.8rem); border: 1px solid rgba(255,250,242,.28); border-radius: 22px; background: linear-gradient(160deg, rgba(29,43,79,.66) 0%, rgba(77,40,92,.52) 55%, rgba(156,59,40,.38) 100%); box-shadow: 0 18px 50px -18px rgba(20,15,30,.55); color: #fffaf2; text-align: center; text-shadow: 0 1px 8px rgba(20,15,30,.45); transform: translateX(-50%); }
.cwc-descent-lead { display: block; padding: 0 .6rem; font: 700 clamp(.72rem, 1.2vw, .95rem)/1.3 var(--wp--preset--font-family--sans); letter-spacing: .16em; text-transform: uppercase; text-wrap: balance; }
.cwc-descent-slot { display: grid; overflow: hidden; margin-top: .5rem; padding: 0 .4rem; }
.cwc-descent-place { grid-area: 1 / 1; font: 400 clamp(2.1rem, 5.2vw, 4.4rem)/1.1 var(--wp--preset--font-family--serif); letter-spacing: -.01em; opacity: 0; transform: translateY(60%); transition: transform 200ms ease-out, opacity 200ms ease-out; }
.cwc-descent-place.is-current { opacity: 1; transform: none; }
.cwc-descent-place.is-leaving { opacity: 0; transform: translateY(-60%); }
.cwc-descent-place.is-reset { opacity: 0; transform: translateY(60%); transition: none; }
.cwc-descent-places.is-final .cwc-descent-place.is-current { font-family: var(--wp--preset--font-family--script); letter-spacing: 0; }
.cwc-descent-place span { display: block; font-size: .62em; }

/* Round 2 (Oct 30): Instagram card. A profile screen in the brand family: cream
   card, a gradient ring in her Caribbean colors, and a plum follow button. Counts
   appear only when set by hand (inc/socials.php). */
.cwc-ig-card { box-sizing: border-box; width: 100%; max-width: 21rem; margin-top: 2rem; padding: 1.1rem; background: #fffaf2; border: 1px solid #d7c8b7; border-radius: 22px; box-shadow: 0 22px 40px -28px rgba(38,23,47,.6); color: #26172f; transform: rotate(-1.5deg); }
.cwc-ig-top { display: flex; align-items: center; gap: .75rem; }
.cwc-ig-avatar { flex: none; box-sizing: border-box; width: 58px; height: 58px; padding: 3px; border-radius: 50%; background: conic-gradient(from 210deg, var(--cwc-sand), var(--cwc-coral), #b6457a, #4d285c, var(--cwc-sand)); }
.cwc-ig-avatar img { display: block; box-sizing: border-box; width: 100%; height: 100%; border: 2px solid #fffaf2; border-radius: 50%; object-fit: cover; }
.cwc-ig-id { display: flex; flex-direction: column; min-width: 0; font-family: var(--wp--preset--font-family--sans); }
.cwc-ig-id strong { overflow: hidden; font-size: .95rem; text-overflow: ellipsis; white-space: nowrap; }
.cwc-ig-id span { color: #6b5a72; font-size: .85rem; }
.cwc-ig-glyph { flex: none; width: 22px; height: 22px; margin-left: auto; fill: none; stroke: #4d285c; stroke-width: 1.8; }
.cwc-ig-glyph circle:last-child { fill: #4d285c; stroke: none; }
.cwc-ig-stats { display: flex; gap: 1.4rem; margin: .9rem 0 0; padding: 0; list-style: none; font: 400 .85rem/1.2 var(--wp--preset--font-family--sans); }
.cwc-ig-stats strong { display: block; font-size: 1.1rem; }
.cwc-ig-bio { margin: .7rem 0 0; color: var(--wp--preset--color--rose); font: 400 1.35rem/1 var(--wp--preset--font-family--script); }
.cwc-ig-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; margin-top: .9rem; overflow: hidden; border-radius: 10px; }
.cwc-ig-grid img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.cwc-ig-follow { display: block; margin-top: .9rem; padding: .75rem 1rem; border-radius: 999px; background: #4d285c; color: #fffaf2; font: 800 .74rem/1 var(--wp--preset--font-family--sans); letter-spacing: .12em; text-align: center; text-decoration: none; text-transform: uppercase; transition: background-color 200ms ease-out, transform 200ms ease-out; }
.cwc-ig-follow:hover, .cwc-ig-follow:focus-visible { background: #2f1638; color: #fffaf2; }
.cwc-ig-follow:focus-visible { outline: 3px solid var(--cwc-sand); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .cwc-ig-follow:hover { transform: translateY(-2px); } }
/* Phones: the card follows the heading instead of splitting the welcome from it. */
@media (max-width: 781px) {
	.cwc-manifesto > .wp-block-column:first-child { display: contents; }
	.cwc-manifesto > .wp-block-column:first-child > * { flex-basis: 100%; }
	.cwc-manifesto > .wp-block-column:last-child { order: 2; }
	.cwc-manifesto .cwc-ig-card { order: 3; margin: .5rem auto 0; transform: none; }
}

/* Round 2: Travel Diaries follow section (Instagram, YouTube, TikTok). */
.cwc-follow { padding: clamp(3rem, 6vw, 5rem) 6vw; background: #fffaf2; }
.cwc-follow-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; align-items: start; max-width: 1180px; margin: 0 auto; }
.cwc-follow-card { box-sizing: border-box; min-width: 0; }
.cwc-follow-card.is-instagram .cwc-ig-card { max-width: none; margin: 0; }
.cwc-follow-card.is-youtube, .cwc-follow-card.is-tiktok { padding: .8rem; background: #fff; border: 1px solid #d7c8b7; box-shadow: 0 16px 30px -24px rgba(38,23,47,.55); }
.cwc-yt-facade { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: linear-gradient(160deg, #1d2b4f, #4d285c); }
.cwc-yt-facade img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cwc-yt-play { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: rgba(255,250,242,.94); box-shadow: 0 8px 22px -8px rgba(20,15,30,.6); transition: transform 200ms ease-out; }
.cwc-yt-play::after { content: ''; position: absolute; left: 26px; top: 20px; border-top: 12px solid transparent; border-bottom: 12px solid transparent; border-left: 20px solid #4d285c; }
.cwc-yt-facade:focus-visible { outline: 3px solid var(--cwc-sand); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .cwc-yt-facade:hover .cwc-yt-play { transform: scale(1.08); } }
.cwc-yt-frame { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.cwc-follow-copy { padding: 1rem .3rem .4rem; }
.cwc-follow-copy h3 { margin: .35rem 0 .7rem; font-size: 1.35rem; line-height: 1.2; }
.cwc-tt-panel { display: grid; place-items: center; aspect-ratio: 16 / 9; background: linear-gradient(160deg, #1f8a8f 0%, #1d2b4f 55%, #9c3b28 100%); }
.cwc-tt-panel svg { width: 64px; height: 64px; fill: none; stroke: #fffaf2; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(3px 2px 0 rgba(226,114,91,.8)) drop-shadow(-3px -2px 0 rgba(31,138,143,.8)); }
.cwc-follow-card.is-pending { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: .7rem; min-height: 15rem; padding: 1.4rem; border-style: dashed; }
.cwc-follow-card.is-pending p:last-child { margin: 0; color: #6b5a72; }
@media (max-width: 900px) { .cwc-follow-grid { grid-template-columns: minmax(0, 1fr); max-width: 26rem; } }
@media (prefers-reduced-motion: reduce) { .cwc-ig-follow, .cwc-yt-play { transition: none; } }
