:root{--ink:#15251d;--forest:#1e4935;--leaf:#397054;--sand:#f4ead8;--sun:#d99232;--paper:#fffdf9;--line:#d9d7cd;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:10;background:#fff;padding:.75rem}.site-header{height:92px;max-width:var(--max);margin:auto;padding:0 24px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}.brand img{width:64px;height:64px;object-fit:contain}.brand span{display:grid;line-height:1.2}.brand strong{font-family:Georgia,serif;font-size:1.35rem}.brand small{font-size:.75rem;color:#536158}.site-header nav{display:flex;gap:24px}.site-header nav a{text-decoration:none;font-weight:650}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--forest);color:#fff;text-decoration:none;font-weight:750;padding:13px 21px;box-shadow:0 8px 20px #173d2c22}.button:hover{background:var(--leaf)}.header-cta{padding:11px 17px}.menu-toggle{display:none}.hero{min-height:590px;background:var(--sand);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.hero-copy{padding:80px max(24px,calc((100vw - var(--max))/2));padding-right:7vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.73rem;font-weight:800;color:var(--leaf);margin:0 0 14px}.hero h1{font:700 clamp(2.6rem,5vw,5.2rem)/.98 Georgia,serif;margin:0 0 24px;letter-spacing:-.035em}.hero-copy>p:not(.eyebrow){font-size:1.16rem;max-width:620px}.hero-media{min-height:470px}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:18px}.text-link{font-weight:750;text-underline-offset:4px}.content{max-width:880px;margin:0 auto;padding:86px 24px}.content h2{font:700 clamp(2rem,4vw,3.1rem)/1.1 Georgia,serif;margin:2.5rem 0 1rem}.content h3{font:700 1.55rem/1.2 Georgia,serif}.content p,.content li{font-size:1.08rem}.content figure{margin:2.4rem 0}.content img{border-radius:18px}.content .wp-block-image{margin:2.5rem 0}.content a{color:var(--forest);text-decoration-thickness:2px;text-underline-offset:3px}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.card{border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;background:#fff;box-shadow:0 10px 35px #182c2010}.card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0}.card>div{padding:24px}.card h3{margin:.2rem 0 .7rem}.cta{background:var(--forest);color:#fff;text-align:center;padding:84px 24px}.cta .eyebrow{color:#e9bb77}.cta h2{font:700 clamp(2.2rem,4vw,4rem)/1.05 Georgia,serif;margin:0 auto 16px;max-width:720px}.cta p:not(.eyebrow){max-width:620px;margin:0 auto 28px;color:#e2e9e4}.button.light{background:#fff;color:var(--forest)}footer{max-width:var(--max);margin:auto;padding:65px 24px 28px;display:grid;grid-template-columns:1.25fr .7fr 1.2fr 1fr;gap:45px}footer ul{list-style:none;padding:0;margin:.8rem 0}footer li{margin:.35rem 0}footer a{text-underline-offset:3px}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;color:#66736b;font-size:.85rem}@media(max-width:820px){.site-header{height:78px}.brand small,.header-cta{display:none}.brand img{width:52px;height:52px}.menu-toggle{display:block;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:750}.site-header nav{display:none;position:absolute;z-index:5;top:78px;left:0;right:0;background:#fff;padding:22px 24px;box-shadow:0 18px 30px #0002;flex-direction:column}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:64px 24px}.hero-media{min-height:330px}.card-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}}@media(max-width:520px){.hero-actions{align-items:flex-start;flex-direction:column}.hero h1{font-size:2.65rem}.content{padding:58px 20px}footer{grid-template-columns:1fr}.copyright{grid-column:auto}}
.tripadvisor-link {
  margin: 1.25rem 0 2rem;
}

.tripadvisor-link img {
  display: block;
  width: min(100%, 24rem);
  height: auto;
}

/* ARTMOLE renovation: clearer brand, page rhythm, proof and tour presentation. */
.brand-mark {
  display: block;
  width: 58px;
  height: 52px;
  overflow: hidden;
}

.brand-mark img {
  width: 58px;
  height: 58px;
  object-fit: cover;
  object-position: top;
  transform: scale(1.14);
  transform-origin: top center;
}

.brand > strong {
  font-family: Georgia, serif;
  font-size: 1.35rem;
  line-height: 1;
}

.hero-without-media {
  min-height: 480px;
  grid-template-columns: 1fr;
}

.hero-without-media .hero-copy {
  width: min(100%, var(--max));
  margin: 0 auto;
  padding-right: max(24px, calc((100vw - var(--max)) / 2));
}

.content-home {
  max-width: none;
  padding: 0;
}

.home-section {
  padding: 92px max(24px, calc((100vw - var(--max)) / 2));
}

.section-heading {
  max-width: 720px;
  margin-bottom: 38px;
}

.section-heading h2,
.trust-panel h2 {
  margin: 0 0 16px;
  font: 700 clamp(2.15rem, 4vw, 3.35rem)/1.06 Georgia, serif;
  letter-spacing: -.02em;
}

.section-heading > p:last-child,
.trust-panel p {
  font-size: 1.08rem;
}

.benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.benefit-grid article {
  min-height: 185px;
  padding: 26px;
  border-radius: 18px;
  background: var(--sand);
}

.benefit-grid strong {
  display: block;
  margin-bottom: 10px;
  font: 700 1.3rem/1.15 Georgia, serif;
}

.benefit-grid p {
  margin: 0;
  font-size: .98rem;
}

.trust-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  align-items: center;
  gap: 64px;
  color: #fff;
  background: var(--forest);
}

