/*
 * Dietistė — main stylesheet
 * Editorial mitybos konsultacijų tema
 */

:root {
	--paper: #f4ede0;
	--paper-deep: #ebe2cf;
	--ink: #1f1a16;
	--ink-soft: #4a4239;
	--muted: #8a7e6e;
	--line: #d6c9b0;
	--cream: #fbf6ec;
	--terracotta: #c4541a;
	--accent: #a85d3a; /* darker terracotta — chosen via tweaks */
	--secondary: #c9a875;
	--gold: #c9a875;
	--forest: #2d3e2d;

	--serif: "Cormorant Garamond", "Times New Roman", Georgia, serif;
	--sans:  "Inter", -apple-system, BlinkMacSystemFont, sans-serif;

	--container: 1200px;
	--container-narrow: 760px;
}

/* ----- base ----- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--serif);
	font-size: 18px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }

.container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
.container--narrow { max-width: var(--container-narrow); }

.eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--sans); font-size: 11px; letter-spacing: 3px;
	text-transform: uppercase; color: var(--accent);
}
.eyebrow::before {
	content: ""; display: inline-block; width: 24px; height: 1px;
	background: var(--accent); opacity: 0.5;
}
.italic { font-style: italic; }

.display {
	font-family: var(--serif); font-weight: 400;
	font-size: clamp(48px, 7vw, 96px); line-height: 0.95;
	letter-spacing: -2.5px; margin: 20px 0 0;
}
.display em { color: var(--accent); font-style: italic; }

.section-title {
	font-family: var(--serif); font-weight: 400;
	font-size: clamp(40px, 5vw, 72px); line-height: 0.95;
	letter-spacing: -2px; margin: 20px 0 0; color: var(--ink);
}
.section-title em { color: var(--accent); font-style: italic; }
.section-title.on-dark em { color: var(--gold); }

.lead {
	font-family: var(--serif); font-size: 18px; line-height: 1.65;
	color: var(--ink-soft); margin: 0;
}

/* ----- buttons ----- */
.btn {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 15px 26px; border-radius: 999px;
	font-family: var(--sans); font-size: 14px; font-weight: 500; letter-spacing: 0.2px;
	text-decoration: none; cursor: pointer; border: none;
	transition: transform .35s cubic-bezier(.2,.7,.2,1), background .3s ease, color .3s ease;
}
.btn--dark   { background: var(--ink); color: var(--cream); }
.btn--light  { background: var(--cream); color: var(--ink); }
.btn--accent { background: var(--accent); color: #fff; }
.btn--ghost  { background: transparent; color: var(--ink); border: 1px solid var(--ink); }
.btn--big    { padding: 20px 32px; font-size: 16px; gap: 14px; }
.btn:hover { transform: translateY(-2px); }
.btn .arrow { transition: transform .3s ease; }
.btn:hover .arrow { transform: translateX(4px); }

/* ----- header ----- */
.site-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 50;
	padding: 18px 32px;
	background: rgba(244,237,224,0);
	transition: background .4s ease, backdrop-filter .4s ease, border-color .4s ease;
	border-bottom: 0.5px solid transparent;
}
.site-header.is-scrolled {
	background: rgba(244,237,224,0.92);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-color: var(--line);
}
.site-header__inner {
	max-width: var(--container); margin: 0 auto;
	display: flex; align-items: center; justify-content: space-between;
}
.site-logo {
	font-family: var(--serif); font-style: italic; font-size: 22px;
	color: var(--ink); text-decoration: none; letter-spacing: -0.3px;
}
.site-logo i { color: var(--accent); font-style: normal; }
.site-nav__list {
	list-style: none; padding: 0; margin: 0;
	display: flex; gap: 28px;
}
.site-nav__list a {
	font-family: var(--sans); font-size: 13px; letter-spacing: 0.3px;
	text-decoration: none; color: var(--ink); padding: 4px 0;
	position: relative; transition: color .3s ease;
}
.site-nav__list a:hover { color: var(--accent); }
.site-header__actions { display: flex; align-items: center; gap: 14px; }
.header-cart {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 10px 18px; border-radius: 999px;
	background: transparent; color: var(--ink);
	font-family: var(--sans); font-size: 13px; text-decoration: none;
	border: 1px solid var(--ink);
	transition: background .3s ease, color .3s ease;
}
.header-cart:hover { background: var(--ink); color: var(--cream); }
.header-cart-count {
	min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px;
	background: var(--gold); color: var(--ink);
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--serif); font-style: italic; font-size: 13px;
}

