@charset "UTF-8";

/*
 * UNOAERRE centenary page.
 * Rules use the u100 namespace; the shared theme owns the document and chrome.
 * Adjust --u100-anchor-offset here to the theme's fixed header height.
 */

/* 1. Local tokens and baseline */
.u100 {
	--u100-wine: #4b202b;
	--u100-ink: #302a26;
	--u100-gold: #927440;
	--u100-cream: #f5f1e8;
	--u100-paper: #fcfaf6;
	--u100-line: #d9d0c3;
	--u100-muted: #6a6259;
	--u100-serif: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
	--u100-sans: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	--u100-content-width: 1180px;
	--u100-gutter: max(24px, calc((100% - var(--u100-content-width)) / 2));
	--u100-anchor-offset: 110px;
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: none;
	color: var(--u100-ink);
	background: var(--u100-paper);
	font: 400 15px / 1.9 var(--u100-sans);
	letter-spacing: normal;
	text-align: left;
	isolation: isolate;
}

.u100,
.u100 *,
.u100 *::before,
.u100 *::after {
	box-sizing: border-box;
}

.u100 :where(h1, h2, h3, p, figure, dl, dt, dd, ul, ol, section, header, address) {
	margin: 0;
	padding: 0;
}

.u100 :where(h1, h2, h3) {
	color: inherit;
	font-family: var(--u100-serif);
	font-weight: 500;
	text-transform: none;
}

.u100 h2 {
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.7;
	letter-spacing: .075em;
}

.u100 header {
	position: static;
	display: block;
	width: auto;
	min-height: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

.u100 :where(a, button, summary) {
	color: inherit;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}

.u100 a {
	text-decoration: none;
}

.u100 button {
	border: 0;
	border-radius: 0;
	background: none;
	font: inherit;
	cursor: pointer;
}

.u100 :where(a, button, summary):focus-visible {
	outline: 3px solid #b2863c;
	outline-offset: 5px;
}

.u100 img {
	display: block;
	max-width: 100%;
	height: auto;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.u100 :where(ul, ol) {
	list-style: none;
}

.u100 [hidden] {
	display: none !important;
}

.u100 [id] {
	scroll-margin-block-start: var(--u100-anchor-offset);
}

.admin-bar .u100 {
	--u100-anchor-offset: 142px;
}

/* 2. Reusable elements */
.u100 .u100-section {
	padding: 100px var(--u100-gutter);
}

.u100 .u100-eyebrow {
	margin-block-end: 20px;
	color: var(--u100-gold);
	font: 500 11px / 1.6 Arial, sans-serif;
	letter-spacing: .23em;
}

.u100 .u100-heading {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	column-gap: 35px;
	margin-block-end: 42px;
}

.u100-heading .u100-eyebrow,
.u100-heading h2 {
	grid-column: 1;
}

.u100 .u100-heading-note {
	grid-area: 1 / 2 / 3;
	align-self: end;
	justify-self: end;
	padding-block-end: 5px;
	font-size: 13px;
	line-height: 2.1;
}

.u100 .u100-button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	min-height: 60px;
	padding: 16px 27px;
	color: #fff;
	background: var(--u100-wine);
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: .08em;
	transition: background-color .2s;
}

.u100 .u100-button:hover {
	color: #fff;
	background: #633040;
}

.u100-button > span {
	font: 20px / 1 Arial, sans-serif;
}

.u100 .u100-button--gold {
	min-width: min(390px, 100%);
	color: var(--u100-wine);
	background: #eee1c5;
}

.u100 .u100-button--gold:hover {
	color: var(--u100-wine);
	background: #fff1d7;
}

.u100 .u100-text-link {
	display: inline-flex;
	align-items: center;
	gap: 35px;
	padding-block-end: 8px;
	border-block-end: 1px solid var(--u100-gold);
	font-size: 13px;
	letter-spacing: .06em;
}

.u100 .u100-text-link:hover {
	color: var(--u100-gold);
}

.u100 .u100-note {
	color: var(--u100-muted);
	font-size: 12px;
	line-height: 1.9;
}

.u100 .u100-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.u100 .u100-mobile-break {
	display: none;
}

/* 3. Hero and introduction */
.u100 .u100-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 760px;
	background: var(--u100-cream);
}

