.elementor-23789 .elementor-element.elementor-element-159c3b5{--display:flex;--background-transition:0.3s;}.elementor-23789 .elementor-element.elementor-element-4186d68{--display:flex;--background-transition:0.3s;}.elementor-23789 .elementor-element.elementor-element-b36e447{--display:flex;--background-transition:0.3s;}.elementor-23789 .elementor-element.elementor-element-3b38647{--display:flex;--background-transition:0.3s;}.elementor-23789 .elementor-element.elementor-element-4bdd5f0{--display:flex;--background-transition:0.3s;}.elementor-23789 .elementor-element.elementor-element-f2e7804{--display:flex;--background-transition:0.3s;}.elementor-23789 .elementor-element.elementor-element-261875c{--display:flex;--background-transition:0.3s;}.elementor-23789 .elementor-element.elementor-element-7770ea7{--display:flex;--background-transition:0.3s;}.elementor-23789 .elementor-element.elementor-element-7274139{--display:flex;--background-transition:0.3s;}.elementor-23789 .elementor-element.elementor-element-bd2e12a{--display:flex;--background-transition:0.3s;}.elementor-23789 .elementor-element.elementor-element-189195a{--display:flex;--background-transition:0.3s;}/* Start custom CSS *//*
 ═══════════════════════════════════════════════════════
  AMBFA — SEATTLE LANDING PAGE — SCOPED STYLES
  PAGE-SCOPED: every rule (and every brand variable) is
  contained under the .ambfa wrapper, so this file CANNOT
  restyle any other page — even if it loads site-wide.

  WHERE TO PASTE (this page only, recommended):
    Elementor → edit the Seattle page → Page Settings (gear)
    → Advanced → Custom CSS.  Load it BEFORE the section
    widgets. Do NOT put brand rules in global Additional CSS
    if you want them limited to this page.

  Every section widget wraps its markup in class="ambfa",
  which is what these body.elementor-page-23789s and variables hang off of.
 ═══════════════════════════════════════════════════════
*/

/* ── Google Fonts (font availability only — safe to load anywhere) ── */
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;1,400;1,600&family=Inter:wght@300;400;500;600&display=swap');