/* ----- hero ----- */
.hero {
	position: relative; padding: 140px 0 80px; overflow: hidden;
}
.hero__grid {
	display: grid; grid-template-columns: 1.1fr 0.9fr;
	gap: 60px; align-items: center;
}
.hero__eyebrow {
	display: flex; align-items: center; gap: 12px; margin-bottom: 28px;
	font-family: var(--sans); font-size: 11px; letter-spacing: 3px;
	text-transform: uppercase; color: var(--muted);
}
.hero__eyebrow .num { font-family: var(--serif); font-style: italic; font-size: 13px; color: var(--accent); letter-spacing: 0; }
.hero__eyebrow .rule { width: 36px; height: 1px; background: var(--accent); opacity: 0.5; }
.hero__title {
	font-family: var(--serif); font-weight: 400;
	font-size: clamp(56px, 8.5vw, 124px);
	line-height: 0.92; letter-spacing: -3px;
	margin: 0; color: var(--ink);
}
.hero__title em { color: var(--accent); font-style: italic; }
.hero__title .indent { display: block; padding-left: 3.4em; margin-top: -0.94em; }
.hero__sub { max-width: 460px; margin-top: 36px; font-size: 18px; line-height: 1.55; color: var(--ink-soft); }
.hero__cta { margin-top: 36px; display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.hero__cta-link { font-family: var(--serif); font-style: italic; font-size: 16px; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--ink); padding-bottom: 2px; }
.hero__media { position: relative; }
.hero__photo {
	aspect-ratio: 3/4; width: 100%; overflow: hidden;
	background: var(--paper-deep);
	box-shadow: 0 30px 80px -20px rgba(31,26,22,0.3);
}
.hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.hero__caption {
	position: absolute; bottom: 24px; left: 24px;
	font-family: var(--serif); font-style: italic; font-size: 13px;
	color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,0.4);
}
.hero__polaroid {
	position: absolute; bottom: -40px; left: -50px; width: 180px;
	padding: 10px; background: #fff;
	box-shadow: 0 20px 50px -10px rgba(31,26,22,0.25);
	transform: rotate(-6deg); z-index: 2;
}
.hero__polaroid img { aspect-ratio: 1/1; object-fit: cover; }
.hero__polaroid .caption { font-family: var(--serif); font-style: italic; font-size: 12px; color: var(--ink-soft); text-align: center; margin-top: 8px; }

.hero__marquee {
	margin-top: 100px; padding: 22px 0;
	border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink);
	overflow: hidden;
}
.hero__marquee-track {
	display: flex; gap: 60px; white-space: nowrap;
	font-family: var(--serif); font-size: 22px; color: var(--ink);
	animation: marquee 40s linear infinite;
}
.hero__marquee-track .sep { color: var(--accent); font-style: italic; }
.hero__marquee-track .it  { font-style: italic; }

@keyframes marquee {
	from { transform: translate3d(0,0,0); }
	to   { transform: translate3d(-50%,0,0); }
}

/* ----- about ----- */
.about { padding: 120px 0; }
.about__grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: center; }
.about__media { position: relative; }
.about__photo { aspect-ratio: 4/5; overflow: hidden; }
.about__photo img { width: 100%; height: 100%; object-fit: cover; }
.about__badge {
	position: absolute; bottom: -30px; right: -30px; width: 200px; padding: 20px;
	background: var(--ink); color: var(--cream);
}
.about__badge .y { font-family: var(--serif); font-style: italic; font-size: 14px; color: var(--accent); margin-bottom: 6px; }
.about__badge .n { font-family: var(--serif); font-size: 22px; line-height: 1.1; }
.about__badge em { color: var(--gold); }

.about__quote {
	font-family: var(--serif); font-weight: 400;
	font-size: clamp(36px, 4.5vw, 64px); line-height: 1.05;
	letter-spacing: -1.5px; margin: 20px 0 0;
}
.about__quote em { color: var(--accent); font-style: italic; }
.about__credits { margin-top: 36px; display: flex; gap: 36px; }
.about__credits .label { font-family: var(--sans); font-size: 11px; color: var(--muted); letter-spacing: 1px; text-transform: uppercase; }
.about__credits .value { font-family: var(--serif); font-size: 16px; margin-top: 4px; }

/* ----- problems ----- */
.problems {
	background: var(--ink); color: var(--cream);
	padding: 120px 0;
}
.problems__intro { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 80px; margin-bottom: 60px; }
.problems__intro .lead { color: rgba(251,246,236,0.7); padding-top: 20px; }
.problems__title { font-family: var(--serif); font-weight: 400; font-size: clamp(40px, 5vw, 72px); line-height: 0.95; letter-spacing: -2px; margin: 20px 0 0; }
.problems__title em { color: var(--gold); font-style: italic; }
.problems__grid {
	display: grid; grid-template-columns: 1fr 1fr; gap: 0;
	border-top: 1px solid rgba(251,246,236,0.18);
}
.problems__row {
	padding: 36px 30px; display: flex; gap: 24px; align-items: baseline;
	border-bottom: 1px solid rgba(251,246,236,0.18);
	transition: background .3s ease;
}
.problems__row:nth-child(odd) { border-right: 1px solid rgba(251,246,236,0.18); }
.problems__row:hover { background: rgba(251,246,236,0.04); }
.problems__row .n { font-family: var(--serif); font-style: italic; font-size: 28px; color: var(--gold); width: 60px; }
.problems__row .t { font-family: var(--serif); font-size: 26px; line-height: 1.1; margin-bottom: 8px; }
.problems__row .d { font-family: var(--serif); font-size: 15px; line-height: 1.55; color: rgba(251,246,236,0.65); }
.problems__cta { margin-top: 60px; text-align: center; }

/* ----- process ----- */
.process { padding: 140px 0; }
.process__intro { text-align: center; margin-bottom: 80px; }
.process__intro .eyebrow { justify-content: center; }
.process__list { display: flex; flex-direction: column; gap: 100px; }
.process__step { display: grid; gap: 80px; align-items: center; }
.process__step--odd  { grid-template-columns: 1fr 1.2fr; }
.process__step--even { grid-template-columns: 1.2fr 1fr; }
.process__step--even .process__media { order: 2; }
.process__step--even .process__body  { order: 1; }
.process__media img { aspect-ratio: 4/5; width: 100%; object-fit: cover; }
.process__step .n { font-family: var(--serif); font-style: italic; font-size: 80px; color: var(--accent); line-height: 0.8; letter-spacing: -3px; }
.process__step .time { font-family: var(--sans); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }
.process__step h3 { font-family: var(--serif); font-weight: 400; font-size: clamp(36px, 4vw, 56px); line-height: 1; letter-spacing: -1.5px; margin: 0; }
.process__step p { font-family: var(--serif); font-size: 18px; line-height: 1.65; color: var(--ink-soft); margin-top: 28px; max-width: 480px; }

