:root {
        --background: 40 33% 97%;
        --foreground: 215 45% 15%;
        --card: 0 0% 100%;
        --card-foreground: 215 45% 15%;
        --popover: 0 0% 100%;
        --popover-foreground: 215 45% 15%;
        --primary: 215 50% 18%;
        --primary-foreground: 40 33% 97%;
        --secondary: 36 30% 90%;
        --secondary-foreground: 215 50% 18%;
        --muted: 36 25% 93%;
        --muted-foreground: 215 15% 40%;
        --accent: 38 45% 58%;
        --accent-foreground: 215 50% 18%;
        --gold: 38 50% 55%;
        --gold-light: 40 55% 75%;
        --sand: 36 35% 82%;
        --beige: 36 30% 92%;
        --navy: 215 50% 18%;
        --navy-deep: 215 55% 12%;
        --destructive: 0 70% 50%;
        --destructive-foreground: 0 0% 100%;
        --border: 36 20% 86%;
        --input: 36 20% 86%;
        --ring: 38 45% 58%;
        --radius: 0.25rem;
        --gradient-hero: linear-gradient(180deg, hsl(215 55% 12% / 0.15) 0%, hsl(215 55% 12% / 0.55) 70%, hsl(215 55% 12% / 0.85) 100%);
        --gradient-gold: linear-gradient(135deg, hsl(38 55% 65%), hsl(38 45% 50%));
        --shadow-luxury: 0 30px 80px -20px hsl(215 55% 12% / 0.25);
        --shadow-soft: 0 8px 30px -10px hsl(215 30% 20% / 0.15);
      }

      * { box-sizing: border-box; border-color: hsl(var(--border)); }
      html { scroll-behavior: smooth; }
      html, body { max-width: 100%; overflow-x: hidden; }
      body {
        margin: 0;
        background: hsl(var(--background));
        color: hsl(var(--foreground));
        font-family: Inter, system-ui, sans-serif;
        font-feature-settings: "ss01", "ss02";
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -webkit-text-size-adjust: 100%;
      }
      a { color: inherit; text-decoration: none; }
      section[id] { scroll-margin-top: 6.5rem; }
      .skip-link { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
      .skip-link:focus { left: 1rem; top: 1rem; width: auto; height: auto; overflow: visible; z-index: 200; background: hsl(var(--navy)); color: hsl(var(--primary-foreground)); padding: .75rem 1rem; }
      img, svg, iframe { display: block; }
      img { max-width: 100%; }
      h1, h2, h3, h4, h5, p, figure, blockquote, ul { margin: 0; }
      ul { padding: 0; list-style: none; }
      h1, h2, h3, h4, h5 { font-family: "Cormorant Garamond", serif; font-weight: 300; letter-spacing: -0.025em; }

      .container { width: 100%; max-width: 1400px; margin: 0 auto; padding-left: 2rem; padding-right: 2rem; }
      .tracking-luxury { letter-spacing: .32em; }
      .text-balance { text-wrap: balance; }
      .gold-divider { width: 60px; height: 1px; background: hsl(var(--gold)); display: inline-block; }
      .eyebrow { font-size: .75rem; line-height: 1rem; letter-spacing: .32em; text-transform: uppercase; color: hsl(var(--gold)); }
      .eyebrow.light { color: hsl(var(--gold-light)); }
      .section-title { margin-top: 1rem; color: hsl(var(--navy)); font-size: clamp(2.25rem, 4vw, 3rem); line-height: 1; }
      .section-title.light { color: hsl(var(--primary-foreground)); }
      .muted { color: hsl(var(--muted-foreground)); }
      .button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid transparent; border-radius: 0; cursor: pointer; font-family: inherit; font-size: .875rem; font-weight: 500; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; white-space: nowrap; }
      .button-lg { height: 3.5rem; padding: 0 2.5rem; font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; }
      .button-nav { height: 2.75rem; padding: 0 1.5rem; }
      .button-navy { background: hsl(var(--navy)); color: hsl(var(--primary-foreground)); }
      .button-navy:hover { background: hsl(var(--navy-deep)); }
      .button-gold { background: hsl(var(--gold)); color: hsl(var(--navy-deep)); }
      .button-gold:hover { background: hsl(var(--gold) / .9); }
      .button-outline-light { border-color: hsl(var(--primary-foreground) / .6); color: hsl(var(--primary-foreground)); background: transparent; }
      .button-outline-light:hover { background: hsl(var(--primary-foreground)); color: hsl(var(--navy-deep)); }

      .site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: hsl(var(--background) / .7); border-bottom: 1px solid hsl(var(--border) / .6); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
      .header-row { height: 5rem; display: flex; align-items: center; justify-content: space-between; }
      .brand { display: flex; flex-direction: column; line-height: 1; }
      .brand-main { font-family: "Cormorant Garamond", serif; font-size: 1.5rem; color: hsl(var(--navy)); }
      .brand-sub { font-size: .625rem; letter-spacing: .32em; color: hsl(var(--gold)); text-transform: uppercase; margin-top: .125rem; }
      .desktop-nav { display: none; align-items: center; gap: 2.5rem; }
      .desktop-nav a, .mobile-menu a { font-size: .875rem; color: hsl(var(--muted-foreground)); transition: color .2s ease; }
      .desktop-nav a:hover, .mobile-menu a:hover { color: hsl(var(--navy)); }
      .header-actions { display: none; align-items: center; gap: 1.5rem; }
      .mobile-toggle { background: transparent; border: 0; color: hsl(var(--navy)); padding: .75rem; min-width: 44px; min-height: 44px; cursor: pointer; }
      .mobile-menu { display: none; border-top: 1px solid hsl(var(--border)); background: hsl(var(--background)); }
      .mobile-menu.open { display: block; }
      .mobile-menu-inner { padding-top: 1.5rem; padding-bottom: 1.5rem; display: flex; flex-direction: column; gap: 1.25rem; }
      .mobile-menu a { display: block; padding: .5rem 0; font-size: 1rem; }
      .lang-toggle { display: inline-flex; align-items: center; gap: .5rem; }
      .lang-toggle svg { color: hsl(var(--muted-foreground)); }
      .lang-buttons { display: inline-flex; border: 1px solid hsl(var(--border)); }
      .lang-buttons button { padding: .25rem .625rem; border: 0; background: transparent; color: hsl(var(--muted-foreground)); font-size: .6875rem; line-height: 1rem; letter-spacing: .32em; text-transform: uppercase; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
      .lang-buttons button.active { background: hsl(var(--navy)); color: hsl(var(--primary-foreground)); }
      .lang-buttons button:not(.active):hover { color: hsl(var(--navy)); }

      .hero { position: relative; height: 100vh; min-height: 680px; width: 100%; overflow: hidden; }
      .hero img { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; }
      .hero-overlay { position: absolute; inset: 0; background: var(--gradient-hero); }
      .hero-content { position: relative; z-index: 10; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 6rem; color: hsl(var(--primary-foreground)); }
      .hero-copy { max-width: 48rem; animation: fadeUp 1s ease-out both; }
      .hero-kicker { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
      .hero-kicker .gold-divider { background: hsl(var(--gold-light)); }
      .hero-kicker span:last-child { color: hsl(var(--gold-light)); font-size: .75rem; letter-spacing: .32em; text-transform: uppercase; }
      .hero h1 { font-size: clamp(3rem, 8vw, 6rem); line-height: 1.05; }
      .hero h1 em { color: hsl(var(--gold-light)); font-style: italic; font-weight: 400; }
      .hero p { margin-top: 2rem; font-size: clamp(1.125rem, 2vw, 1.25rem); line-height: 1.75rem; color: hsl(var(--primary-foreground) / .85); max-width: 36rem; font-weight: 300; }
      .hero-actions { margin-top: 2.5rem; display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; }

      .section { padding: 6rem 0; }
      .about-grid { display: grid; gap: 4rem; align-items: center; }
      .about-copy .gold-divider, .section-head .gold-divider, .reviews-head .gold-divider { margin-top: 2rem; }
      .about-copy-text { margin-top: 2rem; display: grid; gap: 1.25rem; color: hsl(var(--muted-foreground)); line-height: 1.625; }
      .stats { margin-top: 2.5rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; max-width: 28rem; }
      .stat-number { font-family: "Cormorant Garamond", serif; font-size: 1.875rem; color: hsl(var(--navy)); }
      .stat-label { font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; color: hsl(var(--muted-foreground)); margin-top: .25rem; }
      .about-images { position: relative; }
      .about-main { width: 100%; aspect-ratio: 4/5; object-fit: cover; box-shadow: var(--shadow-luxury); }
      .about-float { display: none; }

      .beige { background: hsl(var(--beige)); }
      .section-head { text-align: center; max-width: 42rem; margin: 0 auto; }
      .amenity-grid { margin-top: 4rem; display: grid; gap: 1px; background: hsl(var(--border)); }
      .amenity-card { background: hsl(var(--background)); padding: 2.5rem; transition: background-color .2s ease; }
      .amenity-card:hover { background: hsl(var(--card)); }
      .amenity-card svg { color: hsl(var(--gold)); margin-bottom: 1.5rem; transition: transform .2s ease; }
      .amenity-card:hover svg { transform: scale(1.1); }
      .amenity-card h3 { font-size: 1.5rem; color: hsl(var(--navy)); }
      .amenity-card p { margin-top: .75rem; font-size: .875rem; color: hsl(var(--muted-foreground)); line-height: 1.625; }

      .gallery-head { display: flex; flex-direction: column; gap: 1.5rem; margin-bottom: 3.5rem; }
      .gallery-head p { color: hsl(var(--muted-foreground)); max-width: 28rem; }
      .gallery-grid { display: grid; gap: 1rem; }
      .gallery-item { overflow: hidden; }
      .gallery-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .7s ease; }
      .gallery-item:first-child img { aspect-ratio: 1/1; }
      .gallery-item:hover img { transform: scale(1.05); }

      .location-section { background: hsl(var(--navy)); color: hsl(var(--primary-foreground)); }
      .location-grid { display: grid; gap: 4rem; align-items: start; }
      .location-copy p { margin-top: 2rem; color: hsl(var(--primary-foreground) / .75); max-width: 32rem; line-height: 1.625; }
      .location-copy .gold-divider { margin-top: 2rem; background: hsl(var(--gold)); }
      .location-list li { padding: 1.25rem 0; display: flex; align-items: flex-start; gap: 1.5rem; border-bottom: 1px solid hsl(var(--primary-foreground) / .15); }
      .location-list li:first-child { border-top: 1px solid hsl(var(--primary-foreground) / .15); }
      .location-list .pin { color: hsl(var(--gold-light)); flex-shrink: 0; margin-top: .25rem; }
      .location-row-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
      .location-list h3 { font-size: 1.25rem; color: hsl(var(--primary-foreground)); }
      .distance { font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; color: hsl(var(--gold-light)); white-space: nowrap; }
      .location-list p { font-size: .875rem; color: hsl(var(--primary-foreground) / .7); margin-top: .25rem; }

      .reviews-head { text-align: center; max-width: 42rem; margin: 0 auto 4rem; }
      .reviews-grid { display: grid; gap: 2rem; }
      .review-card { background: hsl(var(--card)); padding: 2.5rem; box-shadow: var(--shadow-soft); border: 1px solid hsl(var(--border) / .6); }
      .stars { display: flex; gap: .25rem; color: hsl(var(--gold)); margin-bottom: 1.5rem; }
      .review-card blockquote { font-family: "Cormorant Garamond", serif; font-size: 1.25rem; line-height: 1.375; color: hsl(var(--navy)); font-style: italic; }
      .review-card figcaption { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid hsl(var(--border)); }
      .review-name { font-size: .875rem; font-weight: 500; color: hsl(var(--navy)); }
      .review-origin { font-size: .75rem; color: hsl(var(--muted-foreground)); letter-spacing: .05em; text-transform: uppercase; margin-top: .25rem; }

      .cta-box { position: relative; overflow: hidden; background: hsl(var(--navy)); color: hsl(var(--primary-foreground)); padding: 3rem; box-shadow: var(--shadow-luxury); }
      .cta-glow { position: absolute; right: -8rem; top: -8rem; height: 20rem; width: 20rem; border-radius: 999px; background: hsl(var(--gold) / .2); filter: blur(48px); }
      .cta-grid { position: relative; display: grid; gap: 3rem; align-items: center; }
      .cta-box h2 { margin-top: 1rem; font-size: clamp(2.25rem, 4vw, 3rem); line-height: 1; }
      .cta-price { color: hsl(var(--gold-light)); }
      .cta-box p { margin-top: 1.5rem; color: hsl(var(--primary-foreground) / .75); max-width: 32rem; }
      .cta-actions { display: flex; flex-direction: column; gap: 1rem; }

      .contact-grid { display: grid; gap: 4rem; }
      .contact-copy .gold-divider { margin-top: 2rem; }
      .contact-copy > p { margin-top: 2rem; color: hsl(var(--muted-foreground)); max-width: 28rem; }
      .contact-list { margin-top: 2.5rem; display: grid; gap: 1.5rem; }
      .contact-list li { display: flex; align-items: flex-start; gap: 1rem; }
      .contact-list svg { color: hsl(var(--gold)); margin-top: .25rem; flex-shrink: 0; }
      .contact-label { font-size: .75rem; letter-spacing: .32em; text-transform: uppercase; color: hsl(var(--muted-foreground)); }
      .contact-list a, .contact-list .contact-value { color: hsl(var(--navy)); margin-top: .25rem; display: inline-block; }
      .contact-list a:hover { color: hsl(var(--gold)); }
      .map-wrap { margin-top: 2.5rem; aspect-ratio: 16/9; width: 100%; background: hsl(var(--muted)); border: 1px solid hsl(var(--border)); position: relative; overflow: hidden; }
      .map-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; filter: grayscale(1); border: 0; }
      .contact-form { background: hsl(var(--card)); border: 1px solid hsl(var(--border)); padding: 2.5rem; box-shadow: var(--shadow-soft); height: fit-content; }
      .contact-form h3 { font-size: 1.5rem; color: hsl(var(--navy)); }
      .form-fields { margin-top: 2rem; display: grid; gap: 1.25rem; }
      .form-row { display: grid; gap: 1.25rem; }
      .input, .textarea { width: 100%; border: 1px solid hsl(var(--border)); border-radius: 0; background: hsl(var(--background)); color: hsl(var(--foreground)); font: inherit; font-size: .875rem; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
      .input { height: 3.25rem; padding: 0 .875rem; }
      .textarea { min-height: 6.5rem; padding: .875rem; resize: vertical; }
      .input:focus, .textarea:focus { border-color: hsl(var(--ring)); box-shadow: 0 0 0 2px hsl(var(--ring) / .2); }
      .input::placeholder, .textarea::placeholder { color: hsl(var(--muted-foreground)); opacity: .8; }

      .site-footer { background: hsl(var(--navy-deep)); color: hsl(var(--primary-foreground) / .7); padding: 4rem 0; }
      .footer-grid { display: grid; gap: 2.5rem; }
      .footer-brand { font-family: "Cormorant Garamond", serif; font-size: 1.5rem; color: hsl(var(--primary-foreground)); }
      .footer-sub { font-size: .625rem; letter-spacing: .32em; color: hsl(var(--gold)); text-transform: uppercase; margin-top: .25rem; }
      .footer-tagline { margin-top: 1.5rem; font-size: .875rem; max-width: 20rem; }
      .footer-heading { font-size: .75rem; letter-spacing: .32em; text-transform: uppercase; color: hsl(var(--gold-light)); }
      .footer-list { margin-top: 1.25rem; display: grid; gap: .75rem; font-size: .875rem; }
      .footer-list a:hover { color: hsl(var(--primary-foreground)); }
      .footer-bottom { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid hsl(var(--primary-foreground) / .1); display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; font-size: .75rem; }
      .footer-meta { display: grid; gap: .35rem; }
      .agency-signature { display: inline-flex; align-items: center; gap: .35rem; padding: .15rem 0; background: transparent; color: hsl(var(--primary-foreground) / .82); align-self: flex-start; font-size: .875rem; }
      .agency-signature-label { color: hsl(var(--primary-foreground) / .7); }
      .agency-signature-link { color: hsl(var(--gold-light)); font-weight: 600; transition: color .2s ease, opacity .2s ease; }
      .agency-signature-link:hover { color: hsl(var(--primary-foreground)); }
      .agency-signature-link:focus-visible { outline: 2px solid hsl(var(--gold)); outline-offset: 3px; }

      .toast { position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 100; width: min(24rem, calc(100vw - 3rem)); background: hsl(var(--card)); color: hsl(var(--card-foreground)); border: 1px solid hsl(var(--border)); box-shadow: var(--shadow-luxury); padding: 1rem 1.125rem; transform: translateY(1rem); opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
      .toast.visible { opacity: 1; transform: translateY(0); }
      .toast-title { font-weight: 600; color: hsl(var(--navy)); margin-bottom: .25rem; }
      .toast-desc { color: hsl(var(--muted-foreground)); font-size: .875rem; }

      @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

      @media (min-width: 640px) {
        .hero-actions { flex-direction: row; }
        .amenity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      }
      @media (min-width: 768px) {
        .section { padding: 9rem 0; }
        .hero-content { padding-bottom: 8rem; }
        .about-float { display: block; position: absolute; bottom: -3rem; left: -3rem; width: 50%; aspect-ratio: 1/1; object-fit: cover; box-shadow: var(--shadow-luxury); border: 8px solid hsl(var(--background)); }
        .gallery-head { flex-direction: row; align-items: flex-end; justify-content: space-between; }
        .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .gallery-item:first-child { grid-column: span 2; grid-row: span 2; }
        .gallery-item:first-child img { height: 100%; aspect-ratio: auto; }
        .reviews-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .cta-box { padding: 5rem; }
        .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .footer-bottom { flex-direction: row; align-items: center; }
        .agency-signature { align-self: center; }
      }
      @media (min-width: 1024px) {
        .desktop-nav, .header-actions { display: flex; }
        .mobile-toggle { display: none; }
        .about-grid, .location-grid, .contact-grid, .cta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .about-grid { gap: 6rem; }
        .amenity-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .cta-actions { align-items: flex-end; justify-content: flex-end; }
      }
      @media (max-width: 767px) {
        .hero { min-height: 620px; }
        .header-row { height: 4.5rem; }
        .hero-content { padding-bottom: 4rem; }
        .hero p { margin-top: 1.5rem; line-height: 1.6; }
        .location-row-head { flex-direction: column; align-items: flex-start; }
        .footer-bottom { align-items: flex-start; }
      }
      @media (max-width: 420px) {
        .container { padding-left: 1.25rem; padding-right: 1.25rem; }
        .button-lg { width: 100%; }
        .stats { gap: 1rem; }
        .contact-form, .cta-box, .review-card, .amenity-card { padding: 2rem; }
        .hero h1 { font-size: clamp(2.6rem, 14vw, 3.35rem); }
      }
