/* =========================================================================
   Swedish American Hall brand layer (Midsommar, v1.0)
   Follows brand/SAH-Brand-Decisions.md. Colors and fonts come from
   brand/tokens.css, which every page links right before this file. This is
   the last stylesheet in <head>, so it wins ties with the Squarespace theme
   (site-nocustom-true.css), custom.css and the tabs/table plugins.

   1. Fonts            5. Header            9. Cards, tabs, tables
   2. Palette          6. Buttons          10. Contact card
   3. Section themes   7. Heroes           11. Footer
   4. Type             8. Venue cards      12. Long-copy headings
   ========================================================================= */


/* -------------------------------------------------------------------------
   1. Fonts: self-hosted Google Fonts (SIL OFL 1.1), variable files. One
   upright file covers every weight, so each Josefin rule must set its own
   weight (the file's default instance is Thin).
   ------------------------------------------------------------------------- */
@font-face {
  font-family: 'Josefin Sans'; font-style: normal; font-weight: 100 700; font-display: swap;
  src: url('../fonts/josefin-sans-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Josefin Sans'; font-style: normal; font-weight: 100 700; font-display: swap;
  src: url('../fonts/josefin-sans-var-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'EB Garamond'; font-style: normal; font-weight: 400 800; font-display: swap;
  src: url('../fonts/eb-garamond-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'EB Garamond'; font-style: normal; font-weight: 400 800; font-display: swap;
  src: url('../fonts/eb-garamond-var-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'EB Garamond'; font-style: italic; font-weight: 400 800; font-display: swap;
  src: url('../fonts/eb-garamond-italic-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'EB Garamond'; font-style: italic; font-weight: 400 800; font-display: swap;
  src: url('../fonts/eb-garamond-italic-var-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}


/* -------------------------------------------------------------------------
   2. Palette. Squarespace paints everything as hsla(var(--x-hsl), a), and CSS
   can't turn a hex var into an "h,s%,l%" triplet, so the brand colors are
   restated here as triplets. They are the tokens.css colors, nothing new:
     Paper #F6F1E7 · Ink #1D1D1B · Lingonberry #A3253A · Dala Blue #2E5C8A
   If a brand color changes, change it in tokens.css AND here.
   lightAccent -> Paper and darkAccent -> Ink keep every theme pair legal
   (lightAccent as Lingonberry would put Ink text on Lingonberry). Dala Blue
   stays out of the theme engine; use var(--sah-dala-blue) by hand, sparingly.
   ------------------------------------------------------------------------- */
:root {
  --sah-paper-hsl: 40,45.45%,93.53%;
  --sah-ink-hsl: 60,3.57%,10.98%;
  --sah-lingonberry-hsl: 350,63%,39.22%;

  --white-hsl: var(--sah-paper-hsl);
  --black-hsl: var(--sah-ink-hsl);
  --accent-hsl: var(--sah-lingonberry-hsl);
  --lightAccent-hsl: var(--sah-paper-hsl);
  --darkAccent-hsl: var(--sah-ink-hsl);
  --safeLightAccent-hsl: var(--sah-paper-hsl);
  --safeDarkAccent-hsl: var(--sah-lingonberry-hsl);
  --safeInverseAccent-hsl: var(--sah-paper-hsl);
  --safeInverseLightAccent-hsl: var(--sah-ink-hsl);
  --safeInverseDarkAccent-hsl: var(--sah-paper-hsl);
}
[data-section-theme="dark"] { --darkAccent-hsl: var(--sah-ink-hsl); }

/* the header's inline style sets a solid-header color from darkAccent */
#header {
  --solidHeaderBackgroundColor: var(--sah-paper) !important;
  --solidHeaderNavigationColor: var(--sah-ink) !important;
}

html, body { background-color: var(--sah-paper); }
::selection { background: var(--sah-lingonberry); color: var(--sah-paper); }


/* -------------------------------------------------------------------------
   3. Section themes. Each theme block redeclares its vars, so a :root value
   never reaches a themed section: overrides are repeated per theme.
   "white-bold" and "" have no theme rule and inherit :root.
   ------------------------------------------------------------------------- */
:root,
[data-section-theme="white-bold"],
[data-section-theme="white"],
[data-section-theme="light"] {
  --siteBackgroundColor: var(--sah-paper);
  --backgroundOverlayColor: var(--sah-ink);
  --section-inset-border-color: var(--sah-paper);
  --primaryButtonBackgroundColor: var(--sah-lingonberry);
  --primaryButtonTextColor: var(--sah-paper);
  --list-section-simple-card-button-background-color: var(--sah-lingonberry);
  --list-section-simple-card-button-text-color: var(--sah-paper);
  --tweak-text-block-background-color: var(--sah-paper);
  --tweak-line-block-line-color: var(--sah-rule);
  --section-divider-stroke-color: var(--sah-rule);
  --tweak-accordion-block-divider-color: var(--sah-rule);
  --tweak-blog-item-meta-color: var(--sah-ink-80);
  --tweak-blog-single-column-list-meta-color: var(--sah-ink-80);
  --tweak-summary-block-primary-metadata-color: var(--sah-ink-80);
  --tweak-summary-block-secondary-metadata-color: var(--sah-ink-80);
}

/* bright = the photo heroes: Paper type over the photograph, Ink beneath it */
[data-section-theme="bright"] {
  --siteBackgroundColor: var(--sah-ink);
  --backgroundOverlayColor: var(--sah-ink);
  --section-inset-border-color: var(--sah-ink);
  --portfolio-grid-overlay-overlay-color: var(--sah-ink);
}

/* black = the footer (and one photo section). Never Lingonberry or Dala Blue
   on Ink: links, buttons and accents all go Paper. */
[data-section-theme="black"] {
  --paragraphLinkColor: var(--sah-paper);
  --headingLinkColor: var(--sah-paper);
  --navigationLinkColor: var(--sah-paper);
  --primaryButtonBackgroundColor: var(--sah-paper);
  --primaryButtonTextColor: var(--sah-ink);
  --secondaryButtonBackgroundColor: var(--sah-paper);
  --secondaryButtonTextColor: var(--sah-ink);
  --tertiaryButtonBackgroundColor: var(--sah-paper);
  --tertiaryButtonTextColor: var(--sah-paper);
  --tweak-line-block-line-color: color-mix(in srgb, var(--sah-paper) 24%, transparent);
  --section-divider-stroke-color: color-mix(in srgb, var(--sah-paper) 24%, transparent);
}

/* Shape blocks are the hero copy scrims. Their inline vars say pure black. */
.sqs-block[data-definition-name="website.components.shape"] {
  --shape-block-background-color: color-mix(in srgb, var(--sah-ink) 60%, transparent) !important;
}
.sqs-block[data-definition-name="website.components.shape"] svg.sqs-shape { fill: transparent !important; }
.sqs-block[data-definition-name="website.components.shape"] {
  background: linear-gradient(0deg, color-mix(in srgb, var(--sah-ink) 78%, transparent) 20%, transparent 100%) !important;
}

.sqsrte-text-color--accent { color: var(--sah-lingonberry); }
.collection-type-blog-single-column { --text-highlight-color: var(--sah-lingonberry); }
.sqs-html-content a, .blog-item-content a { text-decoration-thickness: 1px; text-underline-offset: .18em; }


/* -------------------------------------------------------------------------
   4. Type. Headlines and labels: Josefin Sans SemiBold, caps, tracked.
   Body: EB Garamond 18-19px. The theme sizes everything from one viewport
   formula that grows on tall phones and shrinks buttons on wide screens,
   so headings and labels get fixed clamp()/rem sizes here.
   ------------------------------------------------------------------------- */
:root {
  --heading-font-font-family: var(--sah-font-display);
  --heading-font-font-style: normal;
  --heading-font-font-weight: 600;
  --heading-font-text-transform: uppercase;
  --heading-font-letter-spacing: var(--sah-track-headline);
  --heading-font-line-height: 1.18em;
  --heading-1-size: 3rem;    --heading-1-size-value: 3;
  --heading-2-size: 2.2rem;  --heading-2-size-value: 2.2;
  --heading-3-size: 1.6rem;  --heading-3-size-value: 1.6;
  --heading-4-size: 1.15rem; --heading-4-size-value: 1.15;

  --body-font-font-family: var(--sah-font-body);
  --body-font-font-style: normal;
  --body-font-font-weight: 400;
  --body-font-text-transform: none;
  --body-font-letter-spacing: 0em;
  --body-font-line-height: 1.55;
  --normal-text-size: 1.125rem; --normal-text-size-value: 1.125;
  --large-text-size: 1.3rem;    --large-text-size-value: 1.3;
  --small-text-size: 1rem;      --small-text-size-value: 1;

  --meta-font-font-family: var(--sah-font-display);
  --meta-font-font-style: normal;
  --meta-font-font-weight: 600;
  --meta-font-text-transform: uppercase;
  --meta-font-letter-spacing: var(--sah-track-label);
  --meta-font-line-height: 1.4em;

  --primary-button-font-font-family: var(--sah-font-display);
  --primary-button-font-font-style: normal;
  --primary-button-font-font-weight: 600;
  --primary-button-font-text-transform: uppercase;
  --primary-button-font-letter-spacing: var(--sah-track-label);
  --primary-button-font-line-height: 1;
  --secondary-button-font-font-family: var(--sah-font-display);
  --secondary-button-font-font-style: normal;
  --secondary-button-font-font-weight: 600;
  --secondary-button-font-text-transform: uppercase;
  --secondary-button-font-letter-spacing: var(--sah-track-label);
  --secondary-button-font-line-height: 1;
  --tertiary-button-font-font-family: var(--sah-font-display);
  --tertiary-button-font-font-style: normal;
  --tertiary-button-font-font-weight: 600;
  --tertiary-button-font-text-transform: uppercase;
  --tertiary-button-font-letter-spacing: var(--sah-track-label);
  --tertiary-button-font-line-height: 1.4;
  --header-button-font-font-family: var(--sah-font-display);
  --header-button-font-font-style: normal;
  --header-button-font-font-weight: 600;
  --header-button-font-text-transform: uppercase;
  --header-button-font-letter-spacing: var(--sah-track-label);
  --header-button-font-line-height: 1;

  /* Josefin caps sit ~0.1em above the middle of their line box; the extra
     top padding centers them in buttons, the extra left balances the
     trailing letter-space. */
  --primary-button-padding-top: 1.2em;
  --primary-button-padding-bottom: 1em;
  --primary-button-padding-left: calc(2.2em + .24em);
  --primary-button-padding-right: 2.2em;
  --secondary-button-padding-top: 1.2em;
  --secondary-button-padding-bottom: 1em;
  --secondary-button-padding-left: calc(2.2em + .24em);
  --secondary-button-padding-right: 2.2em;

  --site-navigation-font-font-family: var(--sah-font-display);
  --site-navigation-font-font-style: normal;
  --site-navigation-font-font-weight: 600;
  --site-navigation-font-text-transform: uppercase;
  --site-navigation-font-letter-spacing: var(--sah-track-label);
  --site-navigation-font-line-height: 1.2em;

  --form-block-title-text-font-font-family: var(--sah-font-display);
  --form-block-title-text-font-font-weight: 600;
  --form-block-title-text-font-text-transform: uppercase;
  --form-block-title-text-font-letter-spacing: var(--sah-track-label);
  --quote-block-source-font-font-family: var(--sah-font-display);
  --quote-block-source-font-font-weight: 600;
  --quote-block-source-font-text-transform: uppercase;
  --quote-block-source-font-letter-spacing: var(--sah-track-label);

  --blog-single-column-list-title-font-font-size: var(--heading-3-size);
  --blog-single-column-list-title-font-font-size-value: var(--heading-3-size-value);
  --blog-item-title-font-font-size: var(--heading-2-size);
  --blog-item-title-font-font-size-value: var(--heading-2-size-value);
  --blog-item-pagination-font-font-size: 1rem;
  --blog-item-pagination-font-font-size-value: 1;

  --tab-button-font-family: var(--sah-font-display);
  --tab-button-text-transform: uppercase;
}

html { font-family: var(--sah-font-body); }
body, .site-wrapper, .sqs-catalog-item-list {
  font-family: var(--sah-font-body);
  color: var(--sah-ink);
  font-kerning: normal;
  font-variant-numeric: proportional-nums;
}
.site-wrapper, .sqs-catalog-item-list { font-size: 1.125rem; }
@media (min-width: 1280px) {
  .site-wrapper, .sqs-catalog-item-list { font-size: 1.1875rem; }
}
p { text-wrap: pretty; }
.sqsrte-large { font-size: clamp(1.1875rem, 1.05rem + .45vw, 1.375rem); line-height: 1.45; }
.sqsrte-small { font-size: 1rem; line-height: 1.5; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--sah-font-display);
  font-weight: 600;
  font-style: normal;
  font-synthesis: none;
  text-transform: uppercase;
  text-wrap: balance;
  font-kerning: normal;
}
h1 { font-size: clamp(1.75rem, 1.1rem + 2.6vw, 3.25rem);   letter-spacing: .12em;  line-height: 1.12; }
h2 { font-size: clamp(1.5rem, 1.05rem + 1.6vw, 2.5rem);    letter-spacing: .13em;  line-height: 1.15; }
h3 { font-size: clamp(1.25rem, 1rem + .9vw, 1.75rem);      letter-spacing: .14em;  line-height: 1.2; }
h4 { font-size: clamp(1.0625rem, .98rem + .3vw, 1.25rem);  letter-spacing: .16em;  line-height: 1.25; }
h1 em, h2 em, h3 em, h4 em { font-style: normal; }
.blog-single-column .blog-title { letter-spacing: .13em; }

/* Eyebrows and labels. The Squarespace "monospace" style (<pre><code>) is
   the site's eyebrow, e.g. "PERFECT FOR:"; <strong><em> is the "Visit Us /
   Phone / Email" label in the contact blocks. */
.sqs-block-html pre { margin: 0 0 .9em; padding: 0; background: none; border: 0; white-space: normal; overflow: visible; }
.sqs-block-html pre:has(> code:empty) { display: none; }
.sqs-block-html pre code,
.sqs-html-content strong > em,
.blog-single-column .blog-categories, .blog-single-column .blog-author, .blog-single-column .blog-date,
.blog-item-wrapper .blog-meta-item, .blog-item-wrapper .blog-meta-item a, .blog-item-wrapper .blog-meta-item span,
.blog-item-wrapper .item-pagination-prev-next,
.sqs-block-quote .source,
.sqs-block-summary-v2 .summary-metadata-item {
  font-family: var(--sah-font-display);
  font-weight: 600;
  font-style: normal;
  font-synthesis: none;
  text-transform: uppercase;
  letter-spacing: .26em;
  font-size: .75rem;
  line-height: 1.4;
  background: none;
}
.sqs-block-html pre code, .sqs-html-content strong > em { color: var(--sah-lingonberry); }
[data-section-theme="black"] .sqs-block-html pre code,
[data-section-theme="black"] .sqs-html-content strong > em,
[data-section-theme="bright"] .sqs-block-html pre code,
[data-section-theme="bright"] .sqs-html-content strong > em { color: var(--sah-paper); }
.blog-single-column .blog-more-link {
  font-family: var(--sah-font-display); font-weight: 600; text-transform: uppercase;
  letter-spacing: var(--sah-track-label); font-size: .8125rem;
}

/* Squarespace "scaled text" (sized by JS to fill its column) is used as a
   display headline, sometimes on a <p>: set it as a headline */
.sqsrte-scaled-text-container .sqsrte-scaled-text,
.sqsrte-scaled-text-container .sqsrte-scaled-text > * {
  font-family: var(--sah-font-display);
  font-weight: 600;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1.05;
}

/* 404: the apology is a sentence under the "PAGE NOT FOUND" headline; set
   it as body copy so it doesn't outrank the headline */
#block-6965def98df9a0e2868157c9 h2 {
  font-family: var(--sah-font-body);
  font-weight: 400;
  font-style: italic;
  text-transform: none;
  letter-spacing: 0;
  font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);
  line-height: 1.4;
  max-width: 28em;
  margin-inline: auto;
}


/* -------------------------------------------------------------------------
   5. Header. Desktop: floating Paper pill, hairline edge, horizontal logo
   (no tagline, Ink) at >=200px wide. Mobile (Squarespace's own switch:
   <=799px, or touch screens <=1024px): solid Paper bar, stacked logo
   (no tagline, full color) at >=96px. Never put transform, filter or
   backdrop-filter on #header itself: it would trap the fixed mobile menu.
   ------------------------------------------------------------------------- */
#header .header-display-desktop {
  background: var(--sah-paper) !important;
  color: var(--sah-ink) !important;
  border: 1px solid var(--sah-rule) !important;
  box-shadow: 0 14px 28px -16px color-mix(in srgb, var(--sah-ink) 35%, transparent) !important;
}
#header .header-display-desktop::before { content: none !important; }
/* the scroll "shrink" scaled the pill to .8, which takes the logo under its
   200px minimum: tighten the padding instead */
#header .header-display-desktop.is-shrunk { transform: none; padding-top: .3rem; padding-bottom: .3rem; }
#header .header-layout-nav-center .header-nav { border-left-color: var(--sah-rule) !important; border-right-color: var(--sah-rule) !important; }

#header .header-nav-wrapper a,
#header .header-nav-wrapper button,
#header .header-nav-folder-title {
  color: var(--sah-ink) !important;
  font-family: var(--sah-font-display) !important;
  font-weight: 600 !important;
  font-style: normal;
  text-transform: uppercase !important;
  letter-spacing: var(--sah-track-label) !important;
  font-size: .75rem !important;
  line-height: 1.2;
}
/* plain links (INSPIRATION) and folder titles (SPACES, EVENTS, PLANNING) share one box */
#header .header-display-desktop .header-nav-item > a,
#header .header-display-desktop .header-nav-folder-title {
  display: inline-flex;
  align-items: center;
  padding: .3em 0 .2em;
  line-height: 1.2 !important;
}
#header .header-display-desktop .header-nav-list { align-items: center; }
#header .header-nav-wrapper a:hover,
#header .header-nav-wrapper button:hover,
#header .header-nav-folder-title:hover { color: var(--sah-lingonberry) !important; }
#header .header-nav-item a::after,
#header .header-nav-folder-item a::after,
#header .header-nav-item--active a { text-decoration-color: var(--sah-lingonberry); }
#header .header-nav-folder-content {
  background-color: var(--sah-paper) !important;
  border: 1px solid var(--sah-rule);
  box-shadow: 0 14px 28px -16px color-mix(in srgb, var(--sah-ink) 35%, transparent) !important;
}

