/* BRICK wedding presentation. Load after the existing BRICK styles.
 * Scoped to the verified .br-site.br-v3 markup and BRICK-owned dialogs/CTA.
 * No HTML, business conditions, carousel state or form behavior is changed.
 */
.br-site.br-v3 {
  --br-ink: #211a25;
  --br-night: #161219;
  --br-plum: #2b1f31;
  --br-paper: #faf6ee;
  --br-white: #fffdf7;
  --br-gold: #e5c58c;
  --br-gold-dark: #715020;
  --br-muted: #d0c5d0;
  --br-line: rgba(229,197,140,.26);
  --br-radius: 18px;
  box-sizing: border-box;
  width: 100%;
  max-width: 1360px;
  min-width: 0;
  margin-inline: auto;
  background: var(--br-night);
  color: var(--br-white);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.85;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
}
.br-site.br-v3 *, .br-site.br-v3 *::before, .br-site.br-v3 *::after { box-sizing: border-box; }
.br-site.br-v3 [hidden], .br-photo-dialog [hidden], .kg-dialog [hidden] { display: none !important; }
.br-site.br-v3 :where(h1,h2,h3,h4,p,figure) { margin-block-start: 0; }
.br-site.br-v3 :where(h1,h2,h3) { color: inherit; overflow-wrap: anywhere; }
.br-site.br-v3 h2 { font-size: clamp(28px,3.1vw,44px); line-height: 1.45; letter-spacing: -.025em; font-weight: 650; }
.br-site.br-v3 h3 { font-size: clamp(20px,1.9vw,26px); line-height: 1.55; }
.br-site.br-v3 h2 em { font-style: normal; color: var(--br-gold); }
.br-site.br-v3 :where(p,li,dd) { font-size: 16px; line-height: 1.9; }
.br-site.br-v3 :where(img,video,iframe) { max-width: 100%; }
.br-site.br-v3 img { display: block; height: auto; }
.br-site.br-v3 :where(a,button,input,select,textarea,summary) { -webkit-tap-highlight-color: rgba(229,197,140,.24); }
.br-site.br-v3 :where(button,input,select,textarea) { font-family: inherit; }
.br-site.br-v3 :where(button,summary) { cursor: pointer; }
.br-site.br-v3 :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.kg-consult :focus-visible, .kg-dialog :focus-visible, .br-photo-dialog :focus-visible {
  outline: 3px solid #f0cf96;
  outline-offset: 4px;
  box-shadow: 0 0 0 7px #23172b;
}
.br-site.br-v3 .br-article-content :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.kg-dialog :focus-visible { outline-color: #684c2f; box-shadow: 0 0 0 7px #fff9ee; }
.br-site.br-v3 :where(input,select,textarea) { scroll-margin-block: 120px 150px; }
.br-site.br-v3 :where(section[id],article[id],h2[id],h3[id]) { scroll-margin-block-start: 110px; }
.br-site.br-v3 :where(.kg-icon,svg) { flex-shrink: 0; }
.br-site.br-v3 a { text-underline-offset: .24em; }
.br-site.br-v3 .kg-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* One identity from the home page through the final consultation. */
.br-site.br-v3 .br-header {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  position: relative; z-index: 20; padding: 24px clamp(20px,4vw,58px);
  background: #1c1621; border-bottom: 1px solid var(--br-line);
}
.br-site.br-v3 .br-brand { display: grid; flex-shrink: 0; color: var(--br-white); text-decoration: none; line-height: 1.15; }
.br-site.br-v3 .br-brand > span { font-size: 32px; font-weight: 750; letter-spacing: .14em; }
.br-site.br-v3 .br-brand small { margin-top: 7px; font-size: 10px; line-height: 1.5; letter-spacing: .08em; color: var(--br-muted); }
.br-site.br-v3 .br-header nav { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 16px; }
.br-site.br-v3 .br-header nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--br-white); font-size: 14px; text-decoration: none; }
.br-site.br-v3 .br-mobile-menu { display: none; }
.br-skip-link { position: absolute; top: 8px; left: 16px; z-index: 200; transform: translateY(-180%); padding: 12px 18px; border: 2px solid #f1d09a; border-radius: 5px; background: #281b31; color: #fff7ed; font-size: 16px; line-height: 1.6; text-decoration: underline; }
.br-skip-link:focus { transform: translateY(0); outline: 3px solid #f1d09a; outline-offset: 3px; }
.br-site.br-v3 :where(.kg-gold,.br-header-cta) {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 52px; padding: 15px 24px; border: 1px solid #f2d9ac;
  border-radius: 8px; background: linear-gradient(115deg,#e5c58c,#f4dfb7 52%,#ddba7d);
  color: #251b2b; font-size: 16px; font-weight: 750; line-height: 1.55;
  text-decoration: none; white-space: normal; text-align: center;
  box-shadow: 0 6px 24px rgba(0,0,0,.16);
  transition: box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}
.br-site.br-v3 .br-header-cta { flex-shrink: 0; max-width: 300px; padding: 12px 18px; font-size: 14px; white-space: nowrap; }
.br-site.br-v3 .br-header .br-header-cta { color: #251b2b; background: linear-gradient(115deg,#e5c58c,#f4dfb7 52%,#ddba7d); border-color: #f2d9ac; }
.br-site.br-v3 .br-header .br-header-cta svg { color: inherit; stroke: currentColor; }
.br-site.br-v3 :where(.br-eyebrow,.kg-eyebrow) { margin-bottom: 20px; color: var(--br-gold); font-size: 12px; font-weight: 700; letter-spacing: .13em; line-height: 1.7; }
.br-site.br-v3 .br-eyebrow > span { display: inline-block; margin-right: 12px; color: var(--br-muted); font-variant-numeric: tabular-nums; }
.br-site.br-v3 :where(.br-text-link,.kg-text-link,.br-hero-explore,.br-inner-hero-jump) { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--br-gold); font-size: 16px; font-weight: 600; }

/* Photography stays full frame. Gradients protect copy without dimming it all. */
.br-site.br-v3 .br-hero { position: relative; isolation: isolate; min-height: 760px; margin: 0; padding: 0; background: #1b1720; overflow: hidden; }
.br-site.br-v3 .br-hero .kg-slides { position: absolute; inset: 0; z-index: -3; }
.br-site.br-v3 .br-hero .kg-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.15s ease; }
.br-site.br-v3 .br-hero .kg-slide.is-active { opacity: 1; }
.br-site.br-v3 .br-hero .kg-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.br-site.br-v3 .br-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none; background: linear-gradient(90deg,rgba(19,13,25,.83),rgba(19,13,25,.55) 52%,rgba(19,13,25,.08)),linear-gradient(0deg,rgba(19,13,25,.85),transparent 38%); }
.br-site.br-v3 .br-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at 92% 12%,rgba(224,172,94,.2),transparent 34%),radial-gradient(ellipse at 82% 82%,rgba(152,81,160,.2),transparent 42%); }
.br-site.br-v3 .br-hero-orbit { pointer-events: none; position: absolute; width: 310px; height: 310px; right: -100px; top: -155px; border: 1px solid rgba(240,210,160,.26); border-radius: 50%; z-index: -1; box-shadow: 0 0 0 32px rgba(229,197,140,.025),0 0 0 72px rgba(229,197,140,.025); }
.br-site.br-v3 .br-hero .kg-hero-copy { position: relative; z-index: 2; width: min(820px,100%); padding: 78px clamp(24px,6vw,84px) 36px; }
.br-site.br-v3 .br-hero .kg-hero-copy h1 { margin: 22px 0; color: var(--br-white); font-size: clamp(38px,4.5vw,62px); line-height: 1.4; letter-spacing: -.035em; text-shadow: 0 2px 25px rgba(0,0,0,.25); }
.br-site.br-v3 .br-hero .kg-hero-copy h1 > span { display: inline; font-size: .57em; letter-spacing: .02em; font-weight: 600; }
.br-site.br-v3 .br-hero .kg-hero-copy h1 em { font-style: normal; color: #ffedd0; }
.br-site.br-v3 .br-hero-script { margin: 0; color: #f0d3a3; font-family: Georgia,"Times New Roman",serif; font-size: 22px; font-style: italic; letter-spacing: .015em; }
.br-site.br-v3 .kg-hero-name { color: #f1e4d3; font-size: 13px; letter-spacing: .1em; }
.br-site.br-v3 .br-hero-description { color: var(--br-white); line-height: 1.95; }
.br-site.br-v3 .br-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; margin: 28px 0 12px; }
.br-site.br-v3 .br-hero-meta { color: #e4d9e1; font-size: 14px; line-height: 1.8; }
.br-site.br-v3 .br-quick-facts { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(0,2fr) auto; gap: 30px; align-items: end; padding: 42px clamp(24px,5vw,72px); color: #f8f2e8; background: linear-gradient(110deg,#1c1221,#2c1c32 58%,#201426); border-top: 1px solid rgba(230,194,135,.24); border-bottom: 1px solid rgba(230,194,135,.24); }
.br-site.br-v3 .br-quick-facts h2 { margin: 10px 0 0; color: #fff8ec; font-size: clamp(22px,2.1vw,34px); line-height: 1.45; }
.br-site.br-v3 .br-quick-facts dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 26px; margin: 0; }
.br-site.br-v3 .br-quick-facts dl > div { min-width: 0; padding-left: 15px; border-left: 1px solid rgba(230,194,135,.5); }
.br-site.br-v3 .br-quick-facts dt { margin-bottom: 5px; color: #e7c689; font: 700 11px/1.4 var(--br-sans); letter-spacing: .16em; }
.br-site.br-v3 .br-quick-facts dd { margin: 0; color: #f7edf3; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.br-site.br-v3 .br-quick-facts .br-text-link { align-self: center; white-space: nowrap; color: #f3d08f; }
.br-site.br-v3 .br-hero-side { position: absolute; right: 30px; top: 40%; writing-mode: vertical-rl; color: #eee1cf; opacity: .65; font-size: 11px; letter-spacing: .2em; pointer-events: none; }
.br-site.br-v3 .br-hero-side b { font-size: 24px; margin-top: 22px; }
.br-site.br-v3 .br-hero-bottom { position: relative; inset:auto; width:auto; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 8px clamp(24px,6vw,84px) 30px; }
.br-site.br-v3 .br-scroll-cue { color: var(--br-white); min-height: 44px; font-size: 12px; letter-spacing: .1em; text-decoration: none; }
.br-site.br-v3 .br-hero-selector { width: min(435px,100%); }
.br-site.br-v3 .br-hero .kg-slide-controls { position: static; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; color: var(--br-white); }
.br-site.br-v3 .br-hero .kg-slide-caption { font-size: 12px; letter-spacing: .025em; }
.br-site.br-v3 :where(.kg-controls-buttons,.br-slider-buttons) { display: flex; gap: 6px; align-items: center; }
.br-site.br-v3 :where(.kg-controls-buttons,.br-slider-buttons) button { display: inline-flex; justify-content: center; align-items: center; min-width: 44px; min-height: 44px; padding: 9px; border: 1px solid rgba(255,239,210,.45); border-radius: 7px; background: #281e30; color: var(--br-white); font-size: 13px; }
.br-site.br-v3 .br-hero .kg-slide-dots { position: static; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.br-site.br-v3 .br-hero .kg-slide-dots button { position: relative; width: 100%; min-width: 0; height: 55px; min-height: 44px; margin: 0; padding: 0; border: 1px solid rgba(255,255,255,.35); border-radius: 5px; overflow: hidden; background: #221729; }
.br-site.br-v3 .br-hero .kg-slide-dots button[aria-pressed="true"] { border: 2px solid #f5d8a5; box-shadow: 0 0 0 2px rgba(229,197,140,.14); }
.br-site.br-v3 .br-hero .kg-slide-dots img { width: 100%; height: 100%; object-fit: cover; }
.br-site.br-v3 .br-thumb-number { position: absolute; left: 4px; bottom: 3px; padding: 1px 4px; color: #fff; background: rgba(22,14,28,.8); font-size: 10px; line-height: 1.4; }
.br-site.br-v3 .br-signature { overflow: hidden; padding: 22px 0; background: #261b2c; border-block: 1px solid var(--br-line); }
.br-site.br-v3 .br-signature-track { display: flex; width: max-content; gap: 35px; color: #cfb083; font-size: clamp(16px,2vw,26px); letter-spacing: .09em; line-height: 1.4; }
.br-site.br-v3 .br-signature-track i { font-family: Georgia,serif; color: #f2dfc1; }

/* Alternating editorial compositions, with a stable grid beneath sliders. */
.br-site.br-v3 :where(.br-section,.br-plans,.br-planner,.br-experience) { position: relative; padding: clamp(56px,7vw,100px) clamp(24px,6vw,84px); }
.br-site.br-v3 :where(.br-editorial,.br-guide,.br-faq,.br-access,.br-planner) { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); align-items: center; gap: clamp(28px,5vw,72px); }
.br-site.br-v3 :where(.br-editorial-copy,.br-access-copy,.br-planner-intro) { min-width: 0; }
.br-site.br-v3 .br-lead { color: var(--br-white); font-size: 20px; line-height: 1.85; }
.br-site.br-v3 .br-photo-composition { position: relative; min-width: 0; padding: 0 0 38px; }
.br-site.br-v3 .br-space-main { margin: 0 26px 0 0; }
.br-site.br-v3 .br-space-main img { display: block; width: 100%; height: auto; aspect-ratio: 1/1; object-fit: cover; border-radius: 3px 38px 3px 3px; }
.br-site.br-v3 .br-space-main figcaption { max-width: calc(55% - 16px); margin-top: 16px; color: var(--br-gold); font-size: 12px; letter-spacing: .08em; }
.br-site.br-v3 .br-space-main figcaption span { display: block; max-width: none; margin-top: 5px; color: var(--br-muted); font-size: 14px; letter-spacing: 0; }
.br-site.br-v3 .br-space-detail { position: absolute; right: 0; bottom: 0; width: 45%; margin: 0; padding: 7px; background: #211927; box-shadow: 0 12px 38px rgba(0,0,0,.25); }
.br-site.br-v3 .br-space-detail img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.br-site.br-v3 .br-space-detail figcaption { color: var(--br-gold); font-size: 10px; text-align: center; letter-spacing: .035em; }
.br-site.br-v3 .br-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.br-site.br-v3 .br-section-heading h2 { margin-bottom: 0; }
.br-site.br-v3 .br-section-heading > p { max-width: 28em; margin-bottom: 5px; color: var(--br-muted); }
.br-site.br-v3 .br-section-word { position: absolute; right: 30px; top: 18px; font-size: clamp(40px,8vw,108px); color: rgba(229,197,140,.07); line-height: 1; pointer-events: none; }
.br-site.br-v3 :where(.br-occasion-grid,.br-plan-grid,.kg-article-grid) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.br-site.br-v3 :where(.br-occasion-card,.br-plan,.kg-article-grid article) { min-width: 0; border: 1px solid var(--br-line); border-radius: var(--br-radius); overflow: hidden; background: #241b2b; }
.br-site.br-v3 .br-occasion-card > a { display: block; height: 100%; color: var(--br-white); text-decoration: none; }
.br-site.br-v3 .br-occasion-photo { position: relative; }
.br-site.br-v3 .br-occasion-photo img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.br-site.br-v3 .br-round-icon { position: absolute; bottom: -22px; right: 20px; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #e2c491; border-radius: 50%; background: #302037; color: var(--br-gold); }
.br-site.br-v3 .br-occasion-copy { padding: 30px 24px 24px; }
.br-site.br-v3 .br-occasion-copy h3 { margin-bottom: 12px; }
.br-site.br-v3 .br-card-catch { color: var(--br-muted); }
.br-site.br-v3 .br-card-link { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 26px; padding-top: 17px; border-top: 1px solid var(--br-line); color: var(--br-gold); font-size: 14px; }
.br-site.br-v3 .br-plan { padding: 30px 26px; }
.br-site.br-v3 .br-plan-number { color: var(--br-gold); font-size: 12px; letter-spacing: .1em; }
.br-site.br-v3 .br-plan h3 { margin-top: 20px; }
.br-site.br-v3 .br-plan .br-price { color: #f1d39f; font-size: clamp(25px,2.6vw,36px); margin-bottom: 4px; }
.br-site.br-v3 .br-per-person { color: var(--br-muted); font-size: 14px; }
.br-site.br-v3 .br-plan a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 12px; color: var(--br-gold); }
.br-site.br-v3 :where(.br-plan-note,.br-planner-note,.br-planner-help) { color: var(--br-muted); font-size: 14px; line-height: 1.85; }
.br-site.br-v3 .br-plan-note { margin-top: 24px; }
.br-site.br-v3 .br-slider { min-width: 0; }
.br-site.br-v3 .br-slider-track { overflow-x: auto; scrollbar-width: thin; scrollbar-color: #b89563 #261c2c; scroll-snap-type: x proximity; scroll-padding-inline: 2px; padding-bottom: 12px; }
.br-site.br-v3 .br-slider-track > * { scroll-snap-align: start; }
.br-site.br-v3 .br-slider-controls { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 16px; }
.br-site.br-v3 .br-slider-caption, .br-site.br-v3 .br-slider-count { color: var(--br-muted); font-size: 14px; }
.br-site.br-v3 .br-slider-dots { display: flex; gap: 4px; }
.br-site.br-v3 .br-slider-dots button { min-width: 44px; min-height: 44px; color: var(--br-gold); border-radius: 4px; }
.br-site.br-v3 .br-gallery-grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(270px,38%); gap: 22px; }
.br-site.br-v3 .br-gallery-item { display: block; position: relative; min-width: 0; padding: 0; border: 1px solid var(--br-line); border-radius: 12px; background: #261c2e; overflow: hidden; color: var(--br-white); text-align: left; text-decoration: none; }
.br-site.br-v3 .br-gallery-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.br-site.br-v3 .br-gallery-item > span { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px; color: var(--br-gold); font-size: 12px; letter-spacing: .08em; }
.br-site.br-v3 .br-stage { background: #281d2e; }
.br-site.br-v3 .br-stage-heading { max-width: 660px; margin-bottom: 28px; }
.br-site.br-v3 .br-stage-view { min-width: 0; height: auto; aspect-ratio: auto; overflow: visible; background: transparent; }
.br-site.br-v3 .br-stage-panel { position: relative; isolation: isolate; min-height: 430px; overflow: hidden; border: 1px solid var(--br-line); border-radius: var(--br-radius); }
.br-site.br-v3 .br-stage-panel > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.br-site.br-v3 .br-stage-panel::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(0deg,rgba(18,12,24,.95),rgba(18,12,24,.15) 90%); }
.br-site.br-v3 .br-stage-panel-copy { position: relative; inset: auto; padding: 210px 40px 32px; max-width: 780px; }
.br-site.br-v3 .br-stage-panel-copy > span { color: var(--br-gold); font-size: 12px; letter-spacing: .15em; }
.br-site.br-v3 .br-stage-panel-copy h3 { margin: 10px 0; }
.br-site.br-v3 .br-stage-panel-copy p { margin-bottom: 0; font-size: 16px; line-height: 1.85; }
.br-site.br-v3 .br-stage-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; margin-top: 20px; padding-top: 0; }
.br-site.br-v3 .br-stage-footer .br-text-link { margin-top: 0; }
.br-site.br-v3 .br-stage-tabs { display: flex; gap: 8px; }
.br-site.br-v3 .br-stage-tabs button { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; padding: 12px 18px; border: 1px solid var(--br-line); border-radius: 8px; background: #211827; color: var(--br-white); font-size: 16px; }
.br-site.br-v3 .br-stage-tabs button[aria-selected="true"] { background: #efd5aa; color: #281c2f; border-color: #efd5aa; }
.br-site.br-v3 .br-stage-tabs small { font-size: 11px; opacity: .85; }
.br-site.br-v3 .br-planner { background: radial-gradient(ellipse at 5% 15%,rgba(155,102,139,.14),transparent 50%),#1b1520; border-block: 1px solid var(--br-line); }
.br-site.br-v3 .br-planner-intro a { color: var(--br-gold); }
.br-site.br-v3 .br-planner-seal { display: inline-flex; align-items: center; gap: 12px; color: var(--br-gold); font-size: 14px; }
.br-site.br-v3 .br-wedding-planner-form { padding: 30px; border: 1px solid var(--br-line); border-radius: var(--br-radius); background: #2b2031; }
.br-site.br-v3 .br-planner-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.br-site.br-v3 .br-wedding-planner-form label { color: var(--br-white); font-size: 16px; }
.br-site.br-v3 .br-wedding-planner-form label small { color: #d8cbd6; font-size: 13px; }
.br-site.br-v3 .br-wedding-planner-form :where(input,select) { border-color: #91818c; border-radius: 7px; background: #19121f; color: var(--br-white); min-width: 0; min-height: 50px; }
.br-site.br-v3 .br-planner-result { padding: 20px 0; border-block: 1px solid var(--br-line); }
.br-site.br-v3 .br-planner-result > span { color: #ddd1da; font-size: 14px; }
.br-site.br-v3 .br-planner-result output { color: #f5dcae; margin: 8px 0; }
.br-site.br-v3 .br-planner-result p { color: var(--br-muted); margin-bottom: 0; }
/* Light guide panel: keep text, numbers and interaction states readable. */
.br-site.br-v3 .br-guide { --br-gold: #765423; --br-muted: #574555; --br-line: rgba(69,43,64,.22); background: #e7d7e0; color: #302236; }
.br-site.br-v3 .br-guide h2 { color: #302236; }
.br-site.br-v3 .br-guide h2 em,
.br-site.br-v3 .br-guide .br-eyebrow,
.br-site.br-v3 .br-guide .br-eyebrow > span { color: #765423; }
.br-site.br-v3 .br-guide > div > p:not(.br-eyebrow) { color: #4e3c4b; font-weight: 500; }
.br-site.br-v3 .br-guide-links { border-top: 1px solid var(--br-line); }
.br-site.br-v3 .br-guide-links a { display: flex; align-items: center; gap: 18px; padding: 23px 6px; border-bottom: 1px solid var(--br-line); color: #302236; text-decoration: none; }
.br-site.br-v3 .br-guide-links a > div { min-width: 0; }
.br-site.br-v3 .br-guide-links a h3 { color: #302236; font-weight: 700; }
.br-site.br-v3 .br-guide-links a > span:first-child { color: #765423; font-weight: 700; }
.br-site.br-v3 .br-guide-links :where(p,small) { display: block; margin-top: 4px; color: #4e3c4b; font-size: 16px; font-weight: 500; }
.br-site.br-v3 .br-guide-links a > svg { color: #765423; }
.br-site.br-v3 .br-guide-links a:is(:hover,:focus-visible) { color: #302236; background: rgba(255,253,247,.45); }
.br-site.br-v3 .br-guide-links a:is(:hover,:focus-visible) h3 { color: #302236; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.br-site.br-v3 .br-guide-links a:focus-visible { outline: 3px solid #684c2f; outline-offset: 3px; box-shadow: none; }
.br-site.br-v3 .br-faq { align-items: start; background: #211827; }
.br-site.br-v3 .br-faq-list details { border-bottom: 1px solid var(--br-line); padding: 0 2px; }
.br-site.br-v3 .br-faq-list summary { position: relative; min-height: 56px; padding: 20px 32px 20px 2px; color: var(--br-white); font-size: 16px; line-height: 1.75; }
.br-site.br-v3 .br-faq-list details > p { color: #ded3dd; margin: 0 0 23px; }
.br-site.br-v3 .br-access-visual { position: relative; overflow: hidden; border-radius: 4px 38px 4px 4px; }
.br-site.br-v3 .br-access-visual img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.br-site.br-v3 .br-access-visual > span { position: absolute; bottom: 24px; left: 22px; padding: 15px 20px; background: rgba(25,17,30,.85); color: #f8dfb6; font-size: 13px; letter-spacing: .1em; }
.br-site.br-v3 .br-access-visual strong { font-size: clamp(32px,4vw,52px); }
.br-site.br-v3 .br-phone { display: block; margin-top: 24px; color: var(--br-white); font-size: clamp(24px,3vw,34px); font-variant-numeric: tabular-nums; text-decoration: none; }
.br-site.br-v3 .br-access-copy > small { color: var(--br-muted); font-size: 14px; }
.br-site.br-v3 .br-final { position: relative; isolation: isolate; overflow: hidden; padding: 84px 24px; text-align: center; background: #211526; }
.br-site.br-v3 .br-final-photo { position: absolute; inset: 0; z-index: -2; }
.br-site.br-v3 .br-final-photo img { width: 100%; height: 100%; object-fit: cover; }
.br-site.br-v3 .br-final::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(24,15,30,.84); pointer-events: none; }
.br-site.br-v3 .br-final > small { display: block; margin-top: 18px; color: #e7d9e0; font-size: 14px; }
.br-site.br-v3 .br-footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; padding: 52px clamp(24px,6vw,84px) 110px; border-top: 1px solid var(--br-line); background: #151018; }
.br-site.br-v3 .br-footer-brand { color: #f3dab1; font-size: 48px; font-weight: 750; letter-spacing: .12em; line-height: 1.1; text-decoration: none; }
.br-site.br-v3 .br-footer p { color: #d9cdd7; }
.br-site.br-v3 .br-footer nav { display: flex; flex-wrap: wrap; gap: 5px 22px; margin-bottom: 18px; }
.br-site.br-v3 .br-footer nav a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: #f4dfbf; font-size: 14px; }
.br-site.br-v3 .br-footer small { color: #baaebc; font-size: 12px; }

/* Editorial pages are readable warm paper, not dark cards with faint copy. */
.br-site.br-v3 .br-breadcrumb { display: flex; flex-wrap: wrap; padding: 20px clamp(24px,6vw,84px); background: #eee7db; color: #514451; font-size: 13px; }
.br-site.br-v3 .br-breadcrumb a { color: #674719; text-decoration: underline; }
.br-site.br-v3 .br-inner-hero { position: relative; isolation: isolate; padding: 64px clamp(24px,6vw,84px); background: radial-gradient(ellipse at 100% 0,rgba(179,137,84,.14),transparent 55%),#261b2e; overflow: hidden; border-block: 1px solid var(--br-line); }
.br-site.br-v3 .br-inner-hero h1 { max-width: 22em; margin: 18px 0 24px; font-size: clamp(28px,3.8vw,50px); line-height: 1.45; letter-spacing: -.025em; }
.br-site.br-v3 .br-inner-title-detail { display: block; margin-top: .35em; font-size: .68em; line-height: 1.55; letter-spacing: .015em; }
.br-site.br-v3 .br-inner-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.br-site.br-v3 .br-inner-hero-photo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(23,15,29,.91),rgba(23,15,29,.55)); pointer-events: none; }
.br-site.br-v3 .br-inner-hero-copy { position: relative; z-index: 1; max-width: 850px; }
.br-site.br-v3 .br-inner-deck { max-width: 48em; color: #e8dde5; font-size: 17px; }
.br-site.br-v3 .br-inner-hero-jump { margin: 8px 0 8px 22px; }
.br-site.br-v3 .br-article-meta { margin-top: 25px; color: #d4c5d1; font-size: 14px; }
.br-site.br-v3 .br-article-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 32px; align-items: start; padding: 48px clamp(24px,4vw,58px); }
.br-site.br-v3 .br-article-content { min-width: 0; padding: clamp(24px,3vw,42px); border-radius: var(--br-radius); background: var(--br-paper); color: var(--br-ink); }
.br-site.br-v3 .br-prose { color: var(--br-ink); font-size: 16px; line-height: 1.95; }
.br-site.br-v3 .br-prose :where(p,li,dd,dt,td,th,figcaption,blockquote) { color: var(--br-ink); font-size: 16px; line-height: 1.95; }
.br-site.br-v3 .br-prose :where(h1,h2,h3,h4,strong,b) { color: #2c2032; }
.br-site.br-v3 .br-prose h2 { margin: 46px 0 20px; padding-bottom: 16px; border-bottom: 1px solid #d5c5b4; font-size: clamp(23px,2.3vw,31px); }
.br-site.br-v3 .br-prose h3 { margin: 32px 0 16px; font-size: 21px; }
.br-site.br-v3 .br-prose p { margin-bottom: 24px; }
.br-site.br-v3 .br-prose a { color: #705025; text-decoration: underline; text-decoration-thickness: 1px; }
.br-site.br-v3 .br-prose :where(ul,ol) { padding-inline-start: 1.4em; }
.br-site.br-v3 .br-prose li { margin-block: 9px; }
.br-site.br-v3 .br-prose blockquote { margin: 28px 0; padding: 20px 24px; border-left: 3px solid #a27b42; background: #f0e7d9; }
.br-site.br-v3 .br-prose img { border-radius: 9px; margin-block: 22px; }
.br-site.br-v3 .br-table-scroll { max-width: 100%; min-width: 0; overflow-x: auto; margin: 28px 0; border: 1px solid #cfbfaf; border-radius: 9px; scrollbar-width: thin; scrollbar-color: #977246 #eee5d8; }
.br-site.br-v3 .br-prose table { width: 100%; min-width: 580px; border-collapse: collapse; margin: 0; background: #fffdf7; }
.br-site.br-v3 .br-prose :where(th,td) { padding: 16px; border: 1px solid #d9cdbf; text-align: left; vertical-align: top; }
.br-site.br-v3 .br-prose th { background: #eee3d2; font-weight: 700; }
.br-site.br-v3 .br-prose tr:nth-child(even) td { background: #f8f2e8; }
.br-site.br-v3 .br-prose .kg-gold { color: #251b2b; text-decoration: none; }
.br-site.br-v3 .br-prose .kg-article-consult { padding: 26px; margin: 35px 0 0; background: #eee2d0; border: 1px solid #ceb894; border-radius: 12px; }
.br-site.br-v3 .br-toc { margin: 26px 0 32px; border: 1px solid #cdbca5; border-radius: 10px; background: #f0e6d6; color: #302436; }
.br-site.br-v3 .br-toc summary { min-height: 52px; padding: 18px 22px; font-size: 16px; font-weight: 700; }
.br-site.br-v3 .br-toc nav { padding: 0 24px 18px; }
.br-site.br-v3 .br-toc ol { padding-left: 1.3em; }
.br-site.br-v3 .br-toc a { display: block; padding: 7px 0; color: #634522; font-size: 16px; }
.br-site.br-v3 .br-planning-check { padding: 24px; border: 1px solid #d4c1a5; border-radius: 10px; background: #f3e9da; color: #302436; }
.br-site.br-v3 .br-planning-check h2 { margin-bottom: 14px; font-size: 25px; }
.br-site.br-v3 .br-planning-check .br-eyebrow { color: #705025; }
.br-site.br-v3 .br-planning-check fieldset { min-width: 0; padding: 0; margin: 20px 0 0; border: 0; }
.br-site.br-v3 .br-planning-check label { display: flex; align-items: flex-start; gap: 12px; min-height: 46px; padding-block: 10px; font-size: 16px; line-height: 1.8; }
.br-site.br-v3 .br-planning-check input { width: 22px; height: 22px; margin-top: 3px; flex-shrink: 0; accent-color: #745131; }
.br-site.br-v3 .br-check-note { margin-bottom: 0; color: #5b4b58; font-size: 14px; }
.br-site.br-v3 .br-article-aside { min-width: 0; }
.br-site.br-v3 .br-venue-card { overflow: hidden; border: 1px solid var(--br-line); border-radius: var(--br-radius); background: #2a1e30; }
.br-site.br-v3 .br-venue-card > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.br-site.br-v3 .br-venue-card > div { padding: 25px; }
.br-site.br-v3 .br-venue-card h2 { font-size: 24px; }
.br-site.br-v3 .br-venue-card dl { margin: 22px 0; }
.br-site.br-v3 .br-venue-card dl > div { padding-block: 12px; border-bottom: 1px solid var(--br-line); }
.br-site.br-v3 .br-venue-card dt { color: var(--br-gold); font-size: 14px; }
.br-site.br-v3 .br-venue-card dd { margin: 4px 0 0; color: #eee2e9; }
.br-site.br-v3 .br-venue-card .kg-gold { width: 100%; padding-inline: 14px; }
.br-site.br-v3 .br-venue-tour { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; margin-top: 12px; color: var(--br-gold); font-size: 14px; }
.br-site.br-v3 .br-venue-phone { color: var(--br-gold); font-size: 25px; text-decoration: none; }
.br-site.br-v3 .br-venue-card small { display: block; margin-top: 10px; color: #d0c2cf; font-size: 14px; }
.br-site.br-v3 .br-guide-editorial { background: #f0e5d6; border-color: #a07a42; color: #302436; }
.br-site.br-v3 .br-guide-editorial p { color: #403343; font-size: 16px; }
.br-site.br-v3 .br-inner-related { padding: 40px clamp(24px,6vw,84px) 72px; }
.br-site.br-v3 .br-related-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.br-site.br-v3 .br-related-grid > a { display: block; padding: 26px; border: 1px solid var(--br-line); border-radius: 12px; background: #251b2c; color: var(--br-white); text-decoration: none; }
.br-site.br-v3 .br-related-grid > a > span { color: var(--br-gold); font-size: 13px; }
.br-site.br-v3 .br-related-grid h3 { margin-top: 12px; font-size: 21px; }
.br-site.br-v3 .br-related-grid p { color: var(--br-muted); }
.br-site.br-v3 .br-inner-consult { padding: 64px 24px; text-align: center; border-block: 1px solid var(--br-line); background: radial-gradient(ellipse at 50% 0,rgba(178,116,139,.15),transparent 70%),#2c1f32; }
.br-site.br-v3 .br-inner-consult > small { display: block; max-width: 46em; margin: 22px auto 0; color: #e0d1dc; font-size: 14px; line-height: 1.85; }

/* Consultation and journal use the same typography, controls and surfaces. */
.br-site.br-v3 .br-contact-intro { padding: 40px clamp(24px,6vw,84px) 0; }
.br-site.br-v3 .br-contact-intro h2 { font-size: 28px; }
.br-site.br-v3 .br-contact-intro ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; list-style: none; padding: 0; margin: 22px 0 0; }
.br-site.br-v3 .br-contact-intro li { display: flex; gap: 14px; padding: 20px; border: 1px solid var(--br-line); border-radius: 10px; background: #261b2c; }
.br-site.br-v3 .br-contact-intro li > span { color: var(--br-gold); font-family: Georgia,serif; font-size: 26px; }
.br-site.br-v3 .br-contact-intro h3 { margin-bottom: 8px; font-size: 18px; }
.br-site.br-v3 .br-contact-intro p { margin-bottom: 0; color: var(--br-muted); }
.br-site.br-v3 .br-contact-form-heading .br-eyebrow { color: #755329; }
.br-site.br-v3 .br-contact-form-heading h2 { font-size: 30px; }
.br-site.br-v3 .br-contact-note { padding: 16px 18px; border-left: 3px solid #aa824b; background: #efe4d3; color: #433446; }
.br-site.br-v3 .br-contact-prose :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]),textarea,select) { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 50px; padding: 12px 14px; border: 1px solid #9e8b95; border-radius: 7px; background: #fffdf9; color: #2b2030; font-size: 16px; line-height: 1.65; color-scheme: light; }
.br-site.br-v3 .br-contact-prose textarea { min-height: 200px; resize: vertical; }
.br-site.br-v3 .br-contact-prose label { display: inline-block; padding-bottom: 8px; color: #302435; font-size: 16px; font-weight: 650; }
.br-site.br-v3 .br-field-state { display: inline-block; margin-left: 10px; padding: 1px 8px; border: 1px solid #bbab9c; border-radius: 4px; background: #ede0cd; color: #533c28; font-size: 12px; font-weight: 650; vertical-align: middle; }
.br-site.br-v3 .br-contact-prose input[type="submit"] { display: block; width: 100%; min-height: 54px; margin-top: 26px; padding: 15px; border: 1px solid #d4ad6c; border-radius: 8px; background: #ebcd9b; color: #2b2030; font-size: 16px; font-weight: 750; cursor: pointer; }
.br-site.br-v3 .br-contact-prose .wpcf7-not-valid-tip { display: block; margin-top: 8px; color: #94253b; font-size: 16px; }
.br-site.br-v3 .br-contact-prose .wpcf7-response-output { margin: 24px 0; padding: 18px; color: #302435; background: #fff7e5; border-width: 2px; font-size: 16px; }
.br-site.br-v3 .br-wedding-memo { background: #f2e7d6; }
.br-site.br-v3 .br-wedding-memo p { color: #403343; font-size: 16px; }
.br-site.br-v3 .br-archive-section { padding: 48px clamp(24px,6vw,84px) 60px; }
.br-site.br-v3 .br-archive-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
.br-site.br-v3 .br-archive-card { border: 1px solid var(--br-line); border-radius: 14px; background: #271c2d; overflow: hidden; }
.br-site.br-v3 .br-archive-card a { display: block; height: 100%; color: var(--br-white); text-decoration: none; }
.br-site.br-v3 .br-archive-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.br-site.br-v3 .br-archive-card a > div { padding: 27px; }
.br-site.br-v3 .br-archive-card h2 { margin: 13px 0; font-size: 25px; }
.br-site.br-v3 .br-archive-card time { color: var(--br-gold); font-size: 13px; }
.br-site.br-v3 .br-archive-card p { color: #d5c8d3; }
.br-site.br-v3 .br-archive-card a > div > span { display: flex; justify-content: space-between; gap: 12px; padding-top: 15px; border-top: 1px solid var(--br-line); color: var(--br-gold); font-size: 14px; }
.br-site.br-v3 .pagination { margin-top: 36px; }
.br-site.br-v3 .pagination .nav-links { display: flex; flex-wrap: wrap; gap: 10px; }
.br-site.br-v3 .pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 10px 16px; border: 1px solid var(--br-line); border-radius: 6px; color: var(--br-white); }
.br-site.br-v3 .pagination .current { background: #ebcd9b; color: #2b2030; }
.br-site.br-v3 .kg-journal { padding: 48px clamp(24px,6vw,84px); }
.br-site.br-v3 .kg-article-grid article > a { display: block; color: var(--br-white); text-decoration: none; }
.br-site.br-v3 .kg-article-grid article img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.br-site.br-v3 .kg-article-grid :where(time,h3) { display: block; margin: 18px 22px; }
.br-site.br-v3 .kg-article-grid time { color: var(--br-gold); font-size: 13px; }
.br-site.br-v3 .kg-article-grid h3 { font-size: 21px; }

/* These components are emitted outside .br-site by WordPress footer hooks. */
.kg-consult { position: fixed; z-index: 90; bottom: max(16px,env(safe-area-inset-bottom)); left: max(20px,calc((100vw - 1320px)/2)); right: max(20px,calc((100vw - 1320px)/2)); display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; pointer-events: none; font-family: -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; }
.kg-consult > a, .kg-consult > button { box-sizing: border-box; pointer-events: auto; min-height: 54px; padding: 13px 20px; border: 1px solid #efce95; border-radius: 10px; box-shadow: 0 7px 28px rgba(0,0,0,.3); font-size: 16px; font-weight: 700; line-height: 1.55; text-decoration: none; }
.kg-consult > a { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 5px 10px; max-width: 380px; background: #edce9c; color: #2b1e30; }
.kg-consult > a > span { flex-basis: 100%; text-align: center; font-size: 12px; font-weight: 500; }
.kg-consult > button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #302139; color: #fff5e8; cursor: pointer; }
.kg-consult svg { width: 20px; height: 20px; flex-shrink: 0; }
/* Hide the unused backdrop along with the resting consultation link. */
body .kg-consult.kg-consult-resting { background: transparent; border-color: transparent; box-shadow: none; }
.kg-dialog, .br-photo-dialog { box-sizing: border-box; max-width: min(720px,calc(100vw - 32px)); max-height: calc(100dvh - 48px); padding: 28px; border: 1px solid #bb985f; border-radius: 16px; background: #faf6ee; color: #302435; overflow: auto; font-family: -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; font-size: 16px; line-height: 1.9; }
.kg-dialog::backdrop, .br-photo-dialog::backdrop { background: rgba(16,10,20,.82); }
.kg-dialog .kg-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.kg-dialog h2 { margin: 0; color: #302435; font-size: 24px; line-height: 1.5; }
.kg-dialog :where(p,summary) { color: #302435; font-size: 16px; }
.kg-dialog details { border-bottom: 1px solid #cfbda5; }
.kg-dialog summary { min-height: 48px; padding-block: 15px; cursor: pointer; }
.kg-dialog :where(.kg-dialog-close,.kg-gold), .br-photo-dialog .br-photo-close { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 16px; border: 1px solid #8c6a3f; border-radius: 7px; background: #eed2a5; color: #302435; font-size: 16px; font-weight: 650; text-decoration: none; cursor: pointer; }
.kg-dialog .kg-gold { margin-top: 24px; }
.br-photo-dialog { max-width: min(1120px,calc(100vw - 24px)); background: #201727; color: #fff7ed; }
.br-photo-dialog .br-photo-close { display: flex; margin: 0 0 18px auto; }
.br-photo-dialog > img { display: block; max-width: 100%; max-height: 72dvh; height: auto; margin-inline: auto; object-fit: contain; }
.br-photo-dialog > p { margin: 14px 0 0; color: #fff7ed; font-size: 16px; text-align: center; }

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .br-site.br-v3 :where(.kg-gold,.br-header-cta):hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(220,180,119,.23); }
  .br-site.br-v3 :where(.br-related-grid > a,.br-occasion-card,.br-archive-card) { transition: border-color .2s ease, box-shadow .2s ease; }
  .br-site.br-v3 :where(.br-related-grid > a,.br-occasion-card,.br-archive-card):hover { border-color: #b9935d; box-shadow: 0 12px 30px rgba(0,0,0,.17); }
}
@media (max-width:1100px) {
  .br-site.br-v3 .br-header { flex-wrap: wrap; gap: 16px; }
  .br-site.br-v3 .br-header nav { order: 3; width: 100%; justify-content: flex-start; }
  .br-site.br-v3 .br-article-layout { grid-template-columns: minmax(0,1fr) 260px; gap: 22px; padding-inline: 24px; }
  .br-site.br-v3 .br-venue-card > div { padding: 20px; }
  .br-site.br-v3 .br-hero-side { display: none; }
  .br-site.br-v3 .br-occasion-copy { padding-inline: 18px; }
}
@media (max-width:800px) {
  .br-site.br-v3 .br-header > nav { display: none; }
  .br-site.br-v3 .br-header-cta { display: none; }
  .br-site.br-v3 .br-mobile-menu { display: block; position: relative; flex-shrink: 0; margin-left: auto; color: var(--br-white); }
  .br-site.br-v3 .br-mobile-menu > summary { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 10px 14px; border: 1px solid #9a7c56; border-radius: 7px; background: #302039; color: var(--br-white); font-size: 14px; font-weight: 650; list-style: none; }
  .br-site.br-v3 .br-mobile-menu > summary::-webkit-details-marker { display: none; }
  .br-site.br-v3 .br-mobile-menu > summary svg { width: 20px; height: 20px; }
  .br-site.br-v3 .br-mobile-menu > nav { position: absolute; top: calc(100% + 12px); right: 0; z-index: 50; display: flex; flex-direction: column; align-items: stretch; flex-wrap: nowrap; width: min(320px,calc(100vw - 44px)); max-height: calc(100dvh - 160px); gap: 0; padding: 12px; margin: 0; overflow-y: auto; border: 1px solid #9a7c56; border-radius: 10px; background: #271b30; box-shadow: 0 18px 44px rgba(0,0,0,.5); }
  .br-site.br-v3 .br-mobile-menu > nav a { display: flex; align-items: center; min-height: 48px; padding: 11px 14px; border-bottom: 1px solid var(--br-line); color: #fff6e9; font-size: 16px; white-space: normal; }
  .br-site.br-v3 .br-mobile-menu > nav a:last-child { border-bottom: 0; }
  .br-site.br-v3 .br-mobile-menu > nav a.kg-gold { color: #251b2b; margin-top: 8px; }
  .br-site.br-v3 :where(.br-editorial,.br-guide,.br-faq,.br-access,.br-planner,.br-article-layout) { grid-template-columns: minmax(0,1fr); }
  /* Match the desktop selector specificity so article and contact layouts
     reliably collapse to one column on phones and small tablets. */
  .br-site.br-v3 .br-article-layout { grid-template-columns: minmax(0,1fr); }
  .br-site.br-v3 .br-article-aside { max-width: 560px; width: 100%; margin-inline: auto; }
  .br-site.br-v3 .br-section-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .br-site.br-v3 .br-section-heading > p { margin: 0; }
  .br-site.br-v3 .br-occasion-grid { grid-auto-flow: column; grid-auto-columns: minmax(260px,78%); grid-template-columns: none; }
  .br-site.br-v3 .br-plan-grid { grid-template-columns: minmax(0,1fr); }
  .br-site.br-v3 .kg-article-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .br-site.br-v3 .br-plan { padding: 28px; }
  .br-site.br-v3 .br-contact-intro ol { grid-template-columns: minmax(0,1fr); }
  .br-site.br-v3 .br-hero-bottom { align-items: flex-start; flex-direction: column; }
  .br-site.br-v3 .br-scroll-cue { display: none; }
  .br-site.br-v3 .br-hero-selector { width: min(435px,100%); }
  .br-site.br-v3 .br-stage-tabs button { padding-inline: 15px; }
  .br-site.br-v3 .br-footer { flex-direction: column; }
}
@media (max-width:600px) {
  .br-site.br-v3 .br-header { padding: 18px 18px 10px; gap: 16px 10px; }
  .br-site.br-v3 .br-brand { max-width: calc(100% - 112px); }
  .br-site.br-v3 .br-brand > span { font-size: 29px; }
  .br-site.br-v3 .br-brand small { font-size: 9px; }
  .br-site.br-v3 .br-header-cta { min-height: 46px; padding: 10px 12px; max-width: 165px; font-size: 13px; }
  .br-site.br-v3 .br-header-cta svg { display: none; }
  .br-site.br-v3 .br-header > nav { flex-wrap: nowrap; justify-content: space-between; gap: 12px; overflow-x: auto; padding-block: 2px; }
  .br-site.br-v3 .br-header > nav a { flex-shrink: 0; font-size: 13px; }
  .br-site.br-v3 .br-hero { min-height: 0; }
  .br-site.br-v3 .br-hero::before { background: linear-gradient(90deg,rgba(19,13,25,.83),rgba(19,13,25,.43)),linear-gradient(0deg,rgba(19,13,25,.94),transparent 80%); }
  .br-site.br-v3 .br-hero .kg-hero-copy { padding: 40px 22px 16px; }
  .br-site.br-v3 .br-hero .kg-hero-copy h1 { font-size: clamp(30px,8.1vw,44px); margin-block: 18px; line-height: 1.43; }
  .br-site.br-v3 .br-hero .kg-hero-copy h1 > span { font-size: .64em; }
  .br-site.br-v3 .br-hero-script { font-size: 19px; }
  .br-site.br-v3 .kg-hero-name { font-size: 11px; letter-spacing: .07em; }
  .br-site.br-v3 .br-hero-description { font-size: 16px; }
  .br-site.br-v3 .br-hero-meta { font-size: 13px; }
  .br-site.br-v3 .br-hero-actions { display: grid; gap: 8px; margin-top: 24px; }
  .br-site.br-v3 .br-hero-actions .kg-gold { padding-inline: 16px; }
  .br-site.br-v3 .br-quick-facts { grid-template-columns: 1fr; gap: 22px; padding: 34px 22px; }
  .br-site.br-v3 .br-quick-facts dl { grid-template-columns: 1fr 1fr; gap: 16px; }
  .br-site.br-v3 .br-quick-facts .br-text-link { justify-self: start; white-space: normal; }
  .br-site.br-v3 .br-hero-explore { justify-content: flex-start; }
  .br-site.br-v3 .br-hero-bottom { padding: 12px 22px 28px; }
  .br-site.br-v3 .br-hero .kg-slide-dots { gap: 6px; }
  .br-site.br-v3 .br-hero .kg-slide-dots button { height: 48px; }
  .br-site.br-v3 .br-signature { padding-block: 17px; }
  .br-site.br-v3 :where(.br-section,.br-plans,.br-planner,.br-experience) { padding: 52px 22px; gap: 28px; }
  .br-site.br-v3 .br-gallery-grid { grid-auto-columns: 86%; gap: 14px; }
  .br-site.br-v3 .br-occasion-grid { grid-auto-columns: 88%; gap: 14px; }
  .br-site.br-v3 .br-wedding-planner-form { padding: 22px 18px; }
  .br-site.br-v3 .br-planner-fields { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .br-site.br-v3 .br-stage-panel { min-height: 360px; }
  .br-site.br-v3 .br-stage-panel-copy { padding: 160px 22px 24px; }
  .br-site.br-v3 .br-stage-tabs { width: 100%; gap: 7px; }
  .br-site.br-v3 .br-stage-tabs button { flex: 1; justify-content: center; gap: 7px; padding: 12px 8px; }
  .br-site.br-v3 .br-stage-tabs small { display: none; }
  .br-site.br-v3 .br-stage-tabs svg { width: 18px; height: 18px; }
  .br-site.br-v3 .br-inner-hero { padding: 42px 22px; }
  .br-site.br-v3 .br-breadcrumb { padding: 18px 22px; font-size: 12px; }
  .br-site.br-v3 .br-inner-hero h1 { font-size: clamp(27px,7vw,38px); }
  .br-site.br-v3 .br-inner-deck { font-size: 16px; }
  .br-site.br-v3 .br-inner-hero-jump { display: flex; margin: 12px 0 0; }
  .br-site.br-v3 .br-article-layout { padding: 28px 12px; gap: 28px; }
  .br-site.br-v3 .br-article-content { padding: 25px 18px; border-radius: 12px; }
  .br-site.br-v3 :where(.br-planning-check,.br-wedding-memo) { padding: 20px 16px; }
  .br-site.br-v3 .br-prose h2 { font-size: 24px; margin-top: 36px; }
  .br-site.br-v3 .br-prose :where(th,td) { padding: 12px; }
  .br-site.br-v3 .br-contact-intro { padding: 32px 22px 0; }
  .br-site.br-v3 .br-contact-intro li { padding: 18px; }
  .br-site.br-v3 :where(.br-related-grid,.br-archive-grid,.kg-article-grid) { grid-template-columns: minmax(0,1fr); }
  .br-site.br-v3 :where(.br-inner-related,.br-archive-section,.kg-journal) { padding: 40px 22px; }
  .br-site.br-v3 .br-inner-consult { padding: 48px 22px; }
  .br-site.br-v3 .br-final { padding: 64px 22px; }
  .br-site.br-v3 .br-footer { padding: 38px 22px calc(128px + env(safe-area-inset-bottom)); }
  .br-site.br-v3 .br-footer-brand { font-size: 40px; }
  .br-site.br-v3.br-inner-contact .br-footer { padding-bottom: 40px; }
  .kg-consult { box-sizing: border-box; inset: auto 0 0; align-items: stretch; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid #705b72; background: rgba(28,19,34,.98); }
  .kg-consult > a, .kg-consult > button { min-width: 0; min-height: 54px; border-radius: 7px; padding: 10px; font-size: 14px; line-height: 1.55; box-shadow: none; }
  .kg-consult > a { flex: 1 1 70%; gap: 3px 6px; }
  .kg-consult > a > span { font-size: 11px; }
  .kg-consult > button { flex: 0 1 30%; flex-direction: column; gap: 2px; font-size: 13px; }
  .kg-consult > button svg { width: 18px; height: 18px; }
  .kg-dialog, .br-photo-dialog { max-height: calc(100dvh - 32px - env(safe-area-inset-bottom)); padding: 20px; }
  .kg-dialog .kg-dialog-header { flex-direction: column; gap: 12px; }
  .kg-dialog .kg-dialog-close { align-self: flex-end; }
}
@media (max-width:360px) {
  .br-site.br-v3 .br-header-cta { flex-basis: 100%; max-width: none; }
  .br-site.br-v3 .br-hero .kg-hero-copy h1 { font-size: 30px; }
  .br-site.br-v3 .br-hero .br-hero-script { position:static; inset:auto; transform:none; margin:12px 0 0; font-size:17px; }
  .br-site.br-v3 .br-hero .kg-slide-controls { align-items: flex-start; }
  .br-site.br-v3 .br-hero .kg-controls-buttons { margin-left: auto; }
  .br-site.br-v3 .br-hero-actions .kg-gold { padding-inline: 10px; gap: 7px; }
  .br-site.br-v3 .br-quick-facts dl { grid-template-columns: 1fr; }
  .kg-consult { padding-inline: 8px; gap: 6px; }
  .kg-consult > a { font-size: 13px; }
  .kg-consult > a > span { display: none; }
}
/* Keep the photo controls clear of the fixed questions button on desktop. */
@media (min-width:801px) {
  .br-site.br-v3 .br-hero-bottom { padding-right:154px; flex-wrap:wrap; }
  .br-site.br-v3 .br-hero .kg-slide-controls { margin-left:auto; }
}
@media (max-width:600px) {
  .br-site.br-v3 .br-hero .kg-slide-controls { max-width:calc(100% - 112px); flex-direction:column; align-items:flex-start; }
  .br-site.br-v3 .br-hero .kg-controls-buttons { margin-left:0; }
}
/* Readability: pair each surface with its own text colors. */
.br-site.br-v3 .br-inner-related { background:#e9dfce; color:#302236; }
.br-site.br-v3 .br-inner-related .br-inner-section-heading h2 { color:#302236; }
.br-site.br-v3 .br-inner-related .br-inner-section-heading .br-eyebrow { color:#765423; font-weight:700; }
.br-site.br-v3 .br-inner-related p:not(.br-eyebrow) { font-size:16px; line-height:1.9; }
.br-site.br-v3 .br-inner-related .br-related-grid > a > span { font-size:14px; }
.br-site.br-v3 .br-wedding-planner-form input::placeholder { color:#cfc1d0; opacity:1; }
.br-site.br-v3 .br-contact-content .wpcf7-form-control::placeholder { color:#655263; opacity:1; }

.br-site.br-v3 .br-editorial,
.br-site.br-v3 .br-plans { --br-gold:#765423; --br-muted:#4e3c4b; --br-line:rgba(69,43,64,.24); background:#f2e9da; color:#302236; }
.br-site.br-v3 .br-editorial h2,
.br-site.br-v3 .br-plans h2 { color:#302236; }
.br-site.br-v3 .br-editorial h2 em,
.br-site.br-v3 .br-editorial .br-eyebrow,
.br-site.br-v3 .br-editorial .br-eyebrow > span,
.br-site.br-v3 .br-plans .br-eyebrow,
.br-site.br-v3 .br-plans .br-eyebrow > span { color:#765423; }
.br-site.br-v3 .br-editorial-copy > p:not(.br-eyebrow),
.br-site.br-v3 .br-plans .br-section-heading > p,
.br-site.br-v3 .br-plans > .br-plan-note { color:#4e3c4b; font-size:16px; font-weight:500; }
.br-site.br-v3 .br-editorial .br-space-main figcaption { color:#765423; font-weight:700; }
.br-site.br-v3 .br-editorial .br-space-main figcaption span { color:#4e3c4b; font-size:16px; font-weight:500; }
.br-site.br-v3 .br-editorial .br-space-detail figcaption { color:#f3d49f; }
.br-site.br-v3 .br-editorial .br-text-link,
.br-site.br-v3 .br-plans > .br-text-link { color:#765423; }
.br-site.br-v3 .br-plans .br-plan { background:#fffbf5; color:#302236; border-color:#bdacb4; }
.br-site.br-v3 .br-plans .br-plan:nth-child(2) { background:#e7d7e0; }
.br-site.br-v3 .br-plans .br-plan h3 { color:#302236; font-weight:700; }
.br-site.br-v3 .br-plans .br-plan p { color:#4e3c4b; font-size:16px; font-weight:500; }
.br-site.br-v3 .br-plans .br-plan .br-price { color:#765423; font-size:clamp(25px,2.6vw,36px); font-weight:650; }
.br-site.br-v3 .br-plans .br-plan-number { color:#765423; font-size:14px; font-weight:700; }
.br-site.br-v3 .br-plans .br-plan a { color:#765423; font-size:16px; font-weight:700; text-decoration:underline; text-underline-offset:.25em; }
.br-site.br-v3 .br-plans .br-plan a svg { color:currentColor; }
.br-site.br-v3 .br-editorial a:focus-visible,
.br-site.br-v3 .br-plans a:focus-visible { outline:3px solid #684c2f; outline-offset:4px; box-shadow:none; }
.br-site.br-v3 .br-planner .br-planner-intro h2 { color:#fffdf7; }
.br-site.br-v3 .br-planner .br-planner-intro > p:not(.br-eyebrow) { color:#e7dce5; font-size:16px; font-weight:500; }
.br-site.br-v3 .br-faq > div > h2 { color:#fffdf7; }
.br-site.br-v3 .br-faq > div > .br-eyebrow { color:#efd3a3; }
.br-site.br-v3 .br-faq > div > p:not(.br-eyebrow) { color:#e7dce5; font-size:16px; font-weight:500; }
.br-site.br-v3 .br-faq-list summary { color:#fffdf7; font-weight:650; }
.br-site.br-v3 .br-faq-list details > p { color:#e7dce5; font-size:16px; }
.br-site.br-v3 .br-stage-heading { max-width:1000px; }
.br-site.br-v3 .br-stage-heading > p:not(.br-eyebrow) { color:#e7dce5; font-size:16px; line-height:1.9; }
.br-site.br-v3 .br-stage-selector { max-width:780px; margin:0 0 22px; }
.br-site.br-v3 .br-stage-selector > p { color:#e7dce5; margin:0 0 12px; font-size:16px; font-weight:500; }
.br-site.br-v3 .br-stage-selector .br-stage-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; width:100%; }
.br-site.br-v3 .br-stage-selector .br-stage-tabs button { justify-content:center; min-width:0; min-height:64px; gap:9px; padding:14px 12px; font-weight:700; }
.br-site.br-v3 .br-stage-selector .br-stage-tabs button > span,
.br-site.br-v3 .br-stage-selector .br-stage-tabs button > svg { color:inherit; }
@media (max-width:600px) {
  .br-site.br-v3 .br-stage-selector .br-stage-tabs { gap:6px; }
  .br-site.br-v3 .br-stage-selector .br-stage-tabs button { flex-direction:column; gap:6px; padding:12px 6px; font-size:14px; }
}

/* Ambient movement follows the existing visible-area and user-pause state. */
@keyframes br-premium-glow { 0%,100% { opacity:.55; } 50% { opacity:1; } }
@keyframes br-premium-marquee { to { transform:translateX(calc(-50% - 17.5px)); } }
.br-site.br-v3 .br-hero::after { animation:br-premium-glow 11s ease-in-out infinite; animation-play-state:paused; }
.br-site.br-v3 .br-signature-track { white-space:nowrap; animation:br-premium-marquee 38s linear infinite; animation-play-state:paused; }
html[data-kg-effects="running"] .br-site.br-v3 .br-hero.br-in-view::after,
html[data-kg-effects="running"] .br-site.br-v3 .br-signature.br-in-view .br-signature-track { animation-play-state:running; }
@media (prefers-reduced-motion:reduce) {
  .br-site.br-v3 *, .br-site.br-v3 *::before, .br-site.br-v3 *::after,
  .kg-consult *, .kg-dialog *, .br-photo-dialog * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors:active) {
  .br-site.br-v3 :where(.kg-gold,.br-header-cta,button,.br-occasion-card,.br-plan,.br-related-grid > a),
  .kg-consult > a, .kg-consult > button { border: 1px solid ButtonText; }
  .br-site.br-v3 :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid Highlight; box-shadow: none; }
}
