/* 16.º aniversário. Scoped to this landing; the rest of the site keeps the active palette. */
.anniversary-page {
	--anniversary-gold: #c4a574;
	--anniversary-gold-dark: #6d583e;
	--anniversary-gold-text: #7a5c34;
	--anniversary-champagne: #f4ecdf;
	--anniversary-cream: #faf6f0;
	--anniversary-ivory: var(--rituais-bg);
	--anniversary-ink: #3e332d;
	--anniversary-bronze: #3f3428;
	--anniversary-line: #c4b49a;
	--anniversary-on-dark: #faf6f0;
	color: var(--rituais-text);
	background: var(--anniversary-ivory);
	overflow-x: clip;
}
.anniversary-page .ann-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.anniversary-page .ann-icon {
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	flex-shrink: 0;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.anniversary-page :focus-visible {
	outline: 3px solid var(--anniversary-ink);
	outline-offset: 4px;
}
.anniversary-page .ann-heading { max-width: 40rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
.anniversary-page .ann-heading-center { max-width: 46rem; margin-inline: auto; text-align: center; }
.anniversary-page .ann-heading-split {
	max-width: none;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
}
.anniversary-page .ann-heading .eyebrow { color: var(--anniversary-gold-dark); }
.anniversary-page .ann-heading h2,
.anniversary-page .ann-story h2,
.anniversary-page .ann-signature h2 {
	color: var(--anniversary-ink);
	font-size: clamp(2.15rem, 3.4vw, 3.35rem);
	letter-spacing: -0.035em;
	line-height: 1.12;
}
.anniversary-page .ann-section { padding-block: var(--space-section); }
.anniversary-page .ann-section-alt { background: var(--anniversary-cream); }
.anniversary-page .ann-band {
	padding-block: var(--space-section);
	background: var(--anniversary-champagne);
	border-block: 1px solid color-mix(in srgb, var(--anniversary-line) 70%, white);
}
.anniversary-page .actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.85rem 1.2rem; }
.anniversary-page .ann-center { justify-content: center; margin-top: clamp(2rem, 4vw, 3rem); }
.anniversary-page a.button.ann-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-height: 50px;
	background: var(--anniversary-gold-dark);
	border-color: var(--anniversary-gold-dark);
	color: var(--anniversary-on-dark);
}
.anniversary-page a.button.ann-button:hover {
	background: var(--anniversary-ink);
	border-color: var(--anniversary-ink);
	color: var(--anniversary-on-dark);
}
.anniversary-page a.button.button-outline.ann-button {
	background: transparent;
	color: var(--anniversary-ink);
	border-color: var(--anniversary-gold-dark);
}
.anniversary-page a.button.button-outline.ann-button:hover {
	background: var(--anniversary-cream);
	color: var(--anniversary-ink);
	border-color: var(--anniversary-ink);
}
.anniversary-page .text-link { color: var(--anniversary-gold-dark); }
.anniversary-page .text-link:hover { color: var(--anniversary-ink); }