/* ── TwentiethCentury — same files as ambfa.com (body face) ── */
@font-face { font-family:'TwentiethCentury'; src:url('https://ambfa.com/wp-content/uploads/2024/07/TwentiethCenturyforKenmore-Light.woff2') format('woff2'); font-weight:300; font-display:swap; }
@font-face { font-family:'TwentiethCentury'; src:url('https://ambfa.com/wp-content/uploads/2024/07/TwentiethCenturyforKenmore-Medium.woff') format('woff'); font-weight:400; font-display:swap; }
@font-face { font-family:'TwentiethCentury'; src:url('https://ambfa.com/wp-content/uploads/2024/07/TwentiethCenturyforKenmore-Semibold.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'TwentiethCentury'; src:url('https://ambfa.com/wp-content/uploads/2024/07/TwentiethCenturyforKenmore-Bold.woff2') format('woff2'); font-weight:700; font-display:swap; }

/* ── Brand variables — defined ON the wrapper, NOT :root,
      so they never override theme variables on other pages ── */
.ambfa {
  --navy:       #252366;
  --navy-mid:   #1a1850;
  --navy-light: #2b2870;
  --gold:       #C08134;
  --gold-light: #D4944A;
  --gold-pale:  #f2dea0;
  --gold-dim:   rgba(192,129,52,.12);
  --gold-glow:  rgba(192,129,52,.25);
  --cream:      #FBFAF8;
  --off-white:  #F9F8F6;
  --vanilla:    #F9F8F6;
  --white:      #ffffff;
  --text:       #1A1A1A;
  --muted:      #6b7280;
  --border:     #E5E2DC;
  --green-wa:   #25d366;
  --radius:     12px;
  --radius-lg:  20px;
  --shadow:     0 4px 24px rgba(0,0,0,.09);
  --shadow-md:  0 8px 40px rgba(0,0,0,.14);
  --shadow-gold:0 8px 32px rgba(192,129,52,.22);
  /* body face for the page */
  font-family: 'TwentiethCentury', 'Inter', sans-serif;
  color: var(--text); -webkit-font-smoothing: antialiased;
}

/* ── Scoped reset — only touches elements inside .ambfa ── */
.ambfa *, .ambfa *::before, .ambfa *::after { box-sizing: border-box; margin: 0; padding: 0; }
.ambfa { scroll-behavior: smooth; }

/* ── FULL-BLEED LAYOUT — every section root (.ambfa) spans the
      full viewport width and stacks flush, even when Elementor
      wraps the HTML widget in a padded, max-width column. The
      inner .container still keeps text centred at 1120px.
      NOTE: also set each Elementor Section's padding to 0
      (Advanced → Padding) so there is no vertical gap. ── */
.ambfa {
  position: relative; left: 50%; right: 50%;
  width: 100vw; max-width: 100vw;
  margin-left: -50vw; margin-right: -50vw;
  overflow-x: clip;   /* guard against a 100vw horizontal scrollbar */
}
/* Neutralise the padding/margin Elementor puts around the widget AND
   the Section/container that holds it — this is what removes the
   vertical gaps between the coloured bands. (Requires a modern
   browser for :has(); if unsupported, set the paddings to 0 by hand
   in Elementor as noted above.) */
.elementor-widget-html:has(.ambfa) > .elementor-widget-container { padding: 0 !important; margin: 0 !important; overflow: visible !important; }
.elementor-widget-html:has(.ambfa),
.elementor-section:has(.ambfa),
.elementor-container:has(.ambfa),
.e-con:has(.ambfa),
.e-con-inner:has(.ambfa),
.elementor-column:has(.ambfa) > .elementor-widget-wrap,
.elementor-column:has(.ambfa) {
  padding-top: 0 !important; padding-bottom: 0 !important;
  margin-top: 0 !important; margin-bottom: 0 !important;
}

.ambfa .container { max-width: 1120px; margin: 0 auto; padding: 0 28px; }
.ambfa .serif { font-family: 'Crimson Text', serif; }
.ambfa .gold { color: var(--gold); }

.ambfa .eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 11px; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 18px;
}
.ambfa .eyebrow::before {
  content: ''; display: block; width: 28px; height: 1.5px;
  background: var(--gold); flex-shrink: 0;
}
.ambfa .eyebrow-light { color: rgba(192,129,52,.8); }
.ambfa .eyebrow-light::before { background: rgba(192,129,52,.5); }

/* ── Buttons ── */
.ambfa .btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; padding: 16px 32px; border-radius: 4px;
  font-family: 'TwentiethCentury', 'Inter', sans-serif; font-size: 13px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; cursor: pointer; border: none; text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space: nowrap; line-height: 1; min-height: 52px;
}
.ambfa .btn:hover { transform: translateY(-2px); }
.ambfa .btn-gold { background: var(--gold); color: var(--white); box-shadow: 0 4px 20px rgba(192,129,52,.30); }
.ambfa .btn-gold:hover { background: var(--gold-light); box-shadow: var(--shadow-gold); }
.ambfa .btn-outline-gold { background: transparent; border: 1.5px solid rgba(192,129,52,.55); color: var(--gold); }
.ambfa .btn-outline-gold:hover { background: var(--gold-dim); border-color: var(--gold); }
.ambfa .btn-outline-light { background: transparent; border: 1.5px solid rgba(255,255,255,.30); color: var(--white); }
.ambfa .btn-outline-light:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.55); }
.ambfa .btn-ink { background: #16181f; color: var(--white); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 4px 20px rgba(0,0,0,.35); }
.ambfa .btn-ink:hover { background: #23262f; border-color: rgba(255,255,255,.28); }
.ambfa .btn-wa { background: var(--green-wa);color: var(--white); box-shadow: 0 4px 20px rgba(37,211,102,.28); }
.ambfa .btn-wa:hover { box-shadow: 0 8px 32px rgba(37,211,102,.42); }
.ambfa .btn-lg { padding: 20px 44px; font-size: 15px; min-height: 60px; }

/* ── Section headings ── */
.ambfa .section-h2 {
  font-family: 'Crimson Text', serif; font-size: clamp(30px, 3.2vw, 46px);
  font-weight: 600; line-height: 1.15; letter-spacing: -.01em;
  color: var(--navy); margin-bottom: 22px;
}
.ambfa .section-h2 em { font-style: italic; color: var(--gold); }
.ambfa .section-lead { font-size: 16.5px; line-height: 1.8; color: var(--muted); margin-bottom: 32px; }

/* ── Entrance animation — pure CSS, NO JavaScript required.
      Elements fade/slide up on load; final state is fully
      visible even if animations are unsupported. ── */
@keyframes ambfaFadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.ambfa .reveal { animation: ambfaFadeUp .65s cubic-bezier(.22,.68,0,1.2) both; }
.ambfa .d1 { animation-delay: .1s; } .ambfa .d2 { animation-delay: .2s; }
.ambfa .d3 { animation-delay: .3s; } .ambfa .d4 { animation-delay: .4s; }
.ambfa .d5 { animation-delay: .5s; }
@media (prefers-reduced-motion: reduce) { .ambfa .reveal { animation: none; } }

/* ════════════════════════════════════════════════
   LIGHT THEME — section backgrounds are white +
   off-white ONLY (alternating). --vanilla is defined
   on the .ambfa wrapper above (= off-white #F9F8F6).
════════════════════════════════════════════════ */

/* Section backgrounds (white / off-white, alternating) */
#sea-hero         { background: #0d0f15 !important; }   /* hero stays dark — full-bleed image */
#sea-ticker      { background: var(--white)   !important; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
#sea-about        { background: var(--vanilla) !important; }
#sea-offer        { background: var(--white)   !important; }
#sea-wedding      { background: var(--vanilla) !important; }
#sea-trunk        { background: var(--white)   !important; }
#sea-testimonials { background: var(--vanilla) !important; }
#sea-faq          { background: var(--vanilla) !important; }

/* Tighter vertical spacing on every section */
#sea-about, #sea-offer, #sea-wedding, #sea-trunk, #sea-faq {
  padding-top: 60px !important; padding-bottom: 60px !important;
}
#sea-testimonials { padding-top: 44px !important; padding-bottom: 44px !important; }
/* hero owns its own padding (full-bleed image band) */
#sea-offer .center-head, #sea-testimonials .testimonials-head, #sea-faq .faq-head { margin-bottom: 34px !important; }

/* Soften / neutralize dark-section decorative overlays */
#sea-about::before, #sea-trunk::before {
  background: radial-gradient(ellipse 70% 60% at 80% 20%, rgba(192,129,52,.08) 0%, transparent 60%) !important;
}

