/* ============================================================
   AA LUXE THEME — "Ship's Log" design system
   Antarctic Adventures — shared stylesheet for all pages.
   Concept: navigational chart / brass instrument aesthetic.
   Palette:
     --ink-deep    #081620  primary background (polar night navy)
     --ink-mid     #0F2637  panel / card background
     --ink-soft    #16334A  hover / raised surface
     --ice         #EAF2F4  primary text on dark
     --ice-dim     #93AEBB  secondary / muted text
     --brass       #C9A15F  luxury accent — compass, dividers, CTAs
     --brass-soft  #8C7245  hairlines, disabled brass
     --glacier     #6FB3D2  links, active states, cool accent
   Type:
     Display  — 'Fraunces' (italic used for emphasis)
     Body     — 'Work Sans'
     Label/mono — 'Space Mono' (coordinates, eyebrows, data)
   ============================================================ */

:root{
  --ink-deep:#081620;
  --ink-mid:#0F2637;
  --ink-soft:#16334A;
  --ice:#EAF2F4;
  --ice-dim:#93AEBB;
  --brass:#C9A15F;
  --brass-soft:#8C7245;
  --glacier:#6FB3D2;
  --border-hair: rgba(201,161,95,0.22);
  --shadow-deep: 0 30px 60px -25px rgba(0,0,0,0.65);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ink-deep);
  color:var(--ice);
  font-family:'Work Sans', sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5{
  font-family:'Fraunces', serif;
  font-weight:600;
  letter-spacing:-0.01em;
  margin:0;
  color:var(--ice);
}
p{line-height:1.7; color:var(--ice-dim); margin:0;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.eyebrow{
  font-family:'Space Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--brass);
}
.container{max-width:1240px;}

/* ===================== TOPBAR ===================== */
#topbar{
  background:#04101A;
  border-bottom:1px solid var(--border-hair);
  padding:9px 0;
  font-family:'Space Mono', monospace;
  font-size:0.74rem;
  letter-spacing:0.02em;
  color:var(--ice-dim);
}
#topbar a{color:var(--ice-dim); transition:color .25s;}
#topbar a:hover{color:var(--brass);}
#topbar i{font-style:normal;}
#topbar .bi{margin-right:6px; color:var(--brass);}
.social-links span a{
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; margin-left:8px;
  border:1px solid var(--border-hair); border-radius:50%;
  color:var(--ice-dim); font-size:0.8rem; transition:all .25s;
}
.social-links span a:hover{ border-color:var(--brass); color:var(--brass); transform:translateY(-2px); }
#google_translate_element{ list-style:none; background:transparent !important; border:1px solid var(--border-hair) !important; color:var(--ice-dim); border-radius:20px; padding:3px 12px !important; font-size:0.7rem; }

/* ===================== HEADER / NAV ===================== */
header#header{
  position:sticky; top:0; z-index:998;
  background:rgba(8,22,32,0.86);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border-hair);
  padding:14px 0;
}
header#header .container{ display:flex; align-items:center; justify-content:space-between; }
header#header img{ height:54px; width:auto; }
#navbar{ margin-left:auto; }
#navbar > ul{ display:flex; align-items:center; gap:6px; list-style:none; margin:0; padding:0; }
#navbar > ul > li > a{
  display:flex; align-items:center; gap:4px;
  padding:10px 14px; font-size:0.86rem; font-weight:500;
  letter-spacing:0.02em; color:var(--ice-dim); border-radius:4px;
  transition:color .25s;
}
#navbar > ul > li > a span{ pointer-events:none; }
#navbar > ul > li > a:hover, #navbar > ul > li > a.active{ color:var(--brass); }
#navbar .dropdown{ position:relative; }
#navbar .dropdown > ul{
  position:absolute; top:calc(100% + 14px); left:0; min-width:220px;
  background:var(--ink-mid); border:1px solid var(--border-hair);
  border-radius:8px; padding:10px; list-style:none; margin:0;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:all .25s ease; box-shadow:var(--shadow-deep); z-index:50;
}
#navbar .dropdown:hover > ul{ opacity:1; visibility:visible; transform:translateY(0); }
#navbar .dropdown ul li{ position:relative; }
#navbar .dropdown ul li a{
  display:flex; justify-content:space-between; align-items:center;
  padding:8px 12px; font-size:0.82rem; color:var(--ice-dim); border-radius:5px;
}
#navbar .dropdown ul li a:hover{ background:var(--ink-soft); color:var(--brass); }
#navbar .dropdown .dropdown ul{ top:-10px; left:calc(100% + 10px); }
.mobile-nav-toggle{ display:none; font-size:1.6rem; color:var(--ice); cursor:pointer; }