.anniversary-page .ann-hero { padding-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.anniversary-page .ann-hero-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.95fr;
	column-gap: clamp(2rem, 4vw, 4.5rem);
	row-gap: clamp(1.75rem, 3vw, 2.5rem);
	align-items: center;
	padding-top: clamp(0.5rem, 2vw, 1.5rem);
}
.anniversary-page .ann-hero-copy .eyebrow { color: var(--anniversary-gold-dark); margin-bottom: 1.1rem; }
.anniversary-page .ann-hero-copy .eyebrow:before {
	content: "";
	display: inline-block;
	width: 2.25rem;
	height: 1px;
	margin-right: 0.85rem;
	vertical-align: middle;
	background: var(--anniversary-gold);
}
.anniversary-page .ann-hero h1 {
	max-width: 11em;
	margin: 0 0 1.15rem;
	color: var(--anniversary-ink);
	font-size: clamp(2.55rem, 4.3vw, 4.35rem);
	line-height: 1.04;
	letter-spacing: -0.04em;
}
.anniversary-page .ann-promise {
	margin: 0 0 1rem;
	max-width: 18em;
	font-family: var(--font-heading);
	font-size: clamp(1.45rem, 2vw, 1.85rem);
	line-height: 1.25;
	letter-spacing: -0.03em;
	color: var(--anniversary-gold-text);
}
.anniversary-page .ann-hero-copy > p:not(.eyebrow):not(.ann-promise) {
	max-width: 38rem;
	font-size: 1.05rem;
	line-height: 1.75;
	color: var(--rituais-text);
}
.anniversary-page .ann-hero .actions { margin-top: 1.75rem; }
.anniversary-page .ann-hero-figure { position: relative; margin: 0; }
.anniversary-page .ann-hero-media {
	position: relative;
	overflow: hidden;
	padding: 0.7rem;
	border: 1px solid var(--anniversary-line);
	background: var(--anniversary-cream);
}
.anniversary-page .ann-hero-media img {
	aspect-ratio: 4 / 5;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: 68% 28%;
}
.anniversary-page .ann-hero-media:after {
	content: "";
	position: absolute;
	inset: 0.7rem;
	pointer-events: none;
	background: linear-gradient(180deg, rgb(250 246 240 / 0.08), transparent 28%, rgb(62 51 45 / 0.22));
}
.anniversary-page .ann-date {
	position: absolute;
	top: 1.35rem;
	right: 1.35rem;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 6.5rem;
	height: 6.5rem;
	margin: 0;
	padding: 0.6rem;
	text-align: center;
	border: 1px solid var(--anniversary-gold);
	border-radius: 50%;
	background: rgb(255 253 249 / 0.92);
	color: var(--anniversary-ink);
}
.anniversary-page .ann-date-day {
	font-family: var(--font-heading);
	font-size: 1.85rem;
	line-height: 1;
	letter-spacing: -0.04em;
}
.anniversary-page .ann-date-month {
	margin-top: 0.2rem;
	font-size: 0.62rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--anniversary-gold-dark);
}
.anniversary-page .ann-attributes {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem 1.5rem;
	margin: 0.5rem 0 0;
	padding: 1.25rem 0 0;
	list-style: none;
	border-top: 1px solid var(--anniversary-line);
}
.anniversary-page .ann-attributes li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 44px;
	color: var(--anniversary-ink);
	font-size: 0.92rem;
}
.anniversary-page .ann-attributes .ann-icon { color: var(--anniversary-gold-dark); }

.anniversary-page .ann-offers {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.15rem;
	align-items: stretch;
}
.anniversary-page .ann-offer {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-height: 16.5rem;
	margin: 0;
	padding: 1.5rem 1.35rem 1.35rem;
	border: 1px solid var(--anniversary-line);
	background: var(--anniversary-ivory);
	color: var(--anniversary-ink);
}
.anniversary-page .ann-offer.is-featured {
	padding-top: 1.7rem;
	background: var(--anniversary-bronze);
	border-color: var(--anniversary-gold);
	color: var(--anniversary-on-dark);
}
.anniversary-page .ann-flag,
.anniversary-page .ann-edition {
	align-self: flex-start;
	margin: 0 0 0.85rem;
	padding: 0.28rem 0.6rem;
	border: 1px solid color-mix(in srgb, var(--anniversary-on-dark) 55%, transparent);
	font-size: 0.64rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.anniversary-page .ann-flag { background: var(--anniversary-champagne); color: var(--anniversary-ink); border-color: transparent; }
.anniversary-page .ann-edition { margin-top: 0.85rem; margin-bottom: 0; }
.anniversary-page .ann-offer-amount {
	margin: 0;
	font-family: var(--font-heading);
	font-size: clamp(2.8rem, 4vw, 3.6rem);
	line-height: 0.95;
	letter-spacing: -0.04em;
}
.anniversary-page .ann-offer-bonus {
	margin: 0.45rem 0 0;
	font-family: var(--font-heading);
	font-size: clamp(1.55rem, 2vw, 1.9rem);
	line-height: 1;
	color: var(--anniversary-gold-text);
}
.anniversary-page .ann-offer.is-featured .ann-offer-bonus { color: var(--anniversary-champagne); }
.anniversary-page .ann-offer-label {
	margin: auto 0 0;
	padding-top: 1.25rem;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--rituais-text-muted);
}
.anniversary-page .ann-offer.is-featured .ann-offer-label {
	color: var(--anniversary-on-dark);
	letter-spacing: 0.16em;
}
.anniversary-page .ann-offer .ann-icon-leaf {
	position: absolute;
	right: 0.35rem;
	bottom: 0.15rem;
	width: 5.5rem;
	height: 5.5rem;
	color: var(--anniversary-gold);
	opacity: 0.28;
	pointer-events: none;
}
.anniversary-page .ann-offer.is-featured .ann-icon-leaf { color: var(--anniversary-champagne); opacity: 0.22; }
.anniversary-page .ann-note {
	max-width: 46rem;
	margin: 1.75rem 0 0;
	font-size: 0.95rem;
	color: var(--rituais-text-muted);
}
.anniversary-page .ann-note a { text-decoration: underline; text-underline-offset: 0.2em; color: var(--anniversary-gold-dark); }