/* ----- services ----- */
.services { padding: 140px 0; background: var(--paper-deep); }
.services__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; margin-bottom: 80px; }
.services__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
.service-card {
	padding: 40px 32px; background: var(--cream); color: var(--ink);
	border: 1px solid var(--line); height: 100%;
	display: flex; flex-direction: column; position: relative;
	transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
}
.service-card:hover { box-shadow: 0 30px 60px -20px rgba(31,26,22,0.25); }
.service-card--featured { background: var(--ink); color: var(--cream); border: none; }
.service-card__badge {
	position: absolute; top: -12px; left: 24px;
	background: var(--accent); color: #fff;
	padding: 4px 14px; font-family: var(--sans); font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
}
.service-card__num { font-family: var(--serif); font-style: italic; font-size: 14px; color: var(--accent); margin-bottom: 8px; }
.service-card--featured .service-card__num { color: var(--gold); }
.service-card h3 { font-family: var(--serif); font-weight: 400; font-size: 28px; line-height: 1.05; margin: 0; letter-spacing: -0.5px; }
.service-card__sub { font-family: var(--sans); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); margin-top: 8px; }
.service-card--featured .service-card__sub { color: rgba(251,246,236,0.6); }
.service-card__price { display: flex; align-items: baseline; gap: 4px; margin-top: 24px; }
.service-card__price .n { font-family: var(--serif); font-size: 56px; font-weight: 400; line-height: 0.9; letter-spacing: -2px; }
.service-card__price .c { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--accent); }
.service-card--featured .service-card__price .c { color: var(--gold); }
.service-card__desc { font-family: var(--serif); font-size: 15px; line-height: 1.6; color: var(--ink-soft); margin-top: 20px; }
.service-card--featured .service-card__desc { color: rgba(251,246,236,0.75); }
.service-card__features { list-style: none; padding: 0; margin: 24px 0 0; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.service-card__features li { display: flex; gap: 10px; font-family: var(--serif); font-size: 14px; color: var(--ink-soft); }
.service-card--featured .service-card__features li { color: rgba(251,246,236,0.85); }
.service-card__features .star { color: var(--accent); font-style: italic; }
.service-card--featured .service-card__features .star { color: var(--gold); }
.service-card__cta {
	margin-top: 32px; padding: 14px 0; text-align: center;
	background: var(--ink); color: var(--cream);
	font-family: var(--sans); font-size: 13px; letter-spacing: 0.5px;
	text-decoration: none; display: block;
	transition: transform .3s ease;
}
.service-card--featured .service-card__cta { background: var(--gold); color: var(--ink); }
.service-card:hover .service-card__cta { transform: translateY(-2px); }

/* ----- testimonials ----- */
.testimonials { padding: 140px 0; }
.testimonials__head { text-align: center; margin-bottom: 60px; }
.testimonials__head .eyebrow { justify-content: center; }
.testimonials__layout { display: grid; grid-template-columns: 0.4fr 1fr; gap: 60px; align-items: center; }
.testimonials__media { position: relative; aspect-ratio: 3/4; }
.testimonials__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .8s ease; }
.testimonials__media img.is-active { opacity: 1; }
.testimonials__body { position: relative; min-height: 360px; }
.testimonials__quote { font-family: var(--serif); font-style: italic; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.18; letter-spacing: -1px; }
.testimonials__quote::before {
	content: '"'; position: absolute; top: -40px; left: -10px;
	font-family: var(--serif); font-style: italic; font-size: 220px;
	line-height: 0.6; color: var(--accent); opacity: 0.18; pointer-events: none;
}
.testimonials__stars { display: flex; gap: 4px; margin-bottom: 24px; color: var(--accent); }
.testimonials__meta { margin-top: 32px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; }
.testimonials__meta .name { font-family: var(--serif); font-size: 18px; }
.testimonials__meta .city { font-family: var(--sans); font-size: 12px; color: var(--muted); letter-spacing: 1px; text-transform: uppercase; margin-top: 4px; }
.testimonials__dots { display: flex; gap: 8px; }
.testimonials__dot { width: 18px; height: 2px; padding: 0; border: none; background: var(--line); cursor: pointer; transition: all .3s ease; }
.testimonials__dot.is-active { width: 32px; background: var(--accent); }

/* ----- before / after ----- */
.beforeafter { padding: 140px 0; background: var(--paper); }
.beforeafter__head { text-align: center; margin-bottom: 60px; }
.beforeafter__head .eyebrow { justify-content: center; }
.beforeafter__compare {
	position: relative; max-width: 1100px; margin: 0 auto;
	aspect-ratio: 16/10; overflow: hidden;
	cursor: ew-resize; user-select: none;
	box-shadow: 0 30px 80px -20px rgba(31,26,22,0.3);
}
.beforeafter__compare img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.beforeafter__before { filter: brightness(0.85) saturate(0.7); }
.beforeafter__after-clip { position: absolute; inset: 0; clip-path: inset(0 0 0 50%); }
.beforeafter__handle { position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; background: var(--cream); transform: translateX(-1px); }
.beforeafter__handle::after {
	content: "⇄"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	width: 56px; height: 56px; border-radius: 50%; background: var(--cream); color: var(--ink);
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 4px 20px rgba(0,0,0,0.3); font-size: 16px;
}
.beforeafter__label { position: absolute; top: 24px; font-family: var(--serif); font-style: italic; font-size: 16px; text-shadow: 0 1px 6px rgba(0,0,0,0.5); }
.beforeafter__label--before { left: 24px; color: #fff; }
.beforeafter__label--after  { right: 24px; color: var(--gold); }
.beforeafter__hint { text-align: center; margin-top: 20px; font-family: var(--sans); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); }

