:root{--forest:#103d20;--forest-dark:#082a15;--leaf:#6d9834;--leaf-light:#a6ca50;--cream:#faf9ef;--soft:#eef3e8}html{scroll-behavior:smooth}body{font-family:Inter,Arial,sans-serif;color:#173720;background:var(--cream)}a{text-decoration:none;color:inherit}.topbar{background:var(--forest-dark);color:#fff;font-size:.75rem}.topbar a{color:#fff}.topbar i{color:var(--leaf-light)}.logo-wrap{width:245px;height:82px;overflow:hidden}.logo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 61%}.navbar .nav-link{font-size:.78rem;font-weight:600;color:#203d28;padding:.9rem .65rem!important}.navbar .nav-link:hover{color:var(--leaf)}.btn-brand{background:var(--leaf);border-color:var(--leaf);color:#fff}.btn-brand:hover{background:#557f29;border-color:#557f29;color:#fff}.mega-dropdown{left:0!important;right:0!important;width:100%;margin-top:0;border-radius:0 0 1rem 1rem}.mega-dropdown h6{font-family:"Cormorant Garamond",serif;font-size:1.25rem}.mega-dropdown .dropdown-item{font-size:.78rem;padding:.55rem .25rem}.mega-dropdown .dropdown-item i{width:24px;color:var(--leaf)}.mega-feature{background:linear-gradient(135deg,#164624,#758c3b)}.mobile-menu{background:var(--forest);color:#fff}.mobile-logo{width:180px;height:60px;object-fit:cover;object-position:center 61%}.mobile-menu .nav-link{color:#fff;border-bottom:1px solid rgba(255,255,255,.09);padding:.85rem 0}.hero-carousel,.hero-carousel .carousel-item{height:590px}.hero-carousel .carousel-item{background-size:cover;background-position:center;position:relative}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,31,16,.91),rgba(3,31,16,.48),rgba(3,31,16,.08))}.hero-copy{position:relative;z-index:2;max-width:620px;color:#fff}.hero-copy h1{font:700 clamp(4rem,8vw,7.2rem)/.84 "Cormorant Garamond",serif;margin:.9rem 0 .45rem;text-shadow:0 4px 20px rgba(0,0,0,.45)}.hero-copy h2{font:700 clamp(2rem,4vw,3.1rem)/1 "Cormorant Garamond",serif;color:var(--leaf-light)}.hero-copy p{font-size:1.05rem;max-width:560px}.section-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:800;color:#557d2b}.text-light-green{color:#d6e991!important}.tribal-line{width:320px;height:12px;margin:1.1rem 0;background:repeating-linear-gradient(45deg,#a86d28 0 5px,transparent 5px 9px),repeating-linear-gradient(-45deg,#a86d28 0 5px,transparent 5px 9px)}.carousel-indicators{bottom:72px}.quick-section{position:relative;margin-top:-72px;z-index:5}.quick-card{min-height:145px;padding:1.2rem .7rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid #e2e6df}.quick-card span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;font-size:1.25rem;margin-bottom:.7rem}.quick-card b{font-size:.85rem}.quick-card small{font-size:.66rem;color:#68746b;margin-top:.3rem}.section-space{padding:5.5rem 0}.display-title{font:700 clamp(2.5rem,5vw,3.3rem)/1.02 "Cormorant Garamond",serif;margin:1rem 0 1.3rem}.script-text{font:400 1.45rem "Kaushan Script",cursive;color:#688d3c}.mosaic img{width:100%;object-fit:cover;border-radius:1rem}.mosaic-tall{height:410px}.mosaic-wide{height:195px}.mosaic-small{height:200px}.bg-soft{background:var(--soft)}.destination-card{border-radius:1rem;overflow:hidden;transition:.25s}.destination-card:hover{transform:translateY(-5px)}.destination-card .card-img-top{height:190px;object-fit:cover}.feature-banner{min-height:330px;background-size:cover;background-position:center}.feature-banner h2{font:700 2.4rem/1 "Cormorant Garamond",serif}.planner{background:var(--forest)}.contact-card{background:#fff;border-radius:1rem;padding:1.25rem;display:flex;gap:1rem;box-shadow:0 8px 24px rgba(15,53,27,.08);transition:.2s}.contact-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,53,27,.13)}.contact-icon{width:54px;height:54px;flex:0 0 54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.25rem}.contact-icon.police{background:#174724}.contact-icon.fire{background:#a9492f}.contact-type{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;color:#6f9833;font-weight:800}.contact-card h3{font:700 1.45rem/1.05 "Cormorant Garamond",serif;margin:.35rem 0 .7rem}.contact-card a{display:block;font-size:.75rem;color:#56635a;margin:.3rem 0;word-break:break-word}.contact-card a i{width:19px;color:#6f9833}.contact-search .form-control:focus{box-shadow:none;border-color:#ced7ca}.site-footer{background:linear-gradient(90deg,#0d421f,#174f24,#0b391b);color:#fff}.site-footer h3{font-family:"Cormorant Garamond",serif}.site-footer h3 i{color:var(--leaf-light)}.social-btn{width:32px;height:32px;border-radius:50%;background:#5c8031;display:grid;place-items:center}.footer-bottom{background:var(--forest-dark);color:#bdcbbf}
@media(max-width:1199.98px){.logo-wrap{width:210px}.navbar{min-height:80px}}
@media(max-width:767.98px){.hero-carousel,.hero-carousel .carousel-item{height:560px}.hero-copy h1{font-size:4.1rem}.hero-copy p{font-size:.9rem}.tribal-line{width:240px}.quick-section{margin-top:-48px}.quick-card{border-bottom:1px solid #e2e6df}.section-space{padding:4rem 0}.mosaic-tall{height:270px}.mosaic-wide,.mosaic-small{height:170px}.contact-card{padding:1rem}.topbar{font-size:.68rem}}

/* Refinements requested */
@media (min-width:1200px){.navbar .dropdown:hover>.dropdown-menu{display:block;margin-top:0}}
.hero-carousel,.hero-carousel .carousel-item{height:525px}
.hero-carousel .carousel-item{background-position:center center}
.carousel-indicators{bottom:28px}
.quick-section{margin-top:-54px}
.custom-carousel-control{top:50%;width:48px;height:48px;margin-top:-24px;border-radius:50%;background:rgba(8,42,21,.58);border:1px solid rgba(255,255,255,.55);opacity:1}
.carousel-control-prev.custom-carousel-control{left:24px}.carousel-control-next.custom-carousel-control{right:24px}
.custom-carousel-control:hover{background:#5f8c31}
.custom-carousel-control .carousel-control-prev-icon,.custom-carousel-control .carousel-control-next-icon{width:18px;height:18px}
.destination-showcase{background:#f2f5e8;border:1px solid #d9e1ce;padding:1.5rem}
.destination-scroll{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:1rem;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:thin}
.destination-tile{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 7px 20px rgba(18,53,28,.08);min-width:210px;transition:.25s}
.destination-tile:hover{transform:translateY(-5px)}
.destination-tile img{width:100%;height:145px;object-fit:cover}
.destination-tile h5{font:700 1.15rem "Cormorant Garamond",serif;margin:0 0 .2rem}
.destination-tile p{font-size:.68rem;color:#6c776e;margin:0}
.view-all-link{font-size:.75rem;font-weight:700;color:#315f24}
.facts-section{background:#f2f2e6;padding:1.75rem 0}
.fact-item{min-height:105px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-right:1px solid #d8d8c8;padding:.75rem}
.fact-item i{font-size:1.65rem;color:#617f2b;margin-bottom:.35rem}
.fact-item strong{font:700 1.7rem "Cormorant Garamond",serif;line-height:1}
.fact-item span{font-size:.68rem;margin-top:.25rem}
@media(max-width:1199.98px){.destination-scroll{grid-template-columns:repeat(5,220px)}}
@media(max-width:767.98px){.hero-carousel,.hero-carousel .carousel-item{height:520px}.quick-section{margin-top:-38px}.carousel-control-prev.custom-carousel-control{left:10px}.carousel-control-next.custom-carousel-control{right:10px}.custom-carousel-control{width:40px;height:40px}.fact-item{border-bottom:1px solid #d8d8c8}}


/* Banner image and content transitions */
.hero-carousel .carousel-item{
  background-size:cover;
  background-position:center center;
  transition:opacity .9s ease-in-out;
  overflow:hidden;
}

.hero-carousel .carousel-item.active{
  animation:heroKenBurns 6.5s ease-out both;
}

.hero-carousel .carousel-item .hero-copy{
  opacity:0;
  transform:translateY(24px);
}

.hero-carousel .carousel-item.active .hero-copy{
  animation:heroContentReveal .9s .25s ease-out forwards;
}

.hero-carousel .carousel-item.active .hero-copy h1{
  animation:heroTitleReveal .85s .35s ease-out both;
}

.hero-carousel .carousel-item.active .hero-copy h2{
  animation:heroTitleReveal .85s .48s ease-out both;
}

.hero-carousel .carousel-item.active .hero-copy p,
.hero-carousel .carousel-item.active .hero-actions{
  animation:heroTitleReveal .85s .62s ease-out both;
}

@keyframes heroKenBurns{
  0%{
    background-size:100% auto;
    background-position:center center;
  }
  100%{
    background-size:108% auto;
    background-position:center 48%;
  }
}

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

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

@media(max-width:767.98px){
  @keyframes heroKenBurns{
    0%{
      background-size:auto 100%;
      background-position:center center;
    }
    100%{
      background-size:auto 108%;
      background-position:center 48%;
    }
  }
}

@media(prefers-reduced-motion:reduce){
  .hero-carousel .carousel-item,
  .hero-carousel .carousel-item.active,
  .hero-carousel .carousel-item .hero-copy,
  .hero-carousel .carousel-item.active .hero-copy,
  .hero-carousel .carousel-item.active .hero-copy h1,
  .hero-carousel .carousel-item.active .hero-copy h2,
  .hero-carousel .carousel-item.active .hero-copy p,
  .hero-carousel .carousel-item.active .hero-actions{
    animation:none!important;
    transition:none!important;
    opacity:1;
    transform:none;
  }
}


/* Back to top */
.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1050;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  background:#174724;
  color:#fff;
  box-shadow:0 10px 28px rgba(8,42,21,.28);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(16px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease,background .2s ease;
}
.back-to-top.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover{
  background:#6d9834;
  color:#fff;
}
.back-to-top:focus-visible{
  outline:3px solid rgba(166,202,80,.55);
  outline-offset:3px;
}
@media(max-width:575.98px){
  .back-to-top{
    right:15px;
    bottom:15px;
    width:42px;
    height:42px;
  }
}


/* Header and navigation refinements */
.navbar{
  min-height:68px;
  padding-top:0!important;
  padding-bottom:0!important;
  box-shadow:0 8px 24px rgba(8,42,21,.16)!important;
  border-bottom:1px solid rgba(16,61,32,.08);
}

.logo-wrap{
  width:255px;
  height:88px;
  margin-top:-10px;
  margin-bottom:-10px;
  display:flex;
  align-items:center;
  overflow:visible;
}

.logo-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 61%;
  filter:drop-shadow(0 5px 10px rgba(8,42,21,.14));
}

.navbar .nav-link{
  padding:.55rem .65rem!important;
  line-height:1.15;
}

.navbar .navbar-nav{
  min-height:68px;
}

.navbar .navbar-nav>.nav-item{
  display:flex;
  align-items:center;
}

.navbar .dropdown-toggle::after{
  margin-left:.35rem;
  vertical-align:.12em;
}

@media(max-width:1199.98px){
  .navbar{
    min-height:64px;
  }

  .logo-wrap{
    width:220px;
    height:80px;
    margin-top:-8px;
    margin-bottom:-8px;
  }
}

@media(max-width:575.98px){
  .navbar{
    min-height:60px;
    box-shadow:0 6px 18px rgba(8,42,21,.14)!important;
  }

  .logo-wrap{
    width:185px;
    height:72px;
    margin-top:-6px;
    margin-bottom:-6px;
  }
}


/* Taller oval logo block */
.logo-wrap{
  width:275px;
  height:104px;
  margin-top:-18px;
  margin-bottom:-18px;
  padding:7px 13px;
  border-radius:999px;
  background:rgba(255,255,250,.98);
  box-shadow:
    0 10px 24px rgba(8,42,21,.18),
    inset 0 0 0 1px rgba(16,61,32,.08);
  overflow:hidden;
}

.logo-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 61%;
  border-radius:999px;
  filter:none;
}

@media(max-width:1199.98px){
  .logo-wrap{
    width:238px;
    height:92px;
    margin-top:-14px;
    margin-bottom:-14px;
    padding:6px 11px;
  }
}

@media(max-width:575.98px){
  .logo-wrap{
    width:198px;
    height:82px;
    margin-top:-11px;
    margin-bottom:-11px;
    padding:5px 9px;
  }
}


/* Full-round, taller logo block with fitted image */
.logo-wrap{
  width:128px;
  height:128px;
  min-width:128px;
  margin-top:-30px;
  margin-bottom:-30px;
  padding:7px;
  border-radius:50%;
  background:#fffef8;
  box-shadow:
    0 13px 30px rgba(8,42,21,.22),
    inset 0 0 0 1px rgba(16,61,32,.10);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.logo-wrap img{
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  object-position:center 55%;
  transform:scale(1.08);
  filter:none;
}

.navbar{
  overflow:visible;
}

@media(max-width:1199.98px){
  .logo-wrap{
    width:112px;
    height:112px;
    min-width:112px;
    margin-top:-24px;
    margin-bottom:-24px;
    padding:6px;
  }
}

@media(max-width:575.98px){
  .logo-wrap{
    width:94px;
    height:94px;
    min-width:94px;
    margin-top:-17px;
    margin-bottom:-17px;
    padding:5px;
  }

  .logo-wrap img{
    transform:scale(1.10);
  }
}


/* Rounded sticky navigation and responsive alignment */
#mainNavbar{
  transition:
    margin .28s ease,
    border-radius .28s ease,
    box-shadow .28s ease,
    background-color .28s ease,
    min-height .28s ease;
  z-index:1030;
}

#mainNavbar.navbar-scrolled{
  margin:10px auto 0;
  width:min(1180px,calc(100% - 28px));
  border-radius:999px;
  background:rgba(255,255,250,.96)!important;
  box-shadow:0 12px 32px rgba(8,42,21,.20)!important;
  border:1px solid rgba(16,61,32,.10);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

#mainNavbar.navbar-scrolled .container{
  max-width:none;
  padding-left:18px;
  padding-right:18px;
}

#mainNavbar.navbar-scrolled .logo-wrap{
  width:92px;
  height:92px;
  min-width:92px;
  margin-top:-14px;
  margin-bottom:-14px;
}

#mainNavbar.navbar-scrolled .navbar-nav{
  min-height:56px;
}

#mainNavbar.navbar-scrolled .nav-link{
  padding:.45rem .58rem!important;
}

#mainNavbar.navbar-scrolled .navbar-toggler{
  margin-right:4px;
}

/* Better responsive header and menu alignment */
@media(max-width:1199.98px){
  #mainNavbar{
    min-height:68px;
  }

  #mainNavbar .container{
    max-width:100%;
    padding-left:14px;
    padding-right:14px;
  }

  #mainNavbar.navbar-scrolled{
    width:calc(100% - 18px);
    margin-top:8px;
    border-radius:28px;
  }

  #mainNavbar.navbar-scrolled .logo-wrap{
    width:84px;
    height:84px;
    min-width:84px;
    margin-top:-10px;
    margin-bottom:-10px;
  }

  .navbar-toggler{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    padding:0;
    border-radius:50%;
    background:#eef3e8;
  }

  .offcanvas.mobile-menu{
    width:min(340px,88vw);
  }
}

@media(max-width:767.98px){
  .topbar .container{
    justify-content:center!important;
    text-align:center;
  }

  #mainNavbar{
    min-height:62px;
  }

  #mainNavbar.navbar-scrolled{
    width:calc(100% - 12px);
    margin-top:6px;
    border-radius:24px;
  }

  #mainNavbar.navbar-scrolled .container{
    padding-left:10px;
    padding-right:10px;
  }

  #mainNavbar.navbar-scrolled .logo-wrap{
    width:74px;
    height:74px;
    min-width:74px;
    margin-top:-7px;
    margin-bottom:-7px;
  }

  .logo-wrap{
    width:88px;
    height:88px;
    min-width:88px;
    margin-top:-14px;
    margin-bottom:-14px;
  }

  .hero-copy{
    padding-left:46px;
    padding-right:46px;
    text-align:left;
  }

  .hero-actions{
    gap:.65rem!important;
  }

  .hero-actions .btn{
    min-width:145px;
  }

  .quick-panel{
    border-radius:1.1rem!important;
  }

  .destination-showcase{
    padding:1rem;
  }

  .destination-scroll{
    grid-template-columns:repeat(5,205px);
  }

  .contact-card{
    align-items:flex-start;
  }

  .footer-bottom .container{
    text-align:center;
  }
}

