/* Bloom Films site shell. Copied to Hub/bloom-site-public/assets/css/site.css by build.py.
   Stands in for the Squarespace theme that the page Code blocks were written against:
   fonts, the fluid type scale, element defaults, the fixed header and the footer.
   Measured off the live site with headless Chrome on 2026-10-05. */

/* FONT-STANDINS-START */
/* ---- Font stand-ins (swap point: see ADOBE_KIT in build.py) ----
   The live pages name proxima-nova (body) and aktiv-grotesk (nav) from Squarespace's
   Adobe Fonts kit. These faces register the same names, so every font stack on every
   page picks them up. Delete this block once an Adobe Fonts kit is loaded. */
@font-face { font-family: 'proxima-nova'; font-style: normal; font-weight: 300 900; font-display: swap;
  src: url(/assets/fonts/figtree-latin.woff2) format('woff2'); }
@font-face { font-family: 'proxima-nova'; font-style: italic; font-weight: 300 900; font-display: swap;
  src: url(/assets/fonts/figtree-italic-latin.woff2) format('woff2'); }
@font-face { font-family: 'aktiv-grotesk'; font-style: normal; font-weight: 400 600; font-display: swap;
  src: url(/assets/fonts/inter-latin.woff2) format('woff2'); }
/* FONT-STANDINS-END */

:root {
  --bsh-black: #1f1f1f; --bsh-white: #f5f5f5; --bsh-accent: #cd8e3c; --bsh-cream: #f5e0b2; --bsh-dark: #373738;
  --bsh-hh: calc(30.36px + 1vw);              /* header height, desktop */
  --bsh-unit: 1.2vw;                          /* Squarespace's fluid type unit, desktop */
}
@media (max-width: 767px) {
  :root { --bsh-hh: calc(37px + 12vw); --bsh-unit: calc(min(1vh, 9px) * 1.2); }
}

html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bsh-white); color: var(--bsh-black); font-family: proxima-nova, 'Figtree', 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased; overflow-wrap: break-word; }

/* ---- Page area: the Squarespace section the Code block sat in ---- */
.bsh-page { padding-top: var(--bsh-hh); font-family: proxima-nova, 'Figtree', 'Helvetica Neue', Arial, sans-serif;
  font-size: calc(0.5 * var(--bsh-unit) + 1rem); line-height: 1.325em; color: var(--bsh-text); background: transparent; }
:where(.bsh-page) h1, :where(.bsh-page) h2, :where(.bsh-page) h3, :where(.bsh-page) h4 { font-family: 'Lora', Georgia, serif; font-weight: 700; font-style: normal;
  text-transform: uppercase; letter-spacing: -0.02em; margin: 2rem 0; color: var(--bsh-heading); }
:where(.bsh-page) h1 { font-size: calc(8.3 * var(--bsh-unit) + 1rem); line-height: 0.9352; }
:where(.bsh-page) h2 { font-size: calc(2.5 * var(--bsh-unit) + 1rem); line-height: 1.26; }
:where(.bsh-page) h3 { font-size: calc(1 * var(--bsh-unit) + 1rem); line-height: 1.344; }
:where(.bsh-page) h4 { font-size: 1rem; line-height: 1.4; }
:where(.bsh-page) p { margin: 1rem 0; }
:where(.bsh-page) a { color: var(--bsh-link); text-decoration: none; }
:where(.bsh-page) pre, :where(.bsh-page) code { font-family: monospace, serif; font-size: 1em; white-space: pre-wrap; }
:where(.bsh-page) pre { margin: 1em 0; }
:where(.bsh-page) img { max-width: 100%; }
:where(.bsh-page) figure { margin: 0; }
:where(.bsh-page) button, :where(.bsh-page) input, :where(.bsh-page) select, :where(.bsh-page) textarea { font-family: inherit; font-size: inherit; }

/* ---- Themes (Squarespace section themes) ---- */
[data-theme="light"]      { --bsh-bg: var(--bsh-cream); --bsh-nav: var(--bsh-black); --bsh-heading: var(--bsh-black); --bsh-text: var(--bsh-black); --bsh-link: var(--bsh-accent); }
[data-theme="light-bold"] { --bsh-bg: var(--bsh-cream); --bsh-nav: var(--bsh-black); --bsh-heading: var(--bsh-dark);  --bsh-text: var(--bsh-black); --bsh-link: var(--bsh-accent); }
[data-theme="bright"]     { --bsh-bg: var(--bsh-accent); --bsh-nav: #fff;          --bsh-heading: #fff;           --bsh-text: #fff;           --bsh-link: #fff; }
[data-theme="black-bold"] { --bsh-bg: var(--bsh-black); --bsh-nav: var(--bsh-accent); --bsh-heading: var(--bsh-white); --bsh-text: var(--bsh-white); --bsh-link: var(--bsh-accent); }
[data-theme="white"]      { --bsh-bg: var(--bsh-white); --bsh-nav: var(--bsh-black); --bsh-heading: var(--bsh-black); --bsh-text: var(--bsh-black); --bsh-link: var(--bsh-accent); }

/* ---- Header ---- */
.bsh-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: #fff; color: var(--bsh-accent); padding: 16px 20.8px; font-family: aktiv-grotesk, sans-serif; }
.bsh-skip:focus { left: 8px; }
.bsh-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: var(--bsh-bg); color: var(--bsh-nav);
  padding: 0.5vw 4vw; box-sizing: border-box; height: var(--bsh-hh); display: flex; align-items: center; }
