:root{
  --blue:#2E3A8C;
  --blue-700:#1f2863;
  --orange:#FF7A00;

  --bg:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --subtle:#64748b;

  --line:rgba(15,23,42,.10);
  --soft:rgba(15,23,42,.06);

  --radius:12px;
  --container:1140px;

  --font-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-serif: "Montserrat", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-sans);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--container), 92%); margin:auto}

/* Header */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 0;
}
.brand{display:flex; align-items:center; gap:14px; min-width:260px}
.brand img{height:156px; width:auto} /* 50% bigger */
.brand .wordmark{font-size:19px; font-weight:700; letter-spacing:.02em}
nav.primary{display:flex; align-items:center; gap:18px}
nav.primary a{
  font-weight:650; color:var(--text); opacity:.92;
  padding:10px 8px; border-radius:10px;
}
nav.primary a:hover{opacity:1; color:var(--blue)}
nav.primary a.active{color:var(--blue); position:relative}
nav.primary a.active::after{content:""; position:absolute; left:8px; right:8px; bottom:6px; height:2px; background:rgba(46,58,140,.25); border-radius:2px}

.cta{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  background:var(--blue);
  color:white;
  font-weight:750;
  border:1px solid rgba(46,58,140,.18);
}
.cta:hover{background:var(--blue-700)}
.hamburger{
  display:none; width:44px; height:44px;
  border-radius:12px; border:1px solid var(--line);
  background:white;
  align-items:center; justify-content:center;
}
.hamburger span{width:20px; height:2px; background:var(--text); position:relative; display:block}
.hamburger span::before,.hamburger span::after{content:""; position:absolute; left:0; width:100%; height:2px; background:var(--text)}
.hamburger span::before{top:-6px} .hamburger span::after{top:6px}
.mobile-menu{display:none; border-top:1px solid var(--line); background:white}
.mobile-menu a{display:block; padding:14px 0; border-bottom:1px solid var(--soft); font-weight:650}

@media (max-width: 900px){
  nav.primary{display:none}
  .hamburger{display:flex}
  .mobile-menu .container{padding:8px 0 14px}
}

/* Editorial type scale */
.kicker{
  display:inline-block;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--orange);
  font-weight:800;
}
h1,h2,h3{
  font-family:var(--font-serif);
  letter-spacing:-.01em;
  font-weight:650;
  margin:0;
}
h1{font-size:clamp(36px, 5vw, 56px); line-height:1.08}
h2{font-size:clamp(26px, 3vw, 34px); line-height:1.18}
h3{font-size:18px; line-height:1.25}
.lede{font-size:clamp(16px, 2.1vw, 19px); color:var(--muted); max-width:70ch}
.muted{color:var(--muted)}
.subtle{color:var(--subtle)}

/* Sections + dividers */
section{padding:86px 0}
.divider{border-top:1px solid var(--line)}
.section-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:18px;
  padding-bottom:18px; margin-bottom:26px;
  border-bottom:1px solid var(--line);
}
.section-head .right{display:flex; gap:10px; align-items:center}
.btn-ghost{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:999px;
  border:1px solid var(--line);
  color:var(--text);
  font-weight:700;
  background:white;
}
.btn-ghost:hover{border-color:rgba(46,58,140,.28); color:var(--blue)}
.btn-ghost:focus-visible,.cta:focus-visible,.hamburger:focus-visible{outline:3px solid rgba(46,58,140,.18); outline-offset:2px}

/* Hero */
.hero{
  padding:74px 0 72px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 70%),
    radial-gradient(900px 380px at 70% 20%, rgba(46,58,140,.10), transparent),
    url('/assets/hero.jpg') center/cover no-repeat;
}
.hero .grid{
  display:grid; grid-template-columns: 1.25fr .75fr; gap:28px; align-items:end;
}
.hero .panel{
  border-left:1px solid var(--line);
  padding-left:18px;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}
.hero .actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:20px}
.cta-outline{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 18px; border-radius:999px;
  border:1px solid rgba(46,58,140,.25);
  color:var(--blue);
  font-weight:800;
  background:rgba(46,58,140,.04);
}
.cta-outline:hover{background:rgba(46,58,140,.07)}
@media (max-width: 900px){
  .hero .grid{grid-template-columns:1fr}
  .hero .panel{border-left:none; border-top:1px solid var(--line); padding:16px 0 0}
}

/* Experiences rows */
.rows{display:grid; gap:0}
.row{
  display:grid;
  grid-template-columns: 160px 1fr auto;
  gap:18px;
  padding:18px 0;
  border-bottom:1px solid var(--line);
  align-items:center;
}
.row:last-child{border-bottom:none}
.thumb{
  width:160px; height:110px;
  border-radius:12px;
  background:#f1f5f9;
  object-fit:cover;
  border:1px solid var(--soft);
}
.meta{
  display:flex; gap:10px; flex-wrap:wrap; align-items:center;
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--subtle); font-weight:800;
}
.price{
  text-align:right;
  font-weight:900;
  color:var(--text);
  white-space:nowrap;
}
.price span{display:block; color:var(--subtle); font-weight:750; font-size:12px; letter-spacing:.14em; text-transform:uppercase}
@media (max-width: 760px){
  .row{grid-template-columns: 1fr; }
  .thumb{width:100%; height:190px}
  .price{text-align:left}
}

