:root{--cream:#f2ede3;--paper:#fffaf2;--green:#2f4f3f;--green2:#385e4b;--terra:#bb684c;--text:#2b2f2a;--muted:#777a70;--line:rgba(47,79,63,.14);--shadow:0 28px 80px rgba(47,79,63,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}img{max-width:100%;display:block}a{color:inherit}.shell{width:min(1420px,calc(100% - 42px));margin-inline:auto}.topbar{width:min(1420px,calc(100% - 42px));height:104px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo-link img{width:136px;max-height:72px;object-fit:contain}.top-cta{border:1px solid var(--line);border-radius:999px;padding:11px 16px;text-decoration:none;color:var(--green);font-weight:800;font-size:13px;background:rgba(255,250,242,.6)}
.hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(460px,1.05fr);gap:72px;align-items:center;padding:58px 0 78px;min-height:690px}.kicker{color:var(--terra);font-size:10px;letter-spacing:.18em;font-weight:900;text-transform:uppercase}.kicker.light{color:#efb9a4}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--green)}.hero h1{font-size:clamp(62px,6.4vw,98px);line-height:.92;letter-spacing:-.045em;margin:15px 0 25px;max-width:760px}.hero-copy>p{max-width:650px;color:#62675f;font-size:18px;line-height:1.65}.hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:31px}.button{min-height:52px;padding:0 21px;border:0;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:850;cursor:pointer}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green2)}.cream{background:var(--paper);color:var(--green)}.text-link{color:var(--green);font-weight:800;text-decoration:none}.hero-notes{display:flex;gap:17px;flex-wrap:wrap;margin-top:26px;color:var(--muted);font-size:12px;font-weight:700}.hero-notes span{display:flex;align-items:center;gap:7px}.hero-notes i{width:7px;height:7px;background:var(--terra);border-radius:50%}.hero-photo{position:relative;margin:0;min-height:580px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}.hero-photo>img{width:100%;height:580px;object-fit:cover;object-position:center 43%}.hero-photo:after{content:"";position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(transparent,rgba(26,38,30,.55))}.hero-photo figcaption{position:absolute;z-index:2;left:28px;right:28px;bottom:25px;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:20px}.hero-photo figcaption span{font-size:10px;letter-spacing:.16em;font-weight:900}.hero-photo figcaption strong{font:28px Georgia,serif;font-weight:400}
.promo-band{background:var(--green);color:#fff}.promo-band-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.7fr);gap:80px;padding-top:66px;padding-bottom:66px;align-items:center}.promo-band h2,.club-block h2{color:#fff;font-size:clamp(43px,5vw,70px);line-height:.96;margin:12px 0 0;letter-spacing:-.03em}.promo-band-copy p{color:rgba(255,255,255,.72);line-height:1.7;margin:0 0 22px}.section{padding-top:100px;padding-bottom:100px}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.58fr);gap:70px;align-items:end;margin-bottom:43px}.section-head.compact{grid-template-columns:1fr}.section-head h2,.form-copy h2{font-size:clamp(45px,5vw,73px);line-height:.96;letter-spacing:-.03em;margin:12px 0 0}.section-head>p{color:var(--muted);line-height:1.65;font-size:14px}.editorial-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-areas:"a b" "a c";gap:18px}.product-card{display:grid;background:var(--paper);border:1px solid var(--line);border-radius:28px;overflow:hidden}.product-card-a{grid-area:a;grid-template-rows:minmax(520px,1fr) auto}.product-card-b{grid-area:b;grid-template-columns:.9fr 1.1fr}.product-card-c{grid-area:c;grid-template-columns:1.05fr .95fr}.photo-wrap{min-height:310px;overflow:hidden;background:#ddd}.photo-wrap img{width:100%;height:100%;object-fit:cover}.product-copy{padding:25px 27px}.product-copy>span{color:var(--terra);font-size:10px;letter-spacing:.14em;font-weight:900}.product-copy h3{font-size:31px;margin:8px 0 9px}.product-copy p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.step-grid article{min-height:255px;padding:27px;background:rgba(255,250,242,.78);border:1px solid var(--line);border-radius:25px}.step-grid b{font:22px Georgia,serif;color:var(--terra)}.step-grid h3{font-size:31px;margin:76px 0 9px}.step-grid p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.club-block{background:#385e4b;color:#fff}.club-inner{display:grid;grid-template-columns:.83fr 1.17fr;gap:90px;padding-top:84px;padding-bottom:84px;align-items:center}.club-copy p{max-width:610px;color:rgba(255,255,255,.72);line-height:1.7}.club-visual{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:27px;padding:29px}.tier{display:flex;align-items:center;justify-content:space-between}.tier span{font:25px Georgia,serif}.tier b{font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.58)}.tier.active span{color:#f3bea9}.club-visual>i{display:block;width:2px;height:29px;margin:8px 0 8px 14px;background:rgba(255,255,255,.16)}
.form-zone{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.form-copy>p{max-width:570px;color:var(--muted);line-height:1.7}.promo-form{padding:28px;border:1px solid var(--line);border-radius:28px;background:var(--paper);box-shadow:var(--shadow)}.promo-form>label:not(.check){display:grid;gap:7px;margin-bottom:13px}.promo-form>label>span{font-size:11px;color:var(--green);font-weight:850}.promo-form small{color:var(--muted);font-weight:600}.promo-form input[type="email"],.promo-form input[type="tel"],.promo-form input:not([type]){height:53px;border:1px solid var(--line);border-radius:15px;padding:0 14px;background:#fff;outline:none}.check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;color:var(--muted);font-size:12px;line-height:1.5}.check input{margin-top:3px}.check a{font-weight:850;color:var(--green)}.error{min-height:20px;color:#934d3b;font-size:12px}.submit{width:100%;margin-top:7px}.safe-note{display:block;text-align:center;margin-top:12px;font-size:10px}.footer{border-top:1px solid var(--line);padding:28px 0 40px;display:flex;justify-content:space-between;gap:30px;color:var(--muted);font-size:11px}.footer>div{display:grid;gap:4px}.footer strong{color:var(--green)}.footer nav{display:flex;gap:18px;flex-wrap:wrap}.footer a{text-decoration:none}
.legal{width:min(900px,calc(100% - 30px));margin:auto;padding:50px 0 80px}.legal h1{font-size:64px;margin:12px 0 8px}.legal .updated{color:var(--muted);font-size:11px;margin-bottom:28px}.legal section{padding:23px 25px;border:1px solid var(--line);border-radius:22px;background:var(--paper);margin:12px 0}.legal h2{font-size:26px;margin:0 0 8px}.legal p{color:#5d635a;line-height:1.7;font-size:14px}.legal-back{display:inline-block;margin-bottom:35px;text-decoration:none;font-weight:850;color:var(--green)}.thanks{width:min(720px,calc(100% - 30px));min-height:100vh;margin:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.thanks img{width:140px;max-height:76px;object-fit:contain;margin-bottom:30px}.thanks h1{font-size:76px;line-height:.94;margin:12px 0}.thanks p{color:var(--muted);font-size:16px;line-height:1.65;max-width:600px}
@media(max-width:1000px){.hero,.club-inner,.form-zone{grid-template-columns:1fr;gap:38px}.hero{min-height:auto;padding-top:45px}.hero-photo,.hero-photo>img{min-height:520px;height:520px}.promo-band-inner,.section-head{grid-template-columns:1fr;gap:15px}.editorial-grid{grid-template-columns:1fr;grid-template-areas:"a" "b" "c"}.product-card-a,.product-card-b,.product-card-c{grid-template-columns:1fr;grid-template-rows:auto}.product-card .photo-wrap{min-height:460px;height:460px}.step-grid{grid-template-columns:1fr}.step-grid h3{margin-top:45px}}
@media(max-width:620px){.shell,.topbar{width:min(100% - 18px,1420px)}.topbar{height:82px}.logo-link img{width:103px;max-height:58px}.top-cta{font-size:11px;padding:9px 12px}.hero{padding:38px 5px 58px;gap:31px}.hero h1{font-size:55px}.hero-copy>p{font-size:15px}.hero-photo,.hero-photo>img{min-height:470px;height:470px;border-radius:26px}.hero-photo figcaption{left:20px;right:20px;bottom:18px}.hero-photo figcaption strong{font-size:23px}.promo-band-inner{padding:49px 5px}.section{padding:67px 5px}.section-head h2,.form-copy h2{font-size:44px}.product-card .photo-wrap{height:410px;min-height:410px}.product-copy{padding:22px}.step-grid article{min-height:220px}.club-inner{padding:60px 5px;gap:31px}.club-block h2{font-size:45px}.club-visual{padding:23px}.promo-form{padding:20px;border-radius:22px}.footer{flex-direction:column}.legal h1,.thanks h1{font-size:53px}}


/* ============================================================
   L2B — Product balance + continuous carousel
   ============================================================ */
.product-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.product-tile{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(250px,.95fr);
  min-height:390px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:28px;
  background:var(--paper);
}
.product-image{
  min-height:390px;
  overflow:hidden;
  background:#ddd;
}
.product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.product-tile:nth-child(1) .product-image img{object-position:center 48%}
.product-tile:nth-child(2) .product-image img{object-position:center 45%}
.product-tile:nth-child(3) .product-image img{object-position:center 58%}
.product-tile:nth-child(4) .product-image img{object-position:center center}
.product-tile .product-copy{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:27px 28px 30px;
}
.product-tile .product-copy h3{font-size:31px}

.gallery-section{
  overflow:hidden;
  background:rgba(255,250,242,.36);
  border-top:1px solid var(--line);
}
.carousel-head{margin-bottom:34px}
.carousel-shell{
  width:100%;
  overflow:hidden;
  padding:0 0 12px;
}
.carousel-track{
  display:flex;
  gap:15px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  padding:0 max(21px,calc((100vw - 1420px)/2)) 12px;
  cursor:grab;
}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track:active{cursor:grabbing}
.carousel-track figure{
  flex:0 0 clamp(240px,23vw,350px);
  height:455px;
  margin:0;
  overflow:hidden;
  border-radius:25px;
  scroll-snap-align:start;
  background:#ddd;
  box-shadow:0 18px 50px rgba(47,79,63,.07);
}
.carousel-track figure:nth-child(3n+2){height:410px;margin-top:23px}
.carousel-track figure:nth-child(4n+3){height:435px;margin-top:8px}
.carousel-track img{
  width:100%;
  height:100%;
  object-fit:cover;
}

@media(max-width:1180px){
  .product-grid{grid-template-columns:1fr}
  .product-tile{grid-template-columns:minmax(0,1fr) minmax(250px,.7fr)}
}
@media(max-width:700px){
  .product-grid{gap:13px}
  .product-tile{
    grid-template-columns:1fr;
    min-height:0;
  }
  .product-image{height:335px;min-height:335px}
  .product-tile .product-copy{min-height:155px;padding:22px}
  .carousel-track{
    gap:11px;
    padding-left:9px;
    padding-right:9px;
  }
  .carousel-track figure,
  .carousel-track figure:nth-child(3n+2),
  .carousel-track figure:nth-child(4n+3){
    flex-basis:72vw;
    height:405px;
    margin-top:0;
  }
}


/* ============================================================
   L2C — Hero margherita + flat SVG icons + motion polish
   ============================================================ */
.step-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.flat-icon{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  flex:0 0 68px;
  border-radius:20px;
  background:rgba(223,231,220,.72);
  color:var(--green);
  transform:translateY(-2px);
  transition:transform .35s ease,background .35s ease,box-shadow .35s ease;
}
.flat-icon svg{
  width:42px;
  height:42px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.flat-icon .icon-accent{
  stroke:var(--terra);
}
.step-grid article{
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.step-grid article:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 48px rgba(47,79,63,.08);
  border-color:rgba(47,79,63,.22);
}
.step-grid article:hover .flat-icon{
  transform:translateY(-5px) rotate(-2deg);
  background:rgba(223,231,220,.95);
  box-shadow:0 12px 26px rgba(47,79,63,.08);
}

/* Hero image: very subtle living image, not a zoom-heavy ad effect. */
.motion-hero{
  transform:scale(1.015);
  transition:transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.hero-photo:hover .motion-hero{
  transform:scale(1.045);
}

/* Scroll reveals */
.reveal,
.reveal-section,
.reveal-card{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .75s ease,
    transform .75s cubic-bezier(.2,.7,.2,1);
}
.reveal-left{transform:translate(-28px,16px)}
.reveal-right{transform:translate(28px,16px)}
.reveal.is-visible,
.reveal-section.is-visible,
.reveal-card.is-visible{
  opacity:1;
  transform:translate(0,0);
}
.step-grid .reveal-card:nth-child(2){transition-delay:.10s}
.step-grid .reveal-card:nth-child(3){transition-delay:.20s}

/* Tiny editorial underline reveal on major headings */
.reveal-section .section-head h2,
.reveal-section .form-copy h2,
.reveal-section .club-copy h2{
  position:relative;
}
.reveal-section .section-head h2::after,
.reveal-section .form-copy h2::after,
.reveal-section .club-copy h2::after{
  content:"";
  display:block;
  width:42px;
  height:2px;
  margin-top:17px;
  background:var(--terra);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .7s ease .18s;
}
.reveal-section.is-visible .section-head h2::after,
.reveal-section.is-visible .form-copy h2::after,
.reveal-section.is-visible .club-copy h2::after{
  transform:scaleX(1);
}
.club-block .club-copy h2::after{background:#efb9a4}

@media(max-width:620px){
  .flat-icon{
    width:60px;
    height:60px;
    flex-basis:60px;
    border-radius:18px;
  }
  .flat-icon svg{width:37px;height:37px}
}

/* Accessibility: animation never blocks content. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal-section,.reveal-card{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .motion-hero,.hero-photo:hover .motion-hero{
    transform:none!important;
    transition:none!important;
  }
  .step-grid article,.flat-icon{
    transition:none!important;
    transform:none!important;
  }
  .reveal-section .section-head h2::after,
  .reveal-section .form-copy h2::after,
  .reveal-section .club-copy h2::after{
    transform:scaleX(1)!important;
    transition:none!important;
  }
}