.u100 .u100-hero-copy {
	padding: 50px 30px 65px max(9%, calc((100vw - 1180px) / 2));
}

.u100 .u100-mark {
	display: grid;
	justify-items: start;
	margin-block: 23px 28px;
	color: var(--u100-wine);
}

.u100-mark .u100-mark-number {
	font: 104px / .95 Georgia, "Times New Roman", serif;
	letter-spacing: -.075em;
}

.u100-mark-number small {
	margin-inline-start: 7px;
	font-size: 36px;
	letter-spacing: -.06em;
}

.u100-mark .u100-mark-brand {
	margin-block-start: 7px;
	font: 26px / 1.15 "Times New Roman", serif;
	letter-spacing: -.06em;
}

.u100-mark .u100-mark-years {
	margin: 8px 0 0 3px;
	font-size: 9px;
	letter-spacing: .24em;
}

.u100-hero h1 {
	color: var(--u100-wine);
	font-size: clamp(28px, 3.2vw, 48px);
	line-height: 1.65;
	letter-spacing: .08em;
}

.u100 .u100-event-name {
	margin-block-start: 14px;
	font-family: var(--u100-serif);
	font-size: 16px;
	letter-spacing: .06em;
}

.u100 .u100-dates {
	display: flex;
	align-items: center;
	gap: 17px;
	margin-block-start: 26px;
	font: 37px / 1.3 Georgia, serif;
	white-space: nowrap;
}

.u100-dates .u100-year {
	font-size: 14px;
	letter-spacing: .08em;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.u100-dates small {
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	margin-inline-start: 7px;
	border: 1px solid #aa9682;
	border-radius: 50%;
	font: 10px / 1 var(--u100-sans);
	vertical-align: middle;
}

.u100-dates .u100-date-dash {
	color: var(--u100-gold);
	font-size: 23px;
}

.u100 .u100-hero-place {
	margin-block-start: 12px;
	font-size: 11px;
}

.u100-hero .u100-button {
	min-width: 305px;
	margin-block-start: 25px;
}

.u100 .u100-welcome {
	margin-block-start: 12px;
	color: var(--u100-muted);
	font-size: 12px;
}

.u100 .u100-hero-visual {
	position: relative;
	min-width: 0;
	overflow: hidden;
}

.u100-hero-visual img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 30%;
}

.u100-hero-visual figcaption {
	position: absolute;
	right: 20px;
	top: 40px;
	color: #53482d;
	font: 9px / 1.5 Arial, sans-serif;
	letter-spacing: .22em;
	writing-mode: vertical-rl;
}

.u100 .u100-intro {
	text-align: center;
}

.u100-intro h2 {
	margin-block-end: 30px;
	color: var(--u100-wine);
	font-size: clamp(26px, 2.6vw, 36px);
}

.u100-intro > p:not(.u100-eyebrow) {
	max-width: 65ch;
	margin: 17px auto 0;
	font-size: 14px;
	line-height: 2.3;
}

.u100-intro::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	margin: 40px auto 0;
	border: 1px solid var(--u100-gold);
	transform: rotate(45deg);
}

/* 4. Collections */
.u100 .u100-anniversary {
	background: #eee8dc;
}

.u100 .u100-products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 36px;
}

.u100 .u100-products--anniversary {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
}

.u100 .u100-product {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-content: start;
	color: var(--u100-ink);
}

.u100-product img {
	grid-area: 1 / 1;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	transition: filter .2s;
}

.u100-product:hover img {
	filter: brightness(1.04);
}

