:root{--bg:#f8faf9;--text:#142f36;--muted:#4b636a;--line:#dbe6e3;--accent:#bb3d25;--teal:#106458;--max:1160px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;color:var(--text);background:var(--bg);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px;border-radius:4px}
h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h2{font-size:clamp(26px,3vw,35px)}p{color:var(--muted)}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.skip-link{position:fixed;left:12px;top:-100px;z-index:100;background:white;padding:12px;border:2px solid var(--teal)}.skip-link:focus{top:12px}
.topbar{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}
.nav,.nav-links,.nav-actions{display:flex;align-items:center}.nav{justify-content:space-between;min-height:74px;gap:24px}.logo{display:block;width:154px;height:36px;object-fit:contain}.nav-links{gap:25px;font-size:13px;font-weight:550}.nav-actions{gap:20px;font-size:14px}.login-link{padding:10px 0}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:44px;padding:11px 23px;border-radius:999px;font-size:14px;font-weight:650;border:1px solid var(--line);background:white}.btn-primary{background:var(--accent);border-color:var(--accent);color:white}.btn:hover{background:#a7331e;text-decoration:none}.btn-large{min-height:52px;padding:14px 25px;font-size:15px}
.hero{padding:55px 0 44px;background-color:#fffdf9;background-image:linear-gradient(90deg,#fffdf9 0%,rgba(255,253,249,.94) 33%,rgba(255,253,249,.45) 51%,rgba(255,253,249,.02) 72%,rgba(255,253,249,.02) 96%,#fffdf9 100%),url('/images/hero-beach-community.webp');background-size:min(100%,1440px) 100%,min(100%,1440px) auto;background-position:center,center 28%;background-repeat:no-repeat}
.hero-copy{width:52%;max-width:600px}.eyebrow{display:flex;align-items:center;gap:9px;text-transform:uppercase;font-size:11px;letter-spacing:.14em;color:var(--teal);font-weight:750;margin-bottom:20px}.eyebrow-dot{width:7px;height:7px;background:var(--teal);border-radius:50%}h1{font-size:clamp(40px,4.1vw,58px);line-height:1.06}h1 span{color:var(--teal)}.hero-copy>p{font-size:16px;max-width:475px;margin:20px 0 18px}.hero-buttons{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--teal);font-size:13px;font-weight:650;min-height:34px}

.section-kicker{display:block;color:var(--teal);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:750;margin-bottom:10px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:23px}.section-heading>p{max-width:310px;font-size:14px}
.features-section{padding:40px 0 32px}.features-grid{display:grid;grid-template-columns:1fr 1.18fr 1fr;gap:15px}.feature-card{border:1px solid var(--line);border-radius:18px;padding:25px;display:flex;flex-direction:column;background:white;min-width:0}.feature-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:24px}.feature-card h3{font-size:25px;margin-bottom:15px}.feature-card>p{font-size:13px;line-height:1.75}.people-card{background:#edf4ef}.diary-card{background:#fffdf7;border-color:#e8e1d2}.share-card{background:#edf2f5}.feature-hint{margin:24px 0 12px;border-top:1px solid #cadad3;padding-top:16px;color:#405d60;font-size:12px}.feature-hint span{font-size:20px;margin-right:5px}.feature-card>.text-link{margin-top:18px}

.flow-section{padding:0 0 30px}.flow-card{padding:25px 0;border-block:1px solid var(--line)}.flow-card h2{font-size:22px;margin-bottom:22px}.flow-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:0;padding:0}.flow-steps li{display:flex;gap:12px}.flow-steps .step-icon{flex:0 0 44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(16,100,88,.06);color:#106458}.step-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.flow-steps h3{font-size:14px;margin-bottom:6px;letter-spacing:0}.flow-steps p{font-size:12px}
.community-block{padding:0 0 28px}.live-grid{display:flex;gap:18px;flex-wrap:wrap}.community-card,.happening-card{flex:1 1 400px;min-width:0;padding:22px;border:1px solid var(--line);border-radius:16px;background:white}.section-header{margin-bottom:18px}.community-card h2,.happening-card h2{font-size:23px}.community-card .section-header p{font-size:12px;margin-top:6px}.community-profiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.community-profile{min-width:0;text-align:center}.community-photo{position:relative;width:62px;height:62px;margin:0 auto 8px}.community-photo img{width:62px;height:62px;border-radius:50%;object-fit:cover;background:#e7eeee}.community-status{position:absolute;right:0;bottom:1px;width:12px;height:12px;border-radius:50%;border:2px solid white;background:#94a3b8}.community-status.online{background:#15803d}.community-name,.community-country{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.community-name{font-weight:650}.community-country{font-size:10px;color:var(--muted)}.happening-events{display:grid;gap:8px}.happening-event{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;border-radius:10px;padding:9px;background:var(--bg)}.happening-avatar{width:38px;height:38px;object-fit:cover;border-radius:50%}.happening-copy{min-width:0}.happening-meta{display:flex;gap:7px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.happening-name{font-weight:650;color:var(--text)}.happening-description{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.happening-time{font-size:10px;color:var(--muted);white-space:nowrap}.happening-card>.text-link{margin-top:10px}
.quick-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;padding-bottom:30px}.quick-faq h2{font-size:25px;margin-bottom:12px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:14px 28px 14px 0;font-size:14px;font-weight:600;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:3px;top:12px;color:var(--teal);font-size:21px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:13px;padding:0 25px 15px 0}
.seo-section{padding-bottom:32px}.cities-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.cities-heading h2{font-size:19px}.seo-links{display:flex;gap:10px;flex-wrap:wrap}.seo-links a{border:1px solid var(--line);border-radius:9px;background:white;padding:8px 18px;font-size:12px}.seo-links a:hover{background:#eef4ef;text-decoration:none}
.cta-section{padding-bottom:40px}.cta-box{background:linear-gradient(120deg,#f7e6c7,#fff2dd 65%,#f4dfba);color:#142f36;border:1px solid #ead5b3;padding:34px 38px;border-radius:20px;display:flex;justify-content:space-between;align-items:center;gap:25px}.cta-box .section-kicker{color:#79552d}.cta-box h2{font-size:34px}.cta-box p{font-size:14px;color:#5d5548;max-width:550px;margin-top:12px}.cta-action{display:flex;flex-direction:column;gap:12px;align-items:center}.cta-action>span{font-size:11px;color:#5d5548}.cta-action>span a{text-decoration:underline}.cta-box .btn-primary{background:var(--accent);border-color:var(--accent);color:white;white-space:nowrap}.cta-box .btn:hover{background:#a7331e;border-color:#a7331e}
footer{padding:25px 0;border-top:1px solid var(--line);background:white;color:var(--muted);font-size:11px}.footer-guides,.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-guides{margin-bottom:18px}.footer-content{display:flex;justify-content:space-between;gap:20px}
@media(max-width:1000px){.nav-links{gap:16px}.hero-copy{width:58%}.features-grid{gap:10px}.feature-card{padding:20px}.feature-card h3{font-size:22px}.community-profiles{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:15px}}
@media(max-width:850px){.nav-links{display:none}.hero-copy{width:65%}.hero-copy>p{max-width:370px}.hero{padding-top:40px;background-image:linear-gradient(90deg,#fffdf9 0%,rgba(255,253,249,.96) 40%,rgba(255,253,249,.82) 57%,rgba(255,253,249,.12) 78%,rgba(255,253,249,.02) 96%,#fffdf9 100%),url('/images/hero-beach-community.webp')}.features-grid{grid-template-columns:1fr}.feature-card{padding:22px;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.feature-label{grid-column:1/-1;margin-bottom:12px}.feature-card h3{grid-column:1}.feature-card>p{grid-column:2;grid-row:2/4}.feature-hint{margin:5px 0 10px}.feature-card>.text-link{grid-column:1/-1}.quick-faq{gap:24px}.live-grid{flex-direction:column}.community-card,.happening-card{flex-basis:auto}.community-profiles{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:680px){
.container{width:calc(100% - 32px)}.nav{min-height:64px;gap:12px}.logo{width:124px;height:30px}.nav-actions{gap:15px;font-size:12px}.nav-actions .btn{padding:8px 16px;font-size:12px}
.hero{padding:182px 0 26px;background-image:linear-gradient(180deg,transparent 0,transparent 110px,rgba(255,253,249,.6) 175px,#fffdf9 215px),url('/images/hero-beach-community-mobile.webp');background-size:100% 100%,100% auto;background-position:top,center top}.hero-copy{width:100%;max-width:none}.eyebrow{margin-bottom:14px;font-size:10px}h1{font-size:40px;line-height:1.07}.hero-copy>p{font-size:15px;margin:16px 0 16px;max-width:500px}.hero-buttons{gap:16px}.btn-large{font-size:14px;padding:12px 20px;gap:15px;min-height:48px}
.features-section{padding:27px 0 24px}.section-heading{display:block;margin-bottom:18px}.section-heading h2{font-size:28px}.section-heading>p{font-size:13px;margin-top:12px;max-width:none}.feature-card{display:flex;padding:20px}.feature-label{margin-bottom:14px}.feature-card h3{font-size:24px}.feature-card>p{font-size:14px;line-height:1.6}.feature-hint{margin:18px 0 8px;padding-top:12px}.flow-card{padding:22px 0}.flow-card h2{font-size:22px}.flow-steps{grid-template-columns:1fr;gap:18px}.flow-steps p{font-size:13px}.quick-faq{grid-template-columns:1fr;gap:16px}.quick-faq h2{font-size:24px}.cities-heading h2{font-size:18px}.cities-heading{align-items:flex-start;gap:10px}.cities-heading>.text-link{white-space:nowrap}.seo-links{gap:8px}.seo-links a{padding:7px 13px}.cta-box{padding:26px;flex-direction:column;align-items:flex-start}.cta-box h2{font-size:29px}.cta-action{align-items:flex-start}.footer-content{flex-direction:column;gap:12px}.community-profiles{grid-template-columns:repeat(3,minmax(0,1fr))}.community-card,.happening-card{padding:18px}.happening-event{grid-template-columns:32px minmax(0,1fr)}.happening-avatar{width:32px;height:32px}.happening-time{grid-column:2}.happening-description{white-space:normal}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-buttons .btn-large{min-width:230px;justify-content:center}

@media(max-width:680px){.hero-buttons .btn-large{min-width:170px}}

.features-action{display:flex;justify-content:center;margin-top:24px}.feature-card>.text-link{font-size:12px;font-weight:500}

.travel-diary-preview{max-width:358px;margin:0 0 24px;overflow:hidden;border-radius:14px;box-shadow:0 8px 24px #142f3614;background:#f1f5fa}.travel-diary-preview img{display:block;width:100%;height:auto}

.travel-diary-preview figcaption{padding:6px 12px;font-size:11px;color:var(--muted);background:var(--bg)}

/* Keep the full portrait preview beside the content on wide screens. */
.travel-diary-preview{width:100%;max-width:300px;margin:0 auto 24px}
@media(min-width:1001px){
.features-section{display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:40px;row-gap:20px;align-items:start}
.features-section>.section-heading{grid-column:1;grid-row:1;display:block;margin:0}
.features-section>.section-heading>p{max-width:600px;margin-top:16px}
.features-section>.travel-diary-preview{grid-column:2;grid-row:1/4;align-self:center;margin:0}
.features-section>.features-grid{grid-column:1;grid-row:2;grid-template-columns:1fr;gap:12px}
.features-section .feature-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:24px;padding:18px 22px}
.features-section .feature-label{grid-column:1;margin-bottom:8px}
.features-section .feature-card h3{grid-column:1;grid-row:2;font-size:22px;margin:0}
.features-section .feature-card>p{grid-column:2;grid-row:1/4;align-self:center}
.features-section .feature-card>.text-link{grid-column:1;grid-row:3;margin-top:8px;min-height:24px}
.features-section>.features-action{grid-column:1;grid-row:3;justify-content:flex-start;margin:0}
}
@media(max-width:680px){.travel-diary-preview{max-width:280px}}

@media(max-width:680px){.hero-buttons{width:100%;justify-content:center}.hero-buttons .btn-large{width:100%;min-width:0;min-height:56px;font-size:17px;line-height:1.4;font-weight:750;padding:14px 20px}}

.hero{position:relative;isolation:isolate;background-image:none;overflow:hidden}
.hero-slides{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;background-image:linear-gradient(90deg,#fffdf9 0%,rgba(255,253,249,.94) 33%,rgba(255,253,249,.45) 51%,rgba(255,253,249,.02) 72%,rgba(255,253,249,.02) 96%,#fffdf9 100%),var(--slide-desktop);background-size:min(100%,1440px) 100%,min(100%,1440px) auto;background-position:center,center 28%;background-repeat:no-repeat}
.hero-slide.is-active{opacity:1}
@media(max-width:850px){.hero-slide{background-image:linear-gradient(90deg,#fffdf9 0%,rgba(255,253,249,.96) 40%,rgba(255,253,249,.82) 57%,rgba(255,253,249,.12) 78%,rgba(255,253,249,.02) 96%,#fffdf9 100%),var(--slide-desktop)}}
@media(max-width:680px){.hero-slide{background-image:linear-gradient(180deg,transparent 0,transparent 110px,rgba(255,253,249,.6) 175px,#fffdf9 215px),var(--slide-mobile);background-size:100% 100%,100% auto;background-position:top,center top}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Each language is a real, crawlable link in a compact menu. */
.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}
.landing-language{display:block;position:relative;margin:0 0 0 12px;border:0;flex-shrink:0}
.landing-language>summary{display:flex;align-items:center;gap:7px;min-height:44px;min-width:44px;max-width:180px;padding:7px 0;border:0;background:transparent;color:var(--text);font-size:12px;letter-spacing:0}
.landing-language>summary::after,.landing-language[open]>summary::after{content:none}
.landing-language-arrow{margin-left:auto;font-size:14px;line-height:1;transition:transform .15s ease}
.landing-language[open] .landing-language-arrow{transform:rotate(180deg)}
.landing-language-menu{position:absolute;right:0;top:calc(100% + 7px);width:min(360px,calc(100vw - 32px));max-height:min(420px,70vh);overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:10px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 12px 30px #142f3626;z-index:30}
.landing-language-menu a{min-width:0;display:flex;align-items:center;gap:7px;min-height:44px;padding:7px 10px;border-radius:6px;font-size:13px;overflow-wrap:anywhere}
.landing-language-check{margin-left:auto;flex-shrink:0;font-weight:750}
.landing-language-menu a:hover,.landing-language-menu a[aria-current="page"]{background:#edf4ef;color:var(--teal);text-decoration:none}
.landing-language :focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.nav-links{flex-wrap:wrap;min-width:0;gap:8px 18px}.nav-actions{flex-shrink:0;gap:12px;margin-left:auto;justify-content:flex-end}.nav{gap:16px}.nav-actions .btn{text-align:center;line-height:1.3}
h1 .hero-line{color:inherit}.hero-copy,.cta-box>div{min-width:0}h1,h2,h3{overflow-wrap:anywhere}.cta-box .btn-primary{white-space:normal;text-align:center}
@media(max-width:1100px){.nav-links{display:none}}
@media(max-width:680px){
.nav{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:8px;padding:8px 0}.nav>a{grid-column:1;grid-row:1;min-width:0}.logo{max-width:100%}
.nav-actions{grid-column:2;grid-row:1;justify-content:flex-end;gap:7px;min-width:0;flex-wrap:nowrap}.nav-actions .login-link{min-width:0;max-width:60px;overflow-wrap:anywhere;line-height:1.3}.nav-actions .btn{flex:0 1 auto;min-width:0;max-width:135px;font-size:11px;padding:8px 7px;overflow-wrap:anywhere}
.landing-language{position:static;margin:0 0 0 5px}.landing-language>summary{width:44px;height:44px;padding:7px;gap:3px;justify-content:center}.landing-language-name{display:none}.landing-language-arrow{display:none}.landing-language-menu{right:0;left:auto;width:min(360px,100%)}.topbar{position:relative}
html:not([lang="en"]) h1{font-size:clamp(28px,8.5vw,38px)}
}

/* Small, language-neutral illustrations for the three ways to participate. */
.feature-illustration{display:block;width:88px;height:auto;align-self:center}
@media(min-width:1001px){
.features-section .feature-card{grid-template-columns:88px minmax(0,.9fr) minmax(0,1.1fr);column-gap:16px}
.features-section .feature-illustration{grid-column:1;grid-row:1/4}
.features-section .feature-label{grid-column:2}
.features-section .feature-card h3{grid-column:2}
.features-section .feature-card>p{grid-column:3}
.features-section .feature-card>.text-link{grid-column:2}
}
@media(min-width:681px) and (max-width:1000px){
.features-grid{grid-template-columns:1fr}
.features-section .feature-card{display:grid;grid-template-columns:88px minmax(0,1fr) minmax(0,1fr);column-gap:20px}
.features-section .feature-illustration{grid-column:1;grid-row:1/4}
.features-section .feature-label{grid-column:2;grid-row:1;margin-bottom:8px}
.features-section .feature-card h3{grid-column:2;grid-row:2;margin:0}
.features-section .feature-card>p{grid-column:3;grid-row:1/4;align-self:center}
.features-section .feature-card>.text-link{grid-column:2;grid-row:3;margin-top:8px}
}
@media(max-width:680px){
.features-section .feature-card{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:16px;row-gap:12px}
.features-section .feature-illustration{width:72px;grid-column:1;grid-row:1/3}
.features-section .feature-label{grid-column:2;grid-row:1;margin:0;align-self:end}
.features-section .feature-card h3{grid-column:2;grid-row:2;margin:0;font-size:22px}
.features-section .feature-card>p{grid-column:1/-1;grid-row:3}
.features-section .feature-card>.text-link{grid-column:1/-1;grid-row:4;margin:0}
}

.community-illustration{display:block;width:110px;height:auto}
@media(max-width:680px){.cta-box{position:relative}.cta-box>div:first-child{padding-top:82px}.cta-box .community-illustration{position:absolute;top:22px;left:24px;width:84px}}

/* Give visitors a direct route to destinations before joining. */
.landing-destinations{padding-top:30px;padding-bottom:36px}
.landing-destinations .cities-heading{align-items:center;margin-bottom:10px}
.landing-destinations .cities-heading h2{font-size:clamp(25px,2.8vw,32px)}
.landing-destinations-intro{font-size:14px;line-height:1.7;max-width:76ch;margin-bottom:20px}
.landing-continents{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:23px}
.landing-continent{--destination-ink:#116d59;--destination-tint:#edf6f2;display:flex;flex:1 1 160px;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:16px;border:1px solid var(--line);border-radius:12px;background:white;font-size:15px;font-weight:650;color:var(--destination-ink)}
.landing-continent[data-continent="Americas"]{--destination-ink:#994331;--destination-tint:#fcf0e9}
.landing-continent[data-continent="Asia"]{--destination-ink:#5b4d97;--destination-tint:#f3effa}
.landing-continent[data-continent="Africa"]{--destination-ink:#886019;--destination-tint:#faf3e4}
.landing-continent[data-continent="Oceania"]{--destination-ink:#28627f;--destination-tint:#eaf4f9}
.landing-continent>span:first-child{min-width:0;overflow-wrap:anywhere}
.landing-continent>span:last-child{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:27px;height:27px;border-radius:50%;background:var(--destination-tint);font-size:17px}
.landing-continent:hover{background:var(--destination-tint);border-color:var(--destination-ink);text-decoration:none}
.landing-cities-label{font-size:13px;font-weight:650;margin-bottom:10px}
@media(max-width:680px){.landing-destinations .cities-heading{align-items:flex-start;flex-direction:column;gap:6px}.landing-destinations .cities-heading>.text-link{min-height:44px}.landing-continent{flex-basis:130px;min-height:62px;padding:13px;font-size:14px}.landing-destinations{padding-top:25px;padding-bottom:30px}}