@media(max-width:575.98px){
  #mainNavbar.navbar-scrolled{
    border-radius:20px;
  }

  .hero-copy{
    padding-left:34px;
    padding-right:34px;
  }

  .hero-copy h1{
    font-size:3.45rem;
  }

  .hero-copy h2{
    font-size:1.9rem;
  }

  .hero-actions{
    flex-direction:column;
    align-items:flex-start;
  }

  .hero-actions .btn{
    width:100%;
    max-width:230px;
  }

  .quick-section{
    margin-top:-30px;
  }

  .quick-card{
    min-height:125px;
    padding:.9rem .5rem;
  }

  .quick-card span{
    width:46px;
    height:46px;
  }

  .section-space{
    padding:3.5rem 0;
  }

  .display-title{
    font-size:2.4rem;
  }

  .mosaic .col-md-5,
  .mosaic .col-md-7{
    width:100%;
  }

  .mosaic-tall,
  .mosaic-wide,
  .mosaic-small{
    height:210px;
  }

  .fact-item{
    min-height:96px;
  }

  .contact-card{
    flex-direction:column;
  }

  .contact-icon{
    width:48px;
    height:48px;
    flex-basis:48px;
  }
}


/* Correction: full-width navigation; rounded-square logo only */
#mainNavbar,
#mainNavbar.navbar-scrolled{
  width:100%;
  margin:0;
  border-radius:0;
  background:#fffef8!important;
  border-left:0;
  border-right:0;
  box-shadow:0 8px 24px rgba(8,42,21,.16)!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