@media (max-width:1180px){
  #navbar{ position:fixed; inset:0 0 0 30%; background:rgba(6,16,24,0.98); backdrop-filter:blur(10px);
    display:none; flex-direction:column; padding:90px 24px 24px; z-index:999; }
  #navbar.nav-open{ display:flex; }
  #navbar > ul{ flex-direction:column; align-items:flex-start; width:100%; gap:0; overflow-y:auto; }
  #navbar .dropdown > ul{ position:static; opacity:1; visibility:visible; transform:none; display:none; width:100%; box-shadow:none; margin-top:4px;}
  #navbar .dropdown.open > ul{ display:block; }
  #navbar .dropdown .dropdown ul{ position:static; }
  .mobile-nav-toggle{ display:block; position:fixed; top:22px; right:24px; z-index:1000; }
}

/* ===================== HOME HERO (index.html) ===================== */
#cta.cta{ position:relative; padding:0; }
.hero-shell{ position:relative; height:88vh; min-height:560px; overflow:hidden; }
.hero-shell .carousel, .hero-shell .carousel-inner, .hero-shell .carousel-item{ height:100%; }
.hero-shell .carousel-item img{ height:100%; width:100%; object-fit:cover; }
.hero-shell::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,16,24,0.55) 0%, rgba(6,16,24,0.35) 40%, rgba(6,16,24,0.92) 100%);
  pointer-events:none;
}
.hero-copy{
  position:absolute; z-index:5; left:0; right:0; bottom:9%;
  padding:0 24px; text-align:center;
}
.hero-copy .eyebrow{ display:block; margin-bottom:16px; }
.hero-copy h1{
  font-size:clamp(2.6rem, 6vw, 5rem); font-style:italic; font-weight:500;
  color:var(--ice); line-height:1.05; max-width:900px; margin:0 auto;
}
.hero-copy h1 strong{ font-style:normal; font-weight:700; color:var(--brass); }
.hero-copy p.sub{ max-width:560px; margin:20px auto 0; color:var(--ice-dim); font-size:1.02rem; }
.hero-btns{ display:flex; gap:14px; justify-content:center; margin-top:34px; flex-wrap:wrap; }
.btn-brass{
  font-family:'Space Mono', monospace; font-size:0.76rem; letter-spacing:0.12em; text-transform:uppercase;
  padding:14px 28px; border-radius:2px; border:1px solid var(--brass); color:var(--ink-deep);
  background:var(--brass); transition:all .3s; display:inline-flex; align-items:center; gap:8px; cursor:pointer;
}
.btn-brass:hover{ background:transparent; color:var(--brass); }
.btn-ghost{
  font-family:'Space Mono', monospace; font-size:0.76rem; letter-spacing:0.12em; text-transform:uppercase;
  padding:14px 28px; border-radius:2px; border:1px solid var(--border-hair); color:var(--ice);
  background:transparent; transition:all .3s;
}
.btn-ghost:hover{ border-color:var(--ice); }
.hero-shell .carousel-indicators{ bottom:auto; top:26px; }
.hero-shell .carousel-indicators button{
  width:22px !important; height:2px !important; background:rgba(255,255,255,0.4) !important;
  opacity:1 !important; border:0 !important; margin:0 4px !important;
}
.hero-shell .carousel-indicators button.active{ background:var(--brass) !important; }
.hero-shell .carousel-caption{ display:none !important; }
.hero-shell .carousel-control-prev, .hero-shell .carousel-control-next{ width:6%; opacity:.6; }
body > h1[align="center"]{ display:none; }

