:root{--accent:#C47752;--ink:#49382E;--muted:#49382E;--line:#D8C5A8;--pale:#FFFCF8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#F5EFE6;color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit;text-underline-offset:5px}header{max-width:1380px;margin:auto;padding:25px 5%;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}header a{text-decoration:none;font-size:14px}.brand{font-weight:750;letter-spacing:1px}.brand span{color:var(--muted);font-weight:400;margin-left:12px}main{max-width:1380px;margin:auto;padding:0 5%}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:6%;padding:54px 0 55px;align-items:center}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:750;color:var(--accent);margin:0 0 14px}h1{font-family:Georgia,serif;font-size:clamp(44px,5.2vw,74px);font-weight:400;line-height:1.08;letter-spacing:-2px;margin:0 0 25px}h1 em{color:var(--accent);font-weight:400}p.lead{font-size:17px;max-width:570px;color:var(--muted);line-height:1.8}.facts{display:flex;gap:26px;border-top:1px solid var(--line);padding-top:20px;margin-top:30px;font-size:12px;color:var(--muted)}.facts b{display:block;font-size:15px;color:var(--ink);margin-bottom:4px}figure{margin:0;position:relative}figure img{width:100%;height:380px;display:block;object-fit:cover;border-radius:140px 140px 4px 4px}figcaption{position:absolute;bottom:18px;left:18px;background:#FFFCF8;padding:6px 12px;font-size:11px;letter-spacing:1.5px}.layout{display:grid;grid-template-columns:260px 1fr;gap:7%;border-top:1px solid var(--line);padding-top:45px}aside{align-self:start;position:sticky;top:35px}nav{display:grid;gap:4px}nav a{display:flex;gap:15px;text-decoration:none;padding:12px 0;font-size:14px}nav a:hover{color:var(--accent)}nav span{font-size:12px;color:var(--accent);font-weight:700}.note{border-left:2px solid var(--accent);padding:0 0 0 18px;margin-top:32px;font-size:14px;color:var(--muted)}.note b{color:var(--ink)}.sectionhead{margin:0 0 20px}.sectionhead:not(:first-child){margin-top:46px}h2{font:400 32px/1.2 Georgia,serif;margin:0 0 16px}.stop{display:grid;grid-template-columns:44px 1fr;gap:18px;border-bottom:1px solid var(--line);padding:24px 0}.num{font:italic 26px Georgia,serif;color:var(--accent);padding-top:2px}.stop h3{font-size:21px;line-height:1.35;margin:0 0 9px;letter-spacing:-.4px}.stop p{margin:0 0 16px;color:var(--muted)}.stop .tag{font-size:12px;color:var(--accent);font-weight:700;margin-bottom:8px}.details{background:var(--pale);padding:0 18px;border-radius:4px}summary{cursor:pointer;color:var(--accent);font-size:14px;font-weight:650;padding:12px 0}details[open]{padding-bottom:4px}details p{font-size:14px}details b{color:var(--ink)}a:focus-visible,summary:focus-visible{outline:3px solid #49382E;outline-offset:4px}.closing{background:var(--accent);color:#FFFCF8;padding:32px;margin:44px 0 55px}.closing .eyebrow{color:#FFFCF8}.closing p:last-child{margin-bottom:0;color:#FFFCF8}footer{border-top:1px solid var(--line);max-width:1242px;margin:auto;padding:25px 0 35px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}footer a{color:var(--muted)}@media(max-width:850px){.intro{gap:25px}.facts{flex-wrap:wrap;gap:15px}figure img{height:340px}.layout{grid-template-columns:200px 1fr;gap:30px}.brand span{display:none}}@media(max-width:620px){header{padding:18px 6%}main{padding:0 6%}.intro{grid-template-columns:1fr;padding:32px 0}.introtext{order:1}figure{order:0}figure img{height:200px;border-radius:90px 90px 3px 3px}h1{font-size:48px}.facts{justify-content:space-between}.layout{display:block;padding-top:25px}aside{position:static;margin-bottom:32px}nav{grid-template-columns:1fr;gap:0}nav a{padding:8px 0}.note{margin-top:20px}.stop{grid-template-columns:32px 1fr;gap:10px}h2{font-size:29px}.stop h3{font-size:20px}footer{margin:0 6%;flex-direction:column}.closing{padding:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.dayhead{border-top:3px solid var(--accent);padding-top:24px;margin-top:36px}.dayhead:first-child{margin-top:0}.arrival{background:var(--pale);padding:24px;margin:20px 0 28px}.arrival h3{margin:0 0 10px}.arrival p{color:var(--muted)}.arrival p:last-child{margin-bottom:0}

.citylinks{display:flex;gap:20px;flex-wrap:wrap}.citylinks a[aria-current="page"]{color:var(--accent);font-weight:700;text-decoration:underline}.tanger-intro{display:block}.tanger-intro .introtext{max-width:760px}@media(max-width:620px){header{flex-wrap:wrap}.citylinks{gap:18px}}

.details h4{font-size:14px;margin:14px 0 6px}.details ul{font-size:14px;padding-left:20px;color:var(--muted)}.route>.stop:last-child{margin-bottom:45px}

header{align-items:center;flex-wrap:wrap}.citylinks{margin-left:auto;justify-content:flex-end}@media(max-width:620px){.citylinks{margin-left:0;justify-content:flex-start;width:100%;gap:12px 18px}}

.brand strong{display:block;font-weight:750}.brand .brand-subtitle{display:block;margin:3px 0 0;font-size:12px;letter-spacing:.3px;font-weight:400;color:var(--muted)}

.citylinks{align-items:center}.language-choice{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.language-choice select{font:inherit;font-size:14px;color:var(--ink);background:#FFFCF8;border:1px solid var(--line);border-radius:5px;padding:8px 26px 8px 10px;min-height:40px;cursor:pointer;max-width:150px}.language-choice select:focus-visible{outline:3px solid #49382E;outline-offset:3px}@media(max-width:620px){.language-choice{margin-top:2px}}

/* Painted Medina — photographic travel journal */
:root{--sand:#D8C5A8;--paper:#FFFCF8;--line:#D8C5A8;--muted:#49382E;--pale:#FFFCF8}
body{background:#F5EFE6}
header{padding-top:22px;padding-bottom:22px}
.brand strong{color:var(--accent);letter-spacing:1.8px}
.citylinks{gap:14px 22px}
.citylinks>a{padding:7px 0;text-decoration-thickness:2px;text-underline-offset:8px}
.citylinks>a:hover{color:var(--accent)}
.language-choice select{background:var(--paper)}
.intro,.tanger-intro{display:grid;grid-template-columns:minmax(0,1fr);gap:0;isolation:isolate;position:relative;padding:0;margin:28px 0 36px;border-radius:7px;overflow:hidden;background:#49382E}
.intro>figure{grid-area:1/1;align-self:stretch;min-width:0;min-height:510px;position:relative;order:initial}
.intro>figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;border-radius:0}
.intro>figure::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(73,56,46,.83),rgba(73,56,46,.53) 55%,rgba(73,56,46,.1)),linear-gradient(0deg,rgba(73,56,46,.48),transparent 75%)}
.intro figcaption{z-index:1;left:auto;right:26px;top:24px;bottom:auto;background:rgba(73,56,46,.7);color:#FFFCF8;border:1px solid #ffffff50;padding:7px 12px;font-size:12px;letter-spacing:1.2px;border-radius:3px;max-width:calc(100% - 48px)}
.intro .introtext{grid-area:1/1;position:relative;z-index:2;align-self:end;max-width:810px;padding:78px 44px 34px;min-width:0;order:initial}
.intro .eyebrow{color:#D8C5A8;font-size:13px;letter-spacing:2px;margin-bottom:16px}
.intro h1{color:#FFFCF8;font-size:clamp(44px,5.2vw,72px);line-height:1.06;letter-spacing:-1.6px;margin-bottom:20px;text-wrap:balance}
.intro h1 em{color:#FFFCF8}
.intro p.lead{color:#FFFCF8;font-size:17px;line-height:1.7;max-width:590px;margin:0}
.intro .facts{border-color:#ffffff50;gap:18px 30px;margin-top:24px;padding-top:18px;color:#FFFCF8;font-size:14px;flex-wrap:wrap}
.intro .facts b{color:#FFFCF8;font-size:15px}
.layout{border-top:0;padding-top:8px;grid-template-columns:240px minmax(0,1fr);gap:6%}
aside{padding-top:4px}
aside>.eyebrow{font-size:12px}
aside nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}
aside nav a{border-radius:4px;padding:12px 8px;align-items:baseline}
aside nav a:hover,aside nav a:focus-visible{background:var(--sand)}
aside nav span{font:italic 22px/1 Georgia,serif;min-width:26px}
.note{background:var(--sand);border-left:3px solid #C47752;border-radius:0 5px 5px 0;padding:20px;margin-top:24px}
.note p:last-child{margin-bottom:0}
.dayhead,.dayhead:first-child{position:relative;background:var(--sand);border:0;border-left:4px solid var(--accent);border-radius:0 5px 5px 0;padding:26px 28px;margin-top:48px;margin-bottom:22px;scroll-margin-top:20px}
.dayhead:first-child{margin-top:0}
.dayhead::before{content:attr(data-day);display:block;color:var(--accent);font:italic 48px/1 Georgia,serif;letter-spacing:-2px;margin-bottom:14px}
.dayhead h2{font-size:clamp(27px,2.8vw,34px);text-wrap:balance}
.dayhead .eyebrow{font-size:12px;letter-spacing:1.5px;line-height:1.6}
.dayhead>p:not(.eyebrow){color:var(--muted)}
.dayhead>:last-child{margin-bottom:0}
.arrival{background:#FFFCF8;border-radius:5px;padding:24px 28px;border:1px solid #D8C5A8}
.stop{padding:27px 0;grid-template-columns:44px minmax(0,1fr)}
.stop .num{font-size:30px}
.stop h3{font-size:21px}
.stop .tag{font-size:13px}
.details{border:1px solid #D8C5A8;border-radius:5px}
.details summary{min-height:46px}
.closing{border-radius:5px;background:#49382E;margin-top:36px}
footer{margin-top:38px;padding-left:20px;padding-right:20px}
@media(min-width:1100px){.intro>figure img{object-position:center 42%}}
@media(max-width:850px){.layout{grid-template-columns:190px minmax(0,1fr);gap:26px}.intro .introtext{padding-left:30px;padding-right:30px}.intro>figure{min-height:480px}}
@media(max-width:620px){
 header{padding:18px 6%;gap:16px}.brand .brand-subtitle{display:block}.citylinks{gap:8px 18px}.citylinks>a{font-size:14px}.language-choice{gap:6px}
 .intro{margin:20px 0 26px}.intro>figure{min-height:440px}.intro>figure img{object-position:60% center}
 .intro>figure::after{background:linear-gradient(0deg,rgba(73,56,46,.96),rgba(73,56,46,.74) 60%,rgba(73,56,46,.2))}
 .intro figcaption{top:16px;right:16px;max-width:calc(100% - 32px);font-size:12px;letter-spacing:.7px}
 .intro .introtext{padding:86px 22px 25px}.intro h1{font-size:clamp(36px,10vw,48px);letter-spacing:-1px;overflow-wrap:normal}
 .intro p.lead{font-size:16px;line-height:1.65}.intro .eyebrow{font-size:12px;letter-spacing:1.4px}
 .intro .facts{gap:14px 22px;justify-content:flex-start;font-size:13px;margin-top:20px;padding-top:16px}.intro .facts b{font-size:14px}
 .layout{display:block;padding-top:0}aside{position:static;margin-bottom:28px}aside nav{gap:0}aside nav a{padding:9px 6px}.note{margin-top:18px;padding:18px}
 .dayhead,.dayhead:first-child{padding:22px 20px}.dayhead::before{font-size:40px;margin-bottom:12px}.dayhead h2{font-size:28px}
 .arrival{padding:22px 20px}.stop{grid-template-columns:32px minmax(0,1fr);gap:10px}.stop .num{font-size:26px}.stop h3{font-size:20px}.closing{padding:25px}footer{padding-left:0;padding-right:0}
}
@media print{.intro{background:#FFFCF8;display:block;overflow:visible}.intro>figure{display:none}.intro .introtext{padding:20px 0;max-width:none}.intro h1,.intro h1 em,.intro .eyebrow,.intro p.lead,.intro .facts,.intro .facts b{color:#49382E}.layout{display:block}aside,.citylinks{display:none}.dayhead{break-after:avoid}.stop{break-inside:avoid}}

.journey-nav{display:block;overflow-x:auto;overscroll-behavior-x:contain;margin:22px 0 0;padding:4px 4px 8px;scrollbar-width:thin;scrollbar-color:#C47752 transparent}
.journey-nav ol{list-style:none;display:flex;gap:0;padding:0;margin:0;min-width:580px}
.journey-nav li{flex:1;min-width:0;position:relative}
.journey-nav li:not(:last-child)::after{content:"";position:absolute;height:1px;background:#D8C5A8;left:calc(50% + 57px);right:calc(-50% + 57px);top:25px;pointer-events:none}
.journey-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;padding:9px 8px;margin:0 8px;border:1px solid transparent;border-radius:5px;min-height:62px;position:relative;z-index:1;background:var(--paper)}
.journey-nav .journey-city{font:600 14px/1.35 system-ui,sans-serif;color:var(--ink);white-space:nowrap}
.journey-nav .journey-date{font:400 12px/1.35 system-ui,sans-serif;color:var(--muted);white-space:nowrap}
.journey-nav a:hover{background:var(--sand)}
.journey-nav a[aria-current="page"]{background:var(--accent);border-color:var(--accent)}
.journey-nav a[aria-current="page"] span{color:#FFFCF8}
.journey-nav+.intro{margin-top:12px}
@media(max-width:620px){.journey-nav{margin-top:16px;padding-bottom:7px}.journey-nav ol{min-width:580px}.journey-nav a{margin:0 5px;padding:8px 5px;min-height:58px}.journey-nav+.intro{margin-top:12px}}
@media print{.journey-nav{display:none}}

/* Journey collection home */
.home-hero>figure{min-height:510px}.home-hero .introtext{max-width:760px;padding-top:90px;padding-bottom:40px}.home-hero h1{font-size:clamp(52px,6.5vw,88px)}
.home-hero-link{display:inline-block;color:#FFFCF8;margin-top:23px;padding:8px 0;font-size:15px;text-decoration-thickness:1px;text-underline-offset:7px}
.home-hero-link:hover{color:#D8C5A8}.journey-collection{padding:10px 0 25px;scroll-margin-top:25px}.collection-heading{margin-bottom:26px}.collection-heading h2{font-size:36px;margin-bottom:10px}.collection-heading p{color:var(--muted);margin:0;font-size:16px}
.journey-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--sand);border-radius:6px;overflow:hidden}.journey-card-image{position:relative;min-height:365px}.journey-card-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 48%}.journey-card-copy{padding:36px 40px;align-self:center;min-width:0}.journey-card-meta{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 20px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:1px}.journey-card-meta span:last-child{letter-spacing:0;font-weight:500;color:var(--ink);border:1px solid #C47752;border-radius:20px;padding:3px 12px;white-space:nowrap}.journey-card h3{font:400 clamp(29px,3.2vw,40px)/1.17 Georgia,serif;margin:0 0 18px;text-wrap:balance}.journey-card-copy>p:not(.journey-card-meta){color:var(--muted);font-size:16px;line-height:1.7}.journey-card-copy .journey-card-route{font-size:14px!important;border-top:1px solid #D8C5A8;padding-top:16px;margin:22px 0}.journey-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 22px;background:var(--accent);border-radius:4px;color:#FFFCF8;text-decoration:none;font-weight:650;font-size:15px}.journey-button:hover{background:#49382E}
@media(max-width:850px){.journey-card-copy{padding:28px}.journey-card{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
@media(max-width:620px){.home-hero>figure{min-height:440px}.home-hero .introtext{padding:85px 22px 28px}.home-hero h1{font-size:clamp(45px,12vw,64px)}.journey-collection{padding-top:4px}.collection-heading h2{font-size:30px}.journey-card{grid-template-columns:minmax(0,1fr)}.journey-card-image{min-height:220px}.journey-card-copy{padding:25px 23px}.journey-card h3{font-size:31px}.home-page header .citylinks{align-items:center;justify-content:space-between}.home-page .home-hero-link{margin-top:16px}}

/* Dining recommendations */
.dining-section{margin-top:48px;padding-top:12px;border-top:1px solid #D8C5A8;scroll-margin-top:100px}.dining-group{margin:26px 0}.dining-group>h3{font:400 26px/1.3 Georgia,serif;color:var(--accent);margin:0 0 14px}.dining-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dining-card{background:#FFFCF8;border:1px solid #D8C5A8;border-radius:10px;padding:22px}.dining-card h4{margin:0 0 10px;font-size:18px;line-height:1.4;color:var(--ink)}.dining-card p{margin:0;line-height:1.75;color:var(--muted)}@media(max-width:650px){.dining-grid{grid-template-columns:1fr}.dining-card{padding:20px}.dining-section{margin-top:32px}}

/* Warm Medina — shared across all destinations and languages. */
:root{--background:#F5EFE6;--accent:#C47752;--sand:#D8C5A8;--ink:#49382E;--muted:#49382E;--paper:#FFFCF8;--pale:#FFFCF8;--line:#D8C5A8;color-scheme:light}
::selection{background:var(--sand);color:var(--ink)}
.eyebrow,summary,nav span,.stop .tag,.journey-card-meta,.dining-group>h3{color:var(--ink)}
.brand strong{color:var(--ink)}
.citylinks a[aria-current="page"]{color:var(--ink);text-decoration-color:var(--accent)}
.citylinks>a:hover,nav a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent)}
.closing{background:var(--sand);color:var(--ink);border-left:4px solid var(--accent)}
.closing .eyebrow,.closing p:last-child{color:var(--ink)}
.journey-nav a[aria-current="page"]{background:var(--paper);border-color:var(--accent);box-shadow:inset 0 -4px var(--accent)}
.journey-nav a[aria-current="page"] span{color:var(--ink)}
.journey-button{background:var(--accent);color:var(--paper);font-size:19px;font-weight:700}
.journey-button:hover{background:var(--ink)}
.home-hero-link{background:var(--accent);padding:10px 20px;border-radius:4px;font-size:19px;font-weight:700;text-decoration:none}
.home-hero-link:hover{background:var(--ink);color:var(--paper)}
.intro .eyebrow{color:var(--paper)}
@media print{body{background:var(--paper)}}