.u100-product::after {
	content: "+";
	grid-area: 1 / 1;
	align-self: end;
	justify-self: end;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin: 12px;
	border-radius: 50%;
	color: var(--u100-wine);
	background: #fcfaf6e6;
	font: 20px / 1 Arial, sans-serif;
}

.u100-product .u100-product-category {
	margin-block-start: 18px;
	color: #78613c;
	font: 9px / 1.6 Arial, sans-serif;
	letter-spacing: .12em;
}

.u100-product .u100-product-name {
	margin-block-start: 14px;
	font: 17px / 1.8 var(--u100-serif);
	letter-spacing: .06em;
}

.u100-product-category + .u100-product-name {
	margin-block-start: 4px;
}

.u100-product .u100-product-spec {
	margin-block-start: 4px;
	color: var(--u100-muted);
	font-size: 11px;
}

.u100 .u100-collection-note {
	margin-block-start: 27px;
	text-align: right;
}

.u100 .u100-tabs {
	display: flex;
	margin-block-end: 32px;
	border-block-end: 1px solid var(--u100-line);
}

.u100-tabs [role="tab"] {
	flex: 1;
	min-width: 0;
	padding: 15px 8px 23px;
	margin-block-end: -1px;
	border-block-end: 2px solid transparent;
	color: var(--u100-muted);
	font: 23px / 1.5 Georgia, serif;
}

.u100-tabs [aria-selected="true"] {
	border-block-end-color: var(--u100-wine);
	color: var(--u100-wine);
}

.u100-tabs span {
	display: block;
	margin-block-start: 5px;
	font: 11px / 1.5 var(--u100-sans);
}

.u100 .u100-panel + .u100-panel {
	margin-block-start: 48px;
}

.u100-panel h3 {
	font-size: 22px;
}

.u100 .u100-panel-caption {
	margin-block: 8px 26px;
	font: 16px / 1.8 var(--u100-serif);
}

.u100 .u100-enhanced .u100-panel {
	margin-block-start: 0;
}

.u100 .u100-enhanced .u100-panel h3 {
	display: none;
}

.u100-selection > .u100-note {
	margin-block-start: 36px;
}

/* 5. Styling feature and brand history */
.u100 .u100-style {
	display: grid;
	grid-template-columns: 1fr 1fr;
	color: #f6f0e7;
	background: #302c26;
}

.u100 .u100-style-image {
	width: 100%;
	height: 100%;
	max-height: 850px;
	object-fit: cover;
	object-position: center 30%;
}

.u100 .u100-style-copy {
	align-self: center;
	padding: 90px 12%;
}

.u100-style .u100-eyebrow {
	color: #c7ae7e;
}

.u100-style h2 {
	font-size: clamp(30px, 3.15vw, 44px);
	letter-spacing: .12em;
}

.u100-style h2::after {
	content: "";
	display: block;
	width: 60px;
	height: 1px;
	margin-block: 29px;
	background: #ac8f5c;
}

.u100-style-copy > p:not(.u100-eyebrow) {
	margin-block-end: 18px;
	font-size: 13px;
	line-height: 2.4;
}

.u100-style .u100-text-link {
	margin-block-start: 17px;
}

.u100 .u100-story {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px 90px;
	align-items: start;
	background: #ebe6dc;
}

.u100-story > header,
.u100-story .u100-timeline {
	grid-column: 2;
}

.u100-story > header > p:last-child {
	margin-block-start: 20px;
	font-size: 13px;
}

.u100 .u100-story-images {
	position: relative;
	grid-area: 1 / 1 / 3;
	align-self: center;
	padding: 0 55px 100px 0;
}

