/* Full-bleed garden photograph with transparent navigation at the top. */
body.home-page { --hero-navigation-height:88px; --hero-garden:#103d2d; --hero-stage-height:clamp(620px,44.5vw,780px); --hero-image-lift:0px; --hero-photo-stage:var(--hero-stage-height); --hero-image-position:55%; }
body.home-page.brand-identity.type-system .site-header { margin-bottom:calc(-1 * var(--hero-navigation-height)); background:transparent; border:0; transition:background-color .18s ease; }
body.home-page.brand-identity.type-system .header-inner { min-height:var(--hero-navigation-height); }
body.home-page.brand-identity.type-system .site-header:not(.scrolled) .brand-mark img,
body.home-page.brand-identity.type-system .site-header:not(.scrolled) .brand-mark::after { filter:brightness(0) invert(1); mix-blend-mode:normal; }
body.home-page.brand-identity.type-system .site-header:not(.scrolled) :is(.brand-tagline,.menu-toggle) { color:#fff; }
body.home-page.brand-identity.type-system .site-header:not(.scrolled) #main-nav a:not(.nav-contact) { color:#fff; }
body.home-page.brand-identity.type-system .site-header:not(.scrolled) .brand-tagline { border-color:rgb(255 255 255 / .5); }
body.home-page.brand-identity.type-system .site-header:not(.scrolled) #main-nav .nav-home { background:transparent; }
body.home-page.brand-identity.type-system .site-header:not(.scrolled) #main-nav .nav-home:hover { background:rgb(255 255 255 / .15); }
body.home-page.brand-identity.type-system .site-header.scrolled,
body.home-page.brand-identity.type-system.menu-open .site-header { background:#fff; }
body.home-page.brand-identity.type-system .site-header a:focus-visible { outline-color:var(--design-accent); }
body.home-page.brand-identity.type-system .rr-hero { --site-type-hero:2.5rem; background:var(--hero-garden); }
body.home-page.brand-identity.type-system .rr-hero-inner { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(22px,4vw,51px); min-height:var(--hero-stage-height); padding-block:calc(var(--hero-navigation-height) + 58px) 80px; }
body.home-page.brand-identity.type-system .rr-hero-copy { grid-column:1; width:100%; max-width:520px; }
body.home-page.brand-identity.type-system .rr-hero .rr-hero-copy > .gl-hero-eyebrow { color:#ffd486; font-size:11px!important; font-weight:600!important; line-height:1.5!important; letter-spacing:.1em!important; margin:0 0 14px; max-width:52ch; text-wrap:balance; }
body.home-page.brand-identity.type-system .rr-hero-art img { object-position:55% 75%; }
body.home-page.brand-identity.type-system .rr-hero-art::before { background:linear-gradient(180deg,rgb(9 38 25 / .46),rgb(9 38 25 / .06) 24%,transparent 45%),linear-gradient(90deg,rgb(9 38 25 / .66),rgb(9 38 25 / .54) 27%,rgb(9 38 25 / .32) 41%,rgb(9 38 25 / .045) 62%,transparent 77%); }
body.home-page.brand-identity.type-system .rr-hero h1,
body.home-page.brand-identity.type-system .rr-hero h1 span { color:#fff; }
/* Both headline phrases share the same scale and stay inside the copy column. */
body.home-page.brand-identity.type-system .rr-hero h1 .gl-hero-last {
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  margin-top:0;
}
@media(min-width:1001px) {
  body.home-page.brand-identity.type-system .rr-hero h1 .gl-hero-last {
    width:auto;
    max-width:100%;
  }
}
body.home-page.brand-identity.type-system .rr-hero .gl-hero-description { color:#f5f8f2; font-size:var(--site-type-body)!important; line-height:var(--site-leading-body)!important; max-width:60ch; margin-top:16px; }
body.home-page.brand-identity.type-system .rr-hero .gl-hero-brand { font-weight:600; }
/* One aligned row of equally sized actions, with icons beside their labels. */
body.home-page.brand-identity.type-system .rr-hero .actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:min(100%,456px);
  margin-top:19px;
  align-items:stretch;
}
body.home-page.brand-identity.type-system .rr-hero .actions .button {
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:48px;
  padding:10px 16px;
  gap:8px;
  font-size:var(--site-type-control)!important;
  line-height:1.4!important;
  white-space:normal;
  text-align:center;
  text-wrap:balance;
}
body.home-page.brand-identity.type-system .rr-hero .actions svg { width:18px; height:18px; flex-shrink:0; }
body.home-page.brand-identity.type-system .rr-hero .gl-play-icon path { fill:var(--hero-garden); }
body.home-page.brand-identity.type-system .rr-hero .button:not(.secondary) { background:var(--design-accent); border-color:var(--design-accent); color:#17392d; }
body.home-page.brand-identity.type-system .rr-hero .button:not(.secondary):hover { background:#ffcb67; border-color:#ffcb67; }
body.home-page.brand-identity.type-system .rr-hero .button.secondary { background:transparent; color:#fff; border-color:rgb(255 255 255 / .8); }
body.home-page.brand-identity.type-system .rr-hero .button.secondary:hover { background:rgb(255 255 255 / .12); }
body.home-page.brand-identity.type-system .rr-hero .button:focus-visible { outline-color:#fff; }
/* Preserve the original curved transition into the white page below. */
body.home-page.brand-identity.type-system .rr-hero::after { content:""; position:absolute; z-index:3; inset:auto 0 -1px; height:38px; pointer-events:none; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 32C380 0 950 0 1440 32V40H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat; }
@media(max-width:1000px) {
  body.home-page { --hero-navigation-height:76px; --hero-image-lift:0px; --hero-photo-stage:clamp(320px,50vw,460px); --hero-image-position:60%; }
  body.home-page.brand-identity.type-system .rr-hero-inner { grid-template-columns:minmax(0,1fr); gap:0; min-height:0; padding-block:calc(var(--hero-navigation-height) + 38px) 19px; }
  body.home-page.brand-identity.type-system .rr-hero-copy { width:100%; max-width:620px; }
  body.home-page.brand-identity.type-system .rr-hero::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(180deg,rgb(9 38 25 / .58),rgb(16 61 45 / .74) 70%,var(--hero-garden)),url('assets/img/lifestyle-hero-final3-raised-tablet.jpg') left top/auto 100% no-repeat; }
  body.home-page.brand-identity.type-system .rr-hero-art { z-index:1; height:clamp(320px,50vw,460px); aspect-ratio:auto; }
  body.home-page.brand-identity.type-system .rr-hero-art img { object-position:60% center; -webkit-mask-image:linear-gradient(180deg,transparent var(--hero-image-lift),#000 calc(20% + var(--hero-image-lift)),#000 100%); mask-image:linear-gradient(180deg,transparent var(--hero-image-lift),#000 calc(20% + var(--hero-image-lift)),#000 100%); }
  body.home-page.brand-identity.type-system .rr-hero-art::before { background:none; }
  body.home-page.brand-identity.type-system .header-inner #main-nav { background:#fff; max-height:calc(100svh - var(--hero-navigation-height)); overflow-y:auto; }
  body.home-page.brand-identity.type-system .site-header:not(.scrolled) #main-nav a:not(.nav-contact),
  body.home-page.brand-identity.type-system.menu-open .site-header :is(.brand-tagline,.menu-toggle) { color:var(--forest); }
  body.home-page.brand-identity.type-system.menu-open .site-header .brand-mark img,
body.home-page.brand-identity.type-system.menu-open .site-header .brand-mark::after { filter:brightness(0) saturate(100%) invert(22%) sepia(23%) saturate(1596%) hue-rotate(112deg) brightness(93%) contrast(98%); }
}
@media(max-width:800px) {
  body.home-page.brand-identity.type-system .rr-hero { --site-type-hero:1.75rem; }
}
@media(max-width:580px) {
  body.home-page.brand-identity.type-system .rr-hero .rr-hero-copy > .gl-hero-eyebrow { font-size:11px!important; }
  body.home-page.brand-identity.type-system .rr-hero-inner { padding-top:calc(var(--hero-navigation-height) + 35px); }
  body.home-page.brand-identity.type-system .rr-hero::after { height:22px; }
}
@media(prefers-reduced-motion:reduce) { body.home-page.brand-identity.type-system .site-header { transition:none; } }

/* A shared composition: copy at left, tablet at 55% across the garden scene. */
@media(min-width:1001px) {
  body.home-page {
    --hero-tablet-y:74%;
  }
  body.home-page.brand-identity.type-system .rr-hero-art img {
    inset:0;
    height:100%;
    object-fit:cover;
    object-position:55% 75%;
    -webkit-mask-image:none;
    mask-image:none;
  }
  body.home-page.brand-identity.type-system .rr-hero-art::before {
    -webkit-mask-image:radial-gradient(ellipse 11% 16% at 55% var(--hero-tablet-y),transparent 10%,rgb(0 0 0 / .35) 48%,#000 100%);
    mask-image:radial-gradient(ellipse 11% 16% at 55% var(--hero-tablet-y),transparent 10%,rgb(0 0 0 / .35) 48%,#000 100%);
  }
  body.home-page.brand-identity.type-system .rr-hero .gl-hero-note {
    left:calc(57% + 56px);
    right:auto;
    top:calc(var(--hero-tablet-y) - 10px);
    bottom:auto;
    width:160px;
    font-size:16px;
  }
}
@media(max-width:580px) {
  body.home-page.brand-identity.type-system .rr-hero .gl-hero-description { font-size:var(--site-type-body)!important; margin-top:16px; }
  body.home-page.brand-identity.type-system .rr-hero-inner { padding-bottom:16px; }
  body.home-page.brand-identity.type-system .rr-hero .actions { gap:8px; margin-top:19px; }
  body.home-page.brand-identity.type-system .rr-hero .actions .button { padding-inline:8px; gap:6px; font-size:var(--site-type-control)!important; }
  body.home-page.brand-identity.type-system .rr-hero .actions svg { width:16px; height:16px; }
}
@media(max-width:360px) {
  body.home-page.brand-identity.type-system .rr-hero .actions { gap:8px; }
  body.home-page.brand-identity.type-system .rr-hero .actions .button { padding-inline:6px; gap:4px; font-size:var(--site-type-control)!important; }
  body.home-page.brand-identity.type-system .rr-hero .actions svg { width:14px; height:14px; }
}
@media(min-width:1001px) and (max-width:1200px) {
  body.home-page.brand-identity.type-system .rr-hero-inner { padding-bottom:83px; }
}

/* The supplied photo fills the hero naturally; preserve its complete subject framing. */
body.home-page.brand-identity.type-system .rr-hero-art img { transform:none; }
body.home-page.brand-identity.type-system .rr-hero-art::after { content:none; }
@media(max-width:1000px) {
  body.home-page.brand-identity.type-system .rr-hero .gl-hero-note { bottom:calc(5% + var(--hero-image-lift)); }
}
