@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--forest:#173d2e;--forest2:#102c22;--gold:#e5ba71;--cream:#f7f3eb;--ink:#282b24;--muted:#64695f;--line:#e5e0d5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65;background:#fff}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.17;margin:0 0 18px}h1{font-size:clamp(2.9rem,5.8vw,5.9rem)}h2{font-size:clamp(2.1rem,3.4vw,3.65rem)}h3{font-size:1.45rem}p{margin:0 0 19px}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1260px;margin:auto;padding-left:28px;padding-right:28px}.skip{position:absolute;left:-999px;z-index:1000}.skip:focus{left:12px;top:12px;background:#fff;padding:12px}.site-header{background:var(--forest2);color:#fff;position:sticky;top:0;z-index:40;box-shadow:0 2px 12px #0002}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.15em;font-family:Georgia,serif;font-size:1.4rem;line-height:1.05;white-space:nowrap}.brand small{display:block;font:600 .63rem 'DM Sans',sans-serif;letter-spacing:.29em;margin-top:6px}.brand-mark{display:grid;place-items:center;color:var(--gold);border:1px solid var(--gold);width:44px;height:44px;font-size:30px;transform:rotate(-7deg)}.nav{display:flex;align-items:center;gap:18px;font-size:.79rem}.nav>a{padding:8px 0;white-space:nowrap}.nav>a:hover,.nav>a.active{color:var(--gold)}.nav .nav-join{background:var(--gold);color:#1b2c22;padding:10px 14px;border-radius:5px;font-weight:700}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem}.eyebrow{display:block;font-size:.73rem;letter-spacing:.23em;font-weight:700;text-transform:uppercase;margin-bottom:16px;color:#a97637}.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:6px;padding:13px 22px;font-size:.9rem;font-weight:700;min-height:48px;transition:transform .2s,filter .2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.04)}.btn-gold{background:var(--gold);color:#162b21}.btn-green{background:var(--forest);color:#fff}.btn-outline{border-color:#fff;background:#ffffff15;color:#fff}.btn-text{background:transparent;color:var(--forest)}.button-row,.cta-actions{display:flex;gap:12px;flex-wrap:wrap}.hero{position:relative;min-height:670px;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-position:center 52%}.hero-shade{background:linear-gradient(90deg,#081a14c9 0%,#091a1499 34%,#091a1420 76%)}.hero-content{position:relative;width:100%;padding-top:90px;padding-bottom:90px}.hero h1{max-width:820px}.hero p{font-size:1.2rem;max-width:570px;margin-bottom:26px}.hero .eyebrow{color:#f6dfb5}.hero-date{display:block;margin-top:24px;font-size:.88rem}.concept-label{position:absolute;right:22px;bottom:12px;font-size:.7rem;background:#142d23a9;padding:5px 9px;border-radius:3px}.split-intro{display:grid;grid-template-columns:1fr 1fr;gap:85px;padding-top:75px;padding-bottom:75px}.split-intro>div:nth-child(2){border-left:1px solid #c7bda8;padding-left:48px;font-size:1.09rem}.section-heading{margin-bottom:34px;max-width:790px}.section-heading p{color:var(--muted)}.section-heading.center{text-align:center;margin-left:auto;margin-right:auto}.cream-section{background:var(--cream);padding:85px 0}.four-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.image-card{border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 8px 28px #1e2c1e0a}.image-card img{height:220px}.image-card-body{padding:23px}.image-card h3{color:var(--forest)}.image-card p{font-size:.91rem;color:var(--muted)}.text-link{font-weight:700;color:var(--forest);border-bottom:1px solid #bdab83;padding-bottom:3px}.audiences{padding-top:90px;padding-bottom:90px}.audience-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.audience-grid article{padding:28px 20px;background:var(--cream);border:1px solid #eee6d7;border-radius:8px}.audience-grid article span{font-size:2rem;color:#b78d4c}.audience-grid h3{font-size:1.24rem;margin-top:12px}.audience-grid p{font-size:.89rem;color:var(--muted)}.center{text-align:center}.actions-space{margin-top:30px}.photo-split{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:#fff}.photo-split img{height:520px}.photo-split-copy{padding:90px min(8vw,120px);align-self:center}.photo-split-copy h2{max-width:570px}.photo-split-copy p{max-width:470px}.photo-split-copy .eyebrow{color:var(--gold)}.showcase{padding-top:85px;padding-bottom:85px}.showcase-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;margin:26px 0}.showcase-grid img{height:360px;border-radius:9px}.cta-band{background:linear-gradient(110deg,#173e2e,#285641);color:#fff;padding:70px 0}.cta-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center}.cta-grid h2{font-size:2.7rem}.cta-grid p{max-width:600px}.cta-grid .eyebrow{color:var(--gold)}.signup{background:#f2ebdf;padding:90px 0}.signup-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.small{font-size:.86rem;color:var(--muted)}.panel{padding:32px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 40px #25382b0d}.form label{display:block;font-size:.83rem;font-weight:700;margin:14px 0 5px}.form input:not([type=checkbox]),.form select,.form textarea{width:100%;border:1px solid #cccfc6;border-radius:5px;background:#fff;padding:11px 12px;color:var(--ink)}.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.5;margin:20px 0}.check input{margin-top:5px}.form button{width:100%}.form-status{font-size:.85rem;margin-top:12px;white-space:pre-wrap}.page-hero{padding:95px 0;background:var(--cream)}.page-hero h1{max-width:950px}.page-hero p{font-size:1.2rem;max-width:740px}.page-hero-dark{background:var(--forest);color:#fff}.page-hero-dark .eyebrow{color:var(--gold)}.editorial{padding-top:90px;padding-bottom:90px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.two-col>img{height:550px;border-radius:10px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.timeline>div{border-top:3px solid #bd9b61;padding-top:20px}.timeline p{color:var(--muted);margin-top:8px}.experience-row{padding:80px 0}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.experience-grid.reverse img{order:2}.experience-grid img{height:480px;border-radius:9px}.experience-grid .small{margin-bottom:24px}.room-list{padding-top:60px;padding-bottom:80px}.room-entry{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center;padding:38px 0;border-bottom:1px solid var(--line)}.room-entry:nth-child(even) .room-media{order:2}.room-media{display:grid;grid-template-columns:1fr;gap:12px}.room-media img{height:440px;border-radius:8px}.room-media:has(.room-secondary){grid-template-columns:1.3fr .7fr}.room-media:has(.room-secondary) img{height:440px}.room-copy h3{font-size:1.1rem;color:#a07d4a}.room-copy p{max-width:460px}.disclosure{color:var(--muted);font-size:.83rem;margin:30px 0}.spaces-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:70px}.spaces-grid img{height:270px}.progress-feature{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center;margin-bottom:60px}.progress-feature img{border-radius:8px;height:480px}.progress-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tour-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;padding-top:75px;padding-bottom:90px}.tour-layout>div>img{height:320px;border-radius:9px;margin-top:30px}.tour-benefits{border-top:1px solid var(--line);padding-top:20px}.tour-form h3{color:var(--forest)}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.footer{background:var(--forest2);color:#fff;padding-top:65px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-bottom:50px}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:8px}.footer h4{margin:0 0 12px;color:var(--gold)}.footer p{color:#c7d5ca;font-size:.88rem;margin-top:20px}.footer-top a:not(.brand){color:#d7e0d9;font-size:.9rem}.footer-bottom{border-top:1px solid #ffffff25;padding-top:20px;padding-bottom:25px;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:#a7b8ad}.music-prompt{position:fixed;bottom:24px;right:24px;width:min(370px,calc(100vw - 32px));padding:25px;background:#fff;box-shadow:0 12px 60px #0004;border-radius:12px;z-index:70;border:1px solid #ddd3bf}.music-prompt h3{font-size:1.35rem}.music-prompt p{font-size:.88rem}.music-actions{display:flex;gap:8px}.music-actions .btn{font-size:.8rem;padding:10px 14px}.prompt-close{position:absolute;top:8px;right:12px;background:none;border:0;font-size:1.4rem}.music-fab{position:fixed;bottom:20px;left:20px;border:0;border-radius:50%;background:var(--forest);color:#fff;box-shadow:0 5px 20px #0003;width:48px;height:48px;font-size:1.45rem;z-index:60}.music-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center}.music-backdrop{position:absolute;inset:0;background:#0009}.music-dialog{position:relative;width:min(540px,calc(100vw - 28px));background:#fff;padding:20px;border-radius:12px}.music-dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.music-dialog-head button{font-size:1.6rem;border:0;background:none}.music-dialog iframe{width:100%;border:0;border-radius:12px;height:152px}.music-dialog p{font-size:.77rem;color:var(--muted);margin:10px 0 0}[hidden]{display:none!important}
@media(max-width:1100px){.nav{gap:10px;font-size:.72rem}.brand{font-size:1.1rem}.audience-grid{grid-template-columns:repeat(3,1fr)}.four-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.header-inner{min-height:74px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--forest2);padding:18px 28px 30px;flex-direction:column;align-items:stretch;gap:6px;font-size:1rem}.nav.open{display:flex}.nav>a{padding:9px}.hero{min-height:630px}.hero-shade{background:linear-gradient(90deg,#091a14ca,#091a1470)}.split-intro,.signup-grid,.cta-grid,.two-col,.experience-grid,.room-entry,.progress-feature,.tour-layout{grid-template-columns:1fr;gap:30px}.split-intro>div:nth-child(2){border-left:0;padding-left:0}.photo-split{grid-template-columns:1fr}.photo-split img{height:410px}.photo-split-copy{padding:50px 28px}.experience-grid.reverse img,.room-entry:nth-child(even) .room-media{order:0}.experience-grid img{height:400px}.spaces-grid,.progress-cards{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}}
@media(max-width:550px){.wrap{padding-left:18px;padding-right:18px}.brand{font-size:1rem}.brand-mark{width:35px;height:35px}.hero{min-height:610px}.hero-content{padding-top:80px;padding-bottom:80px}.hero p{font-size:1rem}.button-row .btn{width:100%}.four-grid,.audience-grid,.spaces-grid,.progress-cards,.showcase-grid,.form-two{grid-template-columns:1fr}.showcase-grid img{height:260px}.audience-grid{gap:10px}.audience-grid article{padding:22px}.room-media:has(.room-secondary){grid-template-columns:1fr 1fr}.room-media img,.room-media:has(.room-secondary) img{height:290px}.room-copy{padding-bottom:15px}.timeline{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.footer-top{gap:25px}.panel{padding:22px}.page-hero{padding:70px 0}.music-prompt{bottom:80px;right:16px}}

/* Homepage hero: alternating pool and front-house images */
.hero-slides{position:absolute;inset:0;overflow:hidden}
.hero-slides .hero-image{opacity:0;transition:opacity 1.2s ease-in-out;object-fit:cover}
.hero-slides .hero-image.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-slides .hero-image{transition:none}}

/* Optional à la carte services on homepage */
.services-section{padding:90px 0;background:#f6f1e8}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{background:#fff;border:1px solid #e6dece;border-radius:12px;padding:34px 30px;box-shadow:0 10px 30px #183b2e0a;display:flex;flex-direction:column;align-items:flex-start}.service-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#e8eee6;color:#244735;font-size:2rem;margin-bottom:24px}.service-tag{font-size:.69rem;font-weight:700;letter-spacing:.19em;color:#a67b43;margin-bottom:12px}.service-card h3{font-size:1.65rem;color:var(--forest)}.service-card p{font-size:.94rem;color:var(--muted);flex:1}.service-card .text-link{font-size:.88rem;margin-top:10px}.services-bottom{margin-top:30px;padding:25px 30px;border:1px solid #ded4c2;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:24px}.services-bottom p{max-width:690px;margin:0;font-size:.9rem;color:#4b5147}.services-bottom .btn{white-space:nowrap}@media(max-width:820px){.services-grid{grid-template-columns:1fr 1fr}.services-bottom{flex-direction:column;align-items:flex-start}}@media(max-width:550px){.services-section{padding:65px 0}.services-grid{grid-template-columns:1fr}.service-card{padding:27px 23px}.services-bottom{padding:22px}.services-bottom .btn{width:100%;white-space:normal}}

/* Flourishing App — homepage feature and dedicated page */
.flourishing-section{padding:92px 0;background:#16392e;color:#fff}.flourishing-layout{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:80px}.flourishing-intro .eyebrow,.flourishing-section .eyebrow{color:#e5ba71}.flourishing-intro h2{max-width:620px}.flourishing-intro>p{color:#dbe8de;max-width:590px;font-size:1.05rem}.flourishing-intro .app-note{font-weight:600;color:#fff}.flourishing-intro .app-disclaimer{font-size:.77rem;opacity:.8;margin-top:24px}.flourishing-visual{display:flex;flex-direction:column;align-items:center;gap:14px}.app-phone{width:min(340px,100%);border:9px solid #202923;border-radius:38px;background:#f7f3eb;color:#19392b;min-height:530px;box-shadow:0 26px 70px #06181080;overflow:hidden}.app-phone-top{display:flex;justify-content:space-between;align-items:center;background:#e6e9df;padding:22px 22px 17px;font-size:.73rem;font-weight:700;letter-spacing:.12em}.app-phone-content{padding:28px 22px}.app-phone-greeting{color:#a57c42;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.app-phone-content h3{font-size:2rem;margin:14px 0}.app-phone-content p{font-size:.85rem;color:#5c685f}.app-mood-row{display:flex;gap:6px;flex-wrap:wrap;margin:24px 0}.app-mood-row span{background:#e6ece1;border-radius:20px;padding:7px 10px;font-size:.72rem}.app-phone-panel{background:#fff;padding:18px;border-radius:12px;margin-top:14px;box-shadow:0 6px 20px #00000008}.app-phone-panel small{display:block;color:#a47b45;font-size:.65rem;letter-spacing:.1em;margin-bottom:10px}.app-phone-panel strong{font-size:.88rem}.app-phone-panel.muted{background:#e8ede4}.app-phone-line{height:7px;background:#e9e9e1;border-radius:10px;margin-top:14px}.app-phone-line.short{width:64%;margin-top:7px}.app-visual-caption{font-size:.75rem;color:#cbd9ce}.app-features{margin-top:78px}.app-features-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.app-feature{border:1px solid #ffffff30;border-radius:10px;padding:25px 19px;background:#ffffff0d}.app-feature-number{font-size:.74rem;letter-spacing:.12em;color:#e5ba71}.app-feature h3{font-size:1.25rem;margin:15px 0}.app-feature p{font-size:.85rem;color:#d9e5db;margin:0}.flourishing-section .section-heading{max-width:900px}.flourishing-section .section-heading h2{font-size:2.6rem}.editorial .app-features-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:45px}.editorial .app-feature{background:#f7f3eb;border-color:#e5e0d5}.editorial .app-feature h3{color:#173d2e}.editorial .app-feature p{color:#64695f}.editorial .app-feature-number{color:#a57c42}
@media(max-width:1100px){.app-features-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.flourishing-layout{grid-template-columns:1fr;gap:35px}.flourishing-section{padding:65px 0}.app-features{margin-top:55px}.app-features-grid,.editorial .app-features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.app-features-grid,.editorial .app-features-grid{grid-template-columns:1fr}.flourishing-intro .button-row .btn{width:100%}}