.u100-story-images > img:first-child {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.u100-story-images .u100-family-image {
	position: absolute;
	width: 53%;
	right: 0;
	bottom: 43px;
	border: 9px solid #ebe6dc;
}

.u100-story-images figcaption {
	position: absolute;
	bottom: 0;
	color: var(--u100-gold);
	font: 9px / 1.6 Arial, sans-serif;
	letter-spacing: .15em;
}

.u100-timeline li {
	display: grid;
	grid-template-columns: 90px 1fr;
	margin-block-end: 24px;
}

.u100-timeline li:last-child {
	margin-block-end: 0;
}

.u100-timeline time {
	grid-row: 1 / 3;
	color: #8f6d32;
	font: 27px / 1.4 Georgia, serif;
}

.u100-timeline :where(h3, p) {
	padding-inline-start: 22px;
	border-inline-start: 1px solid #b5a582;
}

.u100-timeline h3 {
	font-size: 16px;
}

.u100-timeline p {
	color: var(--u100-muted);
	font-size: 12px;
}

/* 6. Purchase gift and access */
.u100 .u100-gift {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	align-items: center;
	gap: 40px;
	margin: 90px var(--u100-gutter);
	padding: 48px;
	border: 1px solid #cbbb9e;
}

.u100-gift h2 {
	font-size: clamp(24px, 2vw, 29px);
}

.u100 .u100-gift-label {
	display: inline-block;
	margin-block-end: 15px;
	padding: 3px 12px;
	border: 1px solid #b39c73;
	color: #6d512b;
	font-size: 11px;
}

.u100-gift h2 ~ p {
	margin-block-start: 16px;
	font-size: 13px;
}

.u100-gift .u100-gift-condition {
	color: var(--u100-wine);
	font-size: 12px;
}

.u100 .u100-gifts {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
}

.u100-gifts img {
	width: 100%;
	aspect-ratio: 1.1;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.u100-gifts figcaption {
	margin-block-start: 12px;
	font-size: 11px;
	text-align: center;
}

.u100 .u100-access {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 22px 60px;
	padding-block-start: 10px;
}

.u100-access .u100-heading {
	grid-column: 1 / -1;
	margin-block-end: 20px;
}

.u100 .u100-store-photo {
	grid-area: 2 / 1 / 5;
}

.u100-store-photo > img {
	width: 100%;
	aspect-ratio: 1.2;
	object-fit: cover;
}

.u100-store-photo figcaption {
	display: flex;
	justify-content: space-between;
	padding-block: 13px;
	border-block-end: 1px solid var(--u100-line);
	font: 11px / 1.9 Georgia, serif;
	letter-spacing: .13em;
}

.u100-store-photo figcaption span {
	font-family: Arial, sans-serif;
	font-size: 9px;
}

.u100 .u100-event-details {
	display: grid;
	grid-template-columns: 85px 1fr;
	font-size: 13px;
}

.u100-event-details :where(dt, dd) {
	padding-block: 13px;
	border-block-end: 1px solid var(--u100-line);
}

.u100-event-details dt {
	color: var(--u100-muted);
	font-size: 12px;
}

.u100 .u100-directions {
	grid-column: 2;
	color: var(--u100-muted);
	font-size: 12px;
}

.u100 .u100-map-link {
	grid-column: 2;
	justify-self: start;
}

/* 7. Reservation and FAQ */
.u100 .u100-reservation {
	padding-inline: max(24px, calc((100% - 800px) / 2));
	color: var(--u100-paper);
	background: var(--u100-wine);
	text-align: center;
}

.u100-reservation .u100-eyebrow {
	color: #d1b787;
}

.u100-reservation h2 {
	font-size: clamp(30px, 3vw, 43px);
	letter-spacing: .14em;
}

.u100-reservation header > p:last-child {
	margin-block-start: 23px;
	font-size: 14px;
	line-height: 2.2;
}

.u100 .u100-guide-title {
	margin-block-start: 36px;
	padding-block-start: 26px;
	border-block-start: 1px solid #ffffff35;
	color: #e0d2cb;
	font-size: 12px;
}

.u100 .u100-booking-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin-block: 22px 30px;
	padding-block-end: 28px;
	border-block-end: 1px solid #ffffff35;
	counter-reset: booking-step;
	text-align: left;
}

.u100-booking-steps li {
	position: relative;
	padding-inline-start: 35px;
	counter-increment: booking-step;
	font-size: 12px;
	line-height: 2;
}

.u100-booking-steps li::before {
	content: counter(booking-step, decimal-leading-zero);
	position: absolute;
	inset: 0 auto auto 0;
	color: #d4b77e;
	font: 21px / 1.65 Georgia, serif;
}

.u100-booking-steps strong {
	color: #fff4df;
	font-weight: 500;
}

.u100 .u100-reservation-note {
	margin-block-start: 14px;
	color: #e0d2cb;
	font-size: 12px;
}

.u100 .u100-phone {
	margin-block-start: 34px;
	font-style: normal;
	font-size: 12px;
}

.u100-phone a {
	display: block;
	font: 30px / 1.7 Georgia, serif;
	letter-spacing: .08em;
}

.u100 .u100-reservation-help {
	margin-block-start: 21px;
	color: #d5c3bd;
	font-size: 11px;
}

.u100 .u100-faq {
	padding-inline: max(24px, calc((100% - 780px) / 2));
}

.u100-faq header {
	margin-block-end: 35px;
	text-align: center;
}

.u100-faq h2 {
	font-size: 29px;
}

.u100-faq details {
	border-block-end: 1px solid var(--u100-line);
}

.u100-faq details:first-of-type {
	border-block-start: 1px solid var(--u100-line);
}

.u100-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 23px 4px;
	list-style: none;
	font-size: 14px;
	cursor: pointer;
}

