/* Inna Warszawa: shared "warm paper" layer for native landings (body.iwcs-soft).
   Serif display, one accent, pill navigation, button-in-button CTAs, scroll reveal. */

.iwcs-soft {
	--s-cream: #f7f3ec; --s-sand: #efe8dd; --s-core: #fffdf8; --s-ink: #1f1d19; --s-muted: #5f5b52;
	--s-line: rgb(31 29 25 / .1); --s-accent: #8a4329; --s-accent-soft: #e7b29b;
	--s-shadow: 60 38 20; --s-ease: cubic-bezier(.32, .72, 0, 1);
	--s-serif: 'Instrument Serif', 'Iowan Old Style', Georgia, serif;
	background: var(--s-cream);
}
.iwcs-soft .iwcs-book-page { color: var(--s-ink); }
.iwcs-soft .iwcs-book-page em { font-style: italic; }

/* Paper grain: one fixed layer, never attached to scrolling content. */
.iwcs-soft::after {
	content: ''; position: fixed; inset: 0; z-index: 1001; pointer-events: none; opacity: .05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------ Type */
.iwcs-soft .iwcs-book-page :is(h1, h2) { font-family: var(--s-serif); font-weight: 400; color: var(--s-ink); text-wrap: balance; }
.iwcs-soft .iwcs-book-page :is(h1, h2) em { color: var(--s-accent); }
.iwcs-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 28px; padding: 7px 14px 7px 12px; border-radius: 999px; background: rgb(255 253 248 / .6); box-shadow: inset 0 0 0 1px var(--s-line); color: var(--s-muted); font-size: 10.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; line-height: 1.4; }
.iwcs-eyebrow::before { content: ''; flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%; background: var(--s-accent); }
.iwcs-soft-heading { max-width: 640px; margin-bottom: clamp(48px, 6vw, 80px); }
.iwcs-soft .iwcs-soft-heading h2 { margin: 0; font-size: clamp(48px, 6.4vw, 96px); line-height: .95; letter-spacing: -.03em; }
.iwcs-soft-heading > p:last-child:not(.iwcs-eyebrow) { margin: 26px 0 0; max-width: 34em; color: var(--s-muted); font-size: 17px; line-height: 1.65; text-wrap: pretty; }

/* ------------------------------------------------------------ Sections */
.iwcs-soft .iwcs-book-page .iwcs-section { padding: clamp(96px, 11vw, 160px) 28px clamp(110px, 12vw, 180px); }
.iwcs-soft .iwcs-book-page .iwcs-section__inner { max-width: 1216px; }
.iwcs-soft .iwcs-book-page :is(section, div)[id] { scroll-margin-top: 96px; }

/* Double bezel: a tinted tray holding a lighter core. */
.iwcs-bezel { min-width: 0; padding: 6px; border-radius: 30px; background: rgb(31 29 25 / .035); box-shadow: inset 0 0 0 1px rgb(31 29 25 / .06); }
.iwcs-bezel__core {
	height: 100%; overflow: hidden; border-radius: 24px; background: var(--s-core);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / .9), 0 1px 2px rgb(var(--s-shadow) / .06), 0 24px 48px -30px rgb(var(--s-shadow) / .3);
}

/* -------------------------------------------------- Floating pill nav */
.iwcs-float-nav { position: sticky; top: 18px; z-index: 900; display: flex; justify-content: center; margin-top: -34px; padding: 0 16px; pointer-events: none; }
.admin-bar .iwcs-float-nav { top: 50px; }
.iwcs-float-nav__pill {
	display: flex; align-items: center; gap: 2px; max-width: 100%; overflow-x: auto; scrollbar-width: none; padding: 6px; border-radius: 999px; pointer-events: auto;
	background: rgb(255 253 248 / .74); backdrop-filter: blur(18px) saturate(1.4); -webkit-backdrop-filter: blur(18px) saturate(1.4);
	box-shadow: inset 0 0 0 1px var(--s-line), inset 0 1px 0 rgb(255 255 255 / .8), 0 16px 36px -18px rgb(var(--s-shadow) / .4);
}
.iwcs-float-nav__pill::-webkit-scrollbar { display: none; }
.iwcs-float-nav a { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; border-radius: 999px; color: var(--s-muted); font-size: 13px; text-decoration: none; transition: background-color .4s var(--s-ease), color .4s var(--s-ease); }
.iwcs-float-nav a:hover { background: rgb(31 29 25 / .06); color: var(--s-ink); }
.iwcs-float-nav a[aria-current] { background: var(--s-ink); color: var(--s-cream); }

