/* =========================================================
   THEME
========================================================= */

.lt-dmc--museum{

  --ink:#141414;
  --muted:#4a4a4a;
  --hint:#7a7a7a;
  --border:#e7e3da;
  --card:#fbfaf7;
  --surface:#ffffff;

  --shadow:
    0 18px 60px rgba(20,20,20,.08);

  --accent:#111111;
  --accentSoft:#f1efe8;

  --gold:#c1a45c;
  --blue:#00a7ff;
  --blue2:#2f6bff;

  background:

    radial-gradient(
      900px 420px at 20% -10%,
      rgba(193,164,92,.11),
      transparent 60%
    ),

    radial-gradient(
      900px 520px at 90% 0%,
      rgba(0,167,255,.055),
      transparent 55%
    ),

    #ffffff;

  padding:52px 0;

  color:var(--ink);

}


.lt-dmc--museum,
.lt-dmc--museum *{
  box-sizing:border-box;
}


.lt-dmc__wrap{

  width:min(
    1120px,
    calc(100% - 32px)
  );

  margin:0 auto;

}


/* =========================================================
   TOP NAV
========================================================= */

.lt-dmc__nav{

  width:min(
    1120px,
    calc(100% - 32px)
  );

  margin:0 auto 18px;

  display:flex;

  justify-content:center;

  gap:10px;

  flex-wrap:wrap;

}


.chip{

  display:inline-flex;

  align-items:center;

  justify-content:center;

  min-height:42px;

  padding:11px 18px;

  border-radius:999px;

  border:
    1px solid var(--border);

  background:
    rgba(255,255,255,.95);

  text-decoration:none;

  color:#1a1a1a;

  font-weight:800;

  letter-spacing:-0.01em;

  transition:
    transform .14s ease,
    background .14s ease,
    border-color .14s ease,
    box-shadow .14s ease;

  font-family:
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Inter,
    Arial,
    sans-serif;

}


.chip:hover{

  transform:
    translateY(-1px);

  border-color:#d8d3c8;

  background:#ffffff;

  box-shadow:
    0 7px 18px rgba(20,20,20,.06);

}


.chip--link{
  opacity:.9;
}


.chip--back{

  color:#1d62c8;

  border-color:
    rgba(47,107,255,.20);

  background:
    rgba(47,107,255,.05);

}


/* =========================================================
   HERO
========================================================= */

.lt-hero{

  position:relative;

  overflow:hidden;

  padding:
    clamp(26px,4vw,46px);

  border:
    1px solid var(--border);

  border-radius:26px;

  background:

    radial-gradient(
      600px 300px at 100% 0,
      rgba(0,167,255,.08),
      transparent 65%
    ),

    linear-gradient(
      180deg,
      rgba(255,255,255,.98),
      rgba(255,255,255,.89)
    );

  box-shadow:
    0 22px 70px rgba(20,20,20,.09);

  margin-bottom:18px;

}


.lt-hero-glow{

  position:absolute;

  width:310px;

  height:310px;

  right:-140px;

  top:-150px;

  border-radius:50%;

  border:
    1px solid
    rgba(193,164,92,.12);

  box-shadow:

    0 0 0 45px
    rgba(193,164,92,.025),

    0 0 0 90px
    rgba(193,164,92,.015);

  pointer-events:none;

}


.kicker{

  position:relative;

  z-index:2;

  display:inline-flex;

  align-items:center;

  gap:10px;

  padding:7px 11px;

  border-radius:999px;

  border:
    1px solid var(--border);

  background:
    var(--card);

  color:
    var(--hint);

  font-size:12px;

  letter-spacing:.08em;

  text-transform:uppercase;

  margin-bottom:14px;

  font-family:
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Inter,
    Arial,
    sans-serif;

}


.kicker:before{

  content:"";

  width:7px;

  height:7px;

  border-radius:50%;

  background:
    var(--gold);

  box-shadow:
    0 0 0 6px
    rgba(193,164,92,.14);

}