#mainNavbar.navbar-scrolled .container{
  max-width:1320px;
  padding-left:12px;
  padding-right:12px;
}

.logo-wrap,
#mainNavbar.navbar-scrolled .logo-wrap{
  width:148px;
  height:112px;
  min-width:148px;
  margin-top:-22px;
  margin-bottom:-22px;
  padding:7px;
  border-radius:24px;
  background:#fffef8;
  overflow:hidden;
  box-shadow:
    0 12px 28px rgba(8,42,21,.20),
    inset 0 0 0 1px rgba(16,61,32,.10);
}

.logo-wrap img,
#mainNavbar.navbar-scrolled .logo-wrap img{
  width:100%;
  height:100%;
  border-radius:18px;
  object-fit:contain;
  object-position:center;
  transform:none;
  background:#fffef8;
}

#mainNavbar .navbar-nav,
#mainNavbar.navbar-scrolled .navbar-nav{
  min-height:64px;
}

#mainNavbar .nav-link,
#mainNavbar.navbar-scrolled .nav-link{
  padding:.5rem .62rem!important;
}

@media(max-width:1199.98px){
  #mainNavbar,
  #mainNavbar.navbar-scrolled{
    width:100%;
    margin:0;
    border-radius:0;
  }

  .logo-wrap,
  #mainNavbar.navbar-scrolled .logo-wrap{
    width:126px;
    height:96px;
    min-width:126px;
    margin-top:-16px;
    margin-bottom:-16px;
    padding:6px;
    border-radius:21px;
  }

  .logo-wrap img,
  #mainNavbar.navbar-scrolled .logo-wrap img{
    border-radius:15px;
  }
}