/* ------------------------------------------------ Button-in-button CTA */
.iwcs-pill-button {
	display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 8px 8px 8px 26px; border: 0; border-radius: 999px;
	background: var(--s-ink); color: var(--s-cream); font: 700 16px/1.2 Lato, Arial, sans-serif; text-decoration: none; cursor: pointer;
	transition: background-color .5s var(--s-ease), color .5s var(--s-ease), transform .5s var(--s-ease);
}
.iwcs-pill-button__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; background: rgb(255 255 255 / .12); font-size: 16px; font-weight: 400; transition: transform .6s var(--s-ease), background-color .5s var(--s-ease); }
.iwcs-pill-button:hover { background: var(--s-accent); color: #fff; }
.iwcs-pill-button:hover .iwcs-pill-button__icon { transform: translate(2px, -2px) scale(1.06); background: rgb(255 255 255 / .2); }
.iwcs-pill-button:active { transform: scale(.98); }
.iwcs-pill-button--small { min-height: 48px; padding-left: 20px; gap: 12px; font-size: 14px; }
.iwcs-pill-button--small .iwcs-pill-button__icon { width: 34px; height: 34px; font-size: 14px; }
.iwcs-pill-button--ghost { background: transparent; color: var(--s-ink); box-shadow: inset 0 0 0 1px var(--s-line); }
.iwcs-pill-button--ghost .iwcs-pill-button__icon { background: rgb(31 29 25 / .06); }
.iwcs-pill-button--ghost:hover { background: var(--s-ink); color: var(--s-cream); }
.iwcs-pill-button--ghost:hover .iwcs-pill-button__icon { background: rgb(255 255 255 / .14); }

/* ------------------------------------------------------ Dark section */
.iwcs-soft .iwcs-book-page .iwcs-soft-dark {
	position: relative; overflow: hidden; color: var(--s-cream);
	background: radial-gradient(ellipse 50% 80% at 88% 10%, rgb(138 67 41 / .38) 0%, transparent 65%), #20211d;
}
.iwcs-soft .iwcs-soft-dark :is(h2, h3) { color: var(--s-cream); }
.iwcs-soft .iwcs-soft-dark h2 em { color: var(--s-accent-soft); }
.iwcs-soft-dark .iwcs-eyebrow { background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12); color: #d6d1c5; }
.iwcs-soft-dark .iwcs-eyebrow::before { background: var(--s-accent-soft); }
.iwcs-soft-dark .iwcs-pill-button { background: var(--s-cream); color: var(--s-ink); }
.iwcs-soft-dark .iwcs-pill-button__icon { background: rgb(31 29 25 / .08); }
.iwcs-soft-dark .iwcs-pill-button:hover { background: var(--s-accent-soft); color: var(--s-ink); }
.iwcs-soft-dark :is(a, button):focus-visible { outline-color: var(--s-accent-soft); }

/* ------------------------------------------------------ Scroll reveal */
.iwcs-js .iwcs-soft [data-reveal] { opacity: 0; translate: 0 48px; filter: blur(6px); transition: opacity 1s var(--s-ease), translate 1.1s var(--s-ease), filter 1s var(--s-ease); }
.iwcs-js .iwcs-soft [data-reveal].is-in { opacity: 1; translate: 0 0; filter: none; }

@media (max-width: 900px) {
	/* The site header becomes sticky here, so the pill sits below it. */
	/* Below the floating header island (8px + 58px) and any notch inset. */
	.iwcs-float-nav { top: calc(76px + env(safe-area-inset-top, 0px)); }
	.admin-bar .iwcs-float-nav { top: 122px; }
	.iwcs-soft .iwcs-book-page :is(section, div)[id] { scroll-margin-top: calc(140px + env(safe-area-inset-top, 0px)); }
}
@media (max-width: 767px) {
	.iwcs-soft .iwcs-book-page .iwcs-section { padding: 72px 16px 88px; }
	.iwcs-eyebrow { margin-bottom: 20px; }
	.iwcs-soft .iwcs-soft-heading h2 { font-size: clamp(46px, 13vw, 60px); }
	.iwcs-float-nav a { padding: 0 14px; font-size: 12.5px; }
	.iwcs-bezel { border-radius: 26px; }
	.iwcs-bezel__core { border-radius: 20px; }
	.iwcs-js .iwcs-soft [data-reveal] { filter: none; translate: 0 28px; }
}
@media (prefers-reduced-motion: reduce) {
	.iwcs-soft .iwcs-book-page *, .iwcs-soft .iwcs-book-page *::before { animation: none !important; transition: none !important; }
}

/* ------------------------------------------------------------ Newsletter (IWCS_Newsletter) */
.iwcs-soft .iwcs-newsletter { background: var(--s-sand); }
.iwcs-newsletter__inner { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 7vw, 110px); align-items: center; }
.iwcs-newsletter .iwcs-soft-heading { margin-bottom: 0; }
.iwcs-newsletter__card { padding: clamp(24px, 3.4vw, 40px); }
.iwcs-newsletter__promises { margin: 0 0 32px; padding: 0; list-style: none; }
.iwcs-newsletter__promises li { position: relative; padding: 14px 0 14px 22px; border-top: 1px solid var(--s-line); font-size: 17px; line-height: 1.5; }
.iwcs-newsletter__promises li:first-child { border-top: 0; padding-top: 0; }
.iwcs-newsletter__promises li::before { content: ''; position: absolute; left: 0; top: 23px; width: 6px; height: 6px; border-radius: 50%; background: var(--s-accent); }
.iwcs-newsletter__promises li:first-child::before { top: 9px; }
.iwcs-newsletter__form { position: relative; }
.iwcs-newsletter__form label { display: block; margin-bottom: 8px; color: var(--s-muted); font-size: 13px; font-weight: 700; }
.iwcs-newsletter__row { display: flex; gap: 8px; }
#iwcs-newsletter-email { flex: 1 1 auto; min-width: 0; height: 48px; margin: 0; padding: 0 20px; border: 0; border-radius: 999px; background: var(--s-cream); box-shadow: inset 0 0 0 1px var(--s-line); color: var(--s-ink); font: 16px/1.2 Lato, Arial, sans-serif; }
#iwcs-newsletter-email:focus { outline: 2px solid var(--s-ink); outline-offset: 2px; }
.iwcs-newsletter__row .iwcs-pill-button { flex: 0 0 auto; padding-right: 20px; }
.iwcs-newsletter__trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.iwcs-newsletter__status:empty { display: none; }
.iwcs-newsletter__status { margin: 16px 0 0; color: var(--s-accent); font-weight: 700; }
.iwcs-newsletter__note { margin: 14px 0 0; color: var(--s-muted); font-size: 13px; line-height: 1.55; }
.iwcs-newsletter__note a { color: inherit; }
@media (max-width: 767px) {
	.iwcs-newsletter__inner { grid-template-columns: 1fr; gap: 32px; }
	.iwcs-newsletter__row { flex-direction: column; }
	.iwcs-newsletter__row .iwcs-pill-button { justify-content: center; }
}