/* Logo, desktop bar: sah-stacked-no-tagline-full-color.svg (697.54 x 300.92),
   the same mark as the phone bar; the condensed lockup leaves room for the
   five-item menu. Minimum 96px. Clear space = HALL height = .084 x width
   (10px at 120px). */
#header .header-display-desktop .header-title-logo a { max-height: none; }
#header .header-display-desktop .header-title-logo img {
  width: clamp(108px, 8.4vw, 124px);
  height: auto;
  max-width: none;
  max-height: none;
}

@media only screen and (pointer: coarse) and (max-width: 1024px), screen and (max-width: 799px) {
  #header.header,
  body #header .header-announcement-bar-wrapper { background: var(--sah-paper) !important; }
  #header.header { border-bottom: 1px solid var(--sah-rule); }
  body #header .header-announcement-bar-wrapper { padding-top: 12px !important; padding-bottom: 12px !important; }
  /* Logo, mobile bar: sah-stacked-no-tagline-full-color.svg (697.54 x 300.92).
     Clear space = HALL height = .084 x width (9px at 108px). */
  #header .header-display-mobile .header-title-logo a { max-height: none; }
  #header .header-display-mobile .header-title-logo img {
    width: 108px;
    height: auto;
    max-width: none;
    max-height: none;
  }
  #header .burger-inner .top-bun,
  #header .burger-inner .patty,
  #header .burger-inner .bottom-bun { background-color: var(--sah-ink) !important; }
}

/* mobile menu overlay */
.site-wrapper .header-menu .header-menu-bg { background-color: var(--sah-paper) !important; }
.site-wrapper .header-menu .header-menu-nav a:not(.btn),
.site-wrapper .header-menu .header-menu-nav-item a {
  color: var(--sah-ink) !important;
  font-family: var(--sah-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: clamp(1.25rem, 5vmin, 1.75rem);
  line-height: 1.25;
}
.site-wrapper .header-menu .header-menu-controls-control {
  color: var(--sah-ink-80) !important;
  font-family: var(--sah-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--sah-track-label);
  font-size: .8125rem !important;
}
.header--menu-open .header .header-dropdown-icon svg { fill: var(--sah-ink); stroke: var(--sah-ink); }
.header--menu-open .header .header-burger .top-bun,
.header--menu-open .header .header-burger .patty,
.header--menu-open .header .header-burger .bottom-bun { background-color: var(--sah-ink) !important; }
.site-wrapper .header-menu .header-menu-cta .sqs-button-element--primary { font-size: .875rem; }

.header-skip-link.sqs-button-element--primary { background: var(--sah-ink) !important; color: var(--sah-paper) !important; }


/* -------------------------------------------------------------------------
   6. Buttons. Primary: Paper on Lingonberry (6.5:1), hovering to Paper on
   Ink. Tertiary (text links styled as buttons): Lingonberry with a hairline
   underline on Paper, Paper on photos and Ink.
   ------------------------------------------------------------------------- */
#siteWrapper .sqs-button-element--primary,
#siteWrapper .sqs-button-element--secondary,
#siteWrapper .sqs-button-element--tertiary,
#siteWrapper .header-actions-action--cta .sqs-button-element--primary,
#siteWrapper .header-actions-action--cta .btn,
#siteWrapper .list-item-content__button {
  font-family: var(--sah-font-display) !important;
  font-weight: 600 !important;
  font-style: normal;
  font-synthesis: none;
  text-transform: uppercase;
  letter-spacing: var(--sah-track-label) !important;
  font-size: .8125rem;
}
#siteWrapper .sqs-button-element--primary,
#siteWrapper .sqs-button-element--secondary,
#siteWrapper .header-actions-action--cta .btn { line-height: 1; }

.primary-button-style-solid .sqs-button-element--primary,
#header .header-actions-action--cta .btn,
.site-wrapper .header-menu .header-menu-cta a {
  background: var(--sah-lingonberry) !important;
  border-color: var(--sah-lingonberry) !important;
  color: var(--sah-paper) !important;
}
.primary-button-style-solid .sqs-button-element--primary::after,
#header .header-actions-action--cta .btn::after,
.site-wrapper .header-menu .header-menu-cta a::after { content: none !important; animation: none !important; }
.primary-button-style-solid .sqs-button-element--primary::before,
#header .header-actions-action--cta .btn::before {
  background: var(--sah-ink) !important;
  border-color: var(--sah-ink) !important;
}
.primary-button-style-solid .sqs-button-element--primary:hover,
#header .header-actions-action--cta .btn:hover,
.site-wrapper .header-menu .header-menu-cta a:hover { color: var(--sah-paper) !important; }

[data-section-theme="black"] .primary-button-style-solid .sqs-button-element--primary,
.primary-button-style-solid [data-section-theme="black"] .sqs-button-element--primary {
  background: var(--sah-paper) !important;
  border-color: var(--sah-paper) !important;
  color: var(--sah-ink) !important;
}

#siteWrapper .sqs-button-element--tertiary {
  color: var(--sah-lingonberry);
  border-bottom-color: currentColor;
}
[data-section-theme="bright"] #siteWrapper .sqs-button-element--tertiary,
#siteWrapper [data-section-theme="bright"] .sqs-button-element--tertiary,
#siteWrapper [data-section-theme="black"] .sqs-button-element--tertiary { color: var(--sah-paper); }

/* outline (secondary) buttons */
#siteWrapper .sqs-button-element--secondary { color: var(--sah-lingonberry); border-color: var(--sah-lingonberry); }
#siteWrapper [data-section-theme="black"] .sqs-button-element--secondary,
#siteWrapper [data-section-theme="bright"] .sqs-button-element--secondary { color: var(--sah-paper); border-color: var(--sah-paper); }

@supports (text-box: trim-both cap alphabetic) {
  #siteWrapper .sqs-button-element--primary,
  #siteWrapper .sqs-button-element--secondary,
  #header .header-actions-action--cta .btn { text-box: trim-both cap alphabetic; }
  :root {
    --primary-button-padding-top: 1.25em;   --primary-button-padding-bottom: 1.25em;
    --secondary-button-padding-top: 1.25em; --secondary-button-padding-bottom: 1.25em;
  }
}

:focus-visible { outline-color: var(--sah-lingonberry); }
[data-section-theme="black"] :focus-visible,
[data-section-theme="bright"] :focus-visible { outline-color: var(--sah-paper); }


/* -------------------------------------------------------------------------
   7. Heroes. Interior heroes: an Ink scrim (the shape block, section 3)
   seats Paper type on the photo. Homepage: the stacked logo (Paper) sits on
   a soft Ink wash, per the brand's "logo on photos" rule.
   ------------------------------------------------------------------------- */
[data-section-theme="bright"] h1,
[data-section-theme="bright"] h2,
[data-section-theme="bright"] p { color: var(--sah-paper); }

/* Homepage hero logo: sah-stacked-paper.svg (697.54 x 378.95, min 200px).
   Clear space = HALL height = .084 x width. */
.sah-hero-logo {
  display: block;
  width: clamp(220px, 34vw, 420px);
  height: auto;
  max-width: 100%;
  margin-inline: auto;
  filter: none;
}
.sqs-html-content p.sah-hero-sub {
  margin-top: calc(clamp(220px, 34vw, 420px) * .084);
  color: var(--sah-paper);
  font-family: var(--sah-font-display);
  font-weight: 600;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: .26em;
  font-size: clamp(.75rem, .7rem + .2vw, .875rem);
  line-height: 1.6;
  text-shadow: 0 1px 10px color-mix(in srgb, var(--sah-ink) 70%, transparent);
}
/* soft wash behind the logo: Ink ~70% at the center fading to clear */
html body .fe-block-7495b037997b5723ca89 { isolation: isolate; }
html body .fe-block-7495b037997b5723ca89::before {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 150%; height: 190%;
  translate: -50% -50%;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse 50% 50% at 50% 50%,
    color-mix(in srgb, var(--sah-ink) 70%, transparent) 0%,
    color-mix(in srgb, var(--sah-ink) 50%, transparent) 45%,
    transparent 100%);
}


/* -------------------------------------------------------------------------
   8. Homepage venue cards ("Upstairs / Downstairs" slideshow captions).
   Paper on an Ink scrim. Do not set transform here: the venue-travel
   script drives it.
   ------------------------------------------------------------------------- */
