.catalog-section { position:relative; isolation:isolate; background:var(--background-color); color:var(--text-color); padding:clamp(64px, 10vw, 180px) 0; }
.catalog-section *, .catalog-section *::before, .catalog-section *::after { box-sizing:border-box; }
.catalog-background, .catalog-overlay { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-1; }
.catalog-inner { width:min(1170px, calc(100% - 64px)); margin:auto; }
.catalog-heading, .catalog-section h3 { font-family:Arial, sans-serif; font-weight:900; text-transform:uppercase; letter-spacing:-.055em; line-height:1.06; margin:0; overflow-wrap:anywhere; }
.catalog-heading { font-size:clamp(32px, 3.8vw, 52px); }
.catalog-section p, .catalog-section blockquote, .catalog-section dd { font-size:clamp(16px, 1.45vw, 20px); line-height:1.35; white-space:pre-line; overflow-wrap:anywhere; }
.catalog-intro { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-bottom:80px; align-items:start; }
.catalog-intro p { margin:0; }
.catalog-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 32px; background:var(--accent-color); color:var(--button-text-color); text-transform:uppercase; font-weight:700; text-decoration:none; text-align:center; overflow-wrap:anywhere; }
.catalog-button:hover { filter:brightness(1.08); }
.catalog-section a:focus-visible, .catalog-section button:focus-visible { outline:3px solid var(--accent-color); outline-offset:5px; }
.catalog-experience { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px, 7vw, 98px); align-items:center; padding-right:max(32px, calc((100vw - 1170px) / 2)); }
.catalog-experience-image { width:100%; height:clamp(360px, 36vw, 520px); object-fit:cover; }
.catalog-experience-content .catalog-intro { display:block; margin:0; }
.catalog-experience-content .catalog-intro p { margin-top:28px; }
.catalog-image-right { padding-right:0; padding-left:max(32px, calc((100vw - 1170px) / 2)); }
.catalog-image-right .catalog-experience-image { order:2; }
.catalog-stats { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:48px 0 56px; text-align:center; }
.catalog-stats dt { font-size:clamp(36px, 4vw, 58px); line-height:1; font-weight:900; overflow-wrap:anywhere; }
.catalog-stats dd { margin:16px 0 0; font-size:16px; }
.catalog-programmes { display:grid; grid-template-columns:1fr 1fr; }
.catalog-programme { position:relative; isolation:isolate; min-height:570px; background:var(--card-color); border:1px solid var(--border-color); }
.catalog-programme > img { position:absolute; width:100%; height:100%; inset:0; object-fit:cover; z-index:-2; }
.catalog-programme::before { content:""; position:absolute; inset:0; background:linear-gradient(transparent 25%, var(--card-color)); opacity:.5; z-index:-1; }
.catalog-programme-content { min-height:570px; display:flex; flex-direction:column; align-items:center; padding:64px 36px; text-align:center; }
.catalog-programme h3 { font-size:clamp(30px, 3.6vw, 48px); max-width:380px; }
.catalog-programme p { max-width:460px; }
.catalog-programme .catalog-button { margin-top:auto; }
.catalog-news { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.catalog-news-card { position:relative; padding:30px; border:1px solid var(--border-color); background:var(--card-color); }
.catalog-news-card > img { width:100%; height:210px; object-fit:cover; display:block; }
.catalog-news-card:nth-child(3) { grid-column:2; grid-row:1 / span 2; }
.catalog-news-card:nth-child(3) > img { height:480px; }
.catalog-news-meta { display:flex; align-items:center; gap:20px; margin:16px 32px 0 0; }
.catalog-news h3 { font-size:clamp(22px, 2.2vw, 28px); flex:1; }
.catalog-date { font-size:14px !important; opacity:.7; }
.catalog-news-meta .catalog-date { padding-left:14px; border-left:1px solid var(--border-color); }
.catalog-news-link { position:absolute; right:30px; bottom:30px; color:var(--text-color); font-size:32px; line-height:1; }
.catalog-news-card > p { padding-right:36px; font-size:16px; }
.surf-section-5 { min-height:760px; padding:clamp(100px, 20vw, 320px) 0 0; }
.catalog-stories { display:flex; justify-content:flex-end; }
.catalog-review-panel { width:50%; padding:clamp(32px, 5vw, 80px); background:var(--card-color); }
.catalog-review-panel .catalog-heading { font-size:28px; }
.catalog-review-panel figure { margin:28px 0 0; }
.catalog-review-panel figure[hidden] { display:none; }
.catalog-quote-mark { font-size:80px; line-height:1; font-weight:900; color:var(--accent-color); }
.catalog-review-panel figcaption strong { display:inline-block; font-size:26px; text-transform:uppercase; }
.catalog-review-panel figcaption .catalog-date { float:right; }
.catalog-review-panel figcaption p { font-size:14px; }
.catalog-review-panel blockquote { margin:36px 0 0; }
.catalog-review-controls { display:flex; justify-content:flex-end; align-items:center; gap:16px; margin-top:24px; }
.catalog-review-controls button { background:transparent; color:inherit; border:1px solid currentColor; width:42px; height:42px; cursor:pointer; font-size:24px; }
.catalog-booking { position:relative; isolation:isolate; padding:clamp(40px, 6vw, 100px); min-height:320px; background:var(--overlay-color, #12333F); }
.catalog-booking-content { display:flex; align-items:center; justify-content:space-between; gap:48px; }
.catalog-booking .catalog-intro { display:block; max-width:600px; margin:0; }
.catalog-booking .catalog-intro p { margin-top:24px; }
.catalog-booking .catalog-button { flex-shrink:0; background:transparent; border:2px solid var(--accent-color); color:var(--button-text-color); }
.editor-inspector .builder-testimonials .builder-link-row { grid-template-columns:minmax(0, 1fr); }
.editor-inspector .builder-testimonials textarea { min-height:100px; }
@media (max-width: 760px) {
  .catalog-inner { width:calc(100% - 40px); }
  .catalog-intro { grid-template-columns:1fr; gap:24px; margin-bottom:40px; }
  .catalog-experience, .catalog-image-right { grid-template-columns:1fr; padding:0; gap:32px; }
  .catalog-experience-content { padding:0 20px; }
  .catalog-experience-image { height:330px; }
  .catalog-image-right .catalog-experience-image { order:0; }
  .catalog-stats { margin:32px 0; gap:12px; }
  .catalog-programmes, .catalog-news { grid-template-columns:1fr; }
  .catalog-programme, .catalog-programme-content { min-height:460px; }
  .catalog-news-card:nth-child(3) { grid-column:auto; grid-row:auto; }
  .catalog-news-card, .catalog-review-panel { padding:24px; }
  .catalog-news-card:nth-child(3) > img { height:300px; }
  .catalog-news-meta { flex-wrap:wrap; gap:10px; }
  .catalog-news-meta .catalog-date { border:0; padding:0; margin:0; }
  .catalog-news-link { bottom:24px; right:24px; }
  .surf-section-5 { min-height:650px; padding-top:220px; }
  .catalog-review-panel { width:100%; }
  .catalog-booking { padding:36px 24px; }
  .catalog-booking-content { flex-direction:column; align-items:flex-start; gap:28px; }
}
