:root{--navy:#062f54;--deep:#053f5d;--teal:#047d83;--aqua:#17b9bd;--ink:#12243a;--muted:#526477;--paper:#f7fbfc;--white:#fff;--shadow:0 18px 50px rgba(4,40,64,.13);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.75rem;z-index:99}.site-header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(20px,5vw,78px);color:#fff}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;text-shadow:0 2px 16px rgba(0,0,0,.35)}.brand-mark{font-size:2.2rem}.brand strong{display:block;font-family:"Playfair Display",serif;font-size:1.65rem;letter-spacing:.06em}.brand small{display:block;font-size:.66rem;letter-spacing:.13em}.site-header nav{display:flex;gap:28px}.site-header nav a{color:#fff;text-decoration:none;font-weight:700;font-size:.9rem;text-shadow:0 2px 12px rgba(0,0,0,.5)}.menu-button{display:none;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.6);color:#fff;padding:.55rem .8rem;border-radius:10px}.hero{min-height:760px;background-size:cover;background-position:center 55%;display:grid;place-items:center;position:relative;color:#fff;text-align:center;padding:120px 20px 80px}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,39,65,.73),rgba(1,60,86,.18) 48%,rgba(1,35,58,.58)),linear-gradient(0deg,rgba(2,35,54,.5),transparent 55%)}.hero-copy{position:relative;max-width:920px;text-shadow:0 3px 20px rgba(0,0,0,.42)}.kicker{text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:.82rem}.hero h1,.hero h2,.section h2,.why h2,.location h2{font-family:"Playfair Display",serif;margin:0}.hero h1{font-size:clamp(3.1rem,7vw,6.6rem);line-height:.96}.hero h2{font-size:clamp(2rem,4.5vw,4.2rem);color:#88fbf2;margin-top:.25rem}.script{font-family:"Allura",cursive;font-size:clamp(2.2rem,4vw,4rem);margin:.25rem 0;color:#5ef1e7}.hero-text{max-width:760px;margin:1rem auto 0;font-size:clamp(1rem,1.6vw,1.25rem);font-weight:500}.section,.why,.location{padding:84px clamp(22px,6vw,100px)}.section-heading{max-width:800px;margin:0 auto 38px;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--teal);font-size:.78rem;font-weight:800}.section-heading h2,.about h2,.why h2,.location h2{font-size:clamp(2rem,4vw,3.25rem);color:var(--navy)}.section-heading>p:last-child{color:var(--muted);font-size:1.05rem}.property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;max-width:1240px;margin:auto}.property-card{display:grid;grid-template-rows:300px 1fr;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s}.property-card:hover,.property-card:focus-visible{transform:translateY(-7px);box-shadow:0 25px 65px rgba(4,40,64,.2)}.property-card img{width:100%;height:100%;object-fit:cover}.card-body{position:relative;padding:28px}.animal{position:absolute;right:25px;top:17px;font-size:2.2rem;margin:0}.card-body h3{font-family:"Playfair Display",serif;font-size:2rem;color:var(--navy);margin:0 0 .35rem}.meta{text-transform:uppercase;letter-spacing:.08em;color:var(--teal);font-size:.8rem;font-weight:800}.button{display:inline-flex;margin-top:12px;background:var(--navy);color:#fff;padding:12px 18px;border-radius:11px;font-weight:700}.button.teal{background:var(--teal)}.why{background:linear-gradient(135deg,#eaf7f8,#f9fcfd)}.benefit-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.benefit{background:#fff;padding:28px;border-radius:18px;box-shadow:0 10px 30px rgba(4,40,64,.08)}.benefit span{font-size:2rem}.benefit h3{color:var(--navy);margin:.7rem 0 .35rem}.benefit p{color:var(--muted);margin:0}.about{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center;max-width:1450px;margin:auto}.about-copy p{font-size:1.06rem}.about img{width:100%;height:430px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.accent{color:var(--teal);font-size:2.7rem}.faq{background:#fff}.faq-list{max-width:940px;margin:auto;display:grid;gap:13px}.faq-item{border:1px solid #dbe6ea;border-radius:14px;overflow:hidden}.faq-item button{width:100%;text-align:left;border:0;background:#fff;padding:20px 22px;font:700 1rem "DM Sans";color:var(--navy);display:flex;justify-content:space-between;cursor:pointer}.faq-answer{display:none;padding:0 22px 20px;color:var(--muted)}.faq-item.open .faq-answer{display:block}.location{display:grid;grid-template-columns:.75fr 1.25fr;gap:35px;align-items:center;background:linear-gradient(135deg,#e9f5f7,#fff)}.location iframe{width:100%;height:390px;border:0;border-radius:var(--radius);box-shadow:var(--shadow)}footer{background:var(--navy);color:#fff;text-align:center;padding:32px 20px;display:grid;gap:5px}footer span{opacity:.86}footer small{opacity:.7}.reveal{opacity:0;transform:translateY(22px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}.error{background:#8b0000;color:#fff;padding:1rem;text-align:center}
@media(max-width:900px){.menu-button{display:block}.site-header nav{display:none;position:absolute;top:76px;right:20px;background:rgba(5,47,84,.96);padding:18px;border-radius:14px;flex-direction:column;gap:12px}.site-header nav.open{display:flex}.hero{min-height:700px}.property-grid,.about,.location{grid-template-columns:1fr}.benefit-grid{grid-template-columns:repeat(2,1fr)}.about img{height:360px}}
@media(max-width:580px){.brand strong{font-size:1.18rem}.brand small{font-size:.52rem}.brand-mark{font-size:1.7rem}.site-header{padding:16px}.hero{min-height:650px;background-position:center}.section,.why,.location{padding:62px 18px}.property-grid{gap:20px}.property-card{grid-template-rows:230px 1fr}.card-body h3{font-size:1.65rem}.benefit-grid{grid-template-columns:1fr}.about{gap:25px}.about img{height:290px}}
/* Keep property text completely separate from photos on phones */
@media (max-width: 580px) {
  .property-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    overflow: hidden;
  }

  .property-card > img {
    display: block;
    position: static;
    width: 100%;
    height: 230px;
    object-fit: cover;
    flex-shrink: 0;
  }

  .property-card .card-body {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0;
    padding: 24px 20px 28px;
    background: #ffffff;
    color: #17324a;
  }

  .property-card .card-body h3,
  .property-card .card-body p {
    position: static;
    color: #17324a;
  }

  .property-card .meta {
    color: #087f83;
  }
}
#about-tagline {
    font-size: 30px;
    color: royalblue;
    font-weight: 700;
    line-height: 1.25;
}