@media(max-width:575.98px){
  #mainNavbar,
  #mainNavbar.navbar-scrolled{
    width:100%;
    margin:0;
    border-radius:0;
  }

  .logo-wrap,
  #mainNavbar.navbar-scrolled .logo-wrap{
    width:104px;
    height:82px;
    min-width:104px;
    margin-top:-11px;
    margin-bottom:-11px;
    padding:5px;
    border-radius:18px;
  }

  .logo-wrap img,
  #mainNavbar.navbar-scrolled .logo-wrap img{
    border-radius:13px;
  }
}


/* Final navigation corrections */
.topbar .welcome-text{
  margin-left:auto;
  text-align:right;
  white-space:nowrap;
}

/* Keep the full navigation bar rectangular */
#mainNavbar,
#mainNavbar.navbar-scrolled{
  width:100%;
  margin:0;
  border-radius:0;
  background:#fffef8!important;
  box-shadow:0 8px 24px rgba(8,42,21,.16)!important;
  overflow:visible;
}

/* Prevent the desktop mega menu from disappearing while moving the mouse */
@media(min-width:1200px){
  #mainNavbar .dropdown.position-static{
    position:static!important;
  }

  #mainNavbar .dropdown.position-static::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:18px;
    pointer-events:auto;
  }

  #mainNavbar .mega-dropdown{
    top:calc(100% - 2px)!important;
    margin-top:0!important;
    padding-top:12px;
  }

  #mainNavbar .dropdown:hover > .mega-dropdown,
  #mainNavbar .dropdown.dropdown-hover-open > .mega-dropdown{
    display:block;
  }
}

