.em-plan-detail{margin:0;background:#fffdf8;color:var(--pl-ink,#294c43);font-family:Arial,Helvetica,sans-serif;--pl-line:#274c432d}
.em-plan-detail main *{box-sizing:border-box}
.em-plan-detail main img{display:block;max-width:100%}
.em-plan-detail main a{color:inherit}
.em-plan-detail main figure{margin:0}
.em-plan-detail main :is(h1,h2,h3,p){margin:0}
.em-plan-detail main :is(h1,h2,h3){font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:-.04em;text-wrap:balance}
.em-plan-detail main h2{font-size:clamp(40px,4.2vw,66px);line-height:1.06}
.em-plan-detail main h3{font-size:31px;line-height:1.12}
.em-plan-detail main p{font-size:17px;line-height:1.8}
.em-plan-detail main :is(a,button,input,summary):focus-visible{outline:3px solid var(--pl-ink);outline-offset:5px}
.pl-wrap{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}
.pl-section{padding-block:110px;scroll-margin-top:90px}
.pl-kicker{font:700 11px/1.5 Arial,sans-serif!important;letter-spacing:.15em;text-transform:uppercase;margin-bottom:22px!important;color:var(--pl-ink)}
.pl-link{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.pl-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border:1px solid currentColor;border-radius:50px;font:700 12px/1.5 Arial,sans-serif;text-decoration:none;background:var(--em-action-background,var(--em-action-orange));color:#fff;border-color:transparent;}
.pl-skip{position:fixed;top:8px;left:10px;padding:15px;background:white;color:#183d32;z-index:100000;transform:translateY(-180%)}
.pl-skip:focus{transform:none}
.pl-crumbs{font:11px/1.6 Arial,sans-serif;display:flex;gap:12px;flex-wrap:wrap;margin-bottom:27px}
.pl-crumbs a{text-decoration:underline;text-underline-offset:4px}
.pl-photo-credit{position:absolute;bottom:25px;right:40px;font-size:10px;letter-spacing:.04em;text-shadow:0 1px 4px #000;max-width:280px;text-align:right}
.pl-chapters{position:sticky;top:0;z-index:25;background:#fffdf8f5;border-bottom:1px solid var(--pl-line);backdrop-filter:blur(12px)}
.pl-chapters .pl-wrap{display:flex;gap:40px;align-items:center;justify-content:space-between;min-height:68px}
.pl-wordmark{font:700 27px Georgia,serif;white-space:nowrap}
.pl-wordmark em{color:var(--pl-accent)}
.pl-chapter-links{display:flex;gap:28px;overflow:auto;scrollbar-width:none;min-width:0;padding:22px 4px}
.pl-chapter-links a{font:700 11px Arial,sans-serif;white-space:nowrap;text-decoration:none}
.pl-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-bottom:1px solid var(--pl-line);padding-block:35px}
.pl-facts dt{font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.11em;color:var(--pl-accent);margin-bottom:10px}
.pl-facts dd{font:25px/1.2 Georgia,serif;margin:0}
.pl-facts dl{margin:0}
.pl-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:100px;align-items:center}
.pl-prose p{margin-top:25px!important;max-width:630px}
.pl-intro-grid .pl-prose>p:first-of-type:not(.pl-kicker){font:26px/1.55 Georgia,serif}
.pl-opening img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:50%}
.pl-caption{font:italic 14px/1.6 Georgia,serif;margin-top:16px;color:#566257}
.pl-opening .pl-caption{text-align:center;padding-inline:20px}
.pl-heading{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:70px;margin-bottom:55px}
.pl-heading>p{max-width:380px}
.pl-section.pl-route{background:var(--pl-tint)}
.pl-stops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 50px;counter-reset:stop;list-style:none;margin:0;padding:0}
.pl-stop{position:relative;counter-increment:stop}
.pl-stop-top{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--pl-line);padding-bottom:16px;margin-bottom:24px}
.pl-stop-number{font:italic 35px Georgia,serif;color:var(--pl-accent)}
.pl-stop-number:before{content:counter(stop,decimal-leading-zero)}
.pl-stop-label{font:700 11px/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}
.pl-stop figure{margin-bottom:24px!important}
.pl-stop img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;border-radius:6px 60px 6px 6px}
.pl-stop h3{font-size:39px!important;margin-bottom:17px!important}
.pl-stop p{font-size:16px!important}
.pl-stop a.pl-link{display:inline-block;margin-top:24px}
.pl-journey-line{display:flex;gap:0;list-style:none;padding:0 0 42px;margin:0;overflow:auto}
.pl-journey-line li{flex:1;min-width:140px;position:relative;padding-top:23px;font:14px Georgia,serif;border-top:1px solid var(--pl-accent)}
.pl-journey-line li:before{content:'';position:absolute;width:9px;height:9px;background:var(--pl-accent);border-radius:50%;top:-5px;left:0}
.pl-journey-line a{text-decoration:none}
.pl-feature{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center}
.pl-feature figure img{width:100%;height:auto;aspect-ratio:1122/1403;object-fit:cover;border-radius:160px 160px 6px 6px}
.pl-feature-copy h2{font-size:clamp(42px,4vw,63px)}
.pl-feature-copy p{margin-top:26px!important}
.pl-decisions{position:relative;isolation:isolate;background:var(--pl-soft)}
.pl-decisions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}
.pl-decision{border-top:1px solid var(--pl-line);padding-top:28px}
.pl-decision h3{margin-bottom:19px!important}
.pl-decision p{font-size:16px!important}
.pl-check-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px}
.pl-checks{margin:0;padding:0;list-style:none}
.pl-checks li{padding:18px 0;border-bottom:1px solid var(--pl-line)}
.pl-checks label{display:flex;gap:17px;font-size:16px;line-height:1.6;cursor:pointer}
.pl-checks input{flex:none;appearance:auto;width:21px;height:21px;accent-color:var(--pl-ink);margin:2px 0 0}
.pl-check-info{font-size:12px!important;margin-top:25px!important;color:#58635a}
.pl-check-progress{font-size:12px!important;font-weight:700;margin-top:22px!important;min-height:24px}
.pl-check-reset{margin-top:15px;border:0;background:transparent;text-decoration:underline;text-underline-offset:5px;padding:8px 0;font:12px Arial,sans-serif;color:var(--pl-ink);cursor:pointer}
.pl-guide{background:var(--pl-tint);position:relative;isolation:isolate}
.pl-guide.pl-desert:before{content:'';position:absolute;inset:0;z-index:-1;background:url('/assets/tagine-v1/meknes-camel-background.png') center/cover no-repeat;opacity:.14;pointer-events:none}
.pl-guide-grid{display:grid;grid-template-columns:200px 1fr;gap:65px;align-items:center;max-width:1040px}
.pl-guide img{width:100%;height:auto;aspect-ratio:1122/1403;object-fit:contain;filter:drop-shadow(7px 12px 12px #3e382227)}
.pl-guide h2{font-size:48px!important}
.pl-guide p{margin-top:20px!important}
.pl-guide .pl-btn{margin-top:25px;background:var(--em-action-background,var(--em-action-orange));color:#fff;border-color:transparent;}
.pl-related{background:#fffdf8}
.pl-related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}
.pl-related-links a{border-top:1px solid var(--pl-line);padding-block:22px;display:flex;justify-content:space-between;gap:20px;font:26px/1.25 Georgia,serif;text-decoration:none}
.pl-related-links a:hover{text-decoration:underline;text-underline-offset:5px}
.pl-sources{border-top:1px solid var(--pl-line);padding-block:25px 40px}
.pl-sources summary{font-size:13px;font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between}
.pl-sources summary:after{content:'+';font-size:25px}
.pl-sources details[open] summary:after{content:'−'}
.pl-sources :is(p,li){font-size:13px!important;line-height:1.8}
.pl-sources ul{padding-left:20px}
.pl-sources a{text-underline-offset:4px}
.pl-sources li{margin-block:9px}
.pl-utility .pl-intro-grid{grid-template-columns:.85fr 1.15fr}
.pl-utility .pl-opening{grid-column:1;grid-row:1}
.pl-utility .pl-prose{grid-column:2;grid-row:1}
.pl-utility .pl-opening img{aspect-ratio:1122/1403;border-radius:150px 150px 5px 5px}
.pl-utility .pl-stops{grid-template-columns:1fr}
.pl-utility .pl-stop{display:grid;grid-template-columns:.75fr 1.25fr;gap:0 55px}
.pl-utility .pl-stop-top{grid-column:1/-1}
.pl-utility .pl-stop figure{grid-column:1;grid-row:2/5}
.pl-utility .pl-stop h3,.pl-utility .pl-stop p,.pl-utility .pl-stop>a{grid-column:2}
.pl-utility .pl-stop img{aspect-ratio:1.35}
.pl-season .pl-stops{grid-template-columns:repeat(2,1fr)}
.pl-itinerary .pl-stops{grid-template-columns:repeat(3,minmax(0,1fr))}
.pl-itinerary .pl-stop h3{font-size:32px!important}
.pl-itinerary .pl-stop img{aspect-ratio:1.1}
.pl-themed .pl-feature{grid-template-columns:.85fr 1.15fr}
.pl-themed .pl-feature figure{grid-column:2;grid-row:1}
.pl-themed .pl-feature-copy{grid-column:1;grid-row:1}
.pl-utility .pl-stop-text{display:block;max-width:900px}
.pl-stop-text figure:empty{display:none}
.pl-utility .pl-stop-text p{max-width:740px}
.pl-stop-text h3{font-size:36px!important}
@media(max-width:1100px){
.pl-wrap{width:calc(100% - 64px)}
.pl-intro-grid,.pl-feature,.pl-check-grid{gap:50px}
.pl-section{padding-block:85px}
.pl-chapters .pl-wrap{gap:24px}
.pl-chapter-links{gap:23px}
.pl-decisions-grid{gap:30px}
.pl-itinerary .pl-stops{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
.pl-wrap{width:calc(100% - 44px)}
.pl-section{padding-block:66px}
.pl-photo-credit{right:22px;bottom:20px;font-size:9px}
.pl-chapters .pl-wrap{width:100%;padding-inline:20px;gap:22px;min-height:60px}
.pl-wordmark{font-size:23px}
.pl-chapter-links{gap:24px;padding-block:20px}
.pl-facts{grid-template-columns:1fr;gap:22px;padding-block:30px}
.pl-facts dl{display:grid;grid-template-columns:1fr 1.1fr;align-items:baseline;gap:15px}
.pl-facts dt{margin:0;font-size:9px}
.pl-facts dd{font-size:22px}
.pl-intro-grid,.pl-feature,.pl-themed .pl-feature,.pl-heading,.pl-check-grid,.pl-decisions-grid,.pl-related-links,.pl-utility .pl-intro-grid,.pl-season .pl-stops,.pl-itinerary .pl-stops{grid-template-columns:1fr;gap:35px}
.pl-prose p{font-size:17px}
.pl-intro-grid .pl-prose>p:first-of-type:not(.pl-kicker){font-size:24px}
.pl-opening{max-width:480px;margin-inline:auto!important}
.pl-heading{margin-bottom:40px}
.pl-stops{grid-template-columns:1fr;gap:50px}
.pl-stop h3{font-size:35px!important}
.pl-stop img{border-top-right-radius:50px}
.pl-feature figure{max-width:500px;margin-inline:auto!important;grid-column:auto!important;grid-row:auto!important}
.pl-feature-copy{grid-column:auto!important;grid-row:1!important}
.pl-feature figure img{border-top-left-radius:100px;border-top-right-radius:100px}
.pl-decisions-grid{gap:25px;margin-top:35px}
.pl-check-grid{gap:25px}
.pl-guide-grid{grid-template-columns:105px 1fr;gap:25px;align-items:start}
.pl-guide h2{font-size:31px!important}
.pl-guide p{font-size:15px!important}
.pl-guide .pl-btn{font-size:11px;padding:12px 15px;background:var(--em-action-background,var(--em-action-orange));color:#fff;border-color:transparent;}
.pl-related-links{gap:8px;margin-top:35px}
.pl-related-links a{font-size:27px}
.pl-utility .pl-opening,.pl-utility .pl-prose{grid-column:auto;grid-row:auto}
.pl-utility .pl-prose{grid-row:1}
.pl-utility .pl-stop{display:block}
.pl-utility .pl-stop figure{margin-bottom:24px!important}
.pl-utility .pl-opening img{max-height:560px;object-fit:cover}
.pl-crumbs{font-size:10px;margin-bottom:24px}
.pl-sources{padding-bottom:30px}
.pl-journey-line{padding-bottom:32px}
.pl-kicker{font-size:10px!important}}
@media(prefers-reduced-motion:no-preference){
.pl-btn{transition:transform .2s;background:var(--em-action-background,var(--em-action-orange));color:#fff;border-color:transparent;}
.pl-btn:hover{transform:translateY(-3px);background:var(--em-action-background,var(--em-action-orange));color:#fff;border-color:transparent;}}
@media print{
.pl-chapters,footer,.pl-guide,.pl-sources,.pl-check-reset{display:none}
.pl-section{padding-block:25px}
.pl-wrap{width:100%}
.pl-check-grid{display:block}
.pl-stops{break-inside:auto}
.pl-stop{break-inside:avoid}}

/* Original per-image framing, retained independently of hero composition. */

.pl-hero img{--em-hero-photo-position:var(--pl-focus,50% 50%);}
@media(max-width:760px){
.pl-hero img{--em-hero-photo-position:var(--pl-mobile-focus,50% 50%);}}