.sqs-gallery-block-slideshow { background-color: var(--sah-ink); }
.sqs-gallery-block-slideshow img.thumb-image { box-shadow: none !important; }
.sqs-gallery-block-slideshow .meta .meta-title,
.sqs-gallery-block-slideshow .meta a,
.sqs-gallery-block-slideshow .meta a:hover { color: var(--sah-paper); }
.sqs-gallery-block-slideshow .meta .meta-description,
.sqs-gallery-block-slideshow .meta .meta-description p { color: var(--sah-paper-80); }
.sqs-gallery-block-slideshow .meta .meta-description strong { color: var(--sah-paper); }
.sqs-gallery-block-slideshow .meta {
  background: linear-gradient(0deg, color-mix(in srgb, var(--sah-ink) 82%, transparent) 62%, transparent 100%) !important;
  color: var(--sah-paper);
}
.sqs-gallery-block-slideshow .meta-title {
  font-family: var(--sah-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .26em;
  font-size: .75rem !important;
  line-height: 1.4;
  color: var(--sah-paper);
}
.sqs-gallery-block-slideshow .meta-description p {
  font-family: var(--sah-font-body);
  font-size: 1.125rem !important;
  line-height: 1.45;
  color: var(--sah-paper-80);
}
.sqs-gallery-block-slideshow .meta-description p strong {
  display: block;
  font-family: var(--sah-font-display);
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: .12em !important;
  font-size: clamp(1.5rem, 1rem + 2vw, 2.5rem) !important;
  line-height: 1.1;
  color: var(--sah-paper);
}


/* -------------------------------------------------------------------------
   9. Cards, tabs, tables, accordions, quotes
   ------------------------------------------------------------------------- */
.list-item { border: 1px solid var(--sah-rule) !important; }
.user-items-list-item-container[data-section-id] .list-item-content__description { font-size: 1.0625rem !important; }
.user-items-list-simple .list-item-content__title {
  font-family: var(--sah-font-display); font-weight: 600; text-transform: uppercase; letter-spacing: .14em;
}
.user-items-list-banner-slideshow .user-items-list-banner-slideshow__arrow-icon-background { background-color: var(--sah-lingonberry); }
.user-items-list-banner-slideshow .user-items-list-banner-slideshow__arrow-icon { color: var(--sah-paper); }

.sqs-html-content blockquote { border-left: 2px solid var(--sah-lingonberry); }

body .wm-tabs {
  --tab-button-color: var(--sah-ink);
  --tab-button-active-color: var(--sah-paper);
  --tab-button-active-background: var(--sah-lingonberry);
  --active-indicator-color: var(--sah-lingonberry);
  --tabs-nav-border-color: var(--sah-rule);
  --scroll-indicator-color: var(--sah-ink);
  --tab-button-font-size: .8125rem;
  --tab-button-font-weight: 600;
  --tab-button-active-font-weight: 600;
  --tab-button-hover-opacity: .8;
  --select-button-font-size: .8125rem;
  --select-menu-border-color: var(--sah-rule);
  --select-navigation-button-border-color: var(--sah-rule);
  --select-button-active-color: var(--sah-lingonberry);
}
.wm-tabs nav button, .wm-tabs nav .tab-title, .select-navigation .select-button-container button {
  font-family: var(--sah-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--sah-track-label);
}
.wm-tabs nav button.active { background: var(--sah-lingonberry) !important; color: var(--sah-paper) !important; }
.wm-tabs nav button.active .tab-title { background: transparent !important; }
.wm-tabs nav button.active::after, .wm-tabs nav button.active .tab-title::after { content: none !important; animation: none !important; }

body [data-wm-plugin=simple-table] { --simple-table-border-color: var(--sah-rule); }
[data-wm-plugin=simple-table].simple-layout tr { border-color: var(--sah-rule) !important; }
.wm-simple-table th, [data-wm-plugin=simple-table] th {
  font-family: var(--sah-font-display); font-weight: 600; text-transform: uppercase;
  letter-spacing: var(--sah-track-label); font-size: .75rem;
}

.sqs-block[data-sqsp-block="accordion"] { --tweak-accordion-block-background-color: var(--sah-paper) !important; }
.accordion-item__title {
  font-family: var(--sah-font-display); font-weight: 600; text-transform: uppercase;
  letter-spacing: .12em; line-height: 1.35;
}

.sqs-block-summary-v2 .summary-title, .sqs-block-summary-v2 .summary-title a {
  font-family: var(--sah-font-display); font-weight: 600; text-transform: uppercase;
  letter-spacing: .16em; line-height: 1.25;
}
.sqs-block[data-definition-name="website.components.summary"] .summary-block-wrapper {
  --summary-title-font-size: 1.0625rem;
  --summary-excerpt-font-size: 1.0625rem;
}

.gallery-fullscreen-slideshow-wrapper { background: var(--sah-ink) !important; }
.gallery-fullscreen-slideshow-control-btn { background: var(--sah-paper) !important; color: var(--sah-ink) !important; }
.gallery-lightbox { --lightbox-background: var(--sah-paper); }

.sqs-block-code .note {
  opacity: 1 !important;
  font-family: var(--sah-font-body);
  font-style: italic;
  color: var(--sah-ink-80);
}
.mobileScroll { font-family: var(--sah-font-body); color: var(--sah-ink-80); }
.blog-list-pagination .prev-label, .blog-list-pagination .next-label,
.blog-list-pagination a {
  font-family: var(--sah-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--sah-track-label);
  font-size: .75rem;
}


/* -------------------------------------------------------------------------
   10. Contact card around the Toast inquiry form. The iframe itself is
   cross-origin and keeps Toast's styling.
   ------------------------------------------------------------------------- */
#contact .code-block { background: var(--sah-paper) !important; border: 1px solid var(--sah-rule); }
.contactForm { background: var(--sah-paper) !important; }
.contactForm::after { font-family: var(--sah-font-body); font-style: italic; color: var(--sah-ink-80); }


/* -------------------------------------------------------------------------
   11. Footer (black theme = Ink). Logo: sah-horizontal-no-tagline-paper.svg,
   never narrower than 200px and never cropped.
   ------------------------------------------------------------------------- */
#footer-sections [data-section-theme="black"] {
  --siteBackgroundColor: var(--sah-ink);
}
#footer-sections [data-section-theme="black"] p,
#footer-sections [data-section-theme="black"] a { color: var(--sah-paper); }
#footer-sections [data-section-theme="black"] p { color: var(--sah-paper-80); }
#footer-sections [data-section-theme="black"] a { color: var(--sah-paper); text-decoration-color: color-mix(in srgb, var(--sah-paper) 45%, transparent); }
#footer-sections [data-section-theme="black"] a:hover { text-decoration-color: var(--sah-paper); }
#footer-sections [data-section-theme="black"] h1,
#footer-sections [data-section-theme="black"] h2,
#footer-sections [data-section-theme="black"] h3,
#footer-sections [data-section-theme="black"] h4 { color: var(--sah-paper); }
#footer-sections [data-section-theme="black"] h4 { font-size: .75rem; letter-spacing: .26em; }
/* column labels: the first line of the VENUES / PLANNING / CONNECT blocks */
:is(#block-69faeed16450854f349ffcc3, #block-69faeed1d96d5dbef80f4d10, #block-69faeed13a88f8ffe79d5a76) .sqs-html-content > p:first-child {
  font-family: var(--sah-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .26em;
  font-size: .75rem;
  color: var(--sah-paper);
}

#block-69faeed1fcfd60f55a15acc1 {
  --image-component-object-fit: contain !important;
}
/* Squarespace holds image blocks at opacity 0 until its loader runs; the
   logo is a plain <img> now, so show it */
#block-69faeed1fcfd60f55a15acc1 .fluid-image-animation-wrapper { opacity: 1 !important; }
#block-69faeed1fcfd60f55a15acc1 img {
  object-fit: contain !important;
  object-position: left center !important;
}
.fe-block-69faeed1fcfd60f55a15acc1 .sah-footer-logo,
#block-69faeed1fcfd60f55a15acc1 img.sah-footer-logo {
  width: clamp(200px, 100%, 300px) !important;
  min-width: 200px;
  height: auto !important;
  position: static !important;
}
@media (min-width: 768px) and (max-width: 1100px) {
  #footer-sections .fe-block-69faeed1fcfd60f55a15acc1 { min-width: 200px; }
}


/* -------------------------------------------------------------------------
   12. Long copy set as headings. Testimonials (event-inspiration) read as
   pull quotes in Garamond italic, not 116-character caps.
   ------------------------------------------------------------------------- */
.user-items-list-item-container[data-section-id="69845ac77f98cc4536851d7d"] .slide-content { --title-font-size-value: 2; }
.user-items-list-item-container[data-section-id="69845ac77f98cc4536851d7d"] .list-item-content__title {
  font-family: var(--sah-font-body);
  font-style: italic;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.3;
}


/* =========================================================================
   13. Editorial system. The brand book is flat and editorial: square
   corners, hairline Ink rules, 1px outlined cards, tracked caps headlines
   with a short Lingonberry rule, generous Garamond, tight photo grids. This
   section brings the Squarespace layout to that language.
   ========================================================================= */

/* One content width and one gutter for every fluid-grid section (was a
   1920px page with 2vw padding, so blocks sat anywhere from 29px to 146px
   from the edge). Full-bleed heroes are positioned outside the grid. */
:root {
  --maxPageWidth: 1280px;
  --pagePadding: clamp(20px, 5vw, 80px);
  --sah-rule-strong: var(--sah-ink);
  --sah-motif-w: 44px;
}

/* Square corners: no rounded frames anywhere in the brand */
#siteWrapper :is(img, .fluid-image-container, .sqs-image-content, .sqs-image-shape-container-element,
  .gallery-masonry-item-wrapper, .gallery-grid-item-wrapper, .gallery-strips-item-wrapper,
  .summary-thumbnail, .summary-thumbnail-container, .sqs-gallery-block-slideshow .slide,
  .gallery-fullscreen-slideshow-wrapper, .slide.content-fit, .slide.content-fill,
  .list-item, .list-item-media, .contactForm, #contact .code-block, .fe-block, .sqs-block,
  .sqs-button-element--primary, .sqs-button-element--secondary, .sqs-button-element--tertiary,
  .btn, .list-item-content__button, .gallery-fullscreen-slideshow-control-btn,
  .wm-tabs nav button, .wm-tabs .active-indicator, .header-display-desktop,
  .header-skip-link, iframe) {
  border-radius: 0 !important;
}

/* ---- Header: a full-width Paper bar with a hairline, like a letterhead ---- */
@media screen and (min-width: 800px) and (pointer: fine), screen and (min-width: 1025px) {
  #header .header-announcement-bar-wrapper {
    padding: 0 !important;
    background: var(--sah-paper) !important;
    border-bottom: 1px solid var(--sah-rule);
  }
  #header .header-inner {
    padding-inline: var(--pagePadding);
    min-height: 76px;
    align-items: center;
  }
  #header .header-display-desktop,
  #header .header-display-desktop.is-shrunk {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    justify-content: space-between;
    align-items: center;
    transform: none;
  }
  #header .header-title-nav-wrapper {
    width: auto !important;
    flex: 1 1 auto !important;
    justify-content: space-between;
    align-items: center;
  }
  #header .header-layout-nav-center .header-title,
  #header .header-title { padding: 0 !important; }
  #header .header-layout-nav-center .header-nav,
  #header .header-nav {
    padding: 0 clamp(1.5rem, 3vw, 3rem) 0 0 !important;
    border: 0 !important;
  }
  #header .header-nav-list { gap: clamp(1.25rem, 2.2vw, 2.25rem); }
  #header .header-nav-item { margin: 0 !important; padding: 0 !important; }
  #header .header-display-desktop .header-title-logo img { width: clamp(108px, 8.4vw, 124px); }
}

/* ---- Buttons: rectangular, tracked labels ---- */
:root {
  --primary-button-padding-top: 1.15em;   --primary-button-padding-bottom: .95em;
  --primary-button-padding-left: calc(2.4em + .24em); --primary-button-padding-right: 2.4em;
  --secondary-button-padding-top: 1.15em; --secondary-button-padding-bottom: .95em;
  --secondary-button-padding-left: calc(2.4em + .24em); --secondary-button-padding-right: 2.4em;
}
#siteWrapper .sqs-button-element--primary,
#siteWrapper .header-actions-action--cta .btn,
#siteWrapper .list-item-content__button { font-size: .75rem !important; letter-spacing: .26em !important; }
#siteWrapper .header-actions-action--cta .btn { padding: 1.15em 2em .95em 2.26em !important; }
#siteWrapper .sqs-button-element--secondary {
  background: transparent !important;
  border: 1px solid var(--sah-ink) !important;
  color: var(--sah-ink) !important;
}
#siteWrapper .sqs-button-element--secondary:hover { background: var(--sah-ink) !important; color: var(--sah-paper) !important; }
#siteWrapper .sqs-button-element--tertiary {
  font-size: .75rem !important;
  letter-spacing: .26em !important;
  padding-bottom: .5em;
  border-bottom: 1px solid currentColor;
  text-decoration: none;
}
#siteWrapper .sqs-button-element--tertiary:hover { color: var(--sah-ink); }
#siteWrapper [data-section-theme="bright"] .sqs-button-element--tertiary:hover,
#siteWrapper [data-section-theme="black"] .sqs-button-element--tertiary:hover { color: var(--sah-paper); opacity: .8; }

/* ---- Headline scale: tighter, like the book (h1 44, h2 32 on a page) ---- */
h1 { font-size: clamp(1.875rem, 1.2rem + 2.3vw, 3.25rem); letter-spacing: .12em; line-height: 1.1; }
h2 { font-size: clamp(1.5rem, 1.15rem + 1.05vw, 2.25rem); letter-spacing: .12em; line-height: 1.14; }
h3 { font-size: clamp(1.1875rem, 1.05rem + .45vw, 1.5rem); letter-spacing: .14em; line-height: 1.22; }
h4 { font-size: 1.0625rem; letter-spacing: .16em; line-height: 1.3; }
.sqsrte-large { font-size: clamp(1.1875rem, 1.05rem + .5vw, 1.3125rem); line-height: 1.45; }

/* The brand motif: a short Lingonberry rule above centered section
   headlines on Paper, as between logo and eyebrow in the book's formal,
   centered pieces. Left-aligned editorial headlines stay bare. */
#siteWrapper .page-section:not([data-section-theme="bright"]):not([data-section-theme="black"]) .fe-block .sqs-html-content > h2:is([style*="text-align:center"], [style*="text-align: center"]):first-child::before {
  content: "";
  display: block;
  width: var(--sah-motif-w);
  height: 1px;
  background: var(--sah-lingonberry);
  margin: 0 auto .85em;
}

/* ---- Cards: 1px Ink outline, square, no fill (the package sheet) ---- */
#siteWrapper .user-items-list-simple .list-item[data-is-card-enabled="true"],
#siteWrapper .list-item {
  border: 1px solid var(--sah-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
}
#siteWrapper .user-items-list-banner-slideshow .list-item { border: 0 !important; }

/* ---- Tabs: tracked labels on a hairline, active = Lingonberry underline ---- */
body .wm-tabs {
  --tab-button-active-background: transparent;
  --tab-button-active-color: var(--sah-lingonberry);
  --tabs-nav-border-color: var(--sah-ink);
}
.wm-tabs nav button,
.wm-tabs nav button.active {
  background: transparent !important;
  color: var(--sah-ink) !important;
  padding: .9em 0 .75em !important;
  margin-right: 2.25em !important;
  border-bottom: 2px solid transparent !important;
}
.wm-tabs nav button.active { color: var(--sah-lingonberry) !important; border-bottom-color: var(--sah-lingonberry) !important; }
.wm-tabs nav button:hover { color: var(--sah-lingonberry) !important; }
.wm-tabs .active-indicator { display: none !important; }

/* ---- Photography: square frames, tight grid gaps ---- */
.gallery-masonry-wrapper:has(> .gallery-masonry-item:not([data-loaded])) { gap: 10px; }

/* slideshow and carousel arrows: small square controls */
.user-items-list-banner-slideshow .user-items-list-banner-slideshow__arrow-button,
.user-items-list-carousel__arrow-button {
  border-radius: 0 !important;
  background: var(--sah-paper) !important;
  border: 1px solid var(--sah-ink) !important;
  width: 44px; height: 44px;
}
.user-items-list-banner-slideshow .user-items-list-banner-slideshow__arrow-icon-background { background: transparent !important; }
.user-items-list-banner-slideshow .user-items-list-banner-slideshow__arrow-icon,
.user-items-list-carousel__arrow-icon { color: var(--sah-ink) !important; stroke: var(--sah-ink); }
.gallery-fullscreen-slideshow-control-btn { border: 1px solid var(--sah-ink) !important; }

/* ---- Accordion (FAQ): Ink rules ---- */
.sqs-block[data-sqsp-block="accordion"] { --tweak-accordion-block-divider-color: var(--sah-ink) !important; }
.accordion-item__title { font-size: 1rem; letter-spacing: .14em; }

/* ---- Contact card: square, hairline frame ---- */
#contact .code-block { border: 1px solid var(--sah-ink) !important; }
.contactForm { border: 0 !important; }

