/* =========================================================================
   Irish Wine Estates — inner pages (Contact Us, Our Story)

   Shared layout for the Divi inner pages built to the IWE Website details
   design PNGs. Loaded on every inner page; every rule is scoped under
   body.iwe-inner (see inc/inner-pages.php). Page-only rules live in
   about.css. Colour and type tokens come from style.css.

   Shared: scaffold, type, labels, buttons, framed photos, hero, CTA band.
   Contact Us (contact_estate.png):
     .iwe-c-intro  .iwe-c-enquiry  .iwe-c-location  .iwe-c-faq
   ========================================================================= */

body.iwe-inner,
body.iwe-inner #page-container,
body.iwe-inner #main-content {
  background: var(--iwe-ivory);
}

/* Divi scaffolding: every section is one full-width row holding a Code
   module; spacing is owned by the section classes below. :where() keeps this
   reset at low specificity - as a plain selector it outranked the section
   rules and wiped their backgrounds and padding. */
body.iwe-inner :where(.et_pb_section.iwe-c) {
  padding: 0;
  background: transparent;
}

body.iwe-inner .iwe-c .et_pb_row {
  width: 100%;
  max-width: none;
  padding: 0;
}

body.iwe-inner .iwe-c .et_pb_column {
  margin: 0;
}

body.iwe-inner .iwe-c .et_pb_module {
  margin-bottom: 0;
}

body.iwe-inner .iwe-c__wrap {
  position: relative;
  z-index: 1;
  width: min(100% - 2 * var(--iwe-gutter), var(--iwe-content-width));
  margin-inline: auto;
}

/* Type */
body.iwe-inner .iwe-c {
  font-family: var(--iwe-font-body);
  color: var(--iwe-charcoal);
}

body.iwe-inner .iwe-c p {
  font-size: clamp(17px, 1.2vw, 18px);
  line-height: 1.6;
  color: rgba(23, 33, 38, .82);
  margin: 0 0 1rem;
  padding-bottom: 0;
}

body.iwe-inner .iwe-c h1,
body.iwe-inner .iwe-c h2,
body.iwe-inner .iwe-c h3 {
  font-family: var(--iwe-font-display);
  padding-bottom: 0;
}

body.iwe-inner .iwe-c a:focus-visible,
body.iwe-inner .iwe-c summary:focus-visible,
body.iwe-inner .iwe-c button:focus-visible,
body.iwe-inner .iwe-c input:focus-visible,
body.iwe-inner .iwe-c select:focus-visible,
body.iwe-inner .iwe-c textarea:focus-visible {
  outline: 2px solid var(--iwe-champagne);
  outline-offset: 3px;
}

body.iwe-inner .iwe-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Copper eyebrow with a trailing rule: START A CONVERSATION ——— */
body.iwe-inner .iwe-c p.iwe-c-label {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 16px;
  font-family: var(--iwe-font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--iwe-deep-teal);
}

body.iwe-inner .iwe-c p.iwe-c-label::after {
  content: "";
  flex: none;
  width: 46px;
  height: 1px;
  background: currentColor;
  opacity: .7;
}

body.iwe-inner .iwe-c .iwe-c-h2 {
  font-size: clamp(28px, 2.5vw, 36px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.012em;
  text-transform: none;
  color: var(--iwe-midnight);
  margin: 0 0 20px;
}

/* Small tracked word stacks: PEOPLE / LAND / WINE ... */
body.iwe-inner .iwe-c-aside {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--iwe-font-body);
  font-size: 11px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--iwe-charcoal);
}

