*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sky:#d6ebf1;--sky-2:#b6dde6;--lagoon:#1f6f87;--lagoon-deep:#134a5b;--sun:#ffd66b;--sand:#f4ead9;--paper:#fbf7f1;--ink:#0e2230;--ink-soft:#4f6573;--hairline:#e1d9c8;--ring:#1f6f8766;--shadow-md:0 18px 40px -18px #0e22304d;--shadow-lg:0 40px 80px -30px #0e223066;--ease:cubic-bezier(.22, 1, .36, 1);--duration:.32s}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;line-height:1.65}h1,h2,h3,h4{letter-spacing:-.005em;font-family:Playfair Display,serif;font-weight:400}.container{max-width:1240px;margin:0 auto;padding:0 24px}nav{-webkit-backdrop-filter:saturate(160%)blur(16px);border:1px solid var(--hairline);z-index:1000;background:#fbf7f1db;border-radius:18px;padding:.85rem 1.3rem;position:fixed;top:14px;left:14px;right:14px;box-shadow:0 2px 6px #0e22300a}.nav-content{justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo{color:var(--lagoon-deep);align-items:center;gap:.5rem;font-family:Playfair Display,serif;font-size:1.4rem;font-style:italic;display:inline-flex}.logo:before{content:"≈";color:var(--lagoon);font-size:1.6rem}.nav-links{gap:1.85rem;list-style:none;display:flex}.nav-links a{color:var(--ink);transition:color var(--duration) var(--ease);font-size:.9rem;font-weight:500;text-decoration:none;position:relative}.nav-links a:after{content:"";background:var(--lagoon);width:0;height:1px;transition:width var(--duration) var(--ease);position:absolute;bottom:-3px;left:0}.nav-links a:hover{color:var(--lagoon)}.nav-links a:hover:after{width:100%}.nav-links a:focus-visible{box-shadow:0 0 0 4px var(--ring);border-radius:4px;outline:none}.nav-cta{background:var(--lagoon);color:#fff;transition:background-color var(--duration) var(--ease), transform var(--duration) var(--ease);border-radius:999px;align-items:center;gap:.45rem;padding:.55rem 1.1rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.nav-cta:hover{background:var(--lagoon-deep);transform:translateY(-1px)}.hero{color:#fff;background:linear-gradient(#0e223026 0%,#0e223073 100%),url(https://images.unsplash.com/photo-1582719508461-905c673771fd?w=1920&q=80) 50%/cover no-repeat;align-items:center;min-height:100vh;display:flex;position:relative}.hero-content{z-index:1;width:100%;max-width:1240px;margin:0 auto;padding:8rem 24px 6rem;position:relative}.hero-eyebrow{color:#fff;letter-spacing:.04em;-webkit-backdrop-filter:blur(6px);opacity:0;animation:heroIn .7s var(--ease) 0s forwards;background:#ffffff29;border:1px solid #ffffff52;border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1.75rem;padding:.4rem .95rem;font-size:.82rem;display:inline-flex;transform:translateY(14px)}.hero h1{color:#fff;opacity:0;max-width:800px;animation:heroIn .9s var(--ease) .15s forwards;margin-bottom:1.5rem;font-size:clamp(3rem,1.8rem + 6vw,6rem);font-weight:400;line-height:.98;transform:translateY(20px)}.hero h1 em{color:var(--sun);font-style:italic}.hero-lead{color:#ffffffd9;opacity:0;max-width:540px;animation:heroIn .9s var(--ease) .28s forwards;margin-bottom:2.5rem;font-size:clamp(1.05rem,.95rem + .4vw,1.2rem);transform:translateY(18px)}.hero-actions{opacity:0;animation:heroIn .9s var(--ease) .4s forwards;flex-wrap:wrap;gap:.85rem;display:inline-flex;transform:translateY(18px)}.btn-primary{background:var(--paper);color:var(--ink);transition:background-color var(--duration) var(--ease), transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);border-radius:999px;align-items:center;gap:.55rem;padding:.95rem 1.7rem;font-size:.98rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 14px 36px -10px #0006}.btn-primary:hover{background:var(--sun);transform:translateY(-2px);box-shadow:0 22px 48px -12px #00000080}.btn-ghost{color:#fff;-webkit-backdrop-filter:blur(6px);transition:background-color var(--duration) var(--ease), transform var(--duration) var(--ease);background:#ffffff1f;border:1px solid #ffffff4d;border-radius:999px;align-items:center;gap:.55rem;padding:.95rem 1.5rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-ghost:hover{background:#ffffff38;transform:translateY(-2px)}.hero-meta{opacity:0;animation:heroIn .9s var(--ease) .52s forwards;flex-wrap:wrap;gap:2.5rem;margin-top:3.5rem;display:flex;transform:translateY(18px)}.hero-meta-item{color:#ffffffd9;align-items:center;gap:.6rem;font-size:.92rem;display:flex}.hero-meta-item i{color:var(--sun)}@keyframes heroIn{to{opacity:1;transform:translateY(0)}}section{padding:clamp(5rem,4rem + 4vw,7.5rem) 0}.section-eyebrow{text-align:center;letter-spacing:.2em;text-transform:uppercase;color:var(--lagoon);margin-bottom:.85rem;font-size:.78rem;font-weight:600;display:block}.section-title{text-align:center;color:var(--ink);margin-bottom:.75rem;font-size:clamp(2.25rem,1.4rem + 3vw,3.75rem);line-height:1.05}.section-title em{color:var(--lagoon);font-style:italic}.section-sub{text-align:center;color:var(--ink-soft);max-width:580px;margin:0 auto 3rem;font-size:1.02rem}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(20px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.gallery{background:var(--paper)}.gallery-grid{grid-template-rows:240px 240px;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:1240px;margin:0 auto;display:grid}.gallery-item{transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);border-radius:14px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.gallery-item:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.gallery-item:hover img{transform:scale(1.05)}.gallery-item.span-2-cols{grid-column:span 2}.gallery-item.span-2-rows{grid-row:span 2}.features{background:var(--bg-2,#fff);position:relative}.features-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.feature-card{background:var(--sand);border:1px solid var(--hairline);transition:transform var(--duration) var(--ease), background-color var(--duration) var(--ease);border-radius:18px;padding:1.85rem;position:relative;overflow:hidden}.feature-card:hover{background:#fff;transform:translateY(-5px)}.feature-card i{color:var(--lagoon);margin-bottom:1rem;font-size:1.6rem;display:block}.feature-card h3{color:var(--ink);margin-bottom:.45rem;font-size:1.35rem}.feature-card p{color:var(--ink-soft);font-size:.95rem}.pricing{background:linear-gradient(180deg, var(--sky) 0%, var(--sky-2) 100%);position:relative;overflow:hidden}.pricing:before{content:"";background:radial-gradient(700px 400px at 80% 30%,#ffd66b40,#0000 60%);position:absolute;inset:0}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:1080px;margin:0 auto;display:grid;position:relative}.price-card{border:1px solid var(--hairline);text-align:left;transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);background:#fff;border-radius:24px;padding:2.5rem 2rem;position:relative;overflow:hidden}.price-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}.price-card.featured{background:var(--lagoon-deep);color:#fff;border-color:var(--lagoon-deep)}.price-card.featured .price-tag,.price-card.featured h3{color:#fff}.price-tag{letter-spacing:.16em;text-transform:uppercase;color:var(--lagoon);background:#1f6f871a;border-radius:999px;margin-bottom:1.25rem;padding:.3rem .7rem;font-size:.75rem;font-weight:600;display:inline-block}.price-card.featured .price-tag{background:var(--sun);color:var(--lagoon-deep)}.price-card h3{margin-bottom:.45rem;font-size:1.6rem}.price-amount{margin-bottom:.25rem;font-family:Playfair Display,serif;font-size:2.75rem;font-weight:400;line-height:1}.price-amount span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.12em;margin-left:.4rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500}.price-card.featured .price-amount span{color:#ffffffa6}.price-features{border-top:1px solid var(--hairline);margin:1.5rem 0;padding-top:1.5rem;list-style:none}.price-card.featured .price-features{border-color:#ffffff26}.price-features li{color:var(--ink-soft);align-items:center;gap:.6rem;padding:.45rem 0;font-size:.95rem;display:flex}.price-card.featured .price-features li{color:#ffffffd9}.price-features i{color:var(--lagoon);font-size:.78rem}.price-card.featured .price-features i{color:var(--sun)}.price-cta{background:var(--ink);color:#fff;width:100%;transition:background-color var(--duration) var(--ease);border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.2rem;font-weight:600;text-decoration:none;display:inline-flex}.price-card.featured .price-cta{background:var(--sun);color:var(--lagoon-deep)}.price-cta:hover{background:var(--lagoon)}.price-card.featured .price-cta:hover{background:#fff}.reviews{background:var(--paper)}.reviews-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.review-card{border:1px solid var(--hairline);transition:transform var(--duration) var(--ease);background:#fff;border-radius:18px;padding:2rem}.review-card:hover{transform:translateY(-4px)}.review-stars{color:var(--sun);letter-spacing:.05em;margin-bottom:.85rem}.review-card blockquote{color:var(--ink);margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:1.1rem;font-style:italic;line-height:1.5}.review-author{border-top:1px solid var(--hairline);align-items:center;gap:.85rem;padding-top:1rem;display:flex}.review-author img{object-fit:cover;border-radius:50%;width:42px;height:42px}.review-author strong{font-size:.95rem;display:block}.review-author span{color:var(--ink-soft);font-size:.82rem}.contact{color:#fff;text-align:center;background:linear-gradient(#134a5bd9 0%,#134a5bf2 100%),url(https://images.unsplash.com/photo-1540541338287-41700207dee6?w=1920&q=80) 50%/cover no-repeat}.contact .section-eyebrow{color:var(--sun)}.contact .section-title{color:#fff}.contact-info{color:#ffffffd1;margin-bottom:2rem;font-size:1.1rem}.contact-info p+p{color:#fff;margin-top:.5rem;font-family:Playfair Display,serif;font-size:2rem}.contact-btn{background:var(--sun);color:var(--lagoon-deep);transition:background-color var(--duration) var(--ease), transform var(--duration) var(--ease);border-radius:999px;align-items:center;gap:.55rem;padding:.95rem 1.85rem;font-size:.98rem;font-weight:700;text-decoration:none;display:inline-flex}.contact-btn:hover{background:#fff;transform:translateY(-2px)}.contact-btn:focus-visible{outline:none;box-shadow:0 0 0 4px #ffd66b80}footer{background:var(--lagoon-deep);color:#fff9;text-align:center;padding:2rem 0;font-size:.88rem}@media (max-width:900px){.gallery-grid{grid-template-rows:repeat(3,200px);grid-template-columns:repeat(2,1fr)}.gallery-item.span-2-cols{grid-column:span 2}.gallery-item.span-2-rows{grid-row:span 1}}@media (max-width:768px){.nav-links{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