.lt-dmc--museum h1{

  position:relative;

  z-index:2;

  font-size:
    clamp(30px,4vw,48px);

  line-height:1.08;

  letter-spacing:-0.035em;

  margin:0 0 14px;

  font-weight:800;

  font-family:
    ui-serif,
    "Iowan Old Style",
    "Palatino Linotype",
    Palatino,
    Georgia,
    serif;

}


.lt-dmc--museum h2{

  font-size:
    clamp(23px,2.5vw,31px);

  line-height:1.2;

  letter-spacing:-0.02em;

  margin:0 0 10px;

  font-weight:800;

  font-family:
    ui-serif,
    Georgia,
    serif;

}


.lt-dmc--museum h3{

  font-size:18px;

  margin:0 0 12px;

  font-weight:900;

  letter-spacing:-0.01em;

  font-family:
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Inter,
    Arial,
    sans-serif;

}


.lead{

  position:relative;

  z-index:2;

  font-size:18px;

  max-width:90ch;

  color:#2a2a2a;

  margin:0;

  line-height:1.7;

  font-family:
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Inter,
    Arial,
    sans-serif;

}


.lead--sm{

  font-size:16px;

  max-width:95ch;

  color:#3a3a3a;

}


/* =========================================================
   HERO ACTIONS
========================================================= */

.hero-actions{

  position:relative;

  z-index:2;

  display:flex;

  gap:10px;

  flex-wrap:wrap;

  margin-top:20px;

}


.hero-badges{

  position:relative;

  z-index:2;

  display:flex;

  flex-wrap:wrap;

  gap:10px;

  margin-top:17px;

}


.badge{

  padding:9px 12px;

  border-radius:999px;

  border:
    1px solid var(--border);

  background:#ffffff;

  color:#111111;

  font-weight:800;

  font-size:13px;

  box-shadow:
    0 5px 15px rgba(20,20,20,.03);

  font-family:
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Inter,
    Arial,
    sans-serif;

}


.badge--support{

  color:#1462c7;

  border-color:
    rgba(0,167,255,.18);

  background:
    rgba(0,167,255,.055);

}


/* =========================================================
   B2B STRIP
========================================================= */

.lt-b2b-strip{

  display:flex;

  align-items:center;

  gap:18px;

  margin-bottom:18px;

  padding:20px 22px;

  border-radius:21px;

  color:#ffffff;

  background:

    radial-gradient(
      circle at 90% 0,
      rgba(0,184,255,.20),
      transparent 32%
    ),

    linear-gradient(
      135deg,
      #13202f,
      #1b3656
    );

  box-shadow:
    0 15px 35px rgba(19,32,47,.13);

}


.lt-b2b-icon{

  flex:0 0 54px;

  width:54px;

  height:54px;

  border-radius:16px;

  display:flex;

  align-items:center;

  justify-content:center;

  background:
    linear-gradient(
      135deg,
      var(--blue),
      var(--blue2)
    );

  box-shadow:
    0 10px 24px
    rgba(0,167,255,.28);

}


.lt-b2b-icon svg{

  width:28px;

  height:28px;

  fill:none;

  stroke:#ffffff;

  stroke-width:1.7;

  stroke-linecap:round;

  stroke-linejoin:round;

}


.lt-b2b-copy{

  flex:1 1 auto;

}


.lt-b2b-label{

  display:block;

  margin-bottom:4px;

  color:#7dd5ff;

  font-size:11px;

  font-weight:900;

  letter-spacing:.09em;

  text-transform:uppercase;

}


.lt-b2b-copy strong{

  display:block;

  font-size:19px;

  line-height:1.3;

  margin-bottom:3px;

}


.lt-b2b-copy p{

  margin:0;

  color:
    rgba(255,255,255,.77);

  font-size:14px;

  line-height:1.55;

}


