:root{
    --rosehip:#C8546B; --rosehip-deep:#A23E53; --rose:#E8A0AE; --rose-soft:#F4DEE2;
    --olive:#7E8C6B; --olive-deep:#5F6B4F; --oat:#FBF7F0; --oat-deep:#F3ECDF;
    --cocoa:#3A3330; --stone:#A89684; --line:#ECE3D6;
    --head:"Fraunces",Georgia,serif; --body:"Nunito Sans",system-ui,sans-serif;
    --script:"Dancing Script",cursive;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);color:var(--cocoa);background:var(--oat);line-height:1.7;-webkit-font-smoothing:antialiased}
  h1,h2,h3{font-family:var(--head);font-weight:600;line-height:1.13;letter-spacing:-0.01em}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:1140px;margin:0 auto;padding:0 24px}
  .btn{display:inline-block;font-family:var(--body);font-weight:700;font-size:15px;padding:13px 28px;border-radius:40px;transition:.25s;cursor:pointer;border:2px solid transparent}
  .btn-rose{background:var(--rosehip);color:#fff}
  .btn-rose:hover{background:var(--rosehip-deep)}
  .btn-ghost{background:transparent;color:var(--rosehip-deep);border-color:var(--rosehip)}
  .btn-ghost:hover{background:var(--rosehip);color:#fff}
  .eyebrow{font-family:var(--body);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:var(--rosehip-deep)}

  .stitch-div{display:flex;justify-content:center;padding:8px 0}
  .stitch-div svg{opacity:.45}

  header{position:sticky;top:0;z-index:50;background:rgba(251,247,240,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  nav{display:flex;align-items:center;justify-content:space-between;height:86px}
  .brand{display:inline-flex;flex-direction:column;align-items:center;gap:5px}
  .brand .mark{display:flex;align-items:center;gap:10px}
  .brand .logo{font-family:var(--head);font-size:28px;color:var(--cocoa);font-weight:600;line-height:1;letter-spacing:-.3px}
  .brand .tagline{font-family:var(--body);font-weight:700;letter-spacing:.28em;text-transform:uppercase;font-size:9px;color:var(--stone)}
  .navlinks{display:flex;gap:30px;align-items:center}
  .navlinks a{font-weight:600;font-size:15px;position:relative;color:#4a423d}
  .navlinks a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--rosehip);transition:.25s}
  .navlinks a:not(.btn):hover::after{width:100%}
  .menu-btn{display:none;background:none;border:none;font-size:26px;color:var(--cocoa);cursor:pointer}

  .hero{position:relative;overflow:hidden;padding:84px 0 92px}
  .hero::before{content:"";position:absolute;inset:0;background:
    radial-gradient(circle at 84% 16%,#F4DEE2 0,transparent 44%),
    radial-gradient(circle at 6% 92%,#E4E8DB 0,transparent 40%);z-index:0}
  .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
  .hero h1{font-size:clamp(38px,5.4vw,64px);margin-bottom:22px;color:var(--cocoa)}
  .hero h1 .accent{color:var(--rosehip)}
  .hero p.lead{font-size:19px;color:#5d544f;max-width:480px;margin-bottom:32px}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
  .loc-pill{display:inline-flex;align-items:center;gap:8px;max-width:100%;background:#fff;border:1px solid var(--line);border-radius:40px;padding:8px 16px;font-size:14px;font-weight:700;color:var(--stone);margin-bottom:26px}
  .loc-pill .pin-ic{flex-shrink:0}
  .loc-pill .loc-text{min-width:0}
  .loc-pill .loc-name{color:var(--olive-deep)}
  .hero-img{position:relative}
  .hero-img .frame{border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -25px rgba(162,62,83,.35);aspect-ratio:4/5;background:linear-gradient(135deg,#F4DEE2,#E8A0AE)}
  .hero-img .frame .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--rosehip-deep);font-weight:600;text-align:center;padding:20px}
  .hero-img .badge{position:absolute;bottom:-22px;left:-22px;background:var(--olive);color:#fff;border-radius:18px;padding:16px 22px;box-shadow:0 16px 30px -12px rgba(95,107,79,.6)}
  .hero-img .badge b{white-space:nowrap}
  .hero-img .badge b{font-family:var(--head);font-size:17px;display:block}
  .hero-img .badge small{font-size:13px;opacity:.92}

  .strip{background:var(--rosehip);color:#fff;padding:15px 0;overflow:hidden;white-space:nowrap}
  .strip .track{display:inline-block;animation:slide 24s linear infinite}
  .strip span{font-family:var(--head);font-size:18px;margin:0 26px;opacity:.96}
  .strip span::after{content:"✿";margin-left:26px;color:var(--rose-soft)}
  @keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  section{padding:88px 0}
  .sec-head{text-align:center;max-width:620px;margin:0 auto 54px}
  .sec-head h2{font-size:clamp(30px,3.6vw,42px);margin:12px 0}
  .sec-head p{color:var(--stone);font-size:17px}

  .rose-bg{background:var(--rose-soft)}
  .oat-bg{background:var(--oat-deep)}
  .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
  .card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--line);transition:.3s}
  .card:hover{transform:translateY(-6px);box-shadow:0 24px 44px -26px rgba(162,62,83,.4)}
  .card .top{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-size:42px;overflow:hidden}
  .card .top img{width:100%;height:100%;object-fit:cover}
  .card .top.c1{background:#F4DEE2}.card .top.c2{background:#E4E8DB}
  .card .top.c3{background:#F7EAD6}.card .top.c4{background:#E9E2D6}
  .card .body{padding:22px}
  .card h3{font-size:21px;margin-bottom:7px}
  .card p{font-size:14.5px;color:var(--stone)}

  .split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:30px}
  .split.rev .txt{order:2}
  .split .visual{aspect-ratio:5/4;border-radius:24px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center}
  .split .visual.rose{background:linear-gradient(135deg,#F4DEE2,#E8A0AE);color:var(--rosehip-deep)}
  .split .visual.olive{background:linear-gradient(135deg,#E4E8DB,#C7D2B8);color:var(--olive-deep)}
  .split .visual .big{font-size:56px;margin-bottom:10px}
  .split .visual.photo{padding:0;overflow:hidden;position:relative}
  .split .visual.photo img{width:100%;height:100%;object-fit:cover}
  .split .visual.photo .vcap{position:absolute;left:0;right:0;bottom:0;padding:30px 24px 18px;background:linear-gradient(transparent,rgba(58,51,48,.62));color:#fff;font-family:var(--head);font-size:24px;text-align:left}
  .split h2{font-size:clamp(28px,3.4vw,38px);margin:14px 0 16px}
  .split p{color:#5d544f;font-size:16.5px;margin-bottom:14px}
  .ticks{list-style:none;margin:18px 0 26px}
  .ticks li{padding-left:30px;position:relative;margin-bottom:10px;font-size:15.5px}
  .ticks li::before{content:"✓";position:absolute;left:0;color:var(--olive);font-weight:800}

  .clubs{background:var(--olive);color:#fff}
  .clubs .sec-head h2,.clubs .sec-head p{color:#fff}
  .clubs .eyebrow{color:#E4E8DB}
  .club-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .club{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:26px}
  .club h3{color:#fff;font-size:22px;margin-bottom:8px}
  .club p{font-size:14.5px;opacity:.92;margin-bottom:14px}
  .club .when{font-weight:700;font-size:13px;letter-spacing:.05em;background:rgba(255,255,255,.2);display:inline-block;padding:5px 12px;border-radius:20px}

  .visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
  .map-ph{aspect-ratio:4/3;border-radius:22px;background:#E4E8DB;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--olive-deep);font-weight:600}
  .map-ph .pin{font-size:40px}
  .info-row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
  .info-row .ic{flex-shrink:0;width:24px;display:flex;align-items:flex-start;justify-content:center;padding-top:2px}
  .info-row .ic svg{width:21px;height:21px;fill:var(--rosehip)}
  .info-row b{display:block;font-family:var(--head);font-size:18px;margin-bottom:2px}
  .info-row span{color:var(--stone);font-size:15px}
  .info-row a{color:var(--rosehip-deep);font-weight:700}

  .map-embed{aspect-ratio:4/3;border-radius:22px;overflow:hidden;border:1px solid var(--line)}
  .map-embed iframe{width:100%;height:100%;border:0;display:block}

  .card-form{max-width:640px;margin:48px auto 0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 24px 44px -30px rgba(162,62,83,.4)}
  .card-form h3{font-size:25px;margin-bottom:6px}
  .card-form>p{color:var(--stone);font-size:15px;margin-bottom:22px}
  .card-form label{display:block;font-weight:700;font-size:14px;color:var(--cocoa);margin-bottom:16px}
  .card-form input,.card-form textarea{display:block;width:100%;margin-top:7px;font-family:var(--body);font-size:15px;font-weight:400;color:var(--cocoa);background:var(--oat);border:1px solid var(--line);border-radius:12px;padding:12px 14px;transition:.2s}
  .card-form input:focus,.card-form textarea:focus{outline:none;border-color:var(--rosehip);background:#fff;box-shadow:0 0 0 3px rgba(200,84,107,.13)}
  .card-form textarea{resize:vertical}
  .card-form button{margin-top:6px;border:none;cursor:pointer}
  .card-form .form-note{font-size:13px;color:var(--stone);margin-top:14px}
  .form-thanks{max-width:640px;margin:48px auto 0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 24px 44px -30px rgba(162,62,83,.4);text-align:center}
  .form-thanks h3{font-size:25px;margin-bottom:8px;color:var(--rosehip-deep)}
  .form-thanks p{color:var(--stone);font-size:15px}

  .cta-band{background:var(--rosehip);color:#fff;text-align:center}
  .cta-band h2{font-size:clamp(30px,4vw,46px);color:#fff;margin-bottom:18px}
  .cta-band p{font-size:18px;opacity:.94;max-width:520px;margin:0 auto 30px}
  .cta-band .btn-white{background:#fff;color:var(--rosehip-deep)}
  .cta-band .btn-white:hover{background:var(--rose-soft)}
  .cta-band .btn-outline{border-color:rgba(255,255,255,.7);color:#fff}
  .cta-band .btn-outline:hover{background:rgba(255,255,255,.15)}

  footer{background:var(--cocoa);color:#d8cfc6;padding:64px 0 30px}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:44px}
  footer .f-logo{font-family:var(--head);color:#fff;font-size:26px;font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:10px}
  footer p{font-size:14.5px;color:#b3a79b;max-width:300px}
  footer h4{font-family:var(--head);color:#fff;font-size:18px;margin-bottom:16px;font-weight:500}
  footer ul{list-style:none}
  footer ul li{margin-bottom:9px}
  footer ul a{font-size:14.5px;color:#b3a79b;transition:.2s}
  footer ul a:hover{color:var(--rose)}
  .socials{display:flex;gap:12px;margin-top:8px}
  .socials a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:.25s}
  .socials a:hover{background:var(--rosehip)}
  .socials svg{width:19px;height:19px;fill:#fff}
  .copyright{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;text-align:center;font-size:13px;color:var(--stone)}

  @media(max-width:900px){
    .hero-grid,.split,.split.rev,.visit-grid{grid-template-columns:1fr;gap:40px}
    .split.rev .txt{order:0}
    .cards{grid-template-columns:repeat(2,1fr)}
    .club-grid{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr 1fr;gap:30px}
    .navlinks{display:none}
  .navlinks.open{display:flex;flex-direction:column;position:absolute;top:86px;left:0;right:0;background:var(--oat);border-bottom:1px solid var(--line);padding:18px 24px;gap:18px;box-shadow:0 16px 30px -20px rgba(58,51,48,.4)}

    .menu-btn{display:block}
    .hero-img .badge{left:16px;bottom:16px;padding:13px 18px}
    .hero-img .badge b{font-size:16px}
  }
  @media(max-width:520px){
    .cards{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr}
    section{padding:60px 0}
    .loc-pill{align-items:center;gap:10px;border-radius:30px;padding:11px 18px;font-size:13px;line-height:1.35}
    .loc-pill .pin-ic{width:17px;height:17px}
  }
