:root{
  --navy:#071d36;
  --navy-2:#0d2948;
  --cream:#f8f4ec;
  --paper:#fffdfa;
  --gold:#c99a4d;
  --gold-light:#ead4a7;
  --green:#1b5c4a;
  --text:#182333;
  --muted:#657080;
  --line:rgba(7,29,54,.12);
  --shadow:0 24px 70px rgba(7,29,54,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",sans-serif;color:var(--text);background:var(--paper);line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.shell{width:min(1180px,calc(100% - 40px));margin:auto}
.announcement{min-height:38px;background:var(--navy);color:#fff;display:flex;justify-content:center;align-items:center;gap:14px;padding:8px 20px;font-size:13px;letter-spacing:.01em}
.announcement span{color:var(--gold-light);text-transform:uppercase;font-weight:700;letter-spacing:.12em;font-size:10px}
.announcement a{border-bottom:1px solid rgba(255,255,255,.5)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,250,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px}
.brand img{width:55px;height:55px;border-radius:50%;object-fit:cover;box-shadow:0 5px 15px rgba(7,29,54,.12)}
.brand strong{font-family:"Playfair Display",serif;font-size:24px;letter-spacing:.08em;color:var(--navy);display:block;line-height:.9}
.brand small{font-size:9px;letter-spacing:.42em;color:var(--gold);font-weight:700}
.main-nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600;color:var(--navy)}
.main-nav>a:not(.nav-cta):hover{color:var(--gold)}
.nav-cta{background:var(--navy);color:white;padding:13px 18px;border-radius:999px;box-shadow:0 8px 20px rgba(7,29,54,.15)}
.menu-button{display:none;border:0;background:transparent;font:inherit;font-weight:700;color:var(--navy)}

.hero{position:relative;overflow:hidden;padding:90px 0 84px;background:linear-gradient(135deg,#fffdfa 0%,#f7f0e3 70%,#f1e5d0 100%)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:center}
.eyebrow{display:inline-flex;color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;margin-bottom:18px}
.hero h1,.section h2{font-family:"Playfair Display",serif;color:var(--navy);line-height:1.06;margin:0}
.hero h1{font-size:clamp(49px,6vw,78px);max-width:760px;letter-spacing:-.035em}
.hero h1 em{font-weight:600;color:var(--gold)}
.hero-lead{font-size:20px;color:var(--muted);max-width:650px;margin:28px 0 32px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 22px;border-radius:999px;font-weight:700;font-size:14px;border:1px solid transparent;cursor:pointer;transition:.25s ease;font-family:inherit}
.button:hover{transform:translateY(-2px)}
.primary{background:var(--navy);color:#fff;box-shadow:0 14px 30px rgba(7,29,54,.2)}
.secondary{background:rgba(255,255,255,.6);border-color:rgba(7,29,54,.15);color:var(--navy)}
.gold{background:var(--gold);color:var(--navy)}
.full{width:100%;border-radius:10px}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:54px;padding-top:25px;border-top:1px solid var(--line)}
.trust-row strong,.trust-row span{display:block}
.trust-row strong{font-size:13px;color:var(--navy)}
.trust-row span{font-size:11px;color:var(--muted);margin-top:3px}

.hero-visual{position:relative;min-height:540px}
.arch{position:absolute;inset:0 32px 0 0;border-radius:240px 240px 24px 24px;background:linear-gradient(#f0c777 0 36%,#f7e4b8 36%);overflow:hidden;box-shadow:var(--shadow);border:8px solid rgba(255,255,255,.65)}
.sun{position:absolute;width:160px;height:160px;border-radius:50%;background:#f7d993;top:65px;right:55px;box-shadow:0 0 60px rgba(255,212,116,.7)}
.water{position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(180deg,#2a7c8b,#0f4e68)}
.coast{position:absolute;left:-5%;right:-10%;border-radius:50% 45% 0 0;transform:rotate(-5deg)}
.coast-back{bottom:29%;height:28%;background:#598b72}
.coast-front{bottom:20%;height:26%;background:#205a4b}
.house{position:absolute;bottom:28%;width:105px;height:85px;background:#fff3da;border-radius:3px;z-index:5;box-shadow:0 8px 20px rgba(7,29,54,.18)}
.house:before{content:"";position:absolute;border-left:60px solid transparent;border-right:60px solid transparent;border-bottom:55px solid #bd6b3a;top:-45px;left:-8px}
.house i{position:absolute;width:22px;height:38px;background:#4b8b9c;bottom:0;left:42px;border-radius:2px 2px 0 0}
.house-one{left:55px}
.house-two{left:185px;bottom:34%;transform:scale(.85)}
.house-three{right:30px;bottom:26%;transform:scale(.7)}
.floating-card{position:absolute;z-index:10;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.94);padding:14px 17px;border-radius:15px;box-shadow:0 18px 45px rgba(7,29,54,.18);min-width:190px}
.floating-card .icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:800}
.floating-card strong,.floating-card small{display:block}
.floating-card strong{font-size:13px;color:var(--navy)}
.floating-card small{font-size:11px;color:var(--muted)}
.card-top{top:55px;left:-20px}
.card-bottom{right:-5px;bottom:60px}

.proof-strip{background:var(--navy);color:#fff}
.proof-grid{display:grid;grid-template-columns:repeat(5,1fr);text-align:center}
.proof-grid span{padding:19px 10px;border-right:1px solid rgba(255,255,255,.1);font-size:12px;color:#dbe4ec}
.section{padding:105px 0}
.section-heading{max-width:770px;margin-bottom:55px}
.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}
.section h2{font-size:clamp(39px,4.2vw,58px);letter-spacing:-.025em}
.section-heading p,.about-copy>p,.membership-copy>p,.contact-copy>p{font-size:18px;color:var(--muted);margin-top:20px}

.services{background:#fff}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{min-height:285px;padding:32px;border:1px solid var(--line);border-radius:18px;background:var(--paper);position:relative;transition:.3s ease}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(201,154,77,.4)}
.service-card.featured{background:var(--navy);color:#fff}
.service-card .number{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.15em}
.service-card h3{font-family:"Playfair Display",serif;color:var(--navy);font-size:25px;line-height:1.15;margin:33px 0 13px}
.service-card.featured h3{color:#fff}
.service-card p{color:var(--muted);font-size:14px}
.service-card.featured p{color:#c7d3df}
.card-link{position:absolute;left:32px;bottom:27px;color:var(--gold);font-size:12px;font-weight:800}

.about{background:var(--cream)}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}
.about-panel{min-height:540px;background:var(--navy);border-radius:24px;padding:52px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.about-panel:before{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(234,212,167,.25);border-radius:50%;right:-120px;top:-100px;box-shadow:0 0 0 60px rgba(234,212,167,.04),0 0 0 120px rgba(234,212,167,.03)}
.mini-label{color:var(--gold-light);letter-spacing:.25em;font-size:11px;font-weight:800}
blockquote{font-family:"Playfair Display",serif;font-size:38px;line-height:1.2;color:#fff;margin:35px 0;position:relative;z-index:1}
.signature{color:var(--gold-light);font-size:13px}
.check-list{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:20px}
.check-list li{display:flex;gap:14px}
.check-list li>span{display:grid;place-items:center;flex:0 0 31px;height:31px;border-radius:50%;background:rgba(201,154,77,.16);color:var(--gold);font-weight:800}
.check-list strong,.check-list small{display:block}
.check-list strong{color:var(--navy)}
.check-list small{color:var(--muted);margin-top:3px}

.membership{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.membership:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 30%,rgba(201,154,77,.12),transparent 30%),radial-gradient(circle at 90% 80%,rgba(63,146,119,.12),transparent 30%)}
.membership-grid{display:grid;grid-template-columns:1fr .92fr;gap:80px;align-items:center;position:relative}
.eyebrow.light{color:var(--gold-light)}
.membership h2{color:#fff}
.membership-copy>p{color:#c6d2dc}
.price{display:flex;align-items:flex-end;gap:12px;margin-top:35px}
.price strong{font-family:"Playfair Display",serif;font-size:66px;line-height:.9;color:var(--gold-light)}
.price span{color:#c6d2dc}
.price-note{display:block;color:#9fb0bf;margin-top:12px}
.benefit-card{background:#fff;color:var(--text);padding:38px;border-radius:22px;box-shadow:0 30px 70px rgba(0,0,0,.24)}
.benefit-card h3{font-family:"Playfair Display",serif;font-size:29px;color:var(--navy);margin:0 0 24px}
.benefit-card ul{list-style:none;padding:0;margin:0 0 27px;display:grid;gap:15px}
.benefit-card li{display:flex;gap:12px;font-size:14px}
.benefit-card li span{color:var(--green);font-weight:900}
.benefit-card .button{width:100%}
.fine-print{font-size:11px;color:var(--muted);text-align:center;margin:14px 0 0}

.process{background:#fff}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{padding:35px;border-top:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbf8f2)}
.step>span{font-family:"Playfair Display",serif;font-size:46px;color:var(--gold)}
.step h3{font-family:"Playfair Display",serif;color:var(--navy);font-size:25px;margin:13px 0 8px}
.step p{color:var(--muted);font-size:14px}

.contact{background:var(--cream)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.direct-contact{display:grid;gap:15px;margin-top:35px}
.direct-contact a{display:block;padding:20px 0;border-bottom:1px solid var(--line)}
.direct-contact span,.direct-contact strong{display:block}
.direct-contact span{font-size:11px;color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.direct-contact strong{font-size:19px;color:var(--navy)}
.contact-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{font-size:12px;font-weight:800;color:var(--navy)}
.contact-form label:nth-child(3),.contact-form label:nth-child(4),.contact-form button,.contact-form>small{grid-column:1/-1}
input,select,textarea{width:100%;margin-top:7px;border:1px solid #d8dee5;background:#fff;border-radius:10px;padding:13px 14px;font:inherit;font-size:14px;color:var(--text);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,154,77,.12)}
textarea{resize:vertical}
.contact-form>small{text-align:center;color:var(--muted);font-weight:400}

footer{background:#06182d;color:#fff;padding:65px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1.3fr .7fr;gap:50px}
.footer-grid>div{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#b8c5d0}
.footer-grid>div>strong{color:#fff;font-size:13px;margin-bottom:5px}
.footer-grid a:hover{color:var(--gold-light)}
.footer-brand{flex-direction:row!important;align-items:center}
.footer-brand img{width:64px;height:64px;border-radius:50%}
.footer-brand strong,.footer-brand span{display:block}
.footer-brand strong{font-family:"Playfair Display",serif;font-size:20px!important}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;gap:25px;color:#8090a0;font-size:10px}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:40;background:#1f8f63;color:#fff;border-radius:999px;padding:13px 18px;font-size:13px;font-weight:800;box-shadow:0 15px 35px rgba(0,0,0,.22)}
.hero-glow{position:absolute;border-radius:50%;filter:blur(1px)}
.hero-glow-one{width:500px;height:500px;left:-250px;top:-250px;background:rgba(201,154,77,.08)}
.hero-glow-two{width:350px;height:350px;right:-120px;bottom:-180px;background:rgba(25,92,74,.08)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
  .main-nav{display:none;position:absolute;top:82px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
  .main-nav.open{display:flex}
  .menu-button{display:block}
  .hero-grid,.about-grid,.membership-grid,.contact-grid{grid-template-columns:1fr}
  .hero{padding-top:65px}
  .hero-visual{min-height:490px;max-width:560px;width:100%;margin:auto}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .proof-grid{grid-template-columns:repeat(2,1fr)}
  .proof-grid span:last-child{grid-column:1/-1}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .shell{width:min(100% - 28px,1180px)}
  .announcement{flex-wrap:wrap;gap:7px;text-align:center}
  .announcement a{display:none}
  .nav-wrap{height:72px}
  .brand img{width:47px;height:47px}
  .brand strong{font-size:20px}
  .main-nav{top:72px}
  .hero h1{font-size:46px}
  .hero-lead{font-size:17px}
  .hero-actions .button{width:100%}
  .trust-row{grid-template-columns:1fr;gap:13px}
  .hero-visual{min-height:400px;margin-top:10px}
  .arch{inset:0 7px}
  .floating-card{transform:scale(.86)}
  .card-top{left:-15px}
  .card-bottom{right:-8px}
  .service-grid,.steps,.footer-grid{grid-template-columns:1fr}
  .proof-grid{grid-template-columns:1fr}
  .proof-grid span{border-bottom:1px solid rgba(255,255,255,.08)}
  .section{padding:78px 0}
  .section h2{font-size:38px}
  .about-panel{min-height:430px;padding:35px}
  blockquote{font-size:30px}
  .contact-form{grid-template-columns:1fr;padding:22px}
  .contact-form label{grid-column:1}
  .footer-bottom{flex-direction:column}
  .whatsapp-float span{font-size:0}
  .whatsapp-float span:after{content:"Chat";font-size:13px}
}