/* ----- blog ----- */
.blog-section { padding: 140px 0; }
.blog-section__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; margin-bottom: 80px; }
.post-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
.post-card { display: block; }
.post-card__media { display: block; overflow: hidden; aspect-ratio: 4/5; background: var(--paper-deep); }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s cubic-bezier(.2,.7,.2,1); }
.post-card:hover .post-card__media img { transform: scale(1.06); }
.post-card__meta { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; font-family: var(--sans); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; }
.post-card__cat { color: var(--accent); }
.post-card__time { color: var(--muted); }
.post-card__title { font-family: var(--serif); font-size: 26px; font-weight: 400; line-height: 1.15; letter-spacing: -0.5px; margin: 12px 0 0; }
.post-card__title a { text-decoration: none; color: var(--ink); }
.post-card__excerpt { font-family: var(--serif); font-size: 15px; line-height: 1.6; color: var(--ink-soft); margin: 12px 0 0; }
.post-card__more { display: inline-block; margin-top: 16px; font-family: var(--serif); font-style: italic; font-size: 15px; color: var(--accent); text-decoration: none; transition: transform .4s ease; }
.post-card:hover .post-card__more { transform: translateX(6px); }

/* ----- FAQ ----- */
.faq { padding: 140px 0; background: var(--paper-deep); }
.faq__layout { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 80px; align-items: start; }
.faq__head { position: sticky; top: 100px; }
.faq__item { border-top: 1px solid var(--ink); }
.faq__item:last-child { border-bottom: 1px solid var(--ink); }
.faq__btn {
	width: 100%; padding: 28px 0; background: transparent; border: none;
	display: flex; justify-content: space-between; align-items: center; gap: 24px;
	cursor: pointer; text-align: left; color: var(--ink);
}
.faq__btn .q { font-family: var(--serif); font-size: 22px; line-height: 1.25; letter-spacing: -0.3px; font-weight: 400; }
.faq__btn .pl { font-family: var(--serif); font-style: italic; font-size: 28px; color: var(--accent); transition: transform .4s ease; flex-shrink: 0; }
.faq__item.is-open .faq__btn .pl { transform: rotate(45deg); }
.faq__panel { overflow: hidden; max-height: 0; opacity: 0; transition: max-height .6s cubic-bezier(.2,.7,.2,1), opacity .4s ease; }
.faq__item.is-open .faq__panel { max-height: 600px; opacity: 1; }
.faq__panel p { font-family: var(--serif); font-size: 16px; line-height: 1.7; color: var(--ink-soft); margin: 0 0 28px; padding-right: 60px; }

/* ----- newsletter ----- */
.newsletter-section { padding: 120px 0; }
.newsletter-card {
	background: var(--ink); color: var(--cream);
	padding: 80px 60px;
	display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center;
	position: relative; overflow: hidden;
}
.newsletter-card::after {
	content: ""; position: absolute; top: -50px; right: -50px; width: 200px; height: 200px; border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--accent) 25%, transparent) 0%, transparent 70%);
}
.newsletter-card .lead { color: rgba(251,246,236,0.7); }
.newsletter-card__heading { font-family: var(--serif); font-weight: 400; font-size: clamp(36px, 4.5vw, 56px); line-height: 1; letter-spacing: -1.5px; margin: 0; }
.newsletter-card__heading em { color: var(--gold); font-style: italic; }
.newsletter-card form .row { display: flex; border-bottom: 1px solid rgba(251,246,236,0.4); padding-bottom: 12px; }
.newsletter-card input {
	flex: 1; background: transparent; border: none; outline: none;
	color: var(--cream); font-family: var(--serif); font-size: 22px; padding: 8px 0;
}
.newsletter-card button {
	background: transparent; border: none; color: var(--gold);
	font-family: var(--serif); font-style: italic; font-size: 22px;
	cursor: pointer; padding: 8px 0;
}
.newsletter-card .small { font-family: var(--sans); font-size: 11px; color: rgba(251,246,236,0.5); margin-top: 14px; }
.newsletter-card .ok { font-family: var(--serif); font-style: italic; font-size: 26px; color: var(--gold); line-height: 1.3; }