.trust-panel .eyebrow {
  color: #f3cf98;
}

.trust-panel > div {
  max-width: 620px;
}

.trust-panel .text-link {
  display: inline-block;
  margin-top: 10px;
  color: #fff;
}

.tripadvisor-mark {
  display: flex;
  min-height: 190px;
  align-items: center;
  justify-content: center;
  padding: 34px;
  border-radius: 22px;
  background: #fff;
}

.tripadvisor-mark img {
  width: 100%;
  max-width: 330px;
  border-radius: 0;
}

.featured-tours {
  background: var(--sand);
}

.home-tour-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.home-tour-card {
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 32px #173d2c12;
  transition: transform .2s ease, box-shadow .2s ease;
}

.home-tour-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px #173d2c20;
}

.home-tour-card > a {
  display: block;
  color: var(--ink);
  text-decoration: none;
}

.home-tour-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0;
}

.home-tour-card > a > span {
  display: flex;
  min-height: 245px;
  flex-direction: column;
  padding: 24px;
}

.home-tour-card strong {
  font: 700 1.4rem/1.15 Georgia, serif;
}

.home-tour-card small {
  margin: 12px 0 18px;
  font-size: .95rem;
  line-height: 1.55;
}

.home-tour-card b {
  margin-top: auto;
  color: var(--forest);
}

.section-action {
  margin: 36px 0 0;
  text-align: center;
}

.content .section-action .button {
  color: #fff;
}

.content:has(.blog-grid) {
  max-width: var(--max);
}

.blog-intro {
  max-width: 720px;
  margin-bottom: 38px;
}

.blog-intro h2 {
  margin-top: 0;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.blog-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 32px #173d2c12;
  transition: transform .2s ease, box-shadow .2s ease;
}

.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px #173d2c20;
}

.blog-card > a {
  display: block;
  height: 100%;
  color: var(--ink);
  text-decoration: none;
}

.blog-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}

.blog-card > a > span {
  display: flex;
  min-height: 300px;
  flex-direction: column;
  padding: 26px;
}

.blog-card small {
  margin-bottom: 10px;
  color: var(--leaf);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.blog-card strong {
  font: 700 1.55rem/1.18 Georgia, serif;
}

.blog-card p {
  margin: 14px 0 20px;
  font-size: 1rem;
}

.blog-card b {
  margin-top: auto;
  color: var(--forest);
}

.content-about,
.content-contact {
  max-width: var(--max);
}

.about-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr);
  align-items: center;
  gap: 64px;
}