body.iwe-inner .iwe-c-aside li {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.iwe-inner .iwe-c-aside::after {
  content: "";
  display: block;
  width: 34px;
  height: 1px;
  margin-top: 12px;
  background: var(--iwe-burnt-copper);
}

/* Buttons */
body.iwe-inner .iwe-c-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 52px;
  padding: 0 28px;
  font-family: var(--iwe-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .4s var(--iwe-ease), color .4s var(--iwe-ease), border-color .4s var(--iwe-ease);
}

body.iwe-inner .iwe-c-btn .iwe-c-arrow {
  width: 20px;
  height: 20px;
  flex: none;
  transition: transform .4s var(--iwe-ease);
}

body.iwe-inner .iwe-c-btn:hover .iwe-c-arrow {
  transform: translateX(4px);
}

body.iwe-inner .iwe-c-btn--outline {
  border: 1px solid var(--iwe-deep-teal);
  color: var(--iwe-deep-teal);
  background: transparent;
}

body.iwe-inner .iwe-c-btn--outline:hover {
  background: var(--iwe-deep-teal);
  color: var(--iwe-ivory);
}

body.iwe-inner .iwe-c-btn--gold {
  border: 1px solid #c09345;
  color: var(--iwe-midnight);
  background: linear-gradient(135deg, #e3c98d 0%, #d0af6a 45%, #ba8b3a 100%);
}

body.iwe-inner .iwe-c-btn--gold:hover {
  background: var(--iwe-ivory);
  border-color: var(--iwe-ivory);
}

/* Photograph with a copper bar down its left edge. The aspect ratio lives on
   the wrapper, never the <img> (see README "traps"). */
body.iwe-inner .iwe-c-frame {
  position: relative;
  margin: 0;
  padding-left: clamp(12px, 1.2vw, 18px);
}

body.iwe-inner .iwe-c-frame::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 22%;
  width: clamp(12px, 1.2vw, 18px);
  background: var(--iwe-burnt-copper);
}

body.iwe-inner .iwe-c-frame__img {
  display: block;
  overflow: hidden;
  aspect-ratio: 1 / .92;
}

body.iwe-inner .iwe-c-frame__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Line-art vine sprig */
body.iwe-inner .iwe-c-sprig {
  display: block;
  width: clamp(96px, 9vw, 150px);
  height: auto;
  color: rgba(150, 110, 70, .5);
}


/* -------------------------------------------------------------------------
   1. Hero
   ------------------------------------------------------------------------- */

body.iwe-inner .iwe-c-hero {
  position: relative;
  overflow: hidden;
  background: var(--iwe-deep-teal);
}

body.iwe-inner .iwe-c-hero__media {
  position: absolute;
  inset: 0;
  margin: 0;
}

body.iwe-inner .iwe-c-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 62%;
}

/* The overlay sits inside the media wrapper: Divi's module wrappers form their
   own stacking context, so a section-level ::after painted beneath the photo. */
body.iwe-inner .iwe-c-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, rgba(6, 62, 58, .93) 0%, rgba(6, 62, 58, .74) 34%, rgba(6, 62, 58, .2) 68%, rgba(6, 62, 58, .08) 100%),
    linear-gradient(180deg, rgba(16, 24, 44, .2) 0%, rgba(16, 24, 44, 0) 45%, rgba(6, 62, 58, .45) 100%);
}

body.iwe-inner .iwe-c-hero .iwe-c__wrap {
  min-height: clamp(260px, 24vw, 420px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: clamp(44px, 4vw, 72px);
}

body.iwe-inner .iwe-c-crumbs ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-family: var(--iwe-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(247, 240, 227, .92);
}

body.iwe-inner .iwe-c-crumbs li {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.iwe-inner .iwe-c-crumbs li + li::before {
  content: "/";
  margin-right: 12px;
  opacity: .7;
}

body.iwe-inner .iwe-c-crumbs a {
  color: inherit;
  text-decoration: none;
}

body.iwe-inner .iwe-c-crumbs a:hover {
  color: var(--iwe-champagne);
}

body.iwe-inner .iwe-c-crumbs::after {
  content: "";
  display: block;
  width: 66px;
  height: 2px;
  margin: 16px 0 20px;
  background: var(--iwe-champagne);
}

body.iwe-inner .iwe-c-hero h1 {
  margin: 0;
  font-size: clamp(36px, 3.8vw, 56px);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.012em;
  text-transform: none;
  color: var(--iwe-ivory);
}

body.iwe-inner .iwe-c-aside--hero {
  position: absolute;
  top: clamp(20px, 2.6vw, 44px);
  right: 0;
  color: var(--iwe-ivory);
  text-shadow: 0 1px 10px rgba(16, 24, 44, .55);
}

body.iwe-inner .iwe-c-aside--hero::after {
  background: var(--iwe-champagne);
}


/* -------------------------------------------------------------------------
   2. Intro
   ------------------------------------------------------------------------- */

body.iwe-inner .iwe-c-intro {
  position: relative;
  overflow: hidden;
  padding-block: clamp(52px, 6vw, 100px);
}

body.iwe-inner .iwe-c-intro .iwe-c__wrap {
  display: grid;
  /* Two tracks since the leaf and its column were removed; a third\r\n     would hold open about 130px of empty space at the right. */
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .82fr);
  gap: clamp(28px, 4vw, 70px);
  align-items: center;
}

body.iwe-inner .iwe-c-intro__text p:not(.iwe-c-label) {
  max-width: 46ch;
}

body.iwe-inner .iwe-c-intro__side {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 28px;
}


/* -------------------------------------------------------------------------
   3. Form + contact details
   ------------------------------------------------------------------------- */

body.iwe-inner .iwe-c-enquiry {
  position: relative;
  background-color: #f9f4ea;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='420' viewBox='0 0 720 420' fill='none' stroke='%23c9a27a' stroke-opacity='.28' stroke-width='1'%3E%3Cpath d='M-20 40c90-34 170 34 260 2s170-44 260-12 220 22 220 22'/%3E%3Cpath d='M-20 80c96-38 176 38 266 6s164-48 254-16 220 26 220 26'/%3E%3Cpath d='M-20 120c102-42 182 42 272 10s158-52 248-20 220 30 220 30'/%3E%3Cpath d='M-20 160c108-46 188 46 278 14s152-56 242-24 220 34 220 34'/%3E%3Cpath d='M-20 200c114-50 194 50 284 18s146-60 236-28 220 38 220 38'/%3E%3Cpath d='M-20 240c120-54 200 54 290 22s140-64 230-32 220 42 220 42'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: min(720px, 70%) auto;
}

body.iwe-inner .iwe-c-enquiry .iwe-c__wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(0, 1fr);
}