/* About */
.about{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:34px;
  align-items:start;
}
.about .note{
  border-left:1px solid var(--line);
  padding-left:18px;
  color:var(--muted);
}
.pill{
  display:inline-flex; align-items:center;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,122,0,.10);
  border:1px solid rgba(255,122,0,.28);
  color:#9a3412;
  font-size:12px; font-weight:900; letter-spacing:.16em; text-transform:uppercase;
}
.checklist{margin:18px 0 0; padding:0; list-style:none}
.checklist li{padding:10px 0; border-top:1px solid var(--soft)}
.checklist li:first-child{border-top:1px solid var(--line)}
@media (max-width: 900px){
  .about{grid-template-columns:1fr}
  .about .note{border-left:none; border-top:1px solid var(--line); padding:16px 0 0}
}

/* Stories */
.quotes{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.quote{
  padding-left:14px;
  border-left:2px solid rgba(46,58,140,.25);
  color:var(--text);
}
.quote p{margin:0; color:var(--text)}
.quote small{display:block; margin-top:10px; color:var(--muted); font-weight:700}
@media (max-width: 900px){ .quotes{grid-template-columns:1fr} }

/* Gallery */
.gallery{
  display:grid; gap:12px;
  grid-template-columns: 2fr 1fr 1fr;
  padding-top:8px;
}
.gallery img{
  border-radius:12px;
  height:100%;
  object-fit:cover;
  border:1px solid var(--soft);
}
.gallery .tall{grid-row: span 2}
@media (max-width: 900px){.gallery{grid-template-columns:1fr 1fr}.gallery .tall{grid-row:auto}}
@media (max-width: 560px){.gallery{grid-template-columns:1fr}}

/* Contact */
.contact-grid{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:34px;
  align-items:start;
}
.form-wrap{
  border-top:1px solid var(--line);
  padding-top:18px;
}
form{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:16px;
}
label{display:grid; gap:8px}
label span{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--subtle);
  font-weight:900;
}
input, textarea, select{
  background:white;
  color:var(--text);
  border:1px solid rgba(15,23,42,.16);
  border-radius:10px;
  padding:14px 14px;
  font: inherit;
  transition:border-color .15s ease, box-shadow .15s ease;
}
input::placeholder, textarea::placeholder{color:#94a3b8}
input:focus, textarea:focus, select:focus{
  outline:none;
  border-color:rgba(46,58,140,.55);
  box-shadow:0 0 0 3px rgba(46,58,140,.10);
}
textarea{min-height:140px; resize:vertical}
.full{grid-column:1 / -1}
.submit{
  margin-top:6px;
  grid-column:1 / -1;
  display:flex; align-items:center; justify-content:flex-start;
  gap:12px;
}
.submit .cta{padding:12px 20px}
.aside{
  border-left:1px solid var(--line);
  padding-left:18px;
  color:var(--muted);
}
.aside a{color:var(--blue); font-weight:800}
.aside a:hover{color:var(--blue-700)}
.contact-list{margin:14px 0 0; padding:0; list-style:none}
.contact-list li{padding:10px 0; border-top:1px solid var(--soft)}
.contact-list li:first-child{border-top:1px solid var(--line)}
@media (max-width: 900px){
  .contact-grid{grid-template-columns:1fr}
  .aside{border-left:none; border-top:1px solid var(--line); padding:16px 0 0}
  form{grid-template-columns:1fr}
}

/* Footer */
footer{
  padding:40px 0 60px;
  border-top:1px solid var(--line);
  color:var(--muted);
  background:white;
}
.foot{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap:22px;
  align-items:start;
}
.foot strong{color:var(--text)}
.foot a{color:var(--text); font-weight:650}
.foot a:hover{color:var(--blue)}
.foot ul{list-style:none; padding:0; margin:14px 0 0}
.foot li{padding:10px 0; border-top:1px solid var(--soft)}
.foot li:first-child{border-top:1px solid var(--line)}
.footer-brand img{height:120px; width:auto} /* 50% bigger */
@media (max-width: 900px){.foot{grid-template-columns:1fr}}

@media (max-width: 520px){
  .brand img{height:96px}
  .brand .wordmark{font-size:18px}
}
@media (max-width: 360px){
  .brand img{height:84px}
}

/* ================= HEADER REFINEMENTS ================= */

/* Make logo larger */
header .logo img{
  height: 64px;
  width: auto;
}

/* Fix Plan My Trip button color */
header .btn,
header .cta,
header .plan-trip{
  background-color: var(--blue);
  color: #ffffff !important;
}