/* ----- final CTA ----- */
.final-cta { padding: 160px 0; background: var(--accent); color: #fff; position: relative; overflow: hidden; }
.final-cta__inner { text-align: center; position: relative; z-index: 2; }
.final-cta .eyebrow { color: rgba(255,255,255,0.85); }
.final-cta .eyebrow::before { background: rgba(255,255,255,0.5); }
.final-cta__title { font-family: var(--serif); font-weight: 400; font-size: clamp(64px, 10vw, 160px); line-height: 0.88; letter-spacing: -4px; margin: 30px 0 0; }
.final-cta__title em { font-style: italic; }
.final-cta__lead { font-family: var(--serif); font-size: 20px; line-height: 1.5; max-width: 540px; margin: 40px auto 0; opacity: 0.92; }
.final-cta__buttons { margin-top: 50px; display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; }
.final-cta__decor {
	position: absolute; bottom: -80px; left: 50%; transform: translateX(-50%);
	font-family: var(--serif); font-style: italic; font-size: 400px;
	color: rgba(255,255,255,0.06); line-height: 0.8; pointer-events: none; white-space: nowrap;
}

/* ----- footer ----- */
.site-footer { background: var(--ink); color: var(--cream); padding: 80px 0 40px; }
.site-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 60px; margin-bottom: 60px; }
.site-footer__logo { font-family: var(--serif); font-style: italic; font-size: 36px; letter-spacing: -0.5px; }
.site-footer__logo i { color: var(--accent); font-style: normal; }
.site-footer__brand p { font-family: var(--serif); font-size: 15px; line-height: 1.6; color: rgba(251,246,236,0.65); margin-top: 16px; max-width: 320px; }
.site-footer__social { display: flex; gap: 14px; margin-top: 24px; }
.site-footer__social a { font-family: var(--serif); font-style: italic; font-size: 14px; color: var(--gold); text-decoration: none; border-bottom: 1px solid rgba(201,168,117,0.25); padding-bottom: 2px; }
.site-footer__heading { font-family: var(--sans); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
.site-footer__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.site-footer__list a { font-family: var(--serif); font-size: 15px; color: var(--cream); text-decoration: none; }
.site-footer__list a:hover { color: var(--gold); }
.site-footer__list span { color: rgba(251,246,236,0.6); }
.site-footer__bottom { padding-top: 30px; border-top: 1px solid rgba(251,246,236,0.18); display: flex; justify-content: space-between; align-items: center; font-family: var(--sans); font-size: 12px; color: rgba(251,246,236,0.5); letter-spacing: 0.5px; }

/* ----- prose (page/post body) ----- */
.prose { font-size: 18px; line-height: 1.7; color: var(--ink-soft); }
.prose h2 { font-family: var(--serif); font-size: 36px; font-weight: 400; letter-spacing: -1px; color: var(--ink); margin: 60px 0 16px; }
.prose h3 { font-family: var(--serif); font-size: 26px; font-weight: 400; color: var(--ink); margin: 40px 0 12px; }
.prose p, .prose ul, .prose ol { margin: 0 0 1.2em; }
.prose blockquote { font-style: italic; font-size: 24px; border-left: 3px solid var(--accent); padding: 8px 0 8px 24px; margin: 32px 0; color: var(--ink); }
.prose a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }

.page-header { padding: 140px 0 50px; }
.page-header .eyebrow { margin-bottom: 18px; }
.archive-list, .page-body { padding: 40px 0 120px; }
.post-hero { padding: 140px 0 40px; }
.post-hero__meta { display: flex; gap: 16px; font-family: var(--sans); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin-bottom: 18px; }
.post-hero__media { margin-top: 50px; max-width: 1400px; margin-left: auto; margin-right: auto; aspect-ratio: 16/9; overflow: hidden; }
.post-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.post-body { padding: 60px 0 120px; }

/* ----- WooCommerce: shop archive ----- */
.shop-main { padding-bottom: 120px; }
.shop-breadcrumb { padding: 140px 0 24px; max-width: var(--container); margin: 0 auto; padding-left: 32px; padding-right: 32px; font-family: var(--sans); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }
.shop-breadcrumb a { color: var(--muted); text-decoration: none; }
.shop-breadcrumb .sep { margin: 0 10px; opacity: 0.5; }

.shop-header { padding: 0 0 50px; }
.shop-header__row { display: grid; grid-template-columns: 1.4fr 1fr; gap: 60px; align-items: end; }

.shop-toolbar { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); margin-bottom: 60px; }
.shop-toolbar__count { font-family: var(--sans); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }
.shop-toolbar select, .woocommerce-ordering select {
	background: transparent; border: none; font-family: var(--serif); font-style: italic; font-size: 16px;
	color: var(--ink); cursor: pointer; padding: 8px 0;
}