/* ---- Footer: links in Garamond, underline on hover only ---- */
#footer-sections [data-section-theme="black"] a { text-decoration: none; background-image: none !important; }
#footer-sections [data-section-theme="black"] a:hover { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }

/* list-section titles ("Event Partners") are headlines too */
#siteWrapper .list-section-title,
#siteWrapper .list-section-title p {
  font-family: var(--sah-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: clamp(1.5rem, 1.15rem + 1.05vw, 2.25rem);
  line-height: 1.14;
}
#siteWrapper .page-section:not([data-section-theme="bright"]):not([data-section-theme="black"]) .list-section-title::before {
  content: "";
  display: block;
  width: var(--sah-motif-w);
  height: 1px;
  background: var(--sah-lingonberry);
  margin: 0 0 .85em;
}
#siteWrapper .list-section-title[data-section-title-alignment="center"]::before { margin-inline: auto; }


/* =========================================================================
   14. Refinements from the art-direction critique (to be folded into the
   sections above once settled)
   ========================================================================= */
/* SAH refinements from the art-direction critique (merged) */

/* ---- Frame: one left edge, header never overflows (L01) ---- */
/* R1: one frame. The header never overflows, and header logo, hero copy,
   section text and footer share one left edge = fluid-grid column 3
   (x=189 at 1440, 130 at 1024, 98 at 768, 24 at 390). Merge into section 13. */
:root {
  --sah-frame: min(100vw - 2 * var(--pagePadding), var(--maxPageWidth));
  --sah-edge: calc((100vw - var(--sah-frame)) / 2 + var(--sah-frame) / 12 + 2px);
  --sah-hero-edge: var(--sah-edge);
}
@media (max-width: 767px) { :root { --sah-edge: max(6vw, 24px); } }

/* desktop header: border-box, so its padding no longer pushes INQUIRE off
   the screen (cropped at every width below ~1424px before) */
@media screen and (min-width: 800px) and (pointer: fine), screen and (min-width: 1025px) {
  #header .header-inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    padding-inline: var(--pagePadding) !important;
  }
}
@media screen and (min-width: 800px) and (max-width: 1099px) and (pointer: fine) {
  :root { --sah-hero-edge: var(--pagePadding); }
}
@media screen and (min-width: 1200px) {
  #header .header-inner { padding-inline: var(--sah-edge) !important; }
  #header .header-nav-list { gap: clamp(1.1rem, 2vw, 2.25rem) !important; }
  #header .header-layout-nav-center .header-nav,
  #header .header-nav { padding-right: clamp(1.25rem, 2.4vw, 3rem) !important; }
}
/* mobile / touch bar: logo and burger on the content edge (were 32px and 78px) */
@media only screen and (pointer: coarse) and (max-width: 1024px), screen and (max-width: 799px) {
  body #header .header-announcement-bar-wrapper { padding-left: var(--sah-edge) !important; padding-right: var(--sah-edge) !important; }
  #header .header-display-mobile .header-title { padding: 0 !important; }
}

/* interior heroes: headline + CTA on the header logo's edge (was 86px vs 80px).
   The homepage hero also has a shape block: excluded explicitly. */
.page-section[data-section-theme="bright"]:not([data-section-id="6976a72476a296661c6202e4"]):has(.sqs-block[data-definition-name="website.components.shape"]) .fluid-engine {
  padding-left: var(--sah-hero-edge);
  padding-right: var(--sah-hero-edge);
}

/* ---- Vertical rhythm: one section space (L03) ---- */
/* R6: one vertical rhythm. */
:root { --sah-space: clamp(56px, 5.5vw, 88px); }
:is(#page-regions .region, #sections) > .page-section:not([data-section-theme="bright"]):not(.gallery-section):not(.user-items-list-section):not(.content-collection) > .content-wrapper {
  padding-top: var(--sah-space) !important;
  padding-bottom: var(--sah-space) !important;
}
:is(#page-regions .region, #sections) > .page-section:not([data-section-theme="bright"]) { min-height: 0 !important; }
:is(#page-regions .region, #sections) > .page-section .user-items-list {
  padding-top: var(--sah-space) !important;
  padding-bottom: var(--sah-space) !important;
}
:is(#page-regions .region, #sections) > .gallery-section > .content-wrapper { padding-top: calc(var(--sah-space) / 2) !important; padding-bottom: calc(var(--sah-space) / 2) !important; }
/* Collection pages with no photo hero (the blog list): clear the fixed
   header once, with Squarespace's own --header-height on the section
   (custom.css forces that section to 8px), then the standard space. */
#siteWrapper #sections > .page-section:first-child:not(.content-collection):not([data-section-theme="bright"]) { padding-top: var(--header-height, 77px) !important; }
#siteWrapper #sections > .page-section:first-child:not(.content-collection):not([data-section-theme="bright"]) > .content-wrapper { padding-top: var(--sah-space) !important; }

/* ---- One measure for components (L02) ---- */
/* R2: one measure (requires the R1 variables). */
@media (min-width: 768px) {
  .fe-block:has(.wm-tabs),
  .fe-block:has(iframe[src*="matterport"]) { grid-column: 4 / 24 !important; }
}
#siteWrapper .gallery-section .gallery-fullscreen-slideshow,
#siteWrapper .gallery-section .gallery-masonry,
#siteWrapper .gallery-section .gallery-grid,
#siteWrapper .gallery-section .gallery-strips {
  padding-left: var(--sah-edge) !important;
  padding-right: var(--sah-edge) !important;
  max-width: none !important;
}
/* Event Partners cards (simple lists only; the testimonial carousel keeps its width) */
#siteWrapper .user-items-list-section .user-items-list-item-container.user-items-list-simple {
  max-width: none !important;
  padding-left: var(--sah-edge) !important;
  padding-right: var(--sah-edge) !important;
}
/* the six sections authored on columns 1-24 (event-inspiration x2,
   inspiration title, FAQ title, holidayparty x2): inset the whole grid by
   two columns so column 1 lands on the shared edge */
@media (min-width: 768px) {
  :is(section[data-section-id="69845ac77f98cc4536851d70"], section[data-section-id="69845ac77f98cc4536851d76"], section[data-section-id="69d36da395e9417842bea421"], section[data-section-id="69845630b393c74798143f61"], section[data-section-id="6a4b4bde28691b527f92ce89"], section[data-section-id="6a4b4c4079597e2b320a586a"]) .fluid-engine:not(.wm-tabs *) {
    padding-inline: calc(var(--sah-edge) - var(--sqs-site-gutter, var(--pagePadding)));
  }
  section[data-section-id="6a4b4c4079597e2b320a586a"] .fe-block:has(.wm-tabs) { grid-column: 2 / 26 !important; }
}
/* blog list (inspiration.html): was 1280 + 72px padding, images at 152 */
#siteWrapper .blog-single-column.collection-content-wrapper {
  max-width: none !important;
  margin-inline: 0 !important;
  padding-left: var(--sah-edge) !important;
  padding-right: var(--sah-edge) !important;
}

/* ---- Tablet splits (L07) ---- */
/* R7: split sections, 768-1199px (section ids as in custom.css section 12). */
@media (min-width: 768px) and (max-width: 1199px) {
  :is(section[data-section-id="696757282bdf4865330ae76f"], section[data-section-id="69d35f88094b542859edf2e4"], section[data-section-id="69d35fa95a9c73683f4d80db"], section[data-section-id="6a4ab3fea7e3810863f7a2e7"], section[data-section-id="6976a72476a296661c6202ea"], section[data-section-id="6976a72476a296661c6202f0"]) :is(.fe-block:has(h3), .fe-block:has(.sqs-block-button-element)) { grid-column: 4 / 13 !important; }
  :is(section[data-section-id="696757282bdf4865330ae76f"], section[data-section-id="69d35f88094b542859edf2e4"], section[data-section-id="69d35fa95a9c73683f4d80db"], section[data-section-id="6a4ab3fea7e3810863f7a2e7"], section[data-section-id="6976a72476a296661c6202ea"], section[data-section-id="6976a72476a296661c6202f0"]) .fe-block:has([data-definition-name="website.components.imageFluid"]) { grid-column: 14 / 24 !important; }
  section[data-section-id="6976a72476a296661c6202ed"] .fe-block:has([data-definition-name="website.components.imageFluid"]) { grid-column: 4 / 14 !important; }
  section[data-section-id="6976a72476a296661c6202ed"] :is(.fe-block:has(h3), .fe-block:has(.sqs-block-button-element)) { grid-column: 15 / 24 !important; }
}

/* ---- Heading spacing (T05) ---- */
:root { --sah-space-head-above: 1.5em; --sah-space-head-below: .5em; }
.sqs-html-content > :is(h1, h2, h3, h4) {
  margin-top: var(--sah-space-head-above);
  margin-bottom: var(--sah-space-head-below);
}
.sqs-html-content > h2 { margin-bottom: .55em; }
.sqs-html-content > h3 { margin-bottom: .6em; }
.sqs-html-content > p,
.sqs-html-content > .sqsrte-large,
.sqs-html-content > .sqsrte-small { margin-top: 0; margin-bottom: .8em; }
.sqs-html-content > :first-child { margin-top: 0; }
.sqs-html-content > :last-child { margin-bottom: 0; }

/* ---- Centered intro measure (T04) ---- */
:root { --sah-measure: 28em; }
#siteWrapper .page-section:not([data-section-theme="bright"]) .sqs-html-content > p:is([style*="text-align:center"], [style*="text-align: center"]):not(.sah-hero-sub) {
  max-width: var(--sah-measure);
  margin-inline: auto;
}

/* ---- Headline cap (T01, h1 only) ---- */
h1 { font-size: clamp(1.875rem, 1.2rem + 2.3vw, 3.125rem); }

/* ---- Script-scaled display titles (B09) + holidayparty section head (L09) ---- */
/* R8. Scaled-text titles at book scale (section 4, after the scaled-text rule) */
#siteWrapper .sqsrte-scaled-text-container .sqsrte-scaled-text {
  font-size: clamp(2.25rem, 1.5rem + 2.6vw, 3.5rem) !important;
  letter-spacing: .14em;
}
#siteWrapper .sqsrte-scaled-text-container .sqsrte-scaled-text > * { letter-spacing: .14em; line-height: 1.08; }
/* sit the smaller title on its old baseline, just above the copy it heads (and clear of the fixed header on the blog index) */
#siteWrapper .fe-block:has(.sqsrte-scaled-text-container) > .sqs-block { justify-content: flex-end !important; }
/* R9: holidayparty CAPACITIES & SPECS heading. */
section[data-section-id="6a4b4c4079597e2b320a586a"] .sqsrte-scaled-text {
  font-size: clamp(1.5rem, 1.15rem + 1.05vw, 2.25rem) !important;
  line-height: 1.14 !important;
}
section[data-section-id="6a4b4c4079597e2b320a586a"] .fe-block:has(.sqsrte-scaled-text) .sqs-block {
  justify-content: flex-end !important;
}
section[data-section-id="6a4b4c4079597e2b320a586a"] .sqsrte-scaled-text-container { height: auto !important; padding-bottom: clamp(.5rem, 1.5vw, 1.25rem); }

/* ---- Motif fixes (B05) ---- */
/* R5. Motif fixes (append to section 13 after the existing motif rules) */
#siteWrapper .page-section:not([data-section-theme="bright"]):not([data-section-theme="black"]) .list-section-title[data-section-title-alignment="center"]::before {
  margin-inline: auto;
}
#siteWrapper .page-section:not([data-section-theme="bright"]):not([data-section-theme="black"]) .fe-block .sqs-html-content > h1.visually-hidden:first-child + h2:is([style*="text-align:center"], [style*="text-align: center"])::before {
  content: "";
  display: block;
  width: var(--sah-motif-w);
  height: 1px;
  background: var(--sah-lingonberry);
  margin: 0 auto .85em;
}

/* ---- Focus ring (D10) ---- */
/* R11. One keyboard focus ring. Today it's Lingonberry on the folder
   buttons, Ink on links, and invisible on every primary button (clipped by
   overflow:hidden wrappers; R1 draws those inside). One square 2px ring,
   Lingonberry on Paper (6.5:1), Paper on Ink and photos, a 3px gap. */
#siteWrapper :is(a, button, [tabindex]):not(.sqs-button-element--primary):not(.header-actions-action--cta .btn):not(.list-item-content__button):focus-visible {
  outline: 2px solid var(--sah-lingonberry) !important;
  outline-offset: 3px !important;
  box-shadow: none;
}
#siteWrapper :is([data-section-theme="black"], [data-section-theme="bright"]) :is(a, button, [tabindex]):not(.sqs-button-element--primary):focus-visible,
#siteWrapper #footer-sections :is(a, button):focus-visible {
  outline-color: var(--sah-paper) !important;
}
/* the skip link reads as a button: Ink, Paper text, a Paper inner keyline */
#siteWrapper .header-skip-link:focus-visible { outline: 1px solid var(--sah-paper) !important; outline-offset: -5px !important; }

/* ---- Primary buttons (D01) ---- */
/* R1. Primary buttons (INQUIRE, the menu CTA, every Lingonberry button).
   The theme's "flex" hover wipes a ::before layer that still has a 300px
   (pill) radius inside the now-square button, so Lingonberry corners peek
   out of an Ink lozenge, over a slow .6s expo curve. Replace the wipe with
   a square Ink fill on a short ease, and draw focus INSIDE the button: two
   wrappers (.header-actions-action--cta, .sqs-block-button-container) are
   overflow:hidden and clip any outside ring. */
#siteWrapper .sqs-button-element--primary::before,
#siteWrapper .header-actions-action--cta .btn::before,
#siteWrapper .list-item-content__button::before { content: none !important; }

#siteWrapper .sqs-button-element--primary,
#siteWrapper .header-actions-action--cta .btn,
#siteWrapper .list-item-content__button,
.site-wrapper .header-menu .header-menu-cta a {
  transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}
.primary-button-style-solid #siteWrapper .sqs-button-element--primary:is(:hover, :focus-visible),
#siteWrapper #header .header-actions-action--cta .btn:is(:hover, :focus-visible),
#siteWrapper .list-item-content__button:is(:hover, :focus-visible),
.site-wrapper .header-menu .header-menu-cta a:is(:hover, :focus-visible) {
  background: var(--sah-ink) !important;
  border-color: var(--sah-ink) !important;
  color: var(--sah-paper) !important;
}
/* on Ink or photo grounds the Paper button inverts to an outline instead */
.primary-button-style-solid #siteWrapper :is([data-section-theme="black"], [data-section-theme="bright"]) .sqs-button-element--primary:is(:hover, :focus-visible) {
  background: transparent !important;
  color: var(--sah-paper) !important;
  box-shadow: inset 0 0 0 1px var(--sah-paper);
}
/* focus: a Paper keyline 4px inside the edge (Paper on Ink 15:1) */
#siteWrapper :is(.sqs-button-element--primary, .header-actions-action--cta .btn, .list-item-content__button):focus-visible,
.site-wrapper .header-menu .header-menu-cta a:focus-visible {
  outline: 1px solid var(--sah-paper) !important;
  outline-offset: -5px !important;
}