/* ===================== INTERIOR PAGE HERO ===================== */
.page-hero{
  position:relative; height:44vh; min-height:340px; overflow:hidden;
  display:flex; align-items:flex-end;
}
.page-hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,16,24,0.35) 0%, rgba(6,16,24,0.55) 55%, rgba(6,16,24,0.96) 100%);
}
.page-hero .page-hero-copy{ position:relative; z-index:2; width:100%; padding:0 0 34px; text-align:center; }
.page-hero .page-hero-copy .eyebrow{ display:block; margin-bottom:12px; }
.page-hero h1{
  font-size:clamp(2rem, 4.4vw, 3.4rem); font-style:italic; font-weight:500; line-height:1.08;
}
.page-hero h1 strong{ font-style:normal; font-weight:700; color:var(--brass); }
.page-hero .sub{ max-width:640px; margin:14px auto 0; }
.breadcrumb{
  font-family:'Space Mono', monospace; font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--ice-dim); margin-bottom:14px;
}
.breadcrumb a{ color:var(--ice-dim); transition:color .2s; }
.breadcrumb a:hover{ color:var(--brass); }
.breadcrumb .sep{ margin:0 8px; color:var(--brass-soft); }

/* ===================== STATS STRIP ===================== */
.stats-strip{ background:var(--ink-mid); border-top:1px solid var(--border-hair); border-bottom:1px solid var(--border-hair); padding:36px 0; }
.stats-strip .row{ text-align:center; }
.stat-item{ padding:10px 8px; border-right:1px solid var(--border-hair); }
.stat-item:last-child{ border-right:0; }
.stat-item .num{ font-family:'Fraunces', serif; font-weight:700; font-size:2.4rem; color:var(--brass); font-style:italic; }
.stat-item .lbl{ font-family:'Space Mono', monospace; font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--ice-dim); margin-top:4px; }
@media (max-width:767px){ .stat-item{ border-right:0; border-bottom:1px solid var(--border-hair); margin-bottom:18px; padding-bottom:18px;} .stat-item:last-child{border-bottom:0;margin-bottom:0;} }

/* ===================== CTA2 (guide banner) ===================== */
#cta2.cta{ padding:70px 0; text-align:center; background:var(--ink-deep); }
#cta2 h2{ font-size:clamp(1.5rem,3vw,2.1rem); font-weight:400; line-height:1.5; max-width:820px; margin:0 auto; }
#cta2 h2 strong{ font-style:italic; color:var(--brass); font-weight:600; }
#cta2 .btn-brass{ margin-top:28px; }

/* ===================== EXPLORER (signature section, index.html) ===================== */
#explorer{
  position:relative; padding:100px 0 110px; overflow:hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(201,161,95,0.05), transparent 40%),
    radial-gradient(circle at 85% 80%, rgba(111,179,210,0.06), transparent 40%),
    var(--ink-deep);
}
#explorer .compass-mark{ position:absolute; top:60px; right:-60px; width:340px; height:340px; opacity:0.06; pointer-events:none; }
.section-head{ text-align:center; max-width:680px; margin:0 auto 50px; }
.section-head h2{ font-size:clamp(2rem,4vw,2.9rem); font-style:italic; margin-top:14px; }
.section-head h2 strong{ font-style:normal; color:var(--brass); font-weight:700; }
.section-head p{ margin-top:16px; }

.tab-pills{ display:flex; justify-content:center; gap:10px; margin-bottom:20px; flex-wrap:wrap; }
.tab-pill{
  font-family:'Space Mono', monospace; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase;
  padding:11px 22px; border:1px solid var(--border-hair); border-radius:30px; color:var(--ice-dim);
  background:transparent; cursor:pointer; transition:all .25s;
}
.tab-pill:hover{ border-color:var(--brass); color:var(--ice); }
.tab-pill.active{ background:var(--brass); border-color:var(--brass); color:var(--ink-deep); font-weight:700; }

.sub-pills{ display:flex; justify-content:center; gap:8px; margin:6px 0 44px; flex-wrap:wrap; }
.sub-pill{
  font-family:'Space Mono', monospace; font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase;
  padding:7px 16px; border:1px solid transparent; border-bottom:1px solid var(--border-hair);
  color:var(--ice-dim); background:transparent; cursor:pointer; transition:all .2s;
}
.sub-pill:hover{ color:var(--glacier); }
.sub-pill.active{ color:var(--brass); border-bottom-color:var(--brass); }

.explorer-panel{ display:none; }
.explorer-panel.active{ display:block; animation:fadeUp .5s ease; }
@keyframes fadeUp{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }

