/* ==========================================================================
   Wedding in Positano — DESIGN B (Claude Design) treatment
   Editorial-magazine: greater negative space, large display type, cinematic
   imagery, centred statements, alternating media/text Places, spacious forms,
   taller section rhythm. Sets Wedding Brand token VALUES + B composition.
   ========================================================================== */
:root {
  /* Wedding Brand palette (shared A/B token set) */
  --wip-teal-900: #12302e;   /* deep teal near-black */
  --wip-teal-800: #17403c;
  --wip-cream:    #faf7ef;
  --wip-tan:      #d9cfbe;
  --wip-white:    #ffffff;
  --wip-ink:      #16211f;
  --wip-ink-muted:#5f645d;
  --wip-maroon:   #7c1d1d;

  /* map into ABC slots */
  --abc-color-bg: var(--wip-cream);
  --abc-color-bg-subtle: #f2ede1;
  --abc-color-tan: var(--wip-tan);
  --abc-color-surface-inverse: var(--wip-teal-900);
  --abc-color-text: var(--wip-ink);
  --abc-color-text-muted: var(--wip-ink-muted);
  --abc-color-text-inverse: #f4f1e8;
  --abc-color-text-inverse-muted: #9fb0ac;
  --abc-color-border: #d9d2c4;
  --abc-color-border-inverse: rgba(244,241,232,0.20);
  --abc-color-accent: var(--wip-maroon);

  /* type: high-contrast display serif + neutral grotesque */
  --abc-font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --abc-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --abc-font-ui: "Inter", system-ui, sans-serif;

  /* B type scale — LARGER display, generous */
  --abc-fs-display: clamp(3.4rem, 2rem + 8vw, 8.5rem);
  --abc-fs-h1: clamp(3rem, 1.9rem + 6vw, 6.5rem);
  --abc-fs-h2: clamp(2.1rem, 1.4rem + 3.2vw, 4rem);
  --abc-fs-h3: clamp(1.5rem, 1.15rem + 1.6vw, 2.4rem);
  --abc-fs-body: clamp(1.02rem, 0.98rem + 0.25vw, 1.15rem);

  /* B rhythm — taller sections, wide gutter */
  --abc-gutter: clamp(1.25rem, 6vw, 6.5rem);
  --wip-b-section: clamp(4.5rem, 3rem + 10vw, 11rem);
}

body { font-weight: 400; }
.abc-section { padding-block: var(--wip-b-section); }

/* Fraunces optical + soft italic for emphasis lines */
.abc-display, .abc-h1, .abc-hero__title { font-variation-settings: "opsz" 144, "SOFT" 0, "WONK" 0; font-weight: 340; letter-spacing: -0.015em; }
.abc-h2 { font-variation-settings: "opsz" 80; font-weight: 380; }
.abc-editorial__emphasis-italic { font-style: italic; font-variation-settings: "opsz" 80, "SOFT" 60; }