.bsh-header.is-scrolled { box-shadow: 0 12px 12px -50px rgba(0,0,0,.25); }
.bsh-hin { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.bsh-logo { display: block; line-height: 0; }
.bsh-logo img { height: 25px; width: auto; display: block; }
.bsh-nav { display: flex; gap: 1.5vw; align-items: center; }
.bsh-nav a { font-family: aktiv-grotesk, 'Inter', sans-serif; font-size: 0.9rem; font-weight: 400; letter-spacing: 0.02em; line-height: 1.8em;
  text-transform: uppercase; color: var(--bsh-nav); text-decoration: none; padding: 0.1em 0;
  background: linear-gradient(currentColor, currentColor) no-repeat left bottom / 0 1px; transition: background-size .2s ease; }
.bsh-nav a:hover, .bsh-nav a[aria-current="page"] { background-size: 100% 1px; }
.bsh-burger { display: none; background: none; border: 0; padding: 1px 6px; width: 47px; height: 44px; cursor: pointer; color: var(--bsh-nav); position: relative; z-index: 102; }
.bsh-burger span, .bsh-burger span::before { display: block; position: absolute; right: 6px; height: 2px; background: currentColor; content: ''; transition: transform .25s ease, width .25s ease, top .25s ease; }
.bsh-burger span { width: 35px; top: 13px; }
.bsh-burger span::before { width: 17.5px; top: 9px; right: 0; }
.bsh-menu { display: none; }
@media (max-width: 767px) {
  .bsh-header { padding: 6vw; }
  .bsh-logo img { height: 21px; }
  .bsh-nav { display: none; }
  .bsh-burger { display: block; }
  .bsh-menu { display: flex; position: fixed; inset: 0; z-index: 101; background: var(--bsh-accent); flex-direction: column; justify-content: center;
    align-items: flex-end; padding: 0 6vw; gap: 23px; opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s; }
  .bsh-menu a { font-family: aktiv-grotesk, 'Inter', sans-serif; font-size: 33.15px; line-height: 1; text-transform: uppercase; letter-spacing: 0.015em; color: #fff; text-decoration: none; }
  .bsh-menu-open .bsh-menu { opacity: 1; visibility: visible; }
  .bsh-menu-open .bsh-burger { color: #fff; }
  .bsh-menu-open .bsh-burger span { top: 17px; transform: rotate(45deg); }
  .bsh-menu-open .bsh-burger span::before { width: 35px; top: 0; transform: rotate(-90deg); }
  .bsh-menu-open { overflow: hidden; }
  /* Lift the header over the open menu so the burger's X shows and can close it. Squarespace did the same. */
  .bsh-menu-open .bsh-header { z-index: 102; background: transparent; box-shadow: none; }
}

/* ---- Footer (reworked 2026-10-05) ----
   One left-aligned block on charcoal. Every selector is prefixed .bsh-foot so page code
   (the music guide's global a{} rule, its own .bf-footer) can't reach in. */
.bsh-foot { --fcream: #F5E0B2; background: #212020; color: var(--fcream); font-family: proxima-nova, 'Figtree', 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased; text-align: left; }
.bsh-foot *, .bsh-foot *::before, .bsh-foot *::after { box-sizing: border-box; }
.bsh-foot .bsh-fwrap { max-width: 1120px; margin: 0 auto; padding: 64px clamp(20px, 4vw, 48px) 28px; }
.bsh-foot .bsh-fgrid { display: grid; grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr)); gap: 40px clamp(24px, 3vw, 48px); align-items: start; }
.bsh-foot p { margin: 0; }
.bsh-foot a { color: rgba(245,224,178,0.72); text-decoration: none; text-underline-offset: 4px; text-decoration-thickness: 1px; transition: color .2s ease; }
.bsh-foot a:hover, .bsh-foot a:focus-visible { color: var(--fcream); text-decoration: underline; }
.bsh-foot a:focus-visible { outline: 2px solid #CC8A2A; outline-offset: 3px; border-radius: 2px; }

.bsh-foot .bsh-frose { display: inline-block; line-height: 0; }
.bsh-foot .bsh-frose:hover { text-decoration: none; }
.bsh-foot .bsh-frose img { width: 72px; height: auto; display: block; }
.bsh-foot .bsh-fline { font-size: 16px; line-height: 1.6; color: var(--fcream); max-width: 28ch; margin-top: 18px; }
.bsh-foot .bsh-fmail { font-size: 15.5px; line-height: 1.6; margin-top: 12px; }
.bsh-foot .bsh-social { display: flex; gap: 2px; margin: 10px 0 0 -10px; }
.bsh-foot .bsh-social a { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: rgba(245,224,178,0.72); }
.bsh-foot .bsh-social a:hover, .bsh-foot .bsh-social a:focus-visible { color: var(--fcream); }
.bsh-foot .bsh-social svg { width: 40px; height: 40px; flex: none; fill: currentColor; }

.bsh-foot .bsh-fh { font-family: 'Lora', Georgia, serif; font-weight: 500; font-style: normal; font-size: 17px; line-height: 1.3;
  letter-spacing: 0; text-transform: none; color: var(--fcream); margin: 0 0 14px; }
.bsh-foot .bsh-flist { list-style: none; margin: 0; padding: 0; }
.bsh-foot .bsh-flist li { margin: 0; padding: 0; }
.bsh-foot .bsh-flist a { display: inline-block; font-size: 15.5px; line-height: 1.45; padding: 5px 0; }

.bsh-foot .bsh-fbase { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap;
  margin-top: 56px; padding-top: 20px; border-top: 1px solid rgba(245,224,178,0.16); font-size: 14.5px; color: rgba(245,224,178,0.6); }
.bsh-foot .bsh-fbase a { font-size: 14.5px; color: var(--fcream); text-decoration: underline; text-decoration-color: rgba(245,224,178,0.35); }
.bsh-foot .bsh-fbase a:hover { text-decoration-color: var(--fcream); }

@media (max-width: 900px) {
  .bsh-foot .bsh-fgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bsh-foot .bsh-fbrand, .bsh-foot .bsh-fguides { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .bsh-foot .bsh-fwrap { padding-top: 52px; padding-bottom: 32px; }
  .bsh-foot .bsh-fgrid { row-gap: 36px; column-gap: 20px; }
  .bsh-foot .bsh-frose img { width: 64px; }
  .bsh-foot .bsh-flist a { font-size: 16px; padding: 9px 0; }
  .bsh-foot .bsh-fh { margin-bottom: 6px; }
  .bsh-foot .bsh-fbase { flex-direction: column; align-items: flex-start; margin-top: 44px; }
  .bsh-foot .bsh-fbase a { padding: 8px 0; }
  .bsh-foot .bsh-fmail a { display: inline-block; padding: 8px 0; }
  .bsh-foot .bsh-fmail { margin-top: 4px; }
}

/* ---- Location pages (added 2026-10-05) ----
   Shared styles for the seven "<place> wedding videographer" pages, in the /packages type system:
   paper, Lora sentence-case headings, Figtree body, charcoal buttons, gold accents. Sydney is the
   first page on it. To convert another location page, copy the Sydney markup and swap the text;
   no page-level CSS needed. Everything is scoped under .bloc. */
.bloc { --paper: #FBF2DC; --sand: #F3E5C4; --ink: #212020; --gold: #CC8A2A; --gold-deep: #A96E1A; --gold-text: #8A5712;
  --serif: 'Lora', Georgia, 'Times New Roman', serif; --sans: proxima-nova, 'Figtree', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  font-family: var(--sans); font-size: 17px; line-height: 1.7; color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased; }
.bloc *, .bloc *::before, .bloc *::after { box-sizing: border-box; }
.bloc p { margin: 0; }
.bloc a { color: inherit; }
.bloc :focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 3px; }
.bloc .bloc-wrap { max-width: 1120px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 48px); }

.bloc .bloc-h1, .bloc .bloc-h2, .bloc .bloc-h3 { font-family: var(--serif); font-weight: 500; font-style: normal; text-transform: none;
  letter-spacing: -0.01em; color: var(--ink); text-wrap: balance; margin: 0; }
.bloc .bloc-h1 { font-size: clamp(38px, 5vw, 66px); line-height: 1.06; max-width: 16ch; }
.bloc .bloc-h2 { font-size: clamp(27px, 3.2vw, 42px); line-height: 1.15; max-width: 24ch; }
.bloc .bloc-h3 { font-size: clamp(20px, 1.8vw, 23px); line-height: 1.25; display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }

.bloc .bloc-btn { display: inline-block; font-family: var(--sans); font-weight: 600; font-size: 16px; letter-spacing: 0.01em; line-height: 1.3;
  color: var(--paper); background: var(--ink); text-decoration: none; padding: 15px 26px; border-radius: 6px;
  transition: background 0.35s var(--ease), color 0.35s var(--ease), transform 0.35s var(--ease); }
.bloc .bloc-btn:hover { background: var(--gold); color: var(--ink); transform: translateY(-1px); }
.bloc .bloc-quiet { display: inline-block; font-size: 16px; color: var(--ink); text-decoration: underline; text-underline-offset: 5px;
  text-decoration-thickness: 1px; text-decoration-color: var(--gold-deep); transition: text-decoration-color 0.3s var(--ease); }
.bloc .bloc-quiet:hover { text-decoration-color: var(--ink); }

/* Hero */
.bloc .bloc-hero { padding: clamp(48px, 6vw, 80px) 0 clamp(32px, 4vw, 48px); }
.bloc .bloc-subline { font-family: var(--serif); font-size: clamp(19px, 1.8vw, 22px); color: rgba(33,32,32,0.72); margin-top: 10px; }
.bloc .bloc-lede { font-size: 18.5px; line-height: 1.7; max-width: 58ch; margin-top: 20px; color: rgba(33,32,32,0.86); }
.bloc .bloc-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 28px; margin-top: 26px; }
.bloc .bloc-sectlede { margin-top: 14px; max-width: 56ch; color: rgba(33,32,32,0.8); }

/* Film */
.bloc .bloc-film { padding: clamp(20px, 3vw, 36px) 0 clamp(56px, 7vw, 96px); }
.bloc .bloc-video { position: relative; aspect-ratio: 16 / 9; margin-top: 28px; background: var(--ink); border-radius: 4px; overflow: hidden; }
.bloc .bloc-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* About */
.bloc .bloc-about { padding: 0 0 clamp(56px, 7vw, 96px); }
.bloc .bloc-about-grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 72px); align-items: center;
  border-top: 1px solid rgba(33,32,32,0.22); padding-top: clamp(48px, 6vw, 80px); }
