/* Great Aussie Escapes theme styles */
:root {
	--g-ink: #3A4654;
	--g-navy: #0D2540;
	--g-blue: #3F6A99;
	--g-mist: #DBE5EF;
	--g-ivory: #FBF8F2;
	--g-beige: #F6F1E7;
	--g-sand: #ECE3D3;
	--g-gold: #C9A24F;
	--g-serif: "Cormorant Garamond", Georgia, serif;
	--g-sans: "Proza Libre", "Helvetica Neue", Arial, sans-serif;
	--g-ease: cubic-bezier(.22, .8, .24, 1);
	--g-shadow: 0 26px 48px -22px rgba(13, 37, 64, .45);
	--g-gutter: clamp(16px, 4vw, 48px);
}

html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks { overflow-x: clip; max-width: 100vw; }
.gae-main { margin-block-start: 0 !important; padding: 0 !important; }
.gae-main > * { margin-block-start: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0; }
img { max-width: 100%; height: auto; }
figure.wp-block-image { margin: 0; }
.gae-main, .gae-main *, .gae-main *::before, .gae-main *::after, .gae-header *, .gae-footer * { box-sizing: border-box; }

.gae-eyebrow { font-size: .76rem; letter-spacing: .24em; text-transform: uppercase; color: var(--g-blue); font-weight: 600; margin: 0 0 1rem; line-height: 1.4; }
.gae-section-head { text-align: center; max-width: 720px; margin: 0 auto clamp(56px, 7vw, 96px) !important; }
.gae-section-head > * { margin-block: 0 !important; }
.gae-section-head > * + * { margin-top: 1.1rem !important; }
.gae-section-title { font-size: clamp(2.7rem, 5.6vw, 4.3rem); line-height: 1.05; }
.gae-section-lead { font-family: var(--g-serif); font-style: italic; font-size: 1.4rem; line-height: 1.4; color: var(--g-ink); }

/* Buttons */
.wp-block-button__link { transition: background .3s, color .3s, border-color .3s, transform .35s var(--g-ease); border: 1px solid var(--g-navy); }
.wp-block-button__link:hover { border-color: var(--g-blue); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--g-navy); border: 1px solid var(--g-navy); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--g-navy); color: var(--g-ivory); }
.gae-btn { display: inline-block; padding: 1.15em 2.8em; border: 1px solid var(--g-navy); background: var(--g-navy); color: var(--g-ivory); font: 600 .76rem/1 var(--g-sans); letter-spacing: .2em; text-transform: uppercase; text-decoration: none; transition: background .3s, color .3s, border-color .3s; }
.gae-btn:hover { background: var(--g-blue); border-color: var(--g-blue); color: #fff; }
.gae-btn--light { background: var(--g-ivory); border-color: var(--g-ivory); color: var(--g-navy); }
.gae-btn--light:hover { background: var(--g-mist); border-color: var(--g-mist); color: var(--g-navy); }

/* Header: white over the hero, ivory once scrolled */
.gae-header { position: fixed; inset: 0 0 auto 0; z-index: 100; padding: 8px var(--g-gutter); transition: background .4s, box-shadow .4s, padding .4s; }
.admin-bar .gae-header { top: 32px; }
.gae-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; max-width: 1400px; margin: 0 auto; }
.gae-header__inner > * { margin: 0 !important; }
.gae-logo img { height: 144px; width: auto; transition: height .4s var(--g-ease), filter .4s; }
.gae-nav { font-size: .9rem; letter-spacing: .06em; font-weight: 500; }
.gae-nav a { position: relative; text-decoration: none; color: var(--g-navy); transition: color .3s; }
.gae-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .35s var(--g-ease); }
.gae-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.gae-header .wp-block-button__link { padding: 1.05em 1.9em; font-size: .7rem; }
.gae-header.is-top .gae-logo img { filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(13,37,64,.35)); }
.gae-header.is-top .gae-nav a, .gae-header.is-top .wp-block-navigation__responsive-container-open { color: #fff; text-shadow: 0 1px 8px rgba(13,37,64,.35); }
.gae-header.is-top .wp-block-button__link { background: var(--g-ivory); color: var(--g-navy); border-color: var(--g-ivory); }
.gae-header.is-scrolled { background: rgba(251, 248, 242, .9); backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px); box-shadow: 0 8px 30px -18px rgba(13,37,64,.45); padding-block: 4px; }
.gae-header.is-scrolled .gae-logo img { height: 98px; }
@media (max-width: 782px) { .admin-bar .gae-header { top: 46px; } .gae-header__cta { display: none; } .gae-logo img { height: 92px; } .gae-header.is-scrolled .gae-logo img { height: 70px; } }

/* Hero: polaroid frames with lettering, like the original site */
.gae-hero { position: relative; height: 100vh; height: 100svh; min-height: 520px; overflow: hidden; padding: 0 !important; background: var(--g-mist); --gs: .6; }
.gae-hero > * { margin: 0 !important; }
.gae-hero__slides { position: absolute; inset: 0; }
.gae-hero__slides .gae-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .6s ease; }
.gae-hero__slides .gae-slide:first-child, .gae-hero__slides .gae-slide.is-active { opacity: 1; }
.gae-js .gae-hero__slides .gae-slide:first-child:not(.is-active) { opacity: 0; }
.gae-hero__slides .gae-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.gae-hero__title { position: absolute; z-index: 2; left: 50%; top: calc(50% + 62px * var(--gs)); transform: translate(-50%, -50%); margin: 0; text-align: center; white-space: nowrap; text-transform: uppercase; font-family: var(--g-sans); font-weight: 600; color: #fff; font-size: min(calc(145.6px * var(--gs)), 15vw); line-height: min(calc(131px * var(--gs)), 13.5vw); letter-spacing: .155em; text-shadow: 0 .015em .3em rgba(13,37,64,.3); }
.gae-hero__line { display: block; padding-left: .155em; font-size: calc(1em * var(--k, 1)); }
/* refined lettering: tall serif capitals for the word, a soft italic "awaits" beneath */
.gae-hero__title { font-family: var(--g-serif); font-weight: 500; letter-spacing: .14em; text-shadow: 0 .02em .18em rgba(13,37,64,.28), 0 0 .6em rgba(13,37,64,.12); }
.gae-hero__line:not(.gae-hero__word) { font-style: italic; font-weight: 400; text-transform: lowercase; letter-spacing: .04em; padding-left: 0; font-size: .58em; line-height: 1.05; margin-top: -.06em; }
.gae-hero__slides .gae-slide img { filter: sepia(.08) saturate(1.07) contrast(1.03); }
.gae-hero__title i { display: inline-block; font-style: normal; }
.gae-js .gae-hero__title i { animation: gaeRiseL .9s cubic-bezier(.2,.75,.2,1) calc(var(--i, 0) * 60ms + .25s) backwards; }
.gae-hero__title i.is-out { transition: opacity .26s ease, transform .26s ease; opacity: 0; transform: translateY(-.4em); }
@keyframes gaeRiseL { from { opacity: 0; transform: translateY(.42em); } }
.gae-hero__tag { position: absolute; z-index: 2; right: calc(50% - 706px * var(--gs)); top: calc(50% + 396px * var(--gs)); text-align: right; margin: 0; font-family: var(--g-sans); font-size: max(11px, calc(21px * var(--gs))); line-height: 1.15; letter-spacing: .02em; text-transform: uppercase; color: #fff; text-shadow: 0 1px 8px rgba(13,37,64,.35); }
.gae-js .gae-hero__tag { animation: gaeRiseL 1s ease 1.1s backwards; }
.gae-hero__cta { position: absolute; left: 0; right: 0; bottom: clamp(22px, 5vw, 60px); z-index: 3; text-align: center; }
.gae-hero__dots { position: absolute; z-index: 3; left: clamp(16px, 4vw, 56px); bottom: clamp(30px, 5.4vw, 66px); display: flex; flex-wrap: wrap; gap: 6px; max-width: 30%; }
.gae-hero__dots button { width: 22px; height: 3px; border: 0; padding: 0; background: rgba(255,255,255,.45); cursor: pointer; transition: background .3s, width .3s; }
.gae-hero__dots button.is-active { background: #fff; width: 34px; }
@media (max-width: 767px) { .gae-hero__dots, .gae-hero__tag { display: none; } }

/* Marquee */
.gae-marquee { background: var(--g-navy); color: #fff; overflow: hidden; padding: 20px 0; margin: 0 !important; border-block: 1px solid rgba(201,169,106,.35); }
.gae-marquee__track { display: flex; width: max-content; animation: gaeMarquee 40s linear infinite; }
.gae-marquee__track span { font: 600 .86rem/1.2 var(--g-sans); letter-spacing: .22em; text-transform: uppercase; color: #fff; white-space: nowrap; padding: 0 1.9rem; display: inline-flex; align-items: center; }
.gae-marquee__track span::after { content: "✦"; font-size: .8rem; letter-spacing: 0; color: var(--g-gold); margin-left: 3.8rem; }
@media (max-width: 700px) { .gae-marquee { padding: 16px 0; } .gae-marquee__track { animation-duration: 32s; } .gae-marquee__track span { font-size: .74rem; letter-spacing: .18em; padding: 0 1.4rem; } .gae-marquee__track span::after { margin-left: 2.8rem; } }
.gae-marquee:hover .gae-marquee__track { animation-play-state: paused; }
@keyframes gaeMarquee { to { transform: translateX(-50%); } }

/* Intro: the frosted panel in its own section */
.gae-intro { position: relative; display: flex; align-items: center; min-height: min(92vh, 860px); overflow: hidden; padding: clamp(60px, 8vw, 120px) var(--g-gutter) !important; margin: 0 !important; background: var(--g-mist); }
.gae-intro > * { margin: 0 !important; }
.gae-intro__bg { position: absolute !important; inset: -14% 0; }
.gae-intro__bg img { width: 100%; height: 100%; object-fit: cover; transform: translate3d(0, var(--py, 0px), 0); will-change: transform; }
.gae-intro__panel { position: relative; z-index: 2; max-width: 600px; padding: clamp(30px, 4.5vw, 60px); background: rgba(251, 248, 242, .82); backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2); box-shadow: var(--g-shadow); margin-left: clamp(0px, 4vw, 80px) !important; }
.gae-intro__panel > * { margin-block: 0 !important; }
.gae-intro__panel > * + * { margin-top: 1.2rem !important; }
.gae-intro__title { font-size: clamp(2.6rem, 5.2vw, 4.4rem); line-height: 1; }
.gae-intro__title em { color: var(--g-blue); }
.gae-intro__note { font-size: .82rem; color: var(--g-navy); }
.gae-intro__note a { font-weight: 600; }

/* Featured draw */
.gae-featured { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px, 6vw, 90px); align-items: center; max-width: 1240px; margin: 0 auto !important; padding: clamp(70px, 10vw, 130px) var(--g-gutter) !important; }
.gae-featured > * { margin: 0 !important; }
.gae-featured__media { position: relative; }
.gae-featured__img { overflow: hidden; box-shadow: var(--g-shadow); aspect-ratio: 4 / 5; background: var(--g-mist); }
.gae-featured__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--g-ease); }
.gae-featured__media:hover img { transform: scale(1.05); }
.gae-badge { position: absolute; top: 22px; left: 22px; margin: 0 !important; background: var(--g-ivory); color: var(--g-navy); padding: .7em 1.2em; font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 600; box-shadow: 0 10px 24px -12px rgba(0,0,0,.35); animation: gaeBob 4s ease-in-out infinite; }
@keyframes gaeBob { 50% { transform: translateY(-6px); } }
.gae-featured__title { font-size: clamp(2.2rem, 4vw, 3.4rem); margin: 0; }
.gae-featured__body > * { margin-block: 0 !important; }
.gae-featured__body > * + * { margin-top: 1.2rem !important; }
.gae-countdown { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.gae-countdown div { background: var(--g-beige); padding: 14px 6px; text-align: center; }
.gae-countdown b { display: block; font-family: var(--g-serif); font-size: 2.2rem; line-height: 1; color: var(--g-navy); font-weight: 600; font-variant-numeric: tabular-nums; }
.gae-countdown span { font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--g-blue); }
.gae-progress { margin-top: 18px; }
.gae-progress__bar { height: 8px; background: var(--g-mist); overflow: hidden; }
.gae-progress__bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--g-blue), var(--g-navy)); transition: width 2s var(--g-ease); position: relative; }
.gae-progress__bar i::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent); animation: gaeShine 2.4s ease-in-out infinite; }
@keyframes gaeShine { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
.gae-progress p { font-size: .82rem; margin: .5rem 0 0; color: var(--g-navy); }
.gae-draw__facts { list-style: none; padding: 0; margin: 18px 0 0; display: flex; border-top: 1px solid var(--g-sand); border-bottom: 1px solid var(--g-sand); }
.gae-draw__facts li { flex: 1; text-align: center; padding: 14px 4px; }
.gae-draw__facts li + li { border-left: 1px solid var(--g-sand); }
.gae-draw__facts b { display: block; font-family: var(--g-serif); font-size: 1.6rem; color: var(--g-navy); }
.gae-draw__facts span { font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--g-blue); }
@media (max-width: 860px) { .gae-featured { grid-template-columns: 1fr; } .gae-featured__img { aspect-ratio: 4 / 3; } }