/* header: solid teal, roomy */
.design-b .site-header { background: var(--wip-teal-900); color: var(--abc-color-text-inverse); }
.design-b .site-header__inner { min-block-size: 5rem; }
.design-b .site-brand__name { color: #f6f3ea; }
.design-b .site-nav a { color: #e7e6df; }
.design-b .site-header__cta.abc-btn--primary { background: var(--wip-maroon); border-color: var(--wip-maroon); color: #fff; }

/* hero — B: very large type, cinematic, lots of air */
.design-b .abc-hero--overlay { position: relative; color: #fff; min-block-size: 82vh; display: flex; align-items: flex-end; }
.design-b .abc-hero--overlay .abc-hero__media { position: absolute; inset: 0; }
.design-b .abc-hero--overlay .abc-hero__media::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(12,26,25,0.72), rgba(12,26,25,0.35) 60%, rgba(12,26,25,0.15)); }
.design-b .abc-hero--overlay .abc-container { position: relative; padding-block-end: var(--abc-space-9); }
.design-b .abc-hero--typographic { background: var(--wip-teal-900); color: var(--abc-color-text-inverse); }
.design-b .abc-hero--typographic .abc-hero__title { max-width: 16ch; }
.design-b .abc-hero__title { font-size: var(--abc-fs-h1); }

/* editorial splits — generous, headline left, body right */
.design-b .abc-editorial--split .abc-h2 { max-width: 12ch; }
.design-b .abc-editorial__body { max-width: 46ch; font-size: 1.08rem; }
.design-b .abc-editorial--centred { max-width: 42rem; margin-inline: auto; }
.design-b .abc-editorial--centred .abc-h2 { font-size: clamp(2.1rem, 1.3rem + 3.2vw, 4rem); margin-inline: auto; }
.design-b .abc-editorial--centred .abc-lede { max-width: 40ch; }

/* numbered feature grid (Services) */
.design-b .abc-feature-grid--6 .abc-feature { border-top: 1px solid var(--abc-color-border); padding-block: var(--abc-space-7); }
.design-b .abc-feature__index { display: block; margin-block-end: var(--abc-space-5); }

/* places: alternating rows */
.design-b .abc-place-row__body { gap: var(--abc-space-3); }
.design-b .abc-place-row__name { font-family: var(--abc-font-display); font-size: clamp(2rem, 1.3rem + 3vw, 3.6rem); line-height: 1.03; }

/* form — spacious */
.design-b .abc-form { gap: var(--abc-space-7); }
.design-b .abc-form__row { gap: var(--abc-space-7); }

/* footer */
.design-b .site-footer { background: var(--wip-teal-900); color: var(--abc-color-text-inverse); }

/* hero badge (trade lock) */
.design-b .abc-hero__badge { inline-size: 3rem; block-size: 3rem; border: 1px solid rgba(255,255,255,0.5); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-block-end: var(--abc-space-4); }
.design-b .abc-hero__badge svg { inline-size: 1.2rem; block-size: 1.2rem; }
.design-b .abc-hero--overlay .abc-hero__title { font-size: var(--abc-fs-h1); max-width: 14ch; }

/* mobile nav overlay (progressive; JS toggles [data-open]) */
.design-b .site-nav-overlay { position: fixed; inset: 0; background: var(--wip-teal-900); color: #fff; display: none; flex-direction: column; justify-content: center; gap: var(--abc-space-5); padding: var(--abc-gutter); z-index: 50; }
.design-b .site-nav-overlay[data-open="true"] { display: flex; }
.design-b .site-nav-overlay a { font-family: var(--abc-font-display); font-size: 2rem; }

/* ========================================================================
   v1.6.6 — visual parity pass against the accepted Claude prototype.
   Structure remains Lazy Blocks; these rules correct scale, rhythm, chrome,
   media treatment and desktop composition without changing importer logic.
   ======================================================================== */
:root {
  --wip-accent: #A9503A;
  --wip-teal-900: #0D2B29;
  --wip-cream: #FBF9F5;
  --wip-subtle: #EFEAE1;
  --wip-ink: #16191A;
  --wip-copy: #4B504D;
  --abc-color-bg: var(--wip-cream);
  --abc-color-bg-subtle: var(--wip-subtle);
  --abc-color-surface-inverse: var(--wip-teal-900);
  --abc-color-text: var(--wip-ink);
  --abc-color-text-muted: #6E7370;
  --abc-color-text-inverse: var(--wip-cream);
  --abc-color-text-inverse-muted: rgba(251,249,245,.62);
  --abc-color-border: rgba(22,25,26,.14);
  --abc-color-border-inverse: rgba(251,249,245,.16);
  --abc-color-accent: var(--wip-accent);
  /* No distributable font binaries in this patch: use high-quality system fallbacks. */
  --abc-font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --abc-font-body: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  --abc-font-ui: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  --abc-layout-wide: 107.5rem; /* 1720px */
  --abc-gutter: clamp(20px,4vw,56px);
}

.design-b { background: var(--wip-cream); color: var(--wip-ink); }
.design-b .abc-container { max-width: 107.5rem; }
.design-b .abc-eyebrow { font-size: 10.5px; font-weight: 600; letter-spacing: .22em; color: #6E7370; }
.design-b .abc-h2 { font-family: var(--abc-font-display); font-weight: 400; letter-spacing: -.022em; line-height: 1.02; }
.design-b .abc-editorial__body { color: var(--wip-copy); font-size: 16px; line-height: 1.65; }

/* Header: overlay the hero on desktop, full navigation visible, burger mobile only. */
.design-b .site-header--design-b { position: fixed; inset: 0 0 auto 0; z-index: 90; background: transparent; border: 0; color: var(--wip-cream); }
.admin-bar.design-b .site-header--design-b { top: 32px; }
.design-b .wip-header--b { background: linear-gradient(180deg,rgba(8,28,27,.34),rgba(8,28,27,0)); }
.design-b .wip-header--b .wip-header__inner { padding-top: 26px; padding-bottom: 26px; }
.design-b .wip-header--b .wip-brand__name { color: var(--wip-cream); font-size: 27px; }
.design-b .wip-header--b .wip-brand__desc { color: var(--wip-cream); }
.design-b .wip-header--b .wip-primary-nav .wp-block-navigation-item__content { color: rgba(251,249,245,.82); }
.design-b .wip-header--b .wip-primary-nav .abc-nav-cta > .wp-block-navigation-item__content { color: var(--wip-cream); border-color: rgba(251,249,245,.45); }
.design-b .wip-header--b .wip-primary-nav .wp-block-navigation-item__content:hover { color: var(--wip-cream); border-bottom-color: rgba(251,249,245,.5); }
.design-b .wip-header--b .wip-primary-nav .abc-nav-cta > .wp-block-navigation-item__content:hover { background: var(--wip-cream); color: var(--wip-teal-900); border-color: var(--wip-cream); }
.design-b .wip-header--b .wp-block-navigation__responsive-container-open { color: var(--wip-cream); }
@media (max-width: 63.99rem) {
  .admin-bar.design-b .site-header--design-b { top: 46px; }
  .design-b .wip-header--b { background: rgba(13,43,41,.96); border-bottom: 1px solid rgba(251,249,245,.12); }
  .design-b .wip-header--b .wip-header__inner { padding-top: 14px; padding-bottom: 14px; }
  .design-b .wip-header--b .wip-brand__name { font-size: 22px; }
}

/* Hero: full viewport, Claude image/crop, bottom-aligned editorial lockup. */
.design-b [data-abc-block="hero"].abc-hero--overlay {
  min-height: max(620px,100svh); display: flex; align-items: flex-end; overflow: hidden; background: var(--wip-teal-900);
}
.design-b [data-abc-block="hero"] .abc-hero__media { inset: -8% 0; }
.design-b [data-abc-block="hero"] .abc-hero__media img { object-position: 52% 46%; }
.design-b [data-abc-block="hero"].abc-hero--overlay .abc-hero__media::after {
  background: linear-gradient(180deg,rgba(9,30,29,.62) 0%,rgba(9,30,29,.12) 34%,rgba(9,30,29,.30) 62%,rgba(9,30,29,.86) 100%);
}
.design-b [data-abc-block="hero"] > .abc-container {
  width: 100%; max-width: 107.5rem; padding-bottom: clamp(44px,6vh,72px); gap: 0 !important;
}
.design-b [data-abc-block="hero"] .abc-hero__eyebrow { margin: 0 0 clamp(18px,3vh,34px); color: rgba(251,249,245,.72); }
.design-b [data-abc-block="hero"] .abc-hero__title {
  margin: 0; max-width: 19ch; font-family: var(--abc-font-display); font-size: clamp(46px,7.4vw,136px); font-weight: 400; line-height: .94; letter-spacing: -.022em; color: var(--wip-cream);
}
.design-b [data-abc-block="hero"] .abc-hero__body {
  margin-top: clamp(26px,4.5vh,52px); padding-top: clamp(22px,3vh,30px); border-top: 1px solid rgba(251,249,245,.22);
  max-width: 46ch; font-size: clamp(14px,1.05vw,17px); line-height: 1.6; color: rgba(251,249,245,.82);
}
.design-b [data-abc-block="hero"] .abc-hero__actions { margin-top: 18px; }
.design-b [data-abc-block="hero"] .abc-btn { padding: 16px 26px; font-size: 10.5px; letter-spacing: .17em; }
.design-b [data-abc-block="hero"] .abc-btn--fill-light { background: var(--wip-cream); color: var(--wip-teal-900); border-color: var(--wip-cream); }

/* Positano intro — 12-col feeling with large editorial lede on the right. */
.design-b [data-abc-block="split-editorial-intro"] { padding: clamp(88px,13vh,176px) 0 clamp(54px,8vh,100px); background: var(--wip-cream); }
.design-b [data-abc-block="split-editorial-intro"] .abc-container { grid-template-columns: 4fr 2fr 6fr; gap: clamp(24px,3vw,56px); }
.design-b [data-abc-block="split-editorial-intro"] .abc-container > :first-child { grid-column: 1; }
.design-b [data-abc-block="split-editorial-intro"] .abc-container > :last-child { grid-column: 3; gap: 14px; }
.design-b [data-abc-block="split-editorial-intro"] .abc-h2 { max-width: 16ch; font-family: var(--abc-font-body); font-size: clamp(28px,3.1vw,46px); font-weight: 500; line-height: 1.08; }
.design-b [data-abc-block="split-editorial-intro"] .wip-editorial-lede { margin: 0 0 10px; font-family: var(--abc-font-display); font-size: clamp(23px,2.5vw,38px); line-height: 1.22; letter-spacing: -.012em; color: var(--wip-ink); }

/* Editorial image — asymmetric 7/12 visual width, not a generic full-width band. */
.design-b [data-abc-block="editorial-image"] { padding: 0 0 clamp(88px,13vh,176px); background: var(--wip-cream); }
.design-b [data-abc-block="editorial-image"] > .abc-container { max-width: 107.5rem; }
.design-b [data-abc-block="editorial-image"] .abc-media-text__media { width: 61%; min-height: 0; height: clamp(300px,44vw,560px); }
.design-b [data-abc-block="editorial-image"] .abc-media-text__media img { position: static; width: 100%; height: 100%; object-fit: cover; }
.design-b [data-abc-block="editorial-image"] .abc-eyebrow { max-width: 61%; margin-top: 14px !important; }

/* Local knowledge — dark cinematic panel with the real Claude town asset. */
.design-b [data-abc-block="local-knowledge"] { position: relative; overflow: hidden; background: var(--wip-teal-900); color: var(--wip-cream); }
.design-b [data-abc-block="local-knowledge"]::before { content:""; position:absolute; inset:0; background:url("../img/v-town.png") 60% 40% / cover no-repeat; opacity:.20; }
.design-b [data-abc-block="local-knowledge"]::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,43,41,.96),rgba(13,43,41,.82) 55%,rgba(13,43,41,.94)); }
.design-b [data-abc-block="local-knowledge"] > .abc-container { position: relative; z-index: 1; padding-top: clamp(88px,15vh,190px); padding-bottom: clamp(88px,15vh,190px); }
.design-b [data-abc-block="local-knowledge"] .abc-editorial--split { grid-template-columns: 5fr 1fr 6fr; gap: clamp(24px,3vw,56px); margin-bottom: 30px !important; }
.design-b [data-abc-block="local-knowledge"] .abc-editorial--split > :first-child { grid-column: 1; }
.design-b [data-abc-block="local-knowledge"] .abc-editorial--split > :last-child { grid-column: 3; }
.design-b [data-abc-block="local-knowledge"] .abc-h2 { font-family: var(--abc-font-body); font-size: clamp(28px,3.1vw,46px); font-weight: 500; line-height: 1.08; color: var(--wip-cream); }
.design-b [data-abc-block="local-knowledge"] .abc-eyebrow,
.design-b [data-abc-block="local-knowledge"] .abc-editorial__body { color: rgba(251,249,245,.68); }
.design-b [data-abc-block="local-knowledge"] .abc-feature-grid { grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(251,249,245,.16); }
.design-b [data-abc-block="local-knowledge"] .abc-feature { border-top: 0; border-bottom: 1px solid rgba(251,249,245,.14); padding: 18px 14px 18px 0; }
.design-b [data-abc-block="local-knowledge"] .abc-feature__title { margin: 0; font-family: var(--abc-font-body); font-size: clamp(17px,1.45vw,23px); font-weight: 500; color: var(--wip-cream); }
.design-b [data-abc-block="local-knowledge"] .abc-feature__desc { color: rgba(251,249,245,.52); }

/* Wedding journey — horizontal editorial strip rather than 2-up overlay cards. */
.design-b [data-abc-block="wedding-moments"] { background: var(--wip-subtle); padding: clamp(72px,11vh,120px) 0 clamp(72px,10vh,120px); }
.design-b [data-abc-block="wedding-moments"] .abc-editorial--split { grid-template-columns: 1fr auto; align-items: end; }
.design-b [data-abc-block="wedding-moments"] .abc-h2 { max-width: 22ch; font-family: var(--abc-font-body); font-size: clamp(26px,2.9vw,42px); font-weight: 500; line-height: 1.1; }
.design-b [data-abc-block="wedding-moments"] .abc-place-grid { display: flex; grid-template-columns: none; gap: clamp(18px,2.2vw,32px); overflow-x: auto; padding-bottom: 18px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.design-b [data-abc-block="wedding-moments"] .abc-place-card { flex: 0 0 clamp(260px,30vw,440px); aspect-ratio: auto; overflow: visible; display: flex; flex-direction: column; align-items: stretch; color: var(--wip-ink); scroll-snap-align: start; }
.design-b [data-abc-block="wedding-moments"] .abc-place-card::after { display:none; }
.design-b [data-abc-block="wedding-moments"] .abc-place-card img { position: static; width: 100%; height: clamp(220px,34vh,360px); object-fit: cover; }
.design-b [data-abc-block="wedding-moments"] .abc-place-card__body { position: static; padding: 18px 0 0; color: var(--wip-ink); }
.design-b [data-abc-block="wedding-moments"] .abc-place-card__eyebrow { color: #9A9691; font-size: 10.5px; font-weight: 600; letter-spacing: .16em; }
.design-b [data-abc-block="wedding-moments"] .abc-place-card__name { margin: 4px 0 0; font-family: var(--abc-font-body); font-size: clamp(19px,1.7vw,26px); font-weight: 500; line-height: 1.1; letter-spacing: -.015em; }

/* Places intro — quiet editorial divider before the alternating venue stories. */
.design-b [data-abc-block="places-intro"] { background: var(--wip-cream); padding: clamp(88px,13vh,170px) 0 clamp(40px,6vh,72px); }
.design-b [data-abc-block="places-intro"] .abc-container { grid-template-columns: 6fr 1fr 5fr; gap: clamp(24px,3vw,56px); align-items: end; padding-bottom: clamp(40px,6vh,72px); border-bottom: 1px solid rgba(22,25,26,.12); }
.design-b [data-abc-block="places-intro"] .abc-container > :first-child { grid-column:1; }
.design-b [data-abc-block="places-intro"] .abc-container > :last-child { grid-column:3; }
.design-b [data-abc-block="places-intro"] .abc-h2 { max-width: 20ch; font-family: var(--abc-font-body); font-size: clamp(28px,3.1vw,46px); font-weight: 500; line-height: 1.08; }

/* Place features — asymmetric editorial rows, not 50/50 tiles. */
.design-b [data-abc-block="place-feature"] { background: var(--wip-cream) !important; }
.design-b [data-abc-block="place-feature"] > .abc-place-row { max-width: 107.5rem; margin-inline: auto; padding: clamp(48px,8vh,96px) var(--abc-gutter); display:grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: clamp(24px,3vw,56px); align-items:center; border-top: 1px solid rgba(22,25,26,.12); }
.design-b [data-abc-block="place-feature"] .abc-place-row__media { grid-column: span 7; min-height: 0; height: clamp(300px,42vw,600px); }
.design-b [data-abc-block="place-feature"] .abc-place-row__body { grid-column: 9 / span 4; padding: 0; gap: 14px; }
.design-b [data-abc-block="place-feature"] .abc-place-row--reverse .abc-place-row__media { grid-column: 6 / span 7; order: 2; }
.design-b [data-abc-block="place-feature"] .abc-place-row--reverse .abc-place-row__body { grid-column: span 4; order: 1; }
.design-b [data-abc-block="place-feature"] .abc-place-row__name { margin:0; font-family: var(--abc-font-display); font-size: clamp(30px,3.2vw,52px); font-weight:400; line-height:1.02; letter-spacing:-.02em; }
.design-b [data-abc-block="place-feature"] .abc-btn { align-self:flex-start; padding: 0 0 8px; border:0; border-bottom:1px solid rgba(22,25,26,.3); font-size:10.5px; letter-spacing:.17em; }
.design-b [data-abc-block="place-feature"] .abc-btn:hover { color:var(--wip-accent); background:transparent; border-bottom-color:var(--wip-accent); }

/* Partnership — equal visual halves, cinematic image and large dark statement. */
.design-b [data-abc-block="planner-partnership"] { max-width:107.5rem; margin-inline:auto; grid-template-columns: 1fr 1.1fr; }
.design-b [data-abc-block="planner-partnership"] .abc-media-text__media { min-height: clamp(420px,55vw,720px); }
.design-b [data-abc-block="planner-partnership"] .abc-media-text__body { padding: clamp(52px,8vw,100px); }
.design-b [data-abc-block="planner-partnership"] .abc-h2 { font-size: clamp(34px,4.5vw,78px); line-height:1; max-width:12ch; }
.design-b [data-abc-block="planner-partnership"] .abc-attr__cols,
.design-b [data-abc-block="planner-partnership"] .abc-attr__cols li { color:rgba(251,249,245,.75); }

/* Care principle — spacious, restrained, three columns. */
.design-b [data-abc-block="editorial-principle"] { padding: clamp(86px,12vh,160px) 0; background:var(--wip-cream); }
.design-b [data-abc-block="editorial-principle"] .abc-editorial--split { grid-template-columns: 5fr 1fr 6fr; }
.design-b [data-abc-block="editorial-principle"] .abc-editorial--split > :first-child { grid-column:1; }
.design-b [data-abc-block="editorial-principle"] .abc-editorial--split > :last-child { grid-column:3; }
.design-b [data-abc-block="editorial-principle"] .abc-h2 { font-family:var(--abc-font-display); font-size:clamp(36px,4vw,64px); }
.design-b [data-abc-block="editorial-principle"] .abc-feature-grid { grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(22,25,26,.16); }
.design-b [data-abc-block="editorial-principle"] .abc-feature { padding:24px 18px 0 0; border:0; }
.design-b [data-abc-block="editorial-principle"] .abc-feature__title { margin:0 0 6px; font-family:var(--abc-font-body); font-size:17px; font-weight:600; }

/* Trade access — full cinematic dark panel with image as background, not split. */
.design-b [data-abc-block="trade-access-panel"] { position:relative; overflow:hidden; display:block; background:var(--wip-teal-900); color:var(--wip-cream); }
.design-b [data-abc-block="trade-access-panel"]::before { content:""; position:absolute; inset:0; background:var(--abc-trade-bg, none) 50% 34% / cover no-repeat; opacity:.30; }
.design-b [data-abc-block="trade-access-panel"]::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,35,33,.95) 0%,rgba(10,35,33,.72) 50%,rgba(10,35,33,.40) 100%); }
.design-b [data-abc-block="trade-access-panel"] > .abc-media-text__media { display:none; }
.design-b [data-abc-block="trade-access-panel"] > .abc-media-text__body { position:relative; z-index:1; width:min(100%,107.5rem); margin-inline:auto; padding:clamp(80px,13vh,168px) var(--abc-gutter); display:grid; grid-template-columns:minmax(0,6fr) 1fr minmax(0,5fr); gap:clamp(24px,3vw,56px); }
.design-b [data-abc-block="trade-access-panel"] > .abc-media-text__body > .abc-eyebrow,
.design-b [data-abc-block="trade-access-panel"] > .abc-media-text__body > .abc-h2,
.design-b [data-abc-block="trade-access-panel"] > .abc-media-text__body > .abc-editorial__body { grid-column:1; }
.design-b [data-abc-block="trade-access-panel"] .abc-h2 { font-size:clamp(34px,4.6vw,78px); max-width:15ch; }
.design-b [data-abc-block="trade-access-panel"] .abc-attr__cols { grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr)); column-gap:clamp(20px,2.4vw,44px); row-gap:.1rem; width:100%; }
.design-b [data-abc-block="trade-access-panel"] .abc-attr,
.design-b [data-abc-block="trade-access-panel"] .abc-cta__actions,
.design-b [data-abc-block="trade-access-panel"] .abc-frame__note { grid-column:3; }
.design-b [data-abc-block="trade-access-panel"] .abc-attr__cols li { color:rgba(251,249,245,.82); border-top-color:rgba(251,249,245,.16); }
.design-b [data-abc-block="trade-access-panel"] .abc-btn--fill-light { background:var(--wip-cream); color:var(--wip-teal-900); border-color:var(--wip-cream); }
.design-b [data-abc-block="trade-access-panel"] .abc-frame__note { color:rgba(251,249,245,.5); }

