@layer reset,base,components,utilities;
@layer reset{*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p,ul{margin:0}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}}
@layer base{:root{--ink:#142b3a;--green:#0e3a5d;--green2:#155b82;--cream:#f2f8fb;--paper:#ffffff;--sand:#d9e6ee;--gold:#e5b867;--terracotta:#168aad;--muted:#5d6f7b;--shadow:0 22px 60px rgba(14,58,93,.14);--radius:22px}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;text-rendering:optimizeLegibility}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.08;text-wrap:balance}h1{font-size:clamp(3rem,7vw,6.8rem);letter-spacing:-.055em}h2{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.035em}h3{font-size:clamp(1.25rem,2vw,1.7rem)}p{max-width:68ch}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.76rem;color:var(--terracotta)}.lede{font-size:clamp(1.08rem,2vw,1.34rem);color:var(--muted)}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}.section{padding:clamp(76px,10vw,132px) 0}.skip{position:absolute;left:-999px;top:8px;background:white;padding:10px;z-index:100}.skip:focus{left:8px}}
@layer components{.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(14,58,93,.1)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{width:215px;line-height:0}.links{display:flex;gap:26px;align-items:center;font-size:.92rem;font-weight:700}.links a{text-decoration:none}.links a:hover{color:var(--terracotta)}.menu{display:none;border:0;background:var(--green);color:white;border-radius:999px;padding:10px 15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid transparent;transition:.2s transform,.2s background}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--green);color:white}.btn-primary:hover{background:var(--green2)}.btn-light{background:white;color:var(--green)}.btn-outline{border-color:rgba(14,58,93,.25)}.hero{position:relative;min-height:760px;display:grid;align-items:center;color:white;isolation:isolate;background:#0e3a5d}.hero::before{content:"";position:absolute;inset:-70px 0;z-index:-2;background-image:url('okanagan-home.webp');background-size:cover;background-position:center calc(50% + var(--hero-shift,0px));will-change:background-position}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,36,58,.95) 0%,rgba(7,36,58,.79) 43%,rgba(7,36,58,.12) 78%)}.hero-copy{padding:110px 0;width:min(720px,68%)}.hero .eyebrow{color:#f0cf96}.hero .lede{color:rgba(255,255,255,.86);font-size:clamp(1.1rem,2vw,1.45rem);margin-top:24px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.mini-proof{display:flex;flex-wrap:wrap;gap:18px 34px;margin-top:46px;font-size:.9rem;color:rgba(255,255,255,.84)}.mini-proof span::before{content:"✦";color:var(--gold);margin-right:9px}.trust{background:var(--cream);border-bottom:1px solid var(--sand)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.trust-item{padding:30px;text-align:center;border-right:1px solid var(--sand)}.trust-item:last-child{border:0}.trust-item strong{display:block;font-family:Georgia,serif;font-size:1.15rem}.intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,8vw,110px);align-items:end}.intro h2{max-width:13ch}.intro .lede{margin-top:22px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}.card{background:white;border:1px solid var(--sand);border-radius:var(--radius);padding:32px;box-shadow:0 12px 40px rgba(14,58,93,.06);position:relative;overflow:hidden}.card::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(215,180,118,.18);right:-55px;top:-55px}.icon{width:46px;height:46px;border-radius:14px;background:var(--cream);display:grid;place-items:center;color:var(--terracotta);font-size:1.25rem;margin-bottom:22px}.card h3{margin-bottom:12px}.card p{color:var(--muted)}.text-link{display:inline-block;margin-top:20px;color:var(--green);font-weight:800;text-underline-offset:5px}.featured{background:var(--green);color:white}.featured p{color:rgba(255,255,255,.76)}.featured .icon{background:rgba(255,255,255,.1);color:var(--gold)}.featured .text-link{color:white}.inspection{background:var(--cream)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,100px);align-items:center}.checklist{list-style:none;padding:0;margin-top:28px;display:grid;gap:15px}.checklist li{display:grid;grid-template-columns:26px 1fr;gap:10px}.checklist li::before{content:"✓";color:var(--terracotta);font-weight:900}.legal-note{margin-top:26px;padding:18px 20px;border-left:3px solid var(--gold);background:white;color:var(--muted);font-size:.88rem}.steps{display:grid;gap:14px}.step{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:23px;background:white;border-radius:18px}.step b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--green);color:white}.owner{background:var(--paper)}.portrait{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5}.portrait img{width:100%;height:100%;object-fit:cover}.owner-copy h2{margin:12px 0 25px}.owner-copy p+p{margin-top:16px}.area{background:var(--green);color:white}.area .lede{color:rgba(255,255,255,.75)}.places{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.place{padding:11px 16px;border:1px solid rgba(255,255,255,.22);border-radius:999px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-list{border-top:1px solid var(--sand)}details{border-bottom:1px solid var(--sand);padding:20px 0}summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::after{content:"+";color:var(--terracotta);font-size:1.4rem}details[open] summary::after{content:"−"}details p{color:var(--muted);padding-top:12px}.cta{background:var(--terracotta);color:white;border-radius:32px;padding:clamp(38px,7vw,75px);display:flex;justify-content:space-between;align-items:center;gap:40px}.cta p{color:rgba(255,255,255,.84);margin-top:12px}.footer{background:#082a42;color:white;padding:60px 0 26px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:50px}.footer .logo{filter:brightness(0) invert(1)}.footer p,.footer a{color:rgba(255,255,255,.7)}.footer a:hover{color:white}.footer ul{list-style:none;padding:0;display:grid;gap:9px}.footer h3{font-family:Inter,sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:18px}.fine{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:22px;font-size:.8rem;color:rgba(255,255,255,.52);display:flex;justify-content:space-between;gap:18px}.page-hero{background:var(--green);color:white;padding:110px 0 90px}.page-hero h1{font-size:clamp(2.8rem,6vw,5.6rem);max-width:13ch}.page-hero .lede{color:rgba(255,255,255,.78);margin-top:22px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:70px}.prose h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:58px 0 18px}.prose h2:first-child{margin-top:0}.prose h3{margin:30px 0 12px}.prose p+p{margin-top:16px}.prose ul{padding-left:22px;margin-top:15px}.sidebar{position:sticky;top:110px;height:max-content;background:var(--cream);border-radius:22px;padding:28px}.sidebar p{color:var(--muted);margin:12px 0 22px}.notice{background:#fff8e9;border:1px solid #ead5a8;padding:20px;border-radius:15px;margin:26px 0;color:#5b4b30}}
@layer utilities{.mt{margin-top:26px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
@media(max-width:840px){.links{display:none;position:absolute;left:20px;right:20px;top:70px;background:white;border:1px solid var(--sand);border-radius:18px;padding:22px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.links.open{display:flex}.menu{display:block}.nav>.btn{display:none}.hero{min-height:680px}.hero::after{background:linear-gradient(90deg,rgba(7,36,58,.95),rgba(7,36,58,.68))}.hero-copy{width:100%}.trust-grid,.service-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--sand)}.intro,.split,.faq,.content-grid{grid-template-columns:1fr}.service-grid{gap:14px}.owner .portrait{max-width:520px;margin:auto}.faq{gap:32px}.cta{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.sidebar{position:static}.page-hero{padding:80px 0 70px}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1180px)}.logo{width:178px}.nav{min-height:68px}.hero{min-height:720px}.hero-copy{padding:80px 0}.hero h1{font-size:clamp(3.15rem,16vw,4.6rem)}.actions{display:grid}.actions .btn{width:100%}.mini-proof{display:grid;gap:10px}.section{padding:70px 0}.card{padding:25px}.footer-grid{grid-template-columns:1fr}.fine{flex-direction:column}.content-grid{gap:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Premium motion system — progressive, restrained and accessibility-safe */
.scroll-progress{position:fixed;z-index:120;left:0;top:0;width:100%;height:3px;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--gold),#55c6dc);box-shadow:0 0 14px rgba(85,198,220,.55);pointer-events:none}
.header{transition:box-shadow .35s ease,background .35s ease}
.header.is-scrolled{background:rgba(255,255,255,.97);box-shadow:0 12px 38px rgba(14,58,93,.1)}
.reveal-armed .reveal-item{opacity:0;transform:translateY(34px);filter:blur(3px)}
.reveal-armed .reveal-item.is-visible{opacity:1;transform:translateY(0);filter:blur(0)}
.reveal-item{transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .7s ease;transition-delay:var(--reveal-delay,0ms)}
[data-typewriter]{white-space:pre-wrap}.type-cursor{display:inline-block;width:.065em;height:.88em;margin-left:.08em;vertical-align:-.02em;background:currentColor;animation:type-blink .72s steps(1,end) infinite}.type-cursor.is-done{animation-duration:.42s}
@keyframes type-blink{50%{opacity:0}}
.hero-copy>*{animation:hero-arrive .9s cubic-bezier(.16,1,.3,1) both}.hero-copy>*:nth-child(2){animation-delay:.08s}.hero-copy>*:nth-child(3){animation-delay:.16s}.hero-copy>*:nth-child(4){animation-delay:.24s}.hero-copy>*:nth-child(5){animation-delay:.32s}
@keyframes hero-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.card{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease,border-color .4s ease}.card .icon{transition:transform .4s cubic-bezier(.16,1,.3,1),background .4s ease}.text-link{transition:color .25s ease,letter-spacing .25s ease}.cta{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--terracotta),#1678a2 60%,var(--terracotta));background-size:180% 180%;animation:cta-breathe 12s ease infinite}.cta::after{content:"";position:absolute;inset:-120% -30%;background:linear-gradient(105deg,transparent 45%,rgba(255,255,255,.13) 50%,transparent 55%);transform:translateX(-45%);animation:cta-glint 9s ease-in-out infinite;pointer-events:none}.cta>*{position:relative;z-index:1}
@keyframes cta-breathe{50%{background-position:100% 50%}}@keyframes cta-glint{0%,62%{transform:translateX(-45%)}85%,100%{transform:translateX(45%)}}
@media(hover:hover) and (pointer:fine){.card:hover{transform:translateY(-9px);border-color:rgba(22,138,173,.38);box-shadow:0 24px 65px rgba(14,58,93,.14)}.card:hover .icon{transform:translateY(-3px) rotate(-4deg);background:#e7f6fa}.featured:hover .icon{background:rgba(255,255,255,.16)}.text-link:hover{letter-spacing:.012em}}
@media(max-width:840px){.hero::before{inset:0;background-position:center}.reveal-armed .reveal-item{transform:translateY(22px);filter:none}}
/* Service-area map + booking infographic */
.area-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(480px,1.22fr);gap:clamp(45px,7vw,96px);align-items:center}.area-copy h2{max-width:10ch}.area-copy .lede{margin-top:24px}.area-note{margin-top:24px;color:rgba(255,255,255,.66);font-size:.9rem;max-width:48ch}.map-panel{margin:0;padding:14px 14px 12px;background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.35);border-radius:30px;box-shadow:0 30px 80px rgba(2,26,43,.3);overflow:hidden}.map-panel picture{display:block}.map-panel img{width:100%;height:auto;border-radius:20px}.map-panel figcaption{padding:11px 8px 2px;color:#5d6f7b;font-size:.78rem;line-height:1.45}.booking-flow{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f2f8fb 100%)}.booking-flow::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-250px;top:-260px;background:radial-gradient(circle,rgba(22,138,173,.13),transparent 68%);pointer-events:none}.section-heading{max-width:770px}.section-heading .lede{margin-top:20px}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:54px;counter-reset:flow}.flow-card{position:relative;min-height:255px;padding:28px 25px;background:#fff;border:1px solid var(--sand);border-radius:22px;box-shadow:0 15px 45px rgba(14,58,93,.07);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .35s ease}.flow-card span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--green);color:#fff;font-weight:900;font-size:.8rem;letter-spacing:.06em;margin-bottom:38px;box-shadow:0 8px 20px rgba(14,58,93,.18)}.flow-card h3{margin-bottom:12px}.flow-card p{color:var(--muted);font-size:.94rem}.flow-card::after{content:"";position:absolute;top:51px;left:73px;right:-18px;height:2px;background:linear-gradient(90deg,var(--gold),rgba(229,184,103,.08));z-index:0}.flow-card:last-child::after{display:none}.flow-cta{margin-top:28px;padding:21px 24px;border:1px solid var(--sand);border-radius:20px;background:rgba(255,255,255,.78);display:flex;align-items:center;justify-content:space-between;gap:24px}.flow-cta p{color:var(--muted)}.flow-cta strong{color:var(--green);font-size:1.15rem}
@media(hover:hover) and (pointer:fine){.flow-card:hover{transform:translateY(-8px);border-color:rgba(22,138,173,.34);box-shadow:0 25px 65px rgba(14,58,93,.13)}}
@media(max-width:980px){.area-layout{grid-template-columns:1fr 1.15fr;gap:38px}.flow-grid{grid-template-columns:repeat(2,1fr)}.flow-card:nth-child(2)::after{display:none}}
@media(max-width:840px){.area-layout{grid-template-columns:1fr}.area-copy h2{max-width:13ch}.map-panel{width:min(100%,650px);margin-inline:auto}.flow-cta{align-items:flex-start;flex-direction:column}.flow-card{min-height:225px}}
@media(max-width:560px){.map-panel{padding:8px;border-radius:22px}.map-panel img{border-radius:16px}.flow-grid{grid-template-columns:1fr;gap:12px;margin-top:36px}.flow-card{min-height:0}.flow-card::after{display:none}.flow-card span{margin-bottom:24px}.flow-cta .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-progress{display:none}.reveal-armed .reveal-item,.reveal-item{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.hero-copy>*,.cta,.cta::after,.type-cursor{animation:none!important}.hero::before{inset:0;background-position:center!important;will-change:auto}.card,.card .icon,.flow-card,.btn{transition:none!important}}