body.iwe-inner .iwe-c-enquiry__form {
  padding-block: clamp(52px, 5.6vw, 100px);
  padding-right: clamp(0px, 5vw, 90px);
  scroll-margin-top: 40px;
}

/* Deep-green panel that bleeds to the right edge of the screen. */
body.iwe-inner .iwe-c-panel {
  position: relative;
  background: var(--iwe-deep-teal);
  color: var(--iwe-ivory);
  padding: clamp(44px, 5vw, 84px) 0 clamp(40px, 4.4vw, 72px) clamp(28px, 4vw, 64px);
  box-shadow: 0 0 0 100vmax var(--iwe-deep-teal);
  clip-path: inset(0 -100vmax 0 0);
}

body.iwe-inner .iwe-c-panel h2 {
  margin: 0;
  font-size: clamp(34px, 3.3vw, 54px);
  font-weight: 600;
  line-height: .98;
  text-transform: uppercase;
  color: var(--iwe-ivory);
}

body.iwe-inner .iwe-c-panel h2::after {
  content: "";
  display: block;
  width: 52px;
  height: 2px;
  margin-top: 18px;
  background: var(--iwe-champagne);
}

body.iwe-inner .iwe-c-details {
  list-style: none;
  margin: 30px 0 0;
  padding: 0 0 26px;
  border-bottom: 1px solid rgba(217, 182, 111, .35);
}

body.iwe-inner .iwe-c-details li {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  font-size: 16px;
  line-height: 1.45;
  color: var(--iwe-ivory);
}

body.iwe-inner .iwe-c-details__icon {
  flex: none;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(217, 182, 111, .75);
  border-radius: 50%;
  color: var(--iwe-champagne);
}

body.iwe-inner .iwe-c-details__icon svg {
  width: 22px;
  height: 22px;
}

body.iwe-inner .iwe-c-details a {
  color: var(--iwe-ivory);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  overflow-wrap: anywhere;
  transition: border-color .3s var(--iwe-ease), color .3s var(--iwe-ease);
}

body.iwe-inner .iwe-c-details a:hover {
  color: var(--iwe-champagne);
  border-bottom-color: currentColor;
}

body.iwe-inner .iwe-c-topics {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
}

body.iwe-inner .iwe-c-topics li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

body.iwe-inner .iwe-c-topics svg {
  width: 38px;
  height: 38px;
  color: var(--iwe-champagne);
}

body.iwe-inner .iwe-c-topics h3 {
  margin: 2px 0 6px;
  font-family: var(--iwe-font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--iwe-champagne);
}

body.iwe-inner .iwe-c .iwe-c-topics p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(247, 240, 227, .84);
}

body.iwe-inner .iwe-c .iwe-c-panel__tagline {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 34px 0 0;
  font-family: var(--iwe-font-body);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(247, 240, 227, .9);
}

body.iwe-inner .iwe-c .iwe-c-panel__tagline::before {
  content: "";
  flex: none;
  width: 52px;
  height: 1px;
  background: var(--iwe-champagne);
}

/* Formidable, restyled to the design */
body.iwe-inner .iwe-c-form .frm_forms {
  max-width: none;
}

