/* content-page.css: shared by Home, About, Contact, Stay Updated, FAQ and the policy pages.
   Loaded before each page's own <style>; a page can override anything here.
   Edit here and every page in the family follows. */

:root{
  --green:#A5BD8E;
  --green-dark:#708F53;
  --green-hover:#2D3A22;
  --dark:#152230;
  --dark-soft:#1e3040;
  --blue:#2f7f8a;
  --blue-tint:color-mix(in srgb, var(--blue) 22%, white);
  --blue-line:color-mix(in srgb, var(--blue) 48%, white);
  --green-tint:color-mix(in srgb, var(--green) 14%, white);
  --sky-tint:color-mix(in srgb, var(--blue) 16%, var(--white));
  --sky-line:color-mix(in srgb, var(--blue) 42%, var(--white));
  --green-line:color-mix(in srgb, var(--green) 42%, white);
  --green-soft:color-mix(in srgb, var(--green) 55%, white);
  --white:#fffdf7;
  --paper:#f4f1e9;
  --line:rgba(21,34,48,0.16);
  --line-on-dark:rgba(255,255,255,0.2);
  --muted:#5a5343;
  --sunset-1:#c14a2f;
  --sunset-2:#e0893c;
  --sunset-tint:color-mix(in srgb, var(--sunset-1) 12%, var(--white));
  --gold:#d9a441;
  --star:rgba(255,255,255,0.85);
  }
