/*
Theme Name: Wedding Child (Forest Wedding)
Theme URI: https://forestwedding.co.uk
Description: Child theme for Forest Wedding. Adds the Elementor header/footer theme locations the parent theme omits, so the global Header and Footer templates render site-wide.
Author: Forest Wedding
Template: wedding
Version: 1.4.0
Text Domain: wedding-child
*/

/* ============================================================
   FOREST WEDDING — design system
   The parent theme forces its own sizes, uppercase and letter
   spacing on headings with !important, so these overrides take
   design control back. Classes are applied to Elementor widgets.
   ============================================================ */

:root{
  --fw-ivory:#FCFBF7; --fw-chalk:#F5F3EC; --fw-linen:#EBE7DC;
  --fw-forest:#1C3427; --fw-moss:#2A4A36; --fw-brass:#A98A4B;
  --fw-ink:#1E2620; --fw-ink-2:#4C554C; --fw-ink-3:#7C857A;
  --fw-hair:#CFC8B4;
}

/* neutralise the parent theme's blanket heading rules inside page content */
.elementor .elementor-heading-title{
  text-transform:none !important;
  letter-spacing:normal !important;
  font-family:"Cormorant Garamond",Georgia,serif !important;
  font-weight:300 !important;
  color:var(--fw-ink);
  margin:0;
}
.elementor .elementor-widget-text-editor,
.elementor .elementor-widget-text-editor p{
  font-family:"Jost","Helvetica Neue",Arial,sans-serif !important;
  font-weight:300 !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  color:var(--fw-ink-2);
  font-size:16px !important;
  line-height:1.75 !important;
}

/* type scale */
.fw-h1 .elementor-heading-title{ font-size:clamp(42px,6.4vw,78px) !important; line-height:1.04 !important; letter-spacing:-.015em !important; }
.fw-h2 .elementor-heading-title{ font-size:clamp(30px,4vw,50px) !important; line-height:1.12 !important; }
.fw-h3 .elementor-heading-title{ font-size:clamp(23px,2.4vw,29px) !important; line-height:1.18 !important; }
.fw-quote .elementor-heading-title{ font-size:clamp(25px,3.4vw,40px) !important; line-height:1.36 !important; font-style:italic; }
.fw-stat .elementor-heading-title{ font-size:30px !important; line-height:1.1 !important; }
.fw-time .elementor-heading-title{ font-size:24px !important; color:var(--fw-brass) !important; font-variant-numeric:tabular-nums; }

/* eyebrow label */
.fw-eyebrow .elementor-heading-title{
  font-family:"Jost",Arial,sans-serif !important;
  font-size:10.5px !important; font-weight:500 !important;
  letter-spacing:.26em !important; text-transform:uppercase !important;
  color:var(--fw-brass) !important; line-height:1.6 !important;
}

/* lede + helpers */
.fw-lede .elementor-widget-container p{ font-size:18px !important; line-height:1.7 !important; }
.fw-muted .elementor-widget-container p{ color:var(--fw-ink-3) !important; font-size:14px !important; }
.fw-flag .elementor-widget-container p{ color:var(--fw-brass) !important; }
.fw-narrow{ max-width:29em; margin-left:auto !important; margin-right:auto !important; }
.fw-center, .fw-center .elementor-heading-title, .fw-center .elementor-widget-container{ text-align:center !important; }