/* Brief: eliminate the oversized duplicate intro gap; use the actual form block as the section. */
.design-b [data-abc-block="brief-intro"] { display:none; }
.design-b [data-abc-block="brief-form"] { background:var(--wip-subtle) !important; color:var(--wip-ink) !important; padding:clamp(80px,13vh,170px) 0; }
.design-b [data-abc-block="brief-form"] > .abc-container { grid-template-columns:4fr 1fr 7fr; gap:clamp(28px,3.5vw,64px); }
.design-b [data-abc-block="brief-form"] > .abc-container > .abc-editorial { grid-column:1; }
.design-b [data-abc-block="brief-form"] > .abc-container > :last-child { grid-column:3; min-width:0; }
.design-b [data-abc-block="brief-form"] .abc-h2 { font-size:clamp(32px,3.7vw,60px); max-width:13ch; }
.design-b [data-abc-block="brief-form"] .abc-emphasis { padding-top:24px; border-top:1px solid rgba(22,25,26,.16); font-family:var(--abc-font-body); font-size:16.5px; line-height:1.55; }
.design-b [data-abc-block="brief-form"] .forminator-ui { margin:0 !important; }
.design-b [data-abc-block="brief-form"] .forminator-row { margin-bottom: clamp(18px,2.2vw,30px) !important; }
.design-b [data-abc-block="brief-form"] .forminator-label { font-family:var(--abc-font-ui) !important; font-size:10px !important; font-weight:600 !important; letter-spacing:.2em !important; text-transform:uppercase !important; color:#6E7370 !important; }
.design-b [data-abc-block="brief-form"] .forminator-input,
.design-b [data-abc-block="brief-form"] .forminator-textarea,
.design-b [data-abc-block="brief-form"] .forminator-select2 + .select2-container .select2-selection { background:transparent !important; border:0 !important; border-bottom:1px solid rgba(22,25,26,.28) !important; border-radius:0 !important; box-shadow:none !important; color:var(--wip-ink) !important; }
.design-b [data-abc-block="brief-form"] .forminator-button-submit { background:var(--wip-teal-900) !important; color:var(--wip-cream) !important; border-radius:0 !important; padding:17px 30px !important; font-size:10.5px !important; font-weight:600 !important; letter-spacing:.17em !important; text-transform:uppercase !important; box-shadow:none !important; }

/* Footer — exact Claude palette / density. */
.design-b .wip-footer--b { background:var(--wip-teal-900); color:var(--wip-cream); }

@media (max-width: 63.99rem) {
  .design-b [data-abc-block="hero"] .abc-hero__title { font-size:clamp(44px,12vw,76px); max-width:12ch; }
  .design-b [data-abc-block="split-editorial-intro"] .abc-container,
  .design-b [data-abc-block="places-intro"] .abc-container,
  .design-b [data-abc-block="local-knowledge"] .abc-editorial--split,
  .design-b [data-abc-block="editorial-principle"] .abc-editorial--split,
  .design-b [data-abc-block="trade-access-panel"] > .abc-media-text__body,
  .design-b [data-abc-block="brief-form"] > .abc-container { grid-template-columns:1fr; }
  .design-b [data-abc-block="split-editorial-intro"] .abc-container > *,
  .design-b [data-abc-block="places-intro"] .abc-container > *,
  .design-b [data-abc-block="local-knowledge"] .abc-editorial--split > *,
  .design-b [data-abc-block="editorial-principle"] .abc-editorial--split > *,
  .design-b [data-abc-block="trade-access-panel"] > .abc-media-text__body > *,
  .design-b [data-abc-block="brief-form"] > .abc-container > * { grid-column:1 !important; }
  .design-b [data-abc-block="editorial-image"] .abc-media-text__media,
  .design-b [data-abc-block="editorial-image"] .abc-eyebrow { width:100%; max-width:100%; }
  .design-b [data-abc-block="local-knowledge"] .abc-feature-grid { grid-template-columns:1fr 1fr; }
  .design-b [data-abc-block="place-feature"] > .abc-place-row { grid-template-columns:1fr; padding-block:44px; }
  .design-b [data-abc-block="place-feature"] .abc-place-row__media,
  .design-b [data-abc-block="place-feature"] .abc-place-row__body,
  .design-b [data-abc-block="place-feature"] .abc-place-row--reverse .abc-place-row__media,
  .design-b [data-abc-block="place-feature"] .abc-place-row--reverse .abc-place-row__body { grid-column:1; order:initial; }
  .design-b [data-abc-block="place-feature"] .abc-place-row__media { height:clamp(300px,72vw,520px); }
  .design-b [data-abc-block="planner-partnership"] { grid-template-columns:1fr; }
  .design-b [data-abc-block="editorial-principle"] .abc-feature-grid { grid-template-columns:1fr; }
  .design-b [data-abc-block="trade-access-panel"] .abc-attr,
  .design-b [data-abc-block="trade-access-panel"] .abc-cta__actions,
  .design-b [data-abc-block="trade-access-panel"] .abc-frame__note { grid-column:1; }
}

/* v1.6.6 parity detail: journey descriptions from the Claude source. */
.design-b [data-abc-block="wedding-moments"] .abc-place-card__desc {
  margin: 10px 0 0; font-size: 15px; line-height: 1.6; color: #5A5F5C;
}

/* Keep inner pages readable: only the Home hero gets the transparent overlay header. */
.design-b .site-header--design-b { background: rgba(13,43,41,.98); }
.design-b:has(.site-main--design-b [data-abc-block="hero"]:first-child) .site-header--design-b { background: transparent; }
.design-b:not(:has(.site-main--design-b [data-abc-block="hero"]:first-child)) .site-main--design-b { padding-top: 82px; }

/* The accepted Claude full-page mockup shows the journey as a compact 4×2 grid
   in the captured desktop state. Match that binding reference, not the old
   oversized two-column WordPress rendering. */
@media (min-width: 64rem) {
  .design-b [data-abc-block="wedding-moments"] .abc-place-grid {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,1.4vw,24px); overflow:visible; padding-bottom:0;
  }
  .design-b [data-abc-block="wedding-moments"] .abc-place-card {
    min-width:0; width:auto; display:flex; flex-direction:column; aspect-ratio:auto;
  }
  .design-b [data-abc-block="wedding-moments"] .abc-place-card img {
    width:100%; height:auto; aspect-ratio:1.32 / 1; object-fit:cover;
  }
  .design-b [data-abc-block="wedding-moments"] .abc-place-card__body { padding-top:12px; }
  .design-b [data-abc-block="wedding-moments"] .abc-place-card__name { font-size:clamp(16px,1.28vw,21px); }
  .design-b [data-abc-block="wedding-moments"] .abc-place-card__desc { font-size:12.5px; line-height:1.5; }
}
@media (min-width: 40rem) and (max-width: 63.99rem) {
  .design-b [data-abc-block="wedding-moments"] .abc-place-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; }
  .design-b [data-abc-block="wedding-moments"] .abc-place-card { width:auto; min-width:0; }
}

