*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Rubik',sans-serif;color:#2b2b2b;background:#fff7f0;line-height:1.65;overflow-x:hidden;font-size:16px}
img{max-width:100%;display:block;object-fit:cover}
a{color:#FF6B6B;text-decoration:none;transition:color .25s ease}
a:hover{color:#4ECDC4}
h1,h2,h3,h4,h5,h6{font-family:'Bebas Neue',sans-serif;font-weight:400;letter-spacing:.02em;line-height:1.1;color:#1a3a3a;text-transform:uppercase}
h1{font-size:clamp(2.5rem,6vw,5rem)}
h2{font-size:clamp(2rem,4vw,3.25rem)}
h3{font-size:clamp(1.4rem,2.5vw,2rem)}
p{margin-bottom:1rem}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}
.section{padding:5rem 0;position:relative}
.section--coral{background:#fff7f0}
.section--turquoise{background:#eafaf8}
.section--golden{background:#fff9d6}
.section--dark{background:#1a3a3a;color:#f0f0f0}
.section--dark h2,.section--dark h3{color:#FFE66D}

/* HEADER & NAV */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(255,247,240,.92);backdrop-filter:blur(10px);border-bottom:2px solid transparent;border-image:linear-gradient(90deg,transparent,#FF6B6B,#4ECDC4,#FFE66D,transparent) 1;transition:box-shadow .3s ease}
.site-header.is-scrolled{box-shadow:0 4px 30px rgba(0,0,0,.12)}
.nav-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.75rem 1.5rem;max-width:1400px;margin:0 auto;gap:1rem}
.nav-left,.nav-right{display:flex;gap:1.75rem;align-items:center}
.nav-right{justify-content:flex-end}
.nav-link{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:.08em;color:#1a3a3a;position:relative;padding:.25rem 0;transition:color .25s ease,transform .25s ease}
.nav-link::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:3px;border-radius:2px;background:linear-gradient(90deg,#FF6B6B,#4ECDC4);transition:width .3s ease}
.nav-link:hover{color:#FF6B6B;transform:translateY(-2px)}
.nav-link:hover::after{width:100%}
.nav-link.active,.nav-link[aria-current="page"]{color:#FF6B6B}
.nav-link.active::after,.nav-link[aria-current="page"]::after{width:100%}
.logo{text-align:center;display:flex;flex-direction:column;align-items:center;gap:0;transition:transform .3s ease}
.logo:hover{transform:scale(1.04)}
.logo-mark{font-family:'Bebas Neue',sans-serif;font-size:1.85rem;letter-spacing:.04em;color:#1a3a3a;line-height:1;display:block}
.logo-mark span{color:#FF6B6B}
.logo-sub{font-family:'Rubik',sans-serif;font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:#4ECDC4;font-weight:500}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;font-size:1.6rem;color:#1a3a3a;padding:.5rem}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 2rem;font-family:'Bebas Neue',sans-serif;font-size:1.15rem;letter-spacing:.06em;border:none;border-radius:8px;cursor:pointer;text-align:center;color:#fff;background:linear-gradient(135deg,#FF6B6B 0%,#ff8e53 100%);box-shadow:0 6px 18px rgba(255,107,107,.35);transition:transform .25s ease,box-shadow .25s ease;text-transform:uppercase}
.btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 26px rgba(255,107,107,.5);color:#fff}
.btn:active{transform:translateY(-1px) scale(1)}
.btn--turquoise{background:linear-gradient(135deg,#4ECDC4 0%,#44b8af 100%);box-shadow:0 6px 18px rgba(78,205,196,.35)}
.btn--turquoise:hover{box-shadow:0 10px 26px rgba(78,205,196,.5)}
.btn--golden{background:linear-gradient(135deg,#FFE66D 0%,#ffd93d 100%);color:#1a3a3a;box-shadow:0 6px 18px rgba(255,230,109,.4)}
.btn--golden:hover{box-shadow:0 10px 26px rgba(255,230,109,.6);color:#1a3a3a}
.btn--outline{background:transparent;border:2px solid #fff;color:#fff;box-shadow:none}
.btn--outline:hover{background:#fff;color:#FF6B6B}
.btn--lg{padding:1.1rem 2.6rem;font-size:1.35rem}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,58,58,.55) 0%,rgba(0,0,0,.45) 50%,rgba(26,58,58,.7) 100%);z-index:1}
.hero-content{position:relative;z-index:2;max-width:860px;padding:6rem 1.5rem 2rem}
.hero-content h1{color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.4);margin-bottom:1rem}
.hero-content h1 span{color:#FFE66D}
.hero-tagline{font-size:1.25rem;color:#fff;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.5}
.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.scroll-cue{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:2;color:#fff;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;animation:bob 2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* WAVE DIVIDERS */
.wave-divider{position:absolute;left:0;width:100%;line-height:0;pointer-events:none;z-index:3}
.wave-divider--bottom{bottom:-1px}
.wave-divider--top{top:-1px;transform:rotate(180deg)}
.wave-divider svg{width:100%;height:60px;display:block}
.wave-divider--tall svg{height:100px}

/* PALM DECORATION */
.palm-deco{position:absolute;pointer-events:none;z-index:1;opacity:.18;max-width:240px}
.palm-deco--left{left:-40px;top:10%}
.palm-deco--right{right:-40px;bottom:10%;transform:scaleX(-1)}
.palm-deco svg{width:100%;height:auto}

/* CONTENT SECTIONS */
.section-head{text-align:center;max-width:720px;margin:0 auto 3rem;position:relative;z-index:2}
.section-head h2{margin-bottom:.75rem}
.section-head h2 span{color:#FF6B6B}
.section-head p{color:#555;font-size:1.1rem}
.eyebrow{display:inline-block;font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:.3em;color:#4ECDC4;margin-bottom:.75rem;text-transform:uppercase}
.section--dark .eyebrow{color:#FFE66D}
.section--dark .section-head p{color:#c8e0dd}

/* CARDS */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
.card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.08);transition:transform .35s ease,box-shadow .35s ease;position:relative}
.card:hover{transform:translateY(-10px);box-shadow:0 20px 50px rgba(255,107,107,.18)}
.card-img{width:100%;height:220px;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .card-img img{transform:scale(1.08)}
.card-body{padding:1.75rem}
.card-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;background:linear-gradient(135deg,#FFE66D,#FF6B6B);color:#fff;font-size:1.5rem}
.card-icon--turq{background:linear-gradient(135deg,#4ECDC4,#1a3a3a)}
.card-body h3{margin-bottom:.5rem;color:#1a3a3a}
.card-body p{color:#555;font-size:.95rem;margin-bottom:1rem}
.card-link{font-family:'Bebas Neue',sans-serif;letter-spacing:.06em;color:#FF6B6B;font-size:1.05rem;display:inline-flex;align-items:center;gap:.35rem;transition:gap .25s ease,color .25s ease}
.card-link:hover{color:#4ECDC4;gap:.6rem}

/* FEATURE / TWO COLUMN */
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin-bottom:4rem}
.feature-row:nth-child(even) .feature-media{order:2}
.feature-media{border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.15);position:relative}
.feature-media img{width:100%;height:380px;object-fit:cover}
.feature-media::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 60%,rgba(255,107,107,.2));pointer-events:none}
.feature-text h2{margin-bottom:1rem}
.feature-text h2 span{color:#4ECDC4}
.feature-text p{color:#555;margin-bottom:1.25rem}
.feature-list{list-style:none;margin-bottom:1.5rem}
.feature-list li{padding:.5rem 0 .5rem 1.75rem;position:relative;color:#444}
.feature-list li::before{content:'';position:absolute;left:0;top:.85rem;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#FF6B6B,#4ECDC4)}

/* STATS */
.stats-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;text-align:center}
.stat{padding:1.5rem}
.stat-num{font-family:'Bebas Neue',sans-serif;font-size:3rem;color:#FF6B6B;line-height:1}
.stat-num span{color:#4ECDC4}
.stat-label{font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:#666;margin-top:.5rem}

/* CONTACT / ADDRESS */
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.contact-info{background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.08)}
.contact-info h3{color:#FF6B6B;margin-bottom:1.25rem}
address.nap{font-style:normal;font-size:1.05rem;line-height:2;color:#333}
address.nap strong{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:.04em;color:#1a3a3a;display:block;margin-bottom:.5rem}
address.nap .nap-line{display:block;padding-left:1.75rem;position:relative}
address.nap .nap-line::before{content:'';position:absolute;left:0;top:.7rem;width:8px;height:8px;border-radius:50%;background:#4ECDC4}
address.nap .nap-line a{color:inherit}
address.nap .nap-line a:hover{color:#FF6B6B}
.contact-form{background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.08)}
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-family:'Bebas Neue',sans-serif;letter-spacing:.06em;color:#1a3a3a;margin-bottom:.4rem;font-size:1rem}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:2px solid #e8e8e8;border-radius:8px;font-family:'Rubik',sans-serif;font-size:1rem;color:#333;background:#fafafa;transition:border-color .25s ease,background .25s ease}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#4ECDC4;background:#fff}
.form-group textarea{min-height:140px;resize:vertical}
.map-embed{border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.08);margin-top:2rem}
.map-embed iframe{width:100%;height:360px;border:0;display:block}

/* FOOTER */
.site-footer{background:#1a3a3a;color:#c8e0dd;padding:4rem 0 0;position:relative}
.footer-wave{position:absolute;top:-1px;left:0;width:100%;line-height:0;transform:rotate(180deg)}
.footer-wave svg{width:100%;height:80px;display:block}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:2.5rem;padding:3rem 0 2rem}
.footer-brand .logo-mark{color:#fff;font-size:1.6rem}
.footer-brand .logo-sub{color:#4ECDC4}
.footer-brand p{margin-top:1rem;color:#9bb8b5;font-size:.9rem;max-width:280px}
.footer-col h4{color:#FFE66D;font-size:1.1rem;letter-spacing:.1em;margin-bottom:1rem}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:.6rem}
.footer-col a{color:#c8e0dd;font