:root {  /* Norfolk / logo inspired palette */  --bg: #f3f8f5;  --bg-alt: #ffffff;  --accent: #204f91;  --accent-dark: #123462;  --accent-soft: #d7e3f7;  --farm-red: #e53935;  --text: #1b2024;  --muted: #62707c;  --border: #d6dde2;  --max-width: 1100px;  --radius: 14px;  --shadow: 0 6px 20px rgba(0, 0, 0, 0.06);}* {  box-sizing: border-box;}html {  scroll-behavior: smooth;}body {  margin: 0;  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;  line-height: 1.6;  color: var(--text);  background: radial-gradient(circle at top, #edf3ff 0, var(--bg) 45%, #eef5f0 100%);}img {  max-width: 100%;  height: auto;  display: block;}iframe {  display: block;}a {  color: var(--accent-dark);  text-decoration: none;}a:hover {  text-decoration: underline;}.page {  min-height: 100vh;  display: flex;  flex-direction: column;}main {  flex: 1 0 auto;}.container {  width: 100%;  max-width: var(--max-width);  margin: 0 auto;  padding: 0 1.25rem;}section {  padding: 4rem 0;}h1,h2,h3,h4 {  margin: 0 0 0.75rem;  line-height: 1.2;}h1 {  font-size: clamp(2.3rem, 4vw, 3rem);}h2 {  font-size: clamp(1.8rem, 3vw, 2.25rem);}h3 {  font-size: 1.25rem;}h4 {  font-size: 1rem;}p {  margin: 0 0 0.75rem;}/* Header / Nav */header {  position: sticky;  top: 0;  z-index: 20;  color: #f5f7fb;  background: linear-gradient(120deg, rgba(18, 52, 98, 0.97), rgba(13, 88, 70, 0.97));  backdrop-filter: blur(12px);  border-bottom: 1px solid rgba(0, 0, 0, 0.08);}.nav {  display: flex;  align-items: center;  justify-content: space-between;  gap: 1rem;  max-width: var(--max-width);  margin: 0 auto;  padding: 0.65rem 1.25rem;}.brand {  display: flex;  align-items: center;  gap: 0.5rem;}.brand-logo {  width: auto;  height: 44px;  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));}.brand-text {  display: flex;  flex-direction: column;}.brand-title {  font-size: 1.1rem;  font-weight: 800;  letter-spacing: 0.16em;  text-transform: uppercase;  color: #fdfefe;}.brand-sub {  margin-top: 0.05rem;  font-size: 0.78rem;  letter-spacing: 0.11em;  text-transform: uppercase;  color: #d9e5f6;}.nav-links {  display: flex;  align-items: center;  gap: 1.2rem;  font-size: 0.95rem;}.nav-links a {  font-weight: 500;  color: #e7effa;}.nav-links a:hover {  color: #ffffff;}.nav-cta {  padding: 0.45rem 0.9rem;  font-size: 0.9rem;  color: var(--accent-dark);  background: #fefefe;  border: none;  border-radius: 999px;  cursor: pointer;  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18);}.nav-cta:hover {  background: #f2f5ff;}.nav-toggle {  display: none;  padding: 0.25rem;  background: none;  border: none;  cursor: pointer;}.nav-toggle span {  display: block;  width: 22px;  height: 2px;  margin: 4px 0;  background: #f6fbff;  border-radius: 999px;  transition: transform 0.2s ease, opacity 0.2s ease;}/* Hero */.hero {  padding: 4rem 0 3.2rem;}.hero-inner {  display: grid;  grid-template-columns: minmax(0, 3fr) minmax(0, 2.5fr);  gap: 2.5rem;  align-items: center;}.hero-tag {  display: inline-flex;  align-items: center;  gap: 0.4rem;  margin-bottom: 0.7rem;  padding: 0.2rem 0.7rem;  font-size: 0.85rem;  color: var(--accent-dark);  background: var(--accent-soft);  border-radius: 999px;}.hero-tag-dot {  width: 8px;  height: 8px;  background: #53b270;  border-radius: 50%;}.hero p.lead {  max-width: 32rem;  font-size: 1.02rem;  color: var(--muted);}.hero-actions {  display: flex;  flex-wrap: wrap;  gap: 0.75rem;  margin-top: 1.2rem;}.hero-media {  display: flex;  flex-direction: column;  overflow: hidden;  background: var(--bg-alt);  border: 1px solid var(--border);  border-radius: var(--radius);  box-shadow: var(--shadow);}.hero-media-img {  width: 100%;  aspect-ratio: 1 / 1;  background-image: url("images/robbiespatch-collage.webp");  background-repeat: no-repeat;  background-position: center;  background-size: cover;  border-radius: var(--radius);}/* Buttons */.btn {  display: inline-flex;  align-items: center;  justify-content: center;  padding: 0.8rem 1.2rem;  font-size: 0.95rem;  font-weight: 600;  text-decoration: none;  white-space: nowrap;  border: none;  border-radius: 999px;  cursor: pointer;  transition: 0.08s ease;}.btn-primary {  color: #fff;  background: var(--accent);  box-shadow: var(--shadow);}.btn-primary:hover {  background: var(--accent-dark);  text-decoration: none;}.btn-ghost {  color: var(--accent-dark);  background: transparent;  border: 1px solid rgba(0, 0, 0, 0.1);}.btn-ghost:hover {  background: #edf2fa;  text-decoration: none;}.btn-call {  color: #0e5b45;  background: #ffffff;  border: 1px solid rgba(0, 0, 0, 0.1);  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);}.btn-call:hover {  text-decoration: none;}/* Tours */.tours-grid {  display: grid;  grid-template-columns: repeat(2, minmax(0, 1fr));  gap: 1.6rem;  margin-top: 1.7rem;}.tour-card {  display: flex;  flex-direction: column;  padding: 1.4rem 1.3rem;  background: var(--bg-alt);  border: 1px solid var(--border);  border-radius: var(--radius);  box-shadow: var(--shadow);}.tour-card > div:first-of-type {  flex: 0 0 auto;}.tour-header {  display: flex;  align-items: flex-start;  gap: 0.8rem;  margin-bottom: 0.5rem;}.tour-logo {  max-width: 120px;  border-radius: 8px;}.tour-label {  display: inline-flex;  margin-bottom: 0.4rem;  padding: 0.2rem 0.6rem;  font-size: 0.8rem;  color: var(--accent-dark);  background: var(--accent-soft);  border-radius: 999px;}.tour-label.farm {  color: var(--farm-red);  background: #ffe4e3;}.tour-meta {  margin-bottom: 0.5rem;  font-size: 0.88rem;  color: var(--muted);}.tour-list {  margin: 0;  padding-left: 1.2rem;}.directions {  margin-top: 0.6rem;  font-size: 0.85rem;  color: var(--muted);}.tour-photo {  margin-top: auto;  overflow: hidden;  background: repeating-linear-gradient(    45deg,    #f5f7fa,    #f5f7fa 8px,    #e8edf3 8px,    #e8edf3 16px  );  border: 1px dashed var(--border);  border-radius: 10px;}.tour-footer {  margin-top: 1.6rem;}.tour-footer .btn {  display: block;  width: 100%;  text-align: center;}/* Banner */.banner-image {  margin: 2.3rem 0 0;  overflow: hidden;  background: #f3f7fb;  border: 1px dashed var(--border);  border-radius: var(--radius);}/* About */.about-host {  margin-top: 2.5rem;  padding: 1.6rem 1.4rem;  background: var(--bg-alt);  border: 1px solid var(--border);  border-radius: var(--radius);  box-shadow: var(--shadow);}.about-grid {  display: grid;  grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr);  gap: 1.5rem;  align-items: start;}.about-photo {  overflow: hidden;  background: #f5f8fb;  border: 1px dashed var(--border);  border-radius: 12px;}/* Booking */.booking-grid {  display: grid;  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr);  gap: 2rem;  align-items: flex-start;}.booking-box {  min-height: 320px;  padding: 1rem;  background: var(--bg-alt);  border: 1px solid var(--border);  border-radius: var(--radius);  box-shadow: var(--shadow);}.booking-image-placeholder {  display: flex;  align-items: center;  justify-content: center;  min-height: 280px;  overflow: hidden;  background: #f4f1ea;  border-radius: 16px;}.booking-image-placeholder img {  width: 100%;  height: 100%;  min-height: 280px;  object-fit: cover;}.booking-box .btn {  display: block;  width: 100%;  text-align: center;}/* Reviews */.reviews-widget {  margin-top: 1.6rem;  padding: 1.3rem;  background: var(--bg-alt);  border: 1px solid var(--border);  border-radius: var(--radius);  box-shadow: var(--shadow);}.reviews-note {  margin-top: 0.5rem;  font-size: 0.85rem;  color: var(--muted);}/* Map & Contact */.contact-grid {  display: grid;  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);  gap: 2rem;  align-items: start;}.map-card,.form-card {  padding: 1.3rem;  background: var(--bg-alt);  border: 1px solid var(--border);  border-radius: var(--radius);  box-shadow: var(--shadow);}.map-block {  margin-bottom: 2rem;}.map-block h4 {  margin: 0 0 0.5rem;  color: var(--accent-dark);}.map-frame {  width: 100%;  height: 260px;  border: 0;  border-radius: 10px;}.map-meta {  margin-top: 0.6rem;  font-size: 0.85rem;  color: var(--muted);}.map-card hr {  border: none;  border-top: 1px solid var(--border);}/* Forms */.contact-form {  display: grid;  gap: 0.8rem;}.form-row-inline {  display: grid;  grid-template-columns: repeat(2, minmax(0, 1fr));  gap: 0.8rem;}label {  display: inline-block;  margin-bottom: 0.35rem;  font-size: 0.85rem;  font-weight: 600;}input,textarea,select {  width: 100%;  min-height: 42px;  padding: 0.65rem 0.7rem;  font: inherit;  font-size: 0.95rem;  color: var(--text);  background: #fbfdff;  border: 1px solid #cfd4dc;  border-radius: 8px;}textarea {  min-height: 140px;  resize: vertical;}select {  appearance: none;  -webkit-appearance: none;  -moz-appearance: none;  background: #fbfdff;}.form-help {  color: var(--muted);}.form-success {  color: green;}.form-error {  color: red;}/* Footer */footer {  padding: 1.5rem 1.25rem 2rem;  font-size: 0.85rem;  color: var(--muted);  background: #f2f6fa;  border-top: 1px solid rgba(0, 0, 0, 0.05);}.footer-inner {  display: flex;  flex-wrap: wrap;  align-items: center;  justify-content: space-between;  gap: 0.75rem;  max-width: var(--max-width);  margin: 0 auto;}/* Utility classes */.spacing-top-lg {  margin-top: 2rem;}.list-compact {  margin: 0 0 0.8rem;  padding-left: 1.1rem;}.visually-hidden {  display: none;}.rule-soft {  margin: 1.5rem 0;  opacity: 0.3;}/* Responsive */@media (max-width: 900px) {  .hero-inner,  .tours-grid,  .booking-grid,  .contact-grid,  .about-grid {    grid-template-columns: minmax(0, 1fr);  }  .hero-media {    order: -1;  }}@media (max-width: 750px) {  .nav-links {    position: absolute;    top: 100%;    left: 0;    right: 0;    flex-direction: column;    padding: 0.75rem 1.25rem 1rem;    background: rgba(8, 34, 64, 0.98);    border-bottom: 1px solid rgba(0, 0, 0, 0.08);    transform: translateY(-12px);    opacity: 0;    pointer-events: none;    transition: opacity 0.2s ease, transform 0.2s ease;  }  .nav-links.open {    transform: translateY(0);    opacity: 1;    pointer-events: auto;  }  .nav-cta {    width: 100%;    text-align: center;  }  .nav-toggle {    display: block;  }}@media (max-width: 600px) {  section {    padding: 3rem 0;  }  .form-row-inline {    grid-template-columns: minmax(0, 1fr);  }  .btn,  .nav-cta {    width: 100%;    justify-content: center;  }  .hero-actions {    flex-direction: column;  }  .brand-text {    display: none;  }}:root  {
      /* Norfolk / logo inspired palette */  --bg: #f3f8f5;
      --bg-alt: #ffffff;
      --accent: #204f91;
      --accent-dark: #123462;
      --accent-soft: #d7e3f7;
      --farm-red: #e53935;
      --text: #1b2024;
      --muted: #62707c;
      --border: #d6dde2;
      --max-width: 1100px;
      --radius: 14px;
      --shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
}