/* on dark backgrounds */
.fw-on-dark .elementor-heading-title{ color:#F6F5EE !important; }
.fw-on-dark .elementor-widget-container p{ color:#BFC9BB !important; }
.fw-on-dark.fw-eyebrow .elementor-heading-title{ color:#C2A469 !important; }

/* spacing rhythm */
.elementor .elementor-widget:not(:last-child){ margin-bottom:20px; }
.fw-eyebrow{ margin-bottom:10px !important; }
.fw-h1, .fw-h2{ margin-bottom:22px !important; }

/* buttons */
.elementor .fw-btn .elementor-button{
  font-family:"Jost",Arial,sans-serif !important;
  font-size:11px !important; font-weight:500 !important;
  letter-spacing:.2em !important; text-transform:uppercase !important;
  padding:17px 34px !important; border-radius:2px !important;
  background-color:var(--fw-forest) !important; color:#F6F5EE !important;
  border:1px solid var(--fw-forest) !important; transition:.2s;
}
.elementor .fw-btn .elementor-button:hover{ background-color:var(--fw-moss) !important; border-color:var(--fw-moss) !important; }
.elementor .fw-btn-light .elementor-button{
  background-color:#F6F5EE !important; color:var(--fw-forest) !important; border-color:#F6F5EE !important;
}
.elementor .fw-btn-light .elementor-button:hover{ background-color:#fff !important; }
.elementor .fw-btn-outline .elementor-button{
  background-color:transparent !important; color:var(--fw-ink) !important; border-color:var(--fw-hair) !important;
}
.elementor .fw-btn-outline .elementor-button:hover{ color:var(--fw-brass) !important; border-color:var(--fw-brass) !important; }
.fw-center .elementor-button-wrapper{ text-align:center !important; }

/* stop the parent stretching page content edge to edge */
.elementor-section.elementor-section-boxed > .elementor-container{ max-width:1180px; }

@media (max-width:767px){
  .elementor .elementor-column{ margin-bottom:24px; }
  .fw-h1 .elementor-heading-title{ font-size:38px !important; }
}

/* ---------- refinements ---------- */

/* tighter, more deliberate vertical rhythm */
.elementor .elementor-widget:not(:last-child){ margin-bottom:14px; }
.elementor .elementor-widget-text-editor:not(:last-child){ margin-bottom:18px; }
.fw-eyebrow{ margin-bottom:14px !important; }
.fw-h1{ margin-bottom:26px !important; }
.fw-h2{ margin-bottom:20px !important; }
.fw-h3{ margin-bottom:10px !important; }
.fw-btn{ margin-top:14px !important; }
.elementor .elementor-widget-text-editor p{ margin:0 0 0 0 !important; }

/* hero lede needs more presence against the dark green */
.fw-hero .fw-lede .elementor-widget-container p{ color:#D3DCCB !important; font-size:19px !important; }
.fw-hero .fw-lede{ max-width:29em; margin-left:auto !important; margin-right:auto !important; }

/* trust strip: hairline dividers between the four stats */
.fw-trust .elementor-column + .elementor-column{ border-left:1px solid #E9E5DA; }
.fw-trust .fw-stat .elementor-heading-title{ font-size:29px !important; }
.fw-trust .fw-eyebrow{ margin-bottom:0 !important; }

/* timeline: keep the time column readable and aligned */
.fw-time .elementor-heading-title{ font-size:22px !important; }

/* priced line items, label left / figure right */
.fw-table .elementor-widget-container p{ display:block; }
.fw-row{ display:flex; justify-content:space-between; gap:20px;
  padding:9px 0; border-bottom:1px solid #E9E5DA; font-size:15px; }
.fw-row:last-child{ border-bottom:0; }
.fw-row span:last-child{ font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--fw-ink); }

/* photo + map placeholders read as slots, not as content */
.elementor .fw-eyebrow + .fw-muted .elementor-widget-container p{ max-width:34ch; margin-inline:auto !important; }

/* quote */
.fw-quote{ max-width:24ch; }
.fw-quote .elementor-heading-title{ max-width:20ch; margin-inline:auto !important; }

/* section headings never stretch past a comfortable measure */
.fw-h2 .elementor-heading-title{ max-width:18ch; }
.fw-center.fw-h2 .elementor-heading-title,
.fw-center.fw-h1 .elementor-heading-title{ max-width:none; }
.fw-h1 .elementor-heading-title{ max-width:16ch; margin-inline:auto !important; }

/* body copy measure */
.elementor .elementor-widget-text-editor .elementor-widget-container{ max-width:29em; }
.fw-center .elementor-widget-container{ margin-inline:auto !important; }

@media (max-width:1024px){
  .fw-h2 .elementor-heading-title, .fw-h1 .elementor-heading-title{ max-width:none; }
}
@media (max-width:767px){
  .fw-trust .elementor-column + .elementor-column{ border-left:0; }
  .fw-hero{ padding-top:90px !important; padding-bottom:90px !important; }
}

/* ---------- final corrections ---------- */

/* the pull quote must be wide, not a narrow column */
.fw-quote{ max-width:none !important; }
.fw-quote .elementor-heading-title{
  max-width:22ch !important; margin-inline:auto !important;
  font-size:clamp(26px,3.2vw,38px) !important; line-height:1.34 !important;
}
@media (min-width:900px){ .fw-quote .elementor-heading-title{ max-width:26ch !important; } }

/* body copy on dark grounds was too dim to read comfortably */
.fw-on-dark .elementor-widget-container p{ color:#CFD9C8 !important; font-size:16.5px !important; }
.fw-hero .fw-lede .elementor-widget-container p{ color:#DCE4D5 !important; }

/* headings: a slightly looser measure reads better at these sizes */
.fw-h2 .elementor-heading-title{ max-width:21ch; }
.fw-h3 .elementor-heading-title{ max-width:26ch; }

/* placeholder slots: caption sits centred and readable, not one word per line */
.fw-muted .elementor-widget-container{ max-width:40ch !important; margin-inline:auto !important; }
.fw-muted .elementor-widget-container p{ font-size:15px !important; }

/* stop the empty spacer section collecting a scrollbar */
.elementor-section:empty, .elementor-section .elementor-column:empty{ min-height:0; }

/* ---------- imagery ---------- */

/* route card images: consistent crop, subtle lift on hover */
.fw-card-img img{
  width:100%; height:230px; object-fit:cover; border-radius:2px; display:block;
  transition:opacity .25s ease;
}
.fw-card-img{ margin-bottom:20px !important; }
.elementor-column:hover .fw-card-img img{ opacity:.9; }

/* the venue photo column is a background image — give it a height to fill */
.fw-photo-col{ min-height:520px; background-size:cover !important; background-position:center !important; }

/* hero sits over a photograph now: a touch more weight on the type */
.fw-hero .elementor-heading-title{ text-shadow:0 1px 30px rgba(10,18,12,.35); }

@media (max-width:767px){
  .fw-card-img img{ height:190px; }
  .fw-photo-col{ min-height:280px; }
}


/* ---------- LOGO LOCKUP (header) ---------- */
/* Mark left, spanning two rows. Wordmark over the location line, both set to the
   same measure (166px) so the block reads as one flush-set unit. */
.fw-lockup > .elementor-element-populated > .elementor-widget-wrap,
.fw-lockup > .elementor-widget-wrap{
  display:grid !important;
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
  align-content:center;
  justify-content:start;
  column-gap:13px;
  row-gap:0;
}
.fw-lockup .elementor-widget{ width:auto !important; margin:0 !important; }

.fw-lockup .elementor-widget-html{ grid-column:1; grid-row:1 / span 2; line-height:0; align-self:center; }
.fw-mark-link{ display:block; line-height:0; }
.fw-mark-link svg{ display:block; width:48px; height:48px; }

.fw-lockup .fw-wordmark{ grid-column:2; grid-row:1; align-self:end; }
.fw-lockup .fw-strap{ grid-column:2; grid-row:2; align-self:start; }

.fw-lockup .fw-wordmark .elementor-heading-title,
.fw-lockup .fw-wordmark .elementor-heading-title a{
  font-size:27px !important; line-height:1 !important; white-space:nowrap;
}
.fw-lockup .fw-strap .elementor-heading-title,
.fw-lockup .fw-strap .elementor-heading-title a{
  font-family:"Jost","Helvetica Neue",Arial,sans-serif !important;
  font-size:8px !important;
  font-weight:500 !important;
  letter-spacing:.155em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  color:#C9A461 !important;
  white-space:nowrap;
  display:block;
  transition:color .25s ease;
}
.fw-lockup .fw-strap{ margin-top:8px !important; }
.fw-lockup .fw-strap .elementor-heading-title a:hover{ color:#EBD293 !important; }

/* the dark panel hugs the lockup at every desktop width instead of being a
   percentage that goes slack on wide screens and overflows on narrow ones */
@media (min-width:1025px){
  .elementor-column.fw-lockup{ width:auto !important; flex:0 0 auto !important; }
  .elementor-column.fw-lockup + .elementor-column{ flex:1 1 auto !important; width:auto !important; }
}

@media (max-width:1024px){
  .fw-mark-link svg{ width:42px; height:42px; }
  .fw-lockup .fw-wordmark .elementor-heading-title,
  .fw-lockup .fw-wordmark .elementor-heading-title a{ font-size:23px !important; letter-spacing:2px !important; }
  .fw-lockup .fw-strap .elementor-heading-title,
  .fw-lockup .fw-strap .elementor-heading-title a{ font-size:7px !important; letter-spacing:.13em !important; }
  .fw-lockup > .elementor-element-populated > .elementor-widget-wrap{ column-gap:11px; }
  .fw-lockup .fw-strap{ margin-top:7px !important; }
}
@media (max-width:600px){
  .fw-mark-link svg{ width:38px; height:38px; }
  .fw-lockup .fw-wordmark .elementor-heading-title,
  .fw-lockup .fw-wordmark .elementor-heading-title a{ font-size:20px !important; letter-spacing:1.5px !important; }
  .fw-lockup .fw-strap .elementor-heading-title,
  .fw-lockup .fw-strap .elementor-heading-title a{ font-size:6.4px !important; letter-spacing:.1em !important; }
  .fw-lockup .fw-strap{ margin-top:6px !important; }
}

/* spec rows sitting on the dark ground */
.fw-on-dark .fw-row{ border-bottom-color:rgba(240,238,228,.15); font-size:16px; }
.fw-on-dark .fw-row span:first-child{ color:#E4E2D6; }
.fw-on-dark .fw-row span:last-child{ color:#C9A461; }
.fw-on-dark .fw-row:last-child{ border-bottom:0; }

/* ---------- VENUE MAP ---------- */
.fw-map{ background:#FCFBF7; border:1px solid #E7E3D5; padding:14px 14px 6px; }
.fw-map svg{ display:block; width:100%; height:auto; }
.fw-map-legend{ list-style:none; margin:26px 0 14px; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:14px 26px; }
.fw-map-legend li{ display:flex; gap:10px; align-items:center; font-family:"Jost",Arial,sans-serif; font-size:13px; letter-spacing:.02em; color:var(--fw-ink-2); }
.fw-map-legend .fw-pin{ flex:0 0 auto; width:23px; height:23px; border-radius:50%; background:var(--fw-forest); color:#F3F1E8; border:1px solid var(--fw-brass); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:500; }
@media (max-width:1024px){ .fw-map-legend{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px){ .fwmap-lbl{ display:none; } }
@media (max-width:760px){
  .fw-map-legend{ grid-template-columns:repeat(2,1fr); gap:12px 16px; }
  .fw-map{ padding:8px 8px 2px; }
}

/* ---------- ENQUIRY FORM ---------- */
.fw-form-card{ border:1px solid #E7E3D5; }
.fw-form .elementor-field-group > label{ font-family:"Jost",Arial,sans-serif !important; font-size:10.5px !important; letter-spacing:.2em !important; text-transform:uppercase !important; color:var(--fw-ink-3) !important; margin-bottom:8px !important; }
.fw-form input[type=text], .fw-form input[type=email], .fw-form input[type=tel], .fw-form textarea, .fw-form select{
  border:1px solid #DCD6C4 !important; border-radius:0 !important; background:#FCFBF7 !important;
  font-family:"Jost",Arial,sans-serif !important; font-size:15px !important; color:var(--fw-ink) !important; padding:13px 14px !important; box-shadow:none !important; }
.fw-form input:focus, .fw-form textarea:focus, .fw-form select:focus{ border-color:var(--fw-brass) !important; outline:none !important; }
.fw-form .elementor-button[type=submit], .fw-form button[type=submit]{
  background:var(--fw-forest) !important; color:#F3F1E8 !important; border:0 !important; border-radius:0 !important;
  font-family:"Jost",Arial,sans-serif !important; font-size:11px !important; font-weight:500 !important;
  letter-spacing:.2em !important; text-transform:uppercase !important; padding:19px 26px !important; transition:background .25s ease; }
.fw-form .elementor-button[type=submit]:hover, .fw-form button[type=submit]:hover{ background:var(--fw-moss) !important; }
.fw-form .elementor-message{ font-family:"Jost",Arial,sans-serif !important; font-size:14px !important; }
.fw-body a, .fw-lede a{ color:var(--fw-brass); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.fw-body a:hover, .fw-lede a:hover{ color:var(--fw-moss); }

/* ---------- STICKY MOBILE CTA ---------- */
.fw-mcta{ display:none; }
@media (max-width:1100px){
  .fw-mcta{ display:flex; position:fixed; left:0; right:0; bottom:0; z-index:9990;
    border-top:1px solid rgba(243,241,232,.14); box-shadow:0 -6px 24px rgba(16,26,19,.18); }
  .fw-mcta a{ flex:1 1 0; display:flex; align-items:center; justify-content:center; gap:8px;
    font-family:"Jost",Arial,sans-serif; font-size:11.5px; font-weight:500; letter-spacing:.18em; text-transform:uppercase;
    padding:17px 10px; text-decoration:none; }
  .fw-mcta .fw-mcta-b{ flex:0 0 42%; background:#12241A; color:#D9D5C6; }
  .fw-mcta .fw-mcta-a{ flex:1 1 58%; background:var(--fw-brass); color:#12241A; }
  .fw-mcta .fw-mcta-a:hover{ background:#EBD293; }
  body{ padding-bottom:58px; }
}
@media (max-width:380px){ .fw-mcta a{ font-size:10.5px; letter-spacing:.12em; padding:15px 6px; } }

/* fw-narrow caps the measure, which let two consecutive ledes share a flex row */
.elementor-widget.fw-lede, .elementor-widget.fw-body, .elementor-widget.fw-narrow{ width:100% !important; }
.fw-lede + .fw-lede .elementor-widget-container{ margin-top:-6px; }

/* the measure belongs on the inner container, not the flex item — otherwise two
   consecutive narrow paragraphs sit side by side instead of stacking */
.elementor-widget.fw-narrow{ width:100% !important; max-width:none !important; }
.elementor-widget.fw-narrow > .elementor-widget-container{ max-width:29em; margin-inline:auto !important; }
.fw-hero .fw-lede{ max-width:none !important; }
.fw-hero .fw-lede > .elementor-widget-container{ max-width:29em; margin-inline:auto !important; }

/* Elementor's optimised DOM drops .elementor-widget-container, so target children */
.elementor-widget.fw-narrow > *{ max-width:29em; margin-inline:auto !important; }
.fw-hero .fw-lede > *{ max-width:29em; margin-inline:auto !important; }

.elementor-widget.fw-narrow > *{ margin-left:auto !important; margin-right:auto !important; }
.fw-hero .fw-lede > *{ margin-left:auto !important; margin-right:auto !important; }

/* the theme sets p margins with !important, so this needs the extra weight */
body .elementor .elementor-element.fw-narrow > p,
body .elementor .elementor-element.fw-narrow > div,
body .elementor .fw-hero .fw-lede > p{
  max-width:29em !important; margin-left:auto !important; margin-right:auto !important; }

/* ---------- CONTRAST FIX ----------
   Several earlier rules target .elementor-widget-container, which this Elementor
   version omits, so on-dark paragraphs were falling back to dark grey ink on a
   dark photograph. These cover both DOM shapes. */
body .elementor .fw-on-dark > p,
body .elementor .fw-on-dark .elementor-widget-container p{ color:#DCE3D4 !important; }
body .elementor .fw-hero .fw-lede > p,
body .elementor .fw-hero .fw-lede .elementor-widget-container p{
  color:#EDF1E7 !important; font-size:19px !important; line-height:1.68 !important;
  text-shadow:0 1px 22px rgba(10,18,12,.55); }
body .elementor .fw-lede > p{ font-size:18px !important; line-height:1.7 !important; }
body .elementor .fw-muted > p{ color:var(--fw-ink-3) !important; font-size:15px !important; }
body .elementor .fw-hero .fw-eyebrow .elementor-heading-title{ color:#D8B96F !important; }

/* ---------- VENUE GUIDE (screen + print) ---------- */
.fw-guide{ max-width:860px; margin:0 auto; padding:56px 24px 90px; color:var(--fw-ink); }
.fw-guide h1{ font-family:"Cormorant Garamond",Georgia,serif !important; font-weight:300 !important; font-size:clamp(34px,5vw,52px) !important; line-height:1.08 !important; letter-spacing:normal !important; text-transform:none !important; margin:14px 0 18px !important; }
.fw-guide h2{ font-family:"Cormorant Garamond",Georgia,serif !important; font-weight:300 !important; font-size:clamp(26px,3.4vw,38px) !important; line-height:1.16 !important; letter-spacing:normal !important; text-transform:none !important; margin:10px 0 16px !important; }
.fw-guide h3, .fw-guide h4{ font-family:"Cormorant Garamond",Georgia,serif !important; font-weight:400 !important; font-size:20px !important; letter-spacing:normal !important; text-transform:none !important; margin:26px 0 8px !important; }
.fw-guide p{ font-size:16.5px; line-height:1.72; color:var(--fw-ink-2); margin:0 0 15px; }
.fw-guide .g-lead{ font-size:19px; color:var(--fw-ink); }
.fw-guide .g-note{ font-size:14px; color:var(--fw-ink-3); }
.fw-guide .g-tbc{ color:var(--fw-ink-3); font-style:italic; }
.fw-guide .g-eyebrow{ font-family:"Jost",Arial,sans-serif; font-size:10.5px; font-weight:500; letter-spacing:.26em; text-transform:uppercase; color:var(--fw-brass); }
.fw-guide section{ margin-top:56px; padding-top:40px; border-top:1px solid var(--fw-hair); }
.fw-guide .g-cover{ text-align:center; padding-bottom:8px; }
.fw-guide .g-cover .g-lead{ max-width:29em; margin:0 auto 26px; }
.fw-guide .g-two{ display:grid; grid-template-columns:1fr 1fr; gap:20px 46px; margin-top:18px; }
.fw-guide .g-row{ display:flex; justify-content:space-between; gap:18px; padding:9px 0; border-bottom:1px solid #EAE6D9; font-size:15px; color:var(--fw-ink-2); }
.fw-guide .g-row span:last-child{ color:var(--fw-ink); white-space:nowrap; font-variant-numeric:tabular-nums; }
.fw-guide .g-tier h3, .fw-guide .g-tier h4{ margin-top:0 !important; }
.fw-guide .fw-map{ margin:26px 0 8px; }
.fw-guide .g-contact{ margin-top:34px; padding:26px 28px; background:var(--fw-forest); color:#DCE3D4; }
.fw-guide .g-contact p{ color:#C9D2C4; margin:0; }
.fw-guide .g-contact .g-eyebrow{ color:var(--fw-gold,#C9A461); }
.fw-guide .g-url{ font-family:"Cormorant Garamond",Georgia,serif; font-size:30px; color:#F3F1E8; margin:8px 0 12px; }
.fw-print-btn{ font-family:"Jost",Arial,sans-serif; font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; background:var(--fw-forest); color:#F3F1E8; border:0; padding:16px 30px; cursor:pointer; transition:background .25s ease; }
.fw-print-btn:hover{ background:var(--fw-moss); }
@media (max-width:700px){ .fw-guide .g-two{ grid-template-columns:1fr; gap:6px; } }
@media print{
  header, footer, .fw-mcta, #wpadminbar, [data-elementor-type="header"], [data-elementor-type="footer"], .fw-print-btn{ display:none !important; }
  .fw-guide{ max-width:none; padding:0; }
  .fw-guide section{ page-break-before:always; border-top:0; margin-top:0; padding-top:0; }
  .fw-guide .g-break{ page-break-before:always; }
  .fw-guide .fw-map{ break-inside:avoid; }
  .fw-guide .g-row{ break-inside:avoid; }
  body{ background:#fff !important; padding-bottom:0 !important; }
  @page{ size:A4; margin:16mm 14mm; }
}

.fw-guide .g-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:6px; }
.fw-dl-btn{ display:inline-block; font-family:"Jost",Arial,sans-serif; font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; background:var(--fw-forest); color:#F3F1E8 !important; text-decoration:none !important; padding:17px 30px; transition:background .25s ease; }
.fw-dl-btn:hover{ background:var(--fw-moss); color:#F3F1E8 !important; }
.fw-guide .fw-print-btn{ background:transparent; color:var(--fw-forest); border:1px solid var(--fw-hair); }
.fw-guide .fw-print-btn:hover{ background:var(--fw-chalk); color:var(--fw-forest); }
@media print{ .fw-guide .g-actions{ display:none !important; } }


/* ================================================================
   CARDS — equal-height, bottom-aligned CTA, whole card clickable
   CARD ALIGNMENT
   Two faults this fixes:
   1. The button sat immediately under the body copy, so a card whose
      copy ran to four lines pushed its button ~28px below its
      neighbours. Columns were already equal height; the slack was
      just sitting at the bottom of the shorter ones.
   2. Only the small button was a link. The photo and the headline —
      the two things people actually click in a card — were inert.
      The stretched-link pattern below makes the whole card the click
      target while keeping exactly ONE anchor in the markup, so there
      are no duplicate links to the same URL for Google to weigh.
   ================================================================ */
.elementor-column.fw-card > .elementor-widget-wrap,
.elementor-column:has(> .elementor-widget-wrap > .fw-card-img) > .elementor-widget-wrap{
  position:relative;
  height:100%;
}

/* push the CTA to the foot of the card */
.elementor-column.fw-card > .elementor-widget-wrap > .fw-btn,
.elementor-column:has(> .elementor-widget-wrap > .fw-card-img) > .elementor-widget-wrap > .fw-btn{
  margin-top:auto;
  padding-top:8px;
}

/* stretched link — the anchor's own pseudo-element covers the card,
   so hovering anywhere lights the button up for free */
.elementor-column.fw-card > .elementor-widget-wrap > .fw-btn > a::after,
.elementor-column:has(> .elementor-widget-wrap > .fw-card-img) > .elementor-widget-wrap > .fw-btn > a::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
}

/* any genuine link inside the copy must stay reachable above it */
.elementor-column.fw-card .fw-body a,
.elementor-column:has(> .elementor-widget-wrap > .fw-card-img) .fw-body a{
  position:relative;
  z-index:3;
}

/* the card should read as one object under the cursor */
.fw-card-img{ overflow:hidden; }
.fw-card-img img{
  transition:transform .65s cubic-bezier(.2,.7,.3,1);
  will-change:transform;
  display:block;
}
.elementor-column.fw-card:has(> .elementor-widget-wrap > .fw-btn) > .elementor-widget-wrap:hover .fw-card-img img,
.elementor-column:has(> .elementor-widget-wrap > .fw-card-img):has(> .elementor-widget-wrap > .fw-btn) > .elementor-widget-wrap:hover .fw-card-img img{
  transform:scale(1.045);
}
.elementor-column.fw-card:has(> .elementor-widget-wrap > .fw-btn) > .elementor-widget-wrap:hover .fw-h3,
.elementor-column:has(> .elementor-widget-wrap > .fw-card-img):has(> .elementor-widget-wrap > .fw-btn) > .elementor-widget-wrap:hover .fw-h3{
  color:var(--fw-brass);
}
.fw-h3{ transition:color .3s ease; }

/* The cursor must agree that the whole thing is clickable — but ONLY where
   there is actually somewhere to go. Eight card columns on /the-venue/ and
   /tipi-wedding-venue/ are illustrative and carry no CTA; a pointer and a
   hover lift on those would promise a click that does nothing, which is
   worse than no affordance at all. */
.elementor-column.fw-card:has(> .elementor-widget-wrap > .fw-btn) > .elementor-widget-wrap,
.elementor-column:has(> .elementor-widget-wrap > .fw-card-img):has(> .elementor-widget-wrap > .fw-btn) > .elementor-widget-wrap{
  cursor:pointer;
}

/* --- CARD ALIGNMENT, correction -------------------------------
   The legacy Elementor column wrap is flex-direction:row with
   flex-wrap:wrap — every widget is its own 100%-wide line. In a row
   container margin-top:auto aligns an item to the bottom of ITS OWN
   line, not the card, so the CTA never moved. Switching these card
   wraps to a true column makes auto behave, and beats the earlier
   .fw-btn{margin-top:14px !important} on specificity.
   ------------------------------------------------------------- */
.elementor-column.fw-card > .elementor-widget-wrap,
.elementor-column:has(> .elementor-widget-wrap > .fw-card-img) > .elementor-widget-wrap{ flex-direction:column !important; flex-wrap:nowrap !important; align-items:stretch; align-content:stretch; }

.elementor-column.fw-card > .elementor-widget-wrap > .fw-btn,
.elementor-column:has(> .elementor-widget-wrap > .fw-card-img) > .elementor-widget-wrap > .fw-btn{ margin-top:auto !important; }

/* ================================================================
   BROCHURE GATE  — the guide is exchanged for a name and an email
   ================================================================ */
.fw-gate{ max-width:560px; margin:0 auto; text-align:left; }
.fw-gate-grid{ display:grid; gap:16px; margin-bottom:22px; }
.fw-gate label{ display:block; }
.fw-gate label span{ display:block; font-family:Jost,system-ui,sans-serif; font-size:11px;
  letter-spacing:.16em; text-transform:uppercase; color:#8A9186; margin-bottom:7px; }
.fw-gate input[type=text],
.fw-gate input[type=email]{ width:100%; padding:13px 15px; border:1px solid #CFD5C8;
  background:#FCFBF6; font-family:Jost,system-ui,sans-serif; font-size:15px; color:#223428;
  border-radius:0; -webkit-appearance:none; transition:border-color .2s ease; }
.fw-gate input[type=text]:focus,
.fw-gate input[type=email]:focus{ outline:none; border-color:#A98A4B; }
.fw-gate-btn{ display:inline-block; padding:15px 34px; background:#1C3427; color:#F3F1E8;
  border:1px solid #1C3427; font-family:Jost,system-ui,sans-serif; font-size:12px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase; cursor:pointer; text-decoration:none;
  transition:background .25s ease, color .25s ease; }
.fw-gate-btn:hover{ background:#A98A4B; border-color:#A98A4B; color:#12241A; }
.fw-gate-small{ margin-top:16px; font-size:13.5px; line-height:1.6; color:#6F776D; }
.fw-gate-note{ font-family:'Cormorant Garamond',Georgia,serif; font-size:22px; color:#223428; margin-bottom:16px; }
/* the honeypot must be reachable by screen readers but never seen or tabbed to */
.fw-gate-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
@media (min-width:620px){ .fw-gate-grid{ grid-template-columns:1fr 1fr; }
  .fw-gate-grid label:last-child{ grid-column:1 / -1; } }

/* ================================================================
   FOOTER — rebuilt
   The old footer was near-black (not a brand colour), 679px tall with
   a large empty void, printed the email address twice, and linked to
   pages that no longer exist. This is the brand green, and carries the
   name/address/contact block a venue needs for local search.

   Note on selectors: this Elementor build puts the widget class on the
   OUTER wrapper while the theme colours the inner .elementor-heading-
   title, so colour has to be set on the inner node or the theme's
   near-black wins and the headings vanish into the dark background.
   ================================================================ */
[data-elementor-type="footer"] .elementor-column{ padding-right:34px; }

[data-elementor-type="footer"] .fw-flogo .elementor-heading-title{ font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:30px !important; font-weight:300 !important; letter-spacing:.09em !important;
  color:#F3F1E8 !important; line-height:1.1 !important; }
[data-elementor-type="footer"] .fw-fstrap .elementor-heading-title{ font-family:Jost,system-ui,sans-serif !important;
  font-size:10.5px !important; font-weight:500 !important; letter-spacing:.22em !important;
  text-transform:uppercase !important; color:#C9A461 !important; margin-top:8px !important; }
[data-elementor-type="footer"] .fw-fhead .elementor-heading-title{ font-family:Jost,system-ui,sans-serif !important;
  font-size:10.5px !important; font-weight:500 !important; letter-spacing:.2em !important;
  text-transform:uppercase !important; color:#C9A461 !important; margin-bottom:20px !important; }

[data-elementor-type="footer"] .fw-fabout p{ color:#9FAE9B !important; font-size:14px !important; line-height:1.75 !important;
  margin-top:20px !important; max-width:34ch; }

[data-elementor-type="footer"] ul.fw-fnav{ list-style:none !important; margin:0 !important; padding:0 !important; }
[data-elementor-type="footer"] ul.fw-fnav li{ margin:0 0 11px !important; }
[data-elementor-type="footer"] ul.fw-fnav a{ color:#DCE3D4 !important; text-decoration:none; font-size:14.5px; line-height:1.5;
  border-bottom:1px solid transparent; transition:color .2s ease, border-color .2s ease; }
[data-elementor-type="footer"] ul.fw-fnav a:hover{ color:#F3F1E8 !important; border-bottom-color:#A98A4B; }

[data-elementor-type="footer"] p.fw-fcontact{ color:#DCE3D4 !important; font-size:14.5px !important; line-height:1.7 !important;
  margin:0 0 16px !important; }
[data-elementor-type="footer"] p.fw-fcontact strong{ color:#F3F1E8 !important; font-weight:500; }
[data-elementor-type="footer"] p.fw-fcontact a{ color:#DCE3D4 !important; text-decoration:none; border-bottom:1px solid rgba(201,164,97,.5); }
[data-elementor-type="footer"] p.fw-fcontact a:hover{ color:#F3F1E8 !important; border-bottom-color:#C9A461; }
[data-elementor-type="footer"] .fw-fmuted{ color:#8A9186 !important; font-size:13px; }

[data-elementor-type="footer"] .fw-fbtn a{ display:inline-block; margin-top:4px; padding:13px 26px; background:transparent;
  border:1px solid #4A5C4E; color:#F3F1E8 !important; font-family:Jost,system-ui,sans-serif;
  font-size:11px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; text-decoration:none;
  transition:background .25s ease, border-color .25s ease, color .25s ease; }
[data-elementor-type="footer"] .fw-fbtn a:hover{ background:#C9A461; border-color:#C9A461; color:#12241A !important; }

[data-elementor-type="footer"] .fw-flegal p{ color:#7E8A7C !important; font-size:12.5px !important; margin:0 !important; }
[data-elementor-type="footer"] ul.fw-flegal-nav{ list-style:none !important; margin:0 !important; padding:0 !important;
  display:flex; gap:26px; justify-content:flex-end; }
[data-elementor-type="footer"] ul.fw-flegal-nav li{ margin:0 !important; }
[data-elementor-type="footer"] ul.fw-flegal-nav a{ color:#7E8A7C !important; font-size:12.5px; text-decoration:none; }
[data-elementor-type="footer"] ul.fw-flegal-nav a:hover{ color:#C9A461 !important; }

@media (max-width:1024px){
  [data-elementor-type="footer"] .elementor-column{ padding-right:20px; }
  [data-elementor-type="footer"] .fw-fabout p{ max-width:none; }
}
@media (max-width:767px){
  [data-elementor-type="footer"] .elementor-column{ margin-bottom:38px; }
  [data-elementor-type="footer"] ul.fw-flegal-nav{ justify-content:flex-start; margin-top:12px; }
  /* the sticky mobile CTA overlays the footer, so buy the last row some room */
  [data-elementor-type="footer"] .elementor-section:last-child{ padding-bottom:76px !important; }
}

/* ================================================================
   HEADER NAV
   Ten top-level items needed 1199px and wrapped onto two lines on
   every laptop. Grouping four of them under a The Venue dropdown and
   moving Corporate to the utility bar took the menu to 652px, so the
   emergency type-shrinking that was holding it on one line is no
   longer needed and the links go back to a readable size.
   ================================================================ */
[data-elementor-type="header"] .elementor-nav-menu{ flex-wrap:nowrap !important; margin-right:18px; }
[data-elementor-type="header"] .elementor-nav-menu > li > a{ white-space:nowrap; }
@media (min-width:1025px) and (max-width:1439px){
  [data-elementor-type="header"] .elementor-nav-menu > li > a{ padding-left:15px !important; padding-right:15px !important; }
}

/* ---- The Venue dropdown ----------------------------------------
   Elementor's default submenu is pure black, which belongs to no part
   of this palette. Brand green, a brass hairline to tie it to the
   logo, and square corners to match everything else.
   ---------------------------------------------------------------- */
[data-elementor-type="header"] ul.elementor-nav-menu--dropdown{
  background:#12241A !important;
  border-top:2px solid #C9A461;
  min-width:224px !important;
  padding:8px 0 !important;
  box-shadow:0 18px 40px rgba(10,18,12,.28);
}
[data-elementor-type="header"] ul.elementor-nav-menu--dropdown a.elementor-sub-item{
  color:#DCE3D4 !important;
  background:transparent !important;
  font-family:Jost,system-ui,sans-serif !important;
  font-size:12.5px !important;
  font-weight:400 !important;
  letter-spacing:.08em !important;
  text-transform:none !important;
  padding:11px 22px !important;
  border-left:2px solid transparent;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
[data-elementor-type="header"] ul.elementor-nav-menu--dropdown a.elementor-sub-item:hover,
[data-elementor-type="header"] ul.elementor-nav-menu--dropdown a.elementor-sub-item:focus,
[data-elementor-type="header"] ul.elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active{
  background:rgba(201,164,97,.13) !important;
  color:#F3F1E8 !important;
  border-left-color:#C9A461;
}
/* the parent should stay lit while its dropdown is open */
[data-elementor-type="header"] .elementor-nav-menu li.menu-item-has-children:hover > a{ color:#A98A4B !important; }

/* The nav was the only thing on the site rendering in Roboto, which meant
   loading a whole extra font family for one row of links. nav in Jost. */
[data-elementor-type="header"] .elementor-nav-menu > li > a,
[data-elementor-type="header"] ul.elementor-nav-menu--dropdown a.elementor-sub-item{
  font-family:Jost,system-ui,-apple-system,"Segoe UI",sans-serif !important;
}

/* The utility-bar icons are dead weight: four of the five are empty spans
   (their SVGs were hotlinked from the theme author's demo server and no
   longer resolve) and the fifth fell back to a generic tick. Hiding the
   icon column removes the stray tick and reclaims the gaps. */
[data-elementor-type="header"] .elementor-icon-list-icon{ display:none !important; }
[data-elementor-type="header"] .elementor-icon-list-text{ padding-left:0 !important; }

/* ================================================================
   LEGAL PAGES  (privacy policy, terms)
   These are plain WordPress pages rather than Elementor ones, so they
   inherited nothing from the design system: full 1900px measure, the
   theme default serif at 50px, no page title. Long legal copy is the
   text people are least likely to read, which is exactly why it should
   be set well - a readable measure and real hierarchy is the difference
   between terms that look transparent and terms that look hidden.
   ================================================================ */
.fw-legal{
  max-width:720px; margin:0 auto; padding:84px 22px 110px;
  font-family:Jost,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:#2C382E;
}
.fw-legal-head{ margin-bottom:46px; }
.fw-legal-eyebrow{
  font-size:10.5px; font-weight:500; letter-spacing:.22em; text-transform:uppercase;
  color:#A98A4B; margin:0 0 16px;
}
.fw-legal h1{
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:44px !important; font-weight:300 !important; line-height:1.12 !important;
  color:#1C3427 !important; margin:0 0 20px !important; letter-spacing:.005em;
}
.fw-legal .fw-legal-intro{
  font-size:15.5px; line-height:1.7; color:#6F776D; margin:0;
  padding-bottom:30px; border-bottom:1px solid #E2E6DC;
}
.fw-legal h2{
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:29px !important; font-weight:300 !important; line-height:1.25 !important;
  color:#1C3427 !important; margin:54px 0 14px !important;
}
.fw-legal h3{
  font-family:Jost,system-ui,sans-serif !important;
  font-size:13.5px !important; font-weight:500 !important; letter-spacing:.06em;
  color:#2C382E !important; margin:30px 0 8px !important;
}
.fw-legal p{
  font-size:16px !important; font-weight:300 !important; line-height:1.78 !important;
  color:#3B463C !important; margin:0 0 18px !important;
}
.fw-legal ul{ margin:0 0 20px; padding-left:20px; }
.fw-legal li{
  font-size:16px; font-weight:300; line-height:1.72; color:#3B463C; margin-bottom:9px;
}
.fw-legal li::marker{ color:#A98A4B; }
.fw-legal a{ color:#2C382E; text-decoration:none; border-bottom:1px solid rgba(169,138,75,.55); }
.fw-legal a:hover{ color:#1C3427; border-bottom-color:#A98A4B; }
.fw-legal code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13.5px;
  background:#EFEFE7; padding:2px 6px; border-radius:2px; color:#2C382E;
}
.fw-legal em{ color:#6F776D; }
.fw-legal .fw-legal-foot{
  margin-top:56px; padding-top:26px; border-top:1px solid #E2E6DC;
  font-size:13.5px; color:#8A9186;
}
@media (max-width:600px){
  .fw-legal{ padding:56px 20px 80px; }
  .fw-legal h1{ font-size:34px !important; }
  .fw-legal h2{ font-size:25px !important; }
}

/* ================================================================
   FOUNDING-COUPLE OFFER
   Sits between the price tables and what-the-fee-buys, so a couple
   meets the reason the number can be lower immediately after meeting
   the number. Warmer ground and a brass rule mark it as an offer
   without a badge or a countdown - the whole site trades on not
   shouting, and a discount that shouts undoes the positioning it is
   meant to protect.
   ================================================================ */
.fw-offer{ border-top:2px solid #C9A461; }
.fw-offer .fw-eyebrow{ color:#A98A4B !important; }
.fw-offer-note > p{
  font-size:15px !important; line-height:1.7 !important; color:#6F776D !important;
  font-style:italic; max-width:29em; margin-left:auto !important; margin-right:auto !important;
}

/* ================================================================
   THE SATURDAY TIMELINE
   Six two-column sections with a hairline under each read as a table,
   not a running order. A table invites you to scan for the one row you
   want; a timeline asks you to read the day in sequence, which is the
   entire point of the section. A continuous brass spine with a marker
   at each hour does that, and holding the copy to a sane measure stops
   the eye travelling a thousand pixels to find the full stop.

   NOTE: targeted by Elementor element ID rather than a custom class.
   On this build, custom classes on SECTIONS and COLUMNS are stored but
   never rendered - only widget classes come through - so .fw-hero,
   .fw-offer and the rest never existed in the markup. Element IDs are
   stable here because these sections are not rebuilt by hand.
   ================================================================ */
.elementor-element-fw1010gpu3,
.elementor-element-fw10163rcs,
.elementor-element-fw1022e8zx,
.elementor-element-fw1028tk6m,
.elementor-element-fw10348a3v,
.elementor-element-fw1040nhz7{ --fw-spine:rgba(201,164,97,.26); }
.elementor-element-fw1010gpu3 > .elementor-container,
.elementor-element-fw10163rcs > .elementor-container,
.elementor-element-fw1022e8zx > .elementor-container,
.elementor-element-fw1028tk6m > .elementor-container,
.elementor-element-fw10348a3v > .elementor-container,
.elementor-element-fw1040nhz7 > .elementor-container{ position:relative; align-items:flex-start; }

/* the hour */
.elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:first-child,
.elementor-element-fw10163rcs > .elementor-container > .elementor-column:first-child,
.elementor-element-fw1022e8zx > .elementor-container > .elementor-column:first-child,
.elementor-element-fw1028tk6m > .elementor-container > .elementor-column:first-child,
.elementor-element-fw10348a3v > .elementor-container > .elementor-column:first-child,
.elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:first-child{ padding-top:3px; }
.elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:first-child .elementor-heading-title,
.elementor-element-fw10163rcs > .elementor-container > .elementor-column:first-child .elementor-heading-title,
.elementor-element-fw1022e8zx > .elementor-container > .elementor-column:first-child .elementor-heading-title,
.elementor-element-fw1028tk6m > .elementor-container > .elementor-column:first-child .elementor-heading-title,
.elementor-element-fw10348a3v > .elementor-container > .elementor-column:first-child .elementor-heading-title,
.elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:first-child .elementor-heading-title{
  font-family:Jost,system-ui,sans-serif !important;
  font-size:12px !important; font-weight:500 !important;
  letter-spacing:.16em !important; color:#C9A461 !important;
  text-align:right !important; padding-right:34px;
}

/* the spine, with a marker sitting on it level with the heading */
.elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:last-child,
.elementor-element-fw10163rcs > .elementor-container > .elementor-column:last-child,
.elementor-element-fw1022e8zx > .elementor-container > .elementor-column:last-child,
.elementor-element-fw1028tk6m > .elementor-container > .elementor-column:last-child,
.elementor-element-fw10348a3v > .elementor-container > .elementor-column:last-child,
.elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:last-child{
  position:relative;
  border-left:1px solid rgba(201,164,97,.26);
  padding-left:40px !important;
  padding-bottom:48px !important;
}
.elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:last-child::before,
.elementor-element-fw10163rcs > .elementor-container > .elementor-column:last-child::before,
.elementor-element-fw1022e8zx > .elementor-container > .elementor-column:last-child::before,
.elementor-element-fw1028tk6m > .elementor-container > .elementor-column:last-child::before,
.elementor-element-fw10348a3v > .elementor-container > .elementor-column:last-child::before,
.elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:last-child::before{
  content:""; position:absolute; left:-5px; top:37px;
  width:9px; height:9px; border-radius:50%;
  background:#C9A461; box-shadow:0 0 0 5px #1C3427;
}
/* the last marker is hollow and the spine stops: the day has finished */
.elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:last-child{ border-left-color:transparent; padding-bottom:8px !important; }
.elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:last-child::before{ background:#1C3427; border:1px solid #C9A461; }
.elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:last-child::after{ content:""; position:absolute; left:-1px; top:0; width:1px; height:18px; background:rgba(201,164,97,.26); }

.elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:last-child .fw-h3 .elementor-heading-title,
.elementor-element-fw10163rcs > .elementor-container > .elementor-column:last-child .fw-h3 .elementor-heading-title,
.elementor-element-fw1022e8zx > .elementor-container > .elementor-column:last-child .fw-h3 .elementor-heading-title,
.elementor-element-fw1028tk6m > .elementor-container > .elementor-column:last-child .fw-h3 .elementor-heading-title,
.elementor-element-fw10348a3v > .elementor-container > .elementor-column:last-child .fw-h3 .elementor-heading-title,
.elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:last-child .fw-h3 .elementor-heading-title{
  font-size:26px !important; line-height:1.24 !important;
}
.elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:last-child .fw-body > p,
.elementor-element-fw10163rcs > .elementor-container > .elementor-column:last-child .fw-body > p,
.elementor-element-fw1022e8zx > .elementor-container > .elementor-column:last-child .fw-body > p,
.elementor-element-fw1028tk6m > .elementor-container > .elementor-column:last-child .fw-body > p,
.elementor-element-fw10348a3v > .elementor-container > .elementor-column:last-child .fw-body > p,
.elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:last-child .fw-body > p{
  max-width:29em; font-size:15.5px !important; line-height:1.72 !important;
  color:#B7C4B2 !important; margin-top:10px !important;
}

@media (max-width:767px){
  .elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:first-child .elementor-heading-title,
  .elementor-element-fw10163rcs > .elementor-container > .elementor-column:first-child .elementor-heading-title,
  .elementor-element-fw1022e8zx > .elementor-container > .elementor-column:first-child .elementor-heading-title,
  .elementor-element-fw1028tk6m > .elementor-container > .elementor-column:first-child .elementor-heading-title,
  .elementor-element-fw10348a3v > .elementor-container > .elementor-column:first-child .elementor-heading-title,
  .elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:first-child .elementor-heading-title{ text-align:left !important; padding-right:0; }
  .elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:last-child,
  .elementor-element-fw10163rcs > .elementor-container > .elementor-column:last-child,
  .elementor-element-fw1022e8zx > .elementor-container > .elementor-column:last-child,
  .elementor-element-fw1028tk6m > .elementor-container > .elementor-column:last-child,
  .elementor-element-fw10348a3v > .elementor-container > .elementor-column:last-child,
  .elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:last-child{ border-left:none; padding-left:0 !important; padding-bottom:34px !important; }
  .elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:last-child::before,
  .elementor-element-fw10163rcs > .elementor-container > .elementor-column:last-child::before,
  .elementor-element-fw1022e8zx > .elementor-container > .elementor-column:last-child::before,
  .elementor-element-fw1028tk6m > .elementor-container > .elementor-column:last-child::before,
  .elementor-element-fw10348a3v > .elementor-container > .elementor-column:last-child::before,
  .elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:last-child::before{ display:none; }
  .elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:last-child::after{ display:none; }
}

/* the founding-couple offer, same reason: section classes do not render */
.elementor-element-of0jz3a{ border-top:2px solid #C9A461 !important; }
.elementor-element-of0jz3a .fw-eyebrow .elementor-heading-title{ color:#A98A4B !important; }

/* Kill the old row rules: each widget-wrap carried a top hairline and 26px
   of padding, which was the previous separator design. Left in place it
   cuts the new spine into six disconnected stubs and doubles the vertical
   gaps. The spine replaces it. */
.elementor-element-fw1010gpu3 .elementor-widget-wrap,
.elementor-element-fw10163rcs .elementor-widget-wrap,
.elementor-element-fw1022e8zx .elementor-widget-wrap,
.elementor-element-fw1028tk6m .elementor-widget-wrap,
.elementor-element-fw10348a3v .elementor-widget-wrap,
.elementor-element-fw1040nhz7 .elementor-widget-wrap{
  border-top:0 !important;
  border-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:last-child,
.elementor-element-fw10163rcs > .elementor-container > .elementor-column:last-child,
.elementor-element-fw1022e8zx > .elementor-container > .elementor-column:last-child,
.elementor-element-fw1028tk6m > .elementor-container > .elementor-column:last-child,
.elementor-element-fw10348a3v > .elementor-container > .elementor-column:last-child,
.elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:last-child{ padding-top:26px !important; padding-bottom:38px !important; }
.elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:first-child,
.elementor-element-fw10163rcs > .elementor-container > .elementor-column:first-child,
.elementor-element-fw1022e8zx > .elementor-container > .elementor-column:first-child,
.elementor-element-fw1028tk6m > .elementor-container > .elementor-column:first-child,
.elementor-element-fw10348a3v > .elementor-container > .elementor-column:first-child,
.elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:first-child{ padding-top:33px !important; }

/* the spine begins at the first marker rather than running up into the
   heading above it, and stops at the last */
.elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:last-child{ border-left-color:transparent !important; }
.elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:last-child{ background-image:linear-gradient(rgba(201,164,97,.26),rgba(201,164,97,.26)); background-size:1px calc(100% - 37px); background-position:0 37px; background-repeat:no-repeat; }

/* ================================================================
   HEADER CTA BREATHING ROOM
   The button sat flush against the right edge of the container - zero
   gap. The logo block on the left is deliberately flush (it is a solid
   panel bleeding off the edge), but a bordered button doing the same
   reads as clipped rather than intentional, because it has an outline
   that stops dead at the viewport.
   ================================================================ */
[data-elementor-type="header"] .elementor-element-1720336{ padding-right:44px !important; }
@media (max-width:1439px){
  [data-elementor-type="header"] .elementor-element-1720336{ padding-right:28px !important; }
}
@media (max-width:1024px){
  [data-elementor-type="header"] .elementor-element-1720336{ padding-right:20px !important; }
}

/* ==============================================================
   MOBILE FIXES  (7 Sep 2026)
   Measured in real viewports at 360 / 390 / 414 / 768, not by
   resizing a window. Five things were actually wrong.
   ============================================================== */

/* 1. Horizontal scroll on six pages, up to 251px of it.
      .fw-row's value column was white-space:nowrap - correct for a
      price (never break "£12,950" across two lines), wrong for a
      sentence, and several rows carry sentences. flex-basis:max-content
      is what decides between them: a price fits beside its label and
      stays hard right exactly as before; a sentence cannot fit, so it
      drops to its own full-width line and reads left-aligned instead
      of pushing the whole page sideways. */
.fw-row{ flex-wrap:wrap; row-gap:2px; }
.fw-row span:last-child{
  white-space:normal;
  flex:0 1 max-content;
  max-width:100%;
  margin-left:auto;
  text-align:left;
}

/* 2. The header strapline was set to 6.4px under 600px and 7px under
      900px. That is not small type, it is unreadable type. */
@media (max-width:900px){
  .fw-lockup .fw-strap .elementor-heading-title,
  .fw-lockup .fw-strap .elementor-heading-title a{
    font-size:9px !important; letter-spacing:.08em !important; }
}
@media (max-width:600px){
  .fw-lockup .fw-strap .elementor-heading-title,
  .fw-lockup .fw-strap .elementor-heading-title a{
    font-size:9px !important; letter-spacing:.05em !important; }
}

/* 3. The hamburger is the only way to navigate on a phone and its tap
      target was 30x30. Apple asks for 44, Google for 48. */
@media (max-width:1024px){
  [data-elementor-type="header"] .elementor-menu-toggle{
    min-width:44px !important; min-height:44px !important;
    display:flex !important; align-items:center; justify-content:center; }
}

/* 4. Section eyebrows carry real information on mobile - they are the
      band a price belongs to - and were 10.5px. */
@media (max-width:900px){
  .fw-eyebrow .elementor-heading-title{
    font-size:12px !important; letter-spacing:.18em !important; }
}

/* 5. Footer legal links were 18px tall and almost touching. */
@media (max-width:900px){
  .fw-flegal-nav a{ display:inline-block; padding:9px 0; }
}

/* 6. iOS Safari zooms the whole page whenever a tapped form field is
      under 16px. Every field on the enquiry form was 15px, so tapping
      "Your names" on an iPhone jumped the layout and left the visitor
      pinching back out - on the one page whose entire job is to produce
      enquiries. Mobile only; the desktop form is unchanged. */
@media (max-width:1024px){
  /* .fw-form input[type=...] is specificity 0,2,1 and already carried
     font-size:15px !important, so it beat the first attempt here. These
     match it and come later, which is what actually wins. */
  .fw-form input[type=text],
  .fw-form input[type=email],
  .fw-form input[type=tel],
  .fw-form input[type=date],
  .fw-form textarea,
  .fw-form select,
  .elementor-field-textual,
  input.elementor-field-textual,
  select.elementor-field-textual,
  textarea.elementor-field-textual,
  .fw-gate input[type="text"],
  .fw-gate input[type="email"],
  .fw-gate input[type="tel"],
  .fw-gate textarea,
  .fw-gate select{ font-size:16px !important; }
}

/* 7. Footer nav links were 22px tall and stacked ten deep - the classic
      mis-tap column. The link text does not change size; only the
      tappable box grows. */
@media (max-width:900px){
  .fw-fnav a{ display:inline-block; padding:9px 0; }
  [data-elementor-type="footer"] a[href^="mailto"]{ display:inline-block; padding:9px 0; }
}

/* 8. The sticky bar is the most-tapped thing on the site and its two
      labels were 10.5px. The bar is already 46px tall, so this is
      legibility rather than tap area. */
@media (max-width:900px){
  .fw-mcta .fw-mcta-a, .fw-mcta .fw-mcta-b{
    font-size:11.5px !important; letter-spacing:.14em !important; }
}

/* 9. THE MOBILE MENU WAS UNREADABLE.
      The dropdown panel renders on a white ground while every link
      inherits the header's white text. So on a phone the menu opened
      and showed exactly one item - whichever page you were already on,
      because the active item is the only one Elementor gives a
      background of its own. Nine links out of ten were white on white,
      and this is the only navigation a phone has. */
@media (max-width:1024px){
  .elementor-nav-menu--dropdown.elementor-nav-menu__container{
    background-color:#1E2620 !important;
    border-top:1px solid rgba(240,238,228,.14) !important; }
  .elementor-nav-menu--dropdown a.elementor-item,
  .elementor-nav-menu--dropdown a.elementor-item:focus{
    color:#F0EEE4 !important;
    border-bottom:1px solid rgba(240,238,228,.10) !important; }
  .elementor-nav-menu--dropdown a.elementor-sub-item{
    color:#DCE3D4 !important; }
  .elementor-nav-menu--dropdown .sub-menu{
    background-color:rgba(0,0,0,.20) !important; }
  .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
  .elementor-nav-menu--dropdown a.elementor-item-active{
    background-color:rgba(169,138,75,.18) !important;
    color:#D8BE86 !important; }
  .elementor-nav-menu--dropdown a.elementor-item:hover{
    background-color:rgba(240,238,228,.06) !important; }
}

/* ==============================================================
   HERO BACKGROUNDS ON PHONES  (7 Sep 2026)
   Every hero on the site is an Elementor section background, and
   every one of them pointed at the full-size original: up to 782KB
   for a photograph displayed 390px wide behind a dark overlay.
   srcset cannot help a CSS background, so nothing that had been
   done to the <img> tags touched these - they were the single
   largest thing a phone downloaded, and they were invisible to the
   earlier measurements because those only counted <img> elements.
   WordPress had already generated 768px versions; these just point
   at them below 820px. Desktop keeps the full-resolution files.
   ============================================================== */
@media (max-width:820px){
  /* bride-woodland-path: 774KB -> 195KB */
  .elementor-element-fw294ob1,
  .elementor-element-fw294ob1 > .elementor-widget-wrap,
  .elementor-element-vq3d81,
  .elementor-element-vq3d81 > .elementor-widget-wrap,
  .elementor-element-tp5zrxe,
  .elementor-element-tp5zrxe > .elementor-widget-wrap,
  .elementor-element-c5ep99,
  .elementor-element-c5ep99 > .elementor-widget-wrap,
  .elementor-element-upbdf8,
  .elementor-element-upbdf8 > .elementor-widget-wrap,
  .elementor-element-p41y9c,
  .elementor-element-p41y9c > .elementor-widget-wrap{
    background-image:url("/wp-content/uploads/2026/09/bride-woodland-path-768x1024.jpg") !important; }
  /* forest-ceremony-path: 782KB -> 201KB */
  .elementor-element-fw6o4yc,
  .elementor-element-fw6o4yc > .elementor-widget-wrap,
  .elementor-element-fw5m0nv,
  .elementor-element-fw5m0nv > .elementor-widget-wrap,
  .elementor-element-u5ogq3,
  .elementor-element-u5ogq3 > .elementor-widget-wrap,
  .elementor-element-q4dnw1,
  .elementor-element-q4dnw1 > .elementor-widget-wrap{
    background-image:url("/wp-content/uploads/2026/09/forest-ceremony-path-768x1152.jpg") !important; }
  /* fire-pit-night: 123KB -> 28KB */
  .elementor-element-fwbcpn7,
  .elementor-element-fwbcpn7 > .elementor-widget-wrap,
  .elementor-element-u1usl5g,
  .elementor-element-u1usl5g > .elementor-widget-wrap,
  .elementor-element-p109em6,
  .elementor-element-p109em6 > .elementor-widget-wrap,
  .elementor-element-kpumot,
  .elementor-element-kpumot > .elementor-widget-wrap{
    background-image:url("/wp-content/uploads/2026/09/fire-pit-night-768x512.jpg") !important; }
  /* sunlit-forest-clearing: 421KB -> 94KB */
  .elementor-element-v5tphr,
  .elementor-element-v5tphr > .elementor-widget-wrap,
  .elementor-element-tpqyqds,
  .elementor-element-tpqyqds > .elementor-widget-wrap,
  .elementor-element-cq2wgz,
  .elementor-element-cq2wgz > .elementor-widget-wrap{
    background-image:url("/wp-content/uploads/2026/09/sunlit-forest-clearing-768x512.jpg") !important; }
  /* tipi-festoon-lights: 328KB -> 65KB */
  .elementor-element-v20020d,
  .elementor-element-v20020d > .elementor-widget-wrap,
  .elementor-element-c19umhh,
  .elementor-element-c19umhh > .elementor-widget-wrap{
    background-image:url("/wp-content/uploads/2026/09/tipi-festoon-lights-768x512.jpg") !important; }
  /* clearspan-canopy-seating: 543KB -> 103KB */
  .elementor-element-k5mwkg,
  .elementor-element-k5mwkg > .elementor-widget-wrap{
    background-image:url("/wp-content/uploads/2026/09/clearspan-canopy-seating-768x512.jpg") !important; }
}

/* ==============================================================
   DATE PICKER  (8 Sep 2026)
   A picker, deliberately not an availability calendar. With every
   date still open, a calendar showing what is free would announce
   that nothing is booked - the reverse of what it is meant to do.
   This asks the couple to name their date instead, and carries it
   into the enquiry form. When the calendar has weddings in it,
   the same component can start marking dates as taken.
   ============================================================== */
.fw-cal-open{ overflow:hidden; }
.fw-cal-veil{ position:fixed; inset:0; z-index:9998; background:rgba(15,22,17,.72);
  backdrop-filter:blur(3px); opacity:0; transition:opacity .28s ease; }
.fw-cal-veil.is-on{ opacity:1; }
.fw-cal{ position:fixed; z-index:9999; left:50%; top:50%; transform:translate(-50%,-46%);
  width:min(430px,calc(100vw - 32px)); background:#1E2620; color:#F0EEE4;
  border:1px solid rgba(201,164,97,.30); box-shadow:0 30px 80px rgba(0,0,0,.45);
  padding:30px 30px 26px; opacity:0; transition:opacity .3s ease, transform .3s ease; }
.fw-cal.is-on{ opacity:1; transform:translate(-50%,-50%); }
.fw-cal-eyebrow{ font-family:'Jost',sans-serif; font-size:10.5px; letter-spacing:.22em;
  text-transform:uppercase; color:#C9A461; text-align:center; }
.fw-cal-title{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:300; font-size:27px;
  text-align:center; margin:8px 0 22px; color:#F0EEE4; }
.fw-cal-nav{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.fw-cal-nav button{ background:none; border:1px solid rgba(240,238,228,.18); color:#F0EEE4;
  width:38px; height:38px; cursor:pointer; font-size:15px; line-height:1; transition:border-color .2s,background .2s; }
.fw-cal-nav button:hover:not(:disabled){ border-color:#C9A461; background:rgba(201,164,97,.10); }
.fw-cal-nav button:disabled{ opacity:.25; cursor:default; }
.fw-cal-month{ font-family:'Cormorant Garamond',Georgia,serif; font-size:21px; letter-spacing:.01em; }
.fw-cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.fw-cal-dow{ font-family:'Jost',sans-serif; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
  color:#8FA08C; text-align:center; padding:6px 0 8px; }
.fw-cal-day{ aspect-ratio:1; border:0; background:none; color:#E4E2D6; font-family:'Jost',sans-serif;
  font-size:14px; cursor:pointer; transition:background .18s, color .18s; }
.fw-cal-day:hover{ background:rgba(240,238,228,.10); }
.fw-cal-day.is-sat{ color:#D8BE86; }
.fw-cal-day.is-empty{ visibility:hidden; }
.fw-cal-day:disabled{ color:rgba(228,226,214,.22); cursor:default; background:none; }
.fw-cal-foot{ margin-top:20px; font-family:'Jost',sans-serif; font-size:12px; color:#A9B4A6;
  text-align:center; line-height:1.6; }
.fw-cal-close{ position:absolute; top:10px; right:12px; background:none; border:0; color:#8FA08C;
  font-size:22px; line-height:1; cursor:pointer; padding:6px; }
.fw-cal-close:hover{ color:#F0EEE4; }
@media (max-width:520px){ .fw-cal{ padding:26px 18px 20px; } .fw-cal-title{ font-size:23px; } }

/* The parent theme styles every <button> globally (brass fill, radius,
   shadow), which bled into the calendar cells. Reset inside the modal. */
.fw-cal button, .fw-cal-veil button{
  background:transparent !important; background-image:none !important;
  border-radius:0 !important; box-shadow:none !important; text-shadow:none !important;
  font-weight:400 !important; text-transform:none !important; letter-spacing:normal !important;
  min-width:0 !important; min-height:0 !important; margin:0 !important; }
.fw-cal .fw-cal-day{ border:0 !important; color:#E4E2D6 !important; padding:0 !important;
  font-family:'Jost',sans-serif !important; font-size:14px !important; }
.fw-cal .fw-cal-day:hover:not(:disabled){ background:rgba(240,238,228,.10) !important; }
.fw-cal .fw-cal-day.is-sat{ color:#D8BE86 !important; }
.fw-cal .fw-cal-day:disabled{ color:rgba(228,226,214,.22) !important; background:transparent !important; }
.fw-cal .fw-cal-nav button{ border:1px solid rgba(240,238,228,.18) !important; color:#F0EEE4 !important;
  padding:0 !important; font-size:15px !important; }
.fw-cal .fw-cal-nav button:hover:not(:disabled){ border-color:#C9A461 !important; background:rgba(201,164,97,.10) !important; }
.fw-cal .fw-cal-close{ color:#8FA08C !important; border:0 !important; font-size:22px !important; padding:6px !important; }
.fw-cal .fw-cal-close:hover{ color:#F0EEE4 !important; }

/* The calendar box is content-box, so its 343px width plus 36px of padding
   came to 381px inside a 375px phone - three pixels off each edge. Switch to
   border-box at the same total width (desktop unchanged) and cap it to the
   viewport so it can never hang off a narrow screen. */
.fw-cal{ box-sizing:border-box; width:379px; max-width:calc(100vw - 24px); }

/* ---------------------------------------------------------------
   MOBILE VERTICAL RHYTHM
   Every Elementor section on this site carries its desktop padding
   straight through to phones - up to 150px above and below, which
   on a 667px screen means a third of the viewport is empty before
   anything is read. Scaled to roughly 55% on phones, floored at
   44px so nothing becomes cramped. Section padding has to be
   targeted by element id; classes added to sections never render
   in this build, and Elementor's own rule is specificity 0,3,0 so
   the leading `body` is what wins this without !important.
   --------------------------------------------------------------- */
@media (max-width:820px){
  body .elementor-section.elementor-top-section.elementor-element-fw6o4yc,
  body .elementor-section.elementor-top-section.elementor-element-hpn126m,
  body .elementor-section.elementor-top-section.elementor-element-v5tphr,
  body .elementor-section.elementor-top-section.elementor-element-tp5zrxe,
  body .elementor-section.elementor-top-section.elementor-element-c5ep99,
  body .elementor-section.elementor-top-section.elementor-element-fw5m0nv,
  body .elementor-section.elementor-top-section.elementor-element-ty51wks,
  body .elementor-section.elementor-top-section.elementor-element-u5ogq3,
  body .elementor-section.elementor-top-section.elementor-element-p41y9c,
  body .elementor-section.elementor-top-section.elementor-element-k5mwkg,
  body .elementor-section.elementor-top-section.elementor-element-q4dnw1{ padding-top:64px; padding-bottom:64px; }
  body .elementor-section.elementor-top-section.elementor-element-fw303i8i,
  body .elementor-section.elementor-top-section.elementor-element-fw1058bs4l,
  body .elementor-section.elementor-top-section.elementor-element-fw2011qlpa,
  body .elementor-section.elementor-top-section.elementor-element-hpgzs7o,
  body .elementor-section.elementor-top-section.elementor-element-vr2iv3,
  body .elementor-section.elementor-top-section.elementor-element-v1zvvn5,
  body .elementor-section.elementor-top-section.elementor-element-v26i0pv,
  body .elementor-section.elementor-top-section.elementor-element-tprn589,
  body .elementor-section.elementor-top-section.elementor-element-tp1gujaf,
  body .elementor-section.elementor-top-section.elementor-element-tp1n9j35,
  body .elementor-section.elementor-top-section.elementor-element-cr77ad,
  body .elementor-section.elementor-top-section.elementor-element-c1fv94p,
  body .elementor-section.elementor-top-section.elementor-element-c1nx5v6,
  body .elementor-section.elementor-top-section.elementor-element-fwc7ibn,
  body .elementor-section.elementor-top-section.elementor-element-fw15tq1m,
  body .elementor-section.elementor-top-section.elementor-element-uq0pvs,
  body .elementor-section.elementor-top-section.elementor-element-u1tcb6k,
  body .elementor-section.elementor-top-section.elementor-element-u22480x,
  body .elementor-section.elementor-top-section.elementor-element-p166trt,
  body .elementor-section.elementor-top-section.elementor-element-p1f56n8,
  body .elementor-section.elementor-top-section.elementor-element-kq60of,
  body .elementor-section.elementor-top-section.elementor-element-k1lpz15,
  body .elementor-section.elementor-top-section.elementor-element-qh4tnr,
  body .elementor-section.elementor-top-section.elementor-element-q166zwy{ padding-top:57px; padding-bottom:57px; }
  body .elementor-section.elementor-top-section.elementor-element-fw10043hc3{ padding-top:57px; }
  body .elementor-section.elementor-top-section.elementor-element-fw1042jj67,
  body .elementor-section.elementor-top-section.elementor-element-fteweg3{ padding-top:44px; }
  body .elementor-section.elementor-top-section.elementor-element-hp6ra2e{ padding-top:62px; padding-bottom:62px; }
  body .elementor-section.elementor-top-section.elementor-element-ftj71b5{ padding-bottom:44px; }
  body .elementor-section.elementor-top-section.elementor-element-vw89n1,
  body .elementor-section.elementor-top-section.elementor-element-tpw3auf,
  body .elementor-section.elementor-top-section.elementor-element-tp1r4y9g,
  body .elementor-section.elementor-top-section.elementor-element-cv5xbj,
  body .elementor-section.elementor-top-section.elementor-element-c1rj0yv,
  body .elementor-section.elementor-top-section.elementor-element-fwh2hxs,
  body .elementor-section.elementor-top-section.elementor-element-uvjb1p,
  body .elementor-section.elementor-top-section.elementor-element-p90jqi,
  body .elementor-section.elementor-top-section.elementor-element-p1j1mdi,
  body .elementor-section.elementor-top-section.elementor-element-kui9xo,
  body .elementor-section.elementor-top-section.elementor-element-qler8u{ padding-top:53px; }
  body .elementor-section.elementor-top-section.elementor-element-v1crarz,
  body .elementor-section.elementor-top-section.elementor-element-v1sivq5,
  body .elementor-section.elementor-top-section.elementor-element-m59u2y,
  body .elementor-section.elementor-top-section.elementor-element-md03tr,
  body .elementor-section.elementor-top-section.elementor-element-c18oive,
  body .elementor-section.elementor-top-section.elementor-element-fwyfpuy,
  body .elementor-section.elementor-top-section.elementor-element-u18h1qg,
  body .elementor-section.elementor-top-section.elementor-element-u1lr2le,
  body .elementor-section.elementor-top-section.elementor-element-pmc1m6,
  body .elementor-section.elementor-top-section.elementor-element-pz0a6o,
  body .elementor-section.elementor-top-section.elementor-element-k145kuz,
  body .elementor-section.elementor-top-section.elementor-element-k1eevbh,
  body .elementor-section.elementor-top-section.elementor-element-qypooo{ padding-top:53px; padding-bottom:53px; }
  body .elementor-section.elementor-top-section.elementor-element-v2cvylw,
  body .elementor-section.elementor-top-section.elementor-element-fw1refrq,
  body .elementor-section.elementor-top-section.elementor-element-q1cx7jj{ padding-top:55px; padding-bottom:55px; }
  body .elementor-section.elementor-top-section.elementor-element-v2ihy7i,
  body .elementor-section.elementor-top-section.elementor-element-tp2hdpz2,
  body .elementor-section.elementor-top-section.elementor-element-c2h5hed,
  body .elementor-section.elementor-top-section.elementor-element-fw1xneqo,
  body .elementor-section.elementor-top-section.elementor-element-ty1a1ew9,
  body .elementor-section.elementor-top-section.elementor-element-u28zwgs,
  body .elementor-section.elementor-top-section.elementor-element-p27gbsu,
  body .elementor-section.elementor-top-section.elementor-element-k1rhijk{ padding-top:61px; padding-bottom:61px; }
  body .elementor-section.elementor-top-section.elementor-element-tp19qbpd,
  body .elementor-section.elementor-top-section.elementor-element-tp2bft2f,
  body .elementor-section.elementor-top-section.elementor-element-c2b89ku,
  body .elementor-section.elementor-top-section.elementor-element-p228hqr{ padding-bottom:53px; }
  body .elementor-section.elementor-top-section.elementor-element-of0jz3a{ padding-top:51px; padding-bottom:51px; }
  body .elementor-section.elementor-top-section.elementor-element-fw1aurrr{ padding-top:55px; }
  body .elementor-section.elementor-top-section.elementor-element-fw1k6xhy{ padding-top:57px; padding-bottom:55px; }
  body .elementor-section.elementor-top-section.elementor-element-tya3zkx,
  body .elementor-section.elementor-top-section.elementor-element-tygrk8v,
  body .elementor-section.elementor-top-section.elementor-element-tym42pq,
  body .elementor-section.elementor-top-section.elementor-element-tysvxzw,
  body .elementor-section.elementor-top-section.elementor-element-tyyjqvv,
  body .elementor-section.elementor-top-section.elementor-element-ty15p8ex,
  body .elementor-section.elementor-top-section.elementor-element-cx6lzmf,
  body .elementor-section.elementor-top-section.elementor-element-cxm37m3{ padding-top:48px; padding-bottom:48px; }
}

/* ---------------------------------------------------------------
   READING MEASURE
   Body copy was running 88-100 characters a line, and up to 183 in
   the widest blocks; 55-75 is where the eye reliably finds the next
   line. The cap is set in em rather than px so it holds at every
   font size on the site - 29em is about 72 characters in Jost at any
   size. Centred blocks keep auto side margins so they stay centred;
   left-aligned ones must not have them, or the block drifts inward.
   Below ~470px the cap is wider than the screen, so phones are
   untouched by it.
   --------------------------------------------------------------- */
.elementor-element-fw2220z2 p,
.elementor-element-fw2220z2 li,
.elementor-element-fw2340on p,
.elementor-element-fw2340on li,
.elementor-element-fw247yvs p,
.elementor-element-fw247yvs li,
.elementor-element-fw1008x8qd p,
.elementor-element-fw1008x8qd li,
.elementor-element-fw1014qjji p,
.elementor-element-fw1014qjji li,
.elementor-element-fw1026solr p,
.elementor-element-fw1026solr li,
.elementor-element-fw10324l84 p,
.elementor-element-fw10324l84 li,
.elementor-element-fw1038r2sh p,
.elementor-element-fw1038r2sh li,
.elementor-element-fw2003hoje p,
.elementor-element-fw2003hoje li,
.elementor-element-fw2009qzte p,
.elementor-element-fw2009qzte li,
.elementor-element-vlrx9r p,
.elementor-element-vlrx9r li,
.elementor-element-vmrepo p,
.elementor-element-vmrepo li,
.elementor-element-vn6gf7 p,
.elementor-element-vn6gf7 li,
.elementor-element-v235zms p,
.elementor-element-v235zms li,
.elementor-element-v24g2hs p,
.elementor-element-v24g2hs li,
.elementor-element-tpl1nv4 p,
.elementor-element-tpl1nv4 li,
.elementor-element-tpmicn0 p,
.elementor-element-tpmicn0 li,
.elementor-element-tpn47m0 p,
.elementor-element-tpn47m0 li,
.elementor-element-tp10g555 p,
.elementor-element-tp10g555 li,
.elementor-element-tp16iltd p,
.elementor-element-tp16iltd li,
.elementor-element-tp1k501f p,
.elementor-element-tp1k501f li,
.elementor-element-tp1leth5 p,
.elementor-element-tp1leth5 li,
.elementor-element-tp1t6pm4 p,
.elementor-element-tp1t6pm4 li,
.elementor-element-tp1vml48 p,
.elementor-element-tp1vml48 li,
.elementor-element-tp1xxk8q p,
.elementor-element-tp1xxk8q li,
.elementor-element-tp1zra4w p,
.elementor-element-tp1zra4w li,
.elementor-element-tp227n6g p,
.elementor-element-tp227n6g li,
.elementor-element-tp2497ta p,
.elementor-element-tp2497ta li,
.elementor-element-tp265nkt p,
.elementor-element-tp265nkt li,
.elementor-element-tp286x25 p,
.elementor-element-tp286x25 li,
.elementor-element-clq1c0 p,
.elementor-element-clq1c0 li,
.elementor-element-cmuyr1 p,
.elementor-element-cmuyr1 li,
.elementor-element-cnulq1 p,
.elementor-element-cnulq1 li,
.elementor-element-c1c1lyb p,
.elementor-element-c1c1lyb li,
.elementor-element-c1deetj p,
.elementor-element-c1deetj li,
.elementor-element-c1vyv23 p,
.elementor-element-c1vyv23 li,
.elementor-element-c1xhzf8 p,
.elementor-element-c1xhzf8 li,
.elementor-element-c1zvpa8 p,
.elementor-element-c1zvpa8 li,
.elementor-element-c22b6fd p,
.elementor-element-c22b6fd li,
.elementor-element-c262k76 p,
.elementor-element-c262k76 li,
.elementor-element-fw8jcjc p,
.elementor-element-fw8jcjc li,
.elementor-element-fw9shvn p,
.elementor-element-fw9shvn li,
.elementor-element-fw1dj5ke p,
.elementor-element-fw1dj5ke li,
.elementor-element-fw1h0tmw p,
.elementor-element-fw1h0tmw li,
.elementor-element-tyd65wv p,
.elementor-element-tyd65wv li,
.elementor-element-tyjzx0j p,
.elementor-element-tyjzx0j li,
.elementor-element-typow5x p,
.elementor-element-typow5x li,
.elementor-element-tyv12l3 p,
.elementor-element-tyv12l3 li,
.elementor-element-ul1y0p p,
.elementor-element-ul1y0p li,
.elementor-element-um9tb8 p,
.elementor-element-um9tb8 li,
.elementor-element-unwv7q p,
.elementor-element-unwv7q li,
.elementor-element-u1xazpe p,
.elementor-element-u1xazpe li,
.elementor-element-u1yj9i8 p,
.elementor-element-u1yj9i8 li,
.elementor-element-p14c9qs p,
.elementor-element-p14c9qs li,
.elementor-element-p1ldo09 p,
.elementor-element-p1ldo09 li,
.elementor-element-p1nbob4 p,
.elementor-element-p1nbob4 li,
.elementor-element-p1p25ij p,
.elementor-element-p1p25ij li,
.elementor-element-pf1kech p,
.elementor-element-pf1kech li,
.elementor-element-pf31rac p,
.elementor-element-pf31rac li,
.elementor-element-pf5b0px p,
.elementor-element-pf5b0px li,
.elementor-element-pf7yr6o p,
.elementor-element-pf7yr6o li,
.elementor-element-p1ubznd p,
.elementor-element-p1ubznd li,
.elementor-element-p1wco88 p,
.elementor-element-p1wco88 li,
.elementor-element-p1ywrkq p,
.elementor-element-p1ywrkq li,
.elementor-element-p20lwat p,
.elementor-element-p20lwat li,
.elementor-element-kld1jo p,
.elementor-element-kld1jo li,
.elementor-element-kmdioc p,
.elementor-element-kmdioc li,
.elementor-element-knp5qx p,
.elementor-element-knp5qx li,
.elementor-element-cxbi82e p,
.elementor-element-cxbi82e li,
.elementor-element-cxdqz0z p,
.elementor-element-cxdqz0z li,
.elementor-element-cxfrbke p,
.elementor-element-cxfrbke li,
.elementor-element-cxhm93l p,
.elementor-element-cxhm93l li,
.elementor-element-cxjp57l p,
.elementor-element-cxjp57l li,
.elementor-element-cxljyvl p,
.elementor-element-cxljyvl li,
.elementor-element-q9lkb1 p,
.elementor-element-q9lkb1 li,
.elementor-element-qb5gdr p,
.elementor-element-qb5gdr li,
.elementor-element-qflvxd p,
.elementor-element-qflvxd li{ max-width:29em; }

.elementor-element-fw3d61p p,
.elementor-element-fw3d61p li,
.elementor-element-hp2m8fw p,
.elementor-element-hp2m8fw li,
.elementor-element-hp3z9bl p,
.elementor-element-hp3z9bl li,
.elementor-element-hpj9n7l p,
.elementor-element-hpj9n7l li,
.elementor-element-hpkxi4m p,
.elementor-element-hpkxi4m li,
.elementor-element-v2p5qp p,
.elementor-element-v2p5qp li,
.elementor-element-vurz15 p,
.elementor-element-vurz15 li,
.elementor-element-m2vgmv p,
.elementor-element-m2vgmv li,
.elementor-element-v29c284 p,
.elementor-element-v29c284 li,
.elementor-element-tp2lcww p,
.elementor-element-tp2lcww li,
.elementor-element-tpuwbks p,
.elementor-element-tpuwbks li,
.elementor-element-tp2e0bmm p,
.elementor-element-tp2e0bmm li,
.elementor-element-c2ozm6 p,
.elementor-element-c2ozm6 li,
.elementor-element-fw2y3ta p,
.elementor-element-fw2y3ta li,
.elementor-element-fwf091q p,
.elementor-element-fwf091q li,
.elementor-element-fww5hql p,
.elementor-element-fww5hql li,
.elementor-element-of44887 p,
.elementor-element-of44887 li,
.elementor-element-of5wjhk p,
.elementor-element-of5wjhk li,
.elementor-element-of7cm9o p,
.elementor-element-of7cm9o li,
.elementor-element-fw18b1rb p,
.elementor-element-fw18b1rb li,
.elementor-element-fw1nt5ll p,
.elementor-element-fw1nt5ll li,
.elementor-element-fw1oees1 p,
.elementor-element-fw1oees1 li,
.elementor-element-fw1u1u13 p,
.elementor-element-fw1u1u13 li,
.elementor-element-ty2a1dh p,
.elementor-element-ty2a1dh li,
.elementor-element-ty86bkl p,
.elementor-element-ty86bkl li,
.elementor-element-ty11otmv p,
.elementor-element-ty11otmv li,
.elementor-element-ty17ltgn p,
.elementor-element-ty17ltgn li,
.elementor-element-u2bviy p,
.elementor-element-u2bviy li,
.elementor-element-u25jgvd p,
.elementor-element-u25jgvd li,
.elementor-element-p25ucm p,
.elementor-element-p25ucm li,
.elementor-element-p7b7k3 p,
.elementor-element-p7b7k3 li,
.elementor-element-k2bl28 p,
.elementor-element-k2bl28 li,
.elementor-element-cx2ig6p p,
.elementor-element-cx2ig6p li,
.elementor-element-cx47dy4 p,
.elementor-element-cx47dy4 li,
.elementor-element-k1oy58y p,
.elementor-element-k1oy58y li,
.elementor-element-q2l36i p,
.elementor-element-q2l36i li,
.elementor-element-q19v84y p,
.elementor-element-q19v84y li{ max-width:29em; margin-left:auto; margin-right:auto; }

/* The hand-built guide pages are plain markup, so they go by class. */
.fw-guide p, .fw-guide li, .g-note p, .g-note li{ max-width:29em; }
.fw-guide p.g-lead, p.g-lead{ max-width:30em; margin-left:auto; margin-right:auto; }

/* ---------------------------------------------------------------
   DESKTOP VERTICAL RHYTHM
   Section padding across the site used nine different values - 88,
   92, 96, 100, 104, 110, 118, 140 and 150. No visitor names that,
   but the eye reads it as unconsidered. Snapped to two: 104 for
   standard sections, 150 for the full-height heroes. Deliberately
   tight values below 85px are left alone, as are the header and
   footer. Scoped above 820px so the mobile scale still wins.
   --------------------------------------------------------------- */
@media (min-width:821px){
  body .elementor-section.elementor-top-section.elementor-element-fw10043hc3,
  body .elementor-section.elementor-top-section.elementor-element-vw89n1,
  body .elementor-section.elementor-top-section.elementor-element-tpw3auf,
  body .elementor-section.elementor-top-section.elementor-element-tp1r4y9g,
  body .elementor-section.elementor-top-section.elementor-element-cv5xbj,
  body .elementor-section.elementor-top-section.elementor-element-c1rj0yv,
  body .elementor-section.elementor-top-section.elementor-element-fwh2hxs,
  body .elementor-section.elementor-top-section.elementor-element-fw1aurrr,
  body .elementor-section.elementor-top-section.elementor-element-uvjb1p,
  body .elementor-section.elementor-top-section.elementor-element-p90jqi,
  body .elementor-section.elementor-top-section.elementor-element-p1j1mdi,
  body .elementor-section.elementor-top-section.elementor-element-kui9xo,
  body .elementor-section.elementor-top-section.elementor-element-qler8u{ padding-top:104px; }
  body .elementor-section.elementor-top-section.elementor-element-hp6ra2e,
  body .elementor-section.elementor-top-section.elementor-element-hpn126m,
  body .elementor-section.elementor-top-section.elementor-element-v1crarz,
  body .elementor-section.elementor-top-section.elementor-element-v1sivq5,
  body .elementor-section.elementor-top-section.elementor-element-m59u2y,
  body .elementor-section.elementor-top-section.elementor-element-md03tr,
  body .elementor-section.elementor-top-section.elementor-element-v2cvylw,
  body .elementor-section.elementor-top-section.elementor-element-v2ihy7i,
  body .elementor-section.elementor-top-section.elementor-element-tp2hdpz2,
  body .elementor-section.elementor-top-section.elementor-element-c18oive,
  body .elementor-section.elementor-top-section.elementor-element-c2h5hed,
  body .elementor-section.elementor-top-section.elementor-element-fw5m0nv,
  body .elementor-section.elementor-top-section.elementor-element-fwyfpuy,
  body .elementor-section.elementor-top-section.elementor-element-of0jz3a,
  body .elementor-section.elementor-top-section.elementor-element-fw1k6xhy,
  body .elementor-section.elementor-top-section.elementor-element-fw1refrq,
  body .elementor-section.elementor-top-section.elementor-element-fw1xneqo,
  body .elementor-section.elementor-top-section.elementor-element-tya3zkx,
  body .elementor-section.elementor-top-section.elementor-element-tygrk8v,
  body .elementor-section.elementor-top-section.elementor-element-tym42pq,
  body .elementor-section.elementor-top-section.elementor-element-tysvxzw,
  body .elementor-section.elementor-top-section.elementor-element-tyyjqvv,
  body .elementor-section.elementor-top-section.elementor-element-ty15p8ex,
  body .elementor-section.elementor-top-section.elementor-element-ty1a1ew9,
  body .elementor-section.elementor-top-section.elementor-element-u18h1qg,
  body .elementor-section.elementor-top-section.elementor-element-u1lr2le,
  body .elementor-section.elementor-top-section.elementor-element-u28zwgs,
  body .elementor-section.elementor-top-section.elementor-element-p41y9c,
  body .elementor-section.elementor-top-section.elementor-element-pmc1m6,
  body .elementor-section.elementor-top-section.elementor-element-pz0a6o,
  body .elementor-section.elementor-top-section.elementor-element-p27gbsu,
  body .elementor-section.elementor-top-section.elementor-element-k145kuz,
  body .elementor-section.elementor-top-section.elementor-element-k1eevbh,
  body .elementor-section.elementor-top-section.elementor-element-cx6lzmf,
  body .elementor-section.elementor-top-section.elementor-element-cxm37m3,
  body .elementor-section.elementor-top-section.elementor-element-k1rhijk,
  body .elementor-section.elementor-top-section.elementor-element-q4dnw1,
  body .elementor-section.elementor-top-section.elementor-element-qypooo,
  body .elementor-section.elementor-top-section.elementor-element-q1cx7jj{ padding-top:104px; padding-bottom:104px; }
  body .elementor-section.elementor-top-section.elementor-element-v5tphr,
  body .elementor-section.elementor-top-section.elementor-element-tp5zrxe,
  body .elementor-section.elementor-top-section.elementor-element-c5ep99,
  body .elementor-section.elementor-top-section.elementor-element-ty51wks,
  body .elementor-section.elementor-top-section.elementor-element-u5ogq3,
  body .elementor-section.elementor-top-section.elementor-element-k5mwkg{ padding-top:150px; padding-bottom:150px; }
  body .elementor-section.elementor-top-section.elementor-element-tp19qbpd,
  body .elementor-section.elementor-top-section.elementor-element-tp2bft2f,
  body .elementor-section.elementor-top-section.elementor-element-c2b89ku,
  body .elementor-section.elementor-top-section.elementor-element-p228hqr{ padding-bottom:104px; }
}

/* Note on units: these measure caps were originally written in ch. The ch
   unit is the width of the '0' glyph, which in Jost is far wider than the
   average lowercase letter, so 62ch was rendering as about 90 characters -
   the opposite of what the cap was for. em tracks the font size without
   that distortion: 29em is roughly 72 characters at any size on this site. */

/* Two offer notes are centre-aligned text whose box still sat hard left.
   The theme's `.elementor .elementor-widget-text-editor p{margin:0
   !important}` is specificity 0,2,1 and outranks every centring rule on the
   site, so this one has to carry both the higher specificity and the
   !important to put the block back underneath its own heading. */
body .elementor .elementor-element-fww5hql p,
body .elementor .elementor-element-of7cm9o p{ margin-left:auto !important; margin-right:auto !important; }

/* The two legal pages are their own markup and were running 110-115
   characters a line - the longest measure on the site, on the pages that
   are hardest to read in the first place. */
.fw-legal p, .fw-legal li, .fw-legal-head p{ max-width:29em; }

/* The note that appears under the date field when a date has been carried
   across from the calendar. It stays until the visitor touches the field. */
.fw-date-said{
  display:block; margin-top:7px;
  font-size:12.5px; letter-spacing:.02em; line-height:1.5;
  color:#8a6d3f; font-style:italic;
}

/* ===============================================================
   CORPORATE EVENTS - THE INTERNAL QUESTIONS
   Six question/answer pairs sat as fourteen stacked widgets in one
   full-width column, so every line hugged the left edge with about
   700px of nothing beside it, and the block ran to 1,520px tall.
   The widgets are siblings, not wrapped pairs, so they are placed
   explicitly on a grid: question in a label column, answer beside
   it, matching the rule-and-row treatment used elsewhere on the
   site. Placement is by nth-child, so it depends on the widget
   order - eyebrow, h2, then Q,A,Q,A... If that order changes in
   Elementor, these numbers have to change with it.
   =============================================================== */
@media (min-width:821px){
  body .elementor-element-cxm37m3 > .elementor-container > .elementor-column > .elementor-widget-wrap{
    display:grid;
    grid-template-columns:minmax(250px,340px) minmax(0,520px);
    justify-content:center;
    /* No column gap: the hairline is drawn by each cell's own border-top,
       so a gap here would break the rule into two segments per row. The
       space between question and answer comes from padding instead. */
    column-gap:0; row-gap:0;
    align-items:start;
  }
  /* eyebrow and section heading span the full grid */
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(1){ grid-column:1 / -1; grid-row:1; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(2){ grid-column:1 / -1; grid-row:2; margin-bottom:18px; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(3){ grid-column:1; grid-row:3; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(4){ grid-column:2; grid-row:3; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(5){ grid-column:1; grid-row:4; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(6){ grid-column:2; grid-row:4; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(7){ grid-column:1; grid-row:5; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(8){ grid-column:2; grid-row:5; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(9){ grid-column:1; grid-row:6; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(10){ grid-column:2; grid-row:6; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(11){ grid-column:1; grid-row:7; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(12){ grid-column:2; grid-row:7; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(13){ grid-column:1; grid-row:8; }
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(14){ grid-column:2; grid-row:8; }
  /* a hairline opens each row, as in the tariff and capacity tables */
  body .elementor-element-cxm37m3 .elementor-widget-wrap > .elementor-widget:nth-child(n+3){
    border-top:1px solid rgba(28,52,39,.14);
    padding-top:24px; margin-bottom:30px;
  }
  body .elementor-element-cxm37m3 .fw-faq-q{ margin-bottom:0; padding-right:52px; }
  /* Same trap as the ceremonies page: the theme caps these at 20ch with
     !important, which in Cormorant is about 24 characters. */
  body .elementor-element-cxm37m3 .fw-faq-q h3,
  body .elementor-element-cxm37m3 .fw-faq-q .elementor-heading-title{
    font-size:25px !important; line-height:1.26 !important;
    max-width:none !important; text-wrap:balance;
  }
}

/* Phones: back to a single column, but keep the rules so the pairs
   still read as separate questions rather than one wall of text. */
@media (max-width:820px){
  body .elementor-element-cxm37m3 .fw-faq-q{
    border-top:1px solid rgba(28,52,39,.14); padding-top:20px; margin-top:6px;
  }
}

/* ===============================================================
   CORPORATE EVENTS - THE EVENTS THAT WORK HERE
   Six kinds of event sat as bare heading-and-paragraph pairs in two
   separate sections, with 208px of section padding between the
   heading and the first of them, and nothing holding each item
   together. They now read as one set of six ruled cards: a hairline
   over each, equal spacing, and the two rows closed up so they look
   like one block rather than two unrelated bands.
   =============================================================== */
@media (min-width:821px){
  body .elementor-section.elementor-top-section.elementor-element-kui9xo{ padding-bottom:30px; }
  body .elementor-section.elementor-top-section.elementor-element-k145kuz{ padding-top:0; padding-bottom:38px; }
  body .elementor-section.elementor-top-section.elementor-element-k1eevbh{ padding-top:0; padding-bottom:104px; }
}
@media (max-width:820px){
  body .elementor-section.elementor-top-section.elementor-element-kui9xo{ padding-bottom:18px; }
  body .elementor-section.elementor-top-section.elementor-element-k145kuz{ padding-top:0; padding-bottom:0; }
  body .elementor-section.elementor-top-section.elementor-element-k1eevbh{ padding-top:0; }
}

/* The rule and the breathing room that make each one an item. */
body .elementor-element-k145kuz > .elementor-container > .elementor-column > .elementor-widget-wrap,
body .elementor-element-k1eevbh > .elementor-container > .elementor-column > .elementor-widget-wrap{
  border-top:1px solid rgba(28,52,39,.16);
  padding-top:22px;
  padding-bottom:26px;
}

/* Keep the six titles on a common baseline so the paragraphs start
   level even when a title runs to two lines. */
@media (min-width:821px){
  body .elementor-element-k145kuz .elementor-widget-heading,
  body .elementor-element-k1eevbh .elementor-widget-heading{ min-height:78px; }
}
/* Card titles stay at the house h3 size; the earlier attempt to shrink
   them targeted h3, but Elementor renders these as div. */

/* ===============================================================
   UNUSUAL VENUE - WHAT IS ACTUALLY DIFFERENT HERE
   Six numbered differences, previously floating as bare text with
   150px of dead section padding above them and body copy starting
   at a different height in every column. The numbering is the whole
   device of the section, so it is promoted from a 10.5px eyebrow to
   a display numeral in the brass, sitting under a hairline that
   opens each item. Titles get a common baseline so the paragraphs
   start level across a row.
   =============================================================== */
@media (min-width:821px){
  body .elementor-section.elementor-top-section.elementor-element-uvjb1p{ padding-bottom:26px; }
  body .elementor-section.elementor-top-section.elementor-element-u18h1qg{ padding-top:0; padding-bottom:40px; }
  body .elementor-section.elementor-top-section.elementor-element-u1lr2le{ padding-top:0; padding-bottom:104px; }
}
@media (max-width:820px){
  body .elementor-section.elementor-top-section.elementor-element-uvjb1p{ padding-bottom:14px; }
  body .elementor-section.elementor-top-section.elementor-element-u18h1qg{ padding-top:0; padding-bottom:0; }
  body .elementor-section.elementor-top-section.elementor-element-u1lr2le{ padding-top:0; }
}

/* The hairline that turns each column into an item. */
body .elementor-element-u18h1qg > .elementor-container > .elementor-column > .elementor-widget-wrap,
body .elementor-element-u1lr2le > .elementor-container > .elementor-column > .elementor-widget-wrap{
  border-top:1px solid rgba(28,52,39,.16);
  padding-top:20px;
  padding-bottom:26px;
}

/* The numeral. Cormorant rather than Jost, so it belongs to the same
   family as the headings it introduces rather than to the small print. */
body .elementor-element-u18h1qg .fw-eyebrow,
body .elementor-element-u1lr2le .fw-eyebrow{ margin-bottom:2px; }
body .elementor-element-u18h1qg .fw-eyebrow *,
body .elementor-element-u1lr2le .fw-eyebrow *{
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-size:23px !important;
  font-weight:400 !important;
  letter-spacing:.16em !important;
  line-height:1.1 !important;
  color:#a98a4b !important;
}

/* Common baseline for the titles so the body copy starts level. */
@media (min-width:821px){
  body .elementor-element-u18h1qg .fw-h3,
  body .elementor-element-u1lr2le .fw-h3{ min-height:82px; }
}
/* As above - these render as div, so the house h3 size applies. */

/* ===============================================================
   CEREMONIES - CEREMONY QUESTIONS
   Nine question/answer pairs stacked in two columns with nothing
   between them, so each question ran straight on from the previous
   answer and the whole block read as continuous prose. The same
   hairline treatment used for the corporate questions is applied
   here so the site has one way of showing a set of questions.
   The question size comes down from 29px to 24px and uses balanced
   wrapping, which is what stops 'What time can the ceremony be?'
   dropping 'be?' onto a line of its own.
   =============================================================== */
body .elementor-element-c2b89ku .fw-faq-q{
  border-top:1px solid rgba(28,52,39,.14);
  padding-top:22px;
  margin-top:30px;
}
body .elementor-element-c2b89ku > .elementor-container > .elementor-column > .elementor-widget-wrap > .fw-faq-q:first-child{
  margin-top:0;
}
/* The heading widget renders a <div>, not an <h3>, so this has to target
   .elementor-heading-title. It also carries a 20ch cap from .fw-h3, which
   in Cormorant is only about 24 characters - that cap, not the column
   width, is what was breaking 'ceremony be?' across two lines. */
body .elementor-element-c2b89ku .fw-faq-q h3,
body .elementor-element-c2b89ku .fw-faq-q .elementor-heading-title{
  font-size:25px !important;
  line-height:1.26 !important;
  max-width:none !important;
  text-wrap:balance;
}
body .elementor-element-c2b89ku .fw-body{ margin-top:9px; }

/* A little air between the two columns so the answers in the left
   column do not run up against the questions in the right. */
@media (min-width:821px){
  body .elementor-element-c2b89ku > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap{ padding-right:44px; }
  body .elementor-element-c2b89ku > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap{ padding-left:44px; }
}

/* ===============================================================
   PLANNING - WHAT TO BOOK AND WHEN  (the ordinal steps)
   Same treatment as the numbered differences on the unusual-venue
   page: FIRST to LAST promoted from a 10.5px Jost eyebrow to a
   display numeral in the brass, a hairline opening each step, the
   126px gap under the heading and the 192px gap between the two
   rows closed so the six read as one sequence.
   =============================================================== */
@media (min-width:821px){
  body .elementor-section.elementor-top-section.elementor-element-p90jqi{ padding-bottom:26px; }
  body .elementor-section.elementor-top-section.elementor-element-pmc1m6{ padding-top:0; padding-bottom:40px; }
  body .elementor-section.elementor-top-section.elementor-element-pz0a6o{ padding-top:0; padding-bottom:104px; }
}
@media (max-width:820px){
  body .elementor-section.elementor-top-section.elementor-element-p90jqi{ padding-bottom:14px; }
  body .elementor-section.elementor-top-section.elementor-element-pmc1m6{ padding-top:0; padding-bottom:0; }
  body .elementor-section.elementor-top-section.elementor-element-pz0a6o{ padding-top:0; }
}
body .elementor-element-pmc1m6 > .elementor-container > .elementor-column > .elementor-widget-wrap,
body .elementor-element-pz0a6o > .elementor-container > .elementor-column > .elementor-widget-wrap{
  border-top:1px solid rgba(28,52,39,.16);
  padding-top:20px;
  padding-bottom:26px;
}
body .elementor-element-pmc1m6 .fw-eyebrow,
body .elementor-element-pz0a6o .fw-eyebrow{ margin-bottom:2px; }
body .elementor-element-pmc1m6 .fw-eyebrow *,
body .elementor-element-pz0a6o .fw-eyebrow *{
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-size:23px !important;
  font-weight:400 !important;
  letter-spacing:.16em !important;
  line-height:1.1 !important;
  color:#a98a4b !important;
}
@media (min-width:821px){
  body .elementor-element-pmc1m6 .fw-h3,
  body .elementor-element-pz0a6o .fw-h3{ min-height:82px; }
}

/* ===============================================================
   PLANNING - THE ELEVEN O'CLOCK QUESTIONS
   The same ruled question treatment as the ceremonies page, and the
   same 20ch cap removed so questions stop orphaning a word onto a
   line of their own. These headings render as div, not h3.
   =============================================================== */
/* The twelve questions were split eight and four across two Elementor
   columns, so the left ran 1,852px while the right stopped at 774 -
   about a thousand pixels of empty page. Rebalancing would mean moving
   questions between columns and changing the reading order, so instead
   both columns are made full width and stacked, and each one becomes
   the label-and-answer grid used on the corporate page. Reading order
   stays exactly as authored: the eight, then the four. */
@media (min-width:821px){
  body .elementor-element-p228hqr > .elementor-container{ display:block; }
  body .elementor-element-p228hqr > .elementor-container > .elementor-column{ width:100%; }
  body .elementor-element-p228hqr > .elementor-container > .elementor-column > .elementor-widget-wrap{
    display:grid;
    grid-template-columns:minmax(250px,340px) minmax(0,520px);
    justify-content:center;
    column-gap:0; row-gap:0;
    align-items:start;
    /* Each column still carried its half of the old two-column gutter
       (30px on one side each), which centred the two grids 30px apart
       and left a visible step where the second column's questions began. */
    padding-left:0; padding-right:0;
  }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(1){ grid-column:1; grid-row:1; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(2){ grid-column:2; grid-row:1; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(3){ grid-column:1; grid-row:2; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(4){ grid-column:2; grid-row:2; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(5){ grid-column:1; grid-row:3; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(6){ grid-column:2; grid-row:3; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(7){ grid-column:1; grid-row:4; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(8){ grid-column:2; grid-row:4; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(9){ grid-column:1; grid-row:5; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(10){ grid-column:2; grid-row:5; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(11){ grid-column:1; grid-row:6; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(12){ grid-column:2; grid-row:6; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(13){ grid-column:1; grid-row:7; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(14){ grid-column:2; grid-row:7; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(15){ grid-column:1; grid-row:8; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget:nth-child(16){ grid-column:2; grid-row:8; }
  body .elementor-element-p228hqr .elementor-widget-wrap > .elementor-widget{
    border-top:1px solid rgba(28,52,39,.14);
    padding-top:24px; margin-bottom:30px;
  }
  body .elementor-element-p228hqr .fw-faq-q{ padding-right:52px; margin-bottom:30px; }
}

/* Phones: a plain stacked list, rules kept so the pairs stay distinct. */
@media (max-width:820px){
  body .elementor-element-p228hqr .fw-faq-q{
    border-top:1px solid rgba(28,52,39,.14); padding-top:20px; margin-top:8px;
  }
}
body .elementor-element-p228hqr .fw-faq-q h3,
body .elementor-element-p228hqr .fw-faq-q .elementor-heading-title{
  font-size:25px !important;
  line-height:1.26 !important;
  max-width:none !important;
  text-wrap:balance;
}
body .elementor-element-p228hqr .fw-body{ margin-top:9px; }


/* ===============================================================
   VISIT - WHAT HAPPENS NEXT
   The three steps, given the same numeral-and-hairline treatment as
   the ordinals on the planning and unusual-venue pages, and the
   dead gap under the heading closed.
   =============================================================== */
@media (min-width:821px){
  body .elementor-section.elementor-top-section.elementor-element-qler8u{ padding-bottom:26px; }
  body .elementor-section.elementor-top-section.elementor-element-qypooo{ padding-top:0; padding-bottom:104px; }
}
@media (max-width:820px){
  body .elementor-section.elementor-top-section.elementor-element-qler8u{ padding-bottom:14px; }
  body .elementor-section.elementor-top-section.elementor-element-qypooo{ padding-top:0; }
}
body .elementor-element-qypooo > .elementor-container > .elementor-column > .elementor-widget-wrap{
  border-top:1px solid rgba(28,52,39,.16);
  padding-top:20px;
  padding-bottom:26px;
}
body .elementor-element-qypooo .fw-eyebrow{ margin-bottom:2px; }
body .elementor-element-qypooo .fw-eyebrow *{
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-size:23px !important;
  font-weight:400 !important;
  letter-spacing:.16em !important;
  line-height:1.1 !important;
  color:#a98a4b !important;
}
@media (min-width:821px){
  body .elementor-element-qypooo .fw-h3{ min-height:82px; }
}

/* ===============================================================
   THE VENUE - SIX PLACES ON ONE SITE
   Two rows of three image cards sitting in separate sections, so
   they carried a full section's padding between them: 138px between
   the heading and the first row, and 208px of empty page between
   row one's captions and row two's images - enough that the six
   stopped reading as one set. No hairlines here: the images already
   do the containing, unlike the text-only card rows elsewhere.
   =============================================================== */
@media (min-width:821px){
  body .elementor-section.elementor-top-section.elementor-element-v1crarz{ padding-top:8px; padding-bottom:52px; }
  body .elementor-section.elementor-top-section.elementor-element-v1sivq5{ padding-top:0; padding-bottom:104px; }
}
@media (max-width:820px){
  body .elementor-section.elementor-top-section.elementor-element-v1crarz{ padding-top:4px; padding-bottom:34px; }
  body .elementor-section.elementor-top-section.elementor-element-v1sivq5{ padding-top:0; }
}

/* ===============================================================
   HOMEPAGE - THE PROOF STRIP
   Four claims under the hero, previously floating as loose text on
   a near-identical background with nothing to hold them. Given the
   hairline language used everywhere else: rules between the four,
   a rule closing the band, and a clearer step between the figure
   and its label.
   =============================================================== */
body .elementor-section.elementor-top-section.elementor-element-fw19ynyl{
  padding-top:46px; padding-bottom:46px;
  border-bottom:1px solid rgba(28,52,39,.13);
}
@media (min-width:821px){
  body .elementor-element-fw19ynyl > .elementor-container > .elementor-column + .elementor-column > .elementor-widget-wrap{
    border-left:1px solid rgba(28,52,39,.13);
  }
}
body .elementor-element-fw19ynyl .fw-stat *{
  font-size:34px !important; line-height:1.12 !important;
}
body .elementor-element-fw19ynyl .fw-eyebrow{ margin-top:7px; }
body .elementor-element-fw19ynyl .fw-eyebrow *{
  font-size:11px !important; letter-spacing:.22em !important;
}

/* ===============================================================
   HOMEPAGE - WHAT A DAY IN THE FOREST ACTUALLY LOOKS LIKE
   The timeline sat in a 1,180px container while its longest line
   is a 450px measure, so the whole thing hugged the left with over
   500px of empty green beside it. The container is narrowed and
   centred so the block reads as a deliberate editorial insert, and
   the entry titles - capped at 322px, which broke 'You arrive to a
   woodland that / is already yours' - are given room to sit on one
   line. Each hour is its own top-level section, so every one has to
   be named.
   =============================================================== */
@media (min-width:821px){
  /* The block was narrowed to 730px and centred, which fixed the
     left-hugging but left it visibly narrower than every other section
     on the page and stranded in the dark green. It now runs at the page
     width, and the space is used by putting each entry's title beside
     its description rather than above it - the same label-and-text grid
     as the question sections. */
  body .elementor-element-fw10043hc3 > .elementor-container{ max-width:1180px; }
  body .elementor-element-fw1010gpu3 > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap,
  body .elementor-element-fw10163rcs > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap,
  body .elementor-element-fw1022e8zx > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap,
  body .elementor-element-fw1028tk6m > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap,
  body .elementor-element-fw10348a3v > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap,
  body .elementor-element-fw1040nhz7 > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap{
    display:grid;
    grid-template-columns:minmax(260px,380px) minmax(0,470px);
    column-gap:44px; row-gap:0;
    align-items:start;
  }
  body .elementor-element-fw1010gpu3 .fw-h3 .elementor-heading-title,
  body .elementor-element-fw1010gpu3 .fw-h3 h3,
  body .elementor-element-fw10163rcs .fw-h3 .elementor-heading-title,
  body .elementor-element-fw10163rcs .fw-h3 h3,
  body .elementor-element-fw1022e8zx .fw-h3 .elementor-heading-title,
  body .elementor-element-fw1022e8zx .fw-h3 h3,
  body .elementor-element-fw1028tk6m .fw-h3 .elementor-heading-title,
  body .elementor-element-fw1028tk6m .fw-h3 h3,
  body .elementor-element-fw10348a3v .fw-h3 .elementor-heading-title,
  body .elementor-element-fw10348a3v .fw-h3 h3,
  body .elementor-element-fw1040nhz7 .fw-h3 .elementor-heading-title,
  body .elementor-element-fw1040nhz7 .fw-h3 h3{
    max-width:540px !important;
    text-wrap:balance;
  }
}

/* ===============================================================
   HOMEPAGE - COMMON QUESTIONS
   Same label-and-answer grid as the corporate and planning pages.
   Placement is by nth-child - eyebrow, h2, then Q,A,Q,A - so if the
   widget order changes in Elementor these numbers change with it.
   The heading widgets carry fw-faq-q, which is what fw_faq_schema()
   scrapes to build the FAQPage markup, so questions added here are
   picked up automatically.
   =============================================================== */
@media (min-width:821px){
  body .elementor-element-nxfqwre > .elementor-container > .elementor-column > .elementor-widget-wrap{
    display:grid;
    grid-template-columns:minmax(250px,340px) minmax(0,520px);
    justify-content:center;
    column-gap:0; row-gap:0;
    align-items:start;
    padding-left:0; padding-right:0;
  }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(1){ grid-column:1 / -1; grid-row:1; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(2){ grid-column:1 / -1; grid-row:2; margin-bottom:18px; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(3){ grid-column:1; grid-row:3; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(4){ grid-column:2; grid-row:3; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(5){ grid-column:1; grid-row:4; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(6){ grid-column:2; grid-row:4; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(7){ grid-column:1; grid-row:5; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(8){ grid-column:2; grid-row:5; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(9){ grid-column:1; grid-row:6; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(10){ grid-column:2; grid-row:6; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(11){ grid-column:1; grid-row:7; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(12){ grid-column:2; grid-row:7; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(13){ grid-column:1; grid-row:8; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(14){ grid-column:2; grid-row:8; }
  body .elementor-element-nxfqwre .elementor-widget-wrap > .elementor-widget:nth-child(n+3){
    border-top:1px solid rgba(28,52,39,.14);
    padding-top:24px; margin-bottom:30px;
  }
  body .elementor-element-nxfqwre .fw-faq-q{ margin-bottom:30px; padding-right:52px; }
  body .elementor-element-nxfqwre .fw-faq-q .elementor-heading-title,
  body .elementor-element-nxfqwre .fw-faq-q h3{
    font-size:25px !important; line-height:1.26 !important;
    max-width:none !important; text-wrap:balance;
  }
}
@media (max-width:820px){
  body .elementor-element-nxfqwre .fw-faq-q{
    border-top:1px solid rgba(28,52,39,.14); padding-top:20px; margin-top:8px;
  }
}

/* .g-row had the same trap .fw-row did: white-space:nowrap keeps short
   values like a price tidy on one line, but a long sentence then refuses
   to wrap and pushes the row off the side of a phone. flex:0 1 max-content
   with margin-left:auto keeps short values sitting right where they were,
   while long ones wrap to their own line and read left to right. */
.fw-guide .g-row{ flex-wrap:wrap; row-gap:2px; }
.fw-guide .g-row span:last-child{
  white-space:normal;
  flex:0 1 max-content;
  max-width:100%;
  margin-left:auto;
  text-align:left;
}

/* ===============================================================
   ABOUT PAGE - BANDS
   The page was 3,600px of unbroken cream at an 860px measure, which
   reads as a document rather than a page. It now opens on a full
   bleed photograph and alternates two dark bands, matching the
   rhythm the Elementor pages already use. .fw-guide is a centred
   860px column, so the bands escape it with the standard
   calc(50% - 50vw) full-bleed trick and re-centre their own text.
   =============================================================== */
.fw-guide .g-hero,
.fw-guide .g-dark{
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  width:100vw;
  max-width:100vw;
  padding-left:max(24px, calc(50vw - 430px));
  padding-right:max(24px, calc(50vw - 430px));
  box-sizing:border-box;
}

.fw-guide .g-hero{
  position:relative;
  padding-top:120px; padding-bottom:120px;
  margin-bottom:0;
  text-align:center;
  background:#1C3427 url('/wp-content/uploads/2026/09/clearspan-canopy-seating.jpg') center/cover no-repeat;
}
/* The photograph is bright, so the type needs a wash over it rather
   than a text-shadow, which would blur at this size. */
.fw-guide .g-hero::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,36,27,.72) 0%, rgba(20,36,27,.82) 100%);
}
.fw-guide .g-hero > *{ position:relative; z-index:1; }
.fw-guide .g-hero h1{ color:#F6F2E8; margin-bottom:14px; }
.fw-guide .g-hero .g-eyebrow{ color:#C7A768; }
.fw-guide .g-hero .g-lead{ color:rgba(246,242,232,.88); }

.fw-guide .g-dark{
  padding-top:78px; padding-bottom:78px;
  margin-top:64px; margin-bottom:64px;
  background:#1C3427;
}
.fw-guide .g-dark h2{ color:#F6F2E8; }
.fw-guide .g-dark p{ color:rgba(246,242,232,.86); }
.fw-guide .g-dark .g-eyebrow{ color:#C7A768; }
.fw-guide .g-dark .g-note{ color:rgba(246,242,232,.62); }
.fw-guide .g-dark .g-row{ border-bottom-color:rgba(246,242,232,.18); }
.fw-guide .g-dark .g-row span:first-child{ color:rgba(246,242,232,.74); }
.fw-guide .g-dark .g-row span:last-child{ color:#F6F2E8; }
.fw-guide .g-dark a{ color:#C7A768; }

@media (max-width:820px){
  .fw-guide .g-hero{ padding-top:74px; padding-bottom:74px; }
  .fw-guide .g-dark{ padding-top:52px; padding-bottom:52px; margin-top:40px; margin-bottom:40px; }
}

/* ===============================================================
   STICKY HEADER
   position:sticky confines an element to its own parent, and the
   header wrapper is only 138px tall - so setting it on the nav bar
   alone did nothing but pin it for 138px and let it scroll away.
   The wrapper itself is a direct child of body, so that is what
   sticks. Offsetting by the height of the thin contact strip (50px)
   lets that strip scroll off the top while the nav bar pins flush -
   a 88px bar rather than 138px, with no JavaScript.
   The logged-in admin bar is 32px and fixed, so it shifts the offset.
   =============================================================== */
body .elementor-location-header{
  position:sticky;
  top:-50px;
  z-index:800;
  background:#fff;
}
body.admin-bar .elementor-location-header{ top:-18px; }

/* A hairline and a soft shadow so it reads as a bar once it is
   sitting over the page rather than at the top of it. */
body .elementor-location-header .elementor-element-0c8224b{
  border-bottom:1px solid rgba(28,52,39,.10);
  box-shadow:0 1px 12px rgba(20,36,27,.05);
  background:#fff;
}

/* The mobile menu panel opens from inside the header, so nothing in
   the sticky chain may clip it. */
body .elementor-location-header,
body .elementor-location-header .elementor-element-0c8224b{ overflow:visible; }

@media (max-width:820px){
  /* The contact strip is taller once it wraps on a phone, so the nav
     simply pins with the strip above it rather than scrolling it off. */
  body .elementor-location-header{ top:0; }
  body.admin-bar .elementor-location-header{ top:0; }
}

/* The parent theme sets body{overflow-x:hidden}. That makes body a scroll
   container, which silently disables position:sticky for everything inside
   it - the header was set to sticky and simply scrolled away. overflow-x:
   clip does the same horizontal clipping without creating that container.
   Browsers too old for `clip` fall back to the theme's `hidden`: the header
   stops sticking, nothing else breaks. */
body{ overflow-x:clip; }