.lt-b2b-action{

  flex:0 0 auto;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  min-height:46px;

  padding:12px 18px;

  border-radius:999px;

  color:#ffffff;

  text-decoration:none;

  font-size:14px;

  font-weight:900;

  white-space:nowrap;

  background:
    linear-gradient(
      135deg,
      var(--blue),
      var(--blue2)
    );

}


/* =========================================================
   SECTIONS
========================================================= */

.lt-section{

  padding:
    clamp(22px,3vw,40px);

  border:
    1px solid var(--border);

  border-radius:22px;

  background:

    linear-gradient(
      180deg,
      rgba(255,255,255,.97),
      rgba(255,255,255,.90)
    );

  box-shadow:
    var(--shadow);

}


.lt-section + .lt-section{
  margin-top:18px;
}


.lt-head{

  padding-bottom:18px;

  border-bottom:
    1px solid var(--border);

  margin-bottom:18px;

}


/* =========================================================
   GRID & CARDS
========================================================= */

.grid-3{

  display:grid;

  grid-template-columns:
    1.1fr .9fr 1fr;

  gap:16px;

  margin-top:18px;

}


.grid-2{

  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:16px;

  margin-top:16px;

}


.card{

  padding:20px;

  border-radius:18px;

  border:
    1px solid var(--border);

  background:
    var(--card);

}


.card--full{
  grid-column:1 / -1;
}


.card--hover{

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;

}


.card--hover:hover{

  transform:
    translateY(-3px);

  border-color:#d8d1c1;

  box-shadow:
    0 15px 34px
    rgba(20,20,20,.08);

}


.card-icon{

  width:42px;

  height:42px;

  margin-bottom:14px;

  border-radius:13px;

  display:flex;

  align-items:center;

  justify-content:center;

  background:#ffffff;

  border:
    1px solid var(--border);

  box-shadow:
    0 6px 16px
    rgba(20,20,20,.045);

}


.card-icon svg{

  width:22px;

  height:22px;

  stroke:
    var(--gold);

  fill:none;

  stroke-width:1.7;

  stroke-linecap:round;

  stroke-linejoin:round;

}


.card ul{

  margin:0;

  padding-left:18px;

  display:grid;

  gap:8px;

  color:#3a3a3a;

  line-height:1.65;

  font-family:
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Inter,
    Arial,
    sans-serif;

}


.card strong{
  color:#111111;
}


.text{

  margin:0;

  color:var(--muted);

  line-height:1.7;

  font-family:
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Inter,
    Arial,
    sans-serif;

}


/* =========================================================
   STATS
========================================================= */

.stats{

  display:flex;

  gap:12px;

  margin-top:14px;

  flex-wrap:wrap;

}


.stat{

  padding:12px 14px;

  border-radius:14px;

  background:#ffffff;

  border:
    1px solid var(--border);

  min-width:130px;

}


.stat strong{

  display:block;

  font-size:18px;

  color:#111111;

  margin-bottom:4px;

}


.stat span{

  font-size:13px;

  color:#666666;

}


/* =========================================================
   BUTTONS
========================================================= */

.actions{

  display:flex;

  gap:10px;

  flex-wrap:wrap;

  margin-top:18px;

}


.actions--tight{
  margin-top:12px;
}


.btn{

  display:inline-flex;

  align-items:center;

  justify-content:center;

  min-height:44px;

  padding:12px 16px;

  border-radius:14px;

  text-decoration:none;

  font-weight:900;

  letter-spacing:-0.01em;

  border:
    1px solid var(--border);

  transition:
    transform .14s ease,
    background .14s ease,
    border-color .14s ease,
    box-shadow .14s ease;

  font-family:
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Inter,
    Arial,
    sans-serif;

}


.btn:hover{

  transform:
    translateY(-1px);

  border-color:#d8d3c8;

  box-shadow:
    0 7px 18px rgba(20,20,20,.06);

}


.btn-primary{

  background:
    var(--accent);

  border-color:
    var(--accent);

  color:#ffffff;

}


.btn-primary:hover{

  background:#000000;

  border-color:#000000;

}


.btn-outline{

  background:#ffffff;

  color:#111111;

}