/* How it works: the original timeline layout */
.gae-steps { background: var(--g-beige); padding: clamp(72px, 9vw, 130px) 24px !important; margin: 0 !important; }
.gae-steps__list { position: relative; max-width: 1080px; margin: 0 auto !important; display: grid; gap: clamp(56px, 7vw, 104px); }
.gae-steps__list > * { margin: 0 !important; }
.gae-steps__list::before { content: ""; position: absolute; left: 50%; top: 24px; bottom: 24px; width: 1px; background: rgba(13,37,64,.22); transform-origin: top; }
.gae-js .gae-steps__list::before { transform: scaleY(var(--line, 0)); transition: transform .2s linear; }
.gae-step { position: relative; display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(48px, 8vw, 128px); align-items: center; }
.gae-step::after { content: ""; position: absolute; left: 50%; top: 50%; width: 13px; height: 13px; margin: -7px 0 0 -7px; border-radius: 50%; background: var(--g-navy); box-shadow: 0 0 0 5px var(--g-beige); transition: transform .6s cubic-bezier(.3,1.6,.5,1) .3s; }
.gae-js .gae-step:not(.is-in)::after { transform: scale(0); }
.gae-step > * { margin: 0 !important; }
.gae-step__media { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 330px; }
.gae-step__num { font: 300 clamp(3.4rem, 6vw, 4.6rem)/1 var(--g-serif); font-variant-numeric: lining-nums; letter-spacing: .02em; color: #8FACCE; }
/* Step illustrations: realistic cut outs, each with its own little story */
.gae-art { position: relative; width: clamp(200px, 20vw, 260px); aspect-ratio: 1; }
.gae-art img { position: absolute; display: block; height: auto; filter: drop-shadow(0 14px 14px rgba(13,37,64,.22)); }
/* 01 tickets fan out of a stack, then breathe */
.gae-art--tickets img { left: 8%; top: 22%; width: 84%; transform-origin: 30% 90%; transition: transform 1s cubic-bezier(.2,1.3,.4,1); }
.gae-step.is-in .gae-art--tickets .t1 { transform: translate(-10%, -14%) rotate(-16deg); }
.gae-step.is-in .gae-art--tickets .t2 { transform: translate(2%, -2%) rotate(-3deg); transition-delay: .12s; }
.gae-step.is-in .gae-art--tickets .t3 { transform: translate(12%, 12%) rotate(9deg); transition-delay: .24s; }
.gae-step.is-live .gae-art--tickets .t1 { animation: gaeTkA 5s ease-in-out infinite; }
.gae-step.is-live .gae-art--tickets .t3 { animation: gaeTkC 5s ease-in-out infinite; }
@keyframes gaeTkA { 50% { transform: translate(-13%, -17%) rotate(-21deg); } }
@keyframes gaeTkC { 50% { transform: translate(15%, 14%) rotate(13deg); } }
/* 02 the brass key slides in, turns in an unseen lock, and catches the light */
.gae-art--key { perspective: 700px; }
.gae-art--key .key { left: 2%; top: 20%; width: 96%; transform-origin: 50% 50%; }
.gae-art--key .glow { position: absolute; left: 60%; top: 52%; width: 60%; aspect-ratio: 1; margin: -30% 0 0 -30%; border-radius: 50%; background: radial-gradient(circle, rgba(232,196,110,.55), rgba(232,196,110,0) 65%); opacity: 0; }
.gae-art--key .glint { position: absolute; left: 30%; top: 30%; width: 26%; aspect-ratio: 1; margin: -13% 0 0 -13%; pointer-events: none; opacity: 0;
	background: radial-gradient(circle, #fff 0 6%, rgba(255,250,235,.85) 9%, rgba(255,235,190,0) 32%), linear-gradient(90deg, transparent 47%, rgba(255,255,255,.95) 50%, transparent 53%), linear-gradient(0deg, transparent 47%, rgba(255,255,255,.95) 50%, transparent 53%);
	-webkit-mask: radial-gradient(circle, #000 30%, transparent 70%); mask: radial-gradient(circle, #000 30%, transparent 70%); }
.gae-js .gae-step .gae-art--key .key { opacity: 0; transform: translate(-40%, -30%) rotate(-30deg); }
.gae-step.is-in .gae-art--key .key { animation: gaeKeyIn 1.1s cubic-bezier(.2, 1.2, .4, 1) .4s forwards; }
.gae-step.is-live .gae-art--key .key { opacity: 1; transform: none; animation: gaeKeyTurn 5.2s ease-in-out infinite; }
.gae-step.is-live .gae-art--key .glow { animation: gaeKeyGlow 5.2s ease-out infinite; }
.gae-step.is-live .gae-art--key .glint { animation: gaeKeyGlint 5.2s ease-in-out infinite; }
@keyframes gaeKeyIn { 0% { opacity: 0; transform: translate(-40%, -30%) rotate(-30deg); } 60% { opacity: 1; transform: translate(3%, 2%) rotate(3deg); } 100% { opacity: 1; transform: none; } }
@keyframes gaeKeyTurn {
	0% { transform: translateY(0) rotate(0); }
	10% { transform: translateY(-7px) rotate(-3deg); }
	20% { transform: translateY(0) rotate(2deg); }
	28% { transform: translate(-3%, -2%) rotate(0); }
	36% { transform: translate(7%, 4%) rotate(0); }
	38% { transform: translate(6%, 3.5%) rotate(0); filter: drop-shadow(0 14px 14px rgba(13,37,64,.22)) brightness(1); }
	46% { transform: translate(6%, 3.5%) rotate3d(.87, .5, 0, 30deg) rotate(-7deg); filter: drop-shadow(0 8px 9px rgba(13,37,64,.3)) brightness(.86); }
	50% { transform: translate(6%, 3.5%) rotate3d(.87, .5, 0, 26deg) rotate(-6deg); filter: drop-shadow(0 8px 9px rgba(13,37,64,.3)) brightness(.9); }
	62% { transform: translate(6%, 3.5%) rotate3d(.87, .5, 0, 26deg) rotate(-6deg); filter: drop-shadow(0 8px 9px rgba(13,37,64,.3)) brightness(.9); }
	70% { transform: translate(6%, 3.5%) rotate3d(.87, .5, 0, 0deg) rotate(0); filter: drop-shadow(0 14px 14px rgba(13,37,64,.22)) brightness(1.08); }
	74% { transform: translate(5%, 3%) rotate(-1.5deg); filter: drop-shadow(0 14px 14px rgba(13,37,64,.22)) brightness(1); }
	76% { transform: translate(6%, 3.5%) rotate(1deg); }
	88% { transform: translate(0, 0) rotate(0); }
	94% { transform: translateY(-4px) rotate(-1deg); }
	100% { transform: translateY(0) rotate(0); }
}
@keyframes gaeKeyGlow { 0%, 40% { opacity: 0; transform: scale(.6); } 50% { opacity: 1; transform: scale(1.05); } 62% { opacity: .7; transform: scale(1.1); } 80%, 100% { opacity: 0; transform: scale(1.5); } }
@keyframes gaeKeyGlint { 0%, 6% { opacity: 0; transform: scale(.2) rotate(0); } 12% { opacity: 1; transform: scale(.8) rotate(45deg); } 18%, 48% { opacity: 0; transform: scale(.2) rotate(90deg); } 54% { opacity: 1; transform: scale(1.15) rotate(135deg); } 66%, 100% { opacity: 0; transform: scale(.3) rotate(180deg); } }
/* 03 the hourglass counts down, flips with a little bounce, and the sand keeps falling */
.gae-art--draw .hg { left: 26%; top: 4%; width: 48%; transform-origin: 50% 50%; }
.gae-step.is-in .gae-art--draw .hg { animation: gaeFlip 4.8s cubic-bezier(.6, 0, .3, 1) .4s infinite; }
@keyframes gaeFlip { 0%, 58% { transform: rotate(0); } 74% { transform: rotate(192deg); } 80% { transform: rotate(174deg); } 86%, 100% { transform: rotate(180deg); } }
.gae-art--draw .sand { position: absolute; left: 50%; top: 47%; width: 0; height: 0; }
.gae-art--draw .sand i { position: absolute; left: -1.5px; top: 0; width: 3px; height: 3px; border-radius: 50%; background: #d9b56a; opacity: 0; }
.gae-step.is-in .gae-art--draw .sand i { animation: gaeSand 1.2s linear infinite; }
.gae-art--draw .sand i:nth-child(2) { animation-delay: .4s !important; }
.gae-art--draw .sand i:nth-child(3) { animation-delay: .8s !important; }
@keyframes gaeSand { 0% { opacity: 0; transform: translateY(0); } 15% { opacity: 1; } 85% { opacity: 1; } 100% { opacity: 0; transform: translateY(26px); } }
/* 04 boarding passes slide in, then the champagne clinks and fizzes */
.gae-art--winner .bp { left: 0; top: 40%; width: 74%; opacity: 0; transform: translateX(-40%) rotate(-14deg); }
.gae-art--winner .ch { left: 34%; top: 2%; width: 64%; opacity: 0; transform: translateY(30%) scale(.8); transform-origin: 50% 100%; }
.gae-step.is-in .gae-art--winner .bp { animation: gaeSlideIn .9s cubic-bezier(.2,1.2,.4,1) .3s forwards; }
.gae-step.is-in .gae-art--winner .ch { animation: gaePopIn .8s cubic-bezier(.2,1.4,.4,1) .8s forwards; }
.gae-step.is-live .gae-art--winner .bp { opacity: 1; transform: rotate(-8deg); animation: none; }
.gae-step.is-live .gae-art--winner .ch { opacity: 1; transform: none; animation: gaeClink 3.6s ease-in-out infinite; }
@keyframes gaeSlideIn { to { opacity: 1; transform: rotate(-8deg); } }
@keyframes gaePopIn { to { opacity: 1; transform: none; } }
@keyframes gaeClink { 0%, 60%, 100% { transform: rotate(0); } 68% { transform: rotate(-5deg); } 74% { transform: rotate(3deg); } 80% { transform: rotate(-1deg); } }
@keyframes gaeShades { 0%, 100% { transform: perspective(800px) translateY(0) rotate(0) rotateY(0); } 30% { transform: perspective(800px) translateY(-8px) rotate(-3deg) rotateY(12deg); } 60% { transform: perspective(800px) translateY(-3px) rotate(2deg) rotateY(-8deg); } }
@keyframes gaeSheen { 0%, 15% { transform: translateX(-160%) skewX(-18deg); } 55%, 100% { transform: translateX(360%) skewX(-18deg); } }
@keyframes gaeToast { 0%, 100% { transform: rotate(0); } 18% { transform: rotate(-2.5deg) translateY(-3px); } 34% { transform: rotate(1.5deg); } 46% { transform: rotate(-.8deg); } 56% { transform: rotate(0); } }
@keyframes gaeBubble { 0% { opacity: 0; bottom: 52%; transform: scale(.5); } 12% { opacity: .95; } 50% { transform: translateX(1.5px) scale(.85); } 85% { opacity: .85; } 100% { opacity: 0; bottom: var(--top, 90%); transform: translateX(-1px) scale(1.1); } }
@keyframes gaeCheers { 0%, 55%, 100% { transform: rotate(0) translateX(0); } 64% { transform: rotate(-9deg) translateX(-6px); } 70% { transform: rotate(4deg) translateX(3px); } 76% { transform: rotate(-2deg); } 82% { transform: rotate(0); } }
.gae-art--winner .fizz { position: absolute; left: 66%; top: 6%; width: 0; height: 0; }
.gae-art--winner .fizz i { position: absolute; left: 0; top: 0; width: 6px; height: 6px; border-radius: 50%; background: #f6e7b0; box-shadow: 0 0 6px #fff3c4; opacity: 0; }
.gae-step.is-live .gae-art--winner .fizz i { animation: gaeFizz 3.6s ease-out infinite; }
.gae-art--winner .fizz i:nth-child(1) { --fx: -34px; --fy: -38px; }
.gae-art--winner .fizz i:nth-child(2) { --fx: -10px; --fy: -54px; animation-delay: .05s; }
.gae-art--winner .fizz i:nth-child(3) { --fx: 18px; --fy: -48px; animation-delay: .1s; }
.gae-art--winner .fizz i:nth-child(4) { --fx: 36px; --fy: -26px; animation-delay: .08s; }
.gae-art--winner .fizz i:nth-child(5) { --fx: -26px; --fy: -16px; animation-delay: .12s; }
.gae-art--winner .fizz i:nth-child(6) { --fx: 8px; --fy: -30px; animation-delay: .02s; }
@keyframes gaeFizz { 0%, 66% { opacity: 0; transform: translate(0, 0) scale(.4); } 70% { opacity: 1; } 100% { opacity: 0; transform: translate(var(--fx), var(--fy)) scale(1); } }
.gae-step__text { max-width: 440px; }
.gae-step__text > * { margin-block: 0 !important; }
.gae-step__label { margin-bottom: 12px !important; font: 600 .76rem/1 var(--g-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--g-blue); }
.gae-step__text h3 { margin-bottom: 14px !important; font: 500 clamp(1.9rem, 3vw, 2.4rem)/1.1 var(--g-serif); color: var(--g-navy); }
.gae-step__text p { font-size: 1rem; line-height: 1.75; color: var(--g-ink); }
.gae-step:nth-child(2n) .gae-step__media { order: 2; }
.gae-step:nth-child(2n) .gae-step__text { order: 1; justify-self: end; }
/* the text slides in from the side of the line */
.gae-js .gae-step.gae-reveal { opacity: 1; transform: none; }
.gae-js .gae-step .gae-step__text, .gae-js .gae-step .gae-step__media { opacity: 0; transition: opacity .9s var(--g-ease), transform .9s var(--g-ease); }
.gae-js .gae-step .gae-step__text { transform: translateX(40px); transition-delay: .15s; }
.gae-js .gae-step:nth-child(2n) .gae-step__text { transform: translateX(-40px); }
.gae-js .gae-step .gae-step__media { transform: scale(.92); }
.gae-js .gae-step.is-in .gae-step__text, .gae-js .gae-step.is-in .gae-step__media { opacity: 1; transform: none; }
@media (max-width: 767px) {
	.gae-step::after, .gae-steps__list::before { display: none; }
	.gae-step { grid-template-columns: 1fr; row-gap: 12px; }
	.gae-step__media { min-height: 260px; }
	.gae-step:nth-child(2n) .gae-step__media { order: 0; }
	.gae-step:nth-child(2n) .gae-step__text { order: 0; justify-self: start; }
}

/* Australia is calling: a deck of three scenes that shuffle, each bringing its own props to life */
.gae-call { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 110px); align-items: center; background: var(--g-sand); padding: clamp(90px, 11vw, 160px) max(var(--g-gutter), calc((100vw - 1240px) / 2)) !important; margin: 0 !important; overflow: clip; }
.gae-call > * { margin: 0 !important; }
.gae-call__text > * { margin-block: 0 !important; }
.gae-call__text > * + * { margin-top: 1.4rem !important; }
.gae-call__text p:not(.gae-eyebrow) { font-size: 1.05rem; line-height: 1.75; color: var(--g-ink); max-width: 40ch; }
.gae-call__title { font: 400 clamp(3.2rem, 7vw, 6.6rem)/.9 var(--g-serif) !important; letter-spacing: -.02em; color: var(--g-navy); }
.gae-call__title em { display: block; padding-left: .6em; font-style: italic; color: var(--g-blue); }

.gae-deck { position: relative; width: min(100%, 470px); aspect-ratio: 4 / 5; margin: 0 auto !important; perspective: 1600px; }
.gae-deck > * { margin: 0 !important; }
.gae-bundle--outback { --hold: 7400; } .gae-bundle--harbour { --hold: 7800; } .gae-bundle--coast { --hold: 6400; } .gae-bundle--roadtrip { --hold: 6000; }
.gae-bundle { position: absolute !important; inset: 0; transform-style: preserve-3d; transition: transform 1s cubic-bezier(.6, .05, .25, 1), filter 1s; will-change: transform; }
.gae-bundle__bg { position: absolute !important; inset: 0; overflow: hidden; box-shadow: 0 34px 60px -30px rgba(13,37,64,.6); }
.gae-bundle__bg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); }
.gae-bundle.pos-0 .gae-bundle__bg img { animation: gaeKBdeck 7s ease-out forwards; }
@keyframes gaeKBdeck { from { transform: scale(1.14); } to { transform: scale(1.02); } }
.gae-bundle__label { position: absolute; left: 22px; bottom: 18px; z-index: 2; margin: 0 !important; color: #fff; font: italic 400 1.7rem/1 var(--g-serif); text-shadow: 0 2px 14px rgba(0,0,0,.45); opacity: 0; transform: translateY(10px); transition: opacity .6s .5s, transform .6s .5s; }
.gae-bundle.pos-0 .gae-bundle__label { opacity: 1; transform: none; }
/* stack positions: the scenes waiting behind peek out like a deck of cards */
.gae-bundle.pos-0 { z-index: 3; transform: none; animation: gaeSettle .9s cubic-bezier(.3, 1.4, .5, 1); }
@keyframes gaeSettle { 0% { transform: translate(4%, -3%) rotate(4deg) scale(.96); } 60% { transform: rotate(-1.5deg) scale(1.01); } 100% { transform: none; } }
.gae-deck:hover .gae-bundle.pos-0 { transform: rotate(-1deg) translateY(-6px); transition: transform .5s var(--g-ease); }
.gae-bundle.pos-1 { z-index: 2; transform: translate(6%, -4%) rotate(5deg) scale(.95); filter: brightness(.9) saturate(.85); }
.gae-bundle.pos-3 { z-index: 0; transform: translate(0, -8%) rotate(2deg) scale(.86); filter: brightness(.7) saturate(.6); }
.gae-bundle.pos-2 { z-index: 1; transform: translate(-6%, -6%) rotate(-6deg) scale(.9); filter: brightness(.8) saturate(.7); }
.gae-deck .gae-bundle.is-out { z-index: 4; transform: translateX(-75%) rotate(-14deg) rotateY(18deg); transition-duration: .6s; transition-timing-function: cubic-bezier(.5, 0, .75, .4); }
/* props sit on and around each scene, and only show on the scene in front */
.gae-bp { position: absolute !important; z-index: 3; margin: 0 !important; opacity: 0; transform: translateY(-120px) rotate(-25deg) scale(1.2); transition: opacity .3s; }
.gae-bundle.pos-0 .gae-bp { opacity: 1; transform: none; animation: gaeDrop 1.1s cubic-bezier(.3, .7, .3, 1) both; }
.gae-bundle.pos-0 .gae-bp:nth-of-type(2) { animation-delay: .55s; }
.gae-bundle.pos-0 .gae-bp:nth-of-type(3) { animation-delay: .8s; }
.gae-bundle.pos-0 .gae-bp:nth-of-type(4) { animation-delay: 1.05s; }
@keyframes gaeDrop { 0% { opacity: 0; transform: translateY(-120px) rotate(-25deg) scale(1.2); } 45% { opacity: 1; transform: translateY(8px) rotate(4deg) scale(1.02, .9); } 62% { transform: translateY(-14px) rotate(-3deg) scale(.97, 1.05); } 78% { transform: translateY(3px) rotate(1deg) scale(1.01, .98); } 100% { opacity: 1; transform: none; } }
.gae-bp img { display: block; width: 100%; height: auto; filter: drop-shadow(0 18px 18px rgba(13,37,64,.3)); }
.gae-bp--hat { left: -16%; top: -9%; width: 64%; rotate: -12deg; }
.gae-bp--bottle { right: -12%; bottom: -8%; width: 24%; rotate: 8deg; }
.gae-bp--towel { left: -18%; bottom: -10%; width: 46%; rotate: -6deg; }
.gae-bp--sunscreen { right: -10%; bottom: 4%; width: 23%; rotate: 14deg; }
.gae-bp--shell { left: 22%; bottom: -12%; width: 26%; rotate: -10deg; }
.gae-bp--roo { left: -10%; bottom: -5%; width: 36%; z-index: 4; }
.gae-bp--roo .roo { position: relative; display: block; transform-origin: 50% 100%; }
.gae-bp--roo .roo img { transform: perspective(700px) scaleX(-1); backface-visibility: hidden; }
.gae-bp--roo .roo img.l { position: absolute; left: 0; top: 0; transform: perspective(700px); opacity: 0; }
.gae-bp--roo .puff { position: absolute; left: 20%; bottom: -4%; width: 60%; height: 22%; border-radius: 50%; background: radial-gradient(ellipse, rgba(196,120,70,.55), rgba(196,120,70,0) 68%); opacity: 0; pointer-events: none; }
.gae-bundle--outback .gae-bundle__label { top: 18px; bottom: auto; left: auto; right: 22px; }
.gae-bundle--harbour .gae-bundle__label { top: 18px; bottom: auto; left: auto; right: 22px; }
.gae-bp--pie { left: -10%; bottom: -7%; width: 41%; rotate: -6deg; }
.gae-bp--pie .steam { position: absolute; z-index: 2; left: 26%; right: 34%; top: -34%; height: 70%; pointer-events: none; }
.gae-bp--pie .steam i { position: absolute; bottom: 0; width: 30%; height: 58%; border-radius: 50% 50% 45% 45%; background: radial-gradient(ellipse at 50% 55%, rgba(255,255,255,1), rgba(255,255,255,.55) 40%, rgba(255,255,255,0) 70%); filter: blur(2.5px) drop-shadow(0 0 4px rgba(13,37,64,.45)); opacity: 0; }
.gae-bp--pie .steam i:nth-child(1) { left: 2%; }
.gae-bp--pie .steam i:nth-child(2) { left: 26%; }
.gae-bp--pie .steam i:nth-child(3) { left: 50%; }
.gae-bp--pie .steam i:nth-child(4) { left: 72%; }
.gae-bundle--roadtrip .gae-bundle__label { top: 18px; bottom: auto; }
.gae-critter--dust { left: 30%; top: 46%; width: 40%; height: 20%; }
.gae-critter--dust i { position: absolute; left: 40%; top: 50%; width: 30%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(214,150,96,.55), rgba(214,150,96,0) 70%); opacity: 0; }
.gae-bundle.is-live .gae-critter--dust i { animation: gaeDust 3.2s ease-out infinite; }
.gae-bundle.is-live .gae-critter--dust i:nth-child(2) { animation-delay: 1.1s; }
.gae-bundle.is-live .gae-critter--dust i:nth-child(3) { animation-delay: 2.1s; }
@keyframes gaeDust { 0% { opacity: 0; transform: translate(0, 0) scale(.4); } 20% { opacity: .9; } 100% { opacity: 0; transform: translate(-60%, -40%) scale(2.2); } }
.gae-bp--glasses { left: -10%; top: 7%; width: 50%; rotate: -10deg; }
.gae-bp--champagne { right: -10%; bottom: -8%; width: 29%; rotate: 8deg; }
.gae-bp--glasses .tilt, .gae-bp--champagne .tilt { position: relative; display: block; }
.gae-bp--glasses .sheen { position: absolute; inset: 0; overflow: hidden; pointer-events: none; -webkit-mask: url("../img/aviators.webp") center / 100% 100% no-repeat; mask: url("../img/aviators.webp") center / 100% 100% no-repeat; }
.gae-bp--glasses .sheen::before { content: ""; position: absolute; top: -20%; bottom: -20%; left: 0; width: 34%; transform: translateX(-160%) skewX(-18deg); background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.85) 45%, rgba(255,232,190,.7) 55%, rgba(255,255,255,0)); }
.gae-bp--champagne .bubbles { position: absolute; inset: 0; pointer-events: none; -webkit-mask: url("../img/flutes.webp") center / 100% 100% no-repeat; mask: url("../img/flutes.webp") center / 100% 100% no-repeat; }
.gae-bp--champagne .bubbles i:nth-child(1) { --x: 14%; } .gae-bp--champagne .bubbles i:nth-child(2) { --x: 22%; } .gae-bp--champagne .bubbles i:nth-child(3) { --x: 30%; }
.gae-bp--champagne .bubbles i:nth-child(4) { --x: 18%; } .gae-bp--champagne .bubbles i:nth-child(5) { --x: 26%; } .gae-bp--champagne .bubbles i:nth-child(6) { --x: 33%; }
.gae-bp--champagne .bubbles i:nth-child(7) { --x: 64%; --top: 87%; } .gae-bp--champagne .bubbles i:nth-child(8) { --x: 72%; --top: 87%; } .gae-bp--champagne .bubbles i:nth-child(9) { --x: 80%; --top: 87%; }
.gae-bp--champagne .bubbles i:nth-child(10) { --x: 68%; --top: 87%; } .gae-bp--champagne .bubbles i:nth-child(11) { --x: 76%; --top: 87%; } .gae-bp--champagne .bubbles i:nth-child(12) { --x: 84%; --top: 87%; }
.gae-bp--champagne .bubbles i { position: absolute; bottom: 52%; left: var(--x); width: 5px; height: 5px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, rgba(255,255,255,.75) 55%, rgba(255,255,255,0) 72%); box-shadow: 0 0 3px rgba(255,255,255,.8); opacity: 0; }
.gae-bp--kooka { right: -13%; bottom: -6%; width: 36%; z-index: 4; }
/* Birds flying through the photo: clipped to the card so they cross the sky */
.gae-sky { inset: 0; overflow: hidden; z-index: 1 !important; }
.gae-sky img { position: absolute; display: block; height: auto; opacity: 0; filter: drop-shadow(0 8px 10px rgba(0,0,0,.25)); }
.gae-sky--red img { right: 0; top: 10%; width: 28%; }
.gae-sky--yellow img { left: 0; top: 8%; width: 24%; }
.gae-sky--cockie .fx, .gae-sky--cockie .fy { position: absolute; inset: 0; will-change: transform; }
.gae-sky--cockie img { left: 0; top: 0; width: 24%; transform-origin: 50% 50%; will-change: transform, opacity; }
@media (prefers-reduced-motion: no-preference) {
	.gae-bundle.is-live .gae-bp--kooka img { transform-origin: 55% 92%; animation: gaeKooka 6s ease-in-out .8s infinite; }
	.gae-bundle.is-live .gae-sky--red img { animation: gaeRedFly 7.5s linear .6s forwards; }
	.gae-bundle.is-live .gae-sky--yellow img { animation: gaeFlyLeft 6s linear .8s forwards; }
	.gae-bundle.is-live .gae-sky--cockie .fx { animation: gaeCockX 5.2s linear .5s both; }
	.gae-bundle.is-live .gae-sky--cockie .fy { animation: gaeCockY 5.2s .5s both; }
	.gae-bundle.is-live .gae-sky--cockie img { animation: gaeCockBody 5.2s ease-in-out .5s both; }
}
@keyframes gaeKooka {
	0%, 8%, 60%, 100% { transform: none; }
	12% { transform: rotate(-9deg); }
	15% { transform: rotate(-11deg) translateY(-3px); } 18% { transform: rotate(-8deg); }
	21% { transform: rotate(-11deg) translateY(-3px); } 24% { transform: rotate(-8deg); }
	27% { transform: rotate(-11deg) translateY(-3px); } 30% { transform: rotate(-8deg); }
	33% { transform: rotate(-11deg) translateY(-3px); } 38% { transform: rotate(-6deg); }
	48% { transform: rotate(2deg); } 54% { transform: rotate(-1deg); }
}
@keyframes gaeRedFly { 0% { opacity: 1; transform: translate(130%, 30%) scaleX(-1) rotate(4deg); } 12% { transform: translate(0, 0) scaleX(-1) rotate(-2deg); } 24% { transform: translate(-130%, -15%) scaleX(-1) rotate(3deg); } 36% { opacity: 1; transform: translate(-280%, -40%) scaleX(-1) rotate(-4deg); } 37%, 100% { opacity: 0; transform: translate(-280%, -40%) scaleX(-1); } }
@keyframes gaeFlyLeft { 0% { opacity: 1; transform: translate(430%, 30%) rotate(-4deg); } 18% { transform: translate(250%, 0) rotate(3deg); } 36% { transform: translate(70%, -15%) rotate(-3deg); } 54% { opacity: 1; transform: translate(-120%, -45%) rotate(5deg); } 55%, 100% { opacity: 0; transform: translate(-120%, -45%); } }
/* white cockatoo: drops in from the top middle, banks in a soft arc and leaves to the upper right */
@keyframes gaeCockX { from { transform: translateX(36%); } to { transform: translateX(104%); } }
@keyframes gaeCockY { 0% { transform: translateY(-22%); animation-timing-function: cubic-bezier(.2, .6, .4, 1); } 48% { transform: translateY(13%); animation-timing-function: cubic-bezier(.5, 0, .7, .4); } 100% { transform: translateY(-14%); } }
@keyframes gaeCockBody { 0% { opacity: 0; transform: scale(.62) rotate(-6deg); } 12% { opacity: 1; } 50% { transform: scale(.82) rotate(2deg); } 88% { opacity: 1; } 100% { opacity: 0; transform: scale(.74) rotate(-8deg); } }
/* idle life on the scene in front */
@media (prefers-reduced-motion: no-preference) {
	.gae-bundle.is-live .gae-bp--hat img { transform-origin: 30% 85%; animation: gaeHat 7s ease-in-out .4s infinite; }
	.gae-bundle.is-live .gae-bp--bottle img { transform-origin: 50% 100%; animation: gaeWobble 4.5s ease-in-out infinite; }
	.gae-bundle.is-live .gae-bp--towel img { transform-origin: 50% 100%; animation: gaeBreathe 6s ease-in-out infinite; }
	.gae-bundle.is-live .gae-bp--sunscreen img { transform-origin: 50% 100%; animation: gaeSqueeze 3.8s ease-in-out infinite; }
	.gae-bundle.is-live .gae-bp--shell img { animation: gaeRock 5s ease-in-out infinite; }
	.gae-bundle.is-live .gae-bp--roo .roo { animation: gaeRooTrip 7.5s linear .3s infinite; }
	.gae-bundle.is-live .gae-bp--roo .roo img.r { animation: gaeRooR 7.5s linear .3s infinite; }
	.gae-bundle.is-live .gae-bp--roo .roo img.l { animation: gaeRooL 7.5s linear .3s infinite; }
	.gae-bundle.is-live .gae-bp--roo .puff { animation: gaeRooPuff 7.5s ease-out .3s infinite; }
	.gae-bundle.is-live .gae-bp--pie img { transform-origin: 50% 100%; animation: gaePie 3.6s ease-in-out infinite; }
	.gae-bundle.is-live .gae-bp--pie .steam i { animation: gaeSteam 2.8s ease-out infinite; }
	.gae-bundle.is-live .gae-bp--pie .steam i:nth-child(2) { animation-delay: .7s; }
	.gae-bundle.is-live .gae-bp--pie .steam i:nth-child(3) { animation-delay: 1.4s; }
	.gae-bundle.is-live .gae-bp--pie .steam i:nth-child(4) { animation-delay: 2.1s; }
	.gae-bundle.is-live .gae-bp--glasses .tilt { transform-origin: 50% 60%; animation: gaeShades 6s ease-in-out infinite; }
	.gae-bundle.is-live .gae-bp--glasses .sheen::before { animation: gaeSheen 4.2s ease-in-out .8s infinite; }
	.gae-bundle.is-live .gae-bp--champagne .tilt { transform-origin: 50% 100%; animation: gaeToast 5s ease-in-out .6s infinite; }
	.gae-bundle.is-live .gae-bp--champagne .bubbles i { animation: gaeBubble 2.4s ease-in infinite; }
	.gae-bundle.is-live .gae-bp--champagne .bubbles i:nth-child(3n+1) { animation-delay: .4s; animation-duration: 2.8s; }
	.gae-bundle.is-live .gae-bp--champagne .bubbles i:nth-child(3n+2) { animation-delay: 1.1s; animation-duration: 2.1s; }
	.gae-bundle.is-live .gae-bp--champagne .bubbles i:nth-child(4n) { animation-delay: 1.7s; }
}
@keyframes gaeHat { 0%, 100% { transform: rotate(0) translate(0, 0); } 14% { transform: rotate(10deg) translate(12px, -16px); } 22% { transform: rotate(-4deg) translate(-2px, -4px); } 30% { transform: rotate(3deg); } 38% { transform: rotate(0); } 70% { transform: rotate(-2deg) translateY(-5px); } }
@keyframes gaePie { 0%, 56%, 100% { transform: none; } 8% { transform: scale(1.06, .92); } 18% { transform: translateY(-22px) scale(.96, 1.05) rotate(-4deg); } 28% { transform: translateY(0) scale(1.08, .9); } 34% { transform: translateY(-6px) scale(.99, 1.02) rotate(2deg); } 40% { transform: scale(1.03, .97); } 46% { transform: rotate(-1.5deg); } 52% { transform: rotate(1deg); } }
@keyframes gaeSteam { 0% { opacity: 0; transform: translateY(10%) scale(.5, .6); } 20% { opacity: .9; } 60% { opacity: .55; transform: translate(-12%, -70%) scale(1, 1.2); } 100% { opacity: 0; transform: translate(14%, -150%) scale(1.5, 1.6); } }
@keyframes gaeRooTrip {
	0% { transform: translate(0, 0); }
	4% { transform: translate(0, 0) scale(1.05, .9); }
	9% { transform: translate(22%, -24%) scale(.96, 1.05) rotate(6deg); }
	14% { transform: translate(44%, 0) scale(1.05, .9); }
	19% { transform: translate(66%, -24%) scale(.96, 1.05) rotate(6deg); }
	24% { transform: translate(88%, 0) scale(1.05, .9); }
	29% { transform: translate(110%, -24%) scale(.96, 1.05) rotate(6deg); }
	34% { transform: translate(130%, 0) scale(1.04, .93); }
	37%, 44% { transform: translate(130%, 0); }
	47% { transform: translate(130%, -2%) rotate(-3deg); }
	50% { transform: translate(130%, 0) scale(1.06, .88); }
	53% { transform: translate(130%, -22%) scale(.97, 1.04); }
	56% { transform: translate(130%, 0) scale(1.06, .9); }
	58% { transform: translate(130%, 0); }
	62% { transform: translate(108%, -24%) scale(.96, 1.05) rotate(-6deg); }
	66% { transform: translate(86%, 0) scale(1.05, .9); }
	70% { transform: translate(64%, -24%) scale(.96, 1.05) rotate(-6deg); }
	74% { transform: translate(42%, 0) scale(1.05, .9); }
	78% { transform: translate(20%, -24%) scale(.96, 1.05) rotate(-6deg); }
	82% { transform: translate(0, 0) scale(1.04, .93); }
	85%, 90% { transform: translate(0, 0); }
	93% { transform: translate(0, 0) scale(1.06, .88); }
	96% { transform: translate(0, -22%) scale(.97, 1.04); }
	99% { transform: translate(0, 0) scale(1.06, .9); }
	100% { transform: translate(0, 0); }
}
@keyframes gaeRooR {
	0%, 52% { opacity: 1; transform: perspective(700px) rotateY(0) scaleX(-1); filter: none; }
	52.8% { opacity: .35; transform: perspective(700px) rotateY(38deg) scaleX(-1); filter: blur(2px); }
	53.3%, 94.5% { opacity: 0; transform: perspective(700px) rotateY(-45deg) scaleX(-1); filter: blur(2px); }
	95.3% { opacity: .35; transform: perspective(700px) rotateY(-38deg) scaleX(-1); filter: blur(2px); }
	96.2%, 100% { opacity: 1; transform: perspective(700px) rotateY(0) scaleX(-1); filter: none; }
}
@keyframes gaeRooL {
	0%, 52.5% { opacity: 0; transform: perspective(700px) rotateY(-45deg); filter: blur(2px); }
	53% { opacity: .35; transform: perspective(700px) rotateY(-38deg); filter: blur(2px); }
	53.9%, 94.5% { opacity: 1; transform: perspective(700px) rotateY(0); filter: none; }
	95.3% { opacity: .35; transform: perspective(700px) rotateY(38deg); filter: blur(2px); }
	95.8%, 100% { opacity: 0; transform: perspective(700px) rotateY(45deg); filter: blur(2px); }
}
@keyframes gaeRooPuff { 0%, 55% { opacity: 0; transform: scale(.4); } 56.5% { opacity: 1; transform: scale(.9); } 62% { opacity: 0; transform: scale(1.5); } 63%, 98% { opacity: 0; transform: scale(.4); } 99.5% { opacity: 1; transform: scale(.9); } 100% { opacity: 0; transform: scale(1.3); } }
@keyframes gaeWobble { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(-6deg); } 40% { transform: rotate(4deg); } 55% { transform: rotate(-2deg); } 65% { transform: rotate(0); } }
@keyframes gaeBreathe { 50% { transform: scale(1.025, .985) rotate(-1.5deg); } }
@keyframes gaeSqueeze { 0%, 60%, 100% { transform: scale(1); } 68% { transform: scale(1.05, .93); } 76% { transform: scale(.97, 1.04); } 84% { transform: scale(1); } }
@keyframes gaeRock { 50% { transform: rotate(14deg) translateY(-6px); } }
@keyframes gaeFloat { 50% { transform: translateY(-12px) rotate(3deg); } }
/* sparkles: a glint on the sunglasses, a shimmer of fizz above the champagne */
.gae-bp--glasses::after, .gae-bp--champagne::after { content: ""; position: absolute; width: 34%; aspect-ratio: 1; margin: -17% 0 0 -17%; pointer-events: none; opacity: 0;
	background: radial-gradient(circle, #fff 0 6%, rgba(255,250,235,.85) 9%, rgba(255,235,190,0) 32%), linear-gradient(90deg, transparent 47%, rgba(255,255,255,.95) 50%, transparent 53%), linear-gradient(0deg, transparent 47%, rgba(255,255,255,.95) 50%, transparent 53%);
	-webkit-mask: radial-gradient(circle, #000 30%, transparent 70%); mask: radial-gradient(circle, #000 30%, transparent 70%); }
.gae-bp--glasses::after { left: 70%; top: 34%; }
.gae-bp--champagne::after { left: 50%; top: 4%; width: 44%; }
.gae-bundle.is-live .gae-bp--glasses::after { animation: gaeGlint 3.8s ease-in-out infinite; }
.gae-bundle.is-live .gae-bp--champagne::after { animation: gaeGlint 3.2s ease-in-out .9s infinite; }
@keyframes gaeGlint { 0%, 55% { opacity: 0; transform: scale(.2) rotate(0deg); } 68% { opacity: 1; transform: scale(1) rotate(45deg); } 82%, 100% { opacity: 0; transform: scale(.3) rotate(90deg); } }
/* little scene characters: a kangaroo hops past Uluru, gulls glide over the coast, fireworks over the harbour */
.gae-critter { position: absolute !important; z-index: 2; pointer-events: none; margin: 0 !important; }
.gae-critter--roo { left: 0; bottom: 14%; width: 15%; color: #2a1408; opacity: 0; }
.gae-bundle.is-live .gae-critter--roo { animation: gaeRooPath 9s linear infinite; }
.gae-critter--roo path { transform-origin: 50% 100%; }
.gae-bundle.is-live .gae-critter--roo path { animation: gaeHop .55s ease-in-out infinite; }
@keyframes gaeRooPath { 0% { opacity: 0; transform: translateX(-30%); } 6% { opacity: .85; } 70% { opacity: .85; } 78%, 100% { opacity: 0; transform: translateX(620%); } }
@keyframes gaeHop { 0%, 100% { transform: translateY(0) scale(1, 1); } 15% { transform: translateY(0) scale(1.08, .9); } 50% { transform: translateY(-38%) scale(.96, 1.05); } }
.gae-critter--sun { left: 0; right: 0; top: 0; height: 55%; background: radial-gradient(ellipse at 70% 0%, rgba(255,200,120,.35), transparent 60%); mix-blend-mode: screen; opacity: 0; }
.gae-bundle.is-live .gae-critter--sun { animation: gaeHeat 4s ease-in-out infinite alternate; }
@keyframes gaeHeat { from { opacity: .2; } to { opacity: .7; } }
.gae-critter--fw { inset: 0; overflow: hidden; z-index: 2 !important; }
.gae-critter--fw .night { position: absolute; inset: 0; opacity: 0; background: linear-gradient(180deg, rgba(6,14,34,.86) 0%, rgba(8,20,44,.7) 38%, rgba(10,24,52,.42) 68%, rgba(10,24,52,.22) 100%); }
.gae-critter--fw canvas { position: absolute; inset: 0; width: 100%; height: 100%; mix-blend-mode: screen; }
.gae-bundle.is-live .gae-critter--fw .night { animation: gaeNight 3.2s ease-in-out .2s forwards; }
@keyframes gaeNight { to { opacity: 1; } }
.gae-bundle--harbour .gae-bundle__bg img { transition: filter 3s ease-in-out; }
.gae-bundle--harbour.is-live .gae-bundle__bg img { filter: saturate(.85) brightness(.9); }
.gae-bundle--coast .gae-bundle__label { top: 18px; bottom: auto; }
.gae-deck__dots { position: absolute; left: 0; right: 0; bottom: -54px; display: flex; justify-content: center; gap: 10px; }
.gae-deck__dots i { width: 26px; height: 2px; background: rgba(13,37,64,.2); transition: background .4s, width .4s; }
.gae-deck__dots i.is-on { background: var(--g-navy); width: 44px; }

@media (max-width: 900px) {
	.gae-call { grid-template-columns: 1fr; gap: 90px; }
	.gae-call__text { order: -1; }
	.gae-deck { width: min(78%, 400px); }
}
@media (max-width: 767px) {
	.gae-call { padding: 72px 20px 110px !important; }
	.gae-call__title { font-size: clamp(3.2rem, 16vw, 5rem) !important; }
}

/* Answering the call: ringing phone */
.gae-answer-sec { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(40px, 7vw, 110px); align-items: center; max-width: 1180px; margin: 0 auto !important; padding: clamp(90px, 11vw, 150px) var(--g-gutter) !important; }
.gae-answer-sec > * { margin: 0 !important; }
.gae-phone-wrap { position: relative; display: grid; place-items: center; padding: 110px 0; order: 2; }
.gae-phone { scale: 1.22; }
.gae-phone__rings { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; }
.gae-phone__rings i { position: absolute; width: 360px; height: 360px; border-radius: 50%; border: 1px solid rgba(63,106,153,.35); animation: gaeRings 3.6s ease-out infinite; }
.gae-phone__rings i:nth-child(2) { animation-delay: 1.2s; }
.gae-phone__rings i:nth-child(3) { animation-delay: 2.4s; }
@keyframes gaeRings { from { transform: scale(.6); opacity: 1; } to { transform: scale(1.9); opacity: 0; } }
.gae-phone { position: relative; width: 270px; height: 550px; border-radius: 46px; background: #0b1a2c; padding: 12px; box-shadow: 0 50px 80px -40px rgba(13,37,64,.7), inset 0 0 0 2px #24384f; }
.gae-js .gae-phone-wrap.is-in .gae-phone { animation: gaeBuzz 3.2s ease-in-out .6s infinite; }
@keyframes gaeBuzz { 0%, 30%, 100% { transform: rotate(0); } 2%, 6%, 10%, 14%, 18% { transform: rotate(-3deg) translateX(-2px); } 4%, 8%, 12%, 16%, 20% { transform: rotate(3deg) translateX(2px); } }
.gae-phone__notch { position: absolute; top: 20px; left: 50%; width: 90px; height: 24px; margin-left: -45px; border-radius: 14px; background: #0b1a2c; z-index: 2; }
.gae-phone__screen { position: relative; height: 100%; border-radius: 36px; overflow: hidden; display: flex; flex-direction: column; align-items: center; padding: 70px 22px 34px; color: #fff; text-align: center; background: linear-gradient(180deg, rgba(13,37,64,.5) 0%, rgba(13,37,64,.18) 34%, rgba(13,37,64,.05) 55%, rgba(13,37,64,.75) 100%), url("../img/phone-opera-bridge.webp") 50% 55% / cover; }
.gae-phone__screen p { margin: 0; }
.gae-phone__status { font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; opacity: .8; }
.gae-phone__avatar { width: 84px; height: 84px; border-radius: 50%; margin: 26px 0 16px; display: grid; place-items: center; background: rgba(251,248,242,.18); backdrop-filter: blur(6px); box-shadow: 0 0 0 6px rgba(251,248,242,.08); color: var(--g-ivory); }
.gae-phone__avatar svg { width: 54px; height: 54px; margin-top: 2px; filter: drop-shadow(0 2px 6px rgba(13,37,64,.35)); }
.gae-phone__name { font-family: var(--g-serif); font-size: 2.4rem; line-height: 1.05; }
.gae-phone__sub { font-size: .8rem; opacity: .8; margin-top: 6px !important; }
.gae-phone__actions { margin-top: auto; width: 100%; display: flex; justify-content: space-around; }
.gae-phone__btn { width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; color: #fff; }
.gae-phone__btn svg { width: 28px; height: 28px; }
.gae-phone__btn--no { background: #d9534f; }
.gae-phone__btn--yes { background: #34a853; animation: gaeYes 1.6s ease-in-out infinite; }
@keyframes gaeYes { 0%, 100% { box-shadow: 0 0 0 0 rgba(52,168,83,.6); transform: translateY(0); } 50% { box-shadow: 0 0 0 16px rgba(52,168,83,0); transform: translateY(-5px); } }
.gae-phone__slide { margin-top: 22px !important; font-size: .8rem; letter-spacing: .08em; }
.gae-phone__slide span { background: linear-gradient(90deg, rgba(255,255,255,.35) 0%, #fff 50%, rgba(255,255,255,.35) 100%) 0 0 / 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gaeSlideTxt 2.4s linear infinite; }
@keyframes gaeSlideTxt { to { background-position: -200% 0; } }
.gae-answer-sec__text > * { margin-block: 0 !important; }
.gae-answer-sec__text > * + * { margin-top: 1.2rem !important; }
.gae-answer-sec__title { font-size: clamp(3rem, 5.6vw, 4.8rem); line-height: 1; }
.gae-answer-step { position: relative; padding: 4px 0 4px 64px; counter-increment: gae-answer; }
.gae-answer-sec__text { counter-reset: gae-answer; }
.gae-answer-step::before { content: counter(gae-answer, decimal-leading-zero); position: absolute; left: 0; top: 0; font: 300 2.4rem/1 var(--g-serif); color: #8FACCE; }
.gae-answer-step > * { margin-block: 0 !important; }
.gae-answer-step h3 { font-size: 1.7rem; font-weight: 500; margin-bottom: .4rem !important; }
.gae-answer-step p { font-size: .95rem; }
@media (max-width: 860px) { .gae-answer-sec { grid-template-columns: 1fr; } .gae-phone-wrap { order: 0; padding: 70px 0; } .gae-phone { scale: 1.08; } }

.gae-ring { display: flex; align-items: center; gap: 12px; font: 600 .76rem/1 var(--g-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--g-blue); }
.gae-ring::before { content: ""; flex: none; width: 9px; height: 9px; border-radius: 50%; background: #34a853; box-shadow: 0 0 0 0 rgba(52,168,83,.5); animation: gaeRingDot 1.4s ease-out infinite; }
@keyframes gaeRingDot { 0% { box-shadow: 0 0 0 0 rgba(52,168,83,.55); } 100% { box-shadow: 0 0 0 12px rgba(52,168,83,0); } }
.gae-answer-sec__title em { font-style: italic; color: var(--g-blue); }
.gae-answer-sec__lead { font-size: 1.05rem; line-height: 1.7; color: var(--g-ink); max-width: 46ch; padding-bottom: .6rem; border-bottom: 1px solid rgba(13,37,64,.14); margin-bottom: .4rem !important; }
a.gae-phone__btn { text-decoration: none; pointer-events: auto; cursor: pointer; }
a.gae-phone__btn:hover { animation-play-state: paused; transform: scale(1.08); }

/* Postcards from Australia: landscape cards drifting by; tap one and it turns over to tell its story */
.gae-postcards { background: var(--g-beige); padding: clamp(80px, 10vw, 130px) 0 !important; margin: 0 !important; overflow: hidden; }
.gae-postcards .gae-section-head { padding: 0 var(--g-gutter); }
.gae-postcards__track { display: flex; align-items: flex-start; gap: 40px; width: max-content; padding: 30px 0 60px; margin: 0 !important; animation: gaeStrip 90s linear infinite; }
.gae-postcards__track:hover, .gae-postcards.is-open .gae-postcards__track { animation-play-state: paused; }
@keyframes gaeStrip { to { transform: translateX(-50%); } }
@media (max-width: 700px) { .gae-postcards__track { gap: 22px; padding: 20px 0 44px; animation-duration: 70s; } .gae-pc { width: 76vw !important; padding: 9px; } .gae-pc__title { left: 22px; bottom: 20px; font-size: 1.45rem !important; } .gae-pc .gae-pc__hint { opacity: 1; right: 18px; bottom: 18px; } }
.gae-pc { position: relative; flex: none; width: clamp(280px, 30vw, 420px); margin: 0 !important; background: #fff; padding: 12px; cursor: pointer; box-shadow: 0 26px 44px -26px rgba(13,37,64,.5), 0 2px 6px rgba(13,37,64,.06); transform: rotate(var(--r, -2deg)); transition: transform .5s var(--g-ease), box-shadow .5s; }
.gae-pc:nth-child(3n+2) { --r: 2deg; margin-top: 30px !important; }
.gae-pc:nth-child(3n) { --r: -1deg; margin-top: 12px !important; }
.gae-pc:hover, .gae-pc:focus-visible { transform: rotate(0) translateY(-10px) scale(1.03); box-shadow: 0 36px 54px -26px rgba(13,37,64,.55); outline: none; }
.gae-pc > * { margin: 0 !important; }
.gae-pc__img img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--g-mist); }
.gae-pc__title { position: absolute !important; left: 28px; bottom: 26px; color: #fff !important; font: italic 400 clamp(1.5rem, 2vw, 2rem)/1 var(--g-serif) !important; text-shadow: 0 2px 16px rgba(0,0,0,.5); }
.gae-pc__title::before { content: "Greetings from"; display: block; margin-bottom: 4px; font: 600 .62rem/1 var(--g-sans); letter-spacing: .28em; text-transform: uppercase; font-style: normal; }
.gae-pc__text { display: none; }
.gae-pc .gae-pc__hint { position: absolute; right: 24px; bottom: 24px; font: 600 .62rem/1 var(--g-sans); letter-spacing: .2em; text-transform: uppercase; color: #fff; background: rgba(13,37,64,.55); padding: 8px 10px; opacity: 0; transition: opacity .3s; }
.gae-pc:hover .gae-pc__hint { opacity: 1; }

/* The pop up postcard: front flips to reveal the written back */
.gae-pcm { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; }
.gae-pcm[hidden] { display: none; }
.gae-pcm__shade { position: absolute; inset: 0; background: rgba(13,37,64,.6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; transition: opacity .4s; }
.gae-pcm.is-open .gae-pcm__shade { opacity: 1; }
.gae-pcm__card { position: relative; width: min(860px, 100%); aspect-ratio: 3 / 2; perspective: 2000px; transform: translateY(40px) scale(.9); opacity: 0; transition: transform .5s var(--g-ease), opacity .4s; }
.gae-pcm.is-open .gae-pcm__card { transform: none; opacity: 1; }
.gae-pcm__inner { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform 1s cubic-bezier(.5, 0, .2, 1) .25s; }
.gae-pcm.is-open .gae-pcm__inner { transform: rotateY(180deg); }
.gae-pcm__front, .gae-pcm__back { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; background: #fff; box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); }
.gae-pcm__front { padding: 14px; display: flex; flex-direction: column; }
.gae-pcm__front img { width: 100%; height: 100%; min-height: 0; flex: 1; object-fit: cover; }
.gae-pcm__cap { display: none; }
.gae-pcm__back { transform: rotateY(180deg); display: grid; grid-template-columns: 1.3fr 1fr; background: #fbf8f2; background-image: repeating-linear-gradient(0deg, rgba(13,37,64,.025) 0 1px, transparent 1px 4px); }
.gae-pcm__msg { padding: clamp(24px, 4vw, 48px); border-right: 1.5px solid rgba(13,37,64,.18); display: flex; flex-direction: column; justify-content: center; gap: 14px; overflow: auto; }
.gae-pcm__msg p, .gae-pcm__msg h3 { margin: 0; }
.gae-pcm__greet { font: 600 .66rem/1 var(--g-sans); letter-spacing: .26em; text-transform: uppercase; color: var(--g-blue); }
.gae-pcm__title { font: italic 400 clamp(2rem, 4vw, 3rem)/1 var(--g-serif); color: var(--g-navy); }
.gae-pcm__text { font: italic 400 clamp(1.05rem, 1.6vw, 1.3rem)/1.5 var(--g-serif); color: var(--g-ink); }
.gae-pcm__msg .gae-btn { align-self: flex-start; margin-top: 8px; }
.gae-pcm__addr { position: relative; padding: clamp(24px, 4vw, 44px); display: flex; flex-direction: column; justify-content: flex-end; gap: 22px; }
.gae-pcm__addr i { display: block; height: 1.5px; background: rgba(13,37,64,.22); }
.gae-pcm__addr p { position: absolute; left: clamp(24px, 4vw, 44px); bottom: calc(clamp(24px, 4vw, 44px) + 76px); margin: 0; font: italic 400 1.5rem/1 var(--g-serif); color: var(--g-navy); }
.gae-pcm__stamp { position: absolute; right: 26px; top: 24px; width: 82px; height: 98px; background: url("../img/stamp-koala.webp") center / contain no-repeat; filter: drop-shadow(0 2px 3px rgba(0,0,0,.18)); }
.gae-pcm__postmark { position: absolute; right: 86px; top: 78px; width: 84px; height: 84px; border-radius: 50%; border: 2px solid rgba(13,37,64,.45); display: grid; place-items: center; font: 600 .56rem/1 var(--g-sans); letter-spacing: .14em; color: rgba(13,37,64,.6); rotate: -14deg; }
.gae-pcm__postmark::after { content: ""; position: absolute; left: 70%; top: 30%; width: 70px; height: 34px; background: repeating-linear-gradient(0deg, transparent 0 6px, rgba(13,37,64,.4) 6px 7.5px); border-radius: 40%; }
.gae-pcm__close { position: absolute; top: -18px; right: -18px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--g-ivory); color: var(--g-navy); font-size: 1.7rem; line-height: 1; cursor: pointer; box-shadow: 0 8px 20px -6px rgba(0,0,0,.4); z-index: 2; }
@media (max-width: 700px) {
	.gae-pcm { padding: 28px 16px; }
	.gae-pcm__card { aspect-ratio: auto; height: min(76vh, 600px); }
	.gae-pcm__front { padding: 10px 10px 0; }
	.gae-pcm__front img { flex: none; height: auto; aspect-ratio: 4 / 3; }
	.gae-pcm__cap { display: flex; flex: 1; flex-direction: column; justify-content: center; gap: 8px; padding: 18px 12px; text-align: center; }
	.gae-pcm__cap small { font: 600 .62rem/1 var(--g-sans); letter-spacing: .28em; text-transform: uppercase; color: var(--g-blue); }
	.gae-pcm__cap strong { font: italic 400 2.2rem/1 var(--g-serif); color: var(--g-navy); }
	.gae-pcm__back { grid-template-columns: 1fr; grid-template-rows: auto 120px; }
	.gae-pcm__msg { border-right: 0; border-bottom: 1.5px solid rgba(13,37,64,.18); }
	.gae-pcm__addr i, .gae-pcm__addr p { display: none; }
	.gae-pcm__postmark { right: 92px; top: 26px; }
	.gae-pcm__close { top: -14px; right: -6px; }
}

/* Ready to enter banner */
.gae-banner { position: relative; display: flex; align-items: flex-start; min-height: min(78vh, 740px); overflow: hidden; padding: clamp(40px, 7vw, 110px) clamp(20px, 6vw, 100px) !important; margin: 0 !important; }
.gae-banner > * { margin: 0 !important; }
.gae-banner__bg { position: absolute !important; inset: -10% 0; }
.gae-banner__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 75%; transform: translate3d(0, var(--py, 0px), 0); }
.gae-banner__card { position: relative; z-index: 1; background: rgba(251,248,242,.8); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: clamp(30px, 4vw, 48px) clamp(28px, 4.5vw, 56px); max-width: min(100%, 470px); }
.gae-banner__card > * { margin-block: 0 !important; }
.gae-banner__card h2 { margin-bottom: 26px !important; font-size: clamp(2.2rem, 4.4vw, 3.4rem); line-height: 1.05; }

/* Trust strip */
.gae-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 4vw, 50px); max-width: 1240px; margin: 0 auto !important; padding: clamp(70px, 9vw, 110px) var(--g-gutter) !important; }
.gae-trust__item { margin: 0 !important; padding-top: 26px; border-top: 1px solid rgba(13,37,64,.18); }
.gae-trust__item > * { margin-block: 0 !important; }
.gae-trust__item > * + * { margin-top: .8rem !important; }
.gae-trust__item h3 { font-size: 1.7rem; }
.gae-trust__item p { font-size: .9rem; }
.gae-trust__ico { width: 46px; height: 46px; fill: none; stroke: var(--g-blue); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 800px) { .gae-trust { grid-template-columns: 1fr; } }

/* Finale: panel sits in the sky, clear of the ledge and the sunset */
.gae-finale { position: relative; min-height: min(94vh, 920px); display: flex; align-items: flex-end; overflow: hidden; padding: clamp(60px, 8vw, 120px) clamp(44px, 7vw, 120px) !important; margin: 0 !important; background: var(--g-navy); color: var(--g-ivory); isolation: isolate; }
.gae-finale > * { margin: 0 !important; }
.gae-finale__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.gae-finale__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: contrast(1.07) saturate(1.06); }
/* film grain: a fine neutral texture that jitters like 35mm stock; it adds no light or shade, only texture */
.gae-finale__grain { position: absolute; inset: -50%; pointer-events: none; opacity: .09; mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	animation: gaeGrain .9s steps(6) infinite; }
@keyframes gaeGrain { 0% { transform: translate(0, 0); } 17% { transform: translate(-6%, 4%); } 33% { transform: translate(5%, -7%); } 50% { transform: translate(-3%, 8%); } 67% { transform: translate(8%, 2%); } 83% { transform: translate(-7%, -4%); } 100% { transform: translate(2%, 6%); } }
/* a soft fall of shade only where the words sit, so the film stays clear everywhere else */
.gae-finale__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,20,40,.72) 0%, rgba(8,20,40,.38) 30%, rgba(8,20,40,0) 58%), radial-gradient(ellipse 70% 60% at 0% 100%, rgba(8,20,40,.55), rgba(8,20,40,0) 70%); }
.gae-finale__panel { position: relative; z-index: 2; max-width: 620px; text-align: left; }
.gae-finale__panel > * { margin-block: 0 !important; }
.gae-finale__eyebrow { display: flex; align-items: center; gap: 16px; font: 600 .7rem/1 var(--g-sans); letter-spacing: .32em; text-transform: uppercase; color: rgba(251,248,242,.88); }
.gae-finale__eyebrow::before { content: ""; width: 44px; height: 1px; background: var(--g-gold); }
.gae-finale__title { margin-top: 18px !important; font: 400 clamp(2.8rem, 6vw, 5.4rem)/.98 var(--g-serif) !important; color: var(--g-ivory) !important; letter-spacing: -.01em; text-shadow: 0 2px 30px rgba(8,20,40,.35); }
.gae-finale__title em { display: block; font-style: italic; color: #f1dcae; }
.gae-finale__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 30px; margin-top: 34px !important; }
.gae-finale__cta { display: inline-block; padding: 1.2em 3em; background: var(--g-ivory); color: var(--g-navy); font: 600 .74rem/1 var(--g-sans); letter-spacing: .24em; text-transform: uppercase; text-decoration: none; transition: background .35s, color .35s, transform .35s var(--g-ease); }
.gae-finale__cta:hover, .gae-finale__cta:focus-visible { background: #f1dcae; color: var(--g-navy); transform: translateY(-2px); }
.gae-finale__link { position: relative; color: var(--g-ivory); font: 600 .72rem/1 var(--g-sans); letter-spacing: .24em; text-transform: uppercase; text-decoration: none; padding-bottom: 8px; }
.gae-finale__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform-origin: left; transform: scaleX(.35); transition: transform .45s var(--g-ease); }
.gae-finale__link:hover::after, .gae-finale__link:focus-visible::after { transform: scaleX(1); }
.gae-finale__toggle { position: absolute; z-index: 3; right: clamp(34px, 4.4vw, 56px); bottom: clamp(34px, 4.4vw, 56px); width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(251,248,242,.55); background: rgba(8,20,40,.25); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); cursor: pointer; display: grid; place-items: center; transition: background .3s, border-color .3s; }
.gae-finale__toggle:hover { background: rgba(8,20,40,.5); border-color: var(--g-ivory); }
.gae-finale__toggle .i-pause { width: 10px; height: 12px; border-left: 3px solid var(--g-ivory); border-right: 3px solid var(--g-ivory); }
.gae-finale__toggle .i-play { display: none; width: 0; height: 0; margin-left: 3px; border-left: 11px solid var(--g-ivory); border-top: 7px solid transparent; border-bottom: 7px solid transparent; }
.gae-finale.is-paused .gae-finale__toggle .i-pause { display: none; }
.gae-finale.is-paused .gae-finale__toggle .i-play { display: block; }
@media (max-width: 700px) {
	.gae-finale { min-height: 88svh; padding: 0 34px 92px !important; }
	.gae-finale__shade { background: linear-gradient(0deg, rgba(8,20,40,.8) 0%, rgba(8,20,40,.45) 34%, rgba(8,20,40,0) 62%); }
	.gae-finale__title { font-size: 2.7rem !important; }
	.gae-finale__actions { gap: 22px; margin-top: 26px !important; }
	.gae-finale__cta { padding: 1.15em 2.4em; }
	.gae-finale__toggle { right: 30px; bottom: 30px; width: 40px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) { .gae-finale__grain { animation: none; } }

/* Footer: logo on the right, the plane flies the footer, circles the logo and lands in Australia */
.gae-footer { position: relative; background: var(--g-navy); color: rgba(251,248,242,.8); padding: 110px var(--g-gutter) 34px !important; margin: 0 !important; overflow: hidden; }
.gae-footer a { color: var(--g-ivory); text-decoration: none; }
.gae-footer a:hover { color: var(--g-sand); }
.gae-footer h3, .gae-footer h4 { color: var(--g-ivory); }
.gae-footer h4 { font-family: var(--g-sans); font-size: .72rem; letter-spacing: .28em; text-transform: uppercase; font-weight: 600; color: var(--g-sand); }
.gae-footer__title { font-size: 2.2rem; }
.gae-footer__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 40px; align-items: start; max-width: 1240px; margin: 0 auto !important; }
.gae-footer__grid > * { margin: 0 !important; }
.gae-footer__brand > * { margin-block: 0 !important; }
.gae-footer__brand > * + * { margin-top: 1rem !important; }
.gae-footer__grid p { font-size: .88rem; line-height: 2; }
.gae-footer__age { font-size: .75rem !important; letter-spacing: .1em; color: var(--g-sand); }
.gae-footer__logo { justify-self: end; width: min(100%, 230px); }
.gae-footer__logo img { display: block; width: 100%; height: auto; filter: brightness(0) invert(1); transition: filter .6s; }
.gae-footer__logo.is-landed img { animation: gaeLand 1.6s ease-out; }
@keyframes gaeLand { 0% { filter: brightness(0) invert(1); } 25% { filter: brightness(0) invert(1) drop-shadow(0 0 18px rgba(236,227,211,.9)); } 100% { filter: brightness(0) invert(1); } }
.gae-footer__legal { position: relative; z-index: 2; max-width: 1240px; margin: 60px auto 0 !important; padding-top: 24px; border-top: 1px solid rgba(251,248,242,.14); font-size: .72rem; opacity: .7; text-align: center; }
.gae-social .wp-social-link { color: var(--g-ivory); }
.gae-flight { position: absolute !important; inset: 0; z-index: 3; pointer-events: none; margin: 0 !important; }
.gae-flight__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.gae-flight__guide { fill: none; stroke: rgba(236,227,211,.16); stroke-width: 1.2; stroke-dasharray: 3 9; }
.gae-flight__trail { fill: none; stroke: rgba(236,227,211,.55); stroke-width: 1.4; stroke-linecap: round; stroke-dasharray: 2 7; }
.gae-flight__plane { position: absolute; left: 0; top: 0; width: 28px; height: 28px; margin: -14px 0 0 -14px; color: var(--g-sand); filter: drop-shadow(0 4px 6px rgba(0,0,0,.35)); will-change: transform; opacity: 0; }
.gae-flight__plane svg { display: block; width: 100%; height: 100%; }
@media (max-width: 900px) { .gae-footer__grid { grid-template-columns: 1fr 1fr; } .gae-footer__logo { justify-self: start; width: 180px; } }
@media (max-width: 560px) { .gae-footer__grid { grid-template-columns: 1fr; } .gae-footer__logo { justify-self: center; width: 170px; order: -1; } }

/* Inner pages */
.gae-page { padding: 150px var(--g-gutter) 100px !important; }
.gae-page__title { font-size: clamp(2.6rem, 5vw, 4rem); margin-bottom: 2rem !important; }
.gae-page--wide { padding-top: 110px !important; }

/* WooCommerce touches */
.woocommerce .wc-block-components-button, .woocommerce a.button, .woocommerce button.button { border-radius: 0 !important; background: var(--g-navy) !important; color: var(--g-ivory) !important; letter-spacing: .16em; text-transform: uppercase; font-size: .76rem !important; }

/* Scroll reveal: only hides content once JavaScript is running */
.gae-js .gae-reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--g-ease), transform 1s var(--g-ease); transition-delay: var(--d, 0s); }
.gae-js .gae-reveal.is-in { opacity: 1; transform: none; }

/* Editor: keep everything visible and static */
.editor-styles-wrapper .gae-header { position: absolute; top: 0; left: 0; right: 0; }
.editor-styles-wrapper .wp-block-template-part:has(.gae-header) { position: relative; z-index: 20; height: 0; }
.editor-styles-wrapper .gae-main, .editor-styles-wrapper .gae-hero { margin-top: 0 !important; }
.editor-styles-wrapper .gae-hero__slides .gae-slide:not(:first-child) { display: none; }
.editor-styles-wrapper .gae-postcards__track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; }
.editor-styles-wrapper .gae-art .pp-cover { opacity: 0; }
.editor-styles-wrapper .gae-call img { animation: none !important; }
.editor-styles-wrapper .gae-flight { display: none; }
.editor-styles-wrapper .gae-bundle { position: relative !important; transform: none !important; filter: none !important; margin-bottom: 20px !important; }
.editor-styles-wrapper .gae-deck { aspect-ratio: auto; }
.editor-styles-wrapper .gae-bundle__bg { position: relative !important; aspect-ratio: 4 / 5; }
.editor-styles-wrapper .gae-bp { opacity: 1 !important; transform: none !important; }
.editor-styles-wrapper .gae-pc__text { display: block; }
.editor-styles-wrapper .gae-art img { opacity: 1 !important; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.gae-js .gae-reveal, .gae-js .gae-step .gae-step__text, .gae-js .gae-step .gae-step__media { opacity: 1; transform: none; }
	.gae-marquee__track, .gae-postcards__track { animation: none; }
	.gae-flight__plane { display: none; }
}

/* ---------- Mobile polish (1.9.4) ---------- */
.gae-postcards__bar, .gae-postcards__swipe { display: none; }
@media (max-width: 860px) {
	/* postcards become a swipeable strip with snap points */
	.gae-postcards__track { animation: none !important; width: auto; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 26px var(--g-gutter) 40px; scroll-padding-inline: var(--g-gutter); gap: 20px; }
	.gae-postcards__track::-webkit-scrollbar { display: none; }
	.gae-pc[aria-hidden="true"] { display: none; }
	.gae-pc { scroll-snap-align: center; width: 78vw !important; }
	.gae-pc:nth-child(3n+2), .gae-pc:nth-child(3n) { margin-top: 0 !important; }
	.gae-postcards__bar { display: block; position: relative; height: 2px; margin: 0 var(--g-gutter) !important; background: rgba(13,37,64,.12); }
	.gae-postcards__bar i { position: absolute; top: 0; height: 100%; left: var(--l, 0%); width: var(--w, 20%); background: var(--g-navy); }
	.gae-postcards__swipe { display: block; margin-top: .6rem !important; font: 600 .66rem/1 var(--g-sans); letter-spacing: .26em; text-transform: uppercase; color: var(--g-blue); }
}
@media (max-width: 700px) {
	:root { --g-gutter: 26px; }
	/* one shared left edge for every section */
	.gae-steps { padding-left: var(--g-gutter) !important; padding-right: var(--g-gutter) !important; }
	.gae-call { padding: 72px var(--g-gutter) 110px !important; }
	.gae-banner { padding-left: var(--g-gutter) !important; padding-right: var(--g-gutter) !important; }
	.gae-finale { padding: 0 var(--g-gutter) 92px !important; }
	.gae-section-head { padding-inline: 0 !important; }
	/* intro: a window of beach above the panel */
	.gae-intro { align-items: flex-end; min-height: 0; padding: 62vw var(--g-gutter) 40px !important; }
	.gae-intro__bg { inset: -2% 0 -20% 0; }
	.gae-intro__bg img { object-position: 18% 0; }
	.gae-intro__panel { margin-left: 0 !important; padding: 30px 26px; background: rgba(251,248,242,.9); }
	.gae-intro__title { font-size: 2.6rem; }
	/* hero lettering sits comfortably inside the frame */
	.gae-hero__title { letter-spacing: .1em; }
	/* postcard pop up: stamp and postmark top right, message flows beneath */
	.gae-pcm__card { height: min(68vh, 520px); }
	.gae-pcm__back { grid-template-columns: 1fr; grid-template-rows: 1fr; }
	.gae-pcm__msg { border: 0; padding: 136px 26px 30px; justify-content: flex-start; gap: 12px; }
	.gae-pcm__addr { position: absolute; inset: 0; padding: 0; pointer-events: none; }
	.gae-pcm__stamp { right: 22px; top: 22px; width: 66px; height: 80px; }
	.gae-pcm__postmark { right: 66px; top: 50px; width: 66px; height: 66px; font-size: .5rem; }
	.gae-pcm__postmark::after { width: 54px; height: 26px; }
	.gae-pcm__title { font-size: 2.2rem; }
	.gae-pcm__text { font-size: 1.08rem; }
	/* trust strip becomes three tidy cards */
	.gae-trust { gap: 16px; padding: 64px var(--g-gutter) !important; background: var(--g-beige); max-width: none; }
	.gae-trust__item { display: grid; grid-template-columns: 54px 1fr; column-gap: 18px; align-items: center; padding: 24px 22px 26px; border: 0; border-top: 2px solid var(--g-gold); background: #fff; box-shadow: 0 20px 40px -28px rgba(13,37,64,.4); }
	.gae-trust__item > * + * { margin-top: 0 !important; }
	.gae-trust__ico { grid-row: 1; width: 54px; height: 54px; padding: 13px; border-radius: 50%; background: var(--g-mist); stroke-width: 2; }
	.gae-trust__item h3 { grid-column: 2; font-size: 1.45rem; line-height: 1.1; }
	.gae-trust__item p { grid-column: 1 / -1; margin-top: 14px !important; font-size: .92rem; line-height: 1.65; }
}

/* ---------- 1.9.5 ---------- */
.gae-br-m { display: none; }
.gae-hero__title { font-weight: 600; text-shadow: 0 .03em .12em rgba(13,37,64,.55), 0 0 .5em rgba(13,37,64,.35), 0 0 1.2em rgba(13,37,64,.2); }
.gae-intro__bg { background: #c9a77c; }
@media (max-width: 700px) {
	.gae-intro__bg { inset: -2% 0 -24% 0; background: #c9a77c; }
	.gae-intro__bg img { transform: none !important; will-change: auto; }
	.gae-hero__title { font-weight: 700; letter-spacing: .06em; text-shadow: 0 .03em .1em rgba(13,37,64,.7), 0 0 .45em rgba(13,37,64,.45), 0 0 1.1em rgba(13,37,64,.3); }
	.gae-hero__line { padding-left: .06em; }
	.gae-br-m { display: block; }
	.gae-title-em { display: block; font-style: italic; font-weight: 400; font-size: 1.12em; line-height: 1.05; margin-top: .06em; color: var(--g-blue); }
	.gae-title-em::after { content: ""; display: block; width: 44px; height: 2px; background: var(--g-gold); margin: .5rem auto 0; }
	/* intro panel refresh */
	.gae-intro__panel { text-align: center; padding: 34px 26px 28px; }
	.gae-intro__panel > * { margin-top: 0 !important; margin-bottom: 0 !important; }
	.gae-intro__panel .gae-eyebrow { display: block; font-size: .64rem; letter-spacing: .24em; line-height: 1.7; margin-bottom: 14px !important; }
	.gae-intro__title { font-size: 2.5rem; line-height: 1.04; margin-bottom: 16px !important; }
	.gae-intro__lead { font-size: 1rem; line-height: 1.7; margin-bottom: 26px !important; }
	.gae-intro__panel .wp-block-buttons { display: grid !important; grid-template-columns: 1fr; gap: 12px; margin-bottom: 0 !important; }
	.gae-intro__panel .wp-block-button { width: 100%; margin: 0 !important; }
	.gae-intro__panel .wp-block-button__link { display: block; width: 100%; box-sizing: border-box; text-align: center; padding: 16px 20px; }
	.gae-intro__note { margin-top: 22px !important; padding-top: 18px; border-top: 1px solid rgba(13,37,64,.14); font-size: .82rem; line-height: 1.6; }
}
.gae-intro__note a { color: var(--g-blue); text-decoration: underline; text-decoration-color: var(--g-gold); text-underline-offset: 3px; font-weight: 600; }

/* ---------- 1.9.6 ---------- */
/* hero: Enter Now sits on the white base of the polaroid (photos are 1920x1080, polaroid base centred 232px below middle) */
.gae-hero__cta { top: calc(50% + 232px * var(--gs)); bottom: auto; transform: translateY(-50%); }
.gae-hero__cta .gae-btn { font-size: clamp(.6rem, calc(15px * var(--gs)), .8rem); padding: 1em 2.4em; box-shadow: none; }
/* centred buttons and panels */
.gae-banner__card { text-align: center; }
.gae-banner__card .wp-block-buttons { justify-content: center; }
.gae-answer-sec .wp-block-buttons { justify-content: center; }
/* Australia is calling: swipe and tap controls */
.gae-deck { touch-action: pan-y; cursor: grab; -webkit-user-select: none; user-select: none; }
.gae-deck.is-drag { cursor: grabbing; }
.gae-deck__nav { position: absolute; left: 50%; bottom: -74px; transform: translateX(-50%); width: 230px; display: flex; justify-content: space-between; align-items: center; z-index: 6; }
.gae-deck__nav button { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(13,37,64,.28); background: rgba(251,248,242,.85); color: var(--g-navy); cursor: pointer; display: grid; place-items: center; padding: 0; transition: background .3s, color .3s, border-color .3s; }
.gae-deck__nav button:hover { background: var(--g-navy); color: #fff; border-color: var(--g-navy); }
.gae-deck__nav svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.gae-deck__dots { bottom: -54px; pointer-events: none; }
@media (max-width: 900px) { .gae-call { padding-bottom: 150px !important; } }
@media (max-width: 700px) { .gae-call__text .wp-block-buttons, .gae-featured .wp-block-buttons { justify-content: center; } .gae-call__text .wp-block-button, .gae-featured .wp-block-button { width: 100%; } .gae-call__text .wp-block-button__link, .gae-featured .wp-block-button__link { display: block; width: 100%; text-align: center; } }
/* hero button: white with dark writing */
.gae-hero__cta .gae-btn { background: #fff; color: var(--g-navy); border-color: rgba(13,37,64,.1); box-shadow: 0 5px 14px -8px rgba(13,37,64,.3); }
.gae-hero__cta .gae-btn:hover { background: var(--g-mist); color: var(--g-navy); border-color: rgba(13,37,64,.1); }
@media (min-width: 701px) { .gae-hero__title { text-shadow: 0 .02em .1em rgba(13,37,64,.6), 0 0 .38em rgba(13,37,64,.42), 0 0 1.1em rgba(13,37,64,.3); } }
/* no slider lines */
.gae-hero__dots, .gae-deck__dots { display: none !important; }
.gae-deck__nav { width: 120px; bottom: -64px; }
/* ocean banner: open water, no box */
.gae-banner { justify-content: center; align-items: flex-start; text-align: center; min-height: min(82vh, 780px); padding: clamp(64px, 9vw, 130px) var(--g-gutter) !important; }
.gae-banner::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(8,48,66,.66) 0%, rgba(8,48,66,.4) 30%, rgba(8,48,66,0) 62%); }
.gae-banner__content { position: relative; z-index: 2; max-width: 640px; color: #fff; }
.gae-banner__content > * { margin-block: 0 !important; }
.gae-banner__content .gae-eyebrow { color: rgba(255,255,255,.92); margin-bottom: 16px !important; text-shadow: 0 1px 10px rgba(8,48,66,.5); }
.gae-banner__content h2 { color: #fff; font-size: clamp(3rem, 6.4vw, 5.4rem); line-height: 1; text-shadow: 0 2px 22px rgba(8,48,66,.45); }
.gae-banner__content h2 em { font-style: italic; color: #F4E4BE; }
.gae-banner__content h2::after { content: ""; display: block; width: 56px; height: 2px; background: var(--g-gold); margin: 22px auto 28px; }
.gae-banner__content .wp-block-buttons { justify-content: center; }
.gae-banner__content .wp-block-button__link { background: var(--g-ivory); color: var(--g-navy); border-color: var(--g-ivory); }
.gae-banner__content .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--g-navy); }
.gae-banner__note { margin-top: 20px !important; font-size: .84rem; color: rgba(255,255,255,.92); text-shadow: 0 1px 10px rgba(8,48,66,.55); }
.gae-banner__note a { color: #fff; text-decoration: underline; text-decoration-color: var(--g-gold); text-underline-offset: 3px; font-weight: 600; }
@media (max-width: 700px) {
	.gae-banner { min-height: 0; height: 132vw; max-height: 640px; padding-top: 54px !important; }
	.gae-banner__bg img { object-position: 52% 80%; }
	.gae-banner__content h2 { font-size: 2.9rem; }
	.gae-banner__content h2::after { margin: 18px auto 24px; }
	.gae-banner__content .wp-block-button, .gae-banner__content .wp-block-button__link { width: 100%; max-width: 300px; text-align: center; }
}

/* 1.9.8 */
.gae-header__cta { display: none !important; }
.gae-call__text .wp-block-buttons, .gae-featured .wp-block-buttons { justify-content: center; }

/* ---------- 1.9.9: content pages ---------- */
.gae-page { background: var(--g-ivory); padding: clamp(150px, 15vw, 210px) var(--g-gutter) clamp(80px, 9vw, 130px) !important; }
.gae-page__title { text-align: center; font-size: clamp(2.6rem, 5.4vw, 4.4rem); line-height: 1.05; margin: 0 auto 1.4rem !important; max-width: 900px; }
.gae-page__title::after { content: ""; display: block; width: 56px; height: 2px; background: var(--g-gold); margin: 22px auto 0; }
.gae-page .wp-block-post-content { max-width: 760px; margin-inline: auto; font-size: 1.05rem; line-height: 1.85; color: var(--g-ink); }
.gae-page .wp-block-post-content > * { margin-block: 0 !important; }
.gae-page .wp-block-post-content > * + * { margin-top: 1.3rem !important; }
.gae-page .wp-block-post-content h2 { font-size: clamp(1.8rem, 3.2vw, 2.4rem); line-height: 1.15; margin-top: 3rem !important; }
.gae-page .wp-block-post-content h3 { font-size: 1.45rem; margin-top: 2rem !important; }
.gae-page .wp-block-post-content a { color: var(--g-blue); text-decoration: underline; text-decoration-color: var(--g-gold); text-underline-offset: 3px; }
.gae-page .wp-block-post-content a:hover { color: var(--g-navy); }
.gae-page__lead { font-family: var(--g-serif); font-style: italic; font-size: clamp(1.35rem, 2.4vw, 1.7rem) !important; line-height: 1.5 !important; text-align: center; color: var(--g-navy) !important; max-width: 640px; margin-inline: auto !important; margin-bottom: 1rem !important; }
.gae-page .wp-block-list { padding-left: 1.3rem; }
.gae-page .wp-block-list li { margin-bottom: .55rem; padding-left: .3rem; }
.gae-page .wp-block-list li::marker { color: var(--g-gold); }
.gae-callout { background: #fff; border-left: 3px solid var(--g-gold); padding: 24px 28px !important; box-shadow: 0 22px 44px -32px rgba(13,37,64,.45); }
.gae-callout > * { margin: 0 !important; }
.gae-numbered { list-style: none; padding-left: 0 !important; counter-reset: gaestep; }
.gae-numbered li { position: relative; counter-increment: gaestep; padding: 6px 0 6px 64px !important; margin-bottom: 1.2rem !important; }
.gae-numbered li::before { content: counter(gaestep); position: absolute; left: 0; top: 2px; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--g-navy); color: #fff; font: 500 1.3rem/1 var(--g-serif); }
.gae-table { overflow-x: auto; }
.gae-table table { width: 100%; border-collapse: collapse; font-size: .95rem; line-height: 1.6; }
.gae-table th { text-align: left; font: 600 .72rem/1.3 var(--g-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--g-blue); padding: 12px 14px; border-bottom: 2px solid var(--g-gold); }
.gae-table td { padding: 14px; border-bottom: 1px solid rgba(13,37,64,.12); vertical-align: top; }
.gae-page__buttons { justify-content: center; gap: 14px; margin-top: 2.6rem !important; }
@media (max-width: 700px) { .gae-page .wp-block-post-content { font-size: 1rem; line-height: 1.8; } .gae-page__buttons { flex-direction: column; } .gae-page__buttons .wp-block-button, .gae-page__buttons .wp-block-button__link { width: 100%; text-align: center; } .gae-callout { padding: 20px 20px !important; } }
.gae-page .wp-block-post-content .wp-block-button__link { color: var(--g-ivory); text-decoration: none; }
.gae-page .wp-block-post-content .is-style-outline .wp-block-button__link { color: var(--g-navy); }
.gae-page .wp-block-post-content .wp-block-button__link:hover { color: #fff; }
.gae-page .wp-block-post-content .is-style-outline .wp-block-button__link:hover { color: var(--g-ivory); }

/* 1.9.10: WooCommerce pages sit clear of the fixed header */
body.post-type-archive-product .wp-site-blocks > main, body.single-product .wp-site-blocks > main, body.tax-product_cat .wp-site-blocks > main { padding-top: clamp(150px, 15vw, 210px); padding-inline: var(--g-gutter); padding-bottom: 90px; }
.woocommerce .wc-block-grid__product-title, .wc-block-components-product-name, .woocommerce-loop-product__title { font-family: var(--g-serif); color: var(--g-navy); }
.woocommerce .price, .wc-block-grid__product-price, .wc-block-components-product-price { font-family: var(--g-serif); font-size: 1.4rem; color: var(--g-navy); }
.woocommerce-message, .woocommerce-info, .wc-block-components-notice-banner { border-top-color: var(--g-gold) !important; }
.wc-block-cart, .wc-block-checkout, .woocommerce-cart-form, .woocommerce-checkout { font-family: var(--g-sans); }
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button { background: var(--g-navy) !important; color: #fff !important; border-radius: 0 !important; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; }

/* 1.9.12: shop and competition templates */
.gae-shopmain { padding: clamp(150px, 15vw, 210px) var(--g-gutter) clamp(70px, 8vw, 110px) !important; background: var(--g-ivory); }
.gae-shophero { text-align: center; max-width: 760px; margin: 0 auto 1rem !important; }
.gae-shophero__title { font-size: clamp(2.6rem, 5.4vw, 4.4rem); line-height: 1.02; margin: .3rem 0 1rem !important; }
.gae-shophero__title em { color: var(--g-blue); }
.gae-shophero__title::after { content: ""; display: block; width: 56px; height: 2px; background: var(--g-gold); margin: 22px auto 0; }
.gae-shophero__lead { color: var(--g-ink); font-size: 1.05rem; margin: 0 !important; }
.gae-shopmain .woocommerce-breadcrumb { font-size: .8rem; letter-spacing: .08em; margin: 0 0 1.4rem; color: var(--g-ink); }
.single-product .gae-shopmain .woocommerce-breadcrumb a { color: var(--g-navy); }
.single-product .gae-shopmain div.product .button, .single-product .gae-shopmain form.cart .single_add_to_cart_button { background: var(--g-navy) !important; color: #fff !important; border-radius: 0 !important; padding: 1em 2.2em !important; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; font-size: .8rem; flex: 1; transition: background .25s; }
.single-product .gae-shopmain form.cart .single_add_to_cart_button:hover { background: var(--g-blue) !important; }