/* Initial logo: taller rounded square */
.logo-wrap{
  width:148px;
  height:112px;
  min-width:148px;
  margin-top:-22px;
  margin-bottom:-22px;
  padding:7px;
  border-radius:24px;
  background:#fffef8;
  overflow:hidden;
  box-shadow:
    0 12px 28px rgba(8,42,21,.20),
    inset 0 0 0 1px rgba(16,61,32,.10);
  transition:
    width .32s ease,
    height .32s ease,
    min-width .32s ease,
    margin .32s ease,
    padding .32s ease,
    border-radius .32s ease,
    box-shadow .32s ease,
    transform .32s ease;
}

.logo-wrap img{
  width:100%;
  height:100%;
  border-radius:18px;
  object-fit:contain;
  object-position:center;
  transform:scale(1);
  transition:
    transform .38s ease,
    border-radius .32s ease,
    filter .32s ease;
}

/* On downward scroll, logo becomes a compact square aligned inside navbar */
#mainNavbar.navbar-scrolled .logo-wrap{
  width:78px;
  height:78px;
  min-width:78px;
  margin-top:-7px;
  margin-bottom:-7px;
  padding:5px;
  border-radius:16px;
  box-shadow:
    0 8px 20px rgba(8,42,21,.16),
    inset 0 0 0 1px rgba(16,61,32,.10);
}

