/* Summit Motion Layer: effects that sit on top of the Elementor-built design. */

html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

body { background-color: #F8F7F3; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: clip; }
::selection { background: #F5A800; color: #0B1510; }
:where(a, button, [role="button"]):focus-visible { outline: 2px solid #F5A800; outline-offset: 3px; border-radius: 6px; }

/* Serif accents inside display type */
:is(h1, h2, h3, h4, p) em { font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -0.01em; }
[data-sg-accent="green"] em { color: #0A6B3B; }
[data-sg-accent="gold"] em { color: #F5A800; }
[data-sg-accent="leaf"] em { color: #7DD39A; }
h1[data-sg-accent] em { font-size: 1.14em; letter-spacing: -0.02em; line-height: 1; }

/* Scroll progress */
.sg-progress { position: fixed; top: 0; left: 0; width: 100%; height: 3px; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, #0A6B3B, #3FB56B 40%, #F5A800 75%, #E3161B); z-index: 10001; pointer-events: none; }

/* Header: full-width bar in the Stripe Sessions style - transparent over the photo hero, light frosted bar elsewhere */
[data-sg~="header"] { top: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important; padding: 14px 4vw !important; border-radius: 0; background-color: rgba(248, 247, 243, .9); -webkit-backdrop-filter: saturate(1.4) blur(16px); backdrop-filter: saturate(1.4) blur(16px); box-shadow: 0 1px 0 rgba(13, 42, 31, .08); transition: background-color .4s ease, box-shadow .4s ease; }
body.admin-bar [data-sg~="header"] { top: 32px !important; }
@media (max-width: 782px) { body.admin-bar [data-sg~="header"] { top: 46px !important; } }
@media (max-width: 767px) { [data-sg~="header"] { padding: 10px 16px !important; } }
[data-sg~="header"] [data-sg~="navlink"] { font-weight: 400 !important; transition: color .3s ease; }
[data-sg~="header"] [data-sg~="btn"]:not([data-sg~="menu"]) { background-color: #0D2A1F !important; border-color: #0D2A1F !important; color: #F8F7F3 !important; padding: 11px 20px !important; font-size: 14px !important; font-weight: 400 !important; }
[data-sg~="header"] [data-sg~="btn"]:not([data-sg~="menu"]):hover { background-color: #0A6B3B !important; border-color: #0A6B3B !important; }
[data-sg~="header"] [data-sg~="menu"] { padding: 10px 16px !important; font-size: 14px !important; font-weight: 400 !important; }
[data-sg~="header"] img { transition: filter .3s ease; }
[data-sg~="header"].on-dark:not(.menu-open) { background-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; }
[data-sg~="header"].on-dark:not(.menu-open) img { filter: brightness(0) invert(1); }
[data-sg~="header"].on-dark:not(.menu-open) [data-sg~="navlink"] { color: #FFFFFF !important; }
[data-sg~="header"].on-dark:not(.menu-open) [data-sg~="btn"]:not([data-sg~="menu"]) { background-color: #F8F7F3 !important; border-color: #F8F7F3 !important; color: #0D2A1F !important; }
[data-sg~="header"].on-dark:not(.menu-open) [data-sg~="btn"]:not([data-sg~="menu"]):hover { background-color: #F5A800 !important; border-color: #F5A800 !important; }
[data-sg~="header"].on-dark:not(.menu-open) [data-sg~="menu"] { color: #FFFFFF !important; border-color: rgba(255, 255, 255, .45) !important; background-color: transparent !important; }
[data-sg~="navlink"] { position: relative; }
[data-sg~="navlink"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -5px; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: 100% 50%; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
[data-sg~="navlink"]:hover::after { transform: scaleX(1); transform-origin: 0 50%; }
[data-sg~="menu"] { display: none !important; }
@media (max-width: 1024px) {
  [data-sg~="menu"] { display: inline-flex !important; }
  [data-sg~="nav"] { position: fixed !important; inset: 0; margin: 0 !important; z-index: -1; display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: center !important; gap: 6px !important; padding: 96px 24px 40px !important; background-color: #F5F2EA; opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility .45s ease; }
  [data-sg~="nav"] [data-sg~="navlink"] { font-family: 'Inter Tight', sans-serif !important; font-size: clamp(30px, 8vw, 48px) !important; font-weight: 600 !important; letter-spacing: -0.04em !important; line-height: 1.15 !important; color: #0B1510 !important; transform: translateY(24px); opacity: 0; transition: transform .6s cubic-bezier(.16,1,.3,1), opacity .5s ease; }
  [data-sg~="header"].menu-open { background-color: transparent !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; box-shadow: none !important; transform: none !important; }
  [data-sg~="header"].menu-open [data-sg~="nav"] { opacity: 1; visibility: visible; }
  [data-sg~="header"].menu-open [data-sg~="navlink"] { transform: none; opacity: 1; }
  [data-sg~="header"].menu-open [data-sg~="navlink"]:nth-child(2) { transition-delay: .05s; }
  [data-sg~="header"].menu-open [data-sg~="navlink"]:nth-child(3) { transition-delay: .1s; }
  [data-sg~="header"].menu-open [data-sg~="navlink"]:nth-child(4) { transition-delay: .15s; }
  [data-sg~="header"].menu-open [data-sg~="navlink"]:nth-child(5) { transition-delay: .2s; }
  [data-sg~="header"].menu-open [data-sg~="navlink"]:nth-child(6) { transition-delay: .25s; }
}

/* Buttons */
[data-sg~="btn"] { transition: background-color .35s ease, color .35s ease, border-color .35s ease, translate .45s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease !important; }
[data-sg~="btn"] i { font-style: normal; display: inline-block; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
[data-sg~="btn"]:hover i { transform: translateX(5px); }

/* Live dot */
[data-sg~="live"]::before { content: ""; display: inline-block; flex: none; width: 8px; height: 8px; margin-right: 10px; border-radius: 50%; background: #3FB56B; animation: sgPulse 2.2s cubic-bezier(.2,.7,.2,1) infinite; }
@keyframes sgPulse { 0% { box-shadow: 0 0 0 0 rgba(63,181,107,.6); } 70% { box-shadow: 0 0 0 10px rgba(63,181,107,0); } 100% { box-shadow: 0 0 0 0 rgba(63,181,107,0); } }

/* Split headline reveal (extra top room keeps umlauts and accents unclipped) */
.sg-js [data-sg~="split"] .sg-w { display: inline-block; overflow: hidden; vertical-align: top; padding: .16em .08em .12em 0; margin: -.16em -.08em -.12em 0; }
.sg-js [data-sg~="split"] .sg-wi { display: inline-block; transform: translateY(125%) rotate(4deg); transform-origin: 0 100%; transition: transform 1.15s cubic-bezier(.16,1,.3,1); transition-delay: calc(var(--i, 0) * 55ms + var(--d, 0ms)); will-change: transform; }
.sg-js [data-sg~="split"].is-in .sg-wi { transform: none; }

/* Generic reveal + stagger */
.sg-js [data-sg~="reveal"] { opacity: 0; transform: translateY(42px); transition: opacity 1s cubic-bezier(.16,1,.3,1), transform 1.25s cubic-bezier(.16,1,.3,1); transition-delay: var(--d, 0ms); }
.sg-js [data-sg~="reveal"].is-in { opacity: 1; transform: none; }
.sg-js [data-sg~="stagger"] > * { opacity: 0; transform: translateY(46px); transition: opacity 1s cubic-bezier(.16,1,.3,1), transform 1.25s cubic-bezier(.16,1,.3,1); transition-delay: calc(var(--i, 0) * 110ms + var(--d, 0ms)); }
.sg-js [data-sg~="stagger"].is-in > * { opacity: 1; transform: none; }
.sg-js [data-sg~="fade"] { opacity: 0; transition: opacity 1.6s ease; transition-delay: var(--d, 0ms); }
.sg-js [data-sg~="fade"].is-in { opacity: 1; }

/* Scroll-lit words */
.sg-js [data-sg~="words"] .sg-ww { opacity: .14; transition: opacity .35s ease; }
.sg-js [data-sg~="words"] .sg-ww.is-lit { opacity: 1; }

/* Marquee */
[data-sg~="marquee"] { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
[data-sg~="marquee"] > :first-child { flex-wrap: nowrap !important; width: max-content !important; animation: sgMarquee var(--sg-dur, 48s) linear infinite; }
[data-sg~="marquee"]:hover > :first-child { animation-play-state: paused; }
[data-sg~="marquee"] > :first-child > * { flex: none; white-space: nowrap; }
@keyframes sgMarquee { to { transform: translate3d(-50%, 0, 0); } }

/* Spotlight cards */
[data-sg~="spot"] { isolation: isolate; overflow: hidden; transition: translate .6s cubic-bezier(.2,.7,.2,1), border-color .4s ease, background-color .4s ease !important; }
[data-sg~="spot"]::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(560px circle at var(--mx, 50%) var(--my, 50%), rgba(245,168,0,.16), transparent 45%); opacity: 0; transition: opacity .5s ease; }
[data-sg~="spot"]::after { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none; background: radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%), rgba(245,168,0,.9), transparent 60%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .5s ease; }
[data-sg~="spot"]:hover::before, [data-sg~="spot"]:hover::after { opacity: 1; }
[data-sg~="spot"]:hover { translate: 0 -6px; }

/* Lift cards */
[data-sg~="lift"] { transition: translate .6s cubic-bezier(.2,.7,.2,1), box-shadow .6s ease, background-color .4s ease !important; }
[data-sg~="lift"]:hover { translate: 0 -8px; box-shadow: 0 30px 60px -30px rgba(6,61,38,.35); }

/* Audience hover list */
[data-sg~="row"] { border-radius: 0 !important; transition: background-color .55s cubic-bezier(.2,.7,.2,1), padding .55s cubic-bezier(.2,.7,.2,1), border-color .4s ease, border-radius .55s ease !important; }
[data-sg~="row"] :is(h3, p) { transition: color .45s ease, translate .6s cubic-bezier(.2,.7,.2,1) !important; }
@media (hover: hover) and (min-width: 1025px) {
  [data-sg~="row"] img { display: none !important; }
  [data-sg~="row"]:hover { background-color: rgba(13,42,31,.04) !important; padding-left: 24px !important; padding-right: 24px !important; border-radius: 18px !important; }
  [data-sg~="row"]:hover h3 { translate: 12px 0; }
  [data-sg~="row"]:hover [data-sg~="rownum"] { color: #0A6B3B !important; }
}
.sg-float { position: fixed; left: 0; top: 0; width: 340px; aspect-ratio: 4 / 3; border-radius: 20px; overflow: hidden; pointer-events: none; z-index: 60; opacity: 0; scale: .6; transition: opacity .35s ease, scale .6s cubic-bezier(.16,1,.3,1); box-shadow: 0 40px 80px -30px rgba(0,0,0,.45); }
.sg-float.is-on { opacity: 1; scale: 1; }
.sg-float img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; scale: 1.15; transition: opacity .5s ease, scale 1s cubic-bezier(.16,1,.3,1); }
.sg-float img.is-on { opacity: 1; scale: 1; }

/* Horizontal card track: pinned scroll on desktop, swipe with snap on touch and smaller screens */
.sg-hs-sticky { display: flex; flex-direction: column; width: 100%; }
[data-sg~="hstrack"] { flex-wrap: nowrap !important; will-change: transform; }
[data-sg~="hstrack"] > * { flex: 0 0 auto !important; }
@media (max-width: 1024px), (hover: none) {
  [data-sg~="hstrack"] { overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin-right: -40px; padding-right: 40px !important; }
  [data-sg~="hstrack"]::-webkit-scrollbar { display: none; }
  [data-sg~="hstrack"] > * { scroll-snap-align: start; }
}
@media (max-width: 767px) { [data-sg~="hstrack"] { margin-right: -20px; padding-right: 20px !important; } }

/* Fluent Forms registration form, styled to match the site */
.sg-fluent-wrap { width: 100%; }
.sg-fluent-wrap .fluentform .ff-el-group { margin-bottom: 18px; }
.sg-fluent-wrap .fluentform .ff-el-input--label label { font-family: 'Inter Tight', sans-serif !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .08em; text-transform: uppercase; color: #0D2A1F !important; }
.sg-fluent-wrap .fluentform .ff-el-input--label.asterisk-right label:after { color: #0A6B3B !important; }
.sg-fluent-wrap .fluentform .ff-el-form-control { height: 54px !important; min-height: 54px; line-height: 1.2 !important; padding: 0 18px !important; border: 1px solid rgba(13,42,31,.16) !important; border-radius: 14px !important; background-color: rgba(255,255,255,.75) !important; font-family: 'Inter Tight', sans-serif !important; font-size: 15px !important; color: #0D2A1F !important; box-shadow: none !important; transition: border-color .3s ease, box-shadow .3s ease, background-color .3s ease; }
.sg-fluent-wrap .fluentform .ff-el-form-control::placeholder { color: rgba(13,42,31,.4); }
.sg-fluent-wrap .fluentform .ff-el-form-control:focus { border-color: #0A6B3B !important; box-shadow: 0 0 0 4px rgba(10,107,59,.14) !important; background-color: #FFFFFF !important; outline: none; }
.sg-fluent-wrap .fluentform select.ff-el-form-control { -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%230B1510' stroke-width='1.6'/></svg>") !important; background-repeat: no-repeat !important; background-position: right 18px center !important; padding-right: 44px !important; }
.sg-fluent-wrap .fluentform .ff_submit_btn_wrapper { margin-top: 8px; margin-bottom: 0; }
.sg-fluent-wrap .fluentform .ff-btn-submit { width: 100%; padding: 18px 28px !important; border: 0 !important; border-radius: 999px !important; background-color: #0D2A1F !important; color: #F8F7F3 !important; font-family: 'Inter Tight', sans-serif !important; font-size: 16px !important; font-weight: 500 !important; transition: background-color .35s ease, color .35s ease; }
.sg-fluent-wrap .fluentform .ff-btn-submit:hover { background-color: #0A6B3B !important; opacity: 1 !important; }
.sg-fluent-wrap .fluentform .ff-el-is-error .ff-el-form-control { border-color: #E3161B !important; }
.sg-fluent-wrap .fluentform .error, .sg-fluent-wrap .fluentform .text-danger { font-family: 'Inter Tight', sans-serif; font-size: 13px; color: #B42318; margin-top: 6px; }
.sg-fluent-wrap .ff-message-success { border: 0 !important; border-radius: 16px; background: #EEF5EF !important; color: #0D2A1F !important; padding: 22px 24px !important; font-family: 'Inter Tight', sans-serif; font-size: 15px; line-height: 1.6; box-shadow: none !important; }
.sg-fluent-wrap .ff-message-success p { margin: 0 0 8px; }
@media (max-width: 767px) { .sg-fluent-wrap .fluentform .ff-t-container { flex-direction: column; } .sg-fluent-wrap .fluentform .ff-t-cell { width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; } }
[data-sg~="hsprev"][disabled], [data-sg~="hsnext"][disabled] { opacity: .3; pointer-events: none; }
[data-sg~="hscount"] { font-variant-numeric: tabular-nums; }

/* Cookie consent banner */
.sg-consent { position: fixed; right: 24px; bottom: 24px; z-index: 10000; width: min(420px, calc(100vw - 24px)); box-sizing: border-box; padding: 22px 22px 20px; border-radius: 20px; background: #F8F7F3; color: #0D2A1F; border: 1px solid rgba(13,42,31,.12); box-shadow: 0 24px 60px -24px rgba(13,42,31,.35); font-family: 'Inter Tight', sans-serif; opacity: 0; transform: translateY(16px); transition: opacity .4s ease, transform .5s cubic-bezier(.16,1,.3,1); }
.sg-consent.is-on { opacity: 1; transform: none; }
.sg-consent[hidden] { display: none; }
.sg-consent__title { margin: 0 0 6px; font-size: 16px; font-weight: 500; letter-spacing: -.01em; color: #0D2A1F; }
.sg-consent__text { margin: 0 0 16px; font-size: 14px; line-height: 1.55; color: #5D6A63; }
.sg-consent__text a { color: #0D2A1F; text-decoration: underline; text-underline-offset: 2px; }
.sg-consent__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.sg-consent .sg-consent__btn { -webkit-appearance: none; appearance: none; cursor: pointer; margin: 0; border-radius: 999px !important; padding: 11px 18px !important; font: 500 14px/1 'Inter Tight', sans-serif !important; border: 1px solid rgba(13,42,31,.22) !important; background: transparent !important; color: #0D2A1F !important; transition: background-color .3s ease, color .3s ease, border-color .3s ease; }
.sg-consent .sg-consent__btn:hover { border-color: #0D2A1F !important; }
.sg-consent .sg-consent__btn.is-primary { background: #0D2A1F !important; border-color: #0D2A1F !important; color: #F8F7F3 !important; }
.sg-consent .sg-consent__btn.is-primary:hover { background: #0A6B3B !important; border-color: #0A6B3B !important; }
@media (max-width: 767px) { .sg-consent { left: 12px; right: 12px; bottom: 12px; width: auto; } .sg-consent .sg-consent__btn { flex: 1; } }
/* Clip-path reveal */
.sg-js [data-sg~="clip"] { clip-path: inset(var(--cy, 10%) var(--cx, 6%) var(--cy, 10%) var(--cx, 6%) round var(--cr, 36px)); will-change: clip-path; }
.sg-js [data-sg~="clip"] img { scale: var(--cs, 1.15); }

/* Parallax + zoom */
[data-sg~="parallax"] { overflow: hidden; }
[data-sg~="parallax"] img { scale: 1.2; transform: translate3d(0, var(--py, 0px), 0); will-change: transform; }
[data-sg~="zoom"] img { scale: var(--zs, 1.12); transform-origin: 50% 40%; will-change: scale; }

/* Dot field canvas */
[data-sg~="dots"] > .sg-dots { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; }
[data-sg~="dots"] > :not(.sg-dots) { z-index: 1; }

/* Ambient glows + grain for dark sections */
[data-sg~="glow"] { overflow: hidden; isolation: isolate; }
[data-sg~="glow"]::before { content: ""; position: absolute; z-index: -1; width: 70vw; height: 70vw; max-width: 1100px; max-height: 1100px; left: -18vw; top: -30vw; border-radius: 50%; background: radial-gradient(closest-side, rgba(10,107,59,.55), rgba(10,107,59,0)); pointer-events: none; animation: sgDrift 22s ease-in-out infinite alternate; }
[data-sg~="glow"]::after { content: ""; position: absolute; z-index: -1; width: 50vw; height: 50vw; max-width: 800px; max-height: 800px; right: -14vw; bottom: -22vw; border-radius: 50%; background: radial-gradient(closest-side, rgba(245,168,0,.20), rgba(245,168,0,0)); pointer-events: none; animation: sgDrift 26s ease-in-out infinite alternate-reverse; }
@keyframes sgDrift { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(8vw, 6vw, 0) scale(1.15); } }
[data-sg~="grain"] > .sg-grain { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .07; mix-blend-mode: overlay; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }

/* Countdown */
[data-sg~="cdnum"] { font-variant-numeric: tabular-nums; }

/* Form polish */
[data-sg~="field"] { transition: border-color .3s ease, box-shadow .3s ease, background-color .3s ease !important; }
[data-sg~="field"]:focus { border-color: #0A6B3B !important; box-shadow: 0 0 0 4px rgba(10,107,59,.14) !important; background-color: #fff !important; outline: none; }
select[data-sg~="field"] { -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%230B1510' stroke-width='1.6'/></svg>") !important; background-repeat: no-repeat !important; background-position: right 18px center !important; padding-right: 44px !important; }
select[data-sg~="field"]:invalid { color: rgba(11,21,16,.45) !important; }
select[data-sg~="field"] option { color: #0B1510; }

/* Failsafe + reduced motion */
.sg-failsafe:not(.sg-booted) :is([data-sg~="reveal"], [data-sg~="fade"], [data-sg~="stagger"] > *) { opacity: 1 !important; transform: none !important; }
.sg-failsafe:not(.sg-booted) [data-sg~="clip"] { clip-path: none !important; }
@media (prefers-reduced-motion: reduce) {
  [data-sg~="marquee"] > :first-child, [data-sg~="glow"]::before, [data-sg~="glow"]::after, [data-sg~="live"]::before { animation: none !important; }
  .sg-js :is([data-sg~="reveal"], [data-sg~="fade"], [data-sg~="stagger"] > *, [data-sg~="split"] .sg-wi) { opacity: 1 !important; transform: none !important; transition: none !important; }
  .sg-js [data-sg~="words"] .sg-ww { opacity: 1; }
  [data-sg~="hstrack"] { overflow-x: auto; scroll-snap-type: x mandatory; }
  [data-sg~="hstrack"] > * { scroll-snap-align: start; }
}
