/*!
 * Autumn Ads Home Experience — home.css
 * Base: tokens, fonts, the environment stage, shared typography and links.
 * Everything is scoped to .aa-home. Nothing here styles the theme, header or footer.
 */

/* D-DIN PRO (Datto, SIL Open Font License) — one DIN family for the whole experience */
@font-face{font-family:"AA DIN";src:url("../fonts/D-DIN-PRO-400-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"AA DIN";src:url("../fonts/D-DIN-PRO-500-Medium.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"AA DIN";src:url("../fonts/D-DIN-PRO-600-SemiBold.otf") format("opentype");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"AA DIN";src:url("../fonts/D-DIN-PRO-700-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"AA DIN";src:url("../fonts/D-DIN-PRO-800-ExtraBold.otf") format("opentype");font-weight:800;font-style:normal;font-display:swap;}

/* ------------------------------------------------------------------ tokens */
.aa-home{
	--aa-sans:"AA DIN","DIN Next","DIN Pro","D-DIN",Bahnschrift,"Helvetica Neue",Arial,sans-serif;
	--aa-serif:var(--aa-sans);
	--aa-ink:#f4eee6;
	--aa-ink-2:rgba(246,241,234,.9);
	--aa-ink-3:rgba(246,241,234,.66);
	--aa-hair:rgba(244,238,230,.16);
	--aa-accent:#f3a35c;              /* set continuously by seasons.js */
	--aa-accent-soft:#f7cfa7;
	--aa-ease:cubic-bezier(.19,1,.22,1);
	--aa-ease-io:cubic-bezier(.65,0,.35,1);
	--aa-pad:clamp(20px,6vw,112px);
	--aa-header-offset:0px;           /* distance kept clear for a fixed site header */
	--aa-bottom-offset:0px;           /* distance kept clear for a fixed bottom bar (phones) */
	--aa-view-h:var(--aa-stage-h);    /* height of a pinned scene's content area */
	--aa-stage-h:100vh;

	position:relative;
	isolation:isolate;
	display:block;
	width:100%;
	margin:0;
	padding:0;
	overflow-x:clip;
	background:#0b0a09;
	color:var(--aa-ink);
	font-family:var(--aa-sans);
	font-size:16px;
	line-height:1.5;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	text-rendering:optimizeLegibility;
}
@supports (height:100lvh){ .aa-home{--aa-stage-h:100lvh;} }

.aa-home *,.aa-home *::before,.aa-home *::after{box-sizing:border-box;}
.aa-home :where(h1,h2,h3,h4,p,ol,ul,li,dl,dt,dd,figure){margin:0;padding:0;border:0;background:none;}
.aa-home :where(ol,ul){list-style:none;}
.aa-home :where(h1,h2,h3,h4){color:inherit;text-transform:none;letter-spacing:normal;font-family:var(--aa-sans);}
.aa-home :where(p,li,dd,dt){color:inherit;font-family:var(--aa-sans);}
.aa-home :where(img,svg,canvas){display:block;max-width:none;}
.aa-home ::selection{background:var(--aa-accent);color:#120d09;}

/* ------------------------------------------------------------------ stage */
.aa-home__stage{
	position:sticky;
	top:0;
	z-index:0;
	height:var(--aa-stage-h);
	overflow:hidden;
	contain:layout paint;
	pointer-events:none;
	background:#0b0a09;
}
/* Fallback when position:sticky cannot work: the stage is fixed to the screen and the experience clips it
   (clip-path also clips fixed descendants), so it still ends exactly at the footer — no scripted movement. */
.aa-home.is-fixed-stage{clip-path:inset(0);}
.aa-home.is-fixed-stage .aa-home__stage{position:fixed;left:0;right:0;top:0;width:100%;margin:0;}
.aa-home.is-fixed-stage .aa-home__chapters{margin-top:0;}
/* Last resort (a transformed theme wrapper breaks both of the above): the scene is moved by script. */
.aa-home.aa-home.is-js-stage :is(.aa-home__stage,.aa-home__bloom-view,.aa-home__stack-view,.aa-home__field-view,.aa-home__walk-view,.aa-home__reel-view){position:relative!important;top:0!important;will-change:translate;}
/* …on the GPU, driven by the page scroll, where the browser supports it */
@keyframes aa-pin{from{translate:0 0;}to{translate:0 var(--aa-room,0px);}}
.aa-home.aa-home.is-gpu-pins :is(.aa-home__stage,.aa-home__bloom-view,.aa-home__stack-view,.aa-home__field-view,.aa-home__walk-view,.aa-home__reel-view){animation:aa-pin 1ms linear both;animation-timeline:scroll(root block);}
.aa-home__camera{position:absolute;inset:-4%;will-change:transform;}
.aa-home.is-ready .aa-home__camera{animation:aa-camera-settle 3.4s var(--aa-ease) both;}
@keyframes aa-camera-settle{from{transform:scale(1.12);filter:brightness(.35);}to{transform:none;filter:none;}}

.aa-home__plates{position:absolute;inset:0;will-change:transform;}
.aa-home__plate{
	position:absolute;inset:0;width:100%;height:100%;
	object-fit:cover;object-position:50% 55%;
	opacity:0;will-change:opacity,transform;
	backface-visibility:hidden;
}
.aa-home__plate:first-child{opacity:1;}
div.aa-home__plate{background:#0b0a09 no-repeat 50% 55% / cover;}
.aa-home__plates.is-swap .aa-home__plate{transition:opacity .8s ease;}  /* a late image fades in instead of popping */

/* ------------------------------------------------------------------ theme shield
   Themes and Elementor style every image (".elementor img{height:auto;max-width:100%}" and similar).
   Those rules are more specific than a single class, so on phones the season images shrank to their
   natural height and left the rest of the screen black. The experience's own media keep their size here. */
.aa-home.aa-home img.aa-home__plate,
.aa-home.aa-home div.aa-home__plate,
.aa-home.aa-home .aa-home__weather,
.aa-home.aa-home .aa-home__grow-canvas,
.aa-home.aa-home .aa-home__grow-poster{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-height:0;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
.aa-home.aa-home img.aa-home__plate,.aa-home.aa-home .aa-home__grow-poster{object-fit:cover!important;}
.aa-home.aa-home .aa-home__grow-canvas,.aa-home.aa-home .aa-home__grow-poster{object-fit:contain!important;}
.aa-home.aa-home img.aa-home__scene-img{position:absolute;max-width:none!important;max-height:none!important;width:100%!important;height:116%!important;object-fit:cover!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;}

/* Layout layers above the scene must stay see-through, whatever a theme sets on sections or wrappers. */
.aa-home.aa-home .aa-home__chapters,
.aa-home.aa-home .aa-home__chapter,
.aa-home.aa-home .aa-home__bloom,.aa-home.aa-home .aa-home__bloom-view,
.aa-home.aa-home .aa-home__stack,.aa-home.aa-home .aa-home__stack-view,
.aa-home.aa-home .aa-home__field,.aa-home.aa-home .aa-home__field-view,
.aa-home.aa-home .aa-home__walk,.aa-home.aa-home .aa-home__walk-view,
.aa-home.aa-home .aa-home__reel,.aa-home.aa-home .aa-home__reel-view{background-color:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;content-visibility:visible!important;max-width:none!important;}
.aa-home.aa-home .aa-home__stage{display:block!important;visibility:visible!important;opacity:1!important;transform:none!important;filter:none!important;}
.aa-home.aa-home .aa-home__plates,.aa-home.aa-home .aa-home__camera{display:block!important;visibility:visible!important;}
.aa-home.aa-home svg.aa-home__lily{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;}
.aa-home.aa-home video.aa-home__plant-video{height:100%!important;width:auto;max-width:100%!important;max-height:none!important;}


/* Clouds and fog are procedural noise textures (made in atmosphere.js), drifting on the compositor. */
.aa-home__clouds,.aa-home__fog{position:absolute;left:0;right:0;opacity:0;will-change:opacity;overflow:hidden;}
.aa-home__clouds::before,.aa-home__fog::before,.aa-home__fog::after{
	content:"";position:absolute;top:0;bottom:0;left:0;width:200%;
	background-repeat:repeat-x;background-size:50% 100%;
	will-change:transform;
}
.aa-home__clouds{top:-6%;height:62%;
	-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent);mask-image:linear-gradient(to bottom,#000 30%,transparent);}
.aa-home__clouds::before{background-image:var(--aa-tex-cloud,none);animation:aa-drift 70s linear infinite;filter:brightness(.55) contrast(1.15);}

.aa-home__fog--far{top:28%;height:52%;mix-blend-mode:screen;
	-webkit-mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 60%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 60%,transparent);}
.aa-home__fog--far::before{background-image:var(--aa-tex-fog,none);animation:aa-drift 120s linear infinite;opacity:.9;}
.aa-home__fog--far::after{background-image:var(--aa-tex-fog,none);animation:aa-drift 80s linear infinite reverse;opacity:.55;transform-origin:50% 50%;top:12%;}

.aa-home__fog--near{bottom:-6%;height:46%;z-index:3;mix-blend-mode:screen;
	-webkit-mask-image:linear-gradient(to bottom,transparent,#000 55%);mask-image:linear-gradient(to bottom,transparent,#000 55%);}
.aa-home__fog--near::before{background-image:var(--aa-tex-fog,none);animation:aa-drift 55s linear infinite;background-size:50% 130%;}
.aa-home__fog--near::after{display:none;}
@keyframes aa-drift{from{transform:translate3d(0,0,0);}to{transform:translate3d(-50%,0,0);}}

.aa-home__light{position:absolute;inset:0;mix-blend-mode:screen;}
.aa-home__sun{
	position:absolute;left:0;top:0;width:90vmax;height:90vmax;margin:-45vmax 0 0 -45vmax;border-radius:50%;
	background:radial-gradient(circle,var(--aa-sun,#ffb070) 0%,color-mix(in srgb,var(--aa-sun,#ffb070) 40%,transparent) 14%,transparent 58%);
	will-change:transform,opacity;
}
.aa-home__rays{
	position:absolute;left:0;top:0;width:180vmax;height:180vmax;margin:-90vmax 0 0 -90vmax;
	/* soft-edged beams from the gradient itself — no blur filter, so moving them costs nothing */
	background:repeating-conic-gradient(from 0deg,rgba(255,236,200,0) 0deg,rgba(255,236,200,.05) 2deg,rgba(255,236,200,.22) 4.5deg,rgba(255,236,200,.05) 7deg,rgba(255,236,200,0) 9deg 14deg);
	-webkit-mask-image:radial-gradient(circle,#000 0%,rgba(0,0,0,.35) 22%,transparent 50%);mask-image:radial-gradient(circle,#000 0%,rgba(0,0,0,.35) 22%,transparent 50%);
	opacity:0;will-change:transform,opacity;
}

.aa-home__grade{position:absolute;inset:0;mix-blend-mode:soft-light;background:var(--aa-grade,rgba(255,150,80,.2));}

.aa-home__weather{position:absolute;inset:0;width:100%;height:100%;z-index:2;}

.aa-home__shade{position:absolute;inset:0;z-index:4;}
.aa-home__shade i{position:absolute;inset:0;will-change:opacity;}
.aa-home__shade-l{background:linear-gradient(90deg,rgba(6,5,4,.78) 0%,rgba(6,5,4,.42) 38%,rgba(6,5,4,0) 70%);}
.aa-home__shade-r{background:linear-gradient(270deg,rgba(6,5,4,.78) 0%,rgba(6,5,4,.42) 38%,rgba(6,5,4,0) 70%);opacity:0;}
.aa-home__shade-b{background:radial-gradient(ellipse 120% 90% at 50% 40%,transparent 40%,rgba(6,5,4,.55) 100%),linear-gradient(0deg,rgba(6,5,4,.6),transparent 40%);}

.aa-home__flash{position:absolute;inset:0;z-index:5;opacity:0;mix-blend-mode:screen;
	background:radial-gradient(ellipse 80% 60% at var(--aa-flash-x,62%) 12%,rgba(225,238,255,.9),rgba(170,200,235,.25) 45%,transparent 75%);}

.aa-home__grain{position:absolute;inset:0;z-index:6;opacity:.07;mix-blend-mode:overlay;background-image:var(--aa-tex-grain,none);background-size:220px 220px;}

/* Letterbox bars: the opening of the film. They open as the visitor starts scrolling. */
.aa-home__bars i{position:absolute;left:0;right:0;height:9vh;background:#050404;z-index:7;transform:scaleY(var(--aa-bars,1));will-change:transform;}
.aa-home__bars i:first-child{top:0;transform-origin:top;}
.aa-home__bars i:last-child{bottom:0;transform-origin:bottom;}

/* Season indicator (decorative — not navigation). */
.aa-home__rail{
	position:absolute;z-index:8;left:var(--aa-pad);bottom:clamp(22px,4.5vh,48px);
	display:flex;align-items:center;gap:16px;
	font:500 10.5px/1 var(--aa-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--aa-ink-3);
	opacity:0;transition:opacity 1s ease;
}
.aa-home.is-past-hero .aa-home__rail{opacity:1;}
.aa-home__rail-num b{font-weight:600;color:var(--aa-ink);}
.aa-home__rail-track{position:relative;width:clamp(60px,9vw,140px);height:1px;background:var(--aa-hair);overflow:hidden;}
.aa-home__rail-track i{position:absolute;inset:0;background:var(--aa-accent);transform-origin:left;transform:scaleX(var(--aa-journey,0));}
.aa-home__rail-name{font:500 12px/1 var(--aa-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--aa-ink);min-width:9ch;}

/* ------------------------------------------------------------------ chapters */
.aa-home__chapters{position:relative;z-index:2;text-shadow:0 1px 2px rgba(8,6,4,.35),0 6px 34px rgba(8,6,4,.45);margin-top:calc(var(--aa-stage-h) * -1);}
/* (the stage keeps its natural size so position:sticky releases it exactly at the end of the experience) */
.aa-home__chapter{position:relative;padding-inline:var(--aa-pad);}

/* ------------------------------------------------------------------ type */
.aa-home .aa-home__display{
	font-family:var(--aa-sans);
	font-weight:700;
	font-size:clamp(52px,8.6vw,156px);
	line-height:.9;
	letter-spacing:-.018em;
	text-transform:uppercase;
	color:var(--aa-ink);
	margin:0;
	font-kerning:normal;
}
.aa-home .aa-home__display em{
	font:inherit;
	font-style:normal;
	letter-spacing:inherit;
	color:var(--aa-accent-soft);
	transition:color 1.2s ease;
}
.aa-home__line{display:block;overflow:clip;overflow-clip-margin:.12em;padding:0 .12em .07em 0;margin-bottom:-.07em;}
.aa-home__line-in{display:block;transform:translate3d(0,108%,0) rotate(2deg);transform-origin:0 100%;
	transition:transform 1.5s var(--aa-ease) calc(var(--i,0) * .1s + var(--d,0s));}
.aa-home .is-in .aa-home__line-in,.aa-home .is-in.aa-home__line-in{transform:none;}

.aa-home .aa-home__kicker{
	display:flex;align-items:center;gap:14px;margin:0 0 clamp(20px,3.4vh,36px);
	font:600 11px/1.2 var(--aa-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--aa-ink);
}
.aa-home__kicker::before{content:"";width:38px;height:1px;background:var(--aa-accent);transform-origin:left;transition:transform 1.2s var(--aa-ease) .1s,background-color 1.2s ease;}
.aa-home__kicker--center{justify-content:center;}
.aa-home__kicker--center::after{content:"";width:38px;height:1px;background:var(--aa-accent);}

.aa-home .aa-home__lede{
	max-width:42ch;
	font:400 clamp(16px,1.22vw,19.5px)/1.62 var(--aa-sans);
	letter-spacing:-.008em;
	color:var(--aa-ink-2);
	text-wrap:pretty;
}

/* ------------------------------------------------------------------ reveals */
/* small elements: a focus pull (blur → sharp), not a slide */
.aa-home [data-aa-reveal=""],.aa-home [data-aa-reveal]:not([data-aa-reveal="lines"]):not([data-aa-reveal="light"]):not([data-aa-reveal="drop"]):not([data-aa-reveal="row"]){
	opacity:0;filter:blur(10px);transition:opacity 1.2s ease,filter 1.4s var(--aa-ease);
}
.aa-home [data-aa-reveal].is-in:not([data-aa-reveal="lines"]):not([data-aa-reveal="light"]):not([data-aa-reveal="drop"]):not([data-aa-reveal="row"]){opacity:1;filter:none;}
.aa-home [data-aa-reveal] .aa-home__kicker::before,.aa-home .aa-home__kicker[data-aa-reveal]::before{transform:scaleX(0);}
.aa-home .aa-home__kicker.is-in::before{transform:scaleX(1);}

/* paragraphs: words rise out of soft focus one after another (split by text.js) */
.aa-home [data-aa-reveal="light"] .aa-w{display:inline-block;opacity:0;transform:translate3d(0,.55em,0);filter:blur(6px);
	transition:opacity .9s ease calc(var(--w) * 22ms + .15s),transform 1.1s var(--aa-ease) calc(var(--w) * 22ms + .15s),filter 1s ease calc(var(--w) * 22ms + .15s);}
.aa-home [data-aa-reveal="light"].is-in .aa-w{opacity:1;transform:none;filter:none;}
.aa-home [data-aa-reveal="light"].is-done .aa-w{transition:none;}

/* hero intro (on load) */
.aa-home__intro{opacity:0;filter:blur(12px);transition:opacity 1.6s ease var(--d,0s),filter 1.8s var(--aa-ease) var(--d,0s);}
.aa-home.is-ready .aa-home__intro{opacity:1;filter:none;}

/* ------------------------------------------------------------------ links */
.aa-home a.aa-home__link{
	position:relative;display:inline-flex;align-items:center;gap:12px;
	padding:14px 0 12px;
	font:500 12px/1 var(--aa-sans);letter-spacing:.2em;text-transform:uppercase;
	color:var(--aa-ink);text-decoration:none;background:none;border:0;box-shadow:none;
}
.aa-home a.aa-home__link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.35;}
.aa-home a.aa-home__link::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--aa-accent);transform:scaleX(0);transform-origin:right;transition:transform .7s var(--aa-ease);z-index:1;}
.aa-home a.aa-home__link:hover::before,.aa-home a.aa-home__link:focus-visible::before{transform:scaleX(1);transform-origin:left;}
.aa-home a.aa-home__link span{display:inline-block;transition:transform .6s var(--aa-ease);}
.aa-home a.aa-home__link:hover span{transform:translateX(6px);}
.aa-home a.aa-home__link--primary{padding-left:18px;}
.aa-home a.aa-home__link--primary i,.aa-home a.aa-home__link--primary{--dot:var(--aa-accent);}
.aa-home a.aa-home__link--primary{background:radial-gradient(circle,var(--aa-accent) 3px,transparent 3.5px) 0 50%/8px 8px no-repeat;}
.aa-home a:focus-visible{outline:1px solid var(--aa-accent);outline-offset:6px;}

/* ------------------------------------------------------------------ cursor */
.aa-home__cursor{position:fixed;left:0;top:0;z-index:50;pointer-events:none;opacity:0;transition:opacity .4s ease;}
.aa-home.has-cursor .aa-home__cursor{opacity:1;}
.aa-home__cursor-ring{
	position:absolute;left:-18px;top:-18px;width:36px;height:36px;border-radius:50%;
	border:1px solid color-mix(in srgb,var(--aa-accent) 70%,#fff);
	transition:transform .5s var(--aa-ease),background-color .5s ease,border-color .5s ease;
}
.aa-home__cursor-dot{position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:var(--aa-accent);transition:transform .3s ease;}
.aa-home__cursor.is-link .aa-home__cursor-ring{transform:scale(1.9);background:color-mix(in srgb,var(--aa-accent) 16%,transparent);border-color:transparent;}
.aa-home__cursor.is-link .aa-home__cursor-dot{transform:scale(0);}
.aa-home__cursor.is-soft .aa-home__cursor-ring{transform:scale(1.4);}
.aa-home__cursor.is-down .aa-home__cursor-ring{transform:scale(.8);}

/* finished reveals: no masks, filters or transitions left behind */
.aa-home [data-aa-reveal].is-done{-webkit-mask-image:none!important;mask-image:none!important;filter:none!important;}
.aa-home .is-done .aa-home__line-in{filter:none!important;}

/* ------------------------------------------------------------------ sound toggle */
.aa-home .aa-home__sound{
	position:fixed;right:clamp(16px,3vw,40px);bottom:clamp(18px,4vh,40px);z-index:40;
	display:inline-flex;align-items:center;gap:12px;padding:12px 18px;border-radius:999px;cursor:pointer;
	font:600 10.5px/1 var(--aa-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--aa-ink);
	background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.04));
	-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);
	border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 0 0 1px rgba(255,255,255,.16),0 12px 30px rgba(0,0,0,.25);
	transition:opacity .5s ease,transform .5s var(--aa-ease),background-color .3s ease;
}
.aa-home .aa-home__sound[hidden]{display:none;}
.aa-home .aa-home__sound:hover{transform:translateY(-2px);}
.aa-home .aa-home__sound:focus-visible{outline:1px solid var(--aa-accent);outline-offset:4px;}
.aa-home .aa-home__sound.is-away{opacity:0;pointer-events:none;transform:translateY(12px);}
.aa-home__sound-bars{display:flex;align-items:flex-end;gap:2px;height:12px;}
.aa-home__sound-bars i{width:2px;height:3px;border-radius:1px;background:var(--aa-accent);transition:height .3s ease;}
.aa-home.has-sound .aa-home__sound-bars i{animation:aa-eq 1s ease-in-out infinite;}
.aa-home.has-sound .aa-home__sound-bars i:nth-child(2){animation-delay:-.4s;animation-duration:.8s;}
.aa-home.has-sound .aa-home__sound-bars i:nth-child(3){animation-delay:-.2s;animation-duration:1.2s;}
.aa-home.has-sound .aa-home__sound-bars i:nth-child(4){animation-delay:-.7s;animation-duration:.9s;}
.aa-home.has-sound .aa-home__sound-bars i:nth-child(5){animation-delay:-.1s;animation-duration:1.1s;}
@keyframes aa-eq{0%,100%{height:3px;}50%{height:12px;}}
@media (prefers-reduced-motion:reduce){.aa-home.has-sound .aa-home__sound-bars i{animation:none;height:8px;}}