body.iwe-inner .iwe-c-form .frm_forms fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

body.iwe-inner .iwe-c-form .frm_forms .frm_form_field {
  margin-bottom: 24px;
}

body.iwe-inner .iwe-c-form .frm_forms .frm_primary_label {
  margin: 0 0 10px;
  padding: 0;
  font-family: var(--iwe-font-body);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--iwe-midnight);
}

body.iwe-inner .iwe-c-form .frm_forms .frm_required {
  color: var(--iwe-deep-teal);
}

body.iwe-inner .iwe-c-form .frm_forms input[type="text"],
body.iwe-inner .iwe-c-form .frm_forms input[type="email"],
body.iwe-inner .iwe-c-form .frm_forms input[type="tel"],
body.iwe-inner .iwe-c-form .frm_forms select,
body.iwe-inner .iwe-c-form .frm_forms textarea {
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 12px 16px;
  background-color: #fffdf8;
  border: 1px solid rgba(23, 33, 38, .22);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--iwe-font-body);
  font-size: 16px; /* prevents iOS zoom on focus */
  line-height: 1.4;
  color: var(--iwe-charcoal);
  transition: border-color .3s var(--iwe-ease), box-shadow .3s var(--iwe-ease);
}

body.iwe-inner .iwe-c-form .frm_forms textarea {
  min-height: 170px;
  resize: vertical;
}

body.iwe-inner .iwe-c-form .frm_forms select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 46px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310182c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
}

body.iwe-inner .iwe-c-form .frm_forms ::placeholder {
  color: rgba(23, 33, 38, .45);
  opacity: 1;
}

body.iwe-inner .iwe-c-form .frm_forms input:focus,
body.iwe-inner .iwe-c-form .frm_forms select:focus,
body.iwe-inner .iwe-c-form .frm_forms textarea:focus {
  border-color: var(--iwe-deep-teal);
  box-shadow: 0 0 0 3px rgba(199, 101, 50, .14);
  outline: none;
}

body.iwe-inner .iwe-c-form .frm_forms .frm_checkbox label,
body.iwe-inner .iwe-c-form .frm_forms .frm_opt_container label {
  font-family: var(--iwe-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(23, 33, 38, .85);
}

body.iwe-inner .iwe-c .iwe-c-form p.iwe-c-privacy {
  margin: -6px 0 0;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(23, 33, 38, .66);
}

body.iwe-inner .iwe-c-form .iwe-c-privacy a {
  color: var(--iwe-emerald);
}

body.iwe-inner .iwe-c-form .frm_forms .frm_submit {
  margin-top: 4px;
}

body.iwe-inner .iwe-c-form .frm_forms .frm_submit button,
body.iwe-inner .iwe-c-form .frm_forms .frm_button_submit {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  min-height: 56px;
  margin: 0;
  padding: 0 32px;
  background: var(--iwe-deep-teal);
  color: var(--iwe-ivory);
  border: 1px solid var(--iwe-deep-teal);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--iwe-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .4s var(--iwe-ease), border-color .4s var(--iwe-ease);
}

body.iwe-inner .iwe-c-form .frm_forms .frm_button_submit::after {
  content: "";
  width: 22px;
  height: 14px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14' fill='none' stroke='%23f7f0e3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 7h21M16 1l6 6-6 6'/%3E%3C/svg%3E");
}

body.iwe-inner .iwe-c-form .frm_forms .frm_submit button:hover,
body.iwe-inner .iwe-c-form .frm_forms .frm_button_submit:hover {
  background: var(--iwe-midnight);
  border-color: var(--iwe-midnight);
}

body.iwe-inner .iwe-c-form .frm_message,
body.iwe-inner .iwe-c-form .frm_success_style {
  margin: 0;
  padding: 1.1rem 1.3rem;
  background: rgba(10, 118, 93, .1);
  border: 0;
  border-left: 3px solid var(--iwe-emerald);
  color: var(--iwe-charcoal);
  font-size: 16px;
}

body.iwe-inner .iwe-c-form .frm_error,
body.iwe-inner .iwe-c-form .frm_error_style {
  color: #a8481b;
  font-size: 13px;
}

body.iwe-inner .iwe-c-form .frm_blank_field input,
body.iwe-inner .iwe-c-form .frm_blank_field textarea {
  border-color: var(--iwe-deep-teal);
}


/* -------------------------------------------------------------------------
   4. Location
   ------------------------------------------------------------------------- */

body.iwe-inner .iwe-c-location {
  position: relative;
  overflow: hidden;
  background: #f1e8d7;
}

body.iwe-inner .iwe-c-location .iwe-c__wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .85fr) minmax(0, .9fr);
  gap: clamp(20px, 3vw, 52px);
  align-items: center;
  padding-block: clamp(56px, 5.6vw, 100px);
}