.btn-outline:hover{
  background:var(--accentSoft);
}


.btn-secondary{

  background:#ffffff;

  color:#111111;

  border-color:#d8d3c8;

}


/* =========================================================
   LINKS
========================================================= */

.link{

  color:#111111;

  text-decoration:none;

  border-bottom:
    1px dashed
    rgba(0,0,0,.35);

}


.link:hover{

  border-bottom-color:
    rgba(0,0,0,.65);

}


.phone-link{

  color:#111111;

  text-decoration:none;

  border-bottom:
    1px dashed
    rgba(0,0,0,.35);

  font-weight:900;

  font-size:20px;

}


.contact-email{
  margin-top:10px;
}


/* =========================================================
   ITINERARY
========================================================= */

.itinerary{

  display:grid;

  gap:16px;

}


.it-day,
.it-stay{

  position:relative;

  padding:22px;

  border-radius:18px;

  border:
    1px solid var(--border);

  background:
    var(--card);

}


.it-day{

  transition:
    transform .22s ease,
    box-shadow .22s ease;

}


.it-day:hover{

  transform:
    translateY(-2px);

  box-shadow:
    0 13px 30px
    rgba(20,20,20,.065);

}


.day-number,
.stay-label{

  display:inline-block;

  margin-bottom:10px;

  padding:6px 9px;

  border-radius:7px;

  color:#6f5c2f;

  background:
    rgba(193,164,92,.11);

  border:
    1px solid
    rgba(193,164,92,.20);

  font-size:11px;

  font-weight:900;

  letter-spacing:.08em;

  text-transform:uppercase;

}


.place-photo{

  margin:
    14px 0 0;

}


.place-photo img{

  display:block;

  width:100%;

  height:280px;

  object-fit:cover;

  border-radius:18px;

}


/* =========================================================
   HOTEL CARDS
========================================================= */

.lt-two-cards,
.lt-two-cards *{
  box-sizing:border-box;
}


.lt-two-cards{

  margin:16px 0 26px;

  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:14px;

}


.lt-rect-card{

  position:relative;

  display:block;

  height:210px;

  border-radius:18px;

  overflow:hidden;

  background:#000000;

  box-shadow:
    0 10px 26px
    rgba(0,0,0,.10);

  transition:
    transform .25s ease,
    box-shadow .25s ease;

}


.lt-rect-card:hover{

  transform:
    translateY(-3px);

  box-shadow:
    0 18px 44px
    rgba(0,0,0,.14);

}


.lt-rect-img,
.lt-rect-video{

  position:absolute;

  inset:0;

  width:100%;

  height:100%;

  object-fit:cover;

}


.lt-rect-card--video iframe{
  pointer-events:none;
}


.lt-rect-overlay{

  position:absolute;

  inset:0;

  background:

    linear-gradient(
      180deg,
      rgba(0,0,0,.08) 0%,
      rgba(0,0,0,.66) 100%
    );

}


.lt-rect-content{

  position:absolute;

  left:16px;

  right:16px;

  bottom:14px;

  color:#ffffff;

  z-index:2;

  text-shadow:
    0 2px 14px
    rgba(0,0,0,.45);

}


.lt-rect-kicker{

  font-size:12px;

  letter-spacing:.08em;

  text-transform:uppercase;

  opacity:.9;

  display:block;

  margin-bottom:6px;

}


.lt-rect-title{

  font-size:16px;

  font-weight:700;

  line-height:1.25;

}


/* =========================================================
   TOURS CTA
========================================================= */

.lt-tours-cta{

  display:flex;

  align-items:center;

  justify-content:
    space-between;

  gap:25px;

  margin-top:18px;

  padding:28px 30px;

  border-radius:23px;

  border:
    1px solid
    rgba(0,167,255,.15);

  background:

    radial-gradient(
      circle at 100% 0,
      rgba(0,167,255,.14),
      transparent 38%
    ),

    linear-gradient(
      135deg,
      #f8fcff,
      #eef7ff
    );

  box-shadow:
    0 15px 38px
    rgba(19,32,47,.07);

}