/* Editorial image in the accepted mockup is intentionally asymmetric:
   photograph on the left, small statement/caption on the right. */
@media (min-width:64rem) {
  .design-b [data-abc-block="editorial-image"] > .abc-container {
    display:grid; grid-template-columns:7fr 1fr 4fr; gap:clamp(24px,3vw,56px); align-items:end;
  }
  .design-b [data-abc-block="editorial-image"] .abc-media-text__media { width:auto; grid-column:1; }
  .design-b [data-abc-block="editorial-image"] .abc-eyebrow { grid-column:3; max-width:34ch; margin:0 0 10px !important; line-height:1.7; }
}

/* Forminator parity details. */
.design-b [data-abc-block="brief-form"] .forminator-checkbox {
  display:inline-flex !important; align-items:center; gap:8px; margin:0 8px 10px 0 !important;
  padding:9px 14px !important; border:1px solid rgba(22,25,26,.24); color:var(--wip-ink) !important;
}
.design-b [data-abc-block="brief-form"] .forminator-checkbox-box { transform:scale(.82); }
.design-b [data-abc-block="brief-form"] .forminator-upload-button {
  background:transparent !important; color:var(--wip-copy) !important; border:0 !important; border-bottom:1px dashed rgba(22,25,26,.34) !important;
  border-radius:0 !important; box-shadow:none !important;
}
.design-b [data-abc-block="brief-form"] .forminator-edit-module,
.design-b [data-abc-block="brief-form"] a[href*="forminator-cform-wizard"] { display:none !important; }

/* ========================================================================
   v1.6.11 — Claude parity consolidation
   One final override layer. Source of truth: approved Claude reference.
   ======================================================================== */

/* Interaction contract. Never use currentColor as a fill on hover: WordPress
   global link styles can otherwise make label and background identical. */
.design-b .abc-btn { text-decoration:none !important; transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease,opacity 160ms ease; }
.design-b .abc-btn svg { color:inherit !important; stroke:currentColor !important; }
.design-b .abc-surface-inverse .abc-btn:not(.abc-btn--fill-light) { background:transparent !important; color:var(--wip-cream) !important; border-color:rgba(251,249,245,.52) !important; }
.design-b .abc-surface-inverse .abc-btn:not(.abc-btn--fill-light):hover,
.design-b .abc-surface-inverse .abc-btn:not(.abc-btn--fill-light):focus-visible { background:var(--wip-cream) !important; color:var(--wip-teal-900) !important; border-color:var(--wip-cream) !important; }
.design-b .abc-btn--fill-light { background:var(--wip-cream) !important; color:var(--wip-teal-900) !important; border-color:var(--wip-cream) !important; }
.design-b .abc-btn--fill-light:hover,
.design-b .abc-btn--fill-light:focus-visible { background:transparent !important; color:var(--wip-cream) !important; border-color:var(--wip-cream) !important; }
.design-b .abc-surface-white .abc-btn:hover,
.design-b .abc-surface-cream .abc-btn:hover,
.design-b .abc-surface-subtle .abc-btn:hover,
.design-b .abc-surface-white .abc-btn:focus-visible,
.design-b .abc-surface-cream .abc-btn:focus-visible,
.design-b .abc-surface-subtle .abc-btn:focus-visible { background:var(--wip-teal-900) !important; color:var(--wip-cream) !important; border-color:var(--wip-teal-900) !important; }
.design-b .abc-btn:active { transform:translateY(1px); }
.design-b .abc-btn:focus-visible { outline:2px solid currentColor; outline-offset:3px; }

/* Header navigation: reference uses opacity + hairline, CTA uses inverse fill. */
.design-b .wip-header--b .wip-primary-nav .wp-block-navigation-item__content { position:relative; border:0 !important; color:rgba(251,249,245,.78) !important; opacity:1; text-decoration:none !important; transition:color 150ms ease,opacity 150ms ease; }
.design-b .wip-header--b .wip-primary-nav .wp-block-navigation-item__content::after { content:""; position:absolute; left:0; right:0; bottom:-6px; height:1px; background:rgba(251,249,245,.72); transform:scaleX(0); transform-origin:left; transition:transform 170ms ease; }
.design-b .wip-header--b .wip-primary-nav .wp-block-navigation-item__content:hover,
.design-b .wip-header--b .wip-primary-nav .wp-block-navigation-item__content:focus-visible,
.design-b .wip-header--b .wip-primary-nav .current-menu-item > .wp-block-navigation-item__content,
.design-b .wip-header--b .wip-primary-nav [aria-current="page"] { color:var(--wip-cream) !important; }
.design-b .wip-header--b .wip-primary-nav .wp-block-navigation-item__content:hover::after,
.design-b .wip-header--b .wip-primary-nav .wp-block-navigation-item__content:focus-visible::after,
.design-b .wip-header--b .wip-primary-nav .current-menu-item > .wp-block-navigation-item__content::after,
.design-b .wip-header--b .wip-primary-nav [aria-current="page"]::after { transform:scaleX(1); }
.design-b .wip-header--b .abc-nav-cta > .wp-block-navigation-item__content { padding:12px 18px !important; border:1px solid rgba(251,249,245,.46) !important; }
.design-b .wip-header--b .abc-nav-cta > .wp-block-navigation-item__content::after { display:none; }
.design-b .wip-header--b .abc-nav-cta > .wp-block-navigation-item__content:hover,
.design-b .wip-header--b .abc-nav-cta > .wp-block-navigation-item__content:focus-visible,
.design-b .wip-header--b .abc-nav-cta.current-menu-item > .wp-block-navigation-item__content { background:var(--wip-cream) !important; color:var(--wip-teal-900) !important; border-color:var(--wip-cream) !important; }

/* Duplicate editorial preface is kept in the blueprint for backward compatibility
   but the Claude reference has one integrated brief panel. */
.design-b [data-abc-block="brief-intro"] { display:none; }