#mainNavbar.navbar-scrolled .logo-wrap img{
  border-radius:11px;
  transform:scale(.96);
  filter:saturate(1.04);
}

#mainNavbar .navbar-nav{
  min-height:64px;
  transition:min-height .3s ease;
}

#mainNavbar.navbar-scrolled .navbar-nav{
  min-height:58px;
}

@media(max-width:1199.98px){
  .topbar .welcome-text{
    width:100%;
    white-space:normal;
  }

  .logo-wrap{
    width:126px;
    height:96px;
    min-width:126px;
    margin-top:-16px;
    margin-bottom:-16px;
    border-radius:21px;
  }

  #mainNavbar.navbar-scrolled .logo-wrap{
    width:72px;
    height:72px;
    min-width:72px;
    margin-top:-5px;
    margin-bottom:-5px;
    border-radius:15px;
  }
}

@media(max-width:575.98px){
  .topbar .container{
    justify-content:flex-end!important;
  }

  .topbar .welcome-text{
    font-size:.66rem;
    line-height:1.35;
  }

  .logo-wrap{
    width:104px;
    height:82px;
    min-width:104px;
    margin-top:-11px;
    margin-bottom:-11px;
    border-radius:18px;
  }

  #mainNavbar.navbar-scrolled .logo-wrap{
    width:64px;
    height:64px;
    min-width:64px;
    margin-top:-2px;
    margin-bottom:-2px;
    border-radius:14px;
  }
}


/* Latest implementation: round logo at top, square logo on downward scroll */
.logo-wrap{
  width:128px!important;
  height:128px!important;
  min-width:128px!important;
  margin-top:-30px!important;
  margin-bottom:-30px!important;
  padding:7px!important;
  border-radius:50%!important;
  background:#fffef8!important;
  overflow:hidden!important;
  box-shadow:
    0 13px 30px rgba(8,42,21,.22),
    inset 0 0 0 1px rgba(16,61,32,.10)!important;
  transition:
    width .34s ease,
    height .34s ease,
    min-width .34s ease,
    margin .34s ease,
    padding .34s ease,
    border-radius .34s ease,
    box-shadow .34s ease,
    transform .34s ease!important;
}

.logo-wrap img{
  width:100%!important;
  height:100%!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center 55%!important;
  transform:scale(1.08)!important;
  transition:
    transform .38s ease,
    border-radius .34s ease,
    filter .34s ease!important;
}

