.tr-dynamic-trip .dt-hero-photo{position:absolute;inset:0;z-index:2;background-image:var(--dt-hero);background-position:center;background-repeat:no-repeat}.tr-dynamic-trip .dt-hero-photo--brushed{background-size:100% 100%}.tr-dynamic-trip .dt-hero-photo--original{background-size:cover}.tr-dynamic-trip .dt-trip-photo{width:100%;height:206px;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:1px}.tr-dynamic-trip .tr-approved-photo-sketch .dt-trip-photo{width:100%;height:100%;filter:url(#tr-route-sketch-filter) grayscale(1) contrast(1.42);background-size:cover;background-position:center;background-repeat:no-repeat}.tr-dynamic-trip .tr-approved-day{grid-template-columns:92px 300px 380px minmax(180px,1fr);gap:30px}.tr-dynamic-trip .tr-approved-day__copy{padding-right:12px}.tr-dynamic-trip .tr-approved-day__arabic{margin-top:18px;padding-top:15px}.tr-dynamic-trip .tr-approved-polaroid{position:relative;z-index:3}.tr-dynamic-trip .tr-approved-photo-sketch{position:relative;z-index:1;max-width:255px;height:168px;margin-left:-70px;opacity:.28;pointer-events:none}.tr-dynamic-trip .tr-approved-day:nth-child(even) .tr-approved-photo-sketch{margin-left:-80px;opacity:.25}.tr-dynamic-trip .tr-approved-day:nth-child(3n) .tr-approved-photo-sketch{margin-left:-62px;opacity:.27}.tr-dynamic-trip .dt-join-photo{height:100%;min-height:230px;background-size:cover;background-position:center;border:6px solid rgba(255,253,248,.98);box-shadow:0 9px 22px rgba(59,58,54,.12);transform:rotate(-.6deg)}.tr-dynamic-trip .tr-approved-level i{background:transparent}.tr-dynamic-trip .dt-level-1 i:nth-child(-n+1),.tr-dynamic-trip .dt-level-2 i:nth-child(-n+2),.tr-dynamic-trip .dt-level-3 i:nth-child(-n+3),.tr-dynamic-trip .dt-level-4 i:nth-child(-n+4),.tr-dynamic-trip .dt-level-5 i:nth-child(-n+5){background:var(--tr-coral)}.tr-dynamic-trip .dt-fallback-icon{font-size:20px;line-height:1}@media(max-width:980px){.tr-dynamic-trip .tr-approved-day{grid-template-columns:82px 1fr 1fr}.tr-dynamic-trip .tr-approved-photo-sketch{display:none}}@media(max-width:680px){.tr-dynamic-trip .tr-approved-day{grid-template-columns:74px 1fr;gap:18px}.tr-dynamic-trip .tr-approved-polaroid{grid-column:1/-1;margin-left:74px}.tr-dynamic-trip .dt-trip-photo{height:190px}}

.dt-public-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dt-story-card{border:1px solid rgba(59,58,54,.12);background:#f8f3e8}.dt-story-card__image{display:block;aspect-ratio:4/3;background:#d9d2c5 center/cover no-repeat}.dt-story-card__body{padding:18px}.dt-story-card__body small,.dt-public-eyebrow{color:#d97a5b;text-transform:uppercase;font-size:11px;font-weight:700}.dt-story-card__body h3{font:400 25px/1.05 Georgia,serif;margin:8px 0}.dt-story-card__body h3 a{color:#3b3a36;text-decoration:none}.dt-story-card__body p{color:#5e5b55}.dt-story-card__body>span{font-size:11px;color:#777}
.dt-public-info{display:grid;gap:60px}.dt-info-public-section{padding:10px 0}.dt-info-public-section>h2{font:400 42px/1 Georgia,serif;margin:8px 0 12px}.dt-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.dt-how-grid article{border:1px solid rgba(59,58,54,.12);padding:22px;background:#f8f3e8}.dt-how-grid article>span{width:30px;height:30px;border-radius:50%;background:#d97a5b;color:white;display:grid;place-items:center;font-weight:700}.dt-how-grid h3{font:400 22px Georgia,serif}.dt-accordion{display:grid;gap:8px;margin-top:22px}.dt-accordion details{border:1px solid rgba(59,58,54,.12);padding:0 16px;background:#f8f3e8}.dt-accordion summary{cursor:pointer;padding:14px 0;font-weight:700}.dt-faq-grid{grid-template-columns:1fr 1fr}.dt-contact-lines{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.dt-contact-lines a{color:#d97a5b}.dt-contact-lines em{font-family:cursive;color:#d97a5b}
.dt-story-single{background:#f3eedf;color:#3b3a36;min-height:100vh}.dt-story-hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:42% 58%;align-items:center;min-height:520px}.dt-story-hero__copy{padding:50px 6vw}.dt-story-back{color:#d97a5b;text-decoration:none;text-transform:uppercase;font-size:11px}.dt-story-hero__copy>p{color:#d97a5b;text-transform:uppercase;font-weight:700;font-size:11px;margin-top:35px}.dt-story-hero h1{font:400 clamp(48px,6vw,78px)/.95 Georgia,serif;margin:12px 0 20px}.dt-story-meta{display:flex;gap:18px;font-size:11px;text-transform:uppercase}.dt-story-hero__image{height:520px;background:center/cover no-repeat}.dt-story-content{max-width:920px;margin:auto;padding:70px 30px 100px}.dt-story-lede{font:400 25px/1.4 Georgia,serif;max-width:720px}.dt-story-prose{font-size:17px;line-height:1.8}.dt-story-prose p{margin:0 0 1.5em}.dt-story-route-card{margin-top:60px;border:1px solid rgba(59,58,54,.14);padding:28px;background:#f8f3e8}.dt-story-route-card small{color:#d97a5b;text-transform:uppercase;font-weight:700}.dt-story-route-card h2{font:400 32px Georgia,serif;margin:8px 0}.dt-story-route-card a{color:#d97a5b;text-transform:uppercase;font-size:11px;font-weight:700;text-decoration:none}
@media(max-width:900px){.dt-public-stories{grid-template-columns:1fr 1fr}.dt-how-grid,.dt-faq-grid{grid-template-columns:1fr}.dt-story-hero{grid-template-columns:1fr}.dt-story-hero__image{height:360px}}
@media(max-width:600px){.dt-public-stories{grid-template-columns:1fr}}

/* v0.5: route stamp always sits above the finished brushed hero. */
.tr-dynamic-trip .tr-approved-hero__media{position:relative;isolation:isolate}
.tr-dynamic-trip .dt-hero-photo{z-index:1!important}
.tr-dynamic-trip .tr-approved-hero__stamp{position:absolute!important;z-index:8!important;pointer-events:none}
.tr-dynamic-trip .tr-approved-note{position:absolute;z-index:9!important}

/* Plugin-owned archive / virtual pages. */
.dt-archive-page{max-width:1380px;margin:0 auto;padding:60px 42px 90px;color:#3b3a36}
.dt-archive-hero{padding:20px 0 42px;max-width:760px}
.dt-archive-hero h1{font:400 clamp(48px,6vw,78px)/.96 Georgia,serif;margin:8px 0 16px}
.dt-archive-hero>p:last-child{font-size:16px;color:#5f5b54;max-width:620px}
.dt-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.dt-route-card{border:1px solid rgba(59,58,54,.12);background:#f8f3e8;overflow:hidden}
.dt-route-card__image{display:block;aspect-ratio:4/3;background:#d8d1c4 center/cover no-repeat}
.dt-route-card__body{padding:20px}
.dt-route-card__body small{display:block;color:#d97a5b;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.04em}
.dt-route-card__body h2{font:400 29px/1 Georgia,serif;margin:8px 0 12px}
.dt-route-card__body h2 a{color:#3b3a36;text-decoration:none}
.dt-route-card__body p{min-height:54px;color:#5f5b54}
.dt-route-card__meta{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid rgba(59,58,54,.1);padding-top:12px;margin-top:16px;font-size:10px;text-transform:uppercase}
.dt-route-card__link,.dt-archive-links a{display:inline-block;margin-top:18px;color:#d97a5b;text-transform:uppercase;font-size:10px;font-weight:700;text-decoration:none}
.dt-route-card.is-past .dt-route-card__image{filter:saturate(.82)}
.dt-archive-links{text-align:right;padding-top:28px}
.dt-stories-archive .dt-public-stories{margin-top:6px}
.dt-info-page{max-width:1180px}
.dt-info-page .dt-public-info{padding-bottom:30px}
@media(max-width:980px){.dt-route-grid{grid-template-columns:1fr 1fr}.dt-archive-page{padding-left:24px;padding-right:24px}}
@media(max-width:640px){.dt-route-grid{grid-template-columns:1fr}.dt-archive-page{padding:34px 16px 70px}}

/* v0.8 archived routes imported from the original site */
.tr-legacy-itinerary{padding:42px 0 64px;background:var(--tr-cream,#f3eedf)}
.tr-legacy-itinerary__pages{max-width:980px;margin:0 auto;display:grid;gap:26px}
.tr-legacy-itinerary__page{margin:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(59,58,54,.08)}
.tr-legacy-itinerary__page img{display:block;width:100%;height:auto}
@media(max-width:700px){.tr-legacy-itinerary{padding:24px 0 42px}.tr-legacy-itinerary__pages{gap:16px}.tr-legacy-itinerary__page{border-radius:8px}}
.dt-route-pdf-link{display:inline-flex!important;align-items:center;gap:6px}.dt-customer-profile{padding:20px;border:1px solid #e4ddd2;border-radius:8px;background:#f8f3ea}.dt-customer-profile__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0}.dt-customer-profile__grid div{display:grid;gap:3px}.dt-customer-profile__grid span{font-size:11px;opacity:.65}.dt-customer-profile form{display:grid;gap:10px;margin-top:18px}