:root {
--oasis-50:  #EEF9FB;
--oasis-100: #D7F1F5;
--oasis-200: #B4E5EC;
--oasis-300: #8AD6E1;
--oasis-400: #5FC3D4;
--oasis-500: #37A6BA;
--oasis-600: #2487A0;
--oasis-700: #1F6C82;
--oasis-800: #1E5867;
--oasis-900: #1C4856;
--sun-200: #FFE9BD;
--sun-300: #FFD98A;
--sun-400: #FCC34F;
--sun-500: #F5A623;
--sun-600: #D9870C;
--palm-100: #E0F3E9;
--palm-300: #95D8B4;
--palm-400: #5FBF8A;
--palm-500: #2FA56B;
--palm-600: #1E8454;
--palm-700: #157045;
--clay-100: #FBE7D6;
--clay-400: #ED9A5C;
--clay-500: #D97A35;
--clay-700: #8F4A1A;
--coral-100: #FBE0DD;
--coral-400: #EF7B72;
--coral-500: #DB4F44;
--coral-600: #B83A30;
--slate-50:  #F6F8F9;
--slate-100: #ECF1F3;
--slate-200: #DCE4E7;
--slate-300: #C3CFD4;
--slate-400: #9AAAB1;
--slate-500: #6E7F86;
--slate-600: #4E5D63;
--slate-700: #384449;
--slate-800: #243036;
--slate-900: #152229;
--sand-50: #FBF8F3;
--sand-100: #F5EFE4;
--sand-200: #ECE3D2;
--white: #FFFFFF;
--black: #0B1518;
--color-bg:            var(--sand-50);
--color-surface:       var(--white);
--color-surface-sunken:var(--slate-50);
--color-surface-warm:  var(--sand-100);
--color-surface-brand: var(--oasis-50);
--color-surface-ink:   var(--slate-900);
--text-strong:  var(--slate-900);
--text-body:    var(--slate-700);
--text-muted:   var(--slate-500);
--text-inverse: var(--white);
--text-brand:   var(--oasis-700);
--text-on-brand:var(--white);
--brand:          var(--oasis-600);
--brand-hover:    var(--oasis-700);
--brand-active:   var(--oasis-800);
--brand-soft:     var(--oasis-100);
--brand-soft-text:var(--oasis-800);
--brand-signature:var(--oasis-400);
--accent:       var(--sun-500);
--accent-hover: var(--sun-600);
--accent-soft:  var(--sun-200);
--accent-text:  #6A4A07;
--eco:      var(--palm-500);
--eco-soft: var(--palm-100);
--eco-text: var(--palm-600);
--success:      var(--palm-500);
--success-soft: var(--palm-100);
--warning:      var(--clay-500);
--warning-soft: var(--clay-100);
--danger:       var(--coral-500);
--danger-soft:  var(--coral-100);
--info:         var(--oasis-600);
--info-soft:    var(--oasis-100);
--border:        var(--slate-200);
--border-strong: var(--slate-300);
--border-brand:  var(--oasis-200);
--divider:       var(--slate-100);
--focus-ring: var(--oasis-400);
}
:root {
--font-display: 'Oxanium', 'Hanken Grotesk', system-ui, sans-serif;
--font-sans:    'Hanken Grotesk', system-ui, -apple-system, sans-serif;
--font-mono:    'IBM Plex Mono', ui-monospace, 'SF Mono', monospace;
--fw-regular:  400;
--fw-medium:   500;
--fw-semibold: 600;
--fw-bold:     700;
--fw-extra:    800;
--text-2xs: 0.6875rem;
--text-xs:  0.75rem;
--text-sm:  0.875rem;
--text-md:  1rem;
--text-lg:  1.125rem;
--text-xl:  1.375rem;
--text-2xl: 1.75rem;
--text-3xl: 2.25rem;
--text-4xl: 3rem;
--text-5xl: 3.75rem;
--text-6xl: 4.75rem;
--lh-tight:   1.05;
--lh-snug:    1.18;
--lh-heading: 1.25;
--lh-body:    1.6;
--lh-relaxed: 1.7;
--ls-tighter: -0.03em;
--ls-tight:   -0.015em;
--ls-normal:  0;
--ls-wide:    0.04em;
--ls-eyebrow: 0.14em;
--font-heading: var(--font-display);
--font-body:    var(--font-sans);
--font-label:   var(--font-sans);
}
:root {
--space-0:  0;
--space-1:  0.25rem;
--space-2:  0.5rem;
--space-3:  0.75rem;
--space-4:  1rem;
--space-5:  1.5rem;
--space-6:  2rem;
--space-7:  2.5rem;
--space-8:  3rem;
--space-9:  4rem;
--space-10: 5rem;
--space-11: 6rem;
--space-12: 8rem;
--container-sm:  640px;
--container-md:  860px;
--container-lg:  1120px;
--container-xl:  1320px;
--gutter:        clamp(1rem, 4vw, 2.5rem);
--section-y:     clamp(3.5rem, 8vw, 7rem);
}
:root {
--radius-xs:   4px;
--radius-sm:   8px;
--radius-md:   12px;
--radius-lg:   18px;
--radius-xl:   26px;
--radius-2xl:  36px;
--radius-pill: 999px;
--radius-card: var(--radius-lg);
--border-thin: 1px;
--border-med:  1.5px;
--border-thick:2px;
--shadow-xs: 0 1px 2px rgba(28, 72, 86, 0.08);
--shadow-sm: 0 2px 6px rgba(28, 72, 86, 0.08), 0 1px 2px rgba(28, 72, 86, 0.06);
--shadow-md: 0 8px 20px -6px rgba(28, 72, 86, 0.14), 0 2px 6px rgba(28, 72, 86, 0.06);
--shadow-lg: 0 18px 40px -12px rgba(28, 72, 86, 0.20), 0 4px 10px rgba(28, 72, 86, 0.06);
--shadow-xl: 0 32px 64px -16px rgba(28, 72, 86, 0.26);
--shadow-brand: 0 10px 26px -8px rgba(36, 135, 160, 0.45);
--shadow-inset: inset 0 1px 2px rgba(28, 72, 86, 0.10);
--blur-sm: blur(6px);
--blur-md: blur(14px);
--ease-out:   cubic-bezier(0.22, 0.61, 0.36, 1);
--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);
--dur-fast:   140ms;
--dur-base:   220ms;
--dur-slow:   380ms;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
margin: 0;
font-family: var(--font-body);
font-size: var(--text-md);
line-height: var(--lh-body);
color: var(--text-body);
background: var(--color-bg);
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 {
font-family: var(--font-heading);
color: var(--text-strong);
line-height: var(--lh-heading);
letter-spacing: var(--ls-tight);
font-weight: var(--fw-bold);
margin: 0 0 0.5em;
text-wrap: balance;
}
h1 { font-size: var(--text-5xl); line-height: var(--lh-tight); letter-spacing: var(--ls-tighter); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); }
p { margin: 0 0 1em; text-wrap: pretty; }
a { color: var(--text-brand); text-decoration: none; }
a:hover { text-decoration: underline; }
a[rel~="nofollow"],
main p > a:not([class]),
main small > a:not([class]),
main dd > a:not([class]),
main li > a:not([class]) { text-decoration: underline; text-underline-offset: 2px; }
.bx-hdr-phone:hover, .bx-hdr-quote:hover,
.bx-nav-link:hover, .bx-mega-item:hover,
.bx-icon-btn-sun:hover, .bx-icon-btn-outline:hover,
.bx-drawer-quote:hover, .bx-drawer-call:hover,
.pp-btn-quote:hover, .pp-btn-call:hover, .pp-cta-btn:hover, .pp-chip:hover {
text-decoration: none;
}
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
::selection { background: var(--oasis-200); color: var(--oasis-900); }
.oasis-eyebrow {
font-family: var(--font-label);
font-size: var(--text-xs);
font-weight: var(--fw-bold);
letter-spacing: var(--ls-eyebrow);
text-transform: uppercase;
color: var(--text-brand);
}
.oasis-container { max-width: var(--container-lg); margin-inline: auto; padding-inline: var(--gutter); }
:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; border-radius: var(--radius-xs); }
@media (max-width: 960px) {
[style*="repeat(4, 1fr)"],
[style*="repeat(4,1fr)"] { grid-template-columns: repeat(2, 1fr) !important; }
[style*="1.1fr 1fr"],
[style*="1fr 1.1fr"],
[style*="1.2fr 1fr"],
[style*="1fr 1.2fr"],
[style*="1.3fr 1fr"],
[style*="1fr 1.3fr"],
[style*="grid-template-columns: 0.9fr 1.1fr"],
[style*="grid-template-columns:0.9fr 1.1fr"],
[style*="grid-template-columns: 1.05fr 0.95fr"],
[style*="grid-template-columns:1.05fr 0.95fr"],
[style*="grid-template-columns: 1.15fr 0.85fr"],
[style*="grid-template-columns:1.15fr 0.85fr"],
[style*="grid-template-columns: 1.05fr 1fr"],
[style*="grid-template-columns:1.05fr 1fr"],
[style*="1.15fr 1fr"],
[style*="grid-template-columns: 1fr 1fr"],
[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
}
@media (max-width: 760px) {
[style*="repeat(3, 1fr)"],
[style*="repeat(3,1fr)"] { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
[style*="repeat(4, 1fr)"],
[style*="repeat(4,1fr)"],
[style*="repeat(3, 1fr)"],
[style*="repeat(3,1fr)"],
[style*="repeat(2, 1fr)"],
[style*="repeat(2,1fr)"] { grid-template-columns: 1fr !important; }
h1 { font-size: 38px !important; line-height: 1.05 !important; }
h2 { font-size: 28px !important; line-height: 1.1 !important; }
[style*="padding: 110px 32px"],
[style*="padding:110px 32px"] { padding: 64px 20px !important; }
[style*="padding: 100px 32px"],
[style*="padding:100px 32px"] { padding: 60px 20px !important; }
[style*="padding: 96px 32px"],
[style*="padding:96px 32px"]  { padding: 56px 20px !important; }
[style*="padding: 92px 32px"],
[style*="padding:92px 32px"]  { padding: 56px 20px !important; }
[style*="padding: 90px 32px"],
[style*="padding:90px 32px"]  { padding: 56px 20px !important; }
[style*="padding: 88px 32px"],
[style*="padding:88px 32px"]  { padding: 52px 20px !important; }
[style*="padding: 86px 32px"],
[style*="padding:86px 32px"]  { padding: 52px 20px !important; }
[style*="padding: 80px 32px"],
[style*="padding:80px 32px"]  { padding: 48px 20px !important; }
[style*="padding: 76px 32px"],
[style*="padding:76px 32px"]  { padding: 48px 20px !important; }
[style*="padding: 56px 32px"],
[style*="padding:56px 32px"]  { padding: 40px 20px !important; }
[style*="padding: 36px"],
[style*="padding:36px"]       { padding: 24px !important; }
}
@media (max-width: 1180px) {
header .bx-hdr-phone { display: none !important; }
}
@media (max-width: 1000px) {
header nav { display: none !important; }
header .bx-hdr-quote { display: none !important; }
header .bx-mobile-actions { display: flex !important; }
.bx-mobile-bar { display: flex !important; }
body { padding-bottom: 76px !important; }
.bx-hero { min-height: auto !important; height: auto !important; align-items: flex-start !important; overflow: visible !important; padding: 48px 0 40px !important; box-sizing: border-box !important; }
}
[style*="font-size: 12px"],
[style*="font-size:12px"]   { font-size: 13px !important; }
[style*="font-size: 12.5px"],
[style*="font-size:12.5px"] { font-size: 14px !important; }
[style*="font-size: 13px"],
[style*="font-size:13px"]   { font-size: 14px !important; }
[style*="font-size: 13.5px"],
[style*="font-size:13.5px"] { font-size: 14.5px !important; }
[style*="font-size: 14px"],
[style*="font-size:14px"]   { font-size: 15px !important; }
[style*="font-size: 14.5px"],
[style*="font-size:14.5px"] { font-size: 15.5px !important; }
[style*="color: var(--text-muted)"],
[style*="color:var(--text-muted)"] { color: var(--slate-600) !important; }
[style*="color: var(--slate-400)"],
[style*="color:var(--slate-400)"]  { color: var(--slate-600) !important; }
[style*="background: var(--slate-900)"] [style*="color: var(--slate-400)"],
[style*="background: var(--slate-900)"] [style*="color:var(--slate-400)"],
[style*="background:var(--slate-900)"] [style*="color: var(--slate-400)"],
[style*="background:var(--slate-900)"] [style*="color:var(--slate-400)"],
footer[style*="color: var(--slate-400)"],
footer[style*="color:var(--slate-400)"],
footer [style*="color: var(--slate-400)"],
footer [style*="color:var(--slate-400)"] {
color: var(--slate-300) !important;
}
footer[style*="color: var(--slate-500)"],
footer[style*="color:var(--slate-500)"],
footer [style*="color: var(--slate-500)"],
footer [style*="color:var(--slate-500)"] { color: var(--slate-400) !important; }
[style*="background: var(--slate-900)"] [style*="color: var(--slate-300)"],
[style*="background: var(--slate-900)"] [style*="color:var(--slate-300)"],
[style*="background:var(--slate-900)"] [style*="color: var(--slate-300)"],
[style*="background:var(--slate-900)"] [style*="color:var(--slate-300)"] { color: var(--slate-200) !important; }
html, body { max-width: 100% !important; overflow-x: clip !important; }
@media (max-width: 760px) {
img, svg, video, iframe { max-width: 100% !important; }
}
@media (max-width: 960px) {
[style*="font-size: 88px"],
[style*="font-size:88px"] { font-size: 60px !important; }
[style*="font-size: 60px"],
[style*="font-size:60px"] { font-size: 46px !important; }
[style*="font-size: 56px"],
[style*="font-size:56px"] { font-size: 44px !important; }
[style*="font-size: 52px"],
[style*="font-size:52px"] { font-size: 40px !important; }
[style*="font-size: 48px"],
[style*="font-size:48px"] { font-size: 38px !important; }
[style*="font-size: 46px"],
[style*="font-size:46px"] { font-size: 36px !important; }
[style*="font-size: 42px"],
[style*="font-size:42px"] { font-size: 32px !important; }
[style*="border-right: 2px solid var(--border)"],
[style*="border-right:2px solid var(--border)"] { border-right: none !important; }
}
@media (max-width: 640px) {
[style*="padding-right: 40px"],
[style*="padding-right:40px"] { padding-right: 0 !important; }
[style*="padding-left: 40px"],
[style*="padding-left:40px"]  { padding-left: 0 !important; }
[style*="padding: 0 40px"],
[style*="padding:0 40px"]     { padding: 0 !important; }
[style*="font-size: 64px"],
[style*="font-size:64px"]     { font-size: 44px !important; }
[style*="font-size: 21px"],
[style*="font-size:21px"]     { font-size: 17px !important; }
[style*="padding: 160px 32px"],
[style*="padding:160px 32px"] { padding: 64px 20px !important; }
[style*="padding: 64px 32px"],
[style*="padding:64px 32px"]  { padding: 40px 20px !important; }
[style*="padding: 32px"],
[style*="padding:32px"]       { padding: 20px !important; }
[style*="padding: 30px"],
[style*="padding:30px"]       { padding: 22px !important; }
.bx-hero-cta { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; }
.bx-hero-cta a {
justify-content: center !important;
font-size: 19px !important;
padding: 18px 24px !important;
text-align: center !important;
}
#reviews img { width: 100% !important; }
}
@media (max-width: 380px) {
h1 { font-size: 32px !important; }
h2 { font-size: 25px !important; }
[style*="font-size: 27px"],
[style*="font-size:27px"] { font-size: 18px !important; }
}
@media (max-width: 860px) {
.kyp-grid { grid-template-columns: 1fr !important; gap: 28px !important; padding: 56px 20px !important; }
.kyp-grid > div:first-child img { max-width: 120px !important; margin: 0 auto !important; }
.kyp-grid h2 { font-size: 34px !important; }
}
header .bx-logo-word,
header a[href] > span.bx-logo-word,
.bx-hdr .bx-logo .bx-logo-word {
font-size: 46px !important;
letter-spacing: -0.03em !important;
line-height: 0.85 !important;
transform: skewX(-13deg) !important;
}
header .bx-logo-sub,
.bx-hdr .bx-logo .bx-logo-sub {
font-size: 12px !important;
letter-spacing: 0.4em !important;
margin-top: 5px !important;
}
header .bx-hdr-inner, .bx-hdr .bx-hdr-inner { padding: 18px 32px !important; }
@media (max-width: 700px) {
header .bx-hdr-inner, .bx-hdr .bx-hdr-inner { padding: 14px 18px !important; }
}
.bx-hdr {
position: sticky; top: 0; z-index: 60;
background: rgba(251,248,243,0.88);
backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
border-bottom: 1px solid var(--border);
border-top: 5px solid var(--sun-500);
}
.bx-hdr-inner {
max-width: 1320px; margin: 0 auto; padding: 18px 32px;
display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.bx-brand { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.bx-loc-stamp {
display: inline-block; flex-shrink: 0;
transform: skewX(-13deg);
background: var(--oasis-700); color: #fff;
padding: 6px 12px; border-radius: 4px;
font-family: var(--font-sans); font-weight: 800; font-size: 15px;
letter-spacing: 0.06em; line-height: 1; white-space: nowrap;
}
@media (max-width: 1299px) { .bx-loc-stamp { display: none; } }
@media (max-width: 999px)  { .bx-loc-stamp { display: inline-block; } }
@media (max-width: 559px)  { .bx-loc-stamp { display: none; } }
.bx-drawer-brand { display: flex; align-items: center; gap: 11px; }
.bx-drawer-head .bx-loc-stamp {
display: inline-block; font-size: 13px; padding: 5px 10px; letter-spacing: 0.05em;
}
.bx-logo { display: inline-flex; flex-direction: column; align-items: center; text-decoration: none; flex-shrink: 0; }
.bx-logo-word {
font-family: var(--font-display); font-weight: 800; font-size: 46px; letter-spacing: -0.03em;
color: var(--black); transform: skewX(-13deg); line-height: 0.85;
}
.bx-logo-sub {
font-family: var(--font-sans); font-weight: 700; font-size: 12px; letter-spacing: 0.4em;
color: var(--black); margin-top: 5px; padding-left: 0.4em; white-space: nowrap;
}
.bx-hdr nav { display: flex; align-items: center; gap: 2px; }
.bx-nav-link {
display: inline-flex; align-items: center; gap: 4px;
font-family: var(--font-sans); font-weight: 800; font-size: 20px;
color: var(--text-body); text-decoration: none;
padding: 9px; border-radius: var(--radius-md); white-space: nowrap;
transition: background .2s ease, color .2s ease;
}
.bx-nav-link:hover { background: var(--oasis-50); color: var(--oasis-700); }
.bx-svc-wrap { position: relative; }
.bx-mega-pos { position: absolute; top: 100%; left: 0; padding-top: 8px; z-index: 70; display: none; }
.bx-svc-wrap:hover .bx-mega-pos, .bx-svc-wrap:focus-within .bx-mega-pos { display: block; }
.bx-mega {
background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg);
box-shadow: var(--shadow-lg); padding: 26px 28px;
width: 640px; max-width: calc(100vw - 48px);
display: grid; grid-template-columns: 1fr 1fr; gap: 22px;
}
.bx-mega-kicker {
font-weight: 700; font-size: 13.5px; letter-spacing: 0.12em; text-transform: uppercase;
color: var(--oasis-700); margin-bottom: 12px;
}
.bx-mega-col { display: flex; flex-direction: column; gap: 2px; }
.bx-mega-item {
font-weight: 700; font-size: 21px; color: var(--text-body); text-decoration: none;
padding: 12px; border-radius: 12px; transition: background .15s ease, color .15s ease;
}
.bx-mega-item:hover { background: var(--oasis-50); color: var(--oasis-700); }
.bx-mega-medallion {
flex-shrink: 0; width: 58px; height: 58px; border-radius: 50%; background: #FDEDE6;
display: inline-flex; align-items: center; justify-content: center;
margin-right: 14px; vertical-align: middle;
}
.bx-mega-medallion img { width: 44px; height: 44px; object-fit: contain; }
.bx-mega-addons { grid-column: 1/-1; border-top: 1px solid var(--border); padding-top: 20px; }
.bx-mega-addons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 20px; }
.bx-hdr-cta { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.bx-hdr-phone {
display: inline-flex; align-items: center; gap: 7px;
font-weight: 900; font-size: 17px; color: #fff; text-decoration: none; white-space: nowrap;
padding: 13px 18px; border-radius: 999px;
background: linear-gradient(110deg, #fff 0%, #fff 50%, var(--oasis-600) 50%);
background-size: 225% 100%; background-position: 99% 0;
transition: background-position .45s cubic-bezier(.22,.61,.36,1), color .3s ease,
transform .2s ease, box-shadow .2s ease;
}
.bx-hdr-phone:hover {
background-position: 0% 0; transform: translateY(-2px);
color: var(--slate-900);
box-shadow: 0 0 0 2px var(--oasis-600), var(--shadow-brand);
}
.bx-hdr-quote {
display: inline-flex; align-items: center;
font-weight: 900; font-size: 17px; color: var(--oasis-700); text-decoration: none; white-space: nowrap;
padding: 13px 18px; border-radius: 999px; border: 2px solid var(--oasis-600);
background: linear-gradient(110deg, var(--oasis-600) 0%, var(--oasis-600) 50%, transparent 50%);
background-size: 225% 100%; background-position: 99% 0;
transition: background-position .45s cubic-bezier(.22,.61,.36,1), color .3s ease, transform .2s ease;
}
.bx-hdr-quote:hover { background-position: 0% 0; color: #fff; transform: translateY(-2px); }
.bx-mobile-actions { display: none; align-items: center; gap: 10px; flex-shrink: 0; }
.bx-icon-btn-sun {
display: inline-flex; align-items: center; justify-content: center;
width: 48px; height: 48px; border-radius: 999px;
background: var(--sun-500); color: var(--slate-900); text-decoration: none; flex-shrink: 0;
}
.bx-icon-btn-outline {
display: inline-flex; align-items: center; justify-content: center;
width: 48px; height: 48px; border-radius: 999px;
border: 2px solid var(--oasis-600); background: transparent; color: var(--oasis-700);
cursor: pointer; padding: 0; flex-shrink: 0;
}
.bx-drawer-scrim {
position: fixed; inset: 0; z-index: 95;
background: rgba(16,24,28,0.55); backdrop-filter: blur(3px);
opacity: 0; pointer-events: none; transition: opacity .22s ease;
}
.bx-drawer {
position: fixed; top: 0; right: 0; bottom: 0; width: min(86vw, 360px); z-index: 96;
background: var(--color-bg); box-shadow: -8px 0 40px rgba(16,24,28,0.28);
display: flex; flex-direction: column; overflow-y: auto;
transform: translateX(100%); transition: transform .26s cubic-bezier(.22,.61,.36,1);
}
body[data-nav-open="1"] .bx-drawer-scrim { opacity: 1; pointer-events: auto; }
body[data-nav-open="1"] .bx-drawer { transform: translateX(0); }
.bx-drawer-head {
display: flex; align-items: center; justify-content: space-between;
padding: 18px 20px; border-bottom: 1px solid var(--border);
}
.bx-drawer-logo {
font-family: var(--font-display); font-weight: 800; font-size: 26px; letter-spacing: -0.03em;
color: var(--black); transform: skewX(-13deg); line-height: 0.85;
}
.bx-drawer-close {
display: inline-flex; align-items: center; justify-content: center;
width: 42px; height: 42px; border-radius: 999px;
border: 1px solid var(--border); background: transparent; color: var(--text-strong);
cursor: pointer; padding: 0;
}
.bx-drawer nav { display: flex; flex-direction: column; padding: 12px 12px 8px; }
.bx-drawer nav a {
font-weight: 700; font-size: 19px; color: var(--text-body); text-decoration: none;
padding: 15px 14px; border-radius: 12px;
}
.bx-drawer nav a:hover { background: var(--oasis-50); color: var(--oasis-700); }
.bx-drawer-foot {
margin-top: auto; display: flex; flex-direction: column; gap: 10px;
padding: 16px 20px 24px; border-top: 1px solid var(--border);
}
.bx-drawer-quote {
display: inline-flex; align-items: center; justify-content: center; gap: 9px;
font-weight: 800; font-size: 17px; color: #fff; text-decoration: none;
padding: 16px; border-radius: 999px; background: var(--oasis-600);
}
.bx-drawer-call {
display: inline-flex; align-items: center; justify-content: center; gap: 9px;
font-weight: 800; font-size: 17px; color: var(--slate-900); text-decoration: none;
padding: 16px; border-radius: 999px; background: var(--sun-500);
}
.bx-mobile-bar {
display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 80;
padding: 10px 14px; gap: 10px; background: #fff; border-top: 1px solid var(--border);
}
.bx-mobile-bar a {
flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
font-weight: 700; font-size: 16px; color: #fff; text-decoration: none;
padding: 15px; border-radius: 999px;
}
.bx-mobile-bar .bx-mb-quote { background: var(--oasis-700); }
.bx-mobile-bar .bx-mb-call { background: var(--sun-500); color: var(--slate-900); }
.bx-logo, .bx-logo:hover, .bx-logo:focus { text-decoration: none; }
.bx-logo-word, .bx-logo-sub,
.bx-logo:hover .bx-logo-word, .bx-logo:hover .bx-logo-sub,
.bx-logo:focus .bx-logo-word, .bx-logo:focus .bx-logo-sub {
color: var(--black); transition: none; transform: none;
}
.bx-logo-word, .bx-logo:hover .bx-logo-word { transform: skewX(-13deg); }
.rv { opacity: 0; transform: translateY(26px); transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
.rv.rv-l { transform: translateX(-40px); }
.rv.rv-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .rv, .rv.rv-l { opacity: 1 !important; transform: none !important; transition: none !important; } }
.no-js .rv { opacity: 1 !important; transform: none !important; }
.kyp-grid > :only-child { grid-column: 1 / -1; }
.pp-btn-quote {
display: inline-flex; align-items: center; min-height: 48px; box-sizing: border-box;
font-weight: 700; font-size: 17px; color: #fff; text-decoration: none;
padding: 16px 30px; border-radius: 999px;
background: linear-gradient(110deg, var(--sun-500) 0%, var(--sun-500) 50%, var(--oasis-600) 50%);
background-size: 225% 100%; background-position: 99% 0;
transition: background-position .45s cubic-bezier(.22,.61,.36,1), transform .2s ease, box-shadow .2s ease;
}
.pp-btn-quote:hover { background-position: 0% 0; transform: translateY(-2px); box-shadow: var(--shadow-brand); color: #fff; }
.pp-btn-call {
display: inline-flex; align-items: center; gap: 9px; min-height: 48px; box-sizing: border-box;
font-weight: 700; font-size: 17px; color: var(--oasis-700); text-decoration: none;
padding: 16px 28px; border-radius: 999px; border: 1.5px solid var(--oasis-600);
background: linear-gradient(110deg, var(--oasis-600) 0%, var(--oasis-600) 50%, transparent 50%);
background-size: 225% 100%; background-position: 99% 0;
transition: background-position .45s cubic-bezier(.22,.61,.36,1), color .3s ease, transform .2s ease;
}
.pp-btn-call:hover { background-position: 0% 0; color: #fff; transform: translateY(-2px); }
.pp-cta-btn {
display: inline-flex; align-items: center;
font-weight: 800; font-size: 19px; color: var(--text-strong); text-decoration: none;
padding: 18px 34px; border-radius: 999px;
background: linear-gradient(110deg, var(--sun-400) 0%, var(--sun-400) 50%, #fff 50%);
background-size: 225% 100%; background-position: 99% 0;
transition: background-position .45s cubic-bezier(.22,.61,.36,1), transform .2s ease, box-shadow .2s ease;
}
.pp-cta-btn:hover { background-position: 0% 0; transform: translateY(-2px); box-shadow: var(--shadow-xl); color: var(--text-strong); }
.pp-chip {
display: inline-flex; align-items: center;
font-weight: 700; font-size: 16px; color: var(--text-body);
background: var(--color-surface); border: 1px solid var(--border);
text-decoration: none; padding: 11px 20px; border-radius: 999px;
transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease;
}
.pp-chip:hover { transform: translateY(-2px); border-color: var(--oasis-400); box-shadow: var(--shadow-sm); color: var(--oasis-800); }
.pp-hero-media {
border-radius: var(--radius-2xl); overflow: hidden; height: 720px;
background: linear-gradient(150deg, var(--oasis-100), var(--oasis-300));
display: flex; align-items: center; justify-content: center;
box-shadow: var(--shadow-lg);
}
.pp-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 68% center; display: block; }
@media (max-width: 1000px) {
.pp-hero { grid-template-columns: 1fr !important; gap: 32px !important; padding: 48px 20px 56px !important; }
.pp-hero h1 { font-size: 40px !important; }
.pp-hero-media { height: 380px !important; }
.pp-signs-grid { grid-template-columns: 1fr !important; }
.pp-steps-grid { grid-template-columns: 1fr !important; gap: 36px !important; }
.pp-steps-grid > div > div[aria-hidden="true"] { display: none !important; }
.pp-sec { padding: 56px 20px !important; }
.pp-sec h2 { font-size: 34px !important; }
.pp-cta { padding: 56px 20px !important; }
.pp-cta h2 { font-size: 34px !important; }
}
.hv-uw5ql4:hover { background-position:0% 0 !important; transform:translateY(-2px) !important; box-shadow:var(--shadow-xl) !important; }
.hv-u6kpiw:hover { background-position:0% 0 !important; color:#fff !important; transform:translateY(-2px) !important; box-shadow:var(--shadow-brand) !important; }
.hv-1r1pz7:hover { background-position:0% 0 !important; color:var(--text-strong) !important; transform:translateY(-2px) !important; }
.hv-k8lots:hover { transform:translateY(-4px) !important; }
.hv-e43iu1:hover { opacity:1 !important; transform:translateY(-2px) !important; }
.hv-u1w9hi:hover { background:var(--oasis-600) !important; color:#fff !important; }
.hv-9dl079:hover { background-position:0% 0 !important; color:#fff !important; }
.hv-tnvt3n:hover { transform:translateY(-2px) !important; border-color:var(--oasis-400) !important; box-shadow:var(--shadow-sm) !important; color:var(--oasis-800) !important; }
.hv-ifyyr6:hover { transform:translateY(-3px) !important; box-shadow:var(--shadow-lg) !important; }
.hv-uem7ux:hover { background-position:0% 0 !important; transform:translateY(-2px) !important; box-shadow:var(--shadow-brand) !important; }
@media (max-width: 600px) {
.cityHeroBtns { flex-wrap: nowrap !important; gap: 10px !important; }
.cityHeroBtns > a {
flex: 1 1 0; min-width: 0; justify-content: center; text-align: center;
white-space: nowrap; font-size: 15px !important; padding: 14px 8px !important;
}
}
@media (max-width: 340px) {
.cityHeroBtns { flex-wrap: wrap !important; }
.cityHeroBtns > a { flex: 1 1 100%; font-size: 16px !important; padding: 15px 20px !important; }
}
@media (max-width: 960px) {
footer [style*="1.4fr 1fr 1fr 1fr"] { grid-template-columns: 1.4fr 1fr 1fr !important; }
}
@media (max-width: 760px) {
footer [style*="1.4fr 1fr 1fr 1fr"] { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
footer [style*="1.4fr 1fr 1fr 1fr"] { grid-template-columns: 1fr !important; gap: 28px !important; }
}
@media (max-width: 960px) {
[style*="gap:56px"], [style*="gap: 56px"],
[style*="gap:64px"], [style*="gap: 64px"] { gap: 32px !important; }
}
a[style*="border-radius:999px"][style*="background:#fff"],
a[style*="border-radius: 999px"][style*="background: #fff"] {
background-image: linear-gradient(110deg, var(--sun-400) 0%, var(--sun-400) 50%, #fff 50%) !important;
background-size: 225% 100% !important;
background-position: 99% 0 !important;
transition: background-position .45s cubic-bezier(.22,.61,.36,1), transform .2s ease, box-shadow .2s ease !important;
}
a[style*="border-radius:999px"][style*="background:#fff"]:hover,
a[style*="border-radius: 999px"][style*="background: #fff"]:hover {
background-position: 0% 0 !important;
transform: translateY(-2px);
box-shadow: var(--shadow-xl);
color: var(--oasis-800) !important;
}
a[style*="border-radius:999px"][style*="border:2px solid rgba(255,255,255,0.6)"],
a[style*="border-radius: 999px"][style*="border: 2px solid rgba(255,255,255,0.6)"] {
background-image: linear-gradient(110deg, #fff 0%, #fff 50%, transparent 50%) !important;
background-size: 225% 100% !important;
background-position: 99% 0 !important;
transition: background-position .45s cubic-bezier(.22,.61,.36,1), color .3s ease, transform .2s ease !important;
}
a[style*="border-radius:999px"][style*="border:2px solid rgba(255,255,255,0.6)"]:hover,
a[style*="border-radius: 999px"][style*="border: 2px solid rgba(255,255,255,0.6)"]:hover {
background-position: 0% 0 !important;
color: var(--oasis-800) !important;
border-color: #fff !important;
transform: translateY(-2px);
}
a[style*="border-radius:999px"][style*="background:var(--oasis-600)"] {
background-image: linear-gradient(110deg, var(--sun-500) 0%, var(--sun-500) 50%, var(--oasis-600) 50%) !important;
background-size: 225% 100% !important;
background-position: 99% 0 !important;
transition: background-position .45s cubic-bezier(.22,.61,.36,1), transform .2s ease, box-shadow .2s ease !important;
}
a[style*="border-radius:999px"][style*="background:var(--oasis-600)"]:hover {
background-position: 0% 0 !important;
transform: translateY(-2px);
box-shadow: var(--shadow-brand);
color: #fff !important;
}
a[style*="border-radius:999px"][style*="border:1.5px solid var(--oasis-600)"] {
background-image: linear-gradient(110deg, var(--oasis-600) 0%, var(--oasis-600) 50%, transparent 50%) !important;
background-size: 225% 100% !important;
background-position: 99% 0 !important;
transition: background-position .45s cubic-bezier(.22,.61,.36,1), color .3s ease, transform .2s ease !important;
}
a[style*="border-radius:999px"][style*="border:1.5px solid var(--oasis-600)"]:hover {
background-position: 0% 0 !important;
color: #fff !important;
transform: translateY(-2px);
}
.bx-skip{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--oasis-700);color:#fff;font-weight:700;font-size:15px;padding:14px 22px;border-radius:0 0 var(--radius-md) 0;text-decoration:none;}
.bx-skip:focus{left:0;outline:3px solid var(--oasis-300);outline-offset:2px;color:#fff;}
.bx-totop:hover{color:var(--oasis-800);text-decoration:underline;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
.seas{margin:0;}
.seasCard{background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius-lg);
padding:26px 24px 18px;}
.seasScroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.seasChart{display:block;width:100%;height:auto;min-width:560px;}
.seasChart .sGrid{stroke:var(--slate-200);stroke-width:1;}
.seasChart .sAxis{stroke:var(--slate-300);stroke-width:1.5;}
.seasChart .sLead{stroke:var(--slate-400);stroke-width:1.5;}
.seasChart .sBar{fill:var(--oasis-700);transition:fill .15s ease;}
.seasChart .sBar.is-peak{fill:var(--clay-500);}
.seasChart .sBar:hover{fill:var(--oasis-800);}
.seasChart .sBar.is-peak:hover{fill:var(--clay-700);}
.seasChart text{font-family:var(--font-mono);}
.seasChart .sMonth{font-size:15px;fill:var(--slate-600);text-anchor:middle;}
.seasChart .sScale{font-size:14px;fill:var(--slate-500);text-anchor:end;}
.seasChart .sPeakLab{font-size:13.5px;font-weight:500;letter-spacing:.11em;
fill:var(--clay-700);text-anchor:middle;}
.seasChart .sNote{font-size:13.5px;font-weight:500;fill:var(--slate-500);text-anchor:middle;}
.seasKey{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;margin:16px 0 0;
padding-top:15px;border-top:1px solid var(--slate-200);}
.seasKey span{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);
font-size:14px;font-weight:600;color:var(--slate-600);}
.seasKey i{width:12px;height:12px;border-radius:3px;background:var(--oasis-700);flex:none;}
.seasKey i.peak{background:var(--clay-500);}
.seasCap{font-family:var(--font-sans);font-size:14.5px;line-height:1.6;color:var(--slate-600);
margin:14px 0 0;max-width:82ch;}
.seasCap a{color:var(--oasis-700);font-weight:700;}
@media (max-width:600px){
.seasCard{padding:20px 16px 14px;}
.seasChart{min-width:520px;}
}
@media (max-width:664px){
.seasCard::before{
content:"Swipe left and right for all 12 months";
display:block;font-family:var(--font-mono);font-size:11.5px;font-weight:500;
letter-spacing:.04em;line-height:1.4;color:var(--slate-500);margin:0 0 10px;}
.seasScroll{
background-image:
linear-gradient(to right,#fff 55%,rgba(255,255,255,0)),
linear-gradient(to left,#fff 55%,rgba(255,255,255,0)),
linear-gradient(to right,rgba(15,42,52,.14),rgba(15,42,52,0)),
linear-gradient(to left,rgba(15,42,52,.14),rgba(15,42,52,0));
background-position:left center,right center,left center,right center;
background-repeat:no-repeat;
background-size:30px 100%,30px 100%,14px 100%,14px 100%;
background-attachment:local,local,scroll,scroll;}
}
@media (prefers-reduced-motion:reduce){
.seasChart .sBar{transition:none;}
}
.pcalCard{background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius-lg);
padding:26px 26px 20px;box-shadow:var(--shadow-xs);}
.pcalScroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table.pcalT{border-collapse:collapse;table-layout:fixed;width:100%;min-width:780px;}
.pcalT thead th{font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.05em;
text-transform:uppercase;color:var(--slate-500);padding:0 0 10px;text-align:center;}
.pcalT thead th.pcalPest{text-align:left;width:126px;}
.pcalT thead th.pcalWhen{text-align:right;width:158px;}
.pcalT tbody th{font-family:var(--font-sans);font-weight:700;font-size:15.5px;
color:var(--slate-900);text-align:left;padding:0 12px 0 0;white-space:nowrap;}
.pcalT tbody th a{color:inherit;text-decoration:none;}
.pcalT tbody th a:hover{color:var(--oasis-700);text-decoration:underline;}
.pcalT td{padding:0;}
.pcalT td.pcalWhen{font-family:var(--font-mono);font-size:11.5px;color:var(--slate-500);
text-align:right;padding-left:12px;white-space:nowrap;}
.pcalC{display:block;height:26px;margin:2.5px;border-radius:5px;
background:#fff;border:1px solid var(--slate-100);}
.pcalC.l1{background:var(--oasis-100);border-color:var(--oasis-100);}
.pcalC.l2{background:var(--oasis-600);border-color:var(--oasis-600);}
.pcalC.l3{background:var(--clay-500);border-color:var(--clay-500);}
.pcalSr{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:600px){.pcalCard{padding:20px 16px 14px;}}
@media (max-width:896px){
.pcalCard::before{content:"Swipe left and right for all 12 months";
display:block;font-family:var(--font-mono);font-size:11.5px;font-weight:500;
letter-spacing:.04em;line-height:1.4;color:var(--slate-500);margin:0 0 10px;}
.pcalScroll{
background-image:
linear-gradient(to right,#fff 55%,rgba(255,255,255,0)),
linear-gradient(to left,#fff 55%,rgba(255,255,255,0)),
linear-gradient(to right,rgba(15,42,52,.14),rgba(15,42,52,0)),
linear-gradient(to left,rgba(15,42,52,.14),rgba(15,42,52,0));
background-position:left center,right center,left center,right center;
background-repeat:no-repeat;
background-size:30px 100%,30px 100%,14px 100%,14px 100%;
background-attachment:local,local,scroll,scroll;}
}
.cityIllo{float:right;width:150px;height:150px;margin:6px 0 14px 26px;}
@media (max-width:700px){.cityIllo{width:96px;height:96px;margin:0 0 10px 16px;}}
.cband{
position:relative;
background-image:
linear-gradient(100deg,
rgba(21,34,41,.93) 0%,
rgba(21,34,41,.86) 32%,
rgba(21,34,41,.70) 62%,
rgba(21,34,41,.46) 100%),
var(--cband-photo,url('uploads/opt/cou.webp'));
background-size:cover,cover;
background-position:center 58%,center 58%;
background-repeat:no-repeat,no-repeat;
border-top:0;
}
.cband-in{
max-width:1180px;margin:0 auto;padding:84px 28px 88px;
display:flex;flex-direction:column;align-items:flex-start;
}
.cband .cband-eyebrow{
font-family:var(--font-mono);font-size:11.5px;font-weight:500;
letter-spacing:.16em;text-transform:uppercase;color:#8AD6E1;margin:0 0 18px;
}
.cband .cband-in h2{
font-family:var(--font-display);font-weight:800;font-size:44px;line-height:1.04;
letter-spacing:-.03em;color:#fff;margin:0;max-width:21ch;text-wrap:balance;
}
.cband .cband-copy{font-size:17.5px;line-height:1.6;color:#DCE4E7;margin:18px 0 0;max-width:52ch;}
.cband .cband-copy a{color:#8AD6E1;font-weight:700;}
.cband .cband-acts{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:28px;}
.cband .cband-tel{
font-family:var(--font-display);font-weight:800;font-size:36px;letter-spacing:-.022em;
color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:12px;
font-variant-numeric:tabular-nums;
}
.cband .cband-tel svg{width:28px;height:28px;stroke:#5FC3D4;stroke-width:2.2;fill:none;flex:none;}
.cband .cband-btn,.cband .cband-btn-line{
font-family:var(--font-sans);font-weight:700;font-size:16.5px;text-decoration:none;
display:inline-flex;align-items:center;justify-content:center;
min-height:52px;padding:0 26px;border-radius:999px;
transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.cband .cband-btn{background:#F5A623;color:#152229;border:0;}
.cband .cband-btn:hover,.cband .cband-btn:focus-visible{background:#fff;color:#152229;}
.cband .cband-btn-line{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.44);}
.cband .cband-btn-line:hover,.cband .cband-btn-line:focus-visible{background:#fff;color:#152229;border-color:#fff;}
@media (max-width:1040px){
.cband-in{padding:62px 28px 66px;}
.cband .cband-in h2{font-size:33px;}
.cband .cband-tel{font-size:29px;}
}
@media (max-width:600px){
.cband-in{padding:48px 24px 54px;align-items:stretch;}
.cband .cband-tel{font-size:25px;}
.cband .cband-tel svg{width:22px;height:22px;}
.cband .cband-acts{flex-direction:column;align-items:stretch;gap:16px;}
.cband .cband-btn,.cband .cband-btn-line{width:100%;}
}
@media (prefers-reduced-motion:reduce){
.cband .cband-btn,.cband .cband-btn-line{transition:none;}
}
[data-hero-loop]{position:relative;isolation:isolate;}
[data-hero-loop]::before{content:"";position:absolute;inset:0;z-index:-1;
pointer-events:none;
background-image:linear-gradient(100deg,
rgba(21,34,41,.80) 0%, rgba(21,34,41,.76) 34%, rgba(21,34,41,.68) 60%,
rgba(21,34,41,.50) 84%, rgba(21,34,41,.38) 100%);}
[data-hero-loop] .heroLoop{position:absolute;inset:0;width:100%;height:100%;
object-fit:cover;object-position:center var(--hero-loop-pos, 46%);z-index:-2;
display:block;border:0;pointer-events:none;}
[data-hero-loop] .heroLoop:not([src]){display:none;}
@media (max-width:960px){
[data-hero-loop]::before{background-image:linear-gradient(180deg,
rgba(21,34,41,.86) 0%, rgba(21,34,41,.80) 52%, rgba(21,34,41,.74) 100%);}
}
.bx-drawer-row { display: flex; align-items: center; gap: 4px; }
.bx-drawer-row > a { flex: 1; min-width: 0; }
.bx-dsub-btn {
flex: none; display: inline-flex; align-items: center; justify-content: center;
width: 46px; height: 46px; border-radius: 12px;
border: 0; background: transparent; color: var(--text-body);
cursor: pointer; padding: 0;
touch-action: manipulation; -webkit-tap-highlight-color: transparent;
}
.bx-dsub-btn:hover { background: var(--oasis-50); color: var(--oasis-700); }
.bx-dsub-btn:active { background: var(--oasis-50); }
.bx-dsub-btn svg { transition: transform .26s cubic-bezier(.22,.61,.36,1); }
.bx-dsub-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.bx-dsub {
display: grid; grid-template-rows: 0fr;
transition: grid-template-rows .26s cubic-bezier(.22,.61,.36,1);
}
.bx-dsub[data-open] { grid-template-rows: 1fr; }
.bx-dsub-in {
overflow: hidden; min-height: 0;
visibility: hidden; transition: visibility 0s .26s;
display: flex; flex-direction: column;
margin: 0 6px 0 24px; padding: 0 0 0 14px;
border-left: 2px solid var(--border);
}
.bx-dsub[data-open] .bx-dsub-in { visibility: visible; transition: visibility 0s; }
.bx-drawer nav .bx-dsub-in a { font-size: 17px; font-weight: 600; padding: 11px 12px; }
.bx-dsub-kicker {
font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.16em;
text-transform: uppercase; color: var(--text-muted); font-weight: 500;
padding: 14px 12px 4px;
}
.bx-dsub-in .bx-dsub-kicker:first-child { padding-top: 8px; }
.bx-dsub-in > a:last-child { margin-bottom: 6px; }
@media (prefers-reduced-motion: reduce) {
.bx-dsub, .bx-dsub-in, .bx-dsub-btn svg { transition: none; }
}