/* Eyebrows in formerly-dark sections → solid gold */
#sea-about .eyebrow-light, #sea-trunk .eyebrow-light { color: var(--gold) !important; }
#sea-about .eyebrow-light::before, #sea-trunk .eyebrow-light::before { background: var(--gold) !important; }

/* Headings & lead copy → dark on light */
#sea-about .section-h2, #sea-trunk .section-h2 { color: var(--navy) !important; }
#sea-about .section-lead, #sea-trunk .section-lead { color: var(--muted) !important; }

/* About timeline */
#sea-about .tl-body h4 { color: var(--text) !important; }
#sea-about .tl-body p { color: var(--muted) !important; }

/* Trunk shows */
#sea-trunk .city-chip { background: var(--white) !important; border-color: var(--border) !important; color: var(--muted) !important; }
#sea-trunk .trunk-step h4 { color: var(--text) !important; }
#sea-trunk .trunk-step p { color: var(--muted) !important; }

/* ══════════════════════════════════════════════════════
   SECTION STYLES — merged from each widget's <style>.
   All body.elementor-page-23789s are #sea-* IDs / .ambfa-scoped, so nothing
   here can affect any other page.
   ══════════════════════════════════════════════════════ */

/* ─── HERO (01_hero.html) — full-bleed image, right-aligned copy ─── */
  #sea-hero {
    position: relative; overflow: hidden; isolation: isolate;
    background: #0d0f15;
    min-height: clamp(600px, 86vh, 880px);
    display: flex; align-items: center;
    padding: 140px 0 96px;
  }
  /* background image layer */
  #sea-hero .hero-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; background: #0d0f15; }
  #sea-hero .hero-bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 32% 50%; display: block; font-size: 0; color: transparent; }
  /* placeholder — delete .hero-bg-ph from the HTML once the photo is in */
  #sea-hero .hero-bg-ph {
    position: absolute; inset: 0;
    background:
      repeating-linear-gradient(45deg, transparent, transparent 14px, rgba(192,129,52,.035) 14px, rgba(192,129,52,.035) 28px),
      radial-gradient(ellipse 70% 90% at 22% 45%, #22252e 0%, #0d0f15 70%);
  }
  #sea-hero .hero-bg-ph-inner {
    position: absolute; left: 8%; top: 50%; transform: translateY(-50%);
    display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center;
    padding: 34px 30px; border: 2px dashed rgba(192,129,52,.32); border-radius: 12px;
    max-width: 330px;
  }
  #sea-hero .hero-bg-ph-icon {
    width: 52px; height: 52px; border-radius: 8px;
    background: rgba(192,129,52,.12); border: 1px solid rgba(192,129,52,.28);
    display: flex; align-items: center; justify-content: center; color: var(--gold);
  }
  #sea-hero .hero-bg-ph p { font-size: 13px; color: rgba(255,255,255,.45); font-weight: 500; }
  #sea-hero .hero-bg-ph span { font-size: 11px; color: rgba(255,255,255,.28); line-height: 1.5; }
  /* readability scrim — heavier on the right, where the copy sits */
  #sea-hero .hero-scrim {
    position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background:
      linear-gradient(90deg, rgba(10,12,18,.34) 0%, rgba(10,12,18,.28) 24%, rgba(10,12,18,.76) 54%, rgba(10,12,18,.92) 100%),
      linear-gradient(180deg, rgba(10,12,18,.58) 0%, rgba(10,12,18,.12) 30%, rgba(10,12,18,.20) 62%, rgba(10,12,18,.68) 100%);
  }
  /* copy panel — right half, like the reference */
  #sea-hero .hero-inner { position: relative; z-index: 2; width: 100%; display: flex; justify-content: flex-end; }
  #sea-hero .hero-panel { width: 100%; max-width: 540px; text-align: left; }
  #sea-hero .hero-h1 {
    font-family: 'Crimson Text', serif;
    font-size: clamp(40px, 4.8vw, 66px);
    font-weight: 600; line-height: 1.02; letter-spacing: -.025em;
    color: #fff; margin-bottom: 22px;
    text-shadow: 0 2px 26px rgba(0,0,0,.45);
  }
  #sea-hero .hero-h1 em { font-style: italic; color: var(--gold-light); }
  #sea-hero .hero-sub {
    font-size: 17.5px; line-height: 1.65; font-weight: 300;
    color: rgba(255,255,255,.80); max-width: 440px; margin-bottom: 36px;
    text-shadow: 0 1px 14px rgba(0,0,0,.4);
  }
  #sea-hero .hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
  #sea-hero .hero-ctas .btn-lg { padding: 19px 34px; font-size: 14px; min-height: 58px; }
  @media (max-width: 1024px) {
    #sea-hero .hero-panel { max-width: 480px; }
  }
  @media (max-width: 860px) {
    #sea-hero {
      display: block; padding: 110px 0 72px;
      min-height: clamp(520px, 78vh, 720px);
    }
    #sea-hero .hero-inner { justify-content: flex-start; }
    #sea-hero .hero-panel { max-width: none; }
    #sea-hero .hero-scrim {
      background:
        linear-gradient(180deg, rgba(10,12,18,.66) 0%, rgba(10,12,18,.55) 26%, rgba(10,12,18,.88) 100%);
    }
    #sea-hero .hero-bg img { object-position: 50% 40%; }
    #sea-hero .hero-bg-ph-inner { left: 50%; top: 26%; transform: translate(-50%,-50%); }
    #sea-hero .hero-sub { max-width: 520px; }
  }
  @media (max-width: 560px) {
    #sea-hero { padding: 96px 0 64px; min-height: 68vh; }
    #sea-hero .hero-h1 { font-size: 38px; letter-spacing: -.02em; margin-bottom: 16px; }
    #sea-hero .hero-sub { font-size: 16px; margin-bottom: 28px; }
    #sea-hero .hero-ctas { gap: 10px; }
    #sea-hero .hero-ctas .btn { width: 100%; white-space: normal; padding-left: 18px; padding-right: 18px; }
    #sea-hero .hero-bg-ph-inner { padding: 24px 20px; max-width: 280px; }
  }