/* ===================== CARD GRID (shared) ===================== */
.card-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:26px; }
@media (max-width:991px){ .card-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:600px){ .card-grid{ grid-template-columns:1fr; } }

.aa-card{
  position:relative; border-radius:10px; overflow:hidden; background:var(--ink-mid);
  border:1px solid var(--border-hair); transition:transform .35s, border-color .35s, box-shadow .35s;
}
.aa-card:hover{ transform:translateY(-6px); border-color:var(--brass); box-shadow:var(--shadow-deep); }
.aa-card .thumb{ position:relative; height:230px; overflow:hidden; }
.aa-card .thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.aa-card:hover .thumb img{ transform:scale(1.08); }
.aa-card .thumb::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,22,32,0) 40%, rgba(8,22,32,0.92) 100%); }
.aa-card .thumb .coord{ position:absolute; left:14px; bottom:12px; z-index:2; font-family:'Space Mono', monospace; font-size:0.68rem; letter-spacing:0.08em; color:var(--brass); }
.aa-card .body{ padding:22px 22px 24px; }
.aa-card .body h3, .aa-card .body h4{ font-size:1.22rem; font-weight:600; margin-bottom:10px; }
.aa-card .body p{ font-size:0.9rem; margin-bottom:14px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.aa-card .more{ font-family:'Space Mono', monospace; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--glacier); display:inline-flex; align-items:center; gap:6px; }
.aa-card .more i{ transition:transform .25s; }
.aa-card:hover .more i{ transform:translateX(4px); }
.aa-card .tag{ position:absolute; top:14px; right:14px; z-index:2; font-family:'Space Mono', monospace; font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase; padding:5px 10px; border-radius:20px; background:rgba(8,22,32,0.75); border:1px solid var(--border-hair); color:var(--ice-dim); }
.ship-card .thumb{ height:190px; }
.ship-card .body{ padding:16px 18px 18px; text-align:center; }
.ship-card .body h4{ font-size:1.02rem; margin-bottom:6px; }
.ship-card .body .eyebrow{ font-size:0.62rem; }

/* ===================== ARTICLE / DETAIL PAGES ===================== */
.article-section{ padding:80px 0; }
.article-section .container.narrow{ max-width:860px; margin:0 auto; }
.article-lede{ font-size:1.08rem; color:var(--ice-dim); margin-bottom:10px; }
.article-block{ margin-bottom:44px; }
.article-block h2{ font-size:1.7rem; font-style:italic; margin-bottom:16px; }
.article-block h2 strong{ font-style:normal; color:var(--brass); font-weight:700; }
.article-block p{ margin-bottom:14px; font-size:0.98rem; }
.article-block p strong{ color:var(--ice); font-weight:600; }
.article-hero-img{ border-radius:10px; overflow:hidden; margin-bottom:56px; border:1px solid var(--border-hair); }
.article-hero-img img{ width:100%; height:auto; display:block; }

/* Packing / checklist grid */
.check-list{ list-style:none; margin:18px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; }
@media (max-width:600px){ .check-list{ grid-template-columns:1fr; } }
.check-list li{ display:flex; align-items:flex-start; gap:10px; font-size:0.94rem; color:var(--ice-dim); padding-bottom:8px; border-bottom:1px dashed var(--border-hair); }
.check-list li::before{ content:"—"; color:var(--brass); font-family:'Space Mono', monospace; flex-shrink:0; }
.note-box{ border:1px solid var(--border-hair); border-left:3px solid var(--brass); background:var(--ink-mid); border-radius:6px; padding:20px 24px; margin-top:10px; }
.note-box p{ font-size:0.9rem; }

/* Day-by-day itinerary "ship's log" timeline */
.log-timeline{ position:relative; padding-left:64px; }
.log-timeline::before{ content:""; position:absolute; left:23px; top:6px; bottom:6px; width:1px; background:var(--border-hair); }
.log-day{ position:relative; margin-bottom:38px; }
.log-day:last-child{ margin-bottom:0; }
.log-day .log-badge{
  position:absolute; left:-64px; top:0; width:48px; height:48px; border-radius:50%;
  border:1px solid var(--brass); display:flex; align-items:center; justify-content:center;
  font-family:'Space Mono', monospace; font-size:0.72rem; color:var(--brass); background:var(--ink-deep);
}
.log-day h3{ font-size:1.12rem; margin-bottom:8px; }
.log-day p{ font-size:0.94rem; }
.itinerary-note{ font-family:'Space Mono', monospace; font-size:0.78rem; color:var(--ice-dim); border:1px solid var(--border-hair); border-radius:6px; padding:14px 18px; margin-bottom:36px; background:var(--ink-mid); }