.products {
	list-style: none; padding: 0; margin: 0;
	display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px 32px;
}
.products li.product { display: flex; flex-direction: column; }
.products li.product > a { display: block; text-decoration: none; color: var(--ink); }
.products .woocommerce-LoopProduct-link { display: block; }
.products .attachment-woocommerce_thumbnail, .products img {
	width: 100%; aspect-ratio: 4/5; object-fit: cover;
	transition: transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.products li.product:hover img { transform: scale(1.04); }
.products .price { font-family: var(--serif); font-size: 24px; letter-spacing: -0.5px; color: var(--ink); }
.products .price ins { text-decoration: none; }
.products .price del { color: var(--muted); margin-right: 6px; font-size: 18px; }
.products .woocommerce-loop-product__title {
	font-family: var(--serif); font-size: 22px; font-weight: 400 !important; line-height: 1.15 !important;
	letter-spacing: -0.3px; margin: 16px 0 0 !important; padding: 0 !important;
}
.products .button {
	margin-top: 14px; padding: 12px 18px; background: var(--ink); color: var(--cream);
	border: none; border-radius: 999px; font-family: var(--sans); font-size: 12px;
	letter-spacing: 0.5px; text-decoration: none; display: inline-block;
	cursor: pointer; transition: transform .3s ease;
}
.products .button:hover { transform: translateY(-2px); }
.products .added_to_cart { display: inline-block; margin-top: 10px; font-family: var(--serif); font-style: italic; font-size: 14px; color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.product-card-meta { display: flex; justify-content: space-between; align-items: baseline; margin-top: 14px; gap: 16px; }

/* ----- WooCommerce: single product ----- */
.single-product .product {
	padding: 140px 0 60px;
	max-width: var(--container); margin: 0 auto; padding-left: 32px; padding-right: 32px;
	display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start;
}
.single-product .woocommerce-product-gallery { width: 100%; }
.single-product .woocommerce-product-gallery img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.single-product .summary { padding-top: 12px; }
.single-product .product_meta { display: flex; gap: 18px; font-family: var(--sans); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin-top: 30px; }
.single-product .product_meta > span { display: inline-flex; gap: 6px; }
.single-product .product_meta a { color: var(--accent); text-decoration: none; }
.single-product .product_title {
	font-family: var(--serif); font-weight: 400;
	font-size: clamp(40px, 5vw, 68px); line-height: 0.98;
	letter-spacing: -2px; margin: 14px 0 0;
}
.single-product .price {
	font-family: var(--serif); font-size: 56px; font-weight: 400; letter-spacing: -2px;
	margin: 30px 0 24px; display: block;
}
.single-product .price .woocommerce-Price-currencySymbol { font-style: italic; color: var(--accent); margin-left: 4px; }
.single-product .woocommerce-product-details__short-description {
	font-family: var(--serif); font-size: 18px; line-height: 1.65; color: var(--ink-soft);
	border-top: 1px solid var(--line); padding-top: 24px; margin-top: 8px;
}
.single-product .cart {
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
	margin: 36px 0 24px;
}
.single-product .quantity {
	display: inline-flex; align-items: center;
	border: 1px solid var(--ink); border-radius: 999px; padding: 4px 10px;
}
.single-product .quantity input[type="number"] {
	width: 56px; text-align: center; background: transparent; border: none;
	font-family: var(--serif); font-size: 18px; color: var(--ink); outline: none;
	-moz-appearance: textfield;
}
.single-product .quantity input::-webkit-outer-spin-button,
.single-product .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.single-product .single_add_to_cart_button {
	padding: 18px 32px; background: var(--ink); color: var(--cream);
	border: none; border-radius: 999px; font-family: var(--sans); font-size: 14px;
	letter-spacing: 0.3px; cursor: pointer;
	transition: transform .3s ease;
}
.single-product .single_add_to_cart_button:hover { transform: translateY(-2px); }

.single-product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 60px; }
.single-product .woocommerce-tabs ul.tabs {
	list-style: none; padding: 0; margin: 0;
	display: flex; gap: 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink);
}
.single-product .woocommerce-tabs ul.tabs li {
	flex: 1; padding: 0; margin: 0; border-right: 1px solid var(--line);
}
.single-product .woocommerce-tabs ul.tabs li:last-child { border-right: none; }
.single-product .woocommerce-tabs ul.tabs li a {
	display: block; padding: 22px 20px; text-decoration: none; color: var(--ink);
	font-family: var(--serif); font-size: 20px; letter-spacing: -0.3px;
}
.single-product .woocommerce-tabs ul.tabs li.active { background: var(--ink); color: var(--cream); }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--cream); }
.single-product .woocommerce-Tabs-panel { padding: 50px 0; max-width: 760px; }
.single-product .woocommerce-Tabs-panel h2 { display: none; }

.related.products {
	padding: 100px 0 60px;
	max-width: var(--container); margin: 0 auto; padding-left: 32px; padding-right: 32px;
}
.related.products > h2 {
	font-family: var(--serif); font-weight: 400; font-size: clamp(32px, 4vw, 48px);
	letter-spacing: -1px; margin: 0 0 40px;
}
.related.products .products { grid-template-columns: 1fr 1fr 1fr 1fr; gap: 30px 24px; }

/* ----- WooCommerce: cart ----- */
.woocommerce-cart .site-main, .woocommerce-checkout .site-main {
	padding: 140px 0 80px;
	max-width: var(--container); margin: 0 auto; padding-left: 32px; padding-right: 32px;
}
.woocommerce-cart .display, .woocommerce-checkout .display { margin-bottom: 50px; }
.woocommerce-cart-form { background: var(--cream); padding: 40px; border: 1px solid var(--line); }
table.shop_table {
	width: 100%; border-collapse: collapse;
}
table.shop_table th {
	text-align: left; font-family: var(--sans); font-size: 11px; letter-spacing: 2px;
	text-transform: uppercase; color: var(--muted); padding: 14px 12px;
	border-bottom: 1px solid var(--line);
}
table.shop_table td {
	padding: 24px 12px; border-bottom: 1px solid var(--line);
	font-family: var(--serif); color: var(--ink);
	vertical-align: middle;
}
table.shop_table .product-thumbnail img { width: 80px; height: 100px; object-fit: cover; }
table.shop_table .product-name a { color: var(--ink); text-decoration: none; font-family: var(--serif); font-size: 20px; }
table.shop_table .product-price, table.shop_table .product-subtotal { font-size: 20px; }
table.shop_table .product-quantity .quantity {
	display: inline-flex; align-items: center;
	border: 1px solid var(--ink); border-radius: 999px; padding: 4px 10px;
}
table.shop_table .product-quantity input { width: 50px; text-align: center; background: transparent; border: none; font-family: var(--serif); font-size: 16px; color: var(--ink); outline: none; }
table.shop_table .product-remove a {
	width: 28px; height: 28px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--paper-deep); color: var(--ink); text-decoration: none;
	font-family: var(--serif); font-size: 18px; font-style: italic;
}
.woocommerce-cart-form .actions {
	display: flex; gap: 16px; align-items: center; justify-content: space-between;
	padding: 24px 12px 0;
}
.coupon { display: flex; gap: 10px; align-items: center; }
.coupon label { font-family: var(--sans); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }
.coupon input[type="text"] {
	border: 1px solid var(--ink); padding: 12px 16px; border-radius: 999px;
	font-family: var(--serif); font-size: 16px; background: transparent; outline: none;
}
button.button[name="apply_coupon"], button[name="update_cart"], .checkout-button {
	padding: 14px 24px; background: var(--ink); color: var(--cream);
	border: none; border-radius: 999px; font-family: var(--sans); font-size: 13px;
	letter-spacing: 0.5px; cursor: pointer; text-decoration: none;
}
.checkout-button { background: var(--accent); padding: 18px 30px; font-size: 14px; }