*  {
      box-sizing: border-box;
}

html  {
      scroll-behavior: smooth;
}

body  {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height: 1.6;
      color: var(--text);
      background: radial-gradient(circle at top, #edf3ff 0, var(--bg) 45%, #eef5f0 100%);
}

img  {
      max-width: 100%;
      height: auto;
      display: block;
}

iframe  {
      display: block;
}

a  {
      color: var(--accent-dark);
      text-decoration: none;
}

a:hover  {
      text-decoration: underline;
}

.page  {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
}

main  {
      flex: 1 0 auto;
}

.container  {
      width: 100%;
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0 1.25rem;
}

section  {
      padding: 4rem 0;
}

h1,h2,h3,h4  {
      margin: 0 0 0.75rem;
      line-height: 1.2;
}

h1  {
      font-size: clamp(2.3rem, 4vw, 3rem);
}

h2  {
      font-size: clamp(1.8rem, 3vw, 2.25rem);
}

h3  {
      font-size: 1.25rem;
}

h4  {
      font-size: 1rem;
}

p  {
      margin: 0 0 0.75rem;
}

/* Header / Nav */header  {
      position: sticky;
      top: 0;
      z-index: 20;
      color: #f5f7fb;
      background: linear-gradient(120deg, rgba(18, 52, 98, 0.97), rgba(13, 88, 70, 0.97));
      backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.nav  {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.65rem 1.25rem;
}

.brand  {
      display: flex;
      align-items: center;
      gap: 0.5rem;
}

.brand-logo  {
      width: auto;
      height: 44px;
      filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}

.brand-text  {
      display: flex;
      flex-direction: column;
}

.brand-title  {
      font-size: 1.1rem;
      font-weight: 800;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: #fdfefe;
}

.brand-sub  {
      margin-top: 0.05rem;
      font-size: 0.78rem;
      letter-spacing: 0.11em;
      text-transform: uppercase;
      color: #d9e5f6;
}

.nav-links  {
      display: flex;
      align-items: center;
      gap: 1.2rem;
      font-size: 0.95rem;
}

.nav-links a  {
      font-weight: 500;
      color: #e7effa;
}

.nav-links a:hover  {
      color: #ffffff;
}

.nav-cta  {
      padding: 0.45rem 0.9rem;
      font-size: 0.9rem;
      color: var(--accent-dark);
      background: #fefefe;
      border: none;
      border-radius: 999px;
      cursor: pointer;
      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18);
}

.nav-cta:hover  {
      background: #f2f5ff;
}

.nav-toggle  {
      display: none;
      padding: 0.25rem;
      background: none;
      border: none;
      cursor: pointer;
}

.nav-toggle span  {
      display: block;
      width: 22px;
      height: 2px;
      margin: 4px 0;
      background: #f6fbff;
      border-radius: 999px;
      transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Hero */.hero  {
      padding: 4rem 0 3.2rem;
}

.hero-inner  {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.5fr);
      gap: 2.5rem;
      align-items: center;
}

.hero-tag  {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      margin-bottom: 0.7rem;
      padding: 0.2rem 0.7rem;
      font-size: 0.85rem;
      color: var(--accent-dark);
      background: var(--accent-soft);
      border-radius: 999px;
}

.hero-tag-dot  {
      width: 8px;
      height: 8px;
      background: #53b270;
      border-radius: 50%;
}

.hero p.lead  {
      max-width: 32rem;
      font-size: 1.02rem;
      color: var(--muted);
}

.hero-actions  {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      margin-top: 1.2rem;
}

.hero-media  {
      display: flex;
      flex-direction: column;
      overflow: hidden;
      background: var(--bg-alt);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
}

.hero-media-img  {
      width: 100%;
      aspect-ratio: 1 / 1;
      background-image: url("images/robbiespatch-collage.webp");
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      border-radius: var(--radius);
}

/* Buttons */.btn  {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.8rem 1.2rem;
      font-size: 0.95rem;
      font-weight: 600;
      text-decoration: none;
      white-space: nowrap;
      border: none;
      border-radius: 999px;
      cursor: pointer;
      transition: 0.08s ease;
}

.btn-primary  {
      color: #fff;
      background: var(--accent);
      box-shadow: var(--shadow);
}

.btn-primary:hover  {
      background: var(--accent-dark);
      text-decoration: none;
}

.btn-ghost  {
      color: var(--accent-dark);
      background: transparent;
      border: 1px solid rgba(0, 0, 0, 0.1);
}

.btn-ghost:hover  {
      background: #edf2fa;
      text-decoration: none;
}

.btn-call  {
      color: #0e5b45;
      background: #ffffff;
      border: 1px solid rgba(0, 0, 0, 0.1);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.btn-call:hover  {
      text-decoration: none;
}

/* Tours */.tours-grid  {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.6rem;
      margin-top: 1.7rem;
}

.tour-card  {
      display: flex;
      flex-direction: column;
      padding: 1.4rem 1.3rem;
      background: var(--bg-alt);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
}

.tour-card > div:first-of-type  {
      flex: 0 0 auto;
}

.tour-header  {
      display: flex;
      align-items: flex-start;
      gap: 0.8rem;
      margin-bottom: 0.5rem;
}

.tour-logo  {
      max-width: 120px;
      border-radius: 8px;
}

.tour-label  {
      display: inline-flex;
      margin-bottom: 0.4rem;
      padding: 0.2rem 0.6rem;
      font-size: 0.8rem;
      color: var(--accent-dark);
      background: var(--accent-soft);
      border-radius: 999px;
}

.tour-label.farm  {
      color: var(--farm-red);
      background: #ffe4e3;
}

.tour-meta  {
      margin-bottom: 0.5rem;
      font-size: 0.88rem;
      color: var(--muted);
}

.tour-list  {
      margin: 0;
      padding-left: 1.2rem;
}

.directions  {
      margin-top: 0.6rem;
      font-size: 0.85rem;
      color: var(--muted);
}

.tour-photo  {
      margin-top: auto;
      overflow: hidden;
      background: repeating-linear-gradient(    45deg,    #f5f7fa,    #f5f7fa 8px,    #e8edf3 8px,    #e8edf3 16px  );
      border: 1px dashed var(--border);
      border-radius: 10px;
}

.tour-footer  {
      margin-top: 1.6rem;
}

.tour-footer .btn  {
      display: block;
      width: 100%;
      text-align: center;
}

/* Banner */.banner-image  {
      margin: 2.3rem 0 0;
      overflow: hidden;
      background: #f3f7fb;
      border: 1px dashed var(--border);
      border-radius: var(--radius);
}

/* About */.about-host  {
      margin-top: 2.5rem;
      padding: 1.6rem 1.4rem;
      background: var(--bg-alt);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
}

.about-grid  {
      display: grid;
      grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr);
      gap: 1.5rem;
      align-items: start;
}

.about-photo  {
      overflow: hidden;
      background: #f5f8fb;
      border: 1px dashed var(--border);
      border-radius: 12px;
}

/* Booking */.booking-grid  {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr);
      gap: 2rem;
      align-items: flex-start;
}

.booking-box  {
      min-height: 320px;
      padding: 1rem;
      background: var(--bg-alt);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
}

.booking-image-placeholder  {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 280px;
      overflow: hidden;
      background: #f4f1ea;
      border-radius: 16px;
}

.booking-image-placeholder img  {
      width: 100%;
      height: 100%;
      min-height: 280px;
      object-fit: cover;
}

.booking-box .btn  {
      display: block;
      width: 100%;
      text-align: center;
}

/* Reviews */.reviews-widget  {
      margin-top: 1.6rem;
      padding: 1.3rem;
      background: var(--bg-alt);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
}

.reviews-note  {
      margin-top: 0.5rem;
      font-size: 0.85rem;
      color: var(--muted);
}

/* Map & Contact */.contact-grid  {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
      gap: 2rem;
      align-items: start;
}

.map-card,.form-card  {
      padding: 1.3rem;
      background: var(--bg-alt);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
}

.map-block  {
      margin-bottom: 2rem;
}

.map-block h4  {
      margin: 0 0 0.5rem;
      color: var(--accent-dark);
}

.map-frame  {
      width: 100%;
      height: 260px;
      border: 0;
      border-radius: 10px;
}

.map-meta  {
      margin-top: 0.6rem;
      font-size: 0.85rem;
      color: var(--muted);
}

.map-card hr  {
      border: none;
      border-top: 1px solid var(--border);
}

/* Forms */.contact-form  {
      display: grid;
      gap: 0.8rem;
}

.form-row-inline  {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.8rem;
}

label  {
      display: inline-block;
      margin-bottom: 0.35rem;
      font-size: 0.85rem;
      font-weight: 600;
}

input,textarea,select  {
      width: 100%;
      min-height: 42px;
      padding: 0.65rem 0.7rem;
      font: inherit;
      font-size: 0.95rem;
      color: var(--text);
      background: #fbfdff;
      border: 1px solid #cfd4dc;
      border-radius: 8px;
}

textarea  {
      min-height: 140px;
      resize: vertical;
}

select  {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      background: #fbfdff;
}

.form-help  {
      color: var(--muted);
}

.form-success  {
      color: green;
}

.form-error  {
      color: red;
}

/* Footer */footer  {
      padding: 1.5rem 1.25rem 2rem;
      font-size: 0.85rem;
      color: var(--muted);
      background: #f2f6fa;
      border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.footer-inner  {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      max-width: var(--max-width);
      margin: 0 auto;
}

/* Utility classes */.spacing-top-lg  {
      margin-top: 2rem;
}

.list-compact  {
      margin: 0 0 0.8rem;
      padding-left: 1.1rem;
}

.visually-hidden  {
      display: none;
}

.rule-soft  {
      margin: 1.5rem 0;
      opacity: 0.3;
}

/* Responsive */@media (max-width: 900px)  {
      .hero-inner,  .tours-grid,  .booking-grid,  .contact-grid,  .about-grid  {
            grid-template-columns: minmax(0, 1fr);
    }

      .hero-media  {
            order: -1;
    }
}

@media (max-width: 750px)  {
      .nav-links  {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            flex-direction: column;
            padding: 0.75rem 1.25rem 1rem;
            background: rgba(8, 34, 64, 0.98);
            border-bottom: 1px solid rgba(0, 0, 0, 0.08);
            transform: translateY(-12px);
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.2s ease, transform 0.2s ease;
    }

      .nav-links.open  {
            transform: translateY(0);
            opacity: 1;
            pointer-events: auto;
    }

      .nav-cta  {
            width: 100%;
            text-align: center;
    }

      .nav-toggle  {
            display: block;
    }
}

@media (max-width: 600px)  {
      section  {
            padding: 3rem 0;
    }

      .form-row-inline  {
            grid-template-columns: minmax(0, 1fr);
    }

      .btn,  .nav-cta  {
            width: 100%;
            justify-content: center;
    }

      .hero-actions  {
            flex-direction: column;
    }

      .brand-text  {
            display: none;
    }
}



/* ==========================================
   TRIPADVISOR REVIEWS
========================================== */

#reviews{
    background:#f8f7f3;
}

.reviews-widget{
    max-width:900px;
    margin:1.6rem auto 0;
    padding:2rem;
    background:var(--bg-alt);
    border:1px solid var(--border);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    overflow:hidden;
}

.TA_selfserveprop{
    display:flex;
    justify-content:center;
    width:100%;
}

.TA_links{
    list-style:none;
    margin:0;
    padding:0;
}

#TA_selfserveprop954{
    width:100%;
    text-align:center;
}