button{font-family:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.story-media, .spotlight-card{outline:1.5px dashed rgba(21,34,48,0.3);outline-offset:-6px;}
.hero .wrap{position:relative;}
.eyebrow{font-family:'Titillium Web',sans-serif;font-weight:800;color:var(--green-dark);text-transform:uppercase;letter-spacing:.13em;margin-bottom:10px}
.hero .eyebrow{color:var(--gold);}
.hero h1{color:var(--white);font-size:clamp(30px,4.2vw,46px);line-height:1.15;max-width:720px;}
.hero p.lede{max-width:640px;color:#d9dbe0;font-size:16px;margin-top:14px;}
.hero .hero-cta{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap;}
.btn{display:inline-block;padding:13px 26px;border-radius:4px;font-weight:700;font-size:14.5px;text-decoration:none;letter-spacing:.02em;cursor:pointer;border:2px solid transparent;transition:transform .12s ease, opacity .12s ease;}
.btn-outline{background:var(--white);border-color:var(--green);color:var(--green-dark);}
.btn-outline:hover{background:var(--green-tint);border-color:var(--green-dark);}
.btn-outline-hero{background:transparent;border-color:rgba(255,255,255,.5);color:var(--white);}
.btn-outline-hero:hover{border-color:var(--white);}
.btn-sm{padding:8px 16px;font-size:12.5px;}

/* HERO "AS FEATURED IN" LINE — small credibility line inside the hero itself */
.hero-featured{margin-top:28px;font-size:12.5px;color:#c3cad1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.hero-featured .hf-label{text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:10.5px;color:#aab4be;}

/* MOUNTAIN DIVIDER — jagged silhouette that turns the hard edge under the hero
     into a shaped transition, same technique used on the trip detail page */

section{padding:68px 0;}
section.alt{background:var(--white);}
.section-head{max-width:680px;margin-bottom:32px;}
.section-head h2{font-size:clamp(24px,3vw,32px);}
.section-head p{color:var(--muted);font-size:15.5px;}
.section-head.center{max-width:680px;margin-left:auto;margin-right:auto;text-align:center;}
/* STORY */
.story-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:48px;align-items:stretch;}
.story-media{width:100%;height:100%;min-height:340px;border-radius:4px;overflow:hidden;background:var(--sky-tint);border:1px solid var(--sky-line);display:flex;align-items:center;justify-content:center;}
.story-media span{font-size:13px;color:var(--muted);font-weight:600;text-align:center;padding:0 24px;}
.story-media.has-photo{border:none;}
.story-media img{width:100%;height:100%;object-fit:cover;object-position:center 78%;display:block;}
.story-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.story-icon{width:44px;height:44px;border-radius:50%;background:var(--green-tint);border:1px solid var(--green-line);color:var(--green-dark);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.story-icon svg{width:22px;height:22px;}
.story-heading h2{margin:0;font-size:clamp(22px,2.8vw,28px);}
.story-copy p{color:#3c4048;font-size:15.5px;margin:0 0 14px;}
.story-copy p:last-child{margin-bottom:0;}
.story-copy p.story-intro{font-style:italic;color:var(--green-dark);font-size:16.5px;}
.story-copy .story-accent{color:var(--green-dark);}
/* QUOTE BAND */
.quote-band{background:var(--dark);color:var(--white);text-align:center;padding:14px 0 36px;}
.quote-band .mark{color:var(--gold);font-size:15px;margin-bottom:10px;}
.quote-band blockquote{font-family:'Libre Baskerville',serif;font-style:italic;font-size:clamp(16px,1.8vw,19px);line-height:1.4;max-width:640px;margin:0 auto;color:var(--white);}
.quote-band .attribution{margin-top:10px;font-size:11px;color:var(--green-soft);text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.fb-banner-inner{max-width:620px;margin:0 auto;position:relative;z-index:1;}
.fb-banner .eyebrow{margin-bottom:4px;font-size:11px;color:var(--gold);}
.fb-banner h2{font-size:clamp(18px,2vw,22px);margin:0 0 12px;color:var(--white);text-shadow:0 2px 14px rgba(0,0,0,0.35);}
/* TRIP TYPE STRIP — Land Trips and Cruises are separate sections again,
     told apart by background color (paper vs. sky-tint) rather than merged
     into one. Both use the same explanation shape: eyebrow, heading, one
     short intro line, a row of tags. Accent colors (teal for cruises,
     terracotta for land trips) live only in the eyebrow text. The year
     filter buttons sit on the right, in the same row as "See All". */
.trip-strip{padding:64px 0;}
.trip-strip.trip-strip-top{padding-bottom:24px;}
.trip-strip.trip-strip-bottom{padding-top:24px;}
.trip-strip.tone-sky{background:var(--paper);}
.trip-block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:40px;flex-wrap:wrap;}
.trip-block-copy{max-width:640px;}
.trip-block-copy h2{font-size:clamp(21px,2.4vw,26px);margin:0 0 10px;}
.trip-block-intro{color:var(--muted);font-size:14.5px;line-height:1.6;margin:0 0 14px;}
.trip-tags{display:flex;gap:10px;flex-wrap:wrap;}
.trip-tag{display:inline-flex;align-items:center;padding:6px 14px;border-radius:4px;border:1px solid var(--sky-line);background:var(--white);font-size:12.5px;font-weight:700;color:var(--dark);}
.trip-strip .eyebrow{margin-bottom:8px;}
.trip-block-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end;}
.trip-filter-row{display:flex;gap:8px;}
.trip-filter-btn{font-family:'Titillium Web',sans-serif;font-size:12px;font-weight:700;letter-spacing:.03em;padding:6px 16px;border-radius:4px;border:1.5px solid var(--sky-line);background:transparent;color:var(--dark);cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.trip-filter-btn:hover{border-color:var(--blue);}
.trip-filter-btn.active{background:var(--dark);color:var(--white);border-color:var(--dark);}
.trip-empty-note{font-size:14px;color:var(--muted);padding:10px 0 0;margin:0;}
.eyebrow.tone-terracotta{color:var(--sunset-1);}
.eyebrow.tone-teal{color:var(--blue);}
/* SPOTLIGHT STRIP — compact trip promo, repeats between sections instead of one big carousel.
     Vertical cards, same photo-on-top / body-below shape as the cruises listing page's cruise-card.
     Same white background as the Story section right after it, so the two read as one continuous
     zone coming out of the dark hero/facts-bar instead of a cream-to-white seam. */
.spotlight-strip{padding:44px 0 42px;background:var(--white);}
.spotlight-strip + section.alt{padding-top:43px;}
.spotlight-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:10px;}
.spotlight-head .eyebrow{margin-bottom:2px;}
.spotlight-head h3{font-size:19px;margin:0;}
.spotlight-see-all{font-size:13px;font-weight:700;color:var(--green-dark);text-decoration:none;white-space:nowrap;}
.spotlight-see-all:hover{text-decoration:underline;}
.spotlight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
/* MERGED COMMUNITY + FRIENDS + TESTIMONIALS */
/* COMMUNITY SECTION — same dark night-sky + numbered-triangle + proof-strip
     language used on the individual cruise pages' "Community" tab */
section.night-sky{
  background-image:
  radial-gradient(1.6px 1.6px at 6% 18%, var(--star), transparent 60%),
  radial-gradient(1.3px 1.3px at 14% 62%, var(--star), transparent 60%),
  radial-gradient(1.8px 1.8px at 24% 30%, var(--star), transparent 60%),
  radial-gradient(1.2px 1.2px at 33% 78%, var(--star), transparent 60%),
  radial-gradient(1.6px 1.6px at 46% 12%, var(--star), transparent 60%),
  radial-gradient(1.3px 1.3px at 58% 55%, var(--star), transparent 60%),
  radial-gradient(1.8px 1.8px at 68% 22%, var(--star), transparent 60%),
  radial-gradient(1.2px 1.2px at 77% 70%, var(--star), transparent 60%),
  radial-gradient(1.6px 1.6px at 88% 16%, var(--star), transparent 60%),
  radial-gradient(1.4px 1.4px at 94% 60%, var(--star), transparent 60%),
  radial-gradient(1.3px 1.3px at 40% 90%, var(--star), transparent 60%),
  radial-gradient(1.5px 1.5px at 82% 88%, var(--star), transparent 60%);
  background-repeat:no-repeat;
  }
section.dark-section{background:var(--dark);color:var(--white);position:relative;overflow:hidden;}
section.dark-section.night-sky{padding-bottom:20px;}
section.dark-section h2, section.dark-section h3, section.dark-section h4{color:var(--white);}
section.dark-section .section-head p{color:#c7ccd1;}
section.dark-section .section-head .eyebrow{color:var(--gold);}
.community-props{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:4px 0 32px;}
.community-prop{display:flex;gap:13px;align-items:flex-start;}

.community-prop h4{font-size:14.5px;margin:0 0 3px;color:var(--white);}
.community-prop p{font-size:13px;color:#c3c9d0;margin:0;line-height:1.45;}
.proof-strip-wrap{border-top:1px solid var(--line-on-dark);padding-top:24px;margin-top:8px;}
.proof-head-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.proof-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--star);margin-bottom:0;}
.proof-arrows{display:flex;gap:8px;}
.proof-arrow-btn{
  width:32px;height:32px;border-radius:50%;border:1px solid var(--line-on-dark);background:transparent;
  color:var(--white);font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .15s;
  }
.proof-arrow-btn:hover{background:rgba(255,255,255,0.1);}
.proof-strip{
  display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:4px;-ms-overflow-style:none;scrollbar-width:none;
  }
.proof-strip::-webkit-scrollbar{display:none;}
.proof-chip{
  flex:0 0 calc((100% - 28px) / 3);scroll-snap-align:start;display:flex;gap:11px;align-items:flex-start;
  background:var(--white);border:1px solid var(--green-line);border-radius:4px;padding:13px 15px;
  }

.proof-chip p{font-size:12px;color:var(--dark);margin:0 0 4px;line-height:1.4;}
.proof-chip .who{font-size:11px;color:var(--green-dark);font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
/* COMING SOON — postmark cards, five across in one row. Ideas only, so
     no dates anywhere: the stamp carries a simple brand mark instead. */
.coming-soon{background:var(--dark-soft);padding:48px 0;text-align:center;color:var(--white);}
.coming-soon h3{color:var(--white);margin-bottom:26px;}
.coming-soon-cta{display:inline-block;margin-top:28px;font-size:13.5px;font-weight:700;color:var(--green-soft);text-decoration:none;}
.coming-soon-cta:hover{text-decoration:underline;}
.cs-row{display:flex;gap:16px;justify-content:center;overflow-x:auto;padding-bottom:4px;}
.cs-postmark-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.cs-postmark-stamp{position:absolute;top:8px;right:8px;width:38px;height:38px;border-radius:50%;border:2px dashed rgba(255,253,247,0.9);background:rgba(21,34,48,0.55);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:15px;}
.cs-postmark-divider{height:1px;margin:12px 0;background-image:linear-gradient(to right, var(--line) 50%, rgba(0,0,0,0) 50%);background-size:8px 1px;}
.cs-postmark-title{font-family:'Libre Baskerville',serif;font-weight:700;font-size:14.5px;line-height:1.3;color:var(--dark);}
/* STAY UPDATED */
.stay-updated{background:var(--sky-tint);}
.update-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.update-card{background:var(--white);border-radius:4px;overflow:hidden;border:1px solid var(--line);box-shadow:0 6px 18px rgba(21,34,48,0.09);display:flex;flex-direction:column;}
.update-card-photo{aspect-ratio:16/10;overflow:hidden;}
.update-card-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.update-card-body{padding:20px 20px 22px;border-top:3px solid var(--green);flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;}
.update-icon{width:30px;height:30px;border-radius:50%;background:var(--green-tint);color:var(--green-dark);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;flex:0 0 auto;}
.update-icon svg{width:15px;height:15px;}
.update-card h4{font-size:15px;margin-bottom:8px;}
.update-card p{font-size:12.5px;color:var(--muted);margin:0 0 16px;flex:1;}
.update-card .btn{width:100%;text-align:center;}
.newsletter-form{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:auto;}
.newsletter-form input{width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:4px;background:var(--white);font-family:'Titillium Web',sans-serif;font-size:13px;text-align:center;box-sizing:border-box;}
.nl-msg{margin:8px 0 0;font-size:13.5px;line-height:1.4;text-align:center;min-height:0;}
.nl-msg:empty{display:none;}
.nl-msg.nl-ok{color:var(--green-dark);font-weight:700;}
.nl-msg.nl-err{color:var(--sunset-1);}
/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:56px;align-items:start;}
.contact-channels{display:flex;flex-direction:column;gap:16px;margin-top:26px;}
.contact-channel{display:flex;align-items:center;gap:12px;font-size:15.5px;font-weight:600;color:var(--dark);text-decoration:none;font-family:'Libre Baskerville',serif;}
.contact-channel .cc-icon{width:26px;height:26px;border-radius:50%;background:var(--green-tint);color:var(--green-dark);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.contact-channel .cc-icon svg{width:13px;height:13px;}
.contact-form{background:var(--white);border-radius:4px;border:1px solid var(--line);border-top:4px solid var(--green);padding:32px;box-shadow:0 16px 36px rgba(21,34,48,0.12);}
.form-row{margin-bottom:16px;}
.form-row label, .form-row legend{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px;}
.form-row select, .form-row textarea, .form-row input[type="text"], .form-row input[type="email"]{width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:4px;background:var(--white);font-family:'Titillium Web',sans-serif;font-size:14px;color:var(--dark);box-sizing:border-box;}
.form-row textarea{min-height:110px;resize:vertical;}
.form-row-split{display:flex;gap:16px;margin-bottom:16px;}
.form-row-split .form-row{flex:1;margin-bottom:0;}
.reason-chips{display:flex;flex-wrap:wrap;gap:8px;}
.reason-chip{padding:9px 16px;border-radius:4px;border:1.5px solid var(--line);background:var(--white);font-family:'Titillium Web',sans-serif;font-weight:700;font-size:12.5px;color:var(--dark);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease;}
.reason-chip:hover{border-color:var(--green);}
.reason-chip.active{background:var(--green-dark);border-color:var(--green-dark);color:var(--white);}
/* Contact form: the chips are radio buttons (one reason = one inbox, see js/contact-form.js) */
fieldset.form-row{border:0;padding:0;margin:0 0 16px;min-width:0;}
fieldset.form-row legend{padding:0;}
.reason-chips .reason-chip{display:inline-block;position:relative;margin:0;text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--dark);}
.reason-chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none;}
.reason-chips .reason-chip:has(input:checked){background:var(--green-dark);border-color:var(--green-dark);color:var(--white);}
.reason-chip:has(input:focus-visible){outline:2px solid var(--green);outline-offset:2px;}
.reason-chips .reason-chip.active{color:var(--white);}
.contact-form .cf-msg{text-align:left;margin-top:12px;font-size:14.5px;}
/* FAQ */
.faq-category-label{font-family:'Titillium Web',sans-serif;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--green-dark);margin:28px 0 6px;}
.faq-category-label:first-child{margin-top:0;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{list-style:none;cursor:pointer;padding:16px 0;font-family:'Titillium Web',sans-serif;font-weight:700;font-size:15px;color:var(--dark);display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:after{content:"+";font-size:20px;color:var(--green-dark);font-weight:400;}
.faq-item[open] summary:after{content:"\2013";}
.faq-item .faq-a{padding:0 0 18px;color:#3c4048;font-size:14.5px;max-width:760px;}
.faq-item .faq-a p{margin:0;}
.faq-item .faq-a p + p, .faq-item .faq-a p + ul, .faq-item .faq-a ul + p{margin-top:10px;}
.faq-item .faq-a ul{margin:10px 0 0;padding-left:20px;}
.faq-item .faq-a li{margin-bottom:5px;}


@media (max-width:1000px){
  .spotlight-grid{grid-template-columns:repeat(2,1fr);}
  .update-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:900px){
  .story-grid{grid-template-columns:1fr;}
  .trip-block-head{align-items:flex-start;}
  .trip-block-actions{justify-content:flex-start;}
  .community-props{grid-template-columns:1fr;gap:18px;}
  .proof-chip{flex:0 0 82%;}
  .contact-grid{grid-template-columns:1fr;}
  
}
@media (max-width:640px){
  
  .update-grid{grid-template-columns:1fr;}
  .spotlight-grid{grid-template-columns:1fr;}
}
.proof-chip .who .who-trip{font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0;margin-left:6px;}
.proof-chip .who .who-trip:before{content:"· ";}
.coming-soon .eyebrow{color:var(--gold);}

/* COMING SOON cards open the "idea stage" interest popup (js/waitlist.js) */
.cs-postmark-card[data-idea]{cursor:pointer;transition:transform .15s ease;}
.cs-postmark-card[data-idea]:hover{transform:translateY(-3px);}
.cs-postmark-card[data-idea]:focus-visible{outline:3px solid var(--gold);outline-offset:4px;}
.cs-credits{margin-top:14px;font-size:11.5px;color:rgba(255,255,255,0.55);}
.cs-credits summary{cursor:pointer;display:inline-block;}
.cs-credits p{margin:6px 0 0;line-height:1.6;max-width:760px;}
.cs-credits a{color:inherit;}