.u100-faq summary::-webkit-details-marker {
	display: none;
}

.u100-faq summary::after {
	content: "+";
	flex-shrink: 0;
	color: var(--u100-gold);
	font: 22px / 1 Arial, sans-serif;
	transition: transform .2s;
}

.u100-faq details[open] summary::after {
	transform: rotate(45deg);
}

.u100-faq details > p {
	padding: 0 30px 25px 4px;
	color: var(--u100-muted);
	font-size: 13px;
	line-height: 2.1;
}

.u100-faq details a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* 8. LP-local overlays */
.u100 .u100-booking {
	position: fixed;
	inset: auto 0 0;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 12px max(24px, calc((100% - 1180px) / 2));
	border-block-start: 1px solid var(--u100-line);
	background: #fcfaf6f5;
	box-shadow: 0 -3px 18px #302a2607;
}

.u100-booking > p > span {
	display: block;
	font-size: 11px;
}

.u100-booking strong {
	font: 24px / 1.5 Georgia, serif;
}

.u100-booking small {
	font: 10px / 1 var(--u100-sans);
}

.u100-booking .u100-button {
	min-width: 245px;
	min-height: 50px;
	padding-block: 11px;
}

.u100 .u100-dialog {
	position: fixed;
	inset: 0;
	width: min(900px, calc(100% - 40px));
	max-width: 900px;
	max-height: 90dvh;
	margin: auto;
	padding: 0;
	border: 0;
	color: var(--u100-ink);
	background: var(--u100-paper);
	overflow: auto;
}

.u100-dialog[open] {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
}

.u100-dialog::backdrop {
	background: #211a17b3;
	backdrop-filter: blur(4px);
}

.u100-dialog > img {
	width: 100%;
	height: 100%;
	max-height: 75dvh;
	object-fit: contain;
	background: #ede8df;
}

.u100 .u100-dialog-info {
	align-self: center;
	padding: 60px 30px 35px;
}

.u100-dialog-info h2 {
	font-size: 25px;
}

.u100-dialog-info .u100-note {
	margin-block-start: 16px;
}

.u100-dialog-info .u100-button {
	gap: 16px;
	margin-block-start: 26px;
	padding: 13px 17px;
	font-size: 12px;
}

.u100 .u100-dialog-close {
	position: absolute;
	inset: 12px 12px auto auto;
	z-index: 1;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid #cbbfb3;
	background: #fcfaf6ee;
	font: 28px / 1 Arial, sans-serif;
}