.cart_totals {
	margin-top: 40px; padding: 36px; background: var(--ink); color: var(--cream);
}
.cart_totals h2 { font-family: var(--serif); font-weight: 400; font-size: 28px; letter-spacing: -0.5px; margin: 0 0 24px; }
.cart_totals table th { color: rgba(251,246,236,0.55); border-color: rgba(251,246,236,0.18); }
.cart_totals table td { color: var(--cream); border-color: rgba(251,246,236,0.18); }
.cart_totals .order-total td { font-size: 28px; font-family: var(--serif); }
.wc-proceed-to-checkout { padding: 24px 0 0; text-align: right; }

.cart-empty {
	text-align: center; padding: 80px 0;
	font-family: var(--serif); font-style: italic; font-size: 28px; color: var(--ink-soft);
}
.return-to-shop { text-align: center; margin-top: 24px; }

/* ----- WooCommerce: checkout ----- */
.woocommerce-checkout form.checkout {
	display: grid; grid-template-columns: 1.2fr 1fr; gap: 50px; align-items: start;
}
.woocommerce-checkout #customer_details { background: var(--cream); padding: 40px; border: 1px solid var(--line); }
.woocommerce-checkout h3 { font-family: var(--serif); font-weight: 400; font-size: 28px; letter-spacing: -0.5px; margin: 0 0 24px; }
.woocommerce-checkout .form-row { margin-bottom: 18px; }
.woocommerce-checkout .form-row label { display: block; font-family: var(--sans); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	width: 100%; padding: 14px 16px;
	background: transparent; border: 1px solid var(--line);
	font-family: var(--serif); font-size: 17px; color: var(--ink); outline: none;
	transition: border-color .3s ease;
}
.woocommerce-checkout input:focus, .woocommerce-checkout select:focus, .woocommerce-checkout textarea:focus { border-color: var(--accent); }

.woocommerce-checkout-review-order { background: var(--ink); color: var(--cream); padding: 36px; position: sticky; top: 100px; }
.woocommerce-checkout-review-order h3 { color: var(--cream); }
.woocommerce-checkout-review-order table th { color: rgba(251,246,236,0.55); border-color: rgba(251,246,236,0.18); }
.woocommerce-checkout-review-order table td { color: var(--cream); border-color: rgba(251,246,236,0.18); }
#payment { background: transparent; padding-top: 24px; }
#payment ul.payment_methods { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
#payment ul.payment_methods li {
	border: 1px solid rgba(251,246,236,0.18); padding: 18px 20px;
	display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap;
	transition: border-color .3s ease;
}
#payment ul.payment_methods li:has(input:checked), #payment ul.payment_methods li.input-radio-checked { border-color: var(--gold); background: rgba(201,168,117,0.05); }
#payment .payment_method label { font-family: var(--serif); font-size: 17px; }
#place_order {
	width: 100%; padding: 22px 0; margin-top: 20px;
	background: var(--accent); color: #fff; border: none; border-radius: 0;
	font-family: var(--sans); font-size: 14px; letter-spacing: 0.5px; cursor: pointer;
	transition: transform .3s ease;
}
#place_order:hover { transform: translateY(-2px); }