body.iwe-inner .iwe-c-location__text p:not(.iwe-c-label) {
  max-width: 44ch;
}

body.iwe-inner .iwe-c-location__text .iwe-c-btn {
  margin-top: 12px;
}

body.iwe-inner .iwe-c .iwe-c-location__note {
  margin: 30px 0 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--iwe-charcoal);
}

body.iwe-inner .iwe-c-map {
  position: relative;
  width: min(100%, 360px);
  margin: 0 auto;
}

body.iwe-inner .iwe-c-map img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 10px 18px rgba(16, 24, 44, .12));
}

body.iwe-inner .iwe-c-map__pin {
  position: absolute;
  left: var(--pin-x, 50%);
  top: var(--pin-y, 50%);
  width: 32px;
  height: 42px;
  transform: translate(-50%, -100%);
  color: var(--iwe-deep-teal);
  filter: drop-shadow(0 4px 6px rgba(16, 24, 44, .25));
}

body.iwe-inner .iwe-c-map__pin svg {
  display: block;
  width: 100%;
  height: 100%;
}

body.iwe-inner .iwe-c-map__label {
  position: absolute;
  left: var(--pin-x, 50%);
  top: calc(var(--pin-y, 50%) + 10px);
  transform: translateX(-50%);
  font-family: var(--iwe-font-body);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .28em;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--iwe-midnight);
}

body.iwe-inner .iwe-c-location__photo .iwe-c-frame__img {
  aspect-ratio: .92 / 1;
}

body.iwe-inner .iwe-c-aside--location {
  position: absolute;
  top: clamp(20px, 2.6vw, 40px);
  right: 0;
}

body.iwe-inner .iwe-c-aside--location::after {
  display: none;
}


/* -------------------------------------------------------------------------
   5. Common questions
   ------------------------------------------------------------------------- */

body.iwe-inner .iwe-c-faq {
  position: relative;
  overflow: hidden;
  padding-block: clamp(56px, 6vw, 104px);
}

body.iwe-inner .iwe-c-faq .iwe-c__wrap {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.5fr);
  gap: clamp(28px, 5vw, 96px);
  align-items: start;
}

body.iwe-inner .iwe-c-faq__intro {
  padding-right: clamp(0px, 4vw, 64px);
  border-right: 1px solid rgba(23, 33, 38, .18);
}

body.iwe-inner .iwe-c-faq__intro a {
  color: var(--iwe-deep-teal);
}

body.iwe-inner .iwe-c-faq__list details {
  border-bottom: 1px solid rgba(23, 33, 38, .2);
}

body.iwe-inner .iwe-c-faq__list summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 24px 0;
  list-style: none;
  cursor: pointer;
  font-family: var(--iwe-font-display);
  font-size: clamp(19px, 1.6vw, 25px);
  line-height: 1.3;
  color: var(--iwe-midnight);
}

body.iwe-inner .iwe-c-faq__list summary::-webkit-details-marker {
  display: none;
}

body.iwe-inner .iwe-c-faq__list summary::after {
  content: "+";
  flex: none;
  font-family: var(--iwe-font-body);
  font-size: 30px;
  font-weight: 300;
  line-height: 1;
  color: var(--iwe-deep-teal);
  transition: transform .4s var(--iwe-ease);
}

body.iwe-inner .iwe-c-faq__list details[open] summary::after {
  transform: rotate(45deg);
}

body.iwe-inner .iwe-c-faq__list summary:hover {
  color: var(--iwe-emerald);
}

body.iwe-inner .iwe-c-faq__answer {
  padding: 0 56px 22px 0;
}

body.iwe-inner .iwe-c-faq__answer a {
  color: var(--iwe-deep-teal);
  font-weight: 600;
}


/* -------------------------------------------------------------------------
   6. Preview Tours band
   ------------------------------------------------------------------------- */

body.iwe-inner .iwe-c-cta {
  position: relative;
  overflow: hidden;
  background: var(--iwe-deep-teal);
}

body.iwe-inner .iwe-c-cta__media {
  height: clamp(170px, 18vw, 300px);
  margin: 0;
}