/* ---- Tertiary buttons (D02) ---- */
/* R2. Tertiary buttons ("EXPLORE WEDDINGS WITH US", "CHECK AVAILABILITY").
   On hover the theme wipe fills a Lingonberry block behind text that
   section 13 turns Ink: Ink on Lingonberry (about 2.3:1), a pair the brand
   forbids. Drop the block; the hover is a color change of text and rule,
   and the rule (not the text box) carries the motion. */
#siteWrapper .sqs-button-element--tertiary::before { content: none !important; }
#siteWrapper .sqs-button-element--tertiary {
  border-bottom: 0 !important;
  padding-bottom: .55em !important;
  background-image: linear-gradient(currentColor, currentColor) !important;
  background-repeat: no-repeat !important;
  background-position: 0 100% !important;
  /* the rule stops at the last letter, not at the trailing letter-space */
  background-size: calc(100% - .26em) 1px !important;
  transition: color .18s ease, background-size .25s ease !important;
}
#siteWrapper .sqs-button-element--tertiary:is(:hover, :focus-visible) {
  color: var(--sah-ink) !important;
  background-color: transparent !important;
  background-size: calc(100% - .26em) 2px !important;
}
#siteWrapper :is([data-section-theme="bright"], [data-section-theme="black"]) .sqs-button-element--tertiary:is(:hover, :focus-visible) {
  color: var(--sah-paper) !important;
  opacity: 1 !important;
}

/* ---- Desktop nav (D03) ---- */
/* R3. Desktop nav and dropdowns: one hover language, a hung sheet.
   Today INSPIRATION gets the theme's underline (Lingonberry, 2px under the
   caps, .6s) but SPACES / EVENTS / PLANNING only change color, INSPIRATION
   sits ~1px higher (display:flex vs inline-flex), and the dropdown is a
   rounded (8px) floating card with a drop shadow that starts INSIDE the
   letterhead bar, its links 7px right of the title. */
@media screen and (min-width: 800px) and (pointer: fine), screen and (min-width: 1025px) {
  /* folder <li>s are display:block (a line box adds ~1.4px under the button),
     the INSPIRATION <li> is flex: make them all flex so the caps share a baseline */
  #header .header-display-desktop .header-nav-item { display: flex !important; align-items: center; }
  #header .header-display-desktop .header-nav-item > a,
  #header .header-display-desktop .header-nav-folder-title {
    display: inline-flex !important;
    position: relative;
    transition: color .18s ease !important;
  }
  /* a hairline under the caps, stopping at the last letter (not the trailing .24em) */
  #header .header-display-desktop .header-nav-item > a::after,
  #header .header-display-desktop .header-nav-folder-title::after,
  #header .header-display-desktop .header-nav-folder-item a::after {
    content: "" !important;
    position: absolute;
    left: 0;
    width: calc(100% - .24em) !important;
    bottom: -.35em !important;
    height: 1px;
    background: var(--sah-lingonberry) !important;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .2s ease !important;
  }
  #header .header-display-desktop .header-nav-item > a:is(:hover, :focus-visible)::after,
  #header .header-display-desktop .header-nav-item--folder:is(:hover, :focus-within) .header-nav-folder-title::after,
  #header .header-display-desktop .header-nav-folder-item a:is(:hover, :focus-visible)::after { transform: scaleX(1); }
  /* the open folder keeps its title lit while the pointer is in the sheet */
  #header .header-display-desktop .header-nav-item--folder:is(:hover, :focus-within) .header-nav-folder-title { color: var(--sah-lingonberry) !important; }

  /* the dropdown: a square Paper sheet hung from the bar's hairline */
  #header .header-display-desktop .header-nav-folder-content {
    left: -25px !important;            /* link text lines up with the title */
    top: calc(100% + 27.5px) !important; /* hang from the bar's hairline (bar 76px + 1px rule; titles end at ~49.5px) */
    min-width: 184px;
    padding: 18px 24px 20px !important;
    border-radius: 0 !important;
    border: 1px solid var(--sah-rule) !important;
    border-top: 0 !important;
    box-shadow: 0 18px 24px -20px color-mix(in srgb, var(--sah-ink) 28%, transparent) !important;
  }
  /* invisible bridge over the 27px gap so the sheet doesn't close on the way down */
  #header .header-display-desktop .header-nav-folder-content::before {
    content: "";
    position: absolute;
    left: 0; right: 0;
    bottom: 100%;
    height: 28px;
  }
  #header .header-display-desktop .header-nav-folder-item { padding-top: 0 !important; }
  #header .header-display-desktop .header-nav-folder-item + .header-nav-folder-item { margin-top: 8px; }
  #header .header-display-desktop .header-nav-folder-item a {
    position: relative;
    display: inline-block;
    padding: .2em 0;
    transition: color .18s ease !important;
  }
}

/* ---- Mobile menu (D04) ---- */
/* R4. Mobile menu overlay: a ruled list, like the package sheet.
   Today: four 20px caps floating on 64px of air, chevrons glued to the
   words, nothing between rows, a grey "BACK" 12px right of the column, and
   an INQUIRE button 210px wide, 17px left of the text column (Squarespace's
   4vw/6vw margins). Also the narrow-desktop burger (800-939px, section 15). */
@media only screen and (pointer: coarse) and (max-width: 1024px), screen and (max-width: 939px) {
  .site-wrapper .header-menu { --sah-menu-gutter: var(--sah-edge); }
  .site-wrapper .header-menu .header-menu-nav-folder-content { padding-top: 16px; }
  /* every row: full column width, a hairline above, the chevron flush right */
  .site-wrapper .header-menu .header-menu-nav-item:not(.header-menu-controls) {
    padding-inline: var(--sah-menu-gutter, 32px) !important;
  }
  .site-wrapper .header-menu .header-menu-nav-item:not(.header-menu-controls) > a {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    margin: 0 !important;
    padding: 1.15rem 0 1rem !important;
    border-top: 1px solid var(--sah-rule);
    font-size: 1.0625rem !important;
    letter-spacing: .2em !important;
    line-height: 1.2 !important;
    transition: color .18s ease, opacity .18s ease !important;
  }
  .site-wrapper .header-menu .header-menu-nav-folder-content > .header-menu-nav-wrapper > .header-menu-nav-item:last-of-type > a,
  .site-wrapper .header-menu .header-menu-nav-folder-content > .header-menu-nav-item:last-child > a { border-bottom: 1px solid var(--sah-rule); }
  .site-wrapper .header-menu .header-menu-nav-item:not(.header-menu-controls) > a .header-menu-nav-item-content { flex: 1; justify-content: space-between; }
  .site-wrapper .header-menu .header-menu-nav-item .header-nav-folder-title-text { text-decoration: none !important; background-image: none !important; }
  .site-wrapper .header-menu .header-menu-nav-item .header-dropdown-icon { width: .7em !important; height: .7em !important; margin-left: 1em !important; }
  .site-wrapper .header-menu .header-menu-nav-item .header-dropdown-icon svg { stroke-width: 1.5px; }
  .site-wrapper .header-menu .header-menu-nav-item:not(.header-menu-controls) > a:active { color: var(--sah-lingonberry) !important; }

  /* folder level: BACK as a Lingonberry label on the column edge */
  .site-wrapper .header-menu .header-menu-controls {
    padding-inline: var(--sah-menu-gutter, 32px) !important;
    margin-bottom: 14px;
  }
  .site-wrapper .header-menu .header-menu-nav .header-menu-controls a.header-menu-controls-control {
    padding: 0 !important;
    margin: 0 !important;
    color: var(--sah-lingonberry) !important;
    font-size: .75rem !important;
    letter-spacing: .26em !important;
    gap: .55em;
  }
  .site-wrapper .header-menu .header-menu-controls-control .header-dropdown-icon { width: .8em !important; height: .8em !important; margin: 0 !important; }

  /* the CTA spans the text column and lines up with it */
  .site-wrapper .header-menu .header-menu-cta {
    padding: 0 var(--sah-menu-gutter, 32px) 28px;
    box-sizing: border-box;
  }
  .site-wrapper .header-menu .header-menu-cta a {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 1.35em 1em 1.15em 1.24em !important;
  }
}

/* ---- Tabs: rule + indicator + select (D05) ---- */
/* R5. Tabs (17 pages: weddings, spaces, corporate, social, landing pages).
   The active underline floats 8px above a fuzzy 2px track at Ink 16%
   (the nav keeps 8px of scrollbar padding, and custom.css's ":root .wm-tabs"
   out-specifies section 13's Ink border). Make it one crisp 1px Ink rule
   with the 2px Lingonberry indicator sitting ON it, like a tab in a ledger. */
.wm-tabs[data-navigation-type="horizontal"] > * > .tabs-header { border-bottom: 0 !important; padding-top: 0 !important; }
.wm-tabs[data-navigation-type="horizontal"] nav {
  padding-bottom: 0 !important;
  box-shadow: inset 0 -1px 0 var(--sah-ink);   /* the rule; buttons paint over it */
  scrollbar-width: none;                        /* the 4px scrollbar track was the grey band */
}
.wm-tabs[data-navigation-type="horizontal"] nav::-webkit-scrollbar { display: none; }
.wm-tabs nav button,
.wm-tabs nav button.active {
  padding: 1.1em 0 .95em !important;
  border-bottom: 2px solid transparent !important;
  transition: color .18s ease, border-color .18s ease !important;
}
.wm-tabs nav button:not(.active):hover {
  color: var(--sah-lingonberry) !important;
  border-bottom-color: color-mix(in srgb, var(--sah-lingonberry) 30%, transparent) !important;
}
.wm-tabs nav button.active { border-bottom-color: var(--sah-lingonberry) !important; }
/* stop the indicator at the last letter, not after the trailing .24em letter-space */
.wm-tabs nav button .tab-title { margin-right: -.24em; }
.wm-tabs nav button:hover { opacity: 1 !important; }
/* phones: the plugin swaps the tabs for a select with a 5px-radius grey box */
:root body .wm-tabs {
  --select-navigation-button-border-radius: 0;
  --select-navigation-button-border-color: var(--sah-ink);
  --select-menu-border-color: var(--sah-ink);
  --select-button-hover-background: color-mix(in srgb, var(--sah-ink) 6%, transparent);
}
.wm-tabs .select-navigation,
.wm-tabs .select-navigation .select-button-container,
.wm-tabs .select-navigation button { border-radius: 0 !important; }
.wm-tabs .select-navigation .select-button-container button { padding-block: 1.05em .95em !important; }
.wm-tabs .select-navigation .select-items-container { border-radius: 0 !important; box-shadow: none !important; margin-top: -1px; }
.wm-tabs .select-navigation .select-item { font-family: var(--sah-font-display); font-weight: 600; text-transform: uppercase; letter-spacing: var(--sah-track-label); font-size: .8125rem; padding: 1em 12px .9em !important; }
.wm-tabs .select-navigation .select-item.active { color: var(--sah-lingonberry) !important; }

/* ---- Tabs: panel gutter + label size (L05) ---- */
/* R3: tabs. */
#siteWrapper .wm-tabs .tabs-header {
  padding-top: 0 !important;
  border-bottom: 1px solid var(--sah-ink) !important;
}
#siteWrapper .wm-tabs nav { padding-bottom: 0 !important; }
#siteWrapper .wm-tabs nav button,
#siteWrapper .wm-tabs nav button.active { margin-bottom: -1px !important; margin-right: clamp(1.25rem, 2.5vw, 2.25rem) !important; }
/* nested panel sections: no second gutter, a set gap under the tab rule */
#siteWrapper .wm-tabs .page-section > .content-wrapper {
  padding: clamp(28px, 3vw, 44px) 0 0 !important;
}
#siteWrapper .wm-tabs .page-section .fluid-engine {
  --grid-gutter: 0px;
  column-gap: 24px !important;
  margin-inline: -24px;
}
#siteWrapper .wm-tabs .page-section { min-height: 0 !important; }
/* tab labels at the site's label size (.75rem, like nav and buttons) */
body .wm-tabs { --tab-button-font-size: .75rem; --select-button-font-size: .75rem; }
/* phone: the select is a square Ink-ruled field */
#siteWrapper .wm-tabs .select-button-container button,
#siteWrapper .wm-tabs .select-items-container {
  border-radius: 0 !important;
  border-color: var(--sah-ink) !important;
}

/* ---- Tabs: panel heading as eyebrow, spec keys as data labels (T03) ---- */
#siteWrapper .wm-tabs .sqs-html-content > :is(h2, h3):only-child,
#siteWrapper .wm-tabs .sqs-html-content > :is(h2, h3):only-child strong {
  font-family: var(--sah-font-display);
  font-weight: 600;
  font-size: .75rem;
  letter-spacing: .26em;
  line-height: 1.4;
  color: var(--sah-lingonberry);
}
#siteWrapper .wm-tabs .sqs-html-content > p:has(> strong:only-child):has(+ ul[data-rte-list]) {
  font-family: var(--sah-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .24em;
  font-size: .75rem;
  line-height: 1.4;
  color: var(--sah-ink);
  margin: 1.6em 0 .7em;
  padding-bottom: .7em;
  border-bottom: 1px solid var(--sah-ink);
}
#siteWrapper .wm-tabs .sqs-html-content > p:first-child:has(> strong:only-child):has(+ ul[data-rte-list]) { margin-top: 0; }
#siteWrapper .wm-tabs .sqs-html-content > p:has(> strong:only-child):has(+ ul[data-rte-list]) strong { font-weight: 600; }

/* ---- Tabs: hang the eyebrow (B08, alignment only) ---- */
#siteWrapper .wm-tabs .tab-panel .fe-block:has(.sqs-html-content > :is(h2, h3):only-child) > .sqs-block { justify-content: flex-end !important; }

/* ---- Capacity stat tiles (B06) ---- */
/* R4. Capacity figures = stat tiles */
#siteWrapper .wm-tabs .sqs-html-content:has(> h2:first-child + p:last-child) {
  display: flex; flex-direction: column-reverse; justify-content: flex-end;
  border-top: 1px solid var(--sah-ink);
  padding-top: 14px;
}
#siteWrapper .wm-tabs .sqs-html-content:has(> h2:first-child + p:last-child) > h2 {
  font-size: clamp(2rem, 1.6rem + 1.2vw, 2.625rem) !important;
  letter-spacing: .04em !important; line-height: 1 !important; margin: 0 !important;
}
#siteWrapper .wm-tabs .sqs-html-content:has(> h2:first-child + p:last-child) > p {
  margin: 0 0 .9em !important;
  font-family: var(--sah-font-display); font-weight: 600; text-transform: uppercase;
  letter-spacing: .24em; font-size: .6875rem; line-height: 1.4; color: var(--sah-ink-80);
  min-height: 2.8em; /* two-line keys keep every figure on one baseline */
}