/* steps indicator (custom, drop-in for checkout) */
.checkout-steps {
	display: flex; gap: 0; margin-bottom: 40px;
	border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink);
}
.checkout-steps__step {
	flex: 1; padding: 22px 20px;
	display: flex; gap: 14px; align-items: baseline;
	border-right: 1px solid var(--line);
	font-family: var(--serif); font-size: 18px; color: var(--ink); opacity: 0.5;
}
.checkout-steps__step:last-child { border-right: none; }
.checkout-steps__step.is-active { opacity: 1; background: var(--accent); color: #fff; }
.checkout-steps__step .n { font-style: italic; font-size: 14px; }

/* ----- calculators (rendered via plugin) ----- */
.dietiste-calculators { padding: 140px 0; background: var(--ink); color: var(--cream); }
.dietiste-calculators__head { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; margin-bottom: 60px; }
.dietiste-calculators__head .lead { color: rgba(251,246,236,0.7); }
.dietiste-calculators__tabs {
	display: flex; gap: 0;
	border-top: 1px solid rgba(251,246,236,0.18); border-bottom: 1px solid rgba(251,246,236,0.18);
}
.dietiste-calculators__tab {
	flex: 1; padding: 24px 20px; background: transparent; border: none;
	border-right: 1px solid rgba(251,246,236,0.18);
	color: var(--cream); cursor: pointer; text-align: left;
	font-family: var(--serif); transition: all .3s ease;
}
.dietiste-calculators__tab:last-child { border-right: none; }
.dietiste-calculators__tab.is-active { background: var(--gold); color: var(--ink); }
.dietiste-calculators__tab-row { display: flex; align-items: baseline; gap: 12px; }
.dietiste-calculators__tab-row .n { font-style: italic; font-size: 13px; opacity: 0.7; }
.dietiste-calculators__tab-row .label { font-size: 26px; letter-spacing: -0.5px; }
.dietiste-calculators__tab-sub { font-family: var(--sans); font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; margin-top: 4px; opacity: 0.6; }
.dietiste-calc-shell { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.dietiste-calc-form { padding: 50px 40px; background: rgba(251,246,236,0.04); border-right: 1px solid rgba(251,246,236,0.18); }
.dietiste-calc-result { padding: 50px 40px; color: #fff; height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
.dietiste-calc-result.kmi { background: linear-gradient(135deg, var(--forest) 0%, #1a2a1a 100%); }
.dietiste-calc-result.bmr { background: linear-gradient(135deg, var(--forest) 0%, #1a2a1a 100%); }
.dietiste-calc-result.kcal { background: linear-gradient(135deg, var(--accent) 0%, #8b3812 100%); }
.dietiste-calc-result.h2o { background: linear-gradient(135deg, #2a5d8b 0%, #16334d 100%); }
.dietiste-calc-result__label { font-family: var(--sans); font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; opacity: 0.85; }
.dietiste-calc-result__value { font-family: var(--serif); font-size: clamp(72px, 9vw, 140px); font-weight: 400; line-height: 0.85; letter-spacing: -4px; margin-top: 30px; }
.dietiste-calc-result__value .unit { font-style: italic; font-size: 0.4em; margin-left: 12px; opacity: 0.85; }
.dietiste-calc-result__interp { margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.3); font-family: var(--serif); font-style: italic; font-size: 18px; line-height: 1.4; }
.dietiste-calc-form h3 { font-family: var(--serif); font-size: 32px; font-weight: 400; line-height: 1; margin: 0 0 24px; letterSpacing: -1px; }
.dietiste-calc-form .formula { font-family: var(--serif); font-style: italic; font-size: 14px; color: var(--gold); margin-bottom: 12px; }
.dietiste-calc-form .desc { font-family: var(--serif); font-size: 15px; line-height: 1.6; color: rgba(251,246,236,0.7); margin-bottom: 36px; }
.dietiste-calc-slider { margin-bottom: 28px; }
.dietiste-calc-slider__row { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.dietiste-calc-slider__label { font-family: var(--sans); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: rgba(251,246,236,0.6); }
.dietiste-calc-slider__value { font-family: var(--serif); font-size: 32px; color: var(--cream); letter-spacing: -1px; }
.dietiste-calc-slider__value .u { font-style: italic; font-size: 18px; color: var(--gold); margin-left: 6px; }
.dietiste-calc-slider input[type="range"] {
	width: 100%; appearance: none; height: 2px; background: rgba(251,246,236,0.18); outline: none; cursor: pointer;
}
.dietiste-calc-slider input[type="range"]::-webkit-slider-thumb { appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--gold); cursor: pointer; }
.dietiste-calc-slider input[type="range"]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--gold); cursor: pointer; border: none; }
.dietiste-calc-segmented { display: flex; gap: 8px; margin-bottom: 24px; }
.dietiste-calc-segmented button {
	flex: 1; padding: 14px 12px; background: transparent; color: var(--cream);
	border: 1px solid rgba(251,246,236,0.3); cursor: pointer;
	font-family: var(--serif); font-size: 15px; transition: all .3s ease;
}
.dietiste-calc-segmented button.is-active { background: var(--gold); color: var(--ink); border-color: var(--gold); }

/* ----- testimonials/before-after/faq plugin styles share theme tokens — extra rules in plugin assets ----- */

/* ----- responsive ----- */
@media (max-width: 1024px) {
	.hero__grid, .about__grid, .services__intro, .services__grid, .testimonials__layout,
	.problems__intro, .problems__grid, .blog-section__intro, .post-grid, .related.products .products,
	.faq__layout, .newsletter-card, .dietiste-calculators__head, .dietiste-calc-shell,
	.shop-header__row, .single-product .product, .woocommerce-checkout form.checkout {
		grid-template-columns: 1fr !important; gap: 50px !important;
	}
	.process__step--odd, .process__step--even { grid-template-columns: 1fr !important; gap: 40px !important; }
	.process__step--even .process__media { order: 0; }
	.dietiste-calc-form { border-right: none; border-bottom: 1px solid rgba(251,246,236,0.18); }
	.dietiste-calculators__tab .label { font-size: 20px; }
	.site-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px; }
	.products { grid-template-columns: 1fr 1fr; }
	.related.products .products { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
	.site-nav { display: none; }
	.site-header { padding: 14px 20px; }
	.container { padding: 0 20px; }
	.hero { padding: 120px 0 60px; }
	.hero__title { font-size: 56px !important; letter-spacing: -1.5px; }
	.hero__title .indent { padding-left: 1.5em; }
	.products, .post-grid, .site-footer__grid { grid-template-columns: 1fr; }
	.dietiste-calculators__tabs { flex-direction: column; }
	.dietiste-calculators__tab { border-right: none; border-bottom: 1px solid rgba(251,246,236,0.18); }
	.problems__row:nth-child(odd) { border-right: none; }
	.checkout-steps { flex-direction: column; }
}

/* ----- reveal helper ----- */
.reveal { opacity: 0; transform: translate3d(0, 24px, 0); transition: opacity 1.1s cubic-bezier(.2,.7,.2,1), transform 1.1s cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
.reveal.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
.reveal[data-delay="1"] { transition-delay: .12s; }
.reveal[data-delay="2"] { transition-delay: .24s; }
.reveal[data-delay="3"] { transition-delay: .36s; }
.reveal[data-delay="4"] { transition-delay: .48s; }

.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); height: 1px; width: 1px; overflow: hidden; }
