.as-home {
  --as-ivory: #f7f3ed;
  --as-champagne: #d8c4a8;
  --as-gold: #a77b42;
  --as-cocoa: #241b17;
  --as-sand-rose: #e8d9d2;
  --as-white: #fff;
  --as-display: Georgia, "Times New Roman", serif;
  --as-body: var(--body-font, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  --as-gutter: clamp(1.5rem, 8vw, 9rem);
  --as-fast: 180ms;
  --as-base: 360ms;
  --as-ease: cubic-bezier(.2, .7, .2, 1);
  color: var(--as-cocoa);
  background: var(--as-ivory);
  font-family: var(--as-body);
}

.as-home *, .as-home *::before, .as-home *::after { box-sizing: border-box; }
.as-home a { -webkit-tap-highlight-color: transparent; }
.as-home a:focus-visible { outline: 2px solid var(--as-gold); outline-offset: 4px; }
.as-shell { width: 100%; max-width: none; margin: 0 auto; padding-right: var(--as-gutter); padding-left: var(--as-gutter); }
.as-eyebrow { margin: 0 0 1.25rem; letter-spacing: .16em; font-family: var(--as-body); font-size: .68rem; font-weight: 600; }
.as-home h1, .as-home h2 { margin: 0; font-family: var(--as-display); font-weight: 500; letter-spacing: -.045em; line-height: .87; }
.as-home em { color: var(--as-gold); font-weight: 500; }

.as-hero { position: relative; min-height: 75svh; isolation: isolate; overflow: hidden; background: radial-gradient(circle at 72% 42%, #fffdf9 0, var(--as-ivory) 43%, #eadcd1 100%); }
.as-hero__grain { position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .1; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E"); }
.as-hero__content { position: relative; display: flex; align-items: flex-start; justify-content: center; flex-direction: column; min-height: 75svh; padding-top: 4rem; padding-bottom: 6rem; }
.as-hero h1 { max-width: 50rem; font-size: clamp(3.75rem, min(6.2vw, 10svh), 7.25rem); }
.as-hero__copy { max-width: 23rem; margin: 2.1rem 0; font-size: .9rem; line-height: 1.8; }
.as-button { display: inline-flex; align-items: center; gap: .75rem; min-height: 3.25rem; padding: 1rem 1.2rem; border: 0; border-radius: 0; color: var(--as-white) !important; background: var(--as-cocoa); text-decoration: none !important; font-family: var(--as-body); font-size: .72rem; font-weight: 600; letter-spacing: .08em; transition: background var(--as-fast), transform var(--as-fast) var(--as-ease), box-shadow var(--as-fast); }
.as-button:hover { color: var(--as-white) !important; background: var(--as-gold); box-shadow: 0 .6rem 1.5rem rgba(36, 27, 23, .12); transform: translateY(-2px); }
.as-button:active { transform: translateY(0) scale(.98); }
.as-button span, .as-text-link span { font-size: 1rem; }
.as-hero__scroll { position: absolute; right: clamp(1.5rem, 5vw, 5rem); bottom: 2.1rem; display: flex; align-items: center; gap: .6rem; margin: 0; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.as-hero__scroll span { width: 2.8rem; height: 1px; background: var(--as-cocoa); transform-origin: right; animation: asScrollCue 1.7s ease-in-out infinite; }
@keyframes asScrollCue { 50% { transform: scaleX(.25); opacity: .4; } }

.as-essence { min-height: 70svh; display: grid; align-items: center; overflow: hidden; color: var(--as-ivory); background: var(--as-cocoa); }
.as-essence__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(17rem, .8fr); gap: clamp(3rem, 8vw, 9rem); align-items: end; padding-top: clamp(6rem, 12vw, 11rem); padding-bottom: clamp(6rem, 12vw, 11rem); }
.as-essence .as-eyebrow { color: var(--as-champagne); }
.as-essence h2 { font-size: clamp(4rem, 7vw, 7rem); }
.as-essence__copy { max-width: 30rem; margin: 0 0 .4rem; line-height: 1.85; font-size: .95rem; }

.as-products { overflow: hidden; padding: clamp(6rem, 10vw, 10rem) 0; background: var(--as-ivory); }
.as-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: clamp(3rem, 6vw, 5.5rem); }
.as-section-heading h2, .as-closing h2 { font-size: clamp(4rem, 7.2vw, 7.4rem); }
.as-products__grid { row-gap: clamp(2rem, 4vw, 4rem); margin-right: calc(var(--gutter, 15px) * -1); margin-left: calc(var(--gutter, 15px) * -1); }
.as-products .item-product { margin-bottom: 0; }
.as-products .item { height: 100%; overflow: hidden; background: var(--as-white); transition: transform .45s var(--as-ease), box-shadow .45s var(--as-ease); }
.as-products .item:hover { box-shadow: 0 1.5rem 3rem rgba(36, 27, 23, .09); transform: translateY(-.4rem); }
.as-products .item-image { overflow: hidden; background: #ede5da; }
.as-products .item-image img { transition: transform .65s var(--as-ease); }
.as-products .item:hover .item-image img { transform: scale(1.035); }
.as-products .item-description { min-height: 8.5rem; padding: 1.3rem 1.4rem 1.5rem; text-align: left !important; }
.as-products .item-name { color: var(--as-cocoa); font-family: var(--as-display); font-size: clamp(1.55rem, 2.2vw, 2.2rem); line-height: 1; }
.as-products .item-price, .as-products .price-compare { font-family: var(--as-body); font-size: .78rem; letter-spacing: .04em; }
.as-products .item-actions { color: var(--as-gold); }
.as-products__empty { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 3rem; background: #ede5da; }
.as-products__empty p { margin: 0; }
.as-text-link { display: inline-flex; align-items: center; gap: .4rem; flex: 0 0 auto; color: var(--as-cocoa) !important; font-family: var(--as-body); font-size: .72rem; font-weight: 600; letter-spacing: .09em; text-decoration: none !important; }
.as-text-link:hover { color: var(--as-gold) !important; }
.as-text-link--mobile { display: none; margin-top: 2.5rem; }

.as-selection { position: relative; min-height: min(48rem, 93svh); display: grid; align-items: center; overflow: hidden; color: var(--as-ivory); background: var(--as-cocoa); }
.as-selection__content { position: relative; z-index: 1; padding-top: clamp(6rem, 12vw, 11rem); padding-bottom: clamp(6rem, 12vw, 11rem); }
.as-selection .as-eyebrow, .as-selection__label { color: var(--as-champagne); }
.as-selection__label { margin: 0 0 1.1rem; font-size: .72rem; letter-spacing: .11em; text-transform: uppercase; }
.as-selection h2 { max-width: 48rem; font-size: clamp(4rem, 7.2vw, 7.6rem); }
.as-selection__copy { max-width: 28rem; margin: 2rem 0; line-height: 1.8; font-size: .9rem; }
.as-button--light { color: var(--as-cocoa) !important; background: var(--as-ivory); }
.as-button--light:hover { color: var(--as-ivory) !important; background: var(--as-gold); }
.as-selection__light { position: absolute; width: min(58vw, 48rem); aspect-ratio: 1; right: -14%; top: -16%; border-radius: 50%; opacity: .55; background: radial-gradient(circle, rgba(216,196,168,.45) 0, rgba(167,123,66,.16) 31%, transparent 68%); transform: translate3d(0, var(--as-parallax-y, 0), 0); }

.as-closing { min-height: 68svh; background: var(--as-sand-rose); }
.as-closing__content { display: flex; align-items: flex-start; justify-content: space-between; flex-direction: column; min-height: 68svh; padding-top: clamp(6rem, 12vw, 11rem); padding-bottom: clamp(6rem, 12vw, 11rem); }

.as-home [data-as-reveal] { --as-delay: 0ms; opacity: 0; transform: translate3d(0, 1.5rem, 0); transition: opacity 620ms ease var(--as-delay), transform 620ms var(--as-ease) var(--as-delay); }
.as-home [data-as-reveal].is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
.as-home [data-as-parallax] { will-change: transform; }

@media (max-width: 767px) {
  .as-shell { padding-right: 1.5rem; padding-left: 1.5rem; }
  .as-hero__content { min-height: 68svh; padding-top: 4.5rem; padding-bottom: 6rem; }
  .as-hero h1 { font-size: clamp(3.35rem, 14.5vw, 4.3rem); }
  .as-hero__copy { margin: 1.5rem 0; font-size: .8rem; }
  .as-hero__scroll { right: 1.5rem; bottom: 1.5rem; }
  .as-essence__grid { display: block; padding-top: 6rem; padding-bottom: 6rem; }
  .as-essence__copy { margin-top: 2.5rem; }
  .as-products { padding: 6rem 0; }
  .as-section-heading { display: block; }
  .as-section-heading h2, .as-closing h2 { font-size: clamp(3.5rem, 14vw, 5rem); }
  .as-products__grid { row-gap: 1.7rem; }
  .as-products .item-description { min-height: 7.5rem; padding: 1rem .8rem 1.2rem; }
  .as-products .item-name { font-size: 1.3rem; }
  .as-products__empty { align-items: flex-start; flex-direction: column; padding: 2rem; }
  .as-text-link--desktop { display: none; }
  .as-text-link--mobile { display: inline-flex; }
  .as-selection__content, .as-closing__content { padding-top: 6rem; padding-bottom: 6rem; }
  .as-selection h2 { font-size: clamp(3.5rem, 14vw, 5rem); }
  .as-selection__light { width: 90vw; right: -35%; }
  .as-closing, .as-closing__content { min-height: 54svh; }
}

@media (prefers-reduced-motion: reduce) {
  .as-hero__scroll span { animation: none; }
  .as-home [data-as-reveal] { opacity: 1; transform: none; transition: none; }
  .as-home [data-as-parallax] { transform: none; }
  .as-home *, .as-home *::before, .as-home *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