.bloc .bloc-about-text p { margin-top: 16px; max-width: 58ch; color: rgba(33,32,32,0.86); }
.bloc .bloc-about-text .bloc-h2 + p { margin-top: 22px; }
.bloc .bloc-about-text .bloc-quiet { margin-top: 24px; }
.bloc .bloc-about-photo { aspect-ratio: 4 / 5; overflow: hidden; border-radius: 4px; background: var(--sand); }
.bloc .bloc-about-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Packages */
.bloc .bloc-pkgs { background: var(--sand); padding: clamp(56px, 7vw, 96px) 0; }
.bloc .bloc-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.bloc .bloc-card { background: var(--paper); border: 1px solid rgba(33,32,32,0.14); border-radius: 12px; padding: 28px 26px; }
.bloc .bloc-card-pick { border-color: rgba(169,110,26,0.55); }
.bloc .bloc-tag { font-family: var(--sans); font-size: 13px; font-weight: 600; letter-spacing: 0.01em; color: var(--gold-text); }
.bloc .bloc-card-line { margin-top: 10px; font-size: 16px; line-height: 1.6; color: rgba(33,32,32,0.82); }
.bloc .bloc-list { list-style: none; margin: 16px 0 0; padding: 0; border-top: 1px solid rgba(33,32,32,0.12); }
.bloc .bloc-list li { font-size: 15.5px; line-height: 1.5; padding: 8px 0; border-bottom: 1px solid rgba(33,32,32,0.08); }
.bloc .bloc-from { margin-top: 16px; font-weight: 600; color: var(--gold-text); }
.bloc .bloc-addons { margin: 26px 0 14px; font-size: 16px; color: rgba(33,32,32,0.78); max-width: 62ch; }

