@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-600-italic.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jost-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/jost-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/source-sans-3-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/source-sans-3-latin-600-normal.woff2) format('woff2')}
:root{--dark:#12324a;--teal:#2a8c8c;--pop:#d9734e;--soft:#f7d9c4;--sand:#fbf6ee;--light:#eef5f3;--prop:#1f6f78}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Source Sans 3",Arial,sans-serif;color:#1d2b36;background:var(--sand);font-size:18px;line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.lbl{font-family:Jost,sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:13px;font-weight:600}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;line-height:1.02;margin:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.top{position:absolute;top:0;left:0;right:0;z-index:5;color:#fff}
.top .wrap{display:flex;justify-content:space-between;align-items:center;height:76px}
.logo{font-family:Jost;font-weight:600;letter-spacing:.3em;text-transform:uppercase;font-size:14px;text-decoration:none}
.logo span{color:var(--soft)}
.top a.cta{font-family:Jost;font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid rgba(255,255,255,.6);padding:9px 16px;border-radius:99px}
.hero{position:relative;min-height:min(100vh,860px);color:#fff;background:#12324a url(/beaches/img/hero.jpg) center/cover;display:flex;align-items:center}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,30,45,.88) 0%,rgba(10,30,45,.55) 48%,rgba(10,30,45,.15) 100%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding-top:110px;padding-bottom:70px}
.hero .lbl{color:var(--soft)}
.hero h1{font-size:clamp(46px,6vw,80px);margin:14px 0 18px}
.hero h1 em{font-weight:600;color:var(--soft)}
.hero .sub{font-size:21px;max-width:560px;opacity:.95;margin:0 0 22px}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.checks li{padding-left:34px;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:4px;width:22px;height:22px;border-radius:50%;background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' stroke='white' stroke-width='3' fill='none'/%3E%3C/svg%3E") center/14px no-repeat}
.card{background:#fff;color:#1d2b36;border-radius:6px;padding:30px 28px;box-shadow:0 30px 60px rgba(0,0,0,.25);border-top:5px solid var(--pop)}
.card h2{font-size:32px;color:var(--dark);margin:6px 0 6px}
.card .lbl{color:var(--pop)}
.card p.s{margin:0 0 16px;color:#55656c;font-size:16px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.card label{display:block;font-size:13px;font-family:Jost;letter-spacing:.08em;text-transform:uppercase;color:#55656c;margin:10px 0 4px}
.card input{width:100%;padding:12px 13px;border:1px solid #d8d2c6;border-radius:4px;font:inherit;font-size:16px;background:#fdfbf7}
.card input:focus{outline:2px solid var(--teal);border-color:var(--teal)}
.card button{margin-top:18px;width:100%;padding:15px;border:0;border-radius:4px;background:var(--teal);color:#fff;font-family:Jost;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:15px;cursor:pointer}
.card button:hover{background:#237878}
.card .fine{font-size:13px;color:#7b878b;margin:12px 0 0}
.err{color:#b4442a;font-size:14px;margin-top:8px;display:none}
.why{background:var(--dark);color:#fff;padding:96px 0}
.why .head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}
.why h2{font-size:clamp(40px,5vw,62px)}
.why h2 em{display:block;font-weight:600;color:var(--soft)}
.why .head p{max-width:420px;opacity:.85;margin:0}
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:16px}
.tile{position:relative;border-radius:6px;overflow:hidden;background:#0c2638}
.tile img{width:100%;height:100%;object-fit:cover}
.tile .cap{position:absolute;left:0;right:0;bottom:0;padding:44px 20px 18px;background:linear-gradient(0deg,rgba(6,20,30,.92),rgba(6,20,30,0))}
.tile .cap b{font-family:Jost;font-size:12px;letter-spacing:.2em;color:var(--soft)}
.tile .cap h3{font-size:25px;margin-top:4px}
.tile .cap p{margin:4px 0 0;font-size:15px;opacity:.9}
.t1{grid-column:span 2;grid-row:span 2}.t2,.t3{grid-column:span 2}
.stat{background:var(--pop);display:flex;flex-direction:column;justify-content:center;padding:26px}
.stat b{font-family:"Cormorant Garamond";font-size:72px;line-height:.9}
.stat span{font-size:16px;margin-top:8px}
.pano{grid-column:span 4;height:auto}
.inside{background:#fff;color:#1d2b36;padding:30px;display:flex;flex-direction:column;justify-content:center;grid-column:span 3}
.inside .lbl{color:var(--teal)} .inside h3{font-size:34px;color:var(--dark);margin:6px 0 8px}
.inside p{margin:0 0 16px;color:#4a5a60}
.inside a{align-self:start;background:var(--dark);color:#fff;text-decoration:none;font-family:Jost;letter-spacing:.14em;text-transform:uppercase;font-size:14px;padding:13px 22px;border-radius:4px}
.credits{font-size:13px;opacity:.6;margin-top:26px}
footer{padding:36px 0;font-size:14px;color:#6c787c}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
/* thank-you */
.ty{background:var(--dark) url(/beaches/img/dunes.jpg) center/cover;position:relative;color:#fff;padding:150px 0 90px;text-align:center}
.ty::before{content:"";position:absolute;inset:0;background:rgba(10,30,45,.78)}
.ty .wrap{position:relative}
.ok{width:74px;height:74px;border-radius:50%;background:var(--teal);margin:0 auto 22px;display:flex;align-items:center;justify-content:center}
.ty h1{font-size:clamp(44px,6vw,72px)} .ty p{font-size:20px;opacity:.92;max-width:620px;margin:16px auto 28px}
.dl{display:inline-block;background:var(--pop);color:#fff;text-decoration:none;font-family:Jost;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:18px 34px;border-radius:4px;font-size:16px}
.ty small{display:block;margin-top:16px;opacity:.75;font-size:15px}
.pages{padding:70px 0 30px}
.pages h2{font-size:40px;color:var(--dark);text-align:center;margin-bottom:28px}
.strip{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.strip img{border-radius:4px;box-shadow:0 12px 30px rgba(18,50,74,.18)}
.stay{margin:60px auto 80px;background:var(--prop);color:#fff;border-radius:6px;overflow:hidden;display:grid;grid-template-columns:1fr 1.1fr}
.stay img{width:100%;height:100%;object-fit:cover}
.stay .t{padding:44px}
.stay .lbl{color:var(--soft)} .stay h2{font-size:42px;margin:8px 0 12px} .stay h2 em{color:var(--soft);font-weight:600}
.stay p{opacity:.95;margin:0 0 22px}
.stay a{display:inline-block;background:#fff;color:var(--prop);text-decoration:none;font-family:Jost;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:14px 26px;border-radius:4px;font-size:14px}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;padding-top:100px}.hero{min-height:auto}.why .head{display:block}.why .head p{margin-top:14px}
.bento{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.t1{grid-column:span 2;grid-row:span 1}.t2,.t3{grid-column:span 2}.pano,.inside{grid-column:span 2}
.strip{grid-template-columns:repeat(3,1fr)}.stay{grid-template-columns:1fr}.stay img{height:260px}.top a.cta{display:none}}
@media(max-width:520px){body{font-size:17px}.row{grid-template-columns:1fr}.bento{grid-template-columns:1fr}.t1,.t2,.t3,.pano,.inside{grid-column:span 1}.stat b{font-size:56px}.stay .t{padding:28px}.strip{grid-template-columns:1fr 1fr}}
/* home hub */
.home-hero{position:relative;color:#fff;background:#12324a url(/assets/img/home-hero.jpg) center 60%/cover;padding:190px 0 150px}
.home-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,30,45,.55),rgba(10,30,45,.35) 45%,rgba(10,30,45,.85))}
.home-hero .wrap{position:relative;max-width:900px;text-align:center}
.home-hero .lbl{color:var(--soft)} .home-hero h1{font-size:clamp(48px,7vw,92px);margin:16px 0 18px} .home-hero h1 em{color:var(--soft);font-weight:600}
.home-hero p{font-size:21px;max-width:640px;margin:0 auto 28px;opacity:.95}
.btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;font-family:Jost;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:14px;padding:15px 26px;border-radius:4px;text-decoration:none}
.btn.p{background:var(--pop);color:#fff}.btn.g{border:1px solid rgba(255,255,255,.7);color:#fff}
.guides{padding:90px 0 40px}
.guides .head{text-align:center;margin-bottom:40px}.guides .lbl{color:var(--teal)}.guides h2{font-size:clamp(38px,5vw,56px);color:var(--dark);margin-top:8px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.gcard{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 14px 34px rgba(18,50,74,.1);display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .2s}
.gcard:hover{transform:translateY(-4px)}
.gcard img{aspect-ratio:3/2;object-fit:cover;width:100%}
.gcard .b{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.gcard .lbl{color:var(--pop);font-size:12px}.gcard h3{font-size:28px;color:var(--dark);margin:6px 0 8px}
.gcard p{margin:0 0 18px;color:#55656c;font-size:16px;flex:1}
.gcard .go{font-family:Jost;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:var(--teal)}
.gcard.soon{background:var(--light);box-shadow:none;border:2px dashed #c9dcd8;justify-content:center;padding:32px}
.gcard.soon ul{margin:6px 0 0;padding-left:18px;color:#4a5a60}
.home-stay{margin:60px auto 90px}
@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}.home-hero{padding:140px 0 100px}}
@media(max-width:600px){.cards{grid-template-columns:1fr}}
