/* ==========================================================================
   TT Core — Real Tours story layout (Claude, v0.5.0)
   The story of each real tour, laid out as the main part of the page.
   ========================================================================== */
.ttrt-band{padding:64px 0}
.ttrt-band--sand{background:var(--sand)}
.ttrt .ttrt-h{font-size:clamp(26px,3.2vw,36px);margin:0 0 22px}
.ttrt p{font-size:17px;line-height:1.7;color:var(--txt)}
.ttrt p+p{margin-top:14px}
.ttrt-prose{max-width:820px}

/* 1. the journey designer */
.ttrt-who{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:48px;align-items:start}
.ttrt-who__card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 28px;position:relative}
.ttrt-who__mono{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--acc);color:#fff;font:600 34px/1 'Fraunces',Georgia,serif;margin-bottom:18px}
.ttrt .ttrt-eb{font:700 13px/1.3 'Public Sans',system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin:0 0 6px}
.ttrt .ttrt-who__name{font-size:34px;margin:0 0 6px}
.ttrt .ttrt-who__meta,.ttrt .ttrt-who__meta p{font:500 15px/1.5 'Public Sans',system-ui,sans-serif;color:var(--mute);margin:0}
.ttrt .ttrt-who__k{font:700 12px/1.3 'Public Sans',system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin:22px 0 10px;padding-top:18px;border-top:1px solid var(--line)}
.ttrt .ttrt-who__tour{display:block;margin:0 0 8px;font-size:15px;line-height:1.45}
.ttrt .ttrt-who__tour p{font-size:15px;margin:0}
.ttrt .ttrt-who__tour a{font-weight:600}
.ttrt .ttrt-who__tour.is-this{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.ttrt .ttrt-who__tt{font:600 16px/1.35 'Public Sans',system-ui,sans-serif;color:var(--ink)}
.ttrt .ttrt-who__tour.is-this span{font-size:12px;font-weight:700;color:var(--ok);background:#E6F0EA;border-radius:999px;padding:2px 9px}
.ttrt-who__bio p:first-child{font-size:19px;color:var(--ink)}

/* 2. how this tour came to be */
.ttrt-story{display:grid;grid-template-columns:minmax(0,1fr);gap:56px;align-items:start}
.ttrt-story.has-img{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.ttrt-story__txt p:first-child::first-letter{float:left;font:600 64px/.9 'Fraunces',Georgia,serif;color:var(--acc);margin:6px 10px 0 0}
.ttrt-story__img{border-radius:18px;overflow:hidden;position:sticky;top:110px;aspect-ratio:4/5;max-height:620px}
.ttrt-story__img img{width:100%;height:100%;object-fit:cover}
.ttrt-note{margin-top:26px;background:var(--sand);border-left:3px solid var(--acc);border-radius:0 12px 12px 0;padding:18px 22px}
.ttrt .ttrt-note__h{font-size:19px;margin:0 0 6px}
.ttrt-note p{font-size:16px}

/* 3. what you will see & do */
.ttrt-see ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px 28px}
.ttrt-see li{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px 14px 48px;font-size:16px;line-height:1.5;color:var(--txt)}
.ttrt-see li::before{content:"";position:absolute;left:16px;top:16px;width:20px;height:20px;border-radius:50%;background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}

/* 4. the pillars */
.ttrt-pillars{display:grid;gap:28px}
.ttrt-pillar{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center;border-top:1px solid var(--line);padding-top:28px}
.ttrt-pillar:first-child{border-top:0;padding-top:0}
.ttrt-pillar.has-img{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.ttrt-pillar.has-img.is-flip .ttrt-pillar__img{order:2}
.ttrt-pillar:not(.has-img) .ttrt-pillar__b{max-width:820px}
.ttrt-pillar__img{border-radius:18px;overflow:hidden;aspect-ratio:4/3}
.ttrt-pillar__img img{width:100%;height:100%;object-fit:cover}
.ttrt-pillar__n{display:block;font:600 40px/1 'Fraunces',Georgia,serif;color:var(--acc);margin-bottom:12px}
.ttrt .ttrt-pillar__h{font-size:clamp(22px,2.4vw,28px);margin:0 0 14px}

/* 5. meal plan / trip at a glance */
.ttrt-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;align-items:start}
.ttrt-facts--1{max-width:760px}
.ttrt-fact{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 28px}
.ttrt .ttrt-fact__h{font-size:24px;margin:0 0 14px}
.ttrt-fact li{position:relative;padding:9px 0 9px 22px;border-top:1px solid var(--line);font-size:15.5px;line-height:1.5;color:var(--txt)}
.ttrt-fact li:first-child{border-top:0}
.ttrt-fact li::before{content:"";position:absolute;left:2px;top:17px;width:8px;height:8px;border-radius:50%;background:var(--gold)}

@media (max-width:900px){
  .ttrt-band{padding:48px 0}
  .ttrt-who,.ttrt-story.has-img,.ttrt-pillar.has-img{grid-template-columns:minmax(0,1fr);gap:28px}
  .ttrt-pillar.has-img.is-flip .ttrt-pillar__img{order:0}
  .ttrt-story__img{position:static;aspect-ratio:16/10;order:-1}
  .ttrt-see ul{grid-template-columns:minmax(0,1fr)}
  .ttrt p{font-size:16px}
}
.ttrt-story:not(.has-img) .ttrt-story__b{max-width:820px}
.ttrt-pillars--cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ttrt-pillars--cards.ttrt-pillars--2,.ttrt-pillars--cards.ttrt-pillars--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.ttrt-pillars--cards .ttrt-pillar{border:1px solid var(--line);border-radius:16px;padding:26px 26px 28px;background:#fff;align-items:start}
.ttrt-pillars--cards .ttrt-pillar:first-child{border-top:1px solid var(--line);padding-top:26px}
.ttrt-pillars--cards .ttrt-pillar p{font-size:16px}
@media (max-width:900px){.ttrt-pillars--cards,.ttrt-pillars--cards.ttrt-pillars--2,.ttrt-pillars--cards.ttrt-pillars--4{grid-template-columns:minmax(0,1fr)}}