/* Why */
.bloc .bloc-why { padding: clamp(56px, 7vw, 96px) 0; }
.bloc .bloc-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 4vw, 56px); margin-top: 30px; }
.bloc .bloc-point { border-top: 1px solid rgba(33,32,32,0.22); padding: 22px 0 30px; }
.bloc .bloc-point p { margin-top: 10px; color: rgba(33,32,32,0.84); max-width: 52ch; }

/* Testimonials */
.bloc .bloc-words { background: var(--sand); padding: clamp(56px, 7vw, 96px) 0; }
.bloc .bloc-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 34px; align-items: start; }
.bloc .bloc-quote { margin: 0; background: var(--paper); border: 1px solid rgba(33,32,32,0.12); border-radius: 12px; padding: 26px 24px; }
.bloc .bloc-quote blockquote { margin: 0; }
.bloc .bloc-quote blockquote p { font-family: var(--serif); font-size: 16.5px; line-height: 1.65; color: var(--ink); }
.bloc .bloc-stars { color: var(--gold-deep); font-size: 14px; letter-spacing: 0.08em; margin-bottom: 12px; }
.bloc .bloc-quote figcaption { margin-top: 18px; }
.bloc .bloc-who, .bloc .bloc-where { display: block; }
.bloc .bloc-who { font-weight: 600; font-size: 15.5px; }
.bloc .bloc-where { font-size: 14.5px; color: rgba(33,32,32,0.68); }

/* FAQ: the /packages accordion */
.bloc .bloc-faq-wrap { padding: clamp(56px, 7vw, 96px) 0; }
.bloc .bloc-faq { margin-top: 26px; max-width: 760px; border-top: 1px solid rgba(33,32,32,0.3); }
.bloc .bloc-faq details { border-bottom: 1px solid rgba(33,32,32,0.16); }
.bloc .bloc-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 18px 0; font-family: var(--serif); font-size: 19px; line-height: 1.3; }
.bloc .bloc-faq summary::-webkit-details-marker { display: none; }
.bloc .bloc-faq summary::after { content: ""; flex: 0 0 auto; width: 14px; height: 14px;
  background: linear-gradient(var(--gold-deep), var(--gold-deep)) center / 14px 1.5px no-repeat,
              linear-gradient(var(--gold-deep), var(--gold-deep)) center / 1.5px 14px no-repeat;
  transition: transform 0.5s var(--ease); }