/* 9. Responsive layout */
@media (max-width: 1100px) {
	.u100 .u100-hero-copy { padding-inline: 9% 25px; }
	.u100 .u100-event-name { font-size: 13px; }
	.u100 .u100-dates { gap: 12px; font-size: 32px; }
	.u100-hero .u100-button { min-width: 270px; }
	.u100 .u100-products--anniversary { gap: 18px; }
	.u100 .u100-story { column-gap: 50px; }
	.u100 .u100-gift { gap: 25px; padding: 35px; }
	.u100 .u100-access { column-gap: 35px; }
}

@media (max-width: 760px) {
	.u100 { --u100-anchor-offset: 86px; font-size: 14px; }
	.admin-bar .u100 { --u100-anchor-offset: 132px; }
	.u100 h2 { font-size: 28px; }
	.u100 .u100-section { padding-block: 65px; }
	.u100 .u100-eyebrow { font-size: 10px; margin-block-end: 16px; }
	.u100 .u100-heading { display: block; margin-block-end: 30px; }
	.u100 .u100-heading-note { margin-block-start: 18px; font-size: 12px; }
	.u100 .u100-desktop-break { display: none; }
	.u100 .u100-mobile-break { display: block; }
	.u100 .u100-hero { display: block; min-height: 0; }
	.u100 .u100-hero-copy { padding: 36px 24px; }
	.u100 .u100-mark { margin-block: 20px; }
	.u100-mark .u100-mark-number { font-size: 74px; }
	.u100-mark-number small { font-size: 27px; }
	.u100-mark .u100-mark-brand { font-size: 21px; }
	.u100-mark .u100-mark-years { font-size: 8px; }
	.u100-hero h1 { font-size: clamp(25px, 8vw, 38px); line-height: 1.6; }
	.u100 .u100-event-name { font-size: 14px; }
	.u100 .u100-dates { gap: 15px; font-size: 33px; }
	.u100-dates .u100-year { font-size: 13px; }
	.u100-dates small { width: 20px; height: 20px; font-size: 9px; }
	.u100 .u100-hero-place { font-size: 10px; }
	.u100-hero .u100-button { width: 100%; max-width: 380px; min-width: 0; min-height: 56px; }
	.u100 .u100-welcome { font-size: 11px; }
	.u100 .u100-hero-visual { height: 410px; }
	.u100-hero-visual img { object-position: center 43%; }
	.u100-hero-visual figcaption { top: 20px; right: 12px; font-size: 8px; }
	.u100-intro h2 { font-size: 26px; letter-spacing: .05em; }
	.u100-intro > p:not(.u100-eyebrow) { font-size: 13px; }
	.u100 .u100-products,
	.u100 .u100-products--anniversary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
	.u100-product .u100-product-category { font-size: 8px; letter-spacing: .04em; }
	.u100-product .u100-product-name { font-size: 15px; }
	.u100-product .u100-product-spec { font-size: 10px; }
	.u100-product::after { width: 25px; height: 25px; margin: 8px; }
	.u100 .u100-collection-note { text-align: left; font-size: 11px; }
	.u100-tabs [role="tab"] { padding: 14px 3px 18px; font-size: 17px; }
	.u100-tabs [role="tab"]:last-child { font-size: 15px; }
	.u100-tabs span { font-size: 9px; }
	.u100 .u100-panel-caption { font-size: 15px; }
	.u100 .u100-style { grid-template-columns: 1fr; }
	.u100 .u100-style-image { height: 520px; object-position: center 28%; }
	.u100 .u100-style-copy { padding: 55px 30px 65px; }
	.u100-style h2 { font-size: 33px; }
	.u100 .u100-story { grid-template-columns: 1fr; gap: 30px; }
	.u100-story > header,
	.u100-story .u100-timeline { grid-column: auto; }
	.u100 .u100-story-images { grid-area: 1 / 1; max-width: 470px; padding: 0 65px 90px 0; }
	.u100-story-images .u100-family-image { bottom: 30px; border-width: 7px; }
	.u100-timeline li { grid-template-columns: 85px 1fr; }
	.u100 .u100-gift { grid-template-columns: 1fr; gap: 30px; padding: 30px 24px; margin-block: 65px; }
	.u100-gift h2 { font-size: 24px; }
	.u100 .u100-gifts { max-width: 400px; gap: 20px; }
	.u100-gifts figcaption { font-size: 10px; }
	.u100 .u100-access { display: block; padding-block-start: 0; }
	.u100-access .u100-heading { margin-block-end: 30px; }
	.u100 .u100-store-photo { margin-block-end: 25px; }
	.u100-store-photo > img { aspect-ratio: 1.4; }
	.u100 .u100-event-details { grid-template-columns: 75px 1fr; font-size: 12px; }
	.u100-event-details dt { font-size: 11px; }
	.u100 .u100-directions { margin-block: 20px; }
	.u100-reservation h2 { font-size: clamp(22px, 6.9vw, 32px); }
	.u100-reservation header > p:last-child { font-size: 13px; }
	.u100 .u100-guide-title { font-size: 11px; text-align: left; }
	.u100 .u100-booking-steps { grid-template-columns: 1fr; gap: 18px; }
	.u100-booking-steps li { font-size: 13px; }
	.u100-booking-steps li br { display: none; }
	.u100 .u100-button--gold { width: 100%; min-width: 0; font-size: 13px; }
	.u100 .u100-reservation-note { font-size: 11px; }
	.u100-faq h2 { font-size: 26px; }
	.u100-faq summary { padding-block: 21px; font-size: 13px; }
	.u100-faq details > p { font-size: 12px; }
	.u100 .u100-booking { gap: 10px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); }
	.u100-booking > p > span { font-size: 8px; }
	.u100-booking strong { font-size: 21px; }
	.u100-booking small { font-size: 9px; }
	.u100-booking .u100-button { min-width: 130px; min-height: 48px; gap: 18px; padding: 11px 16px; font-size: 12px; }
	.u100 .u100-dialog { width: min(420px, calc(100% - 32px)); }
	.u100-dialog[open] { grid-template-columns: 1fr; }
	.u100-dialog > img { max-height: 45dvh; aspect-ratio: 1.1; }
	.u100 .u100-dialog-info { padding: 24px; }
	.u100-dialog-info h2 { font-size: 22px; }
	.u100-dialog-info .u100-button { width: 100%; margin-block-start: 18px; }
}

