﻿
  :root{
    --cream:#FBF6EC;
    --cream-deep:#F1E6D1;
    --cream-card:#FFFDF8;
    --navy:#0A2038;
    --navy-2:#123056;
    --navy-deep:#071729;
    --orange:#E2632E;
    --orange-light:#F3A93B;
    --line:#E5D9C0;
    --ink-dim:rgba(10,32,56,.62);
    --ink-faint:rgba(10,32,56,.42);
    --sand:#F5EFE2;
    --sand-dim:rgba(245,239,226,.68);
    --sand-faint:rgba(245,239,226,.42);

    /* golden-ratio spacing scale, base .75rem, ratio 1.618 */
    --s1:.46rem;
    --s2:.75rem;
    --s3:1.21rem;
    --s4:1.96rem;
    --s5:3.17rem;
    --s6:5.13rem;
    --s7:8.3rem;
    --s8:13.43rem;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}

  body{
    background:var(--cream);
    color:var(--navy);
    font-family:'Manrope',sans-serif;
    overflow-x:hidden;
  }
  a{color:inherit;}
  img{display:block;max-width:100%;}

  /* ---------- header ---------- */
  header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:var(--s4) var(--s5);
    max-width:1400px;
    margin:0 auto;
  }
  .brandmark{
    display:flex;
    align-items:center;
    gap:.6em;
  }
  .brandmark img{height:34px;width:auto;}
  .brandmark .word{
    font-family:'Manrope',sans-serif;
    font-weight:800;
    letter-spacing:.1em;
    font-size:1.05rem;
    color:var(--navy);
    line-height:1;
  }
  .brandmark .word small{
    display:block;
    font-size:.5rem;
    letter-spacing:.32em;
    color:var(--orange);
    font-weight:700;
    margin-top:.3em;
  }

  .eyebrow-tag{
    font-family:'Manrope',sans-serif;
    font-weight:700;
    font-size:.68rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--navy);
    border:1.5px solid var(--orange);
    padding:.55em 1.1em;
    border-radius:999px;
    white-space:nowrap;
  }

  /* ---------- hero ---------- */
  .hero{
    position:relative;
    max-width:1400px;
    margin:0 auto;
    padding:var(--s5) var(--s5) var(--s7);
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:var(--s4);
  }

  .hero-icon{
    width:min(46vw,220px);
    margin-bottom:var(--s1);
  }

  .headline{
    font-family:'Fraunces',serif;
    font-weight:440;
    font-size:clamp(2.1rem,5.2vw,4.1rem);
    line-height:1.08;
    max-width:20ch;
    color:var(--navy);
  }
  .headline em{
    font-style:italic;
    font-weight:600;
    color:var(--orange);
  }

  .script{
    font-family:'Caveat',cursive;
    font-weight:700;
    font-size:clamp(1.7rem,3.8vw,2.4rem);
    color:var(--orange);
    margin-top:calc(var(--s1) * -1);
  }

  .subcopy{
    font-family:'Manrope',sans-serif;
    font-weight:500;
    font-size:clamp(.95rem,1.5vw,1.1rem);
    color:var(--ink-dim);
    max-width:40ch;
    line-height:1.65;
  }

  /* ---------- section shell ---------- */
  .section{
    max-width:1400px;
    margin:0 auto;
    padding:var(--s6) var(--s5);
  }
  .section-head{
    text-align:center;
    max-width:44ch;
    margin:0 auto var(--s5);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:var(--s2);
  }
  .section-head .eyebrow{
    font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
    color:var(--orange);font-weight:800;
  }
  .section-head h2{
    font-family:'Fraunces',serif;font-weight:500;
    font-size:clamp(1.6rem,3.4vw,2.4rem);color:var(--navy);
  }
  .section-head p{color:var(--ink-dim);font-size:.98rem;line-height:1.6;}

  /* ---------- brochure showcase ---------- */
  .brochure-belt{background:var(--cream-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

  .brochure-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:var(--s5);
    max-width:1000px;
    margin:0 auto;
  }
  .brochure-card{
    background:var(--cream-card);
    border:1px solid var(--line);
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 18px 40px rgba(10,32,56,.1);
    cursor:pointer;
    transition:transform .35s ease, box-shadow .35s ease;
    display:flex;
    flex-direction:column;
  }
  .brochure-card:nth-child(1){transform:rotate(-1.4deg);}
  .brochure-card:nth-child(2){transform:rotate(1.2deg);}
  .brochure-card:hover{transform:translateY(-8px) rotate(0deg);box-shadow:0 26px 55px rgba(10,32,56,.16);}

  .brochure-thumb{
    position:relative;
    aspect-ratio:2/3;
    overflow:hidden;
    background:var(--navy-deep);
  }
  .brochure-thumb img{
    width:100%;height:100%;object-fit:cover;object-position:top;
    transition:transform .5s ease;
  }
  .brochure-card:hover .brochure-thumb img{transform:scale(1.04);}
  .brochure-thumb .zoom-hint{
    position:absolute;inset:auto var(--s2) var(--s2) auto;
    background:rgba(10,32,56,.82);color:var(--sand);
    font-size:.68rem;font-weight:700;letter-spacing:.06em;
    padding:.5em .9em;border-radius:999px;
    display:flex;align-items:center;gap:.4em;
  }

  .brochure-caption{padding:var(--s3) var(--s4) var(--s4);}
  .brochure-caption h3{
    font-family:'Fraunces',serif;font-weight:500;font-size:1.15rem;color:var(--navy);margin-bottom:.3em;
  }
  .brochure-caption p{font-size:.85rem;color:var(--ink-dim);line-height:1.5;}

  /* ---------- lightbox ---------- */
  .lightbox{
    position:fixed;inset:0;z-index:100;
    background:rgba(7,23,41,.92);
    display:none;
    align-items:flex-start;
    justify-content:center;
    padding:var(--s5) var(--s3);
    overflow-y:auto;
  }
  .lightbox.open{display:flex;}
  .lightbox img{
    max-width:min(92vw,700px);
    width:100%;
    border-radius:10px;
    box-shadow:0 30px 80px rgba(0,0,0,.5);
  }
  .lightbox-close{
    position:fixed;top:var(--s3);right:var(--s4);
    width:44px;height:44px;border-radius:50%;
    background:var(--cream-card);border:none;cursor:pointer;
    font-size:1.3rem;color:var(--navy);
    display:flex;align-items:center;justify-content:center;
    z-index:101;
  }

  /* ---------- feature band ---------- */
  .feature-band{
    background:linear-gradient(135deg,var(--navy-2),var(--navy-deep));
    border-radius:26px;
    padding:var(--s5);
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:var(--s4);
    max-width:1200px;
    margin:0 auto;
  }
  .feature-item{
    display:flex;
    flex-direction:column;
    gap:.5em;
    color:var(--sand);
    padding:var(--s3);
    border-radius:14px;
  }
  .feature-item .ic{font-size:1.5rem;}
  .feature-item h4{
    font-family:'Manrope',sans-serif;font-weight:800;font-size:.92rem;
    letter-spacing:.02em;color:var(--sand);
  }
  .feature-item p{font-size:.78rem;color:var(--sand-dim);line-height:1.5;}

  /* ---------- amenities marquee ---------- */
  .marquee-section{
    padding:var(--s4) 0;
    overflow:hidden;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .marquee-track{display:flex;width:max-content;animation:scrollMarquee 32s linear infinite;}
  .marquee-track span{
    display:flex;align-items:center;gap:.6em;
    font-family:'Manrope',sans-serif;font-weight:700;font-size:1rem;
    color:var(--navy);padding:0 var(--s4);white-space:nowrap;
  }
  .marquee-track span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);flex:none;}
  @keyframes scrollMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ---------- footer ---------- */
  footer{
    background:var(--navy-deep);
    color:var(--sand);
    padding:var(--s6) var(--s5) var(--s5);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:var(--s4);
    text-align:center;
  }
  footer .brandmark img{height:40px;}
  .contact-row{
    display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s4);
    font-size:.88rem;color:var(--sand-dim);font-weight:500;
  }
  .contact-row a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease, color .2s ease;}
  .contact-row a:hover{color:var(--orange-light);border-color:var(--orange-light);}
  .social-row{display:flex;gap:var(--s3);}
  .social-row a{
    width:38px;height:38px;display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(245,239,226,.25);border-radius:50%;
    transition:border-color .2s ease, background .2s ease, transform .2s ease;
  }
  .social-row a:hover{border-color:var(--orange-light);background:rgba(243,165,60,.12);transform:translateY(-2px);}
  .social-row svg{width:16px;height:16px;fill:var(--sand);}
  .fineprint{font-size:.72rem;color:var(--sand-faint);max-width:42ch;line-height:1.6;}

  @media (max-width:760px){
    .brochure-grid{grid-template-columns:1fr;max-width:380px;}
    .brochure-card:nth-child(1),.brochure-card:nth-child(2){transform:none;}
  }
  @media (max-width:640px){
    header{padding:var(--s3);}
    .hero{padding:var(--s4) var(--s3) var(--s6);}
    .section{padding:var(--s5) var(--s3);}
  }

  :focus-visible{outline:2px solid var(--orange);outline-offset:3px;}

  @media (prefers-reduced-motion:reduce){
    *{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important;}
  }