@media (min-width:64rem) {
  /* Full-width chrome. */
  .design-b .wip-header--b .wip-header__inner { width:100%; max-width:none; padding:20px clamp(42px,3.15vw,64px); }
  .design-b .wip-header--b .wip-brand { min-width:max-content; }
  .design-b .wip-header--b .wip-brand__name { font-size:clamp(24px,1.55vw,30px); white-space:nowrap; }
  .design-b .wip-header--b .wip-primary-nav .wp-block-navigation__container { gap:clamp(22px,1.8vw,38px); }

  /* Hero. The 64rem–90rem range must not inherit the 72px minimum that caused
     the live clipping; fluid type follows the viewport and stays inside frame. */
  .design-b [data-abc-block="hero"].abc-hero--overlay { min-height:100svh; overflow:hidden; }
  .design-b [data-abc-block="hero"] .abc-hero__media { inset:0; }
  .design-b [data-abc-block="hero"] .abc-hero__media img { object-position:50% 48%; }
  .design-b [data-abc-block="hero"].abc-hero--overlay .abc-hero__media::after { background:linear-gradient(90deg,rgba(7,29,28,.72) 0%,rgba(7,29,28,.31) 61%,rgba(7,29,28,.14) 100%); }
  .design-b [data-abc-block="hero"] > .abc-container { max-width:none; width:100%; padding:clamp(126px,16vh,180px) clamp(42px,3.15vw,64px) clamp(42px,5.5vh,64px); }
  .design-b [data-abc-block="hero"] .abc-hero__eyebrow { margin:0 0 clamp(28px,3.4vh,40px); }
  .design-b [data-abc-block="hero"] .abc-hero__title { max-width:17ch; font-size:clamp(56px,5.15vw,99px); line-height:.94; letter-spacing:-.025em; overflow-wrap:normal; word-break:normal; }
  .design-b [data-abc-block="hero"] .abc-hero__title-primary,
  .design-b [data-abc-block="hero"] .abc-hero__title-secondary { display:block; }
  .design-b [data-abc-block="hero"] .abc-hero__title-secondary { color:rgba(251,249,245,.64); }
  .design-b [data-abc-block="hero"] .abc-hero__body { max-width:39ch; margin-top:clamp(30px,4vh,44px); font-size:clamp(14px,.9vw,17px); line-height:1.65; }
  .design-b [data-abc-block="hero"] .abc-hero__actions { position:absolute; right:clamp(42px,3.15vw,64px); bottom:clamp(42px,5.5vh,64px); display:flex; flex-wrap:nowrap; gap:12px; margin:0; }
  .design-b [data-abc-block="hero"] .abc-btn { min-width:0; padding:15px 24px; font-size:10px; white-space:nowrap; }
  .design-b [data-abc-block="hero"]::after { content:"SCROLL"; position:absolute; right:clamp(18px,1.35vw,28px); top:50%; color:rgba(251,249,245,.58); font:600 9px/1 var(--abc-font-ui); letter-spacing:.24em; writing-mode:vertical-rl; }

  /* Intro and editorial image. */
  .design-b [data-abc-block="split-editorial-intro"] { padding-top:clamp(108px,13vh,170px); padding-bottom:clamp(92px,11vh,145px); }
  .design-b [data-abc-block="split-editorial-intro"] > .abc-container { max-width:none; padding-inline:clamp(42px,3.15vw,64px); grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(80px,8vw,150px); }
  .design-b [data-abc-block="split-editorial-intro"] .abc-h2 { font-size:clamp(40px,3.25vw,62px); max-width:10ch; }
  .design-b [data-abc-block="split-editorial-intro"] .abc-editorial__body { font-size:clamp(17px,1.2vw,22px); line-height:1.55; }
  .design-b [data-abc-block="editorial-image"] { padding-bottom:clamp(72px,8vh,110px); }
  .design-b [data-abc-block="editorial-image"] > .abc-container { max-width:none; padding-inline:clamp(42px,3.15vw,64px); display:grid; grid-template-columns:minmax(0,7fr) 1fr minmax(0,4fr); gap:clamp(28px,3vw,58px); align-items:end; }
  .design-b [data-abc-block="editorial-image"] .abc-media-text__media { grid-column:1; width:100%; height:clamp(500px,44vw,760px); }
  .design-b [data-abc-block="editorial-image"] .abc-media-text__media img { width:100%; height:100%; object-fit:cover; }
  .design-b [data-abc-block="editorial-image"] .abc-eyebrow { grid-column:3; max-width:35ch; margin:0 0 18px !important; line-height:1.65; }

  /* Local knowledge. */
  .design-b [data-abc-block="local-knowledge"] > .abc-container.abc-local-knowledge { max-width:none; padding:clamp(96px,10vh,140px) clamp(42px,3.15vw,64px); display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(86px,8vw,155px); }
  .design-b [data-abc-block="local-knowledge"] .abc-local-knowledge__lead { max-width:42rem; }
  .design-b [data-abc-block="local-knowledge"] .abc-local-knowledge__lead .abc-h2 { margin-top:28px; max-width:10ch; font-size:clamp(44px,3.25vw,64px); line-height:1.08; }
  .design-b [data-abc-block="local-knowledge"] .abc-local-knowledge__lead .abc-editorial__body { margin-top:50px; max-width:45ch; font-size:clamp(17px,1.14vw,22px); line-height:1.72; }
  .design-b [data-abc-block="local-knowledge"] .abc-local-knowledge__label { margin:0 0 24px; color:rgba(251,249,245,.48); font:600 11px/1.2 var(--abc-font-ui); letter-spacing:.22em; text-transform:uppercase; }
  .design-b [data-abc-block="local-knowledge"] .abc-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(50px,4.5vw,88px); border:0; }
  .design-b [data-abc-block="local-knowledge"] .abc-feature { display:grid; grid-template-columns:34px 1fr; align-items:center; gap:12px; min-height:76px; padding:0; border-top:1px solid rgba(251,249,245,.15); border-bottom:0; }
  .design-b [data-abc-block="local-knowledge"] .abc-feature__step { color:rgba(251,249,245,.38); font:500 12px/1 var(--abc-font-ui); letter-spacing:.12em; }
  .design-b [data-abc-block="local-knowledge"] .abc-feature__title { font-size:clamp(18px,1.25vw,23px); }
  .design-b [data-abc-block="local-knowledge"] .abc-local-knowledge__note { margin-top:44px; color:rgba(251,249,245,.45); font-size:14px; }

  /* Journey: reference card photography carries more visual weight. */
  .design-b [data-abc-block="wedding-moments"] { padding-top:clamp(78px,9vh,118px); padding-bottom:clamp(84px,9.5vh,126px); }
  .design-b [data-abc-block="wedding-moments"] > .abc-container { max-width:none; padding-inline:clamp(42px,3.15vw,64px); }
  .design-b [data-abc-block="wedding-moments"] .abc-place-grid { gap:clamp(28px,2vw,38px) clamp(16px,1.3vw,26px); }
  .design-b [data-abc-block="wedding-moments"] .abc-place-card img { aspect-ratio:1.13/1; object-fit:cover; }
  .design-b [data-abc-block="wedding-moments"] .abc-place-card__name { font-size:clamp(17px,1.18vw,22px); }
  .design-b [data-abc-block="wedding-moments"] .abc-place-card__desc { font-size:13px; line-height:1.55; }

  /* Places: tall alternating rows with real editorial whitespace. */
  .design-b [data-abc-block="places-showcase"] > .abc-container,
  .design-b [data-abc-block="places-intro"] > .abc-container { max-width:none; padding-inline:clamp(42px,3.15vw,64px); }
  .design-b [data-abc-block="place-feature"] > .abc-place-row { min-height:clamp(620px,46vw,840px); grid-template-columns:1fr 1fr; }
  .design-b [data-abc-block="place-feature"] .abc-place-row__media { height:100%; min-height:inherit; }
  .design-b [data-abc-block="place-feature"] .abc-place-row__media img { width:100%; height:100%; object-fit:cover; }
  .design-b [data-abc-block="place-feature"] .abc-place-row__body { max-width:36rem; padding:clamp(72px,7vw,128px); align-self:center; }
  .design-b [data-abc-block="place-feature"] .abc-place-row__name { font-size:clamp(42px,3vw,60px); line-height:1.06; }
  .design-b [data-abc-block="place-feature"] .abc-editorial__body { font-size:16px; line-height:1.7; }

  /* Partnership: 50/50, tags before body, closing principle after rule. */
  .design-b [data-abc-block="planner-partnership"] { width:100%; max-width:none; grid-template-columns:1fr 1fr; }
  .design-b [data-abc-block="planner-partnership"] .abc-media-text__media { min-height:clamp(720px,50vw,960px); }
  .design-b [data-abc-block="planner-partnership"] .abc-media-text__media img { width:100%; height:100%; object-fit:cover; }
  .design-b [data-abc-block="planner-partnership"] .abc-media-text__body { padding:clamp(72px,6vw,118px) clamp(66px,5.2vw,108px); align-self:stretch; justify-content:center; overflow:visible; }
  .design-b [data-abc-block="planner-partnership"] .abc-h2 { max-width:15ch; margin-top:34px; font-size:clamp(54px,4vw,80px); line-height:1.02; }
  .design-b [data-abc-block="planner-partnership"] .abc-partnership__tags { display:flex; flex-wrap:wrap; gap:12px; margin-top:38px; padding:0; list-style:none; }
  .design-b [data-abc-block="planner-partnership"] .abc-partnership__tags li { padding:13px 20px; border:1px solid rgba(251,249,245,.22); color:rgba(251,249,245,.84); font-size:14px; }
  .design-b [data-abc-block="planner-partnership"] .abc-editorial__body { margin-top:38px; max-width:58ch; font-size:16px; line-height:1.72; color:rgba(251,249,245,.66); }
  .design-b [data-abc-block="planner-partnership"] .abc-partnership__emphasis { margin-top:36px; padding-top:28px; border-top:1px solid rgba(251,249,245,.20); font-family:var(--abc-font-display); font-size:clamp(25px,1.75vw,34px); line-height:1.2; color:var(--wip-cream); }

  /* Care: use the actual approved content and asymmetric composition. */
  .design-b [data-abc-block="editorial-principle"] { padding:clamp(92px,9.5vh,132px) 0 clamp(96px,10vh,140px); }
  .design-b [data-abc-block="editorial-principle"] > .abc-container { max-width:none; padding-inline:clamp(42px,3.15vw,64px); position:relative; }
  .design-b [data-abc-block="editorial-principle"] .abc-editorial--split { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(82px,8vw,155px); margin-bottom:0 !important; }
  .design-b [data-abc-block="editorial-principle"] .abc-editorial--split > :first-child { grid-column:1; }
  .design-b [data-abc-block="editorial-principle"] .abc-editorial--split > .abc-editorial__body { grid-column:2; margin:0; max-width:23ch; font-family:var(--abc-font-display); font-size:clamp(40px,3vw,58px); line-height:1.08; letter-spacing:-.02em; color:var(--wip-ink); }
  .design-b [data-abc-block="editorial-principle"] .abc-h2 { margin-top:30px; max-width:9ch; font-family:var(--abc-font-body); font-size:clamp(46px,3.45vw,68px); font-weight:500; line-height:1.05; }
  .design-b [data-abc-block="editorial-principle"] .abc-principles__context { width:37%; margin:42px 0 0; font-size:clamp(17px,1.15vw,22px); line-height:1.7; color:var(--wip-copy); }
  .design-b [data-abc-block="editorial-principle"] .abc-feature-grid { width:57%; margin:-84px 0 0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:0; }
  .design-b [data-abc-block="editorial-principle"] .abc-feature { min-height:220px; padding:38px 32px; border-top:1px solid rgba(22,25,26,.14); border-right:1px solid rgba(22,25,26,.14); }
  .design-b [data-abc-block="editorial-principle"] .abc-feature:nth-child(even) { border-right:0; }
  .design-b [data-abc-block="editorial-principle"] .abc-feature__step { display:block; margin-bottom:26px; color:var(--wip-accent); font:600 11px/1 var(--abc-font-ui); letter-spacing:.16em; }
  .design-b [data-abc-block="editorial-principle"] .abc-feature__title { font-size:clamp(19px,1.25vw,24px); }
  .design-b [data-abc-block="editorial-principle"] .abc-feature__desc { margin-top:14px; max-width:31ch; font-size:16px; line-height:1.55; }
  .design-b [data-abc-block="editorial-principle"] .abc-principles__closing { width:57%; margin:38px 0 0 auto; max-width:34ch; font-size:18px; line-height:1.5; color:var(--wip-ink); }

  /* Trade: lock + statement left, index/actions/note right. */
  .design-b [data-abc-block="trade-access-panel"] { min-height:clamp(620px,44vw,780px); }
  .design-b [data-abc-block="trade-access-panel"]::before { opacity:.23; background-position:50% 45%; }
  .design-b [data-abc-block="trade-access-panel"]::after { background:linear-gradient(90deg,rgba(8,34,32,.95) 0%,rgba(8,34,32,.83) 48%,rgba(8,34,32,.58) 100%); }
  .design-b [data-abc-block="trade-access-panel"] > .abc-media-text__body { max-width:none; width:100%; padding:clamp(74px,8vh,118px) clamp(42px,3.15vw,64px); display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); column-gap:clamp(90px,8vw,160px); align-content:center; }
  .design-b [data-abc-block="trade-access-panel"] .abc-trade__lock { grid-column:1; width:52px; height:52px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(251,249,245,.38); border-radius:50%; margin-bottom:38px; }
  .design-b [data-abc-block="trade-access-panel"] .abc-trade__lock svg { width:18px; height:18px; }
  .design-b [data-abc-block="trade-access-panel"] > .abc-media-text__body > .abc-eyebrow,
  .design-b [data-abc-block="trade-access-panel"] > .abc-media-text__body > .abc-h2,
  .design-b [data-abc-block="trade-access-panel"] > .abc-media-text__body > .abc-editorial__body { grid-column:1; }
  .design-b [data-abc-block="trade-access-panel"] .abc-h2 { max-width:8ch; margin-top:34px; font-size:clamp(58px,4.35vw,86px); line-height:1.03; }
  .design-b [data-abc-block="trade-access-panel"] .abc-editorial__body { margin-top:36px; max-width:43ch; color:rgba(251,249,245,.68); font-size:17px; line-height:1.68; }
  .design-b [data-abc-block="trade-access-panel"] .abc-attr__cols { grid-column:2; grid-row:1 / span 4; align-self:start; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:38px; width:100%; padding:0; list-style:none; }
  .design-b [data-abc-block="trade-access-panel"] .abc-attr__cols li { padding:16px 0; color:rgba(251,249,245,.82); border-top:1px solid rgba(251,249,245,.17); font-size:15px; }
  .design-b [data-abc-block="trade-access-panel"] .abc-cta__actions { grid-column:2; display:flex; flex-wrap:nowrap; gap:14px; margin-top:30px; }
  .design-b [data-abc-block="trade-access-panel"] .abc-cta__actions .abc-btn { flex:0 1 auto; padding:15px 24px; font-size:10px; white-space:nowrap; }
  .design-b [data-abc-block="trade-access-panel"] .abc-frame__note { grid-column:2; max-width:58ch; margin-top:14px; color:rgba(251,249,245,.52); font-size:13px; line-height:1.55; }

  /* Brief: one integrated panel. Native Forminator grid keeps its own columns. */
  .design-b [data-abc-block="brief-form"] { padding:clamp(82px,9vh,122px) 0 clamp(96px,10vh,138px); }
  .design-b [data-abc-block="brief-form"] > .abc-container { max-width:none; padding-inline:clamp(42px,3.15vw,64px); display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:clamp(90px,8vw,164px); }
  .design-b [data-abc-block="brief-form"] > .abc-container > .abc-editorial { grid-column:1; }
  .design-b [data-abc-block="brief-form"] > .abc-container > :last-child { grid-column:2; }
  .design-b [data-abc-block="brief-form"] .abc-h2 { margin-top:46px; font-size:clamp(56px,4vw,78px); line-height:1.02; max-width:8ch; }
  .design-b [data-abc-block="brief-form"] .abc-editorial__body { margin-top:48px; max-width:34ch; font-size:18px; line-height:1.8; }
  .design-b [data-abc-block="brief-form"] .abc-emphasis { margin-top:52px; padding-top:34px; border-top:1px solid rgba(22,25,26,.16); font-size:18px; max-width:34ch; }
  .design-b [data-abc-block="brief-form"] .forminator-row { margin-bottom:28px !important; }
  .design-b [data-abc-block="brief-form"] .forminator-field { margin:0 !important; }
  .design-b [data-abc-block="brief-form"] .forminator-input,
  .design-b [data-abc-block="brief-form"] .forminator-textarea { min-height:54px !important; padding:12px 0 !important; background:transparent !important; border:0 !important; border-bottom:1px solid rgba(22,25,26,.22) !important; border-radius:0 !important; box-shadow:none !important; }
  .design-b [data-abc-block="brief-form"] .forminator-textarea { min-height:132px !important; }
  .design-b [data-abc-block="brief-form"] .forminator-button-submit { float:right; margin-top:10px !important; background:var(--wip-teal-900) !important; color:var(--wip-cream) !important; }
  .design-b [data-abc-block="brief-form"] .forminator-button-submit:hover,
  .design-b [data-abc-block="brief-form"] .forminator-button-submit:focus-visible { background:#17403c !important; color:var(--wip-cream) !important; }

  /* Footer: keep brand on one line and distribute columns like reference. */
  .design-b .wip-footer--b .wip-footer__inner { width:100%; max-width:none; padding:clamp(74px,7.5vh,104px) clamp(70px,4.5vw,92px) 32px; }
  .design-b .wip-footer--b .wip-footer__top { display:grid; grid-template-columns:minmax(0,5fr) minmax(240px,3fr) minmax(0,4fr); gap:clamp(52px,5vw,96px); align-items:start; }
  .design-b .wip-footer--b .wip-footer__brand,
  .design-b .wip-footer--b .wip-footer__desk,
  .design-b .wip-footer--b .wip-footer__nav { grid-column:auto; }
  .design-b .wip-footer--b .wip-footer__brand-name { font-size:clamp(34px,2.15vw,45px); white-space:nowrap; }
  .design-b .wip-footer--b .wip-footer__brand-desc { max-width:48ch; font-size:16px; }
  .design-b .wip-footer--b .wip-footer__desk a { font-size:16px; white-space:nowrap; }
  .design-b .wip-footer--b .wip-footer__nav .wp-block-navigation__container { display:grid !important; grid-template-columns:repeat(2,minmax(120px,1fr)); column-gap:54px; row-gap:2px; }
  .design-b .wip-footer--b .wip-footer__nav .wp-block-navigation-item__content { padding:8px 0; font-size:15px; color:rgba(251,249,245,.86); text-decoration:none; }
  .design-b .wip-footer--b .wip-footer__nav .wp-block-navigation-item__content:hover { color:var(--wip-cream); }
  .design-b .wip-footer--b .wip-footer__meta { margin-top:clamp(72px,8vh,110px); padding-top:28px; }
}