.lt-tours-small{

  display:block;

  color:#3171be;

  font-size:11px;

  font-weight:900;

  letter-spacing:.09em;

  text-transform:uppercase;

  margin-bottom:7px;

}


.lt-tours-cta h2{
  margin-bottom:8px;
}


.lt-tours-cta p{

  margin:0;

  color:#51606f;

  font-size:15px;

  line-height:1.65;

  max-width:720px;

}


.lt-tours-button{

  flex:0 0 auto;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  min-height:48px;

  padding:13px 21px;

  border-radius:999px;

  text-decoration:none;

  color:#ffffff;

  font-size:14px;

  font-weight:900;

  white-space:nowrap;

  background:

    linear-gradient(
      135deg,
      var(--blue),
      var(--blue2)
    );

  box-shadow:
    0 12px 27px
    rgba(0,167,255,.25);

  transition:
    transform .2s ease,
    box-shadow .2s ease;

}


.lt-tours-button:hover{

  transform:
    translateY(-2px);

  box-shadow:
    0 16px 32px
    rgba(0,167,255,.32);

}


/* =========================================================
   META
========================================================= */

.meta{

  display:block;

  font-size:12px;

  color:#777777;

  margin-bottom:6px;

}


.value{

  color:#111111;

  line-height:1.55;

}


/* =========================================================
   FOOTER
========================================================= */

.lt-footer{

  margin-top:18px;

  padding:18px 0 0;

}


.lt-footer__inner{

  display:flex;

  align-items:center;

  justify-content:
    space-between;

  gap:14px;

  padding:20px 22px;

  border-radius:20px;

  border:
    1px solid var(--border);

  background:#ffffff;

  box-shadow:
    0 10px 28px
    rgba(20,20,20,.045);

}


.muted{
  color:#666666;
}


/* =========================================================
   SMOOTH SCROLL
========================================================= */

html{
  scroll-behavior:smooth;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:980px){

  .grid-3{
    grid-template-columns:1fr;
  }

  .grid-2{
    grid-template-columns:1fr;
  }

  .lt-footer__inner{

    flex-direction:column;

    align-items:flex-start;

  }

  .lt-b2b-strip{

    align-items:flex-start;

    flex-wrap:wrap;

  }

  .lt-b2b-action{
    margin-left:72px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:768px){

  .lt-dmc--museum{
    padding:28px 0;
  }


  .lt-dmc__wrap,
  .lt-dmc__nav{

    width:min(
      calc(100% - 20px),
      1120px
    );

  }


  .lt-dmc__nav{

    justify-content:
      flex-start;

  }


  .chip{

    padding:
      10px 14px;

    font-size:13px;

  }


  .lt-hero,
  .lt-section{

    border-radius:19px;

  }


  .lead{
    font-size:16px;
  }


  .hero-actions .btn,
  .actions .btn{

    width:100%;

  }


  .lt-b2b-strip{

    display:block;

    padding:20px;

  }


  .lt-b2b-icon{

    margin-bottom:13px;

  }


  .lt-b2b-action{

    width:100%;

    margin:
      17px 0 0;

  }


  .place-photo img{
    height:220px;
  }


  .lt-two-cards{
    grid-template-columns:1fr;
  }


  .lt-rect-card{
    height:200px;
  }


  .lt-tours-cta{

    display:block;

    padding:24px 21px;

  }


  .lt-tours-button{

    width:100%;

    margin-top:19px;

    white-space:normal;

    text-align:center;

  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

  html{
    scroll-behavior:auto;
  }


  .btn,
  .chip,
  .lt-rect-card,
  .card--hover,
  .it-day,
  .lt-tours-button{

    transition:none;

  }


  .btn:hover,
  .chip:hover,
  .lt-rect-card:hover,
  .card--hover:hover,
  .it-day:hover,
  .lt-tours-button:hover{

    transform:none;

  }

}