/* Optional illustrations and editable image links for portable content sections. */
.v4-body .v4-content-sections .v4-panel.v4-section-illustrated { display:grid; align-items:center; gap:clamp(20px,3vw,40px); min-width:0; height:100%; box-sizing:border-box; padding:clamp(20px,2.5vw,32px); background:#fff8ed; border:1px solid #f0e7dc; border-radius:16px; }
/* Gallery layouts own their surfaces; the alternating tint is for plain illustrations only. */
.v4-body .v4-content-sections .v4-content-section:nth-child(2n) .v4-section-illustrated:where(:not([data-gallery-layout])) { background:#f3f9f5; border-color:#e3ede6; }
.v4-content-sections .v4-section-media { min-width:0; margin:0; }
.v4-content-sections .v4-section-media img { display:block; width:100%; aspect-ratio:3/2; object-fit:contain; border-radius:12px; }
.v4-content-sections [data-section-fit="cover"]>.v4-section-media img { object-fit:cover; }
.v4-content-sections [data-section-image="left"] { grid-template-columns:minmax(0,34fr) minmax(0,66fr); }
.v4-content-sections [data-section-image="right"] { grid-template-columns:minmax(0,66fr) minmax(0,34fr); }
.v4-content-sections [data-section-image="right"]>.v4-section-media { order:2; }
.v4-content-sections .v4-section-content { min-width:0; }
.v4-body .v4-content-sections [data-section-image="accent"] { grid-template-columns:minmax(0,1fr) 76px; gap:16px; align-items:start; }
.v4-content-sections [data-section-image="accent"]>.v4-section-media { order:2; padding-top:4px; }
.v4-content-sections [data-section-image="accent"]>.v4-section-media img { aspect-ratio:1; border-radius:0; }
/* Hiding an illustration keeps the card surface and saved image, without an
   empty image column. Card overrides apply to this section, not its nodes. */
.v4-body .v4-content-sections .v4-panel[data-section-image-hidden="true"]:not([data-gallery-layout]) { grid-template-columns:minmax(0,1fr); }
.v4-body .v4-content-sections [data-section-custom][style*="--node-title-color:"]>.v4-section-content>.v4-section-title { color:var(--node-title-color); }
.v4-body .v4-content-sections [data-section-custom][style*="--node-title-size:"]>.v4-section-content>.v4-section-title { font-size:var(--node-title-size); }
.v4-body .v4-content-sections [data-section-custom][style*="--node-body-color:"]>.v4-section-content>.v4-module-copy>.v4-prose { color:var(--node-body-color); }
.v4-body .v4-content-sections [data-section-custom][style*="--node-body-size:"]>.v4-section-content>.v4-module-copy>.v4-prose { font-size:var(--node-body-size); }
.v4-body .v4-content-sections .v4-section-illustrated .v4-section-title { border:0; padding:0; margin-bottom:14px; font-size:var(--module-title-size,clamp(18px,1.55vw,23px)); }
.v4-body .v4-content-sections .v4-section-illustrated .v4-prose { font-size:var(--module-body-size,16px); line-height:1.95; }
.v4-body .v4-content-sections .v4-section-illustrated[data-block="section-numbered"] :is(ol,ul) { grid-template-columns:minmax(0,1fr); gap:12px; }
.v4-section-entries { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:0 clamp(24px,3vw,48px) clamp(24px,3vw,48px); }
.v4-body .v4-section-entry { position:relative; display:flex; align-items:center; width:100%; min-width:0; min-height:190px; aspect-ratio:2.4; padding:26px; overflow:hidden; border:1px solid #eee3d9; border-radius:16px; background:#fff6eb; color:#76322e; text-align:left; text-decoration:none; font:inherit; transition:transform .2s,box-shadow .2s; isolation:isolate; }
.v4-body .v4-section-entry:nth-child(2n) { background:#fff3ef; border-color:#f1dfdb; }
.v4-section-entry>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.v4-section-entry-copy { display:flex; flex-direction:column; align-items:flex-start; gap:10px; width:48%; min-width:0; }
.v4-section-entry-copy>strong { font-size:var(--module-title-size,clamp(22px,2vw,30px)); line-height:1.4; font-weight:650; }
.v4-section-entry-copy>span:not(.v4-section-entry-arrow) { color:#80655c; font-size:14px; line-height:1.7; }
.v4-section-entry-arrow { display:grid; place-items:center; width:32px; height:32px; margin-top:4px; border:1px solid #a06e4a4d; border-radius:50%; font-size:20px; }
.v4-body :is(a,button).v4-section-entry:hover { transform:translateY(-3px); box-shadow:0 10px 22px #754f3614; }
.v4-section-entry:focus-visible { outline:3px solid #b92346; outline-offset:4px; }
.v4-section-entries[data-count="1"] { grid-template-columns:minmax(0,1fr); }
.v4-body .v4-section-entries[data-count="1"] .v4-section-entry { aspect-ratio:auto; min-height:200px; padding:28px 36px; background:#f3f6e8; color:#45644d; }
.v4-section-entries[data-count="1"] .v4-section-entry>img { object-position:right center; }
.v4-section-entries[data-count="1"] .v4-section-entry-copy { width:60%; }
.v4-body .v4-content-sections>.v4-section-entries .v4-section-entry strong { color:inherit; }
@container(max-width:700px) {
  .v4-body .v4-content-sections [data-section-image="left"],.v4-body .v4-content-sections [data-section-image="right"] { grid-template-columns:minmax(0,1fr); gap:20px; }
  .v4-content-sections [data-section-image="right"]>.v4-section-media { order:0; }
  .v4-content-sections [data-section-image="left"]>.v4-section-media,.v4-content-sections [data-section-image="right"]>.v4-section-media { width:min(100%,360px); margin:0 auto; }
  .v4-section-entries { grid-template-columns:minmax(0,1fr); gap:16px; padding:0 20px 24px; }
  .v4-body .v4-section-entry { min-height:164px; padding:22px; }
  .v4-body .v4-section-entries[data-count="1"] .v4-section-entry { min-height:170px; padding:22px; }
  .v4-section-entry-copy>strong { font-size:var(--module-mobile-title-size,23px); }
  .v4-section-entry-copy>span:not(.v4-section-entry-arrow) { font-size:13px; }
}
@media(max-width:760px) {
  .v4-body .v4-content-sections .v4-panel.v4-section-illustrated { padding:20px; }
  .v4-body .v4-content-sections [data-section-image="accent"] { grid-template-columns:minmax(0,1fr) 52px; gap:12px; }
  .v4-body .v4-content-sections .v4-section-illustrated .v4-section-title { font-size:var(--module-mobile-title-size,19px); }
  .v4-body .v4-content-sections .v4-section-illustrated .v4-prose { font-size:var(--module-mobile-body-size,15px); }
}
@media(prefers-reduced-motion:reduce) { .v4-body .v4-section-entry { transition:none; } }
.v4-section-entry:before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#fff8efe8 0%,#fff8efba 28%,transparent 65%); pointer-events:none; }

/* Editable project photo groups: story collage or support cards. */
.v4-body .v4-content-sections .v4-panel[data-gallery-layout] { background:#faf8f4; border-color:#eee8de; gap:28px; }
.v4-body .v4-content-sections .v4-panel[data-gallery-layout="mosaic"] { grid-template-columns:minmax(0,4fr) minmax(0,6fr); }
.v4-content-sections [data-gallery-layout="mosaic"]>.v4-section-media { grid-column:1/-1; }
.v4-section-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; min-width:0; }
.v4-body .v4-gallery-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border-radius:14px; background:#fff; color:#3e3733; text-decoration:none; }
.v4-gallery-card>img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.v4-section-gallery[data-fit="contain"] .v4-gallery-card>img { object-fit:contain; }
.v4-gallery-caption { padding:18px; }
.v4-body .v4-content-sections .v4-gallery-caption h3 { margin:0; font-size:var(--module-body-size,18px); font-weight:650; line-height:1.5; color:#713c35; }
.v4-body .v4-content-sections .v4-gallery-caption p { margin:8px 0 0; font-size:var(--module-body-size,15px); line-height:1.8; color:#71665d; white-space:pre-line; }
.v4-content-sections [data-gallery-layout="mosaic"] .v4-gallery-card { position:relative; min-height:0; }
.v4-content-sections [data-gallery-layout="mosaic"] .v4-gallery-card>img { height:100%; flex:1; min-height:0; }
.v4-content-sections [data-gallery-layout="mosaic"] .v4-gallery-caption { position:absolute; inset:auto 0 0; padding:35px 15px 14px; background:linear-gradient(transparent,#201c18cc); }
.v4-body .v4-content-sections [data-gallery-layout="mosaic"] .v4-gallery-caption :is(h3,p) { color:#fff; font-size:14px; }
.v4-content-sections [data-gallery-layout="mosaic"] .v4-section-gallery[data-count="3"] { grid-template-rows:repeat(2,160px); }
.v4-content-sections [data-gallery-layout="mosaic"] [data-count="3"] .v4-gallery-card:first-child { grid-row:span 2; }
.v4-body .v4-content-sections .v4-panel[data-gallery-layout="cards"] { display:block; background:#fff; border:0; padding:0; }
.v4-content-sections [data-gallery-layout="cards"] .v4-section-gallery { margin-top:24px; grid-template-columns:repeat(var(--gallery-columns,4),minmax(0,1fr)); gap:18px; }
.v4-content-sections [data-gallery-layout="cards"] .v4-gallery-card { background:#fcf5eb; border:1px solid #f0e6d9; }
.v4-content-sections [data-gallery-layout="cards"] .v4-gallery-card:nth-child(2n) { background:#f1f7f3; border-color:#e4eee7; }
.v4-content-sections [data-gallery-layout="cards"] .v4-gallery-card:nth-child(3n) { background:#fcf1ef; border-color:#f1e2dd; }
.v4-gallery-card:focus-visible { outline:3px solid #b92346; outline-offset:4px; }
.v4-body a.v4-gallery-card:hover .v4-gallery-caption h3 { text-decoration:underline; text-underline-offset:4px; }
@container(max-width:900px) {
  .v4-body .v4-content-sections .v4-panel[data-gallery-layout="mosaic"] { grid-template-columns:minmax(0,1fr); }
  .v4-content-sections [data-gallery-layout="cards"] .v4-section-gallery:not([data-count="1"]) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container(max-width:500px) {
  .v4-content-sections [data-gallery-layout="mosaic"] .v4-section-gallery[data-count="3"] { grid-template-rows:repeat(2,130px); gap:10px; }
  .v4-content-sections [data-gallery-layout="mosaic"] .v4-gallery-card { min-height:0; }
  .v4-content-sections [data-gallery-layout="cards"] .v4-section-gallery:not([data-count="1"]) { grid-template-columns:minmax(0,1fr); gap:18px; }
  .v4-gallery-card>img { aspect-ratio:16/9; }
}

.v4-section-gallery[data-count="1"] { --gallery-columns:1; }
.v4-section-gallery[data-count="2"] { --gallery-columns:2; }
.v4-section-gallery:is([data-count="3"],[data-count="5"],[data-count="6"]) { --gallery-columns:3; }
.v4-content-sections [data-gallery-layout="mosaic"] .v4-section-gallery[data-count="1"] { grid-template-columns:minmax(0,1fr); }
.v4-content-sections [data-gallery-layout="cards"] .v4-gallery-card>img { object-position:50% 35%; }
@container(min-width:701px) {
  .v4-body .v4-content-sections .v4-content-section[data-section-span="12"] [data-block="section-bullets"] ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 34px; }
  .v4-body .v4-content-sections .v4-content-section[data-section-span="12"] [data-block="section-bullets"] li { margin:0; }
}
@container(max-width:500px) {
  .v4-content-sections [data-gallery-layout="mosaic"] .v4-section-gallery[data-count="3"] { grid-template-rows:160px 130px; }
  .v4-content-sections [data-gallery-layout="mosaic"] [data-count="3"] .v4-gallery-card:first-child { grid-column:1/-1; grid-row:auto; }
}
.v4-content-sections [data-gallery-layout="mosaic"] .v4-gallery-card:first-child>img { object-position:70% center; }

.v4-section-entries--project { padding-inline:0; }
.v4-section-entries--project[data-count="2"] { --entry-columns:2; }

/* Project destinations keep their illustration treatment when entries are removed. */
.v4-section-entries:is([data-count="3"],.v4-section-entries--project) { grid-template-columns:repeat(var(--entry-columns,3),minmax(0,1fr)); gap:18px; }
.v4-body .v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry { min-height:172px; aspect-ratio:2.25; padding:22px; border-radius:16px; border-color:#e9ded4; box-shadow:0 4px 16px #6f452909; }
.v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry>img { object-position:center; transition:transform .3s; }
.v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry-copy { width:60%; gap:9px; }
.v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry-copy>strong { font-size:var(--module-title-size,clamp(18px,1.5vw,23px)); line-height:1.5; }
.v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry-copy>span:not(.v4-section-entry-arrow) { font-size:12px; line-height:1.8; max-width:12em; }
.v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry:before { background:linear-gradient(90deg,#fffaf0b0,transparent 75%); }
.v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry:nth-child(2) { color:#45644d; }
.v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry:nth-child(2) .v4-section-entry-copy>span { color:#526a54; }
.v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry:nth-child(3) { color:#953e43; }
.v4-body .v4-section-entries:is([data-count="3"],.v4-section-entries--project) a:hover>img { transform:scale(1.035); }
@container(max-width:900px) {
  .v4-section-entries:is([data-count="3"],.v4-section-entries--project) { grid-template-columns:minmax(0,1fr); gap:14px; }
  .v4-body .v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry { aspect-ratio:3; min-height:150px; padding:24px; }
  .v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry-copy { width:53%; }
  .v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry-copy>strong { font-size:var(--module-mobile-title-size,22px); }
}
@container(max-width:500px) {
  .v4-body .v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry { aspect-ratio:2.35; min-height:142px; padding:18px; }
  .v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry-copy { width:64%; }
  .v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry-copy>strong { font-size:var(--module-mobile-title-size,19px); }
}
@media(prefers-reduced-motion:reduce) { .v4-section-entries:is([data-count="3"],.v4-section-entries--project) .v4-section-entry>img { transition:none; } }