/* ─── TRUST TICKER (03_trust-ticker.html) ─── */
  #sea-ticker { background: var(--gold); overflow: hidden; padding: 14px 0; position: relative; }
  #sea-ticker .ticker-track { display: flex; gap: 0; white-space: nowrap; animation: sea-ticker-scroll 30s linear infinite; }
  @keyframes sea-ticker-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  #sea-ticker .ticker-item {
    display: inline-flex; align-items: center; gap: 12px;
    font-size: 12px; font-weight: 700; letter-spacing: .1em;
    text-transform: uppercase; color: var(--navy); padding: 0 36px;
    font-family: 'TwentiethCentury', 'Inter', sans-serif;
  }
  #sea-ticker .ticker-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--navy); opacity: .4; flex-shrink: 0; }

/* ─── WHY BESPOKE / ABOUT (04_about.html) ─── */
  #sea-about { padding: 100px 0; background: var(--navy); position: relative; overflow: hidden; }
  #sea-about::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 60% 80% at 100% 50%, rgba(192,129,52,.06) 0%, transparent 55%); }
  #sea-about .about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; position: relative; z-index: 1; }
  #sea-about .about-img { position: relative; border-radius: 12px; overflow: hidden; background: var(--navy-light); aspect-ratio: 4 / 3; height: auto; align-self: center; }
  #sea-about .about-img img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
  #sea-about .about-img-ph {
    position: absolute; inset: 0; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 12px; text-align: center; padding: 24px;
    border: 2px dashed rgba(192,129,52,.35); border-radius: 12px;
    background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(192,129,52,.03) 10px, rgba(192,129,52,.03) 20px);
  }
  #sea-about .about-img-ph p { font-size: 13px; color: rgba(255,255,255,.4); font-weight: 500; }
  #sea-about .about-img-ph span { font-size: 11px; color: rgba(255,255,255,.28); }
  #sea-about .about-img-icon { width: 52px; height: 52px; border-radius: 8px; background: rgba(192,129,52,.12); border: 1px solid rgba(192,129,52,.25); display: flex; align-items: center; justify-content: center; color: var(--gold); }
  #sea-about .about-copy .section-h2 { color: var(--white); }
  #sea-about .about-copy .section-lead { color: rgba(255,255,255,.65); }
  #sea-about .timeline {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px;
    margin-top: 52px; padding-top: 36px; border-top: 1px solid var(--border);
  }
  #sea-about .tl-item { display: block; position: relative; padding-bottom: 0; }
  #sea-about .tl-item::before { display: none; }
  #sea-about .tl-year {
    display: inline-flex; align-items: center; justify-content: center;
    width: auto; min-width: 0; height: 32px; padding: 0 16px; margin-bottom: 14px;
    border-radius: 999px; background: rgba(192,129,52,.1); border: 1px solid rgba(192,129,52,.3);
    font-family: 'TwentiethCentury', 'Inter', sans-serif; font-size: 10.5px; font-weight: 600;
    letter-spacing: .12em; text-transform: uppercase; color: var(--gold);
  }
  #sea-about .tl-body h4 { font-size: 15px; font-weight: 600; margin-bottom: 6px; }
  #sea-about .tl-body p { font-size: 13.5px; line-height: 1.6; }
  #sea-about .about-cta { margin-top: 36px; }
  @media (max-width: 860px) {
    #sea-about .timeline { grid-template-columns: 1fr; gap: 26px; margin-top: 36px; padding-top: 28px; }
  }
  @media (max-width: 860px) { #sea-about .about-grid { grid-template-columns: 1fr; } #sea-about .about-img { order: -1; } }

/* ─── GARMENTS (09_garments.html) — slideshow carousel ─── */
  #sea-offer { padding: 72px 0; background: var(--off-white); }
  #sea-offer .center-head { text-align: center; max-width: 620px; margin: 0 auto 40px; }
  #sea-offer .offer-slider { position: relative; }
  #sea-offer .offer-row { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; padding: 4px 2px 8px; scrollbar-width: none; }
  #sea-offer .offer-row::-webkit-scrollbar { display: none; }
  #sea-offer .pillar { flex: 0 0 calc((100% - 54px) / 4); scroll-snap-align: start; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; background: var(--white); border: 1px solid var(--border); border-radius: 14px; padding: 26px 24px 24px; transition: transform .2s, box-shadow .2s, border-color .2s; position: relative; overflow: hidden; }
  #sea-offer .pillar::before { content: ''; position: absolute; left: 0; top: 0; height: 3px; width: 0; background: linear-gradient(90deg, var(--gold), var(--gold-light)); transition: width .28s ease; }
  #sea-offer .pillar:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); border-color: rgba(192,129,52,.35); }
  #sea-offer .pillar:hover::before { width: 100%; }
  #sea-offer .pillar-icon { width: 50px; height: 50px; border-radius: 13px; flex-shrink: 0; background: rgba(192,129,52,.1); border: 1px solid rgba(192,129,52,.25); display: flex; align-items: center; justify-content: center; color: var(--gold); transition: background .2s, transform .2s; }
  #sea-offer .pillar:hover .pillar-icon { background: rgba(192,129,52,.16); transform: scale(1.05); }
  #sea-offer .pillar h3 { font-family: 'Crimson Text', serif; font-size: 18px; font-weight: 600; color: var(--text); margin-bottom: 7px; line-height: 1.25; }
  #sea-offer .pillar p { font-size: 13px; color: var(--muted); line-height: 1.6; }
  #sea-offer .pillar h3 a { color: inherit; text-decoration: none; }
  #sea-offer .pillar:hover h3 a { color: var(--gold); }
  #sea-offer .slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 46px; height: 46px; border-radius: 50%; cursor: pointer; background: var(--white); border: 1px solid var(--border); color: var(--navy); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow); transition: background .18s, color .18s, border-color .18s, opacity .18s; }
  #sea-offer .slider-arrow:hover { background: var(--gold); color: var(--white); border-color: var(--gold); }
  #sea-offer .slider-arrow.prev { left: -14px; }
  #sea-offer .slider-arrow.next { right: -14px; }
  #sea-offer .slider-arrow[disabled] { opacity: .35; cursor: default; pointer-events: none; }
  @media (max-width: 900px) { #sea-offer .pillar { flex-basis: calc((100% - 18px) / 2); } #sea-offer .slider-arrow.prev { left: 4px; } #sea-offer .slider-arrow.next { right: 4px; } }
  @media (max-width: 560px) { #sea-offer .pillar { flex-basis: calc(100% - 44px); } }

/* ─── WEDDINGS (10_weddings.html) — cinematic full-bleed quote band ─── */
  #sea-wedding { position: relative; overflow: hidden; min-height: 240px; display: flex; align-items: center; padding: 38px 0 !important; background: var(--navy-mid) !important; }
  #sea-wedding .wed-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; background: var(--navy-light); }
  #sea-wedding .wed-bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 32%; display: block; font-size: 0; color: transparent; }
  #sea-wedding .wed-bg::before { display: none; }
  #sea-wedding .wed-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,12,18,.66) 0%, rgba(10,12,18,.30) 30%, rgba(10,12,18,.30) 70%, rgba(10,12,18,.66) 100%), radial-gradient(ellipse 95% 90% at 50% 50%, rgba(10,12,18,.22) 0%, rgba(10,12,18,.72) 100%); }
  #sea-wedding .wed-ph { position: absolute; top: 16px; left: 16px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 8px; background: rgba(13,15,21,.55); border: 1px solid rgba(192,129,52,.35); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; color: rgba(255,255,255,.72); }
  #sea-wedding .wed-ph svg { color: var(--gold); flex-shrink: 0; }
  #sea-wedding .wed-band { position: relative; z-index: 1; text-align: center; max-width: 900px; }
  #sea-wedding .wed-eyebrow { display: inline-block; font-size: 11.5px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--gold-light); margin-bottom: 16px; }
  #sea-wedding .wed-quote { font-family: 'Crimson Text', serif; font-style: italic; font-weight: 400; font-size: clamp(23px, 2.7vw, 34px); line-height: 1.28; letter-spacing: .005em; color: #fff; text-shadow: 0 2px 20px rgba(0,0,0,.45); }
  #sea-wedding .wed-cta-row { margin-top: 20px; }
  #sea-wedding .wed-cta-row .btn-lg { padding: 16px 34px; font-size: 14px; min-height: 52px; }
  @media (max-width: 560px) { #sea-wedding { min-height: 210px; padding: 36px 0 !important; } #sea-wedding .wed-quote { font-size: 21px; } }

/* ─── THE PROCESS (06_trunk-shows.html) ─── */
  #sea-trunk { padding: 100px 0; background: var(--navy); position: relative; overflow: hidden; }
  #sea-trunk::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 60% 60% at 20% 20%, rgba(192,129,52,.06) 0%, transparent 55%); }
  #sea-trunk .trunk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; position: relative; z-index: 1; }
  #sea-trunk .trunk-copy .section-h2 { color: var(--white); }
  #sea-trunk .trunk-copy .section-lead { color: rgba(255,255,255,.65); }
  #sea-trunk .cities { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; margin-bottom: 32px; }
  #sea-trunk .city-chip { display: inline-flex; align-items: center; gap: 7px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); border-radius: 4px; padding: 7px 15px; font-size: 12.5px; color: rgba(255,255,255,.7); font-weight: 500; }
  #sea-trunk .city-chip.active { background: rgba(192,129,52,.14); border-color: rgba(192,129,52,.4); color: var(--gold-light); font-weight: 600; }
  #sea-trunk .city-chip svg { color: var(--gold); flex-shrink: 0; }
  #sea-trunk .trunk-steps { display: flex; flex-direction: column; gap: 0; }
  #sea-trunk .trunk-step { display: flex; gap: 18px; align-items: flex-start; position: relative; padding-bottom: 24px; }
  #sea-trunk .trunk-step:last-child { padding-bottom: 0; }
  #sea-trunk .trunk-step::before { content: ''; position: absolute; left: 20px; top: 42px; bottom: -2px; width: 1.5px; background: linear-gradient(var(--gold), rgba(192,129,52,.15)); }
  #sea-trunk .trunk-step:last-child::before { display: none; }
  #sea-trunk .trunk-step-num { position: relative; z-index: 1; width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0; background: rgba(192,129,52,.1); border: 1.5px solid rgba(192,129,52,.3); display: flex; align-items: center; justify-content: center; font-family: 'Crimson Text', serif; font-size: 16px; font-weight: 700; color: var(--gold); }
  #sea-trunk .trunk-step h4 { font-size: 15px; font-weight: 600; color: var(--white); margin-bottom: 3px; }
  #sea-trunk .trunk-step p { font-size: 13.5px; color: rgba(255,255,255,.58); line-height: 1.65; }
  #sea-trunk .trunk-img { position: relative; border-radius: 12px; overflow: hidden; background: var(--navy-light); height: 520px; }
  #sea-trunk .trunk-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  #sea-trunk .trunk-img-ph { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; padding: 24px; border: 2px dashed rgba(192,129,52,.35); border-radius: 12px; background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(192,129,52,.03) 10px, rgba(192,129,52,.03) 20px); }
  #sea-trunk .trunk-img-ph p { font-size: 13px; color: rgba(255,255,255,.4); font-weight: 500; }
  #sea-trunk .trunk-img-ph span { font-size: 11px; color: rgba(255,255,255,.28); }
  #sea-trunk .trunk-img-icon { width: 52px; height: 52px; border-radius: 8px; background: rgba(192,129,52,.12); border: 1px solid rgba(192,129,52,.25); display: flex; align-items: center; justify-content: center; color: var(--gold); }
  @media (max-width: 860px) { #sea-trunk .trunk-grid { grid-template-columns: 1fr; } #sea-trunk .trunk-img { height: 340px; order: -1; } }

/* ─── CLIENT STORIES (08_testimonials.html) — minimalist / compact ─── */
  #sea-testimonials { padding: 44px 0; background: var(--off-white); }
  #sea-testimonials .testimonials-head { text-align: center; max-width: 520px; margin: 0 auto 28px; }
  #sea-testimonials .testimonials-head .section-h2 { font-size: clamp(20px, 2.2vw, 26px); margin-bottom: 0; }
  #sea-testimonials .testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
  #sea-testimonials .testimonial { position: relative; background: var(--white); border: 1px solid var(--border); border-radius: 14px; padding: 28px 26px 24px; transition: transform .2s, box-shadow .2s, border-color .2s; }
  #sea-testimonials .testimonial:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: rgba(192,129,52,.3); }
  #sea-testimonials .testimonial::before { content: '\201C'; position: absolute; top: 12px; right: 22px; font-family: 'Crimson Text', serif; font-size: 56px; line-height: 1; color: rgba(192,129,52,.18); pointer-events: none; }
  #sea-testimonials .stars { color: var(--gold); font-size: 13px; letter-spacing: 2px; margin-bottom: 12px; }
  #sea-testimonials .testimonial blockquote { position: relative; z-index: 1; font-size: 14px; line-height: 1.7; color: var(--text); font-style: italic; margin-bottom: 16px; border-left: none; padding-left: 0; }
  #sea-testimonials .testimonial-author { border-top: 1px solid var(--border); padding-top: 14px; }
  #sea-testimonials .author-name { font-size: 13px; font-weight: 600; color: var(--navy); }
  #sea-testimonials .author-detail { font-size: 11.5px; color: var(--muted); margin-top: 2px; }
  @media (max-width: 860px) { #sea-testimonials .testimonials-grid { grid-template-columns: 1fr; gap: 18px; } }

/* ─── CLOSING — two columns, minimal. Scoped to #sea-contact;
       overrides the light-theme rules that may still sit in page Custom CSS. ─── */
#sea-contact {
  background: transparent; padding: 58px 0;
  position: relative; overflow: hidden;
  border-top: 1px solid var(--border);
}
#sea-contact::before { display: none; }
#sea-contact .close-grid {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center;
  text-align: left;
}

/* ── left: the ask ── */
#sea-contact .close-cta .eyebrow-light { color: var(--gold); margin-bottom: 14px; }
#sea-contact .close-cta .eyebrow-light::before { background: var(--gold); }
#sea-contact .section-h2 {
  color: var(--navy); margin-bottom: 14px;
  font-size: clamp(28px, 3vw, 40px); line-height: 1.1;
}
#sea-contact .section-h2 em { color: var(--gold); }
#sea-contact .section-lead {
  color: var(--muted); font-size: 15px;
  line-height: 1.65; margin-bottom: 26px; max-width: 440px;
}
#sea-contact .contact-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
#sea-contact .contact-btns .btn-lg { padding: 16px 22px; font-size: 12.5px; min-height: 50px; }
#sea-contact .btn-outline-light { background: transparent; border: 1.5px solid rgba(192,129,52,.55); color: var(--gold); }
#sea-contact .btn-outline-light:hover { background: var(--gold-dim); border-color: var(--gold); }
#sea-contact .no-checkout { font-size: 12.5px; color: var(--muted); letter-spacing: .04em; }
#sea-contact .no-checkout span { color: var(--gold); font-weight: 600; }

/* ── right: the relationship, as a plain list (no cards) ── */
#sea-contact .close-rel { border-left: 1px solid var(--border); padding-left: 56px; }
#sea-contact .rel-head {
  font-family: 'Crimson Text', serif; font-style: italic; font-weight: 400;
  font-size: 19px; line-height: 1.35; color: var(--navy); margin-bottom: 20px;
}
#sea-contact .rel-head span { color: var(--gold); }
#sea-contact .rel-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 13px; }
#sea-contact .rel-list li { display: flex; align-items: flex-start; gap: 12px; }
#sea-contact .rel-list svg { flex-shrink: 0; margin-top: 2px; color: var(--gold); }
#sea-contact .rel-list p { font-size: 13px; line-height: 1.5; color: var(--muted); margin: 0; }
#sea-contact .rel-list b { color: var(--text); font-weight: 600; }

@media (max-width: 900px) {
  #sea-contact { padding: 48px 0; }
  #sea-contact .close-grid { grid-template-columns: 1fr; gap: 32px; }
  #sea-contact .close-rel { border-left: 0; border-top: 1px solid var(--border); padding-left: 0; padding-top: 30px; }
  #sea-contact .section-lead { max-width: none; }
  #sea-contact .rel-list { grid-template-columns: 1fr 1fr; gap: 13px 26px; }
}
@media (max-width: 560px) {
  #sea-contact { padding: 40px 0; }
  #sea-contact .contact-btns .btn { width: 100%; white-space: normal; padding-left: 18px; padding-right: 18px; }
  #sea-contact .rel-list { grid-template-columns: 1fr; }
}

/* ─── FAQ (10_faq.html) ─── */
  #sea-faq { padding: 100px 0; background: var(--white); }
  #sea-faq .faq-wrap { max-width: 760px; margin: 0 auto; }
  #sea-faq .faq-head { text-align: center; margin-bottom: 56px; }
  #sea-faq .faq-item { border-bottom: 1px solid var(--border); padding: 24px 0; cursor: pointer; }
  #sea-faq .faq-q { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 16px; font-weight: 600; color: var(--text); line-height: 1.4; }
  #sea-faq .faq-q svg { flex-shrink: 0; color: var(--gold); transition: transform .3s ease; }
  #sea-faq .faq-item.open .faq-q svg { transform: rotate(45deg); }
  #sea-faq .faq-a { font-size: 14.5px; line-height: 1.8; color: var(--muted); max-height: 0; overflow: hidden; transition: max-height .4s ease, padding .3s ease; }
  #sea-faq .faq-item.open .faq-a { max-height: 340px; padding-top: 14px; }

/* ═══════════════════════════════════════════════════════
   NEW V2 SECTIONS — synced from seattle-landing-page.html
   the-difference / proof / international / relationship
 ═══════════════════════════════════════════════════════ */

/* Shared centred heading + CTA used by the new sections */
  .ambfa .sec-head { text-align: center; max-width: 640px; margin: 0 auto 44px; }
  .ambfa .sec-head .section-lead { margin-bottom: 0; }
  .ambfa .sec-cta { text-align: center; margin-top: 40px; }

/* ─── THE DIFFERENCE (03_the-difference.html) — 7 icon cards ─── */
  #sea-why { padding: 60px 0; background: var(--white); }
  #sea-why .why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
  #sea-why .why-card { background: var(--white); border: 1px solid var(--border); border-radius: 14px; padding: 28px 26px; transition: transform .2s, box-shadow .2s, border-color .2s; }
  #sea-why .why-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); border-color: rgba(192,129,52,.35); }
  #sea-why .why-icon { width: 48px; height: 48px; border-radius: 12px; margin-bottom: 16px; background: rgba(192,129,52,.1); border: 1px solid rgba(192,129,52,.25); display: flex; align-items: center; justify-content: center; color: var(--gold); }
  #sea-why .why-card h3 { font-family: 'Crimson Text', serif; font-size: 19px; font-weight: 600; color: var(--text); margin-bottom: 8px; line-height: 1.25; }
  #sea-why .why-card p { font-size: 13.5px; color: var(--muted); line-height: 1.65; }
  @media (max-width: 860px) { #sea-why .why-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { #sea-why .why-grid { grid-template-columns: 1fr; } }

/* ─── PROOF (05_proof.html) — photo gallery ─── */
  /* ─── PROOF SLIDER — scoped to #sea-gallery ─── */
  #sea-gallery { padding: 60px 0; background: var(--white); }
  #sea-gallery .sec-head { text-align: center; max-width: 640px; margin: 0 auto 34px; }

  #sea-gallery .pf-slider { position: relative; max-width: 940px; margin: 0 auto; }
  #sea-gallery .pf-viewport {
    overflow: hidden; border-radius: 14px; background: var(--off-white);
    box-shadow: 0 10px 40px rgba(37,35,102,.10);
  }
  #sea-gallery .pf-track {
    display: flex; width: 100%;
    transition: transform .7s cubic-bezier(.4, 0, .2, 1);
  }
  #sea-gallery .pf-slide {
    flex: 0 0 100%; position: relative; aspect-ratio: 16 / 9;
    background: var(--off-white); overflow: hidden;
  }
  #sea-gallery .pf-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }

  /* caption on a soft gradient so it reads over any photo */
  #sea-gallery .pf-cap {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
    padding: 46px 26px 20px; pointer-events: none;
    background: linear-gradient(180deg, transparent 0%, rgba(13,15,21,.72) 100%);
    font-size: 13.5px; font-weight: 600; letter-spacing: .06em;
    text-transform: uppercase; color: #fff;
  }

  /* placeholder — delete the .pf-ph div once a real photo is in */
  #sea-gallery .pf-ph {
    position: absolute; inset: 0; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 10px; text-align: center; padding: 20px;
    border: 2px dashed rgba(192,129,52,.35); border-radius: 14px;
    background: repeating-linear-gradient(45deg, transparent, transparent 12px, rgba(192,129,52,.04) 12px, rgba(192,129,52,.04) 24px);
  }
  #sea-gallery .pf-ph-icon {
    width: 46px; height: 46px; border-radius: 10px;
    background: rgba(192,129,52,.12); border: 1px solid rgba(192,129,52,.28);
    display: flex; align-items: center; justify-content: center; color: var(--gold);
  }
  #sea-gallery .pf-ph p { font-size: 13px; color: var(--muted); font-weight: 600; }
  #sea-gallery .pf-ph span { font-size: 11.5px; color: rgba(107,114,128,.75); }

  /* arrows */
  #sea-gallery .pf-arrow {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
    width: 42px; height: 42px; border-radius: 50%; cursor: pointer;
    background: var(--white); border: 1px solid var(--border); color: var(--navy);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 18px rgba(0,0,0,.10);
    transition: background .18s, color .18s, border-color .18s;
  }
  #sea-gallery .pf-arrow:hover { background: var(--gold); color: var(--white); border-color: var(--gold); }
  #sea-gallery .pf-arrow.prev { left: -16px; }
  #sea-gallery .pf-arrow.next { right: -16px; }

  /* dots */
  #sea-gallery .pf-dots { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
  #sea-gallery .pf-dot {
    width: 28px; height: 3px; border-radius: 999px; cursor: pointer; border: 0; padding: 0;
    background: var(--border); transition: background .25s, width .25s;
  }
  #sea-gallery .pf-dot.active { background: var(--gold); width: 44px; }

  @media (max-width: 1024px) {
    #sea-gallery .pf-arrow.prev { left: 8px; }
    #sea-gallery .pf-arrow.next { right: 8px; }
  }
  @media (max-width: 560px) {
    #sea-gallery { padding: 44px 0; }
    #sea-gallery .pf-cap { font-size: 12px; padding: 34px 16px 14px; }
    #sea-gallery .pf-arrow { width: 34px; height: 34px; }
  }