/* Mid desktop: retain desktop composition, but stop hero/actions from colliding. */
@media (min-width:64rem) and (max-width:90rem) {
  .design-b [data-abc-block="hero"] .abc-hero__title { font-size:clamp(54px,5vw,72px); max-width:16ch; }
  .design-b [data-abc-block="hero"] .abc-hero__body { max-width:34ch; }
  .design-b [data-abc-block="hero"] .abc-hero__actions { right:42px; }
  .design-b [data-abc-block="hero"] .abc-btn { padding-inline:18px; }
  .design-b [data-abc-block="planner-partnership"] .abc-h2 { font-size:clamp(48px,4vw,64px); }
  .design-b [data-abc-block="trade-access-panel"] > .abc-media-text__body { column-gap:70px; }
}

/* Tablet/mobile: no desktop absolute positioning or off-canvas overflow. */
@media (max-width:63.99rem) {
  .design-b [data-abc-block="hero"] .abc-hero__title-primary,
  .design-b [data-abc-block="hero"] .abc-hero__title-secondary { display:block; }
  .design-b [data-abc-block="hero"] .abc-hero__title-secondary { color:rgba(251,249,245,.64); }
  .design-b [data-abc-block="hero"] .abc-hero__actions { position:static; display:flex; flex-wrap:wrap; }
  .design-b [data-abc-block="hero"]::after { display:none; }
  .design-b [data-abc-block="local-knowledge"] > .abc-container.abc-local-knowledge { display:grid; grid-template-columns:1fr; gap:48px; }
  .design-b [data-abc-block="local-knowledge"] .abc-feature-grid { grid-template-columns:1fr 1fr; }
  .design-b [data-abc-block="local-knowledge"] .abc-feature { display:grid; grid-template-columns:28px 1fr; gap:10px; align-items:center; }
  .design-b [data-abc-block="planner-partnership"] .abc-partnership__tags { display:flex; flex-wrap:wrap; gap:8px; padding:0; list-style:none; }
  .design-b [data-abc-block="planner-partnership"] .abc-partnership__tags li { padding:9px 12px; border:1px solid rgba(251,249,245,.22); }
  .design-b [data-abc-block="editorial-principle"] .abc-principles__context { margin-top:24px; }
  .design-b [data-abc-block="editorial-principle"] .abc-feature-grid { grid-template-columns:1fr 1fr; }
  .design-b [data-abc-block="editorial-principle"] .abc-principles__closing { margin-top:24px; }
  .design-b [data-abc-block="trade-access-panel"] .abc-trade__lock { width:46px; height:46px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(251,249,245,.38); border-radius:50%; margin-bottom:28px; }
  .design-b .wip-footer--b .wip-footer__brand-name { white-space:normal; }
}
@media (max-width:40rem) {
  .design-b [data-abc-block="local-knowledge"] .abc-feature-grid,
  .design-b [data-abc-block="editorial-principle"] .abc-feature-grid { grid-template-columns:1fr; }
}

/* ========================================================================
   v1.6.13 — real WordPress front-page parity fixes
   ======================================================================== */

/* The v1.6.11 desktop intro changed the container from three tracks to two,
   while the older child rule still placed the body on grid-column:3. That
   created an implicit third track and could collapse the heading to one
   character per line on the real FSE front page. Keep the two-track contract
   explicit and make text wrapping defensive. */
@media (min-width:64rem) {
  .design-b [data-abc-block="split-editorial-intro"] > .abc-container {
    grid-template-columns:minmax(320px,5fr) minmax(0,7fr);
  }
  .design-b [data-abc-block="split-editorial-intro"] > .abc-container > :first-child {
    grid-column:1 !important;
    min-width:0;
  }
  .design-b [data-abc-block="split-editorial-intro"] > .abc-container > :last-child {
    grid-column:2 !important;
    min-width:0;
  }
  .design-b [data-abc-block="split-editorial-intro"] .abc-h2 {
    writing-mode:horizontal-tb !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none;
    max-width:11ch;
  }

  /* Claude hero: preserve the wide first statement at large desktop, while
     keeping a safe fluid fallback on narrower desktop widths. */
  .design-b [data-abc-block="hero"] .abc-hero__title {
    max-width:none;
    font-size:clamp(52px,4.55vw,88px);
    line-height:.96;
  }
  .design-b [data-abc-block="hero"] .abc-hero__title-primary { max-width:19ch; }
  .design-b [data-abc-block="hero"] .abc-hero__title-secondary { max-width:13ch; }
}
@media (min-width:90rem) {
  .design-b [data-abc-block="hero"] .abc-hero__title-primary { white-space:nowrap; }
}
@media (min-width:64rem) and (max-width:89.99rem) {
  .design-b [data-abc-block="hero"] .abc-hero__title { font-size:clamp(50px,4.7vw,67px); }
  .design-b [data-abc-block="hero"] .abc-hero__title-primary { max-width:15ch; white-space:normal; }
  .design-b [data-abc-block="hero"] .abc-hero__title-secondary { max-width:11ch; }
}

/* Hero interactions are deliberately component-local. Do not let WordPress
   global link/button hover rules make a white panel with a white label. */
.design-b [data-abc-block="hero"] .abc-hero__actions .abc-btn--fill-light,
.design-b [data-abc-block="hero"] .abc-hero__actions .abc-btn--fill-light:hover,
.design-b [data-abc-block="hero"] .abc-hero__actions .abc-btn--fill-light:focus-visible {
  background:var(--wip-cream) !important;
  color:var(--wip-teal-900) !important;
  border-color:var(--wip-cream) !important;
}
.design-b [data-abc-block="hero"] .abc-hero__actions .abc-btn--fill-light:hover { opacity:.88; }
.design-b [data-abc-block="hero"] .abc-hero__actions .abc-btn:not(.abc-btn--fill-light) {
  background:transparent !important;
  color:var(--wip-cream) !important;
  border-color:rgba(251,249,245,.58) !important;
}
.design-b [data-abc-block="hero"] .abc-hero__actions .abc-btn:not(.abc-btn--fill-light):hover,
.design-b [data-abc-block="hero"] .abc-hero__actions .abc-btn:not(.abc-btn--fill-light):focus-visible {
  background:var(--wip-cream) !important;
  color:var(--wip-teal-900) !important;
  border-color:var(--wip-cream) !important;
}