.about-lead h2,
.contact-intro h2,
.about-nature h2 {
  margin-top: 0;
}

.about-lead img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.about-quote {
  margin: 72px 0;
  padding: 44px 52px;
  border-radius: 20px;
  color: #fff;
  background: var(--forest);
}

.about-quote p {
  max-width: 880px;
  margin: 0 0 16px;
  font: 700 clamp(1.8rem, 3.5vw, 2.8rem)/1.15 Georgia, serif;
}

.about-quote cite {
  color: #e5eee8;
  font-style: normal;
}

.about-details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.about-details article {
  padding: 28px;
  border-radius: 18px;
  background: var(--sand);
}

.about-details strong {
  font: 700 1.35rem/1.2 Georgia, serif;
}

.about-details p {
  margin-bottom: 0;
  font-size: 1rem;
}

.about-nature {
  max-width: 780px;
  margin: 78px auto 0;
  text-align: center;
}

.contact-intro {
  max-width: 760px;
  margin-bottom: 42px;
}

.contact-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.contact-options article {
  display: flex;
  min-height: 330px;
  flex-direction: column;
  align-items: flex-start;
  padding: 34px;
  border-radius: 20px;
  background: var(--sand);
}

.contact-options article > span {
  color: var(--leaf);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.contact-options h3 {
  margin: 18px 0 8px;
}

.contact-options .button,
.contact-options .text-link {
  margin-top: auto;
}

.contact-options .button {
  color: #fff;
}

.contact-options small {
  margin-top: 14px;
}

.contact-tip {
  display: grid;
  grid-template-columns: minmax(180px, .45fr) minmax(0, 1fr);
  gap: 34px;
  margin-top: 28px;
  padding: 28px 34px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.contact-tip p {
  margin: 0;
  font-size: 1rem;
}

.content-tour {
  max-width: 1040px;
}

.content-tour > :not(p:has(img), div:has(> picture), figure, .wp-block-image) {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.content-tour > p:has(picture),
.content-tour > p:has(> img),
.content-tour > div:has(> picture),
.content-tour > figure,
.content-tour > .wp-block-image {
  margin: 2.8rem auto;
}

.content-tour picture img,
.content-tour > p > img,
.content-tour figure img {
  width: 100%;
  max-height: 680px;
  object-fit: cover;
}

.content-tour .wp-caption-text,
.content-tour figcaption {
  margin-top: 10px;
  color: #5b685f;
  font-size: .9rem;
}

.tour-card {
  transition: transform .2s ease, box-shadow .2s ease;
}

.tour-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 42px #182c201c;
}

@media (prefers-reduced-motion: reduce) {
  .home-tour-card,
  .tour-card,
  .blog-card {
    transition: none;
  }
}

@media (max-width: 900px) {
  .benefit-grid,
  .home-tour-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trust-panel {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .blog-grid {
    grid-template-columns: 1fr;
  }

  .about-lead {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .about-details {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .brand-mark {
    width: 50px;
    height: 45px;
  }

  .brand-mark img {
    width: 50px;
    height: 50px;
  }

  .brand > strong {
    font-size: 1.12rem;
  }

  .home-section {
    padding: 64px 20px;
  }

  .benefit-grid,
  .home-tour-grid {
    grid-template-columns: 1fr;
  }

  .benefit-grid article {
    min-height: 0;
  }

  .tripadvisor-mark {
    min-height: 150px;
    padding: 26px;
  }

  .about-quote {
    margin: 52px 0;
    padding: 30px 26px;
  }

  .contact-options,
  .contact-tip {
    grid-template-columns: 1fr;
  }

  .contact-options article {
    min-height: 300px;
    padding: 28px;
  }

  .contact-tip {
    gap: 10px;
    padding: 24px 0;
  }
}