/* Compact rounded-square logo after downward scrolling */
#mainNavbar.navbar-scrolled .logo-wrap{
  width:78px!important;
  height:78px!important;
  min-width:78px!important;
  margin-top:-7px!important;
  margin-bottom:-7px!important;
  padding:5px!important;
  border-radius:16px!important;
  box-shadow:
    0 8px 20px rgba(8,42,21,.16),
    inset 0 0 0 1px rgba(16,61,32,.10)!important;
}

#mainNavbar.navbar-scrolled .logo-wrap img{
  border-radius:11px!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:scale(.96)!important;
  background:#fffef8;
}

@media(max-width:1199.98px){
  .logo-wrap{
    width:112px!important;
    height:112px!important;
    min-width:112px!important;
    margin-top:-24px!important;
    margin-bottom:-24px!important;
    padding:6px!important;
  }

  #mainNavbar.navbar-scrolled .logo-wrap{
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    margin-top:-5px!important;
    margin-bottom:-5px!important;
    border-radius:15px!important;
  }
}

@media(max-width:575.98px){
  .logo-wrap{
    width:94px!important;
    height:94px!important;
    min-width:94px!important;
    margin-top:-17px!important;
    margin-bottom:-17px!important;
    padding:5px!important;
  }

  .logo-wrap img{
    transform:scale(1.10)!important;
  }

  #mainNavbar.navbar-scrolled .logo-wrap{
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    margin-top:-2px!important;
    margin-bottom:-2px!important;
    border-radius:14px!important;
  }
}


/* Flicker-free mega dropdown positioning */
@media(min-width:1200px){
  #mainNavbar{
    position:sticky;
    overflow:visible!important;
  }

  #mainNavbar .dropdown.position-static{
    position:static!important;
  }

  #mainNavbar .dropdown.position-static::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:24px;
    z-index:1000;
  }

  #mainNavbar .mega-dropdown{
    display:block!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    margin-top:0!important;
    padding-top:12px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(8px);
    transition:
      opacity .18s ease,
      transform .18s ease,
      visibility 0s linear .18s;
  }

  #mainNavbar .dropdown-hover-open > .mega-dropdown,
  #mainNavbar .dropdown.show > .mega-dropdown,
  #mainNavbar .dropdown-hover-open > .mega-dropdown{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition:
      opacity .18s ease,
      transform .18s ease,
      visibility 0s;
  }

  #mainNavbar .mega-dropdown::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-18px;
    height:18px;
  }
}


/* Open Places to Visit only from its own menu item */
@media(min-width:1200px){
  #mainNavbar .dropdown.position-static{
    position:static!important;
  }

  /* Disable the old full-navbar hover bridge */
  #mainNavbar .dropdown.position-static::after{
    display:none!important;
    content:none!important;
  }

  /* Create a bridge only below the Places to Visit link */
  #mainNavbar .dropdown-toggle{
    position:relative;
  }

  #mainNavbar .dropdown-toggle::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:18px;
    display:block;
  }

  #mainNavbar .mega-dropdown::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-14px;
    height:14px;
  }

  /* Only the dropdown item itself may open the mega menu */
  #mainNavbar .dropdown-hover-open > .mega-dropdown,
  #mainNavbar .dropdown.show > .mega-dropdown,
  #mainNavbar .dropdown-hover-open > .mega-dropdown{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
}


/* Ensure mega menu fully closes after mouse-out */
@media(min-width:1200px){
  #mainNavbar .mega-dropdown:not(.show){
    pointer-events:none!important;
  }

  #mainNavbar .dropdown:not(.dropdown-hover-open):not(.show) > .mega-dropdown{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(8px)!important;
  }
}


/* Final deterministic desktop dropdown behaviour */
@media(min-width:1200px){
  #mainNavbar .nav-item.dropdown{
    position:static!important;
  }

  #mainNavbar .nav-item.dropdown::after{
    display:none!important;
    content:none!important;
  }

  #mainNavbar .mega-dropdown{
    display:block!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(8px)!important;
    transition:opacity .16s ease, transform .16s ease, visibility 0s linear .16s!important;
  }

  #mainNavbar .nav-item.dropdown.dropdown-hover-open > .mega-dropdown{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
    transition:opacity .16s ease, transform .16s ease, visibility 0s!important;
  }

  #mainNavbar .nav-item.dropdown.show:not(.dropdown-hover-open) > .mega-dropdown{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