/* ---- Lists: plain lines, hung dash on long-form (T02) ---- */
#siteWrapper ul[data-rte-list] { padding-left: 0; margin: .4em 0 1em; }
#siteWrapper ul[data-rte-list] li { margin: 0; }
#siteWrapper ul[data-rte-list] li + li { margin-top: .45em; }
#siteWrapper ul[data-rte-list] li > p { margin: 0; line-height: 1.4; }
#siteWrapper ul[data-rte-list] li > :first-child::before { content: none !important; } /* custom.css sets the dash with !important; delete that rule when merging */
.sqs-html-content > ul[data-rte-list]:last-child { margin-bottom: 0; }
/* long-form copy (legal pages, blog posts) keeps a hung dash */
#siteWrapper :is(.sqs-html-content:has(> h3 ~ h3 ~ h3), .blog-item-content) ul[data-rte-list] li > :first-child::before {
  content: "\2013" !important;
  display: inline-block;
  min-width: 0;            /* theme: min-width 40px, right-aligned, 10px padding */
  width: 1.1em;
  margin-left: -1.1em;
  padding-right: 0;
  text-align: left;
  color: var(--sah-ink-80);
}
@media (max-width: 640px) {
  #siteWrapper :is(.sqs-html-content:has(> h3 ~ h3 ~ h3), .blog-item-content) ul[data-rte-list] { padding-left: 1.1em; }
}

/* ---- Tab lists: package-sheet rule (from B04) ---- */
#siteWrapper .wm-tabs ul[data-rte-list] {
  border-top: 1px solid var(--sah-ink);
  padding-top: .9em !important;
}

/* ---- PERFECT FOR lists (T10) ---- */
#siteWrapper .sqs-html-content blockquote {
  border-left: 0;
  padding-left: 0;
  margin: 0;
  width: fit-content;
  max-width: 100%;
}
#siteWrapper .sqs-html-content blockquote > pre {
  margin: 0 0 1em;
  padding-bottom: .9em;
  border-bottom: 1px solid var(--sah-ink);
}
#siteWrapper .sqs-html-content blockquote > p { margin: 0; line-height: 1.4; }
#siteWrapper .sqs-html-content blockquote > p + p { margin-top: .45em; }
/* when merging, also delete the blockquote rule in custom.css section 1 and in sah-brand section 9 */

/* ---- Homepage venue copy alignment (B11) ---- */
/* R11. Venue copy/list alignment (desktop fluid grid only; no transforms; the slideshow blocks are untouched) */
@media (min-width: 768px) {
  #venues .fe-block:has(> .sqs-block .sqs-html-content > p:only-child),
  #venues .fe-block:has(.sqs-block-button) { grid-column: 4 / 13 !important; }
  #venues .fe-block:has(blockquote) { grid-column: 15 / 24 !important; }
}

/* ---- Small labels and tables (T11) ---- */
.sqs-gallery-block-slideshow .meta .meta-title { letter-spacing: .26em; font-size: .75rem; }
.wm-simple-table th, [data-wm-plugin=simple-table] th {
  white-space: normal !important;
  text-overflow: clip !important;
  overflow: visible !important;
  line-height: 1.5;
  vertical-align: bottom;
}
[data-wm-plugin=simple-table] td { font-variant-numeric: lining-nums tabular-nums; }

/* ---- Contact block = inquiry card (B02; links stay Lingonberry) ---- */
/* R2. #contact = the inquiry card (merge into sections 10/13) */
#contact .fluid-engine {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-template-areas: "head head head" "visit email phone" "form form form";
  column-gap: 0; row-gap: 0;
  max-width: calc(880px + 2 * var(--pagePadding));
  margin-inline: auto;
  padding-inline: var(--pagePadding);
  box-sizing: border-box;
}
#contact .fluid-engine > .fe-block { grid-area: auto; height: auto !important; min-height: 0; }
#contact .fluid-engine > .fe-block:has(h2) { grid-area: head !important; margin-bottom: 40px; }
#contact .fluid-engine > .fe-block:has(.image-block) { display: none !important; }
#contact .fluid-engine > .fe-block:has(a[href*="google"]) { grid-area: visit !important; }
#contact .fluid-engine > .fe-block:has(a[href^="mailto:"]) { grid-area: email !important; }
#contact .fluid-engine > .fe-block:has(a[href^="tel:"]) { grid-area: phone !important; }
#contact .fluid-engine > .fe-block:has(.sqs-block-code) { grid-area: form !important; margin-top: 56px; }

/* the trio strip: 1px Ink rules above and below, like the package sheet's footer strip */
#contact .fluid-engine > .fe-block:has(strong > em) {
  border-top: 1px solid var(--sah-ink);
  border-bottom: 1px solid var(--sah-ink);
  padding: 22px 12px 20px;
  text-align: center;
}
#contact .fluid-engine > .fe-block:has(strong > em) > .sqs-block { justify-content: flex-start !important; height: auto !important; }
#contact .fe-block:has(strong > em) .sqs-html-content p { text-align: center; margin: 0; font-size: 1.0625rem; line-height: 1.5; }
#contact .fe-block:has(strong > em) .sqs-html-content strong > em {
  display: inline-block; margin-bottom: .55em;
  color: var(--sah-ink); letter-spacing: .24em; font-size: .75rem;
}


/* the form card: as wide as the Toast form plus its padding, centered */
#contact .code-block { max-width: 720px; margin-inline: auto; }
@media (min-width: 768px) { #contact .code-block { padding: 0 !important; } }

@media (max-width: 767px) {
  #contact .fluid-engine {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "head" "visit" "email" "phone" "form";
  }
  #contact .fluid-engine > .fe-block:has(h2) { margin-bottom: 28px; }
  #contact .fluid-engine > .fe-block:has(strong > em) { border-bottom: 0; padding: 16px 0 14px; }
  #contact .fluid-engine > .fe-block:has(a[href^="tel:"]) { border-bottom: 1px solid var(--sah-ink); }
  #contact .fluid-engine > .fe-block:has(.sqs-block-code) { margin-top: 36px; }
}
#contact .fe-block:has(h2) .sqs-html-content p { max-width: 34em; margin-inline: auto; }
#siteWrapper #contact .contactForm { padding: clamp(1.25rem, 3vw, 2.5rem) clamp(.75rem, 3vw, 2.5rem) 1.25rem !important; }

/* ---- Inline links: quiet rule at rest (D09) + label spacing (T07) ---- */
/* R8. Inline links and the footer.
   Inline links (contact blocks on 17 pages, vendor credits and photographer
   bylines in 20 inspiration posts) get the theme's full-strength 1px
   gradient underline, so a credits list reads as a wall of red rules.
   Quiet rule at rest, full rule + Ink on hover. Footer: the address is
   hard-underlined by a <u> in the markup while every other footer link is
   bare; the legal strip is body copy where the book sets footers as
   tracked labels ("SWEDISH AMERICAN HALL · BRAND BOOK"). */
#siteWrapper main :is(.sqs-html-content, .blog-item-content) a:not([class*="sqs-button"]) {
  background-image: linear-gradient(color-mix(in srgb, currentColor 35%, transparent), color-mix(in srgb, currentColor 35%, transparent)) !important;
  transition: color .18s ease !important;
}
#siteWrapper main :is(.sqs-html-content, .blog-item-content) a:not([class*="sqs-button"]):is(:hover, :focus-visible) {
  color: var(--sah-ink) !important;
  background-image: linear-gradient(currentColor, currentColor) !important;
}
#siteWrapper main :is([data-section-theme="black"], [data-section-theme="bright"]) :is(.sqs-html-content, .blog-item-content) a:not([class*="sqs-button"]):is(:hover, :focus-visible) { color: var(--sah-paper) !important; }
.sqs-html-content strong > em { display: inline-block; margin-bottom: .35em; }

/* ---- Photography on Ink (B03) ---- */
/* R7. Photography on Ink (new block in section 13) */
#siteWrapper section.gallery-section,
#siteWrapper section.page-section:has(iframe[src*="matterport"]) {
  --siteBackgroundColor: var(--sah-ink);
  background-color: var(--sah-ink);
}
#siteWrapper section.gallery-section .section-background,
#siteWrapper section.page-section:has(iframe[src*="matterport"]) .section-background { background-color: var(--sah-ink) !important; }
/* Paper arrows stay legible on Ink: square, Paper hairline */
#siteWrapper section.gallery-section :is(.gallery-slideshow-control-btn, .gallery-reel-control-btn, .user-items-list-carousel__arrow-button) {
  background: var(--sah-ink) !important; border: 1px solid var(--sah-paper) !important; color: var(--sah-paper) !important;
}
#siteWrapper section.gallery-section :is(.gallery-slideshow-control-btn, .gallery-reel-control-btn) svg { stroke: var(--sah-paper) !important; color: var(--sah-paper) !important; }

/* ---- Venue galleries: even grid (D06) ---- */
/* R13. Venue galleries (spaces.html, spaces/swedish-american-hall.html,
   spaces/cafe-du-nord.html). The masonry script lays photos out with 18px
   column gutters but 1px row gutters, and miscounts the portraits: on the
   Swedish American Hall page the second row sits ON TOP of the first
   portrait (cropping it to a landscape), and on Café du Nord the portrait
   overruns the gallery by 85px. The brand book's photo grid is tight and
   even (10px, one tall image beside landscapes). A CSS grid does that. */
:is(section[data-section-id="693fc1ee76e39e53b55d4415"], section[data-section-id="69a16caeb334137a2d678016"]) .gallery-masonry { container-type: inline-size; }
:is(section[data-section-id="693fc1ee76e39e53b55d4415"], section[data-section-id="69a16caeb334137a2d678016"]) .gallery-masonry-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: calc((100cqw - 20px) / 3 / 1.5);   /* a landscape 3:2 cell */
  gap: 10px;
  align-items: stretch !important;     /* the theme sets flex-start, so a portrait kept its own 630px */
  height: auto !important;
}
:is(section[data-section-id="693fc1ee76e39e53b55d4415"], section[data-section-id="69a16caeb334137a2d678016"]) .gallery-masonry-item {
  position: static !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
  min-height: 0;
  margin: 0 !important;
  overflow: hidden;
}
/* the portraits take two rows */
section[data-section-id="693fc1ee76e39e53b55d4415"] .gallery-masonry-item:is(:nth-child(1), :nth-child(5)),
section[data-section-id="69a16caeb334137a2d678016"] .gallery-masonry-item:nth-child(2) {
  grid-row: span 2;
}
:is(section[data-section-id="693fc1ee76e39e53b55d4415"], section[data-section-id="69a16caeb334137a2d678016"]) :is(.gallery-masonry-item-wrapper, .gallery-masonry-lightbox-link) {
  display: block;
  height: 100% !important;
  width: 100% !important;
}
:is(section[data-section-id="693fc1ee76e39e53b55d4415"], section[data-section-id="69a16caeb334137a2d678016"]) .gallery-masonry-item img {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .7s cubic-bezier(.2, .6, .2, 1), opacity .3s ease;
}
@media (hover: hover) {
  :is(section[data-section-id="693fc1ee76e39e53b55d4415"], section[data-section-id="69a16caeb334137a2d678016"]) .gallery-masonry-item:hover img { transform: scale(1.03); }
}
@media (max-width: 767px) {
  :is(section[data-section-id="693fc1ee76e39e53b55d4415"], section[data-section-id="69a16caeb334137a2d678016"]) .gallery-masonry-wrapper {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: calc((100cqw - 8px) / 2 / 1.5);
    gap: 8px;
  }
  section[data-section-id="693fc1ee76e39e53b55d4415"] .gallery-masonry-item:last-child { grid-column: span 2; }
}

/* ---- Slideshow and carousel arrows (D12) ---- */
/* R9. Slideshow and carousel arrows.
   Fullscreen slideshows (7 pages: weddings, corporate, social, holiday and
   GA landing pages): 29x34px chips with an Ink keyline that hover by
   fading to grey (opacity .7). Testimonials (event-inspiration): the arrow
   path is Paper on a Paper chip, so two empty boxes. One control for both:
   a 48px square, hairline chevron, inverting to Ink on hover. */
#siteWrapper .gallery-fullscreen-slideshow-control-btn {
  width: 48px !important;
  height: 48px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center;
  margin-inline: 24px !important;
  background: var(--sah-paper) !important;
  border: 0 !important;
  opacity: 1 !important;
  transition: background-color .18s ease !important;
}
#siteWrapper .gallery-fullscreen-slideshow-control-btn::before { content: none !important; }
#siteWrapper .gallery-fullscreen-slideshow-control-btn svg {
  width: 9px; height: 16px;
  stroke: var(--sah-ink) !important;
  stroke-width: 1.25px;
  transition: stroke .18s ease;
}
#siteWrapper .gallery-fullscreen-slideshow-control-btn:is(:hover, :focus-visible) { background: var(--sah-ink) !important; }
#siteWrapper .gallery-fullscreen-slideshow-control-btn:is(:hover, :focus-visible) svg { stroke: var(--sah-paper) !important; }

#siteWrapper .user-items-list-banner-slideshow__arrow-button {
  width: 48px !important; height: 48px !important;
  transition: background-color .18s ease !important;
}
#siteWrapper .user-items-list-banner-slideshow__arrow-icon,
#siteWrapper .user-items-list-banner-slideshow__arrow-icon-path {
  stroke: var(--sah-ink) !important;
  stroke-width: 1.25px !important;
  color: var(--sah-ink) !important;
  transition: stroke .18s ease;
}
#siteWrapper .user-items-list-banner-slideshow__arrow-button:is(:hover, :focus-visible) { background: var(--sah-ink) !important; }
#siteWrapper .user-items-list-banner-slideshow__arrow-button:is(:hover, :focus-visible) :is(.user-items-list-banner-slideshow__arrow-icon, .user-items-list-banner-slideshow__arrow-icon-path) { stroke: var(--sah-paper) !important; }