.bloc .bloc-faq details[open] summary::after { transform: rotate(45deg); }
.bloc .bloc-faq details p { padding: 0 0 20px; max-width: 62ch; color: rgba(33,32,32,0.86); }

/* Close: "Let's check your date." A sand panel inset on paper, centred, with a short gold
   rule as the one gold accent. Refined 2026-10-05 from the full-bleed gold band, which read
   heavy and stacked straight onto the charcoal footer. /packages keeps the gold band for now. */
.bloc .bloc-close { background: var(--paper); padding: clamp(40px, 6vw, 80px) 0 clamp(48px, 7vw, 96px); text-align: center; }
.bloc .bloc-close .bloc-wrap { box-sizing: border-box; width: calc(100% - 2 * clamp(20px, 4vw, 48px)); margin: 0 auto; display: flex; flex-direction: column; align-items: center;
  max-width: 860px; background: var(--sand); border-radius: 12px; padding: clamp(40px, 5.5vw, 64px) clamp(22px, 5vw, 56px); }
.bloc .bloc-close .bloc-wrap::before { content: ""; display: block; width: 40px; height: 2px; background: var(--gold); margin: 0 auto 24px; }
.bloc .bloc-close-h { font-size: clamp(32px, 4vw, 46px); line-height: 1.12; margin: 0; }
.bloc .bloc-close-p { margin: 14px auto 28px; max-width: 44ch; font-size: 17px; line-height: 1.6; color: rgba(33,32,32,0.78); }
.bloc .bloc-proof { margin-top: 22px; font-size: 14.5px; color: rgba(33,32,32,0.66); }
.bloc .bloc-proof a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 4px; text-decoration-thickness: 1px; }
.bloc .bloc-proof a:hover, .bloc .bloc-proof a:focus-visible { text-decoration-color: var(--ink); }