/* ─── INTERNATIONAL (07_international.html) — auto-scrolling city marquee, narrow ─── */
  #sea-international { padding: 40px 0; background: var(--white); }
  #sea-international .sec-head { margin-bottom: 22px; }
  /* full-bleed: break the scroller out of the 1120 container to the viewport edges */
  #sea-international .intl-scroller { position: relative; left: 50%; width: 100vw; margin-left: -50vw; margin-right: -50vw; margin-bottom: 20px; overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%); }
  #sea-international .intl-track { display: flex; flex-wrap: nowrap; width: max-content; animation: sea-intl-scroll 45s linear infinite; }
  #sea-international .intl-scroller:hover .intl-track { animation-play-state: paused; }
  /* 3 copies in the markup → shift by exactly one copy for a seamless loop */
  @keyframes sea-intl-scroll { from { transform: translateX(0); } to { transform: translateX(-33.333%); } }
  #sea-international .intl-city { flex: 0 0 auto; margin-right: 10px; display: inline-flex; align-items: center; gap: 8px; background: var(--white); border: 1px solid var(--border); border-radius: 8px; padding: 10px 17px; font-size: 13.5px; color: var(--text); font-weight: 500; }
  #sea-international .intl-city svg { color: var(--gold); flex-shrink: 0; }
  #sea-international .intl-city.active { background: rgba(192,129,52,.1); border-color: rgba(192,129,52,.4); color: var(--gold); font-weight: 600; }
  @media (prefers-reduced-motion: reduce) { #sea-international .intl-track { animation: none; } }

/* ── Subtle grey divider line between stacked sections ── */
/* (skips hero=first, ticker=already bordered, wedding=dark band separates itself) */
  #sea-about, #sea-why, #sea-trunk, #sea-gallery, #sea-testimonials,
  #sea-international, #sea-offer, #sea-faq {
    border-top: 1px solid var(--border);
  }/* End custom CSS */