/* ---- Past events grid (B10) ---- */
/* R10. Past events grid */
#siteWrapper .summary-block-setting-design-autocolumns .summary-item-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px 14px;
  height: auto !important;
}
#siteWrapper .summary-block-setting-design-autocolumns .summary-item {
  position: static !important; top: auto !important; left: auto !important;
  width: auto !important; height: auto !important; margin: 0 !important; transform: none !important;
}
#siteWrapper .summary-block-setting-design-autocolumns :is(.summary-thumbnail-outer-container, .summary-thumbnail-container, .summary-thumbnail) {
  aspect-ratio: 3 / 2; height: auto !important; overflow: hidden;
}
#siteWrapper .summary-block-setting-design-autocolumns .summary-thumbnail img {
  width: 100% !important; height: 100% !important; object-fit: cover !important;
  position: static !important;
}
#siteWrapper .summary-block-setting-design-autocolumns .summary-title { margin-top: 14px; }
#siteWrapper .summary-block-setting-design-autocolumns .summary-title a { font-size: .875rem; letter-spacing: .2em; line-height: 1.5; }
@media (max-width: 767px) {
  #siteWrapper .summary-block-setting-design-autocolumns .summary-item-list { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}

/* ---- Inspiration collage to grid (B12) ---- */
/* R12. Collage to grid */
@media (min-width: 768px) {
  #siteWrapper .fe-block-da80fb2d212c16307aa1 { grid-area: 2 / 2 / 20 / 12 !important; z-index: auto !important; }
  #siteWrapper .fe-block-5815dceae49035612b6b { grid-area: 2 / 12 / 20 / 19 !important; z-index: auto !important; }
  #siteWrapper .fe-block-8b8c0f6cd3d9764d6cfa { grid-area: 2 / 19 / 20 / 26 !important; z-index: auto !important; }
}
@media (max-width: 767px) {
  #siteWrapper .fe-block-da80fb2d212c16307aa1 { grid-area: 1 / 2 / 11 / 10 !important; z-index: auto !important; }
  #siteWrapper .fe-block-5815dceae49035612b6b { grid-area: 11 / 2 / 18 / 6 !important; z-index: auto !important; }
  #siteWrapper .fe-block-8b8c0f6cd3d9764d6cfa { grid-area: 11 / 6 / 18 / 10 !important; z-index: auto !important; }
}

/* ---- Story card hover (D14) ---- */
/* R14. "Past events" cards (event-inspiration.html, 9 stories): no hover
   feedback at all, so nothing says the photo and title are a link. A slow,
   small push-in on the photo and a Lingonberry title with a hairline that
   stops at the last letter. */
.sqs-block-summary-v2 .summary-thumbnail-container,
.sqs-block-summary-v2 .summary-thumbnail { overflow: hidden; }
.sqs-block-summary-v2 .summary-thumbnail img {
  transition: transform .7s cubic-bezier(.2, .6, .2, 1), opacity .3s ease !important;
}
.sqs-block-summary-v2 .summary-title a {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 1px;
  padding-bottom: .2em;
  transition: color .18s ease, background-size .3s ease;
}
@media (hover: hover) {
  .sqs-block-summary-v2 .summary-item:hover .summary-thumbnail img { transform: scale(1.03); }
  .sqs-block-summary-v2 .summary-item:hover .summary-title a { color: var(--sah-lingonberry); background-size: calc(100% - .16em) 1px; }
}
.sqs-block-summary-v2 .summary-title a:focus-visible { color: var(--sah-lingonberry); background-size: calc(100% - .16em) 1px; }

/* ---- FAQ accordion (D13) ---- */
/* R10. FAQ accordion. No hover state at all; Josefin caps ride high in
   their line box, so each question sits ~4px above the middle of its row
   and ~2.5px above the plus. Trim the caps to their cap height so the
   row's padding is truly even, center the (slightly smaller) plus on the
   caps, and give hover/open a Lingonberry state. */
.sqs-block[data-sqsp-block="accordion"] .accordion-item__click-target {
  align-items: center !important;
  padding-block: 32px !important;
  transition: color .18s ease;
}
@supports (text-box: trim-both cap alphabetic) {
  .sqs-block[data-sqsp-block="accordion"] .accordion-item__title { text-box: trim-both cap alphabetic; }
}
.sqs-block[data-sqsp-block="accordion"] .accordion-item__title { transition: color .18s ease; }
.sqs-block[data-sqsp-block="accordion"] .accordion-item__click-target:is(:hover, :focus-visible) .accordion-item__title,
.sqs-block[data-sqsp-block="accordion"] .accordion-item__click-target:is(:hover, :focus-visible) .accordion-icon-container,
.sqs-block[data-sqsp-block="accordion"] .accordion-item__click-target[aria-expanded="true"] .accordion-icon-container {
  color: var(--sah-lingonberry);
}
.sqs-block[data-sqsp-block="accordion"] .accordion-icon-container {
  width: 12px !important;
  height: 12px !important;
  flex: 0 0 12px;
  margin-left: 2rem;
  transition: color .18s ease;
}
.sqs-block[data-sqsp-block="accordion"] :is(.plus__horizontal-line, .plus__vertical-line) {
  background-color: currentColor !important;
  transition: transform .25s ease !important;
}
.sqs-block[data-sqsp-block="accordion"] .accordion-item__description { padding-bottom: 32px; max-width: 40em; }

/* ---- Legal pages as a document (T08) ---- */
#siteWrapper .sqs-html-content:has(> h3 ~ h3 ~ h3) { max-width: var(--sah-measure, 28em); margin-inline: auto; }
#siteWrapper .sqs-html-content:has(> h3 ~ h3 ~ h3) > h3 {
  font-size: 1.0625rem;
  letter-spacing: .16em;
  line-height: 1.3;
  margin: 2.6em 0 .8em;
  padding-top: 1.4em;
  border-top: 1px solid var(--sah-rule);
}
#siteWrapper .sqs-html-content:has(> h3 ~ h3 ~ h3) > h2 + p {
  font-family: var(--sah-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .24em;
  font-size: .75rem;
  color: var(--sah-ink-80);
  margin-bottom: 2em;
}

/* ---- Blog posts (T09) ---- */
.blog-item-wrapper .blog-meta-item--date,
.blog-item-wrapper .blog-meta-item--date span { color: var(--sah-lingonberry); }
.blog-item-wrapper .blog-item-title h1.entry-title {
  font-size: clamp(1.75rem, 1.2rem + 1.9vw, 2.75rem);
  letter-spacing: .12em;
  line-height: 1.1;
  margin-top: .45em;
}
.blog-item-content .sqs-html-content > :is(p, ul, ol, h2, h3, h4, blockquote) {
  max-width: var(--sah-measure, 28em);
  margin-inline: auto;
}
.blog-item-content .sqs-html-content > p:first-child { font-size: clamp(1.1875rem, 1.05rem + .5vw, 1.3125rem); line-height: 1.45; }
#siteWrapper .sqs-gallery-design-grid .image-slide-anchor { border-radius: 0 !important; }
.item-pagination .item-pagination-title {
  max-width: 32em;
  font-size: .75rem !important;
  letter-spacing: .24em !important;
  line-height: 1.6 !important;
}

/* ---- Page tops without a photo hero ---- */
/* a visually hidden heading (added for screen readers) doesn't count as the
   first line: the visible headline after it gets no top margin either */
.sqs-html-content > .visually-hidden:first-child + * { margin-top: 0; }

/* The other pages without a photo hero open on the same top: one section
   space under the header. Their grids began with one to four empty rows
   (about 40-140px); each grid is pulled up by exactly those rows, so the
   blocks keep their places relative to the headline. Row = Squarespace's
   own row unit plus its 11px row gap. */
@media (min-width: 768px) {
  section[data-section-id="69845630b393c74798143f61"] .fluid-engine {            /* FAQs */
    margin-top: calc(-2 * (var(--container-width) * var(--row-height-scaling-factor) + 11px));
  }
  section[data-section-id="69844fd2ce62eea27198e6bf"] .fluid-engine,             /* Inquire */
  section[data-section-id="69846c4fb33a62f92aacd470"] .fluid-engine {            /* Event Partners, planning-1 */
    margin-top: calc(-3 * (var(--container-width) * var(--row-height-scaling-factor) + 11px));
  }
}
@media (max-width: 767px) {
  section[data-section-id="69845630b393c74798143f61"] .fluid-engine,
  section[data-section-id="69844fd2ce62eea27198e6bf"] .fluid-engine,
  section[data-section-id="69846c4fb33a62f92aacd470"] .fluid-engine { margin-top: calc(-3 * (24px + 11px)); }
}
/* Tech specs: the title sat at the bottom of a five-row box above the tabs;
   title on the first rows, tabs right under it */
#siteWrapper section[data-section-id="69a20d14886b82605136a6d7"] .fe-block-yui_3_17_2_1_1772181036780_351950 > .sqs-block { justify-content: flex-start !important; }
@media (min-width: 768px) {
  section[data-section-id="69a20d14886b82605136a6d7"] .fluid-engine {
    grid-template-rows: repeat(3, minmax(calc(var(--container-width) * var(--row-height-scaling-factor)), auto)) !important;
  }
  section[data-section-id="69a20d14886b82605136a6d7"] .fe-block-yui_3_17_2_1_1772181036780_351950 { grid-area: 1 / 2 / 3 / 26 !important; }
  section[data-section-id="69a20d14886b82605136a6d7"] .fe-block-yui_3_17_2_1_1772227929287_3385 { grid-area: 3 / 4 / 4 / 24 !important; }
}
@media (max-width: 767px) {
  section[data-section-id="69a20d14886b82605136a6d7"] .fluid-engine {
    grid-template-rows: repeat(5, minmax(24px, auto)) !important;
  }
  section[data-section-id="69a20d14886b82605136a6d7"] .fe-block-yui_3_17_2_1_1772181036780_351950 { grid-area: 1 / 2 / 3 / 10 !important; }
  section[data-section-id="69a20d14886b82605136a6d7"] .fe-block-yui_3_17_2_1_1772227929287_3385 { grid-area: 3 / 2 / 6 / 10 !important; }
}

/* ---- Footer = back cover (B01) ---- */
/* R1. Footer = the back cover (merge into section 11; supersedes the left-aligned logo object-position there) */
#footer-sections [data-section-theme="black"] {
  --siteBackgroundColor: var(--sah-lingonberry);
  --tweak-line-block-line-color: color-mix(in srgb, var(--sah-paper) 38%, transparent);
  --section-divider-stroke-color: color-mix(in srgb, var(--sah-paper) 38%, transparent);
}
#footer-sections [data-section-theme="black"] .section-background { background-color: var(--sah-lingonberry) !important; }
#footer-sections [data-section-theme="black"] .content-wrapper { padding-top: clamp(56px, 7vw, 88px) !important; padding-bottom: 28px !important; }

#footer-sections .fe-69faeed1e897b3cab862dd12 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: none !important;
  grid-template-areas:
    "logo logo" "tag tag" "ven ven" "plan plan" "con con" "soc soc" "rule rule" "copy legal";
  justify-items: center;
  row-gap: 0;
  column-gap: 0;
  text-align: center;
  max-width: var(--maxPageWidth);
  margin-inline: auto;
  padding-inline: var(--pagePadding);
  box-sizing: border-box;
}
#footer-sections .fe-69faeed1e897b3cab862dd12 > .fe-block { width: auto !important; max-width: 100%; height: auto !important; }
#footer-sections .fe-69faeed1e897b3cab862dd12 > .fe-block-69faeed1f7a087f5cd21340c { width: 100% !important; }
#footer-sections .fe-69faeed1e897b3cab862dd12 > .fe-block-69faeed1fcfd60f55a15acc1 { width: 240px !important; }
#footer-sections .fe-block-69faeed1fcfd60f55a15acc1 { grid-area: logo !important; margin-bottom: 22px; }
#footer-sections .fe-block-69faeed1cb3cb7294c02f71c { grid-area: tag !important;  margin-bottom: 30px; }
#footer-sections .fe-block-69faeed16450854f349ffcc3 { grid-area: ven !important; }
#footer-sections .fe-block-69faeed1d96d5dbef80f4d10 { grid-area: plan !important; }
#footer-sections .fe-block-69faeed13a88f8ffe79d5a76 { grid-area: con !important;  margin-top: 26px; }
#footer-sections .fe-block-69faeed1ac01807cfd28f168 { grid-area: soc !important;  margin-top: 26px; }
#footer-sections .fe-block-69faeed1f7a087f5cd21340c { grid-area: rule !important; width: 100% !important; margin-top: 40px; }
#footer-sections .fe-block-69faeed14635b8928ca30341 { grid-area: copy !important; justify-self: end; }
#footer-sections .fe-block-69faeed1e92bb84f3114ef20 { grid-area: legal !important; justify-self: start; }

/* logo centered, never under 200px */
#footer-sections #block-69faeed1fcfd60f55a15acc1 img { object-position: center center !important; }
#footer-sections #block-69faeed1fcfd60f55a15acc1 :is(.js-content-mode-element, .js-content-mode-element-wrapper, .fluid-image-container, .fluid-image-animation-wrapper, .fluid-image-component-root, .sqs-block-content) { position: static !important; height: auto !important; }
#footer-sections .fe-block-69faeed1fcfd60f55a15acc1 img.sah-footer-logo { width: 240px !important; min-width: 200px; margin-inline: auto; display: block; }

/* the one-line description: a soft Garamond aside */
#footer-sections .fe-block-69faeed1cb3cb7294c02f71c p {
  font-style: italic; font-size: 1.0625rem; line-height: 1.5;
  color: var(--sah-paper-80) !important;
  max-width: 34em; margin-inline: auto; text-align: center;
}

