/* My Oasis landing + dashboard upgrade prompts (Oct 23, 2026). Water-inspired: soft waves, stepped "cascade" cards, calm motion. */
:root{--lp-foam:#f1f8fa;--lp-aqua:#d9edf3;--lp-aqua-d:#a9d3e1;--lp-deep:#163d5c;--lp-sky:#3a9fd4}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* visibility switches (set by portal-landing.js; has-sess is set in <head> to avoid a flash for signed-in clients) */
html.has-sess [data-landing],html.pv-app [data-landing]{display:none}
html.has-sess #membership,html.pv-app #membership{display:none}
html.pv-client.pv-nm #membership{display:block}
.upsell{display:none}
html.pv-client.pv-nm .upsell{display:block}
html.pv-client.pv-nm .up-chip{display:inline-flex}

/* ---------- hero ---------- */
.lp-hero{position:relative;overflow:hidden;padding:clamp(28px,4.5vw,64px) 0 clamp(64px,8vw,110px);background:linear-gradient(180deg,#e6f3f7 0%,#d6eaf2 100%)}
.lp-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background:radial-gradient(520px 260px at 12% 8%,rgba(58,159,212,.18),transparent 70%),radial-gradient(620px 300px at 92% 30%,rgba(22,61,92,.10),transparent 70%)}
.lp-hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,72px);align-items:center}
.lp-copy .crumbs{margin:0 0 14px}
.lp-copy h1{font-size:clamp(34px,5vw,60px);line-height:1.04;margin:6px 0 14px}
.lp-sub{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:#33474f;margin:0 0 18px;max-width:560px}
.lp-checks{list-style:none;margin:0 0 4px;padding:0;display:grid;gap:9px}
.lp-checks li{position:relative;padding-left:30px;font-weight:600;color:var(--lp-deep);font-size:16.5px;line-height:1.35}
.lp-checks li::before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:var(--lp-sky) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.lp-form{min-width:0}
.lp-form #pv-auth{max-width:none!important;margin:0;border-radius:24px;box-shadow:0 24px 60px -24px rgba(22,61,92,.35),0 0 0 1px rgba(58,159,212,.18);border-top:4px solid var(--lp-sky);padding:clamp(20px,3vw,32px)}
.lp-auth-h{margin:0 0 4px;font-size:clamp(24px,2.6vw,30px);line-height:1.15}
.lp-auth-s{margin:0 0 16px;color:#5f6a64;font-size:15.5px}
.lp-form .ptabs{margin:0 0 18px;background:var(--lp-foam);padding:5px;border-radius:999px;border:1px solid var(--lp-aqua)}
.lp-form .ptabs button{border:0;background:transparent;padding:12px 10px;min-height:46px}
.lp-form .ptabs button.on{background:var(--lp-deep);box-shadow:0 6px 14px -6px rgba(22,61,92,.5)}
.lp-form input{min-height:46px}
.lp-form .pform .btn{width:100%;min-height:50px;justify-content:center}
.lp-free-note{display:flex;gap:8px;align-items:center;margin:2px 0 0;font-size:14px;color:#1d5b34;font-weight:600}
.lp-free-note::before{content:"";width:8px;height:8px;border-radius:50%;background:#2e9b5f;flex:none}
/* waves */
.lp-wave{position:absolute;left:0;right:0;bottom:-1px;height:54px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30c133 28 267 28 400 0s267-28 400 0 267 28 400 0 267-28 400 0v30H0z' fill='%23f7f3ec'/%3E%3C/svg%3E") repeat-x 0 100%/1600px 54px;animation:lpflow 46s linear infinite}
.lp-wave.w2{bottom:6px;opacity:.55;height:46px;animation-duration:70s;animation-direction:reverse}
@keyframes lpflow{to{background-position-x:1600px}}
@media (prefers-reduced-motion:reduce){.lp-wave{animation:none}}

/* ---------- free benefits (stepped like a cascade) ---------- */
.lp-benefits{padding:clamp(34px,5vw,64px) 0 clamp(50px,7vw,90px)}
.lp-head{text-align:center;max-width:720px;margin:0 auto clamp(26px,3.4vw,44px)}
.lp-head .eyebrow{justify-content:center}
.lp-head h2{margin:6px 0 10px;font-size:clamp(28px,3.6vw,44px);line-height:1.1}
.lp-head p{margin:0;color:#4d5b55;font-size:clamp(16px,1.3vw,18.5px);line-height:1.55}
.lp-grid{list-style:none;margin:0 auto;padding:0 0 48px;max-width:1080px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.lp-card{position:relative;background:#fff;border-radius:20px;padding:22px 22px 24px;box-shadow:0 14px 34px -18px rgba(22,61,92,.28);border:1px solid #e6eef0;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
.lp-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--lp-sky),#8fd0e8,var(--lp-sky));background-size:200% 100%;animation:lpshimmer 9s linear infinite}
@keyframes lpshimmer{to{background-position:200% 0}}
@media (prefers-reduced-motion:reduce){.lp-card::before{animation:none}.lp-card{transition:none}}
.lp-card:nth-child(3n+2){transform:translateY(18px)}.lp-card:nth-child(3n){transform:translateY(36px)}
.lp-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--lp-aqua);color:var(--lp-deep);margin:0 0 12px}
.lp-ico svg{width:24px;height:24px}
.lp-card h3{margin:0 0 6px;font-size:19px;line-height:1.25;color:var(--lp-deep)}
.lp-card p{margin:0;color:#4d5b55;font-size:15.5px;line-height:1.5}
.lp-cta{text-align:center;margin-top:8px}
.lp-cta .btn{min-height:50px}
.lp-cta small{display:block;margin-top:10px;color:#5f6a64;font-size:14px}
@media (max-width:900px){
 .lp-hero-in{grid-template-columns:minmax(0,1fr)}
 .lp-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:16px}
 .lp-card:nth-child(n){transform:none}.lp-card:nth-child(even){transform:translateY(14px)}
}
@media (max-width:560px){
 .lp-hero{padding-top:20px}
 .lp-copy .lp-checks{display:none}
 .lp-sub{margin-bottom:6px}
 .lp-grid{grid-template-columns:minmax(0,1fr);padding-bottom:0;gap:12px}
 .lp-card:nth-child(n){transform:none}
 .lp-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:0 14px;padding:18px}
 .lp-card .lp-ico{grid-row:1/3;margin:0}
 .lp-card h3{margin:0 0 4px;font-size:18px}
}

/* ---------- membership section (existing dark water section) gets a wave on top + "Want more?" lead-in ---------- */
.members.lp-members{padding-top:clamp(70px,8vw,120px)}
.lp-members::before{content:"";position:absolute;left:0;right:0;top:-1px;height:54px;transform:scaleY(-1);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30c133 28 267 28 400 0s267-28 400 0 267 28 400 0 267-28 400 0v30H0z' fill='%23f7f3ec'/%3E%3C/svg%3E") repeat-x 0 100%/1600px 54px;animation:lpflow 60s linear infinite;pointer-events:none}
@media (prefers-reduced-motion:reduce){.lp-members::before{animation:none}}
.lp-members .members-head .eyebrow{margin-bottom:6px}
.lp-members .lp-more-pill{display:inline-block;margin:0 0 12px;padding:6px 14px;border-radius:999px;background:rgba(58,159,212,.2);color:#cfeaf6;font:700 12.5px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.lp-members .member-card{transition:transform .35s ease}
.lp-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;list-style:none;margin:18px auto 0;padding:0;font-size:14px;color:#cfdcd7}
.lp-steps li{padding:6px 12px;border:1px solid rgba(205,189,159,.4);border-radius:999px}
.lp-steps b{color:var(--sand);margin-right:4px}

/* ---------- signed-in dashboard: water accents + gentle upgrade prompts ---------- */
html.pv-client .pcard{border-top:3px solid var(--lp-aqua)}
html.pv-client #pv-client>.pcard:nth-of-type(odd){margin-left:0}
.pbar-r{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.up-chip{display:none;align-items:center;gap:6px;min-height:38px;padding:7px 14px;border-radius:999px;background:linear-gradient(135deg,#e6f4fa,#cfe8f3);border:1px solid var(--lp-aqua-d);color:var(--lp-deep)!important;font:700 14px/1 var(--sans);text-decoration:none!important;white-space:nowrap}
.up-chip:hover,.up-chip:focus-visible{background:#fff;border-color:var(--lp-sky)}
.up-chip i{font-style:normal;color:#b8893f}
.up-line{margin:12px 0 0;padding:9px 12px;border-left:3px solid var(--lp-sky);background:var(--lp-foam);border-radius:0 10px 10px 0;font-size:14.5px;line-height:1.45;color:#33474f}
.up-line a{font-weight:700;color:var(--lp-deep);white-space:nowrap}
.pcard.up-card{position:relative;overflow:hidden;background:linear-gradient(165deg,#f4fafc 0%,#e3f1f6 100%);border:1px solid var(--lp-aqua-d);border-top:3px solid var(--lp-sky)}
.up-card h3{margin:0 0 6px}.up-card p{margin:0 0 12px;color:#33474f}
.up-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}
.up-tier{background:#fff;border:1px solid #d6e6ec;border-radius:14px;padding:12px 14px;font-size:14.5px;line-height:1.45;color:#33474f}
.up-tier strong{display:block;color:var(--lp-deep);font-size:16px}
.up-tier.elite{border-color:#d8c08a;background:#fffaf0}
@media (max-width:560px){.up-tiers{grid-template-columns:minmax(0,1fr)}.pbar .pbar-r{width:100%;justify-content:space-between}}
html.pv-app .lp-views{padding-top:clamp(24px,3vw,40px)!important}
.f label .opt{display:inline;border:0;padding:0;margin:0 0 0 4px;border-radius:0;cursor:inherit;font-size:13px;font-weight:400;color:var(--muted)}.f label .opt:has(input:checked){box-shadow:none}
.lp-steps{list-style:none;display:flex;gap:6px;margin:0 0 16px;padding:0}
.lp-steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:12.5px;line-height:1.25;color:#5f6a64;border:0!important;background:none!important;padding:0!important}
.lp-steps b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e4eef3;color:#163d5c;font-size:13px}
.lp-steps li.on{color:#163d5c;font-weight:700}.lp-steps li.on b{background:#163d5c;color:#fff}
.pw-wrap{position:relative;display:flex}.pw-wrap input{flex:1;padding-right:70px}
.pw-show{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#1f5f60;font:600 14px/1 var(--sans);padding:10px 12px;cursor:pointer;min-height:40px}
.ps-more{border:1px dashed #cfd9d6;border-radius:12px;padding:10px 12px}.ps-more summary{cursor:pointer;font-weight:600;font-size:15px;color:#163d5c}.ps-more[open] summary{margin-bottom:10px}
.ps-more .f{margin-bottom:10px}
.sent-steps{list-style:none;margin:16px 0 8px;padding:0;display:grid;gap:12px}
.sent-steps li{display:flex;gap:12px;align-items:flex-start;font-size:17px;line-height:1.4}
.sent-steps b{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#163d5c;color:#fff;font-size:15px}
.sent-tip{font-size:14.5px;color:#5f6a64;margin:12px 0}
.sent-btns{display:flex;flex-wrap:wrap;gap:10px}.sent-btns .btn{flex:1 1 180px;justify-content:center;min-height:48px}
