.logo-mark {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-family: "Ogg Medium", serif;
  font-size: 19px;
}
.site-logo { display: inline-flex; align-items: center; gap: 12px; font-family: inherit; font-size: 15px; font-weight: 700; letter-spacing: 0.18em; }
.hero-overline { position: absolute; z-index: 9; left: 50%; top: clamp(94px, 14vh, 150px); margin: 0; transform: translateX(-50%); color: rgba(253,241,225,0.88); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; white-space: nowrap; }
.content-section { padding: 150px clamp(28px, 6vw, 112px); background: #f0eadf; color: #17211b; }
.section-kicker { margin: 0 0 34px; color: #8b5d3b; font-size: 11px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
.content-section h2, .journey-cta h2 { margin: 0; font-family: "Ogg Medium", serif; font-weight: 500; letter-spacing: -0.035em; }
.portfolio-bar { min-height: 70px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px; padding: 0 clamp(28px, 4vw, 72px); border-bottom: 1px solid rgba(23,33,27,0.2); background: #f0eadf; color: #17211b; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.portfolio-bar span:nth-child(2) { text-align: center; }.portfolio-bar span:last-child { text-align: right; }
.editorial-intro { padding-top: 190px; padding-bottom: 190px; }
.editorial-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(300px,.7fr); gap: clamp(60px,10vw,180px); align-items: end; }
.editorial-grid h2 { font-size: clamp(4.4rem,8.4vw,10.5rem); line-height: .82; }
.editorial-copy p { margin: 0; font-size: clamp(1.22rem,1.6vw,1.7rem); line-height: 1.28; }.editorial-copy .muted-copy { margin-top: 28px; color: rgba(23,33,27,.6); font-size: 1rem; }
.text-link { display: inline-flex; align-items: center; gap: 18px; margin-top: 46px; padding-bottom: 8px; border-bottom: 1px solid currentColor; color: inherit; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }
.destinations-section { background: #17211b; color: #f0eadf; }.destinations-section .section-kicker { color: #cfa87f; }
.section-heading { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(280px,.45fr); gap: 80px; align-items: end; margin-bottom: 88px; }.section-heading h2 { font-size: clamp(3.8rem,6.2vw,7.8rem); line-height: .88; }.section-heading > p { max-width: 410px; margin: 0 0 8px; color: rgba(240,234,223,.65); font-size: 1rem; line-height: 1.55; }
.destination-switcher { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(240,234,223,.28); }
.destination-tab { display: flex; align-items: center; gap: 18px; padding: 24px 16px; border-right: 1px solid rgba(240,234,223,.18); border-bottom: 1px solid rgba(240,234,223,.28); color: rgba(240,234,223,.5); background: transparent; font-family: "Ogg Medium", serif; font-size: clamp(1.35rem,2vw,2rem); text-align: left; cursor: pointer; transition: color 220ms ease,background 220ms ease; }.destination-tab:first-child { border-left: 1px solid rgba(240,234,223,.18); }.destination-tab span { font-family: inherit; font-size: 10px; font-weight: 700; letter-spacing: .12em; }.destination-tab:hover,.destination-tab.is-selected { color: #17211b; background: #f0eadf; }
.destination-preview { --destination-accent:#78b6c6; position: relative; min-height: 650px; display: grid; grid-template-columns: 1fr .58fr; gap: 60px; align-items: end; padding: clamp(40px,6vw,92px); overflow: hidden; background: radial-gradient(circle at 70% 28%,color-mix(in srgb,var(--destination-accent) 90%,white 10%) 0 7%,transparent 7.2%),linear-gradient(135deg,color-mix(in srgb,var(--destination-accent) 70%,#1b2821 30%),#1b2821 68%); transition: background 420ms ease; }.destination-preview[data-theme="cappadocia"] { --destination-accent:#d29a72; }.destination-preview[data-theme="marrakech"] { --destination-accent:#b5563d; }.destination-preview[data-theme="kyoto"] { --destination-accent:#a8b286; }
.destination-preview::before { content:""; position:absolute; width:min(62vw,850px); aspect-ratio:1; right:-8%; top:-28%; border:1px solid rgba(240,234,223,.32); border-radius:50%; box-shadow:0 0 0 76px rgba(240,234,223,.035),0 0 0 152px rgba(240,234,223,.025); }.destination-preview::after { content:"TERRA"; position:absolute; right:-.08em; bottom:-.19em; color:rgba(240,234,223,.08); font-family:"Ogg Medium",serif; font-size:clamp(9rem,23vw,28rem); line-height:.7; }
.destination-preview-copy,.destination-facts { position:relative; z-index:1; }.destination-region { margin:0 0 18px; font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }.destination-name { margin:0; font-family:"Ogg Medium",serif; font-size:clamp(5rem,11vw,13rem); font-weight:500; line-height:.74; letter-spacing:-.045em; }.destination-description { max-width:510px; margin:38px 0 0; font-size:clamp(1.1rem,1.55vw,1.5rem); line-height:1.32; }.destination-link { display:inline-flex; gap:18px; margin-top:42px; color:inherit; font-size:11px; font-weight:800; letter-spacing:.15em; text-decoration:none; text-transform:uppercase; }
.destination-facts { display:grid; gap:26px; margin:0; padding:36px; border:1px solid rgba(240,234,223,.34); background:rgba(20,29,24,.16); backdrop-filter:blur(18px); }.destination-facts div { display:flex; justify-content:space-between; gap:24px; padding-bottom:22px; border-bottom:1px solid rgba(240,234,223,.2); }.destination-facts div:last-child { padding:0; border:0; }.destination-facts dt { color:rgba(240,234,223,.58); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.destination-facts dd { margin:0; font-family:"Ogg Medium",serif; font-size:1.25rem; text-align:right; }.destination-orbit { position:absolute; z-index:1; right:8%; top:10%; display:flex; align-items:center; gap:12px; color:rgba(240,234,223,.64); font-size:9px; letter-spacing:.15em; }.destination-orbit i { width:32px; height:1px; background:currentColor; }
.route-section { background:#e8ddca; }.route-intro { display:grid; grid-template-columns:.8fr 1.35fr .65fr; gap:70px; align-items:end; }.route-intro .section-kicker { align-self:start; }.route-intro h2 { font-size:clamp(4rem,7.4vw,9rem); line-height:.84; }.route-intro > p:last-child { margin:0 0 8px; color:rgba(23,33,27,.65); line-height:1.55; }
.practical-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:100px; border-top:1px solid rgba(23,33,27,.25); border-bottom:1px solid rgba(23,33,27,.25); }.practical-grid article { min-height:300px; padding:28px 28px 42px; border-right:1px solid rgba(23,33,27,.22); }.practical-grid article:first-child { border-left:1px solid rgba(23,33,27,.22); }.practical-grid span { color:#8b5d3b; font-size:10px; font-weight:800; }.practical-grid h3 { margin:72px 0 20px; font-family:"Ogg Medium",serif; font-size:2rem; font-weight:500; }.practical-grid p { margin:0; color:rgba(23,33,27,.67); font-size:.95rem; line-height:1.5; }
.itinerary-layout { display:grid; grid-template-columns:.75fr 1.25fr; margin-top:100px; background:#17211b; color:#f0eadf; }.day-tabs { display:grid; border-right:1px solid rgba(240,234,223,.2); }.day-tab { display:grid; grid-template-columns:82px 1fr; gap:8px 24px; align-content:center; min-height:170px; padding:32px; border-bottom:1px solid rgba(240,234,223,.18); color:rgba(240,234,223,.48); background:transparent; text-align:left; cursor:pointer; transition:color 200ms ease,background 200ms ease; }.day-tab:last-child { border-bottom:0; }.day-tab:hover,.day-tab.is-selected { color:#17211b; background:#f0eadf; }.day-tab span { grid-row:1/3; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.day-tab strong { font-family:"Ogg Medium",serif; font-size:1.8rem; font-weight:500; }.day-tab i { font-size:11px; font-style:normal; letter-spacing:.1em; text-transform:uppercase; }
.day-detail { position:relative; min-height:510px; padding:clamp(48px,7vw,108px); overflow:hidden; }.day-number { position:absolute; right:4%; top:-15%; color:rgba(240,234,223,.05); font-family:"Ogg Medium",serif; font-size:clamp(15rem,28vw,34rem); line-height:1; }.day-time { position:relative; margin:0 0 46px; color:#cfa87f; font-size:10px; font-weight:800; letter-spacing:.16em; }.day-title { position:relative; max-width:720px; margin:0; font-family:"Ogg Medium",serif; font-size:clamp(3rem,5.4vw,6.5rem); font-weight:500; line-height:.9; }.day-description { position:relative; max-width:600px; margin:38px 0 0; color:rgba(240,234,223,.7); font-size:1.05rem; line-height:1.55; }.day-stops { position:relative; display:flex; flex-wrap:wrap; gap:10px; margin:42px 0 0; padding:0; list-style:none; }.day-stops li { padding:11px 18px; border:1px solid rgba(240,234,223,.28); border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.field-section { background:#f0eadf; }.field-section .section-heading > p { color:rgba(23,33,27,.62); }.photo-grid { display:grid; grid-template-columns:1.4fr .8fr; grid-template-rows:repeat(2,minmax(320px,38vw)); gap:18px; }.photo-card { position:relative; margin:0; overflow:hidden; background:#8cb6c5; }.photo-card-wide { grid-row:1/3; }.photo-card img { width:100%; height:100%; display:block; object-fit:cover; transition:transform 800ms cubic-bezier(.22,1,.36,1); }.photo-card:nth-child(2) img { object-fit:contain; background:linear-gradient(#80b7d8,#7d9690); transform:scale(1.14); }.photo-card:hover img { transform:scale(1.035); }.photo-card:nth-child(2):hover img { transform:scale(1.18); }.photo-card figcaption { position:absolute; left:24px; right:24px; bottom:22px; display:flex; gap:18px; color:#fdf1e1; font-size:11px; font-weight:800; letter-spacing:.12em; text-shadow:0 2px 14px rgba(0,0,0,.45); text-transform:uppercase; }
.map-section { display:grid; grid-template-columns:.65fr 1.35fr; gap:90px; background:#17211b; color:#f0eadf; }.map-section .section-kicker { color:#cfa87f; }.map-copy h2 { max-width:520px; font-size:clamp(3.8rem,6vw,7rem); line-height:.88; }.map-copy > p:not(.section-kicker) { max-width:430px; margin:34px 0 0; color:rgba(240,234,223,.62); line-height:1.55; }.map-location { margin-top:80px; padding:26px 0; border-top:1px solid rgba(240,234,223,.24); border-bottom:1px solid rgba(240,234,223,.24); }.map-location span { display:block; color:#cfa87f; font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }.map-location strong { display:block; margin-top:16px; font-family:"Ogg Medium",serif; font-size:2rem; font-weight:500; }.map-location p { margin:8px 0 0; color:rgba(240,234,223,.6); font-size:.9rem; }
.route-map { position:relative; min-height:720px; overflow:hidden; border:1px solid rgba(240,234,223,.22); background-color:#d6c4a7; background-image:linear-gradient(rgba(23,33,27,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(23,33,27,.08) 1px,transparent 1px); background-size:48px 48px; }.river-line { position:absolute; width:170px; height:920px; left:43%; top:-90px; border-radius:48% 52% 44% 56%; background:#6aa9b7; transform:rotate(14deg); box-shadow:inset 22px 0 0 rgba(255,255,255,.1); }.route-line { position:absolute; width:360px; height:500px; left:32%; top:110px; border:2px dashed rgba(23,33,27,.55); border-radius:48%; transform:rotate(-8deg); }.map-pin { position:absolute; z-index:2; width:54px; height:54px; display:inline-flex; align-items:center; justify-content:center; border:8px solid #f0eadf; border-radius:50%; color:#f0eadf; background:#17211b; box-shadow:0 12px 30px rgba(23,33,27,.3); cursor:pointer; transition:transform 200ms ease,background 200ms ease; }.map-pin:hover,.map-pin.is-selected { background:#8b5d3b; transform:scale(1.14); }.map-pin span { font-size:9px; font-weight:800; }.pin-one { left:38%; top:52%; }.pin-two { left:26%; top:26%; }.pin-three { left:63%; top:20%; }.pin-four { left:60%; top:71%; }.map-label { position:absolute; color:rgba(23,33,27,.62); font-family:"Ogg Medium",serif; font-style:italic; }.label-river { left:58%; top:46%; transform:rotate(76deg); }.label-north { right:28px; top:28px; font-family:inherit; font-style:normal; font-weight:800; }
.case-section { background:#e8ddca; }.case-heading { display:grid; grid-template-columns:.4fr 1.2fr .55fr; gap:70px; align-items:end; }.case-heading .section-kicker { align-self:start; }.case-heading h2 { font-size:clamp(4rem,7vw,8.7rem); line-height:.85; }.case-heading > p { margin:0 0 8px; color:rgba(23,33,27,.65); line-height:1.55; }.case-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:120px; border-top:1px solid rgba(23,33,27,.25); }.case-grid article { padding:30px 42px 50px 0; border-right:1px solid rgba(23,33,27,.2); }.case-grid article+article { padding-left:42px; }.case-grid article:last-child { border-right:0; }.case-grid span,.project-specs dt { color:#8b5d3b; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.case-grid h3 { margin:60px 0 20px; font-family:"Ogg Medium",serif; font-size:clamp(1.8rem,2.5vw,2.8rem); font-weight:500; line-height:1; }.case-grid p { margin:0; color:rgba(23,33,27,.64); line-height:1.5; }.project-specs { display:grid; grid-template-columns:repeat(4,1fr); margin:100px 0 0; padding:48px 0 0; border-top:1px solid rgba(23,33,27,.25); }.project-specs dd { margin:24px 0 0; font-family:"Ogg Medium",serif; font-size:1.3rem; line-height:1.45; }
.journey-cta { position:relative; min-height:900px; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; padding:120px 28px; background:#8cb5c2; color:#17211b; text-align:center; }.journey-cta .section-kicker,.journey-cta h2,.journey-cta > p,.cta-actions { position:relative; z-index:2; }.journey-cta h2 { font-size:clamp(5rem,10vw,12rem); line-height:.78; }.journey-cta > p:not(.section-kicker) { max-width:480px; margin:42px auto 0; font-size:1.08rem; line-height:1.5; }.cta-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:42px; }.primary-action,.secondary-action { min-height:56px; display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:0 28px; border:1px solid #17211b; border-radius:999px; color:#f0eadf; background:#17211b; font-size:11px; font-weight:800; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }.secondary-action { color:#17211b; background:transparent; }.cta-orbit { position:absolute; width:min(72vw,900px); aspect-ratio:1; border:1px solid rgba(23,33,27,.26); border-radius:50%; animation:orbit-spin 30s linear infinite; }.cta-orbit::before,.cta-orbit::after { content:""; position:absolute; inset:10%; border:1px solid rgba(23,33,27,.16); border-radius:50%; }.cta-orbit::after { inset:23%; }.cta-orbit span { position:absolute; left:50%; top:-7px; padding:0 15px; background:#8cb5c2; font-size:10px; font-weight:800; letter-spacing:.2em; } @keyframes orbit-spin { to { transform:rotate(360deg); } }
.site-footer { min-height:210px; display:grid; grid-template-columns:1fr 1fr auto auto; align-items:center; gap:50px; padding:42px clamp(28px,6vw,112px); background:#17211b; color:#f0eadf; }.footer-brand { display:inline-flex; align-items:center; gap:14px; color:inherit; font-size:13px; font-weight:800; letter-spacing:.17em; text-decoration:none; }.site-footer p,.site-footer > span { color:rgba(240,234,223,.55); font-size:11px; letter-spacing:.08em; }.site-footer div { display:flex; gap:28px; }.site-footer div a { color:inherit; font-size:11px; font-weight:700; text-decoration:none; }
@media (max-width:1000px) { .portfolio-bar { grid-template-columns:1fr auto; }.portfolio-bar span:nth-child(2) { display:none; }.editorial-grid,.section-heading,.route-intro,.case-heading { grid-template-columns:1fr; gap:44px; }.editorial-copy { max-width:620px; }.destination-switcher,.practical-grid { grid-template-columns:repeat(2,1fr); }.destination-preview { grid-template-columns:1fr; }.destination-facts { max-width:520px; }.itinerary-layout,.map-section { grid-template-columns:1fr; }.day-tabs { grid-template-columns:repeat(3,1fr); border-right:0; }.day-tab { grid-template-columns:1fr; min-height:150px; border-right:1px solid rgba(240,234,223,.18); }.day-tab span { grid-row:auto; }.day-tab i { display:none; }.case-grid { grid-template-columns:1fr; }.case-grid article,.case-grid article+article { padding:36px 0; border-right:0; border-bottom:1px solid rgba(23,33,27,.2); }.case-grid h3 { margin-top:34px; }.project-specs { grid-template-columns:repeat(2,1fr); gap:52px 24px; }.site-footer { grid-template-columns:1fr auto; }.site-footer p { display:none; } }
@media (max-width:640px) { .hero-overline { top:128px; width:calc(100% - 48px); text-align:center; white-space:normal; }.content-section { padding:100px 24px; }.portfolio-bar { min-height:58px; padding:0 20px; }.portfolio-bar span { font-size:8px; }.editorial-intro { padding-top:120px; padding-bottom:120px; }.editorial-grid h2 { font-size:4.15rem; }.section-heading { margin-bottom:58px; }.section-heading h2 { font-size:3.7rem; }.destination-switcher,.practical-grid { grid-template-columns:1fr; }.destination-tab { padding:18px 14px; }.destination-preview { min-height:690px; padding:34px 24px; }.destination-name { font-size:5rem; }.destination-orbit { display:none; }.destination-facts { padding:24px; }.route-intro h2,.case-heading h2 { font-size:4rem; }.practical-grid { margin-top:64px; }.practical-grid article { min-height:220px; }.practical-grid h3 { margin-top:44px; }.itinerary-layout { margin-top:64px; }.day-tabs { grid-template-columns:1fr; }.day-tab { min-height:110px; border-right:0; }.day-detail { min-height:600px; padding:48px 28px; }.day-title { font-size:3rem; }.photo-grid { grid-template-columns:1fr; grid-template-rows:repeat(3,70vw); }.photo-card-wide { grid-row:auto; }.map-section { gap:62px; }.map-copy h2 { font-size:3.7rem; }.map-location { margin-top:48px; }.route-map { min-height:560px; }.river-line { left:36%; }.route-line { left:14%; transform:scale(.76) rotate(-8deg); }.pin-one { left:32%; }.pin-three,.pin-four { left:68%; }.project-specs { grid-template-columns:1fr; }.journey-cta { min-height:720px; }.journey-cta h2 { font-size:4.6rem; }.cta-orbit { width:132vw; }.site-footer { grid-template-columns:1fr; gap:22px; }.site-footer div { flex-wrap:wrap; } }
@media (prefers-reduced-motion:reduce) { .cta-orbit { animation:none; }.destination-preview,.destination-tab,.day-tab,.map-pin,.photo-card img { transition:none; } }