.anniversary-page .ann-experiences,
.anniversary-page .ann-rituals {
	display: grid;
	gap: 1.25rem;
}
.anniversary-page .ann-experiences { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.anniversary-page .ann-experience,
.anniversary-page .ann-ritual {
	min-width: 0;
	background: var(--anniversary-ivory);
	border: 1px solid var(--rituais-border);
}
.anniversary-page .ann-experience.is-signature { border-color: var(--anniversary-gold); }
.anniversary-page .ann-experience-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
}
.anniversary-page .ann-experience-link:hover { color: inherit; }
.anniversary-page .ann-experience figure,
.anniversary-page .ann-ritual figure,
.anniversary-page .ann-signature-media {
	margin: 0;
	overflow: hidden;
	background: var(--rituais-surface-premium);
}
.anniversary-page .ann-experience img,
.anniversary-page .ann-ritual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.anniversary-page .ann-experience img { aspect-ratio: 4 / 4.4; }
.anniversary-page .ann-ritual img { aspect-ratio: 4 / 4.3; }
.anniversary-page .ann-experience-copy,
.anniversary-page .ann-ritual-copy { padding: 1.15rem 1.15rem 1.3rem; }
.anniversary-page .ann-experience h3 {
	margin: 0;
	font-size: clamp(2rem, 2.4vw, 2.5rem);
	color: var(--anniversary-gold-text);
}
.anniversary-page .ann-experience ul { list-style: none; margin: 0.85rem 0 0; padding: 0; }
.anniversary-page .ann-experience li {
	font-family: var(--font-heading);
	font-size: 1.15rem;
	line-height: 1.35;
	color: var(--anniversary-ink);
}
.anniversary-page .ann-experience li + li { margin-top: 0.3rem; }
.anniversary-page .ann-rituals { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.anniversary-page .ann-ritual { display: flex; flex-direction: column; background: var(--rituais-surface); }
.anniversary-page .ann-ritual-copy { display: flex; flex-direction: column; flex: 1; }
.anniversary-page .ann-ritual .eyebrow { margin-bottom: 0.45rem; color: var(--anniversary-gold-dark); font-size: 0.66rem; }
.anniversary-page .ann-ritual h3 {
	margin: 0 0 0.55rem;
	font-size: clamp(1.35rem, 1.7vw, 1.6rem);
	line-height: 1.25;
	color: var(--anniversary-ink);
}
.anniversary-page .ann-ritual p { margin: 0 0 1rem; color: var(--rituais-text-muted); font-size: 0.95rem; line-height: 1.7; }
.anniversary-page .ann-ritual .text-link { margin-top: auto; min-height: 44px; }

.anniversary-page .ann-signature { padding-block: var(--space-section); background: var(--anniversary-ivory); }
.anniversary-page .ann-signature-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.anniversary-page .ann-signature-media { padding: 0.75rem; border: 1px solid var(--anniversary-line); }
.anniversary-page .ann-signature-media img {
	aspect-ratio: 4 / 4.6;
	width: 100%;
	object-fit: cover;
	object-position: center 60%;
}
.anniversary-page .ann-signature-copy .eyebrow { color: var(--anniversary-gold-dark); }
.anniversary-page .ann-signature-copy .eyebrow:before {
	content: "";
	display: inline-block;
	width: 2.25rem;
	height: 1px;
	margin-right: 0.85rem;
	vertical-align: middle;
	background: var(--anniversary-gold);
}
.anniversary-page .ann-signature-copy > p { max-width: 36rem; font-size: 1.05rem; line-height: 1.75; }
.anniversary-page .ann-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin: 1.4rem 0 1.6rem;
	padding: 0;
	list-style: none;
}
.anniversary-page .ann-pills li {
	padding: 0.45rem 0.8rem;
	border: 1px solid var(--anniversary-line);
	background: var(--anniversary-cream);
	color: var(--anniversary-ink);
	font-size: 0.82rem;
	letter-spacing: 0.02em;
}
.anniversary-page .ann-signature .actions { margin-top: 0.4rem; }

