*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--olive:#7A8C5A;--olive-dark:#5C6B40;--olive-deep:#3D4A28;--olive-light:#9AAD72;--olive-pale:#C8D4A8;--ink:#1A1A18;--ink-soft:#3A3A35;--pink:#F07BB8;--pink-dark:#D45A98;--pink-pale:#FAD0E8;--off-white:#F2EDE0;--font-display:"Bebas Neue",sans-serif;--font-body:"DM Sans",sans-serif}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--olive);color:var(--ink);overflow-x:hidden}.dest-card,.chip,.cat-card{text-decoration:none}#hero{position:relative;height:100vh;min-height:600px}#home-map{position:absolute;inset:0;width:100%;height:100%;z-index:0;filter:saturate(.35) brightness(.5) hue-rotate(55deg)}#hero:before{content:"";position:absolute;inset:0;z-index:1;background:#50643280}#home-overlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:2rem}#home-brand{text-align:center;animation:fadeUp .8s ease both}.home-logo{display:block}.atlas{font-family:var(--font-display);font-size:clamp(5rem,14vw,11rem);letter-spacing:.06em;color:var(--off-white);line-height:.88;display:block}.retreats{font-family:var(--font-display);font-size:clamp(5rem,14vw,11rem);letter-spacing:.06em;color:var(--pink);line-height:.88;display:block}.home-tagline{font-family:var(--font-body);font-size:clamp(.68rem,1.5vw,.82rem);font-weight:300;letter-spacing:.38em;text-transform:uppercase;color:#f2ede099;margin-top:1.1rem}#home-search-wrap{position:relative;width:100%;max-width:500px;animation:fadeUp .8s .14s ease both}.search-wrap{display:flex;align-items:center;background:#f2ede0f5;border:2px solid var(--ink);padding:0 1rem}.search-ico{width:16px;height:16px;flex-shrink:0;opacity:.4}.search-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--font-body);font-size:.9rem;color:var(--ink);padding:.9rem .75rem}.search-input::placeholder{color:#999}.search-clear{border:none;background:none;cursor:pointer;color:#aaa;font-size:.8rem;padding:.25rem}.search-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--off-white);border:2px solid var(--ink);z-index:100}#home-popular{text-align:center;animation:fadeUp .8s .26s ease both}.section-label{font-size:.63rem;letter-spacing:.3em;text-transform:uppercase;color:#f2ede073;margin-bottom:.75rem}.chips-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.chip{background:transparent;border:1.5px solid rgba(242,237,224,.35);color:var(--off-white);font-size:.74rem;font-weight:300;padding:.35rem .9rem;cursor:pointer;transition:background .2s,border-color .2s;letter-spacing:.05em}.chip:hover{background:#f07bb82e;border-color:var(--pink);color:var(--pink-pale)}.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:fadeUp 1s .6s ease both;cursor:pointer;text-decoration:none}.scroll-hint span{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:#f2ede066}.scroll-arrow{width:1px;height:36px;background:#f2ede04d;animation:scrollPulse 2.2s ease-in-out infinite}#trust-bar{background:var(--ink);display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.trust-item{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1.5rem 3rem;border-right:1px solid rgba(255,255,255,.06)}.trust-item:last-child{border-right:none}.trust-num{font-family:var(--font-display);font-size:2.4rem;color:var(--pink);letter-spacing:.04em;line-height:1}.trust-label{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffff4d}section{padding:6rem 2rem}.container{max-width:1100px;margin:0 auto}.eyebrow{font-size:.63rem;letter-spacing:.35em;text-transform:uppercase;color:var(--pink);margin-bottom:1rem;display:block}a:has(.eyebrow){text-decoration:none}.display-heading{font-family:var(--font-display);font-size:clamp(3rem,6vw,5.5rem);letter-spacing:.04em;line-height:.94;color:var(--ink)}.display-heading .accent{color:var(--pink-dark)}.display-heading .light{color:var(--off-white)}.display-heading .pink{color:var(--pink)}.body-text{font-size:.93rem;line-height:1.8;color:var(--ink-soft);max-width:480px}#categories{background:var(--olive);position:relative;overflow:hidden}#categories:before{content:"RETREAT";position:absolute;right:-1rem;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-size:22vw;color:#0000000f;pointer-events:none;white-space:nowrap;letter-spacing:-.02em}#categories .container{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}#categories .display-heading{color:var(--off-white)}#categories .body-text{color:#f2ede094}#categories .eyebrow{color:var(--pink-pale)}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.cat-card{position:relative;overflow:hidden;aspect-ratio:1/1;cursor:pointer;border:2px solid transparent;transition:border-color .3s}.cat-card:hover{border-color:var(--pink)}.cat-card-inner{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:1rem 1.1rem;transition:transform .5s ease}.cat-card:hover .cat-card-inner{transform:scale(1.06)}.cat-card-yoga{background:#4a6642}.cat-card-surf{background:#3a5c6a}.cat-card-ski{background:#556080}.cat-card-wellness{background:#7a5a3a}.cat-icon{font-size:1.4rem;margin-bottom:.4rem;display:block}.cat-name{font-family:var(--font-display);font-size:1.9rem;letter-spacing:.06em;color:#fff;display:block;line-height:1}.cat-count{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffff73;margin-top:.2rem}.cat-tag{position:absolute;top:.7rem;right:.7rem;background:var(--pink);color:#fff;font-size:.52rem;letter-spacing:.15em;text-transform:uppercase;padding:.2rem .5rem;display:none}.cat-card:first-child .cat-tag{display:block}#how{background:var(--off-white);position:relative;overflow:hidden}#how:after{content:"";position:absolute;bottom:-5rem;right:-5rem;width:28rem;height:28rem;border-radius:50%;background:var(--pink-pale);opacity:.3;pointer-events:none}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:4rem;border:2px solid var(--ink)}.step{padding:2.5rem 2rem;border-right:2px solid var(--ink);position:relative}.step:last-child{border-right:none}.step-num{font-family:var(--font-display);font-size:5rem;letter-spacing:.02em;color:var(--olive-pale);line-height:1;margin-bottom:1rem}.step-title{font-family:var(--font-display);font-size:1.9rem;letter-spacing:.04em;color:var(--ink);margin-bottom:.75rem}.step-desc{font-size:.87rem;line-height:1.75;color:var(--ink-soft)}.step-pill{display:inline-block;background:var(--pink);color:#fff;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;padding:.2rem .6rem;margin-bottom:1.2rem}#destinations{background:var(--ink)}#destinations .eyebrow{color:var(--pink)}.dest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:3rem;border:1px solid rgba(255,255,255,.07)}.dest-card{padding:2rem 1.5rem;border-right:1px solid rgba(255,255,255,.07);cursor:pointer;transition:background .25s;position:relative;overflow:hidden}.dest-card:last-child{border-right:none}.dest-card:hover{background:#ffffff0a}.dest-flag-big{font-size:2.8rem;display:block;margin-bottom:1rem;transition:transform .4s ease}.dest-card:hover .dest-flag-big{transform:scale(1.15) rotate(-6deg)}.dest-name{font-family:var(--font-display);font-size:1.55rem;letter-spacing:.05em;color:var(--off-white);line-height:1.1}.dest-sub{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffff47;margin:.4rem 0 .9rem}.dest-tags{display:flex;gap:.4rem;flex-wrap:wrap}.dest-tag{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .55rem;border:1px solid rgba(255,255,255,.1);color:#ffffff59}.dest-card:hover .dest-tag{border-color:var(--pink);color:var(--pink-pale)}#cta{background:var(--pink-dark);text-align:center;padding:7rem 2rem;position:relative;overflow:hidden}#cta:before{content:"JOIN";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:30vw;color:#ffffff0f;pointer-events:none;white-space:nowrap}#cta .eyebrow{color:#ffffff80}.cta-heading{font-family:var(--font-display);font-size:clamp(3.5rem,8vw,7rem);letter-spacing:.04em;line-height:.92;color:#fff;margin-bottom:1.5rem;position:relative}.cta-heading span{color:var(--olive-pale)}.cta-sub{font-size:.93rem;color:#fff9;margin:0 auto 2.5rem;max-width:440px;line-height:1.75;position:relative}.cta-form{display:flex;max-width:420px;margin:0 auto;position:relative;border:2px solid rgba(255,255,255,.38)}.cta-input{flex:1;border:none;outline:none;background:transparent;color:#fff;font-family:var(--font-body);font-size:.88rem;padding:.9rem 1.1rem}.cta-input::placeholder{color:#ffffff61}.cta-btn{background:var(--ink);color:#fff;border:none;font-family:var(--font-display);font-size:1rem;letter-spacing:.1em;padding:0 1.6rem;cursor:pointer;transition:background .2s;white-space:nowrap}.cta-btn:hover{background:var(--olive-deep)}.cta-note{font-size:.66rem;color:#ffffff47;margin-top:1rem;letter-spacing:.08em;position:relative}footer{background:var(--ink);padding:2.5rem 2rem;border-top:1px solid rgba(255,255,255,.05)}.footer-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}.footer-brand{font-family:var(--font-display);font-size:1.6rem;letter-spacing:.1em;color:#ffffffa6}.footer-brand span{color:var(--pink)}.footer-links{display:flex;gap:2rem;list-style:none}.footer-links a{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#ffffff38;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--pink)}.footer-copy{font-size:.66rem;color:#ffffff24;letter-spacing:.06em}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(1)}50%{opacity:.75;transform:scaleY(1.2)}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){#categories .container{grid-template-columns:1fr;gap:3rem}.steps-grid{grid-template-columns:1fr}.step{border-right:none;border-bottom:2px solid var(--ink)}.step:last-child{border-bottom:none}.dest-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.dest-grid{grid-template-columns:1fr}.trust-item{padding:1.2rem 1.5rem}.cta-form{flex-direction:column;border:none;gap:.5rem}.cta-input{border:2px solid rgba(255,255,255,.38)}.cta-btn{padding:.9rem;border:2px solid var(--ink)}}
