/* Generated from the Okanagan design source. Edit tokens here. */
:root{--okl-forest:#0A2A1B;--okl-deep:#06190F;--okl-lime:#C6E36B;--okl-olive:#6F9B2E;--okl-paper:#F5F7EE;}
*{box-sizing:border-box}
img{max-width:100%}
.okl-page{overflow-x:hidden}
.okl-slot-empty{display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;font:600 12px/1.4 'Barlow',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(10,42,27,.55);background:rgba(10,42,27,.06);border:1px dashed rgba(10,42,27,.35)}
.okl-img{width:100%;height:100%;object-fit:cover;display:block}
.okl-quote-thanks{display:none;font:600 16px/1.5 'Barlow',sans-serif;color:var(--okl-forest)}
.okl-sent .okl-quote-thanks{display:block}
.okl-sent .okl-quote-fields{display:none}
.rv{opacity:0;transition:opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1)}
.rv-rise{transform:translateY(28px)}.rv-left{transform:translateX(-30px)}.rv-right{transform:translateX(30px)}.rv-scale{transform:scale(.97)}.rv-clip{transform:translateY(18px)}
.rv.rv-in{opacity:1;transform:none}

  body { margin: 0; background: #F5F7EE; }
  html { scroll-behavior: smooth; }
  .okl-page > section { scroll-margin-top: 72px; }
  .stickybar { position: fixed; top: 0; left: 0; right: 0; z-index: 60; transform: translateY(-100%); transition: transform 0.42s cubic-bezier(0.22, 0.61, 0.36, 1); }
  .stickybar.on { transform: translateY(0); }
  .pulse { animation: pulseRing 2.6s ease-out infinite; }
  .pulseDark { animation: pulseRingDark 2.6s ease-out infinite; }
  @keyframes pulseRingDark { 0% { box-shadow: 0 0 0 0 rgba(10, 42, 27, 0.5); } 70% { box-shadow: 0 0 0 18px rgba(10, 42, 27, 0); } 100% { box-shadow: 0 0 0 0 rgba(10, 42, 27, 0); } }
  @keyframes pulseRing { 0% { box-shadow: 0 0 0 0 rgba(198, 227, 107, 0.55); } 70% { box-shadow: 0 0 0 18px rgba(198, 227, 107, 0); } 100% { box-shadow: 0 0 0 0 rgba(198, 227, 107, 0); } }
  .par { will-change: transform; }
  .caret { animation: caretBlink 1s steps(1, end) infinite; }
  @keyframes caretBlink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
  .rvw { display: inline-block; overflow: hidden; vertical-align: bottom; }
  .rvw > span { display: inline-block; transform: translateY(105%); opacity: 0; transition: transform 0.72s cubic-bezier(0.22,0.61,0.36,1), opacity 0.72s ease; }
  .rvw.in > span { transform: translateY(0); opacity: 1; }
  .trk { opacity: 0; transition: letter-spacing 0.9s cubic-bezier(0.22,0.61,0.36,1), opacity 0.7s ease; }
  .trk.in { opacity: 1; }
  .wipe { position: relative; }
  .wipe::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -3px; height: 1px; background: currentColor; transition: right 0.42s cubic-bezier(0.22,0.61,0.36,1); }
  .wipe:hover::after { right: 0; }
  section { transition: background-color 0.9s ease; }
  @media (max-width: 1100px) {
    .okl-page [style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
    .okl-page [style*="padding: 0 56px"], .okl-page [style*="0 56px 52px"], .okl-page [style*="44px 56px 0"] { padding-left: 24px !important; padding-right: 24px !important; }
  }
  @media (max-width: 860px) {
    .okl-page [style*="display: flex"]:not([style*="position: absolute"]) { flex-wrap: wrap !important; }
    .okl-page [style*="max-width"]:not([style*="position: absolute"]) { max-width: 100% !important; }
    .okl-page [style*="white-space: nowrap"] { white-space: normal !important; }
    .okl-page section > div:not([style*="position: absolute"]), .okl-page footer > div:not([style*="position: absolute"]) { padding-left: 20px !important; padding-right: 20px !important; }
    .okl-page [style*="margin-left: -"] { margin-left: 0 !important; }
    .okl-page [style*="padding: 96px 56px 104px 0"], .okl-page [style*="padding: 104px 0 100px"], .okl-page [style*="padding: 100px 0 96px"], .okl-page [style*="padding: 96px 0 88px"] { padding-top: 64px !important; padding-bottom: 64px !important; }
    #hero { height: auto !important; min-height: 100svh !important; }
    #hero h1 { font-size: clamp(30px, 8.2vw, 44px) !important; }
    .stickybar { display: none !important; }
    .par { transform: none !important; }
  }
  @media (max-width: 560px) {
    .okl-page section > div:not([style*="position: absolute"]), .okl-page footer > div:not([style*="position: absolute"]) { padding-left: 16px !important; padding-right: 16px !important; }
    .okl-page [style*="font-size: 15px"][style*="text-transform: uppercase"] { font-size: 13px !important; }
  }
  @media (prefers-reduced-motion: reduce) { .rvw > span { transform: none; opacity: 1; transition: none; } .trk { opacity: 1; transition: none; } }

  @media (prefers-reduced-motion: reduce) { html { scroll-snap-type: none; } .pulse { animation: none; } }
  a { color: #0A2A1B; text-decoration: none; }
  a:hover { color: #6F9B2E; }
  .sw1 { transform-box: fill-box; transform-origin: 50% 100%; animation: sw1 5.5s ease-in-out infinite; }
  .sw2 { transform-box: fill-box; transform-origin: 50% 100%; animation: sw2 7s ease-in-out infinite; }
  @keyframes sw1 { 0% { transform: rotate(-9deg) skewX(-4deg); } 45% { transform: rotate(10deg) skewX(5deg); } 70% { transform: rotate(3deg) skewX(1.5deg); } 100% { transform: rotate(-9deg) skewX(-4deg); } }
  .treesway { transform-box: fill-box; transform-origin: 50% 96%; animation: treeSway 5.5s ease-in-out infinite; }
  @keyframes treeSway { 0%, 100% { transform: rotate(-4.5deg) translateX(-2px); } 50% { transform: rotate(4.5deg) translateX(2px); } }
  .sway, .sway-t, .flex, .flex-t { transform-box: fill-box; }
  .sway { transform-origin: 100% 100%; animation: logoSway 4.5s ease-in-out infinite; }
  .sway-t { transform-origin: 0% 100%; animation: logoSwayB 5.6s ease-in-out infinite; }
  .flex { transform-origin: 100% 100%; animation: logoFlex 4s ease-in-out infinite; }
  .flex-t { transform-origin: 0% 100%; animation: logoFlex 5.2s ease-in-out infinite reverse; }
  @keyframes logoSway { 0% { transform: rotate(-7deg); } 45% { transform: rotate(7.5deg); } 100% { transform: rotate(-7deg); } }
  @keyframes logoSwayB { 0% { transform: rotate(6.5deg); } 45% { transform: rotate(-7deg); } 100% { transform: rotate(6.5deg); } }
  @keyframes logoFlex { 0%,100% { transform: skewX(-5deg) scaleY(0.97); } 50% { transform: skewX(6deg) scaleY(1.05); } }
  @keyframes sw2 { 0% { transform: rotate(11deg) skewX(4.5deg); } 40% { transform: rotate(-8deg) skewX(-3.5deg); } 75% { transform: rotate(2deg); } 100% { transform: rotate(11deg) skewX(4.5deg); } }
  .drift-a { animation: driftA 7s ease-in-out infinite; }
  @keyframes driftA { 0%,100% { transform: rotate(-1.2deg); } 50% { transform: rotate(1.4deg); } }
  .outlinehead { color: transparent; -webkit-text-stroke: 1.6px #0A2A1B; }
  .ribbonhead { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(100deg, rgba(0,88,46,0) 0%, #0A2A1B 8%, #6F9B2E 22%, #6F9B2E 36%, #C6E36B 50%, #6F9B2E 64%, #6F9B2E 78%, #0A2A1B 92%, rgba(0,88,46,0) 100%); background-size: 200% 100%; background-repeat: no-repeat; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; animation: ribbonPan 26s ease-in-out infinite; }
  @keyframes ribbonPan { 0% { background-position: -40% 50%; } 50% { background-position: 140% 50%; } 100% { background-position: -40% 50%; } }
  @media (prefers-reduced-motion: reduce) { .ribbonhead { animation: none; } }
  .rv { opacity: 0; transform: translateY(22px); transition: opacity 0.7s ease, transform 0.75s cubic-bezier(0.22, 1, 0.36, 1), filter 0.7s ease, clip-path 0.9s cubic-bezier(0.22, 1, 0.36, 1); }
  .rv-left { transform: translateX(-46px); }
  .rv-right { transform: translateX(46px); }
  .rv-scale { transform: scale(0.94); }
  .rv-blur { transform: none; filter: blur(9px); }
  .rv-clip { transform: none; clip-path: inset(0 0 100% 0); }
  .rv-rise { transform: translateY(56px); }
  .rv-in { opacity: 1; transform: none; filter: none; clip-path: inset(0 0 0 0); }
  .latticedrift { animation: latticeDrift 90s ease-in-out infinite alternate; transform-origin: 50% 50%; }
  @keyframes latticeDrift { from { transform: translate(0, 0) scale(1); } to { transform: translate(-52px, -34px) scale(1.045); } }
  .logofloat { animation: logoFloat 6s ease-in-out infinite; transition: transform 0.4s ease; }
  @keyframes logoFloat { 0%, 100% { transform: translateY(0) rotate(-1deg) scale(1); } 50% { transform: translateY(-5px) rotate(1.2deg) scale(1.03); } }
  .marklift { animation: markLift 6.5s ease-in-out infinite; }
  @keyframes markLift { 0%, 100% { transform: translateY(0) rotate(-1.4deg); } 50% { transform: translateY(-4px) rotate(1.6deg); } }
  .logofloat:hover { animation-play-state: paused; transform: translateY(-4px) scale(1.03); }
  @media (prefers-reduced-motion: reduce) { .rv { opacity: 1; transform: none; filter: none; clip-path: none; transition: none; } .logofloat, .marklift { animation: none; } }
  @media (prefers-reduced-motion: reduce) { .sw1, .sw2, .drift-a, .fillhead { animation: none; } }

.oh1:hover{color:#6F9B2E !important;}
.oh2:hover{color:#6F9B2E !important;}
.oh3:hover{color:#6F9B2E !important;}
.oh4:hover{color:#6F9B2E !important;}
.oh5:hover{background:#E4F3AE !important;}
.oh6:hover{color:#6F9B2E !important;}
.oh7:hover{color:#6F9B2E !important;}
.oh8:hover{color:#6F9B2E !important;}
.oh9:hover{color:#6F9B2E !important;}
.oh10:hover{background:#E4F3AE !important;}
.oh11:hover{background:#E4F3AE !important;}
.oh12:hover{background:#04703a !important;}
.oh13:hover{background:#E4F3AE !important;}
.oh14:hover{background:#0A2A1B !important; color:#EEF6E2 !important; border-color:#0A2A1B !important;}
.oh15:hover{background:#0A2A1B !important; color:#EEF6E2 !important; border-color:#0A2A1B !important;}
.oh16:hover{background:#0A2A1B !important; color:#EEF6E2 !important; border-color:#0A2A1B !important;}
.oh17:hover{background:#0A2A1B !important; color:#EEF6E2 !important; border-color:#0A2A1B !important;}
.oh18:hover{background:#0A2A1B !important; color:#EEF6E2 !important; border-color:#0A2A1B !important;}
.oh19:hover{background:#0A2A1B !important; color:#EEF6E2 !important; border-color:#0A2A1B !important;}
.oh20:hover{background:#0A2A1B !important; color:#EEF6E2 !important; border-color:#0A2A1B !important;}
.oh21:hover{background:#0A2A1B !important; color:#EEF6E2 !important; border-color:#0A2A1B !important;}
.oh22:hover{background:#0A2A1B !important; color:#EEF6E2 !important; border-color:#0A2A1B !important;}
.oh23:hover{color:#6F9B2E !important;}
.oh24:hover{color:#6F9B2E !important;}
.oh25:hover{color:#6F9B2E !important;}
.oh26:hover{color:#6F9B2E !important;}
.oh27:hover{color:#6F9B2E !important;}
.oh28:hover{background:#D6EE8B !important;}
.oh29:hover{color:#6F9B2E !important;}
.oh30:hover{background:#D6EE8B !important;}
.oh31:hover{background:#D6EE8B !important;}
.oh32:hover{background:#06190F !important;}
.oh33:hover{color:#C6E36B !important;}
.oh34:hover{color:#C6E36B !important;}
.oh35:focus-visible{border-color:#A8CE63 !important; background:#FFFFFF !important;}
.oh36:focus-visible{border-color:#A8CE63 !important; background:#FFFFFF !important;}
.oh37:focus-visible{border-color:#A8CE63 !important; background:#FFFFFF !important;}
.oh38:focus-visible{border-color:#A8CE63 !important; background:#FFFFFF !important;}
.oh39:focus-visible{border-color:#A8CE63 !important; background:#FFFFFF !important;}
.oh40:focus-visible{border-color:#A8CE63 !important; background:#FFFFFF !important;}
.oh41:focus-visible{border-color:#A8CE63 !important; background:#FFFFFF !important;}
.oh42:hover{background:#0A2A1B !important; color:#EEF6E2 !important;}
.oh43:hover{background:#C6E36B !important; color:#0A2A1B !important; border-color:#C6E36B !important;}
.oh44:hover{background:#C6E36B !important; color:#0A2A1B !important; border-color:#C6E36B !important;}
.oh45:hover{background:#C6E36B !important; color:#0A2A1B !important; border-color:#C6E36B !important;}
.oh46:hover{color:#C6E36B !important;}
.oh47:hover{color:#C6E36B !important;}
.oh48:hover{color:#C6E36B !important;}
.oh49:hover{color:#C6E36B !important;}
.oh50:hover{color:#C6E36B !important;}
.oh51:hover{color:#C6E36B !important;}
.oh52:hover{color:#C6E36B !important;}
.oh53:hover{color:#C6E36B !important;}
.oh54:hover{color:#C6E36B !important;}
.oh55:hover{color:#C6E36B !important;}
.oh56:hover{color:#C6E36B !important;}
.oh57:hover{color:#C6E36B !important;}
.oh58:hover{color:#C6E36B !important;}
.oh59:hover{color:#C6E36B !important;}
.oh60:hover{color:#C6E36B !important;}
.oh61:hover{color:#C6E36B !important;}
.oh62:hover{color:#C6E36B !important;}
.oh63:hover{color:#C6E36B !important;}
.oh64:hover{color:#C6E36B !important;}
.oh65:hover{color:#C6E36B !important;}

  a[style*="background: #C6E36B"], a[style*="background: #0A2A1B"], a[style*="background:#C6E36B"], button[type="submit"], .okl-btn {
    transition: transform 0.28s cubic-bezier(0.22,0.61,0.36,1), background-color 0.28s ease, box-shadow 0.28s ease;
    will-change: transform;
  }
  a[style*="background: #C6E36B"]:hover, a[style*="background: #0A2A1B"]:hover, a[style*="background:#C6E36B"]:hover, button[type="submit"]:hover, .okl-btn:hover {
    transform: scale(1.045) translateY(-1px);
    box-shadow: 0 10px 26px rgba(10, 42, 27, 0.22);
  }
  a[style*="background: #C6E36B"]:active, a[style*="background: #0A2A1B"]:active, button[type="submit"]:active, .okl-btn:active { transform: scale(0.985); }
  @media (prefers-reduced-motion: reduce) { a:hover, button:hover { transform: none !important; } }

  .okl-media { overflow: hidden; }
  .okl-media img, .okl-media image-slot, .okl-media > * { transition: transform 0.75s cubic-bezier(0.22,0.61,0.36,1), filter 0.6s ease; }
  .okl-media:hover img, .okl-media:hover image-slot, .okl-media:hover > * { transform: scale(1.055); filter: saturate(1.06); }
  .okl-card { transition: transform 0.4s cubic-bezier(0.22,0.61,0.36,1), box-shadow 0.4s ease, border-color 0.4s ease; }
  .okl-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(10, 42, 27, 0.14); border-color: rgba(10, 42, 27, 0.3) !important; }
  .okl-row { transition: background-color 0.35s ease, padding-left 0.35s cubic-bezier(0.22,0.61,0.36,1); }
  .okl-row:hover { background-color: rgba(198, 227, 107, 0.16) !important; padding-left: 10px !important; }
  @media (prefers-reduced-motion: reduce) { .okl-media:hover img, .okl-card:hover, .okl-row:hover { transform: none; } }

  .okl-step h3 { transition: color 0.3s ease; }
  .okl-step span[style*="border-radius: 999px"] { transition: background-color 0.35s ease, color 0.35s ease, transform 0.35s cubic-bezier(0.22,0.61,0.36,1); }
  .okl-step:hover h3 { color: #6F9B2E !important; }
  .okl-step:hover span[style*="border-radius: 999px"] { background-color: #C6E36B !important; color: #0A2A1B !important; transform: scale(1.12); }
  .okl-step > div[style*="border-radius: 14px"], .okl-step [style*="width: 64px"][style*="height: 64px"] { transition: transform 0.4s cubic-bezier(0.22,0.61,0.36,1), box-shadow 0.4s ease; }
  .okl-step:hover > div[style*="border-radius: 14px"], .okl-step:hover [style*="width: 64px"][style*="height: 64px"] { transform: translateY(-5px); }
  @media (prefers-reduced-motion: reduce) { .okl-step:hover [style*="width: 64px"], .okl-step:hover span[style*="border-radius: 999px"] { transform: none; } }

/* Gallery */
.okl-gallery{columns:4 260px;column-gap:16px;max-width:1560px;margin:0 auto;padding:0 20px}
.okl-gallery-item{position:relative;display:block;break-inside:avoid;margin:0 0 16px;border-radius:12px;overflow:hidden}
.okl-gallery-img{width:100%;height:auto;display:block}
.okl-gallery-cap{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;font:600 14px/1.3 'Barlow',sans-serif;color:#fff;background:linear-gradient(transparent,rgba(6,25,15,.78));opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}
.okl-gallery-item:hover .okl-gallery-cap{opacity:1;transform:none}
.okl-lb{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(6,25,15,.92);opacity:0;pointer-events:none;transition:opacity .3s ease}
.okl-lb.on{opacity:1;pointer-events:auto}
.okl-lb img{max-width:92vw;max-height:84vh;display:block;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.okl-lb figcaption{position:absolute;left:0;right:0;bottom:24px;text-align:center;font:600 15px 'Barlow',sans-serif;color:#EEF6E2}
.okl-lb button{position:absolute;background:none;border:0;color:#EEF6E2;font:400 40px/1 'Barlow',sans-serif;cursor:pointer;padding:12px 18px}
.okl-lb button:hover{color:#C6E36B}
.okl-lb .x{top:14px;right:14px;font-size:34px}.okl-lb .pv{left:8px;top:50%;transform:translateY(-50%)}.okl-lb .nx{right:8px;top:50%;transform:translateY(-50%)}
@media (max-width:560px){.okl-gallery{columns:2 140px;column-gap:10px;padding:0 12px}.okl-gallery-item{margin-bottom:10px}}

/* Service tags */
.okl-chip{cursor:default;transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .3s cubic-bezier(.22,.61,.36,1)}
.okl-chip:hover{background:#0A2A1B !important;color:#EEF6E2 !important;border-color:#0A2A1B !important;transform:translateY(-2px)}

  .okl-live::after { content: ""; position: absolute; inset: 0; border-radius: 999px; background: #6F9B2E; animation: oklLive 1.8s ease-out infinite; }
  @keyframes oklLive { 0% { transform: scale(1); opacity: 0.7; } 100% { transform: scale(2.8); opacity: 0; } }
  @media (prefers-reduced-motion: reduce) { .okl-live::after { animation: none; } }
.okl-call247{transition:background-color .3s ease,color .3s ease,transform .3s cubic-bezier(.22,.61,.36,1)}.okl-call247:hover{background:#0A2A1B !important;color:#C6E36B !important;transform:translateY(-2px)}