/* The root front page receives these classes at render time in
   wedding-brand.php. Keep the same transparent-home chrome contract as the
   dedicated /design-b/ template. */
.design-b .site-main--design-b [data-abc-block="hero"]:first-child { margin-top:0; }

/* ========================================================================
   v1.6.13 — secondary-page and remaining live parity fixes
   ======================================================================== */

/* Technical / dossier accordion: Design B previously inherited an unbounded
   inline SVG from the generic renderer. Scope the whole component so the
   disclosure arrow can never expand into a page-sized graphic. */
.design-b [data-abc-block="dossier-accordion"] .abc-dossier {
  border-bottom:1px solid rgba(22,25,26,.14);
}
.design-b [data-abc-block="dossier-accordion"] .abc-dossier__item {
  border-top:1px solid rgba(22,25,26,.14);
}
.design-b [data-abc-block="dossier-accordion"] .abc-dossier__summary {
  display:grid;
  grid-template-columns:56px minmax(0,1.2fr) minmax(160px,.8fr) 28px;
  gap:24px;
  align-items:center;
  padding:24px 0;
  cursor:pointer;
  list-style:none;
}
.design-b [data-abc-block="dossier-accordion"] .abc-dossier__summary::-webkit-details-marker { display:none; }
.design-b [data-abc-block="dossier-accordion"] .abc-dossier__num {
  color:#8b8f8c;
  font:600 11px/1 var(--abc-font-ui);
  letter-spacing:.14em;
}
.design-b [data-abc-block="dossier-accordion"] .abc-dossier__name {
  font-family:var(--abc-font-display);
  font-size:clamp(24px,1.8vw,34px);
  line-height:1.1;
}
.design-b [data-abc-block="dossier-accordion"] .abc-dossier__loc {
  color:#777d79;
  font:600 10px/1.3 var(--abc-font-ui);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.design-b [data-abc-block="dossier-accordion"] .abc-dossier__chev {
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform 160ms ease;
}
.design-b [data-abc-block="dossier-accordion"] .abc-dossier__chev svg {
  display:block !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
}
.design-b [data-abc-block="dossier-accordion"] details[open] .abc-dossier__chev { transform:rotate(90deg); }
.design-b [data-abc-block="dossier-accordion"] .abc-dossier__panel {
  padding:0 28px 28px 80px;
}
.design-b [data-abc-block="dossier-accordion"] .abc-dossier__panel ul {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 32px;
  margin:0;
  padding:0;
  list-style:none;
}
.design-b [data-abc-block="dossier-accordion"] .abc-dossier__panel li {
  color:#626864;
  font-size:14px;
  line-height:1.55;
}

/* Internal technical page rhythm. */
.design-b [data-abc-block="technical-facts"] { padding-block:clamp(76px,8vh,110px); }
.design-b [data-abc-block="technical-facts"] > .abc-container,
.design-b [data-abc-block="dossier-accordion"] > .abc-container {
  max-width:none;
  padding-inline:clamp(42px,3.15vw,64px);
}
.design-b [data-abc-block="dossier-accordion"] { padding-block:clamp(72px,8vh,110px); }

/* Place rows: v1.6.11 switched the live desktop grid to 2 tracks but left the
   older 12-column placements in force. That created implicit tracks and made
   right-aligned venues (most visibly Antalia) collapse into a thin strip. */
@media (min-width:64rem) {
  .design-b [data-abc-block="place-feature"] > .abc-place-row {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:0 !important;
    padding:0 !important;
    max-width:none !important;
    min-height:clamp(590px,42vw,780px);
    border-top:1px solid rgba(22,25,26,.10);
  }
  .design-b [data-abc-block="place-feature"] .abc-place-row__media,
  .design-b [data-abc-block="place-feature"] .abc-place-row__body,
  .design-b [data-abc-block="place-feature"] .abc-place-row--reverse .abc-place-row__media,
  .design-b [data-abc-block="place-feature"] .abc-place-row--reverse .abc-place-row__body {
    grid-column:auto !important;
    width:auto !important;
    max-width:none;
  }
  .design-b [data-abc-block="place-feature"] .abc-place-row__media {
    grid-column:1 !important;
    order:1 !important;
    min-height:inherit;
    height:100%;
  }
  .design-b [data-abc-block="place-feature"] .abc-place-row__body {
    grid-column:2 !important;
    order:2 !important;
    align-self:stretch;
    justify-content:center;
    padding:clamp(72px,6vw,118px) clamp(60px,6vw,126px) !important;
  }
  .design-b [data-abc-block="place-feature"] .abc-place-row--reverse .abc-place-row__media {
    grid-column:2 !important;
    order:2 !important;
  }
  .design-b [data-abc-block="place-feature"] .abc-place-row--reverse .abc-place-row__body {
    grid-column:1 !important;
    order:1 !important;
  }
  .design-b [data-abc-block="place-feature"] .abc-place-row__media img {
    object-fit:cover;
    object-position:center;
  }
}

/* Places intro: retain editorial breathing room without the oversized empty
   band seen on the live secondary-page capture. */
.design-b [data-abc-block="places-intro"] {
  padding:clamp(76px,8vh,112px) 0 0;
}
.design-b [data-abc-block="places-intro"] .abc-container {
  padding-bottom:clamp(54px,6vh,82px);
}

/* How-we-work: secondary pages should not inherit the Home Care composition.
   The three-commitment variant is a compact, balanced 3-column band. */
.design-b .abc-principles--3 {
  padding:clamp(74px,8vh,108px) 0 clamp(82px,9vh,118px) !important;
}
.design-b .abc-principles--3 .abc-editorial--split {
  display:grid !important;
  grid-template-columns:minmax(0,4fr) minmax(0,8fr) !important;
  gap:clamp(70px,7vw,132px) !important;
  margin-bottom:clamp(50px,5vh,72px) !important;
}
.design-b .abc-principles--3 .abc-editorial--split > :first-child { grid-column:1 !important; }
.design-b .abc-principles--3 .abc-editorial--split > .abc-editorial__body { grid-column:2 !important; }
.design-b .abc-principles--3 .abc-h2 {
  max-width:12ch !important;
  font-size:clamp(44px,3.2vw,62px) !important;
}
.design-b .abc-principles--3 .abc-feature-grid {
  width:100% !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  border-top:1px solid rgba(22,25,26,.14) !important;
}
.design-b .abc-principles--3 .abc-feature {
  min-height:0 !important;
  padding:28px 34px 8px 0 !important;
  border:0 !important;
  border-right:1px solid rgba(22,25,26,.12) !important;
}
.design-b .abc-principles--3 .abc-feature:last-child { border-right:0 !important; }
.design-b .abc-principles--3 .abc-principles__context { display:none; }
.design-b .abc-principles--3 .abc-principles__closing {
  width:auto !important;
  margin:42px 0 0 !important;
  max-width:40ch !important;
  margin-left:auto !important;
}

/* Home Care keeps the approved four-cell asymmetric reference. */
.design-b .abc-principles--4 .abc-feature-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

/* Centred commitment heading: remove the excessive viewport-height feeling on
   How We Work while keeping the quiet editorial pause. */
.design-b .abc-editorial--centred {
  max-width:980px;
  margin-inline:auto;
  text-align:center;
}
.design-b .abc-editorial--centred.abc-stack {
  gap:18px;
}
.design-b .abc-editorial--centred .abc-h2 {
  max-width:18ch;
  margin-inline:auto;
  font-size:clamp(42px,3.2vw,62px);
  line-height:1.08;
}
.design-b .abc-editorial--centred .abc-lede {
  max-width:42ch;
  font-size:16px;
  line-height:1.65;
}
.design-b section:has(> .abc-container.abc-editorial--centred) {
  padding-block:clamp(74px,8vh,108px);
}

/* Footer: one geometry for Home and all Design-B secondary pages. */
@media (min-width:64rem) {
  .design-b .wip-footer--b .wip-footer__inner {
    max-width:1160px !important;
    margin-inline:auto;
    padding:clamp(64px,7vh,92px) 0 30px !important;
  }
  .design-b .wip-footer--b .wip-footer__top {
    grid-template-columns:minmax(0,1.45fr) minmax(220px,.85fr) minmax(300px,1fr) !important;
    gap:clamp(60px,6vw,104px) !important;
  }
  .design-b .wip-footer--b .wip-footer__brand-name {
    font-size:clamp(32px,2vw,40px) !important;
  }
  .design-b .wip-footer--b .wip-footer__meta {
    margin-top:clamp(58px,6vh,82px) !important;
  }
}

@media (max-width:63.99rem) {
  .design-b [data-abc-block="dossier-accordion"] .abc-dossier__summary {
    grid-template-columns:40px minmax(0,1fr) 24px;
    gap:14px;
  }
  .design-b [data-abc-block="dossier-accordion"] .abc-dossier__loc { display:none; }
  .design-b [data-abc-block="dossier-accordion"] .abc-dossier__panel { padding-left:54px; }
  .design-b [data-abc-block="dossier-accordion"] .abc-dossier__panel ul { grid-template-columns:1fr; }
  .design-b .abc-principles--3 .abc-editorial--split,
  .design-b .abc-principles--3 .abc-feature-grid { grid-template-columns:1fr !important; }
  .design-b .abc-principles--3 .abc-feature { border-right:0 !important; }
}

/* ========================================================================
   v1.6.14 — visual calibration only
   Stable page-scoped rhythm, scale, crop and interaction tuning. No content,
   importer, blueprint, form-map or verification behaviour changes.
   ======================================================================== */

/* Shared chrome: slightly quieter and closer to the Claude reference. */
@media (min-width:64rem) {
  .design-b .wip-header--b .wip-header__inner {
    padding-top:18px !important;
    padding-bottom:18px !important;
  }
  .design-b .wip-header--b .wip-brand__name {
    font-size:clamp(23px,1.42vw,28px) !important;
  }
  .design-b .wip-header--b .wip-primary-nav .wp-block-navigation__container {
    gap:clamp(20px,1.45vw,30px) !important;
  }
  .design-b .wip-header--b .wip-primary-nav .wp-block-navigation-item__content {
    font-size:10px !important;
    letter-spacing:.17em !important;
  }
  .design-b .wip-header--b .abc-nav-cta > .wp-block-navigation-item__content {
    padding:11px 17px !important;
  }
}

/* Home: retain the reference composition, but restore image and type presence
   lost during the structural repair passes. */
@media (min-width:64rem) {
  .design-b.abc-page-design-b-page-home [data-abc-block="hero"].abc-hero--overlay {
    min-height:100svh !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="hero"] .abc-hero__media img {
    object-position:50% 47% !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="hero"] .abc-hero__title {
    font-size:clamp(64px,5.55vw,108px) !important;
    line-height:.93 !important;
    max-width:18ch !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="hero"] .abc-hero__title-primary {
    max-width:19ch !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="hero"] .abc-hero__title-secondary {
    max-width:12ch !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="split-editorial-intro"] {
    padding-top:clamp(112px,12vh,156px) !important;
    padding-bottom:clamp(78px,8vh,110px) !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="editorial-image"] .abc-media-text__media {
    height:clamp(430px,37vw,650px) !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="local-knowledge"] > .abc-container.abc-local-knowledge {
    padding-top:clamp(82px,8.5vh,116px) !important;
    padding-bottom:clamp(82px,8.5vh,116px) !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="wedding-moments"] {
    padding-top:clamp(76px,8vh,108px) !important;
    padding-bottom:clamp(84px,9vh,118px) !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="wedding-moments"] .abc-place-grid {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:clamp(18px,1.8vw,30px) !important;
    overflow:visible !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="wedding-moments"] .abc-place-card {
    min-width:0 !important;
    width:auto !important;
    flex:none !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="wedding-moments"] .abc-place-card img {
    height:clamp(190px,17vw,290px) !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="places-intro"] {
    padding-top:clamp(82px,8.5vh,116px) !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="place-feature"] > .abc-place-row {
    min-height:clamp(500px,38vw,680px) !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="place-feature"] .abc-place-row__body {
    padding:clamp(58px,5vw,90px) clamp(54px,5vw,98px) !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="planner-partnership"] .abc-media-text__media {
    min-height:clamp(560px,48vw,760px) !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="planner-partnership"] .abc-media-text__body {
    padding:clamp(62px,5.8vw,104px) !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="planner-partnership"] .abc-h2 {
    font-size:clamp(54px,4.1vw,78px) !important;
    max-width:14ch !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="trade-access-panel"] {
    min-height:clamp(560px,39vw,690px) !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="brief-form"] {
    padding-top:clamp(72px,7.5vh,104px) !important;
    padding-bottom:clamp(82px,8.5vh,118px) !important;
  }
  .design-b.abc-page-design-b-page-home [data-abc-block="brief-form"] .forminator-row {
    margin-bottom:22px !important;
  }
}

/* Secondary-page heroes are editorial openers, not full-screen Home heroes. */
@media (min-width:64rem) {
  .design-b:not(.abc-page-design-b-page-home) .site-main--design-b > [data-abc-block="hero"]:first-child {
    min-height:clamp(470px,56vh,650px) !important;
  }
  .design-b:not(.abc-page-design-b-page-home) .site-main--design-b > [data-abc-block="hero"]:first-child > .abc-container {
    padding-top:clamp(112px,14vh,154px) !important;
    padding-bottom:clamp(38px,5vh,58px) !important;
  }
  .design-b:not(.abc-page-design-b-page-home) .site-main--design-b > [data-abc-block="hero"]:first-child .abc-hero__title {
    font-size:clamp(48px,4vw,72px) !important;
    max-width:19ch !important;
    line-height:.98 !important;
  }
  .design-b:not(.abc-page-design-b-page-home) .site-main--design-b > [data-abc-block="hero"]:first-child .abc-hero__body {
    margin-top:22px !important;
    max-width:40ch !important;
  }
  .design-b:not(.abc-page-design-b-page-home) .site-main--design-b > [data-abc-block="hero"]:first-child .abc-hero__actions {
    display:none !important;
  }
}

/* Services: remove the over-tall empty bands while retaining a premium pace. */
@media (min-width:64rem) {
  .design-b.abc-page-design-b-page-services [data-abc-block="feature-list"] {
    padding-top:clamp(76px,8vh,108px) !important;
    padding-bottom:clamp(80px,8.5vh,116px) !important;
  }
  .design-b.abc-page-design-b-page-services [data-abc-block="feature-list"] .abc-editorial--split {
    margin-bottom:clamp(46px,5vh,68px) !important;
  }
  .design-b.abc-page-design-b-page-services [data-abc-block="feature-list"] .abc-h2 {
    max-width:10ch !important;
    font-size:clamp(48px,3.6vw,68px) !important;
  }
  .design-b.abc-page-design-b-page-services [data-abc-block="feature-list"] .abc-feature {
    padding-top:28px !important;
    padding-bottom:30px !important;
    min-height:0 !important;
  }
  .design-b.abc-page-design-b-page-services [data-abc-block="destination-network-cta"] {
    padding-top:clamp(76px,8vh,108px) !important;
    padding-bottom:clamp(76px,8vh,108px) !important;
  }
  .design-b.abc-page-design-b-page-services [data-abc-block="destination-network-cta"] .abc-h2 {
    font-size:clamp(48px,3.5vw,68px) !important;
  }
}

/* Technical: keep the now-correct dossier geometry, just tighten the bands. */
@media (min-width:64rem) {
  .design-b.abc-page-design-b-page-technical [data-abc-block="technical-facts"] {
    padding-top:clamp(68px,7vh,94px) !important;
    padding-bottom:clamp(68px,7vh,94px) !important;
  }
  .design-b.abc-page-design-b-page-technical [data-abc-block="dossier-accordion"] {
    padding-top:clamp(64px,6.5vh,88px) !important;
    padding-bottom:clamp(68px,7vh,96px) !important;
  }
  .design-b.abc-page-design-b-page-technical [data-abc-block="destination-network-cta"] {
    padding-top:clamp(68px,7vh,96px) !important;
    padding-bottom:clamp(68px,7vh,96px) !important;
  }
}

/* How we work: remove the excessive vertical voids visible on the live page. */
@media (min-width:64rem) {
  .design-b.abc-page-design-b-page-how-we-work [data-abc-block="journey-grid"] {
    padding-top:clamp(72px,7.5vh,102px) !important;
    padding-bottom:clamp(76px,8vh,108px) !important;
  }
  .design-b.abc-page-design-b-page-how-we-work [data-abc-block="journey-grid"] .abc-editorial--split {
    margin-bottom:clamp(42px,4.5vh,62px) !important;
  }
  .design-b.abc-page-design-b-page-how-we-work [data-abc-block="section-heading"] {
    padding-top:clamp(64px,6.5vh,88px) !important;
    padding-bottom:clamp(68px,7vh,94px) !important;
  }
  .design-b.abc-page-design-b-page-how-we-work [data-abc-block="section-heading"] .abc-h2 {
    font-size:clamp(46px,3.4vw,64px) !important;
  }
  .design-b.abc-page-design-b-page-how-we-work [data-abc-block="editorial-principle"] {
    padding-top:clamp(70px,7.5vh,98px) !important;
    padding-bottom:clamp(74px,8vh,104px) !important;
  }
  .design-b.abc-page-design-b-page-how-we-work .abc-principles--3 .abc-editorial--split {
    margin-bottom:clamp(36px,4vh,52px) !important;
  }
  .design-b.abc-page-design-b-page-how-we-work .abc-principles--3 .abc-feature {
    padding-top:24px !important;
    padding-bottom:20px !important;
  }
}

/* Trade-access landing: compact the double-dark composition and form. */
@media (min-width:64rem) {
  .design-b.abc-page-design-b-page-trade-access [data-abc-block="trade-access-panel"] {
    min-height:clamp(500px,35vw,620px) !important;
  }
  .design-b.abc-page-design-b-page-trade-access [data-abc-block="trade-access-panel"] > .abc-media-text__body {
    padding-top:clamp(60px,6.5vh,88px) !important;
    padding-bottom:clamp(60px,6.5vh,88px) !important;
  }
  .design-b.abc-page-design-b-page-trade-access [data-abc-block="trade-access-panel"] .abc-h2 {
    font-size:clamp(50px,3.8vw,70px) !important;
    max-width:9ch !important;
  }
  .design-b.abc-page-design-b-page-trade-access [data-abc-block="brief-form"] {
    padding-top:clamp(68px,7vh,96px) !important;
    padding-bottom:clamp(76px,8vh,106px) !important;
  }
  .design-b.abc-page-design-b-page-trade-access [data-abc-block="brief-form"] .abc-h2 {
    font-size:clamp(52px,3.7vw,70px) !important;
  }
  .design-b.abc-page-design-b-page-trade-access [data-abc-block="brief-form"] .forminator-row {
    margin-bottom:20px !important;
  }
}

/* Footer calibration shared by all Design-B pages. */
@media (min-width:64rem) {
  .design-b .wip-footer--b .wip-footer__inner {
    max-width:1720px !important;
    padding:clamp(58px,6vh,82px) clamp(54px,4vw,82px) 28px !important;
  }
  .design-b .wip-footer--b .wip-footer__top {
    grid-template-columns:minmax(0,1.35fr) minmax(220px,.8fr) minmax(300px,1fr) !important;
    gap:clamp(52px,4.8vw,92px) !important;
  }
  .design-b .wip-footer--b .wip-footer__brand-name {
    font-size:clamp(31px,1.9vw,38px) !important;
  }
  .design-b .wip-footer--b .wip-footer__brand-desc {
    max-width:37ch !important;
    font-size:15px !important;
  }
  .design-b .wip-footer--b .wip-footer__meta {
    margin-top:clamp(48px,5vh,68px) !important;
    padding-top:24px !important;
  }
}

/* Keep interaction states deterministic across WordPress core and Forminator. */
.design-b .abc-btn:hover,
.design-b .abc-btn:focus-visible { text-decoration:none !important; }
.design-b .abc-btn--fill-light:hover,
.design-b .abc-btn--fill-light:focus-visible {
  background:var(--wip-teal-900) !important;
  color:var(--wip-cream) !important;
}
.design-b .abc-surface-inverse .abc-btn--fill-light:hover,
.design-b .abc-surface-inverse .abc-btn--fill-light:focus-visible,
.design-b [data-abc-block="hero"] .abc-btn--fill-light:hover,
.design-b [data-abc-block="hero"] .abc-btn--fill-light:focus-visible {
  background:var(--wip-cream) !important;
  color:var(--wip-teal-900) !important;
  opacity:.88;
}

/* Quality Gate: missing optional media must never leave a broken two-column shell. */
.design-b .abc-media-text--no-media,
.design-b [data-abc-block="place-feature"] > .abc-place-row--no-media {
  grid-template-columns: minmax(0, 1fr) !important;
  min-height: 0 !important;
}
.design-b .abc-media-text--no-media > .abc-media-text__body,
.design-b [data-abc-block="place-feature"] > .abc-place-row--no-media > .abc-place-row__body {
  grid-column: 1 / -1 !important;
  order: initial !important;
  max-width: var(--abc-container-content) !important;
}
