/* Opening restored from the Auloria desktop and mobile reference captures. */
.site-header { position: fixed; inset: 0 0 auto; width: 100%; background: transparent; border-bottom-color: #f4f0e82e; }
.site-header:not(.is-scrolled) { color: var(--linen); }
.site-header:not(.is-scrolled) .brand img { filter: brightness(0) invert(1); background: transparent; }
.site-header:not(.is-scrolled) .header-actions > .button { color: var(--linen); background: transparent; border-color: #f4f0e880; }
.site-header:not(.is-scrolled) .header-actions > .button:hover { background: #183c3880; }
.site-header:not(.is-scrolled) .menu-toggle { color: var(--linen); }
.site-header.is-scrolled { box-shadow: 0 3px 18px #183c3808; }
@media (min-width: 1241px) {
  .site-header:not(.is-scrolled) .site-nav > a:hover,
  .site-header:not(.is-scrolled) .site-nav > a[aria-current="location"] { color: var(--copper-light); }
}
.hero { position: relative; display: flex; align-items: center; width: 100%; min-height: 100svh; padding: 156px 0 124px; gap: 0; overflow: hidden; background: #102b25; color: var(--linen); }
.hero-layout { position: relative; z-index: 10; }
.hero-copy { max-width: 760px; padding: 0; }
.hero .eyebrow { color: var(--linen); margin-bottom: 32px; font-size: 10px; }
.hero .accent-line { width: 38px; background: var(--copper-light); }
.hero h1 { font-size: clamp(72px, 7.8vw, 118px); line-height: 1.02; letter-spacing: -.035em; margin-bottom: 32px; }
.hero h1 em { color: var(--copper-light); }
.hero-signature { max-width: none; font-size: 17px; font-weight: 600; }
.hero-description { max-width: 525px; color: var(--linen); font-size: 16px; line-height: 1.8; margin-top: 18px; }
.hero-actions { margin-top: 30px; gap: 16px 30px; }
.hero-actions .button { color: var(--green); background: var(--copper-light); font-weight: 400; border-color: var(--copper-light); }
.hero-actions .button:hover { background: var(--linen); border-color: var(--linen); }
.hero-actions .button .icon { color: var(--green); }
.hero-actions .text-link .icon { color: var(--copper-light); }
.hero-actions .text-link:hover { color: var(--copper-light); }
.hero-location { color: var(--linen); max-width: 500px; font-size: 10px; margin-top: 26px; }
.hero-photograph, .hero-photograph.leaf-shelter { position: absolute; inset: 0; z-index: 0; padding: 0; min-width: 0; }
.hero-photograph picture { position: absolute; inset: 0; z-index: 0; height: 100%; width: 100%; min-height: 0; border: 0; border-radius: 0; aspect-ratio: auto; }
.hero-photograph img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center; filter: saturate(.7); background: transparent; }
.hero-photograph::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #092820d9 0%, #0d2d269c 45%, #0d2d2633 100%), linear-gradient(0deg, #102b2580, #102b2520 65%, #102b2560); }
.hero-photograph figcaption { display: block; position: absolute; z-index: 2; inset: auto max(var(--gutter), calc((100vw - var(--content)) / 2)) 112px auto; padding: 0; color: var(--linen); text-align: right; }
.hero-photograph figcaption > span:first-child { display: block; font-family: var(--serif); font-size: 23px; line-height: 1.3; letter-spacing: -.015em; }
.hero-photograph figcaption > span:last-child { display: block; margin-top: 12px; font: 400 9px/1.6 var(--sans); letter-spacing: 0; text-transform: none; }
.hero-wave { position: absolute; z-index: 11; bottom: -1px; left: 0; display: block; width: 100%; height: 86px; pointer-events: none; }
.hero-wave .wave-fill { fill: var(--linen); }
.hero-wave .wave-line { fill: none; stroke: var(--copper-light); stroke-width: 1; vector-effect: non-scaling-stroke; }
.reassurance-strip { background: var(--linen); border-top: 0; }
.reassurance-strip ul { padding-block: 28px; }
.text-restored-motion { transition: opacity .5s ease, transform .65s cubic-bezier(.2,.65,.3,1); }
.text-restored-motion.is-outside { opacity: .15; transform: translateY(var(--text-shift, 18px)); }
.text-restored-motion:focus-within { opacity: 1; transform: none; }
@media (max-width: 1240px) {
  .site-header .site-nav { color: var(--green); }
  .hero h1 { font-size: clamp(68px, 7.8vw, 96px); }
  .hero-photograph figcaption { display: none; }
}
@media (min-width: 701px) and (max-width: 900px) { .hero h1 { font-size: 82px; } }
@media (max-width: 700px) {
  .hero { min-height: 100svh; padding: 140px 0 110px; }
  .hero-copy { max-width: none; }
  .hero .eyebrow { font-size: 9px; letter-spacing: .12em; margin-bottom: 24px; gap: 10px; }
  .hero .accent-line { width: 24px; }
  .hero h1 { font-size: 14.4vw; line-height: 1.02; margin-bottom: 26px; }
  .hero-signature { font-size: 15px; }
  .hero-description { margin-top: 17px; font-size: 14px; line-height: 1.8; }
  .hero-actions { flex-direction: column; align-items: flex-start; margin-top: 26px; gap: 12px; }
  .hero-actions .button { min-width: 204px; min-height: 52px; font-size: 13px; }
  .hero-actions .text-link { font-size: 12px; }
  .hero-location { margin-top: 24px; font-size: 10px; }
  .hero-photograph img { object-position: 70% center; }
  .hero-photograph::after { background: linear-gradient(180deg, #09282066, #0b2a239c 34%, #0a2924d9 75%, #102b2540); }
  .hero-wave { height: 48px; }
  .site-header .header-inner { gap: 14px; }
  .site-header .header-actions { gap: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .text-restored-motion, .text-restored-motion.is-outside { opacity: 1; transform: none; transition: none; }
}
