:root{--navy:#0e4661;--teal:#138ea6;--cream:#f7f3ec;--sand:#ece1d0;--ink:#21313a;--white:#fff;--coral:#e98564;--shadow:0 16px 40px rgba(0,0,0,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:14px clamp(18px,5vw,70px);background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 3px 20px rgba(0,0,0,.08)}.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--navy);line-height:1}.brand-script,.script{font-family:"Segoe Script","Brush Script MT",cursive}.brand-script{font-size:2rem}.brand-sub{font-size:.62rem;letter-spacing:.22em;margin-top:5px}.main-nav{display:flex;justify-content:center;gap:24px}.main-nav a{color:#23485a;text-decoration:none;font-size:.92rem;font-weight:700}.main-nav a:hover{color:var(--teal)}.menu-toggle{display:none;border:0;background:none;font-size:1.7rem;color:var(--navy)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid transparent;transition:.2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary,.btn-book{background:linear-gradient(135deg,#0b98b6,#0d6f88);color:#fff;box-shadow:0 10px 24px rgba(10,130,157,.22)}.btn-ghost{color:#fff;border-color:rgba(255,255,255,.85);background:rgba(14,39,49,.24)}.hero{min-height:630px;position:relative;display:flex;align-items:center;padding:70px clamp(24px,7vw,110px);color:white;background:linear-gradient(120deg,rgba(5,41,52,.65),rgba(7,64,79,.18)),linear-gradient(180deg,#5fa7be 0 38%,#f4b36c 38% 62%,#5b8d95 62% 100%);overflow:hidden}.hero:before{content:"";position:absolute;inset:auto -7% -12% auto;width:56%;height:72%;background:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.22),transparent 62%)}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:28%;background:linear-gradient(180deg,transparent,rgba(4,42,53,.45))}.hero-overlay{position:absolute;inset:0;background-image:repeating-linear-gradient(100deg,transparent 0 95px,rgba(255,255,255,.035) 96px 97px)}.hero-content{position:relative;z-index:2;max-width:700px}.eyebrow{font-size:.78rem;letter-spacing:.22em;font-weight:900;margin:0 0 14px}.teal{color:var(--teal)}h1,h2{font-family:Georgia,"Times New Roman",serif;line-height:1.02;margin:.1em 0 .35em;color:inherit}h1{font-size:clamp(3.7rem,7vw,7rem)}h2{font-size:clamp(2.2rem,4.5vw,4rem);color:var(--navy)}.hero-copy{font-size:1.12rem;max-width:650px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hero-note{position:absolute;z-index:2;right:8%;top:18%;font-family:"Segoe Script","Brush Script MT",cursive;font-size:clamp(1.8rem,3vw,3.2rem);text-align:center;transform:rotate(-6deg);text-shadow:0 3px 12px rgba(0,0,0,.2)}.amenity-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#eee}.amenity-strip article{background:var(--cream);padding:23px 12px;text-align:center;display:flex;flex-direction:column;align-items:center}.amenity-strip span{font-size:2.1rem;color:var(--navy)}.amenity-strip b{color:var(--navy);margin-top:6px}.amenity-strip small{color:#66767d}.section{padding:72px clamp(20px,5vw,72px)}.about{display:grid;grid-template-columns:1.03fr .97fr;gap:55px;align-items:center;background:linear-gradient(90deg,#fff,var(--cream))}.about-copy p:not(.eyebrow){font-size:1.04rem}.big-photo{min-height:430px}.photo-placeholder{background:linear-gradient(145deg,#d9efe8,#a9d4d1 48%,#e5b67e);position:relative;overflow:hidden;box-shadow:var(--shadow)}.photo-placeholder:before{content:"";position:absolute;width:90px;height:220px;right:12%;top:-28px;border-radius:50% 50% 10% 10%;background:linear-gradient(#4e8b67,#2c6c53);transform:rotate(16deg);filter:blur(.3px);opacity:.55}.photo-placeholder:after{content:"";position:absolute;left:8%;right:8%;bottom:12%;height:32%;background:rgba(255,255,255,.46);border-radius:24px 24px 8px 8px}.photo-placeholder span{position:absolute;z-index:2;left:18px;bottom:16px;background:rgba(255,255,255,.94);padding:10px 14px;border-radius:10px;color:var(--navy);font-weight:800}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:28px}.section-heading>p{max-width:470px;color:#61717a}.gallery-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.gallery-card{min-height:190px;border:0;border-radius:14px;cursor:pointer}.gallery-card:hover{transform:translateY(-4px)}.water-band{min-height:240px;display:grid;place-items:center;background:linear-gradient(90deg,rgba(11,91,110,.72),rgba(25,156,177,.4)),linear-gradient(#5fa3b1,#d9a66a);color:white;text-align:center;padding:30px}.water-band-copy{font-family:"Segoe Script",cursive;font-size:clamp(2rem,5vw,4.6rem);line-height:1}.water-band strong{font-family:Arial,sans-serif;letter-spacing:.12em;font-size:.46em}.location{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.round-links{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.round-links div{text-align:center}.round-links span{display:grid;place-items:center;width:82px;height:82px;border-radius:50%;margin:auto;background:linear-gradient(145deg,#d9f0ee,#f1ba7d);font-size:2rem;box-shadow:var(--shadow)}.round-links b{display:block;font-size:.82rem;margin-top:10px;color:var(--navy)}.reviews{padding:68px clamp(20px,6vw,90px);color:#fff;background:linear-gradient(90deg,rgba(59,37,29,.8),rgba(110,62,39,.55)),linear-gradient(#eea165,#8f5e50)}.reviews h2{color:#fff}.reviews-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.reviews blockquote{margin:0;background:#fff;color:#42545e;padding:24px 28px;border-radius:15px;box-shadow:var(--shadow)}.stars{color:#f0a627;font-size:1.35rem;letter-spacing:.12em}.faq{background:var(--cream)}details{background:#fff;border:1px solid #e7ded1;padding:18px 20px;margin:10px 0;border-radius:12px}summary{cursor:pointer;color:var(--navy);font-weight:800}.booking{padding:80px clamp(20px,7vw,110px);display:flex;align-items:center;justify-content:space-between;gap:40px;color:#fff;background:linear-gradient(90deg,rgba(11,67,81,.84),rgba(11,67,81,.42)),linear-gradient(#e68d5f,#264e5c)}.booking .script{font-size:clamp(2rem,4vw,4rem);margin:0}.booking h2{color:#fff;margin-top:6px}.booking p{max-width:660px}.booking .btn-ghost{background:transparent}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px clamp(20px,5vw,70px);background:#fff;color:#526770}.lightbox{position:fixed;z-index:100;inset:0;background:rgba(4,24,31,.88);display:none;place-items:center;padding:30px}.lightbox.open{display:grid}.lightbox>div{width:min(900px,92vw);min-height:540px;border-radius:18px;background:linear-gradient(145deg,#d9efe8,#a9d4d1 48%,#e5b67e);display:grid;place-items:center;text-align:center;color:var(--navy);padding:35px}.lightbox button{position:absolute;right:28px;top:18px;font-size:2.5rem;background:none;border:0;color:#fff;cursor:pointer}@media(max-width:1100px){.main-nav{gap:12px}.gallery-grid{grid-template-columns:repeat(4,1fr)}.amenity-strip{grid-template-columns:repeat(3,1fr)}.round-links{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.site-header{grid-template-columns:1fr auto}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:18px;box-shadow:0 12px 25px rgba(0,0,0,.12);flex-direction:column}.main-nav.open{display:flex}.btn-book{display:none}.hero{min-height:610px;padding-top:100px}.hero-note{display:none}.about,.location,.reviews-inner{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.section-heading,.booking,footer{flex-direction:column;align-items:flex-start}.round-links{grid-template-columns:repeat(3,1fr)}.hero-actions .btn{width:100%}}@media(max-width:520px){h1{font-size:3.2rem}.amenity-strip{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-card{min-height:155px}.round-links{grid-template-columns:repeat(2,1fr)}.section{padding:52px 18px}.hero{padding-left:20px;padding-right:20px}.brand-script{font-size:1.7rem}}