.anniversary-page .ann-story { padding-block: clamp(5rem, 9vw, 8.5rem); }
.anniversary-page .ann-story-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(2.5rem, 6vw, 6rem);
	align-items: center;
}
.anniversary-page .ann-story h2 { max-width: 10em; margin-bottom: 1.5rem; }
.anniversary-page .ann-story p:not(.ann-manifesto) { max-width: 38rem; font-size: 1.05rem; line-height: 1.8; }
.anniversary-page .ann-story .ann-manifesto {
	margin: 0;
	max-width: 9em;
	font-family: var(--font-heading);
	font-size: clamp(2.6rem, 4.2vw, 4rem);
	line-height: 1.08;
	letter-spacing: -0.04em;
	color: var(--anniversary-ink);
}
.anniversary-page .ann-manifesto span { display: block; margin-top: 0.35rem; color: var(--anniversary-gold-text); }

.anniversary-page .ann-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 3rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
.anniversary-page .ann-steps li { min-width: 0; padding-top: 0.25rem; border-top: 1px solid var(--anniversary-gold); }
.anniversary-page .ann-step-mark {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 1.1rem 0 0.8rem;
	color: var(--anniversary-gold-dark);
}
.anniversary-page .ann-step-index {
	font-family: var(--font-heading);
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--anniversary-gold-text);
}
.anniversary-page .ann-steps h3 { margin: 0 0 0.45rem; font-size: 1.45rem; color: var(--anniversary-ink); }
.anniversary-page .ann-steps p { margin: 0; max-width: 28rem; color: var(--rituais-text); }

.anniversary-page .ann-finale {
	position: relative;
	isolation: isolate;
	display: grid;
	align-items: center;
	min-height: clamp(26rem, 52vw, 36rem);
	padding-block: clamp(4rem, 8vw, 6.5rem);
	color: var(--anniversary-on-dark);
	overflow: hidden;
}
.anniversary-page .ann-finale-media { position: absolute; inset: 0; z-index: -2; }
.anniversary-page .ann-finale-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.anniversary-page .ann-finale-media:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(42 33 26 / 0.82) 0%, rgb(42 33 26 / 0.62) 48%, rgb(42 33 26 / 0.45) 100%);
}
.anniversary-page .ann-finale-copy { position: relative; max-width: 40rem; }
.anniversary-page .ann-finale h2 {
	max-width: 16em;
	margin: 0 0 1rem;
	color: var(--anniversary-on-dark);
	font-size: clamp(2.2rem, 4vw, 3.5rem);
}
.anniversary-page .ann-finale p { max-width: 32rem; margin: 0 0 1.75rem; color: #f3eadc; font-size: 1.05rem; }
.anniversary-page .ann-finale a.button.ann-button-light {
	background: var(--anniversary-ivory);
	border-color: var(--anniversary-ivory);
	color: var(--anniversary-ink);
}
.anniversary-page .ann-finale a.button.ann-button-light:hover {
	background: var(--anniversary-champagne);
	border-color: var(--anniversary-champagne);
	color: var(--anniversary-ink);
}
.anniversary-page .ann-finale a.button.ann-button-ghost {
	background: transparent;
	border-color: #f3eadc;
	color: var(--anniversary-on-dark);
}
.anniversary-page .ann-finale a.button.ann-button-ghost:hover {
	background: rgb(255 253 249 / 0.12);
	border-color: var(--anniversary-on-dark);
	color: var(--anniversary-on-dark);
}
.anniversary-page .ann-finale a:focus-visible { outline-color: var(--anniversary-on-dark); }

.anniversary-page .ann-conditions {
	padding-block: clamp(2.5rem, 5vw, 4rem) clamp(3rem, 6vw, 5rem);
	color: var(--rituais-text-muted);
	font-size: 0.95rem;
}
.anniversary-page .ann-conditions h2 {
	margin-bottom: 1rem;
	color: var(--anniversary-ink);
	font-size: clamp(1.6rem, 2vw, 2rem);
}
.anniversary-page .ann-conditions p,
.anniversary-page .ann-condition-date { max-width: 65ch; }
.anniversary-page .campaign-breadcrumbs li + li:before { color: var(--anniversary-gold-dark); }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.anniversary-page .ann-offer,
	.anniversary-page .ann-experience,
	.anniversary-page .ann-ritual,
	.anniversary-page .ann-hero-media img,
	.anniversary-page .ann-experience img,
	.anniversary-page .ann-ritual img,
	.anniversary-page .ann-signature-media img,
	.anniversary-page a.button.ann-button > span {
		transition: transform 500ms ease, border-color 220ms ease, background 220ms ease, box-shadow 220ms ease;
	}
	.anniversary-page .ann-offer:hover { transform: translateY(-4px); border-color: var(--anniversary-gold); }
	.anniversary-page .ann-offer.is-featured:hover { transform: translateY(-8px); }
	.anniversary-page .ann-experience:hover,
	.anniversary-page .ann-ritual:hover { transform: translateY(-3px); border-color: var(--anniversary-gold); }
	.anniversary-page .ann-hero-figure:hover img,
	.anniversary-page .ann-experience:hover img,
	.anniversary-page .ann-ritual:hover img,
	.anniversary-page .ann-signature:hover img { transform: scale(1.02); }
	.anniversary-page a.button.ann-button:hover > span { transform: translateX(3px); }
}
@media (min-width: 1101px) {
	.anniversary-page .ann-offer.is-featured { transform: translateY(-0.65rem); }
}
@media (min-width: 1101px) and (hover: hover) and (prefers-reduced-motion: no-preference) {
	.anniversary-page .ann-offer.is-featured:hover { transform: translateY(calc(-0.65rem - 6px)); }
}