@media (prefers-reduced-motion: reduce) {
  .bloc .bloc-btn, .bloc .bloc-faq summary::after { transition: none; }
}
@media (max-width: 900px) {
  .bloc .bloc-cards, .bloc .bloc-quotes { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
  .bloc .bloc-points { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .bloc .bloc-hero { padding: 36px 0 24px; }
  .bloc .bloc-lede { font-size: 17.5px; margin-top: 16px; }
  .bloc .bloc-about-grid { grid-template-columns: minmax(0, 1fr); }
  .bloc .bloc-about-photo { aspect-ratio: 3 / 4; }
}

/* ---- Guide pages (added 2026-10-05) ----
   The ten guide pages (cost, choosing, wedding day, lengths, vs photographer, worth it, film styles,
   candid, music, Super 8) sit on the location-page system: each page's root is
   <div class="bloc bguide">, so the .bloc tokens, headings, buttons, video frame, package cards,
   points grid, about grid, FAQ accordion and the gold "Let's check your date." close all apply.
   This section adds only what an article needs: section bands, a reading column, ordered steps,
   the packages-style compare card and table, question lists and check lists. Scoped under .bguide.
   Log: site-src/LOG-guides-2026-10-05.md */
.bguide h1, .bguide h2, .bguide h3, .bguide h4 { text-transform: none; }
.bguide .bloc-h1 { max-width: 20ch; }
.bguide .bloc-lede { max-width: 60ch; }

/* Section bands: paper by default, sand for contrast, a hairline between two paper sections */
.bguide .bguide-sect { padding: clamp(56px, 7vw, 96px) 0; }
.bguide .bguide-sand { background: var(--sand); }
.bguide .bguide-ruled { padding-top: 0; }
.bguide .bguide-ruled > .bloc-wrap::before { content: ""; display: block; border-top: 1px solid rgba(33,32,32,0.22); margin-bottom: clamp(48px, 6vw, 80px); }
.bguide .bguide-hero + .bguide-ruled > .bloc-wrap::before { display: none; }
.bguide .bguide-hero + .bguide-ruled { padding-top: clamp(28px, 4vw, 56px); }

/* Reading column */
.bguide .bguide-prose { max-width: 680px; }
.bguide .bguide-prose > p, .bguide .bguide-prose > ul, .bguide .bguide-prose > ol { margin-top: 16px; color: rgba(33,32,32,0.86); }
.bguide .bguide-prose > .bloc-h2 + p, .bguide .bguide-prose > .bloc-h2 + ul { margin-top: 22px; }
.bguide .bguide-prose > .bloc-h3 { margin-top: 34px; }
.bguide .bguide-prose > .bloc-h2 + .bloc-h3 { margin-top: 26px; }
.bguide .bguide-prose > .bloc-h3 + p { margin-top: 10px; }
.bguide .bguide-prose ul { padding-left: 1.2em; }
.bguide .bguide-prose li { margin-top: 8px; }
.bguide .bguide-prose li::marker { color: var(--gold-deep); }
.bguide .bguide-prose strong { font-weight: 600; color: var(--ink); }
.bguide .bguide-prose a:not(.bloc-btn):not(.bloc-quiet),
.bguide .bguide-text a:not(.bloc-btn):not(.bloc-quiet) { text-decoration: underline; text-underline-offset: 4px;
  text-decoration-thickness: 1px; text-decoration-color: var(--gold-deep); transition: text-decoration-color 0.3s var(--ease); }
.bguide .bguide-prose a:not(.bloc-btn):not(.bloc-quiet):hover,
.bguide .bguide-text a:not(.bloc-btn):not(.bloc-quiet):hover { text-decoration-color: var(--ink); }
.bguide .bguide-prose .bloc-actions { margin-top: 28px; }
.bguide .bguide-wide { margin-top: 34px; }
.bguide .bguide-after { margin-top: 26px; max-width: 680px; color: rgba(33,32,32,0.86); }
.bguide .bguide-after p + p { margin-top: 12px; }

/* Pull quote and a quiet aside inside the reading column */
.bguide .bguide-pull { margin: 34px 0 0; padding: 4px 0 4px 24px; border-left: 2px solid var(--gold); max-width: 640px; }
.bguide .bguide-pull p { font-family: var(--serif); font-size: clamp(20px, 2vw, 24px); line-height: 1.45; color: var(--ink); }
.bguide .bguide-pull p + p { margin-top: 12px; }
.bguide .bguide-pull footer, .bguide .bguide-pull cite { display: block; margin-top: 14px; font-family: var(--sans); font-style: normal; font-size: 15px; color: rgba(33,32,32,0.7); }
.bguide .bguide-aside { margin-top: 28px; padding: 22px 24px; background: var(--paper); border: 1px solid rgba(33,32,32,0.14); border-radius: 12px; max-width: 680px; }
.bguide .bguide-sand .bguide-aside { background: var(--paper); }
.bguide .bguide-aside p { color: rgba(33,32,32,0.86); }
.bguide .bguide-aside p + p { margin-top: 10px; }

/* Ordered steps, only where the order is real (a process or the run of the day) */
.bguide .bguide-steps { list-style: none; margin: 30px 0 0; padding: 0; counter-reset: bguide-step; max-width: 760px; border-top: 1px solid rgba(33,32,32,0.22); }
.bguide .bguide-steps > li { counter-increment: bguide-step; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 0 12px;
  padding: 22px 0 24px; border-bottom: 1px solid rgba(33,32,32,0.12); }
.bguide .bguide-steps > li::before { content: counter(bguide-step); font-family: var(--serif); font-size: 22px; line-height: 1.25; color: var(--gold-text); }
.bguide .bguide-steps > li > * { grid-column: 2; }
.bguide .bguide-steps > li > :first-child { grid-row: 1; }
.bguide .bguide-steps p { margin-top: 8px; color: rgba(33,32,32,0.84); max-width: 62ch; }
.bguide .bguide-steps .bguide-when { display: block; font-family: var(--sans); font-size: 15px; font-weight: 600; color: var(--gold-text); margin-bottom: 4px; letter-spacing: 0.01em; }
.bguide .bguide-steps .bloc-h3 { display: block; }

/* Timeline: the run of the wedding day, stage name in a left rail like the /packages run sheet */
.bguide .bguide-timeline { list-style: none; margin: 0; padding: 0; counter-reset: bguide-stage; border-top: 1px solid rgba(33,32,32,0.22); }
.bguide .bguide-timeline > li { counter-increment: bguide-stage; display: grid; grid-template-columns: minmax(180px, 3fr) minmax(0, 8fr);
  gap: 0 clamp(24px, 4vw, 56px); padding: clamp(36px, 4.5vw, 56px) 0; border-bottom: 1px solid rgba(33,32,32,0.14); }
.bguide .bguide-stage { margin: 0; font-family: var(--serif); font-size: 19px; line-height: 1.35; color: var(--ink); padding-top: 6px; }
.bguide .bguide-stage::before { content: counter(bguide-stage); display: inline-block; min-width: 1.6em; color: var(--gold-text); }
.bguide .bguide-timeline .bguide-prose > .bloc-h2 { font-size: clamp(25px, 2.6vw, 34px); }

/* Point grid: the location-page points with an optional third column */
.bguide .bguide-points3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Compare card: the /packages "Compare the packages." look for side-by-side columns of prose */
.bguide .bguide-compare { margin-top: 34px; background: var(--paper); border: 1px solid rgba(33,32,32,0.14); border-radius: 12px;
  box-shadow: 0 18px 50px rgba(33,32,32,0.08); display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr));
  padding: 0 clamp(8px, 2vw, 24px) 6px; }
