  @font-face { font-family:'Seasons'; src:url('../assets/TheSeasons.otf') format('opentype'); font-weight:400; font-display:swap; }
  @font-face { font-family:'Seasons'; src:url('../assets/TheSeasons-Bold.otf') format('opentype'); font-weight:700; font-display:swap; }

  :root{
    --green:#0d4749; --green-alt:#0e464a; --green-deep:#061f21;
    --gold:#b59429; --gold-dark:#ad8818; --gold-pale:#e6cd80;
    --cream:#f4efe4;
    --sans:'Poppins','Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;
    --serif:'Seasons',Georgia,'Times New Roman',serif;
    --ease:cubic-bezier(.16,1,.3,1);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--green-deep); color:var(--cream); font-family:var(--sans); -webkit-font-smoothing:antialiased; overflow-x:hidden}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}

  .kene{
    position:absolute; inset:0; pointer-events:none; opacity:.06;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'><g fill='none' stroke='%23b59429' stroke-width='2.2'><path d='M80 18 L142 80 L80 142 L18 80 Z'/><path d='M80 48 L112 80 L80 112 L48 80 Z' opacity='.75'/><path d='M80 74 L86 80 L80 86 L74 80 Z'/><path d='M0 80 H18 M142 80 H160 M80 0 V18 M80 142 V160'/><path d='M0 40 H26 V0 M160 40 H134 V0 M0 120 H26 V160 M160 120 H134 V160' opacity='.55'/></g></svg>");
    background-size:160px 160px;
    background-attachment:fixed;
  }

  /* ---------- NAV ---------- */
  nav{
    position:fixed; top:0; left:0; right:0; z-index:60;
    display:flex; align-items:center; justify-content:space-between;
    padding:26px 48px; transition:background .5s var(--ease), padding .5s var(--ease), border-color .5s;
    border-bottom:1px solid rgba(181,148,41,.28); background:rgba(6,31,33,.92); backdrop-filter:blur(14px);
  }
  nav.solid{padding:16px 48px}
  nav .brand img{height:92px; width:auto; filter:drop-shadow(0 2px 10px rgba(0,0,0,.6))}
  nav ul{display:flex; gap:38px; list-style:none; align-items:center}
  nav ul a{font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:500; position:relative; padding:6px 0; opacity:.85; transition:opacity .3s}
  nav ul a::after{content:''; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--gold); transition:width .45s var(--ease)}
  nav ul a:hover{opacity:1}
  nav ul a:hover::after, nav ul a.active::after{width:100%}
  nav ul a.active{opacity:1; color:var(--gold-pale)}
  .nav-cta{border:1px solid rgba(181,148,41,.6); color:var(--gold-pale); padding:11px 22px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; transition:background .4s var(--ease), color .4s}
  .nav-cta:hover{background:var(--gold); color:var(--green-deep)}

  .burger{display:none; background:none; border:0; cursor:pointer; padding:10px; z-index:60; flex-direction:column; gap:6px; width:44px}
  .burger span{display:block; height:1px; width:24px; background:var(--cream); transition:transform .5s var(--ease), opacity .3s}
  .burger.on span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
  .burger.on span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-menu{position:fixed; inset:0; z-index:55; background:var(--green-deep); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:34px; opacity:0; pointer-events:none; transition:opacity .5s var(--ease)}
  .mobile-menu.on{opacity:1; pointer-events:auto}
  .mobile-menu a{font-family:var(--serif); font-size:36px; color:var(--cream)}
  .mobile-menu a.cta{font-family:var(--sans); font-size:11px; letter-spacing:.2em; text-transform:uppercase; border:1px solid rgba(181,148,41,.6); color:var(--gold-pale); padding:14px 28px; margin-top:14px}

  /* ---------- HEADER ---------- */
  .ghead{position:relative; padding:150px 48px 40px; overflow:hidden; background:#ece8de}
  .ghead .eyebrow{font-size:11px; letter-spacing:.34em; text-transform:uppercase; color:var(--gold-dark); margin-bottom:20px; display:flex; align-items:center; gap:16px}
  .ghead .eyebrow::before{content:''; width:52px; height:1px; background:var(--gold-dark)}
  .ghead h1{font-family:var(--serif); font-weight:700; font-size:clamp(40px,5.4vw,84px); line-height:1.02; margin-bottom:20px; color:var(--green-deep)}
  .ghead h1 em{font-style:normal; color:var(--gold-dark)}
  .ghead p{max-width:760px; font-size:16px; line-height:1.7; color:rgba(6,31,33,.78); font-weight:300}
  .ghead{text-align:center}
  .ghead .eyebrow{justify-content:center}
  .ghead p{margin-left:auto; margin-right:auto}

  /* ---------- CONTACT ---------- */
  .contact{position:relative; padding:40px 48px 100px; overflow:hidden; background:#ece8de}
  .contact .kene{opacity:.05}
  .contact .cwrap{position:relative; z-index:2; max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.1fr 1fr; gap:70px; align-items:start}
  .contact .cintro .eyebrow{color:var(--gold-dark)}
  .contact .cintro .eyebrow::before{background:var(--gold-dark)}
  .contact .cintro h2{font-family:var(--serif); font-weight:700; font-size:clamp(30px,3.2vw,48px); line-height:1.08; margin:8px 0 18px; color:var(--green-deep)}
  .contact .cintro h2 em{font-style:normal; color:var(--gold-dark)}
  .contact .cintro p{font-size:15.5px; line-height:1.8; color:rgba(6,31,33,.78); font-weight:300; margin-bottom:30px; max-width:440px}
  .clist{list-style:none; display:flex; flex-direction:column; gap:18px; margin-bottom:30px; padding-top:22px; border-top:1px solid rgba(181,148,41,.3)}
  .clist li{font-size:14px; line-height:1.6; color:rgba(6,31,33,.85)}
  .clist li b{display:block; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-dark); margin-bottom:5px}

  .mapfull{position:relative; width:100%; padding:60px 48px; border-top:1px solid rgba(181,148,41,.15); background:var(--green-deep)}
  .cmap{position:relative; display:block; width:100%; max-width:1400px; margin:0 auto; height:min(52vh,480px); min-height:320px; overflow:hidden; border:1px solid rgba(181,148,41,.25)}
  .cmap iframe{width:100%; height:100%; border:0; pointer-events:none; filter:grayscale(.35) contrast(1.05) brightness(.85)}
  .cmap-badge{position:absolute; left:24px; bottom:24px; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:14px; background:rgba(6,31,33,.85); backdrop-filter:blur(4px); border:1px solid rgba(181,148,41,.35); color:var(--gold-pale); font-size:11px; letter-spacing:.16em; text-transform:uppercase; padding:14px 20px; transition:background .3s, color .3s, border-color .3s}
  .cmap-badge .arrow{width:22px; height:1px; background:var(--gold); position:relative; flex:none; transition:background .3s}
  .cmap-badge .arrow::after{content:''; position:absolute; right:0; top:-3px; width:6px; height:6px; border-top:1px solid var(--gold); border-right:1px solid var(--gold); transform:rotate(45deg); transition:border-color .3s}
  .cmap:hover .cmap-badge{background:var(--gold); color:var(--green-deep); border-color:var(--gold)}
  .cmap:hover .cmap-badge .arrow{background:var(--green-deep)}
  .cmap:hover .cmap-badge .arrow::after{border-color:var(--green-deep)}

  .cform{background:rgba(6,31,33,.42); border:1px solid rgba(181,148,41,.22); padding:40px; backdrop-filter:blur(4px)}

  /* ---------- HUBSPOT FORM ---------- */
  .hubspot-embed{background:rgba(244,239,228,.97); border-color:rgba(181,148,41,.4); box-shadow:0 20px 60px rgba(0,0,0,.35)}
  .hubspot-embed #hubspotForm{min-height:120px}
  .hubspot-embed iframe{width:100% !important}
  .hubspot-embed .hs-form-frame{width:100%}
  .hubspot-embed .submitted-message{color:var(--green-deep); font-family:var(--sans); font-size:15px; line-height:1.6; text-align:center}

  /* ---------- WHATSAPP FLOATING BUTTON ---------- */
  .wa-float{
    position:fixed; right:28px; bottom:28px; z-index:80;
    width:60px; height:60px; border-radius:50%;
    background:linear-gradient(135deg, var(--gold), var(--gold-dark));
    color:var(--green-deep); display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 0 0 rgba(181,148,41,.45);
    transition:transform .35s var(--ease), box-shadow .35s var(--ease);
    animation:waPulse 2.8s ease-in-out infinite;
  }
  .wa-float svg{width:28px; height:28px; position:relative; z-index:2}
  .wa-float:hover{transform:scale(1.08) translateY(-2px); box-shadow:0 14px 36px rgba(0,0,0,.5)}
  .wa-tooltip{
    position:absolute; right:calc(100% + 16px); top:50%; transform:translateY(-50%) translateX(8px);
    background:var(--green-deep); color:var(--cream); border:1px solid rgba(181,148,41,.35);
    padding:11px 18px; border-radius:8px; font-size:12.5px; letter-spacing:.02em; white-space:nowrap;
    box-shadow:0 8px 20px rgba(0,0,0,.35);
    opacity:0; pointer-events:none; transition:opacity .35s var(--ease), transform .35s var(--ease);
  }
  .wa-tooltip::after{content:''; position:absolute; left:100%; top:50%; transform:translateY(-50%); border:6px solid transparent; border-left-color:var(--green-deep)}
  .wa-float:hover .wa-tooltip{opacity:1; transform:translateY(-50%) translateX(0)}
  @keyframes waPulse{
    0%,100%{box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 0 0 rgba(181,148,41,.45)}
    50%{box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 0 12px rgba(181,148,41,0)}
  }
  @media(prefers-reduced-motion:reduce){ .wa-float{animation:none} }
  .mobile-menu.on ~ .wa-float{opacity:0; pointer-events:none}

  /* ---------- FOOTER ---------- */
  footer{background:var(--green-deep); padding:90px 48px 40px; position:relative; border-top:1px solid rgba(181,148,41,.15)}
  .frule{height:1px; background:linear-gradient(to right, transparent, rgba(181,148,41,.5), transparent); margin-bottom:60px}
  .fgrid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:44px; align-items:start}
  footer img{height:58px; width:auto; margin-bottom:22px}
  .fbrand .tag{font-size:13px; color:rgba(244,239,228,.5); font-weight:300; max-width:300px; line-height:1.7; margin-bottom:26px}
  .fsocial{display:flex; gap:12px}
  .fsocial a{display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; border:1px solid rgba(181,148,41,.35); color:var(--gold-pale); transition:background .3s, color .3s, border-color .3s}
  .fsocial a svg{width:16px; height:16px}
  .fsocial a:hover{background:var(--gold); color:var(--green-deep); border-color:var(--gold)}
  footer h3{font-size:10px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:22px}
  footer ul{list-style:none; display:flex; flex-direction:column; gap:13px}
  footer ul a{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,239,228,.65); transition:color .3s}
  footer ul a:hover{color:var(--gold-pale)}
  .fcontact li{font-size:12.5px; letter-spacing:.02em; text-transform:none; color:rgba(244,239,228,.65); line-height:1.6}
  .fcontact li a{font-size:12.5px; letter-spacing:.02em; text-transform:none; color:rgba(244,239,228,.65)}
  .fcontact li a:hover{color:var(--gold-pale)}
  .copy{margin-top:70px; padding-top:28px; border-top:1px solid rgba(181,148,41,.15); font-size:11px; letter-spacing:.1em; color:rgba(244,239,228,.35); text-align:center}

  .fade{opacity:0; transform:translateY(28px); transition:opacity 1s var(--ease), transform 1s var(--ease)}
  .fade.in{opacity:1; transform:none}

  @media(max-width:900px){
    nav{padding:16px 22px} nav.solid{padding:12px 22px}
    nav ul{display:none} .nav-cta{display:none} .burger{display:flex}
    nav .brand img{height:90px; margin:-22px 0}
    .ghead{padding:120px 22px 26px}
    .contact{padding:24px 22px 84px}
    .contact .cwrap{grid-template-columns:1fr; gap:46px}
    .cform{padding:28px 22px}
    .cform .row{grid-template-columns:1fr; gap:0}
    .mapfull{padding:40px 22px}
    .cmap{height:320px; min-height:260px}
    .cmap-badge{left:16px; right:16px; bottom:16px; justify-content:center}
    footer{padding:70px 22px 30px}
    .fgrid{grid-template-columns:1fr; gap:40px}
    .wa-float{right:18px; bottom:18px; width:54px; height:54px}
    .wa-float svg{width:24px; height:24px}
    .wa-tooltip{display:none}
  }