@media (max-width: 360px) {
	.u100 .u100-hero-copy { padding-inline: 20px; }
	.u100 .u100-dates { gap: 11px; font-size: 29px; }
	.u100 .u100-event-name { font-size: 12px; }
	.u100 .u100-hero-place { font-size: 9px; }
	.u100-tabs [role="tab"] { font-size: 15px; }
	.u100-tabs [role="tab"]:last-child { font-size: 13px; }
	.u100-tabs span { font-size: 8px; }
	.u100-gift h2 { font-size: 21px; }
	.u100 .u100-booking { padding-inline: 12px; }
	.u100-booking > p > span { font-size: 7px; }
	.u100-booking .u100-button { min-width: 120px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
	.u100 *,
	.u100 *::before,
	.u100 *::after { transition: none !important; }
}

@media print {
	.u100 .u100-booking,
	.u100 .u100-dialog,
	.u100 .u100-tabs,
	.u100 .u100-button { display: none !important; }
	.u100 .u100-section { padding-block: 30px; }
	.u100 .u100-panel[hidden] { display: block !important; }
	.u100 .u100-enhanced .u100-panel h3 { display: block; }
	.u100 .u100-panel { margin-block-start: 30px; }
	.u100 .u100-product::after { content: none; }
}

@media (max-width: 767px) {
	.page-template-page-unoaerre100 #custom_trans_bar{
		display: none;
	}
}