/* ============================================
   Shared nav stylesheet
   Source of truth: index.html nav CSS (extracted 2026-05-11)
   Used by: index.html, /places/*.html, and any page using partials/header.html
   ============================================ */

/* ════════════════════════════════════════════
   NAV  - CSS Grid, logo spans both rows
   ════════════════════════════════════════════ */
nav{position:fixed;top:0;width:100%;z-index:100;background:rgba(2,55,61,0.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.06);display:grid;grid-template-columns:auto auto 1fr auto;grid-template-rows:auto auto;padding:0.35rem 2.5rem 0.5rem;row-gap:0.2rem}
.nav-logo{grid-row:1/3;grid-column:1;display:flex;align-items:flex-start;text-decoration:none;padding-right:1.1rem;padding-top:0.05rem}
.nav-logo-img{display:block;height:44px;width:auto}
.nav-logo-inline{display:none}
.nav-divider{grid-row:1/3;grid-column:2;width:1px;background:rgba(255,255,255,0.2);margin:0;margin-right:1.1rem}
.nav-wordmark{grid-row:1/3;grid-column:3;font-family:'Actor',sans-serif;font-size:1.45rem;letter-spacing:0.13em;text-transform:uppercase;color:#fff;line-height:1;align-self:start;padding-top:0.05rem}
.nav-actions{grid-row:1;grid-column:4;display:flex;align-items:center;justify-content:space-between;align-self:start;justify-self:stretch;padding-top:0.05rem}
.nav-links{grid-row:2;grid-column:3;display:flex;align-items:flex-end;gap:0.15rem;align-self:end}
.nav-link{font-family:'IBM Plex Mono',monospace;font-size:0.88rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.5);text-decoration:none;padding:0 0.7rem;line-height:1;transition:all 0.2s}
.nav-link:first-child{padding-left:0}
.nav-link:hover{color:var(--gold)}
.nav-action{font-size:0.78rem;color:rgba(255,255,255,0.5);text-decoration:none;transition:color 0.2s;font-family:'IBM Plex Mono',monospace;letter-spacing:0.06em;text-transform:uppercase}
.nav-action:hover{color:#fff}
.nav-phone{color:var(--gold);font-weight:500}
.nav-phone:hover{color:#fff}
.nav-saved{display:inline-flex;align-items:center;gap:0.3rem}
.nav-saved svg{flex-shrink:0;opacity:0.5;position:relative;top:-1px}
.nav-cta-wrap{grid-row:2;grid-column:4;align-self:end;position:relative}
.nav-cta{background:#fff;color:var(--primary);padding:0.5rem 1.35rem;border-radius:3px;font-size:0.82rem;font-weight:600;text-decoration:none;font-family:'IBM Plex Mono',monospace;letter-spacing:0.1em;text-transform:uppercase;transition:all 0.2s;cursor:pointer;white-space:nowrap;border:none;display:block;text-align:center}
.nav-cta:hover{background:var(--gold);color:var(--primary-dark);box-shadow:0 2px 12px rgba(201,169,110,0.3)}
.nav-cta:active{background:var(--gold-light);color:var(--primary-dark);box-shadow:0 2px 12px rgba(201,169,110,0.4)}
.nav-cta-wrap .cta-panel{display:none;position:absolute;top:100%;right:0;left:auto;padding-top:0.65rem;margin-top:-0.25rem;z-index:200}
.nav-cta-wrap:hover .cta-panel{display:block}
.cta-panel.dd-open{display:block}
.cta-panel-inner{background:#fff;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,0.18);padding:0.75rem;min-width:340px}
.cta-or{font-family:'IBM Plex Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone-400);text-align:center;padding:0.4rem 0 0.5rem}
.cta-cards{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}
.cta-card-item{position:relative;border-radius:8px;overflow:visible;text-decoration:none;transition:all 0.2s;display:flex;flex-direction:column}
.cta-card-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,0.1)}
.cta-card-item .dd-item-panel{width:100%;height:60px;border-radius:6px;display:flex;align-items:center;justify-content:center}
.cta-card-item .dd-item-body{padding:0.4rem 0.25rem 0.25rem}
.cta-card-item .dd-item-desc{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;color:var(--stone-500);letter-spacing:0.02em;line-height:1.45;display:flex;align-items:center;gap:0.3rem}
.cta-card-item .dd-item-desc::after{content:'';border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--stone-400);display:inline-block}
.cta-sub{display:none;position:absolute;top:100%;right:0;min-width:220px;padding-top:0.5rem;margin-top:-0.25rem;z-index:210}
.cta-card-item:hover .cta-sub{display:block}
.cta-sub.dd-open{display:block}
.cta-sub-list{background:#fff;border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,0.15);max-height:60vh;overflow-y:auto;padding:0.35rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.cta-sub-list a{display:block;padding:0.45rem 0.7rem;font-family:'Abhaya Libre',serif;font-size:0.85rem;color:var(--stone-700);text-decoration:none;border-radius:4px;letter-spacing:0;white-space:nowrap;transition:background 0.15s}
.cta-sub-list a:hover{background:var(--cream);color:var(--primary)}
.cta-sub-list::-webkit-scrollbar{width:8px}
.cta-sub-list::-webkit-scrollbar-track{background:rgba(0,0,0,0.03);border-radius:4px}
.cta-sub-list::-webkit-scrollbar-thumb{background:var(--stone-300);border-radius:4px;border:2px solid transparent;background-clip:padding-box}
.cta-sub-list::-webkit-scrollbar-thumb:hover{background:var(--stone-400);border:1px solid transparent;background-clip:padding-box}
.cta-sub-list{scrollbar-width:thin;scrollbar-color:var(--stone-300) rgba(0,0,0,0.03)}
.cta-filter-wrap{padding:0.35rem 0.35rem 0;position:sticky;top:0;background:#fff;z-index:1}.cta-filter{width:100%;padding:0.4rem 0.6rem;font-family:"Abhaya Libre",serif;font-size:0.85rem;border:1px solid var(--stone-200);border-radius:4px;outline:none;color:var(--stone-700)}.cta-filter::placeholder{color:var(--stone-400)}.cta-filter:focus{border-color:var(--gold)}
/* Dropdown menus */
.nav-item{position:relative}
.nav-dropdown{display:none;position:absolute;top:100%;left:0;padding-top:0.75rem;margin-top:-0.25rem;z-index:200}
.nav-item:hover .nav-dropdown{display:block}
.nav-dropdown.dd-open{display:block}
.nav-dropdown-card{background:#fff;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,0.18);padding:0.75rem;display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;min-width:360px}
.nav-dropdown-card.dd-list{grid-template-columns:1fr;min-width:220px;gap:0.25rem;padding:0.75rem}
.dd-item{border-radius:8px;overflow:hidden;text-decoration:none;transition:all 0.2s;display:flex;flex-direction:column}
.dd-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,0.1)}
.dd-item-panel{width:100%;height:60px;border-radius:6px;display:flex;align-items:center;justify-content:center}
.dd-item-panel-label{font-family:'Actor',sans-serif;font-size:0.75rem;color:#fff;letter-spacing:0.1em;text-transform:uppercase;opacity:0.9;text-align:center;line-height:1.2;padding:0 0.5rem}
.dd-color-1{background:#02373D}
.dd-color-2{background:#2D5453}
.dd-color-3{background:#C9A96E}
.dd-color-4{background:#1B3A5C}
.dd-item-body{padding:0.4rem 0.25rem 0.25rem}
.dd-item-title{display:none}
.dd-item-desc{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;color:var(--stone-500);letter-spacing:0.02em;line-height:1.45}
/* Mega dropdown for Explore */
.dd-mega{grid-template-columns:repeat(5,1fr);min-width:680px;gap:0.25rem 1rem;padding:1.25rem 1.5rem}
.dd-mega-col{display:flex;flex-direction:column;gap:0.15rem}
.dd-mega-heading{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);font-weight:600;padding:0.3rem 0.4rem 0.5rem;border-bottom:1px solid var(--stone-200);margin-bottom:0.25rem}
.dd-mega-link{font-family:'Actor',sans-serif;font-size:0.78rem;color:var(--stone-700);text-decoration:none;padding:0.3rem 0.4rem;border-radius:4px;transition:all 0.15s;white-space:nowrap}
.dd-mega-link:hover{background:var(--cream);color:var(--primary)}
@media(max-width:900px){.dd-mega{grid-template-columns:repeat(3,1fr);min-width:auto}}
@media(max-width:768px){.mob-cards .dd-mega{grid-template-columns:repeat(2,1fr);min-width:0;padding:0;gap:0.75rem 1rem;background:transparent;box-shadow:none;border-radius:0}.mob-cards .dd-mega-heading{font-size:0.58rem;padding:0.2rem 0}.mob-cards .dd-mega-link{font-size:0.82rem;color:var(--stone-800);padding:0.35rem 0}}
/* List-style dropdown items (right side) */
.dd-list-item{display:flex;align-items:center;gap:0.6rem;padding:0.55rem 0.65rem;border-radius:6px;text-decoration:none;transition:background 0.15s}
.dd-list-item:hover{background:var(--cream)}
.dd-list-item-text{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--stone-700)}
.wm-short{display:none}
.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;background:none;border:none;padding:0.5rem}
.hamburger span{width:24px;height:2px;background:#fff;transition:all 0.3s}
/* Active state: flip to vertical lines */
.hamburger.active span{width:2px;height:14px}
.hamburger.active{flex-direction:row;gap:3px}

/* ════════════════════════════════════════════
   SECTION DEFAULTS
   ════════════════════════════════════════════ */
section{padding:4.5rem 2.5rem}
.inner{max-width:1100px;margin:0 auto}
h2,.s-heading{font-family:'Actor',sans-serif;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--stone-900);line-height:1.15;margin-bottom:0.5rem}
.s-sub{font-family:'IBM Plex Mono',monospace;font-size:0.78rem;color:var(--stone-500);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.5rem}
.section-header{text-align:center;margin-bottom:2rem}
.section-label{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:0.75rem}
.section-title{font-family:'Actor',sans-serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;color:var(--stone-900);line-height:1.15;margin-bottom:0.75rem}
.section-desc{font-family:'Abhaya Libre',serif;font-size:1.05rem;line-height:1.7;color:var(--stone-700);max-width:700px;margin:0 auto}
h3{font-family:'Actor',sans-serif;font-size:1.2rem;color:var(--stone-900)}
p{line-height:1.75}
a{color:var(--primary);text-decoration:none;transition:color 0.2s}
a:hover{color:var(--primary-light)}

/* BUTTONS */
.btn-p,.btn-sec{padding:0.9rem 2rem;border-radius:6px;font-family:'IBM Plex Mono',monospace;font-size:0.75rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;border:none;cursor:pointer;transition:all 0.2s;text-decoration:none;display:inline-block}
.btn-p{background:var(--primary);color:#fff}
.btn-p:hover{background:var(--primary-light);box-shadow:0 4px 16px rgba(2,55,61,0.2)}
.btn-sec{background:transparent;border:1.5px solid var(--primary);color:var(--primary)}
.btn-sec:hover{background:var(--primary);color:#fff}

/* ════════════════════════════════════════════
   1. HERO
   ════════════════════════════════════════════ */

/* ============================================
   Responsive nav rules
   ============================================ */

@media(max-width:1024px){
  .wm-full{display:none}
  .wm-short{display:inline}
  .nav-wordmark{font-size:1.25rem;letter-spacing:0.1em}
  .nav-link{padding:0 0.5rem;font-size:0.78rem}
}

@media(max-width:768px){
  nav{display:flex;align-items:center;padding:0.45rem 1.25rem;height:44px;box-sizing:border-box}
  .nav-divider{display:none}
  .nav-logo{grid-row:auto;grid-column:auto;padding:0 0.5rem 0 0;flex-shrink:0;display:flex;align-items:center;height:24px}
  .nav-logo-file{display:none!important}
  .nav-logo-inline{display:block!important;height:24px;width:auto}
  .nav-wordmark{display:none}
  .nav-actions,.nav-cta-wrap{display:none}
  .mob-find-nav{display:flex;align-items:center;gap:0.4rem;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.3);border-radius:6px;padding:0 0.75rem;font-family:'IBM Plex Mono',monospace;font-size:0.6rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:#fff;cursor:pointer;margin:0 auto;height:24px;line-height:24px;box-sizing:border-box;transition:all 0.2s;flex-shrink:1}
  .mob-find-nav:active{background:rgba(255,255,255,0.25)}
  .mob-find-nav svg{width:11px;height:11px;stroke:#fff;flex-shrink:0}
  .hamburger{display:flex;flex-direction:column;margin-left:0;justify-content:space-between;padding:2px 0;flex-shrink:0;height:24px}
  .hamburger span{width:20px;height:1.5px}
  .nav-links{display:none;flex-direction:row}
  .nav-dropdown{display:none!important}
  .nav-links .nav-item{position:static}
  .mob-menu{display:none;position:fixed;top:var(--nav-h,46px);left:0;right:0;bottom:0;z-index:200;flex-direction:column}
  .mob-menu.mob-open{display:flex}
  .mob-menu-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.35)}
  .mob-cards{display:none;position:relative;z-index:1;background:var(--cream);padding:0.75rem 1rem;overflow-y:auto;max-height:40vh;flex-shrink:0}
  .mob-cards.mob-cards-open{display:block}
  .mob-cards .nav-dropdown-card{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;padding:0;min-width:0;background:transparent;box-shadow:none;border-radius:0}
  .mob-cards .nav-dropdown-card.dd-list{grid-template-columns:1fr;gap:0}
  .mob-cards .dd-item-panel{height:50px;border-radius:6px}
  .mob-cards .dd-item-panel-label{font-size:0.65rem}
  .mob-cards .dd-list-item{padding:0.65rem 0.5rem;border-radius:6px}
  .mob-cards .dd-list-item-text{color:var(--stone-800);font-size:0.82rem}
  .mob-cards .dd-list-item:hover{background:rgba(0,0,0,0.05)}
}


/* ============================================
   Mobile-only nav elements (hidden by default on desktop)
   Imported from index.html lines 180+
   ============================================ */
.mob-h1{display:none}
.mob-find-btn{display:none}
.mob-find-nav{display:none}
.mob-menu{display:none;position:fixed;top:var(--nav-h,46px);left:0;right:0;bottom:0;z-index:200;flex-direction:column}
.mob-menu.mob-open{display:flex}
.mob-menu-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.35)}
.mob-nav-bar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-around;background:rgba(2,55,61,0.97);backdrop-filter:blur(12px);padding:0.75rem 1rem;border-bottom:1px solid rgba(255,255,255,0.08)}
.mob-nav-btn{background:none;border:none;font-family:IBM Plex Mono,monospace;font-size:0.68rem;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,255,255,0.7);cursor:pointer;padding:0.35rem 0.25rem;transition:color 0.2s;white-space:nowrap}
.mob-nav-btn.mob-active{color:var(--gold)}
.mob-cards{display:none;position:relative;z-index:1;background:var(--cream);padding:0.75rem 1rem;overflow-y:auto;max-height:40vh;flex-shrink:0}
.mob-cards.mob-cards-open{display:block}
.mob-cards .nav-dropdown-card{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;padding:0;min-width:0;background:transparent;box-shadow:none;border-radius:0}
.mob-cards .nav-dropdown-card.dd-list{grid-template-columns:1fr;gap:0}
.mob-cards .dd-item-panel{height:50px;border-radius:6px}
.mob-cards .dd-item-panel-label{font-size:0.65rem}
.mob-cards .dd-list-item{padding:0.65rem 0.5rem;border-radius:6px}
.mob-cards .dd-list-item-text{color:var(--stone-800);font-size:0.82rem}
.mob-cards .dd-list-item:hover{background:rgba(0,0,0,0.05)}
.mob-search-overlay{display:none}