.bguide .bguide-col { padding: 0 18px 20px; display: grid; grid-template-rows: subgrid; grid-row: span var(--rows, 2); align-content: start; }
.bguide .bguide-col-pick { background: rgba(204,138,42,0.11); }
.bguide .bguide-col-head { padding: 26px 0 18px; border-bottom: 1px solid rgba(33,32,32,0.3); }
.bguide .bguide-col-name { font-family: var(--serif); font-size: 21px; line-height: 1.2; color: var(--ink); margin: 0; font-weight: 500; }
.bguide .bguide-col-big { font-weight: 500; font-family: var(--serif); font-size: clamp(22px, 2.2vw, 27px); line-height: 1.2; color: var(--ink); margin: 0; }
.bguide .bguide-col-big + .bguide-col-name { margin-top: 6px; font-size: 17px; font-family: var(--sans); font-weight: 600; }
.bguide .bguide-col-tag { display: block; font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--gold-text); margin-top: 6px; letter-spacing: 0.01em; }
.bguide .bguide-col-item { padding: 17px 0; border-bottom: 1px solid rgba(33,32,32,0.12); }
.bguide .bguide-col-item:last-child { border-bottom: 0; }
.bguide .bguide-col-item .bguide-col-label { font-family: var(--serif); font-weight: 500; font-size: 19px; line-height: 1.3; letter-spacing: 0; color: var(--ink); margin: 0; }
.bguide .bguide-col-item p { font-size: 16px; line-height: 1.6; color: rgba(33,32,32,0.84); }
.bguide .bguide-col-item p + p { margin-top: 10px; }
.bguide .bguide-col-item .bguide-col-label + p { margin-top: 6px; }

/* Table: the same card, as a real table with a label column */
.bguide .bguide-tablecard { margin-top: 34px; background: var(--paper); border: 1px solid rgba(33,32,32,0.14); border-radius: 12px;
  box-shadow: 0 18px 50px rgba(33,32,32,0.08); padding: 0 clamp(8px, 2vw, 24px) 6px; }
.bguide .bguide-table { width: 100%; border-collapse: collapse; text-align: left; }
.bguide .bguide-table th, .bguide .bguide-table td { padding: 17px 18px; border-bottom: 1px solid rgba(33,32,32,0.12); vertical-align: top;
  font-size: 16.5px; line-height: 1.5; font-weight: 400; }
.bguide .bguide-table tbody tr:last-child > * { border-bottom: 0; }
.bguide .bguide-table thead th { padding-top: 26px; padding-bottom: 18px; border-bottom-color: rgba(33,32,32,0.3); font-family: var(--serif); font-size: 19px; line-height: 1.2; }
.bguide .bguide-table tr > :first-child { padding-left: 4px; }
.bguide .bguide-table tbody th { font-family: var(--serif); font-size: 20px; line-height: 1.25; padding-left: 4px; }
.bguide .bguide-table .bguide-big { font-family: var(--serif); font-size: 19px; white-space: nowrap; }
.bguide .bguide-table td { color: rgba(33,32,32,0.84); }
.bguide .bguide-table .bguide-pickcol { background: rgba(204,138,42,0.11); }

/* Question list: a question in the serif, the answer under it */
.bguide .bguide-qlist { list-style: none; margin: 28px 0 0; padding: 0; max-width: 760px; border-top: 1px solid rgba(33,32,32,0.22); }
.bguide .bguide-qlist > li { padding: 22px 0 24px; border-bottom: 1px solid rgba(33,32,32,0.12); }
.bguide .bguide-qlist .bguide-q { font-family: var(--serif); font-size: clamp(19px, 1.7vw, 21px); line-height: 1.4; color: var(--ink); }
.bguide .bguide-qlist .bguide-q + p { margin-top: 10px; color: rgba(33,32,32,0.84); max-width: 62ch; }

/* Check list: the /packages tick and dash marks */
.bguide .bguide-checks { list-style: none; margin: 34px 0 0; padding: 0 clamp(16px, 2.4vw, 28px); max-width: 860px; background: var(--paper);
  border: 1px solid rgba(33,32,32,0.14); border-radius: 12px; box-shadow: 0 18px 50px rgba(33,32,32,0.08); }
.bguide .bguide-checks > li { position: relative; padding: 22px 0 22px 40px; border-bottom: 1px solid rgba(33,32,32,0.12); }
.bguide .bguide-checks > li:last-child { border-bottom: 0; }
.bguide .bguide-checks > li::before { content: ""; position: absolute; left: 4px; top: 30px; width: 15px; height: 8px;
  border-left: 2px solid var(--gold-deep); border-bottom: 2px solid var(--gold-deep); transform: rotate(-45deg); }
.bguide .bguide-checks > li.bguide-opt::before { left: 6px; top: 35px; width: 12px; height: 1.5px; border: 0; background: rgba(33,32,32,0.4); transform: none; }
.bguide .bguide-checks .bguide-check-label { font-weight: 600; color: var(--ink); }
.bguide .bguide-checks .bguide-check-tag { font-size: 13px; font-weight: 600; color: var(--gold-text); margin-left: 10px; letter-spacing: 0.01em; white-space: nowrap; }
.bguide .bguide-checks .bguide-opt .bguide-check-tag { color: rgba(33,32,32,0.62); }
.bguide .bguide-checks p + p { margin-top: 6px; color: rgba(33,32,32,0.84); }