@media (max-width: 1100px) {
	.anniversary-page .ann-offers,
	.anniversary-page .ann-experiences { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.anniversary-page .ann-offer.is-featured { grid-column: 1 / -1; }
	.anniversary-page .ann-rituals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
	.anniversary-page .ann-hero-grid,
	.anniversary-page .ann-signature-grid,
	.anniversary-page .ann-story-grid { grid-template-columns: 1fr; }
	.anniversary-page .ann-hero h1 { max-width: 12em; font-size: clamp(2.45rem, 9vw, 3.6rem); }
	.anniversary-page .ann-hero-media img { aspect-ratio: 4 / 3.2; }
	.anniversary-page .ann-date { width: 5.6rem; height: 5.6rem; top: 1.1rem; right: 1.1rem; }
	.anniversary-page .ann-date-day { font-size: 1.55rem; }
	.anniversary-page .ann-manifesto { max-width: 12em; }
	.anniversary-page .ann-finale-media:after { background: rgb(42 33 26 / 0.72); }
}
@media (max-width: 767px) {
	.anniversary-page .ann-attributes,
	.anniversary-page .ann-steps { grid-template-columns: 1fr 1fr; }
	.anniversary-page .ann-heading-split { align-items: flex-start; flex-direction: column; }
	.anniversary-page .ann-signature-media img { aspect-ratio: 4 / 3; }
	.anniversary-page .ann-story { padding-block: clamp(3.5rem, 10vw, 5rem); }
}
@media (max-width: 599px) {
	.anniversary-page .ann-hero .actions,
	.anniversary-page .ann-signature .actions,
	.anniversary-page .ann-finale .actions,
	.anniversary-page .ann-center { align-items: stretch; flex-direction: column; }
	.anniversary-page .ann-hero .actions .ann-button,
	.anniversary-page .ann-signature .actions .ann-button,
	.anniversary-page .ann-finale .actions .ann-button,
	.anniversary-page .ann-center .ann-button { width: 100%; }
	.anniversary-page .ann-attributes,
	.anniversary-page .ann-experiences,
	.anniversary-page .ann-rituals,
	.anniversary-page .ann-steps { grid-template-columns: 1fr; }
	.anniversary-page .ann-offer { min-height: 0; }
	.anniversary-page .ann-offer.is-featured { grid-column: auto; }
	.anniversary-page .ann-hero-copy > p:not(.eyebrow):not(.ann-promise),
	.anniversary-page .ann-signature-copy > p,
	.anniversary-page .ann-story p:not(.ann-manifesto) { font-size: 1rem; }
}