/* Icon box grid (about.html) */
.icon-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; margin-top:30px; }
@media (max-width:767px){ .icon-grid{ grid-template-columns:1fr; } }
.icon-box{
  border:1px solid var(--border-hair); border-radius:10px; padding:26px 24px; background:var(--ink-mid);
  transition:border-color .3s, transform .3s;
}
.icon-box:hover{ border-color:var(--brass); transform:translateY(-4px); }
.icon-box i{ font-size:1.9rem; color:var(--brass); margin-bottom:12px; display:block; }
.icon-box h3{ font-size:1.1rem; margin-bottom:8px; }
.icon-box p{ font-size:0.88rem; }
.about-lead{ max-width:620px; }
.about-lead h2{ font-size:2.2rem; font-style:italic; margin-bottom:16px; }
.about-lead h2 strong{ font-style:normal; color:var(--brass); font-weight:700; }
.about-photo{ border-radius:10px; overflow:hidden; border:1px solid var(--border-hair); height:100%; min-height:320px; }
.about-photo img{ width:100%; height:100%; object-fit:cover; }

/* Partner logos (about.html) */
.partners-section{ padding:90px 0 100px; background:var(--ink-mid); border-top:1px solid var(--border-hair); }
.partner-tile{
  display:flex; align-items:center; justify-content:center; height:96px; padding:16px;
  background:var(--ice); border-radius:8px; filter:grayscale(1) opacity(0.75);
  transition:filter .3s, transform .3s;
}
.partner-tile:hover{ filter:grayscale(0) opacity(1); transform:translateY(-3px); }
.partner-tile img{ max-height:56px; width:auto; object-fit:contain; }
.partners-grid{ display:grid; grid-template-columns:repeat(6, 1fr); gap:16px; margin-top:10px; }
@media (max-width:991px){ .partners-grid{ grid-template-columns:repeat(4, 1fr); } }
@media (max-width:600px){ .partners-grid{ grid-template-columns:repeat(3, 1fr); } }

/* ===================== FOOTER ===================== */
footer#footer{ background:#04101A; border-top:1px solid var(--border-hair); padding-top:60px; color:var(--ice-dim); }
footer#footer h4{ font-size:1.05rem; color:var(--ice); margin-bottom:18px; font-style:italic; }
footer#footer p{ font-size:0.88rem; }
footer#footer ul{ list-style:none; padding:0; margin:0; }
footer#footer ul li{ margin-bottom:10px; font-size:0.88rem; }
footer#footer ul li i{ color:var(--brass); margin-right:8px; }
footer#footer ul li a{ color:var(--ice-dim); transition:color .25s; }
footer#footer ul li a:hover{ color:var(--brass); }
.footer-top{ padding-bottom:20px; border-bottom:1px solid var(--border-hair); }
.copyright{ font-family:'Space Mono', monospace; font-size:0.72rem; color:var(--ice-dim); }
.credits{ font-size:0.76rem; color:var(--brass-soft); margin-top:4px; }
footer .social-links{ display:flex; gap:8px; }
.back-to-top{
  position:fixed; right:22px; bottom:22px; width:44px; height:44px; border-radius:50%;
  background:var(--brass); color:var(--ink-deep); display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; opacity:0; visibility:hidden; transition:all .3s; z-index:997;
}
.back-to-top.show{ opacity:1; visibility:visible; }

/* CTA button used inline (e.g. "Request a Quote" wrapped around bootstrap btn) */
.btn.btn-primary{
  font-family:'Space Mono', monospace; font-size:0.76rem; letter-spacing:0.12em; text-transform:uppercase;
  padding:14px 28px; border-radius:2px; border:1px solid var(--brass); color:var(--ink-deep) !important;
  background:var(--brass); transition:all .3s;
}
.btn.btn-primary:hover{ background:transparent; color:var(--brass) !important; }
.btn.btn-primary a{ color:inherit !important; }
.cta-btn-container{ margin-top:20px; }