/* A statistic: the number in the serif, the statement under it, the source last */
.bguide .bguide-stat { margin-top: 26px; font-family: var(--serif); font-size: clamp(64px, 9vw, 112px); line-height: 1; color: var(--gold-text); letter-spacing: -0.01em; }
.bguide .bguide-stat-line { margin-top: 12px; max-width: 34ch; font-family: var(--serif); font-size: clamp(21px, 2.2vw, 27px); line-height: 1.35; color: var(--ink); }
.bguide .bguide-source { margin-top: 18px; font-size: 14.5px; color: rgba(33,32,32,0.66); }

/* A single headline figure, e.g. the starting-from price */
.bguide .bguide-from { margin-top: 26px; font-family: var(--serif); font-size: clamp(28px, 3vw, 36px); line-height: 1.15; color: var(--ink); }
.bguide .bguide-from + .bguide-after { margin-top: 10px; }
.bguide .bguide-after + .bloc-actions, .bguide .bloc-cards + .bloc-actions { margin-top: 26px; }

/* Text beside a quote card */
.bguide .bguide-split { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.bguide .bguide-split .bloc-quote { background: var(--sand); border-color: rgba(33,32,32,0.1); }
.bguide .bloc-video.bguide-43 { aspect-ratio: 4 / 3; }

/* Film caption, small note, compact table without a header, list inside a compare column */
.bguide .bguide-caption { margin-top: 12px; font-size: 14.5px; color: rgba(33,32,32,0.66); }
.bguide .bguide-note { margin-top: 18px; font-size: 15px; color: rgba(33,32,32,0.7); }
.bguide .bguide-table-plain tbody tr:first-child > * { padding-top: 22px; }
.bguide .bguide-col .bloc-list { margin-top: 0; border-top: 0; }
.bguide .bguide-col .bloc-list li { font-size: 16px; padding: 11px 0; }
.bguide .bguide-col .bloc-list li:last-child { border-bottom: 0; }
.bguide .bguide-col-best { font-size: 15px !important; color: rgba(33,32,32,0.72) !important; }
.bguide .bguide-sub { margin-top: clamp(40px, 5vw, 64px); }
.bguide .bguide-sub .bloc-h3 { display: block; }
.bguide .bguide-sub .bloc-h3 + p { margin-top: 10px; max-width: 62ch; color: rgba(33,32,32,0.84); }

/* About block when it opens its own section */
.bguide .bguide-about { border-top: 0; padding-top: 0; }
.bguide .bguide-about .bloc-actions { margin-top: 26px; }
.bguide .bguide-film { margin-top: 28px; }

@media (max-width: 900px) {
  .bguide .bguide-points3, .bguide .bguide-split { grid-template-columns: minmax(0, 1fr); }
  .bguide .bguide-compare { grid-template-columns: minmax(0, 1fr); padding: 0 16px 4px; }
  .bguide .bguide-col { display: block; padding: 0 0 8px; border-bottom: 1px solid rgba(33,32,32,0.3); }
  .bguide .bguide-col:last-child { border-bottom: 0; }
  .bguide .bguide-col-pick { background: transparent; position: relative; }
  .bguide .bguide-col-pick::before { content: ""; position: absolute; inset: 0 -16px; background: rgba(204,138,42,0.11); z-index: 0; }
  .bguide .bguide-col-pick > * { position: relative; z-index: 1; }
}
@media (max-width: 720px) {
  .bguide .bguide-tablecard { padding: 0 14px 4px; }
  .bguide .bguide-table, .bguide .bguide-table tbody, .bguide .bguide-table tr, .bguide .bguide-table th, .bguide .bguide-table td { display: block; }
  .bguide .bguide-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .bguide .bguide-table tbody tr { padding: 20px 0; border-bottom: 1px solid rgba(33,32,32,0.14); }
  .bguide .bguide-table tbody tr:last-child { border-bottom: 0; }
  .bguide .bguide-table th, .bguide .bguide-table td { padding: 0; border: 0; }
  .bguide .bguide-table td { margin-top: 8px; font-size: 16px; }
  .bguide .bguide-table td[data-label]::before { content: attr(data-label); display: block; font-size: 13.5px; font-weight: 600; color: rgba(33,32,32,0.66); margin-bottom: 2px; }
  .bguide .bguide-table .bguide-big { white-space: normal; }
  .bguide .bguide-table .bguide-pickcol { background: transparent; }
  .bguide .bguide-steps > li { grid-template-columns: 36px minmax(0, 1fr); }
  .bguide .bguide-timeline > li { grid-template-columns: minmax(0, 1fr); padding: 34px 0 38px; }
  .bguide .bguide-stage { padding: 0 0 12px; font-size: 18px; }
  .bguide .bguide-checks > li { padding-left: 34px; }
  .bguide .bguide-checks .bguide-check-tag { display: block; margin: 2px 0 0; }
  .bguide .bguide-pull { padding-left: 18px; }
}
/* ---- end guide pages ---- */
