/* v76: current shared type and compact composition. Brand and motion stay intact. */
:root {
  --text-primary: #343633;
  --text-secondary: #575c54;
  --type-body: 1rem;
  --type-action: .75rem;
  --type-meta: .75rem;
  --space-tight: 12px;
  --space-group: 24px;
  --space-section: 56px;
}
h1,h2,h3 { text-wrap: balance; }
p { text-wrap: pretty; }
input,textarea { caret-color: #4f7c80; }
::selection { background: #c7dedd; color: #1b1a1a; }
.trip-copy>p,.custom-hero-copy>p,.host-hero-copy>p,
.custom-inquiry-copy>p,.newsletter-offer {
  font-size: var(--type-body); line-height: 1.65; max-width: 65ch;
}
.trip-foot { align-items: center; flex-wrap: wrap; }
.price { font: 400 16px/1.6 var(--ui); color: var(--text-primary); }
.price .deposit-label { display:block; font:inherit; color:inherit; }
.price .deposit-label strong { font-weight:600; }
.price .payment-plan-label { display:block; font:400 14px/1.6 var(--ui); color:var(--text-secondary); }
.trip-faq-link { display:block; width:fit-content; margin-top:18px; font:400 12px/1.6 var(--ui); color:var(--text-secondary); text-decoration:underline; text-underline-offset:4px; }
.faq details p,.faq details li { font-size:16px; line-height:1.7; color:var(--text-secondary); }
.faq details summary { font-size:14px; line-height:1.55; }
.story-review-card .story-summary { max-width:70ch; }
.stories-library .story-review-card .story-summary { font-size:16px; line-height:1.8; }
.story-review-footer { align-items:center; flex-wrap:wrap; }
.story-review-actions { max-width:100%; gap:8px 16px; }
.story-review-actions .story-original,.story-read-more,
.private-review-actions .text-link,.private-review-toggle {
  display:inline-flex; align-items:center; min-height:44px;
  font:500 var(--type-action)/1.5 var(--ui); padding:8px 0;
  white-space:normal; text-align:left; color:var(--text-primary);
}
.story-author div>span,.story-review-footer .story-author div>span,
.story-source-note p,.story-review-explainer {
  font-size:var(--type-meta); line-height:1.65; color:var(--text-secondary);
}
.custom-questionnaire>summary { padding-block:20px; }
.custom-questionnaire>summary .disclosure-closed,
.custom-questionnaire>summary .disclosure-open { font-size:16px; line-height:1.4; }
.custom-questionnaire>summary small { font-size:12px; line-height:1.5; color:var(--text-secondary); }

/* A brief introduction, then one full regional trip presentation. */
.tours-featured { padding-block:56px; }
.featured-preview { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:40px; align-items:center; }
.featured-preview-image { display:block; height:230px; overflow:hidden; }
.featured-preview-image img { width:100%; height:100%; object-fit:cover; }
.featured-preview-copy { min-width:0; }
.featured-preview-copy h2 { font:500 16px/1.5 var(--ui); margin-bottom:10px; }
.featured-preview-copy .featured-partnership { font:500 clamp(10px,1.05vw,14px)/1.5 var(--ui); max-width:none; white-space:nowrap; margin-bottom:14px; }
.featured-preview-copy h3 { font:400 clamp(32px,3.4vw,48px)/1.1 var(--serif); margin-bottom:12px; }
.featured-preview-meta { font:400 12px/1.6 var(--ui); color:var(--text-secondary); margin-bottom:22px; }
.trip-anchor { scroll-margin-top:180px; }
.regional-trips { padding-top:56px; }

/* Shared ending: small invitation, useful signup, compact social preview. */
.cta { min-height:0; padding:24px; margin:0 8% 40px; display:grid; grid-template-columns:140px minmax(0,1fr); gap:30px; text-align:left; }
.cta .cta-photo { width:140px; height:140px; min-height:0; object-fit:cover; }
.cta .cta-copy { padding:0; min-width:0; }
.cta h2 { font-size:clamp(30px,3.3vw,44px); line-height:1.08; margin:0 0 20px; }
.cta .actions { justify-content:flex-start; margin:0; gap:0; }
.cta .actions .btn { padding:13px 18px; }
.newsletter.section { display:grid; grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr); gap:44px; padding:56px 8%; align-items:stretch; }
.newsletter .newsletter-photo { width:100%; height:100%; min-height:0; max-height:600px; }
.newsletter .newsletter-photo img { height:100%; width:100%; object-fit:cover; object-position:center; }
.newsletter .newsletter-copy { min-width:0; padding:0; }
.newsletter h2 { font:400 clamp(38px,4vw,52px)/1.05 var(--serif); margin:0 0 18px; max-width:16ch; }
.newsletter .newsletter-offer { margin:0; line-height:1.55; }
.signup-intro-line { display:block; }
.newsletter .signup-benefits { margin:10px 0 20px; }
.newsletter .signup-benefits p { font:400 12px/1.5 var(--ui); color:var(--text-secondary); }
.newsletter .newsletter-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; max-width:500px; align-items:end; }
.newsletter .newsletter-fields>label { min-width:0; font:500 12px/1.5 var(--ui); display:block; }
.newsletter .newsletter-fields input:not([type=radio]):not([type=hidden]) { display:block; width:100%; min-width:0; height:44px; min-height:44px; padding:10px 12px; margin-top:6px; font:400 14px/1.5 var(--ui); }
.newsletter .signup-field-hint { display:block; font:400 11px/1.45 var(--ui); color:var(--text-secondary); }
.newsletter .newsletter-fields label:has(.signup-field-hint) { position:relative; }
.newsletter .newsletter-fields label:has(.signup-field-hint) input { margin-top:6px; }
.newsletter .signup-traveler-history { grid-column:1/-1; margin:0; padding:0; }
.newsletter .signup-traveler-history legend { font:500 12px/1.5 var(--ui); margin-bottom:6px; }
.newsletter .signup-history-options { gap:16px; }
.newsletter .signup-history-options label { min-height:32px; font-size:14px; }
.newsletter .newsletter-fields>button[type=submit] { grid-column:1/-1; width:fit-content; min-width:220px; min-height:56px; padding:14px 24px; font:700 20px/1.3 var(--ui); gap:18px; margin:0; justify-content:center; }
.newsletter .signup-ps { margin:14px 0 6px; font:400 13px/1.5 var(--body); }
.newsletter .newsletter-consent { font:400 11px/1.5 var(--ui); color:var(--text-secondary); margin:0; }
.newsletter .newsletter-status:empty { display:none; }
.newsletter.tours-destination-signup { border:0; background:#deedef; }
.instagram-section { padding-top:36px; padding-bottom:36px; }
.instagram-section .instagram-section-heading { max-width:600px; margin-bottom:20px; }
.instagram-section .instagram-feed { max-width:480px; }
.instagram-section .instagram-highlights { margin-top:20px; }

@media(max-width:900px) {
  .newsletter.section { gap:28px; padding:44px 6%; grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr); }
  .cta { margin-inline:6%; }
  .featured-preview { gap:28px; grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr); }
}
@media(max-width:650px) {
  .featured-preview { grid-template-columns:1fr; gap:24px; }
  .featured-preview-image { height:190px; }
  .featured-preview-copy .featured-partnership { font-size:10px; letter-spacing:0; }
  .featured-preview-copy h3 { font-size:38px; }
  .tours-featured { padding-block:36px; }
  .cta { grid-template-columns:94px minmax(0,1fr); gap:18px; margin:0 6% 30px; padding:18px; }
  .cta .cta-photo { width:94px; height:132px; }
  .cta h2 { font-size:30px; margin-bottom:18px; }
  .cta .actions .btn { font-size:9px; padding:12px; gap:12px; }
  .newsletter.section { grid-template-columns:1fr; gap:28px; padding:36px 6%; }
  .newsletter .newsletter-photo { height:210px; max-height:none; }
  .newsletter .newsletter-photo img { object-position:center 54%; }
  .newsletter h2 { font-size:42px; max-width:17ch; }
  .newsletter .newsletter-fields { gap:14px 12px; }
  .newsletter .newsletter-fields>label { font-size:11px; }
  .newsletter .signup-field-hint { font-size:10px; }
  .newsletter .newsletter-fields input:not([type=radio]):not([type=hidden]) { font-size:16px; padding-inline:10px; }
  .story-review-actions { justify-content:flex-start; text-align:left; }
  .story-review-actions .story-original,.story-read-more,.private-review-actions .text-link,.private-review-toggle { font-size:12px; }
  .faq details summary { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) {
  .featured-preview-image img { transition:none; }
}

/* A compact, full-width partner ribbon between the trip and traveler stories. */
.partner-strip { scroll-margin-top:180px; display:grid; grid-template-columns:140px minmax(0,1fr); align-items:center; gap:40px; padding:32px 6%; background:var(--sand,#f6ecda); border-block:1px solid var(--line,#d9d6ca); }
.partner-label { margin:0; color:#1b1a1a; font:600 12px/1.5 var(--ui); text-transform:uppercase; letter-spacing:.1em; }
.partner-logos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; gap:36px; margin:0; padding:0; list-style:none; }
.partner-logos li { display:flex; align-items:center; justify-content:center; height:54px; min-width:0; overflow:hidden; }
.partner-logos img { display:block; width:180px; max-width:100%; height:auto; max-height:44px; object-fit:contain; filter:brightness(0); }
.partner-logos li:first-child img { width:160px; }
.partner-logos img.tedx-mark { width:116px; }
.partner-logos .essence-mark { width:min(180px,100%); justify-self:center; }
.partner-logos .essence-mark img { width:137%; max-width:none; max-height:none; flex-shrink:0; filter:grayscale(1) contrast(1.2); mix-blend-mode:multiply; }
.newsletter-status[data-state="success"], #custom-inquiry-status[data-state="success"], #host-inquiry-status[data-state="success"] { max-width:58ch; padding:16px 18px; margin-top:18px; background:#eaf3f2; border:1px solid #c4d9d6; color:#343633; font:400 14px/1.65 var(--ui); animation:submission-confirmation .32s cubic-bezier(.16,1,.3,1) both; }
@keyframes submission-confirmation { from { opacity:0; clip-path:inset(0 0 12%); } to { opacity:1; clip-path:inset(0); } }
@media(max-width:850px) { .partner-strip { grid-template-columns:1fr; gap:18px; padding-block:26px; } .partner-label { text-align:center; } .partner-logos { gap:28px; } }
@media(max-width:550px) { .partner-logos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 30px; } .partner-logos li { height:48px; } .partner-logos img { width:160px; } .partner-logos li:first-child img { width:145px; } .partner-logos img.tedx-mark { width:104px; } .partner-logos .essence-mark img { width:137%; } }
@media(prefers-reduced-motion:reduce) { .newsletter-status[data-state="success"], #custom-inquiry-status[data-state="success"], #host-inquiry-status[data-state="success"] { animation:none; } }