/* label lines: column keys drop out, links run on one tracked line */
:is(#block-69faeed16450854f349ffcc3, #block-69faeed1d96d5dbef80f4d10, #block-69faeed13a88f8ffe79d5a76) .sqs-html-content > p:first-child { display: none; }
:is(#block-69faeed16450854f349ffcc3, #block-69faeed1d96d5dbef80f4d10, #block-69faeed13a88f8ffe79d5a76) .sqs-html-content > p {
  display: inline; margin: 0;
  font-family: var(--sah-font-display); font-weight: 600; text-transform: uppercase;
  letter-spacing: .24em; font-size: .75rem; line-height: 2.1; color: var(--sah-paper) !important;
}
:is(#block-69faeed16450854f349ffcc3, #block-69faeed1d96d5dbef80f4d10, #block-69faeed13a88f8ffe79d5a76) .sqs-html-content > p:nth-child(n+3)::before { content: " · "; white-space: pre; }
#block-69faeed13a88f8ffe79d5a76 .sqs-html-content > p:nth-child(4) { display: block; }
#block-69faeed13a88f8ffe79d5a76 .sqs-html-content > p:nth-child(4)::before { content: none; }
#block-69faeed13a88f8ffe79d5a76 a u { text-decoration: none; }
#block-69faeed13a88f8ffe79d5a76 a u::after { content: " · "; white-space: pre; }
#block-69faeed13a88f8ffe79d5a76 a br { display: none; }
#footer-sections [data-section-theme="black"] .sqs-html-content a { color: var(--sah-paper) !important; }

/* social icons centered */
#footer-sections #block-69faeed1ac01807cfd28f168 { --social-icons-justify-content: center !important; }
#footer-sections #block-69faeed1ac01807cfd28f168 .sqs-svg-icon--list { justify-content: center !important; }

/* bottom strip: one centered Garamond line, "©… · Privacy Policy  Terms of Use" */
#footer-sections :is(.fe-block-69faeed14635b8928ca30341, .fe-block-69faeed1e92bb84f3114ef20) p {
  font-size: .875rem; line-height: 1.5; margin: 0;
  color: var(--sah-paper-80) !important;
}
#footer-sections .fe-block-69faeed14635b8928ca30341 p::after { content: " · "; white-space: pre; }
#footer-sections .fe-block-69faeed1f7a087f5cd21340c ~ .fe-block { padding-top: 18px; }

@media (max-width: 767px) {
  #footer-sections .fe-69faeed1e897b3cab862dd12 {
    grid-template-columns: 1fr !important;
    grid-template-areas: "logo" "tag" "con" "soc" "rule" "copy" "legal";
  }
  #footer-sections .fe-block-69faeed14635b8928ca30341,
  #footer-sections .fe-block-69faeed1e92bb84f3114ef20 { justify-self: center; }
  #footer-sections .fe-block-69faeed14635b8928ca30341 p::after { content: none; }
  #footer-sections .fe-block-69faeed1e92bb84f3114ef20 { padding-top: 6px !important; }
  :is(#block-69faeed13a88f8ffe79d5a76) .sqs-html-content > p { display: block; }
  :is(#block-69faeed13a88f8ffe79d5a76) .sqs-html-content > p::before { content: none !important; }
  #block-69faeed13a88f8ffe79d5a76 a u::after { content: ""; }
  #block-69faeed13a88f8ffe79d5a76 a br { display: inline; }
}
#footer-sections a u { text-decoration: none; }
#footer-sections [data-section-theme="black"] .sqs-html-content a {
  transition: color .18s ease, text-decoration-color .18s ease !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: .24em !important;
  text-decoration-color: transparent !important;
}
#footer-sections [data-section-theme="black"] .sqs-html-content a:is(:hover, :focus-visible) { text-decoration-color: var(--sah-paper) !important; }
#footer-sections .sqs-svg-icon--wrapper { opacity: .85; transition: opacity .18s ease; }
#footer-sections .sqs-svg-icon--wrapper:is(:hover, :focus-visible) { opacity: 1; }

/* Scaled-text titles (e.g. tech-specs "Capacity & Tech Specs") are set
   nowrap by Squarespace's script; at phone width they ran off the screen.
   Let them wrap like any headline. */
#siteWrapper .sqsrte-scaled-text-container .sqsrte-scaled-text,
#siteWrapper .sqsrte-scaled-text-container .sqsrte-scaled-text > * { white-space: normal !important; word-break: normal !important; overflow-wrap: normal !important; hyphens: manual; }
@media (max-width: 767px) {
  #siteWrapper .sqsrte-scaled-text-container .sqsrte-scaled-text { font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.25rem) !important; }
}

/* =========================================================================
   15. Reorganization (Oct 2026): three doors, two venues, one form
   Custom sections (.sah-section) sit on the same frame and rhythm as the
   Squarespace sections: content starts at --sah-edge, sections are spaced
   by --sah-space (section 14, L03).
   ========================================================================= */
#siteWrapper .page-section.sah-section > .content-wrapper {
  padding-left: 0 !important; padding-right: 0 !important;
  max-width: none !important; width: 100%;
}
#siteWrapper .sah-section .content { width: 100%; }
.sah-block { padding-inline: var(--sah-edge); box-sizing: border-box; }

/* ---- Section head: centered headline + lead, motif rule on Paper ---- */
.sah-head { text-align: center; max-width: 40rem; margin: 0 auto clamp(28px, 3.2vw, 48px); }
.sah-head h2 { margin: 0 0 .5em; }
.sah-head h2::before {
  content: ""; display: block; width: var(--sah-motif-w); height: 1px;
  background: var(--sah-lingonberry); margin: 0 auto .85em;
}
.sah-head p { margin: 0; font-size: clamp(1.125rem, 1.05rem + .3vw, 1.3125rem); line-height: 1.5; color: var(--sah-ink-80); }

/* ---- Cards: a photo, a name, one line, the cue ---- */
.sah-cards { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 40px; grid-template-columns: minmax(0, 1fr); }
.sah-cards > li { margin: 0 !important; padding: 0 !important; list-style: none; }
.sah-cards > li::before { content: none !important; }
@media (min-width: 768px) {
  .sah-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2vw, 28px); }
  .sah-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2vw, 28px); }
}
#siteWrapper a.sah-card {
  display: block; color: var(--sah-ink) !important; text-decoration: none !important;
  background-image: none !important;
}
.sah-card-photo { display: block; overflow: hidden; background: var(--sah-ink); aspect-ratio: 4 / 3; }
@media (min-width: 768px) { .sah-cards--3 .sah-card-photo { aspect-ratio: 4 / 5; } }
.sah-cards--2 .sah-card-photo { aspect-ratio: 3 / 2; }
.sah-card-photo img {
  display: block; width: 100%; height: 100%; object-fit: cover;
  transition: transform .7s cubic-bezier(.2, .6, .2, 1);
}
#siteWrapper a.sah-card:is(:hover, :focus-visible) .sah-card-photo img { transform: scale(1.03); }
.sah-card-text { display: block; padding-top: 20px; }
.sah-card-eyebrow {
  display: block; margin-bottom: 10px;
  font-family: var(--sah-font-display); font-weight: 600; text-transform: uppercase;
  letter-spacing: var(--sah-track-label); font-size: .6875rem; line-height: 1.4;
  color: var(--sah-lingonberry);
}
#siteWrapper .sah-card-title { margin: 0 0 .5em !important; }
.sah-card-line {
  display: block; max-width: 30em;
  font-family: var(--sah-font-body); font-size: 1.0625rem; line-height: 1.5; color: var(--sah-ink-80);
}
.sah-card-fact {
  display: block; margin-top: 14px;
  font-family: var(--sah-font-display); font-weight: 600; text-transform: uppercase;
  letter-spacing: .2em; font-size: .75rem; line-height: 1.4; color: var(--sah-ink);
}
/* the cue reads as the site's tertiary button: Lingonberry caps on a 1px rule */
.sah-card-cue {
  display: inline-block; margin-top: 16px; padding-bottom: .55em;
  font-family: var(--sah-font-display); font-weight: 600; text-transform: uppercase;
  letter-spacing: var(--sah-track-label); font-size: .75rem; line-height: 1.2;
  color: var(--sah-lingonberry);
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat; background-position: 0 100%;
  background-size: calc(100% - .24em) 1px;
  transition: color .18s ease, background-size .25s ease;
}
#siteWrapper a.sah-card:is(:hover, :focus-visible) .sah-card-cue { color: var(--sah-ink); background-size: calc(100% - .24em) 2px; }
#siteWrapper a.sah-card:focus-visible { outline: 2px solid var(--sah-lingonberry); outline-offset: 6px; }
@media (prefers-reduced-motion: reduce) {
  .sah-card-photo img, .sah-card-cue { transition: none; }
  #siteWrapper a.sah-card:is(:hover, :focus-visible) .sah-card-photo img { transform: none; }
}

/* ---- Homepage hero: the one action under the line ---- */
.sqs-html-content p.sah-hero-cta { margin: 1.4em 0 0 !important; text-align: center; }
#siteWrapper .sah-hero-cta a.sqs-button-element--tertiary { color: var(--sah-paper) !important; }

/* ---- Capacity note under the room table ---- */
#siteWrapper p.sah-capacity-note {
  margin: 18px 0 0; max-width: 40em;
  font-family: var(--sah-font-body); font-size: 1rem; line-height: 1.5; color: var(--sah-ink-80);
}

/* ---- Header with five menu items ----
   Weddings / Celebrations / Corporate / Spaces / Inspiration need about
   530px. With the condensed stacked logo the row fits between the logo and
   Inquire from 940px; below that (800-939px, mouse) the menu folds into the
   burger and the logo and Inquire stay in the bar. The bar aligns to the
   content edge from 1200px (section 14, L01), page padding below. */
@media screen and (min-width: 800px) and (pointer: fine), screen and (min-width: 1025px) {
  #header .header-display-desktop .header-nav-wrapper a,
  #header .header-display-desktop .header-nav-folder-title { letter-spacing: .18em !important; }
  #header .header-display-desktop .header-nav-list { gap: clamp(1rem, 1.55vw, 2rem) !important; }
  #header .header-display-desktop .header-nav { padding-right: clamp(1.25rem, 2.2vw, 2.75rem) !important; }
  #header .header-display-desktop .header-title { margin-right: 40px !important; }
  #header .header-display-desktop .header-nav-item > a::after,
  #header .header-display-desktop .header-nav-folder-title::after { width: calc(100% - .18em) !important; }
}
@media screen and (min-width: 800px) and (max-width: 939px) and (pointer: fine) {
  #header .header-display-desktop .header-nav { display: none !important; }
  #header .header-display-desktop .header-burger { display: flex !important; margin-left: 20px; }
  .header-menu { transition: visibility 600ms cubic-bezier(.4, 0, .2, 1), opacity 400ms cubic-bezier(.4, 0, .2, 1); }
  .header--menu-open .header-menu { opacity: 1; visibility: visible; }
  .header--menu-open .header-menu .header-menu-nav-list,
  .header--menu-open .header-menu .header-menu-cta { transform: translatey(0); }
}

/* ---- Event photos, bigger (event pages and ad pages) ----
   The slideshow spans the frame (was inset to the text edge) and keeps a
   5:3 window, so the photos carry the page. */
@media (min-width: 768px) {
  #siteWrapper .gallery-section .gallery-fullscreen-slideshow {
    padding: 0 calc((100vw - var(--sah-frame)) / 2) !important;
    height: min(86vh, calc(var(--sah-frame) * .6)) !important;
    box-sizing: border-box;
  }
}

/* ---- Space intro: motif, eyebrow, name, a few lines, the capacity ---- */
.sah-head > .sah-card-eyebrow { margin-bottom: 14px; }
.sah-head > .sah-card-eyebrow::before {
  content: ""; display: block; width: var(--sah-motif-w); height: 1px;
  background: var(--sah-lingonberry); margin: 0 auto 18px;
}
.sah-head > .sah-card-eyebrow + h2::before { content: none; }
.sah-head > .sah-card-fact { margin-top: 20px; }
/* "See the full tech specs" under the included list */
#siteWrapper .sqs-html-content p.sah-more { margin-top: 1.1em; }

/* ---- Inspiration: one grid of real events ---- */
.sah-head h1 { margin: 0 0 .45em; }
.sah-head h1::before {
  content: ""; display: block; width: var(--sah-motif-w); height: 1px;
  background: var(--sah-lingonberry); margin: 0 auto .85em;
}
.sah-cards--stories { row-gap: clamp(36px, 3.6vw, 56px); }
.sah-cards--stories .sah-card-photo { aspect-ratio: 4 / 3; }
#siteWrapper .sah-cards--stories .sah-card-title {
  font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem) !important;
  letter-spacing: .14em !important; line-height: 1.3 !important;
  margin: 0 0 .2em !important;
}
.sah-cards--stories .sah-card-cue { margin-top: 12px; }

/* ---- Capacity tiles on phones: two columns, in the desktop reading order ----
   (Squarespace's automatic phone layout staggered them.) Café du Nord's
   panel starts with block a1aaac…, the Hall's with 143d77…. */
@media (max-width: 767px) {
  #siteWrapper .fluid-engine:is(:has(> .fe-block-a1aaac58a5007880d516), :has(> .fe-block-143d77398681d60011a7)) {
    grid-template-rows: none !important; grid-auto-rows: auto !important; row-gap: 28px !important;
  }
  #siteWrapper .fluid-engine:is(:has(> .fe-block-a1aaac58a5007880d516), :has(> .fe-block-143d77398681d60011a7)) > .fe-block {
    grid-row: auto !important; grid-column: 2 / 10 !important; order: 9;
  }
  #siteWrapper :is(.fe-block-a1aaac58a5007880d516, .fe-block-143d77398681d60011a7) { order: 0 !important; }
  /* Café du Nord: theater, banquet, standing, classroom, square feet, stage, ceiling */
  #siteWrapper .fluid-engine > .fe-block.fe-block-c945132aa01d255d83dd { order: 1 !important; grid-column: 2 / 6 !important; }
  #siteWrapper .fluid-engine > .fe-block.fe-block-9010d3aef49bd7c00642 { order: 2 !important; grid-column: 6 / 10 !important; }
  #siteWrapper .fluid-engine > .fe-block.fe-block-7634913574b6d86f7306 { order: 3 !important; grid-column: 2 / 6 !important; }
  #siteWrapper .fluid-engine > .fe-block.fe-block-a39c059fe54d89a2c604 { order: 4 !important; grid-column: 6 / 10 !important; }
  #siteWrapper .fluid-engine > .fe-block.fe-block-651863a3ba2c162fb4d0 { order: 5 !important; grid-column: 2 / 6 !important; }
  #siteWrapper .fluid-engine > .fe-block.fe-block-517dde48a2d61cc4ac64 { order: 6 !important; grid-column: 6 / 10 !important; }
  #siteWrapper .fluid-engine > .fe-block.fe-block-558c008c132aaf4df387 { order: 7 !important; grid-column: 2 / 6 !important; }
  /* the Hall: theater, banquet, standing, classroom, square feet, stage, ceiling */
  #siteWrapper .fluid-engine > .fe-block.fe-block-a6f48214a3b98a1813c4 { order: 1 !important; grid-column: 2 / 6 !important; }
  #siteWrapper .fluid-engine > .fe-block.fe-block-5df6a5c7c5ecd465d263 { order: 2 !important; grid-column: 6 / 10 !important; }
  #siteWrapper .fluid-engine > .fe-block.fe-block-e1948ad2c676865a4141 { order: 3 !important; grid-column: 2 / 6 !important; }
  #siteWrapper .fluid-engine > .fe-block.fe-block-86653697192b59cb7f37 { order: 4 !important; grid-column: 6 / 10 !important; }
  #siteWrapper .fluid-engine > .fe-block.fe-block-1e0f0a74dea86db40f7f { order: 5 !important; grid-column: 2 / 6 !important; }
  #siteWrapper .fluid-engine > .fe-block.fe-block-e1051445f43c4264ea4b { order: 6 !important; grid-column: 6 / 10 !important; }
  #siteWrapper .fluid-engine > .fe-block.fe-block-7f573ff5f75f786a04d4 { order: 7 !important; grid-column: 2 / 6 !important; }
}