body.iwe-inner .iwe-c-cta__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
}

body.iwe-inner .iwe-c-cta__panel {
  position: relative;
  padding-block: clamp(44px, 4.6vw, 76px);
  text-align: center;
}

/* Faint concentric rings, echoing the knotwork in the design. */
body.iwe-inner .iwe-c-cta__panel::before {
  content: "";
  position: absolute;
  left: clamp(-160px, -8vw, -60px);
  bottom: -160px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  border: 1px solid rgba(217, 182, 111, .14);
  box-shadow: inset 0 0 0 60px rgba(247, 240, 227, .025), inset 0 0 0 61px rgba(217, 182, 111, .12);
  pointer-events: none;
}

body.iwe-inner .iwe-c-cta h2 {
  max-width: 24ch;
  margin: 0 auto 16px;
  font-size: clamp(28px, 3vw, 48px);
  font-weight: 600;
  line-height: 1.04;
  text-transform: uppercase;
  color: var(--iwe-ivory);
}

body.iwe-inner .iwe-c.iwe-c-cta p {
  max-width: 54ch;
  margin: 0 auto 28px;
  color: rgba(247, 240, 227, .86);
}

body.iwe-inner .iwe-c-aside--cta {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  text-align: left;
  color: var(--iwe-ivory);
}

body.iwe-inner .iwe-c-aside--cta::after {
  background: var(--iwe-champagne);
}


/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */

@media (max-width: 1180px) {
  body.iwe-inner .iwe-c-aside--hero,
  body.iwe-inner .iwe-c-aside--location,
  body.iwe-inner .iwe-c-aside--cta {
    display: none;
  }
}

@media (max-width: 980px) {
  /*
     The desktop overlay runs left to right because the heading sits in
     the left third. Here the heading spans the full width and would run
     out over the pale end of that gradient onto bright sky, so the
     overlay runs top to bottom instead, heaviest where the text is.
  */
  body.iwe-inner .iwe-c-hero__media::after {
    background:
      linear-gradient(180deg, rgba(6, 62, 58, .62) 0%, rgba(6, 62, 58, .72) 45%, rgba(6, 62, 58, .9) 100%);
  }

  body.iwe-inner .iwe-c-intro .iwe-c__wrap {
    grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  }

  body.iwe-inner .iwe-c-intro__side {
    display: none;
  }

  body.iwe-inner .iwe-c-enquiry .iwe-c__wrap {
    grid-template-columns: 1fr;
  }

  body.iwe-inner .iwe-c-enquiry__form {
    padding-right: 0;
  }

  body.iwe-inner .iwe-c-panel {
    padding-inline: 0;
    clip-path: inset(0 -100vmax);
  }

  body.iwe-inner .iwe-c-location .iwe-c__wrap {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  body.iwe-inner .iwe-c-location__photo {
    grid-column: 1 / -1;
  }

  body.iwe-inner .iwe-c-location__photo .iwe-c-frame__img {
    aspect-ratio: 16 / 9;
  }

  body.iwe-inner .iwe-c-faq .iwe-c__wrap {
    grid-template-columns: 1fr;
  }

  body.iwe-inner .iwe-c-faq__intro {
    padding: 0 0 24px;
    border-right: 0;
    border-bottom: 1px solid rgba(23, 33, 38, .18);
  }
}

@media (max-width: 767px) {
  body.iwe-inner .iwe-c-intro .iwe-c__wrap,
  body.iwe-inner .iwe-c-location .iwe-c__wrap {
    grid-template-columns: 1fr;
  }

  body.iwe-inner .iwe-c-map {
    width: min(100%, 280px);
  }

  body.iwe-inner .iwe-c-hero .iwe-c__wrap {
    min-height: 240px;
  }

  body.iwe-inner .iwe-c-form .frm_forms .frm_form_fields .frm6 {
    grid-column: span 12 / span 12;
  }

  body.iwe-inner .iwe-c-form .frm_forms .frm_button_submit {
    width: 100%;
    justify-content: center;
  }

  body.iwe-inner .iwe-c-faq__answer {
    padding-right: 0;
  }

  body.iwe-inner .iwe-c-btn {
    justify-content: center;
    padding: 12px 20px;
    font-size: 11px;
    letter-spacing: .14em;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.iwe-inner .iwe-c-btn,
  body.iwe-inner .iwe-c-btn .iwe-c-arrow,
  body.iwe-inner .iwe-c-faq__list summary::after {
    transition: none;
  }
}
