.jp{--ink:#28231f;--accent:#b78a35;--paper:#faf7f1;--tint:#eee7da;--deep:#35281e;color:var(--ink);background:var(--paper);font-family:Inter,Arial,sans-serif;line-height:1.7;overflow:clip}.jp *{box-sizing:border-box}.jp [hidden]{display:none!important}.jp h1,.jp h2,.jp h3{color:inherit;letter-spacing:-.025em}.jp h1,.jp h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}.jp h1{font-size:clamp(2.5rem,4.8vw,5rem);line-height:1.08;margin:18px 0 25px;max-width:850px}.jp h2{font-size:clamp(2rem,3.1vw,3.5rem);line-height:1.15;margin:13px 0 20px}.jp h3{font-size:1.2rem;line-height:1.4;margin:0 0 14px;font-weight:600}.jp p{margin:0 0 20px}.jp a{color:inherit}.jp a:focus-visible,.jp button:focus-visible,.jp summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.jp-wrap{max-width:1200px;margin:auto;padding:0 32px}.jp-kicker{display:block;color:var(--accent);font-size:.74rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase}.jp-hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:660px;position:relative;isolation:isolate}.jp-hero-copy{grid-column:1;grid-row:1;padding:clamp(42px,6vw,96px) max(32px,calc((100vw - 1136px)/2));padding-right:48px;align-self:center;min-width:0}.jp-hero-copy p{font-size:1.08rem;max-width:630px;color:#655e55}.jp-hero-photo{grid-column:2;grid-row:1;min-height:100%;position:relative}.jp-hero-photo img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;display:block}.jp-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.jp-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--accent);background:var(--accent);color:#fff!important;text-decoration:none;font-size:.92rem;font-weight:600;border-radius:4px;padding:15px 23px;min-height:52px}.jp-btn:hover{filter:brightness(.93)}.jp-btn-outline{background:transparent;color:var(--ink)!important}.jp-textlink{text-decoration:none;border-bottom:1px solid currentColor;padding:5px 0;font-size:.9rem;font-weight:600}.jp-nav{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;padding:22px 24px;border-bottom:1px solid #ddd6cb;background:#fff}.jp-nav a{text-decoration:none;font-size:.85rem;font-weight:600}.jp-nav a:hover{color:var(--accent)}.jp-section{padding:clamp(55px,7vw,100px) 0;scroll-margin-top:100px}.jp-story-grid,.jp-expert-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.jp-story p{font-size:1.08rem;color:#6a6259}.jp-heading{max-width:820px;margin-bottom:40px}.jp-heading p{color:#6a6259;max-width:700px}.jp-options{background:var(--tint)}.jp-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.jp-routes article{border-top:1px solid #b9aa94;padding-top:24px}.jp-number{display:block;font-family:Georgia,serif;color:var(--accent);font-size:2.4rem;margin-bottom:20px}.jp-routes p,.jp-details p{font-size:.96rem;color:#625a51;margin-bottom:0}.jp-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.jp-details article{padding:26px;border-left:2px solid var(--accent);background:#fff}.jp-tours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.jp-tour{background:#fff;box-shadow:0 10px 35px #332b2107;border:1px solid #e8e1d5;display:flex;flex-direction:column;min-width:0}.jp-tour-image{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--tint)}.jp-tour-image img{display:block;width:100%;height:100%;object-fit:cover}.jp-tour-body{padding:26px;display:flex;flex-direction:column;flex:1}.jp-tour h3{margin-top:12px;font-size:1.12rem}.jp-tour h3 a{text-decoration:none}.jp-tour-body p{color:#6a6259;font-size:.9rem}.jp-tour-body>.jp-textlink{align-self:flex-start;margin-top:auto}.jp-tour-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.jp-tour-filters button{font:inherit;font-size:.84rem;cursor:pointer;border:1px solid #d5cbb8;background:transparent;border-radius:25px;padding:9px 18px;color:var(--ink)}.jp-tour-filters button.is-active{background:var(--deep);border-color:var(--deep);color:#fff}.jp-browse{text-align:center;margin-top:38px!important}.jp-empty{padding:30px;background:var(--tint);border-left:2px solid var(--accent)}.jp-expert{background:var(--deep);color:#fff}.jp-expert p{color:#eee6db}.jp-expert .jp-kicker{color:#ddb76a}.jp-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.jp-faq details{border-top:1px solid #d9d0c2;padding:18px 0}.jp-faq details:last-child{border-bottom:1px solid #d9d0c2}.jp-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:600;cursor:pointer;list-style:none;line-height:1.5}.jp-faq summary::-webkit-details-marker{display:none}.jp-faq summary:after{content:'+';font-size:1.5rem;color:var(--accent);font-weight:400}.jp-faq details[open] summary:after{content:'−'}.jp-faq details p{padding-top:16px;margin:0;color:#6a6259;font-size:.95rem}.jp-cta{text-align:center;background:var(--tint);padding:75px 0}.jp-cta h2{max-width:850px;margin:16px auto 22px}.jp-cta p{max-width:650px;margin:0 auto 28px;color:#625a51}.jp-related{padding:45px 0}.jp-related h2{font-size:1.6rem}.jp-related .jp-wrap>div{display:flex;gap:12px;flex-wrap:wrap}.jp-related a{font-size:.82rem;text-decoration:none;padding:10px 16px;border:1px solid #ddd2bf;border-radius:4px}.jp-departures{margin-top:36px;padding:30px;background:var(--tint)}.jp-departures li{padding:12px 0;border-top:1px solid #d6cbb8;list-style:none}.jp-departures ul{padding:0}.jp-departures time{margin-right:15px;font-weight:600}.jp-photo-credit{font-size:.68rem;text-align:right;margin:0;padding:8px 32px;color:#777}
/* Walking page: field-journal layout and numbered stages. */
.jp--trek .jp-hero{grid-template-columns:1fr 1fr}.jp--trek .jp-hero-photo{margin:42px 35px 42px 0;min-height:560px}.jp--trek .jp-routes{display:block;max-width:920px;margin-left:auto}.jp--trek .jp-routes article{display:grid;grid-template-columns:90px 1fr;padding:28px 0;gap:20px}.jp--trek .jp-number{margin:0}.jp--trek .jp-hero-copy{padding-right:35px}
/* Chigaga: wide desert horizon with text over a restrained gradient. */
.jp--chigaga .jp-hero{display:block;min-height:690px;color:#fff}.jp--chigaga .jp-hero-photo{position:absolute;inset:0;z-index:-2}.jp--chigaga .jp-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#211a12ed 0%,#211a1280 58%,#211a120f);z-index:-1}.jp--chigaga .jp-hero-copy{max-width:1050px;padding-top:110px;padding-bottom:105px}.jp--chigaga .jp-hero-copy p{color:#f3ecdf}.jp--chigaga .jp-kicker{color:#d6ae64}.jp--chigaga .jp-routes article{padding:28px;background:var(--paper);border:0}.jp--chigaga .jp-options .jp-kicker{color:var(--accent)}
/* Shared trips: a compact comparison opening, tours shown early. */
.jp--shared .jp-hero{grid-template-columns:1.35fr 1fr;min-height:500px}.jp--shared .jp-hero h1{font-size:clamp(2.5rem,4.3vw,4.5rem)}.jp--shared .jp-hero-photo{min-height:450px;margin:35px 35px 35px 0;border-radius:180px 180px 12px 12px;overflow:hidden}.jp--shared .jp-tour-section{background:#f1ebdf}.jp--shared .jp-routes article{border-left:2px solid var(--accent);border-top:0;padding:0 24px}.jp--shared .jp-number{font-size:1.7rem;margin-bottom:12px}
/* Marrakech: city photograph above an open editorial heading. */
.jp--daytrips .jp-hero{display:flex;flex-direction:column;min-height:0}.jp--daytrips .jp-hero-photo{height:340px;min-height:340px;order:0}.jp--daytrips .jp-hero-copy{order:1;padding:55px 32px 65px;max-width:1200px;width:100%;margin:auto;align-self:auto}.jp--daytrips .jp-hero h1{max-width:900px}.jp--daytrips .jp-hero p{max-width:800px}.jp--daytrips .jp-routes article{background:#fff;padding:32px;border:0;border-radius:8px}
/* Culture: asymmetric city image and a restrained heritage palette. */
.jp--culture{--tint:#ece3d7;--deep:#493627}.jp--culture .jp-hero{grid-template-columns:.85fr 1.15fr}.jp--culture .jp-hero-photo{grid-column:1;margin:40px 0 40px 35px;min-height:600px}.jp--culture .jp-hero-copy{grid-column:2;padding:70px 55px}.jp--culture .jp-hero h1{font-size:clamp(2.5rem,4.4vw,4.5rem)}.jp--culture .jp-routes{gap:0}.jp--culture .jp-routes article{padding:30px;border:0;border-right:1px solid #c6b6a2}.jp--culture .jp-routes article:last-child{border-right:0}
/* Atlas: alpine green and an inset panorama. */
.jp--atlas{--deep:#28382e;--tint:#e9ece4}.jp--atlas .jp-hero{background:var(--deep);color:#fff;grid-template-columns:1.15fr 1fr}.jp--atlas .jp-hero-copy p{color:#e2e6de}.jp--atlas .jp-hero-photo{margin:40px 35px 40px 0;min-height:570px;border-radius:4px;overflow:hidden}.jp--atlas .jp-hero .jp-kicker{color:#dec18c}.jp--atlas .jp-details article{background:#f5f7f1}.jp--atlas .jp-routes{display:block}.jp--atlas .jp-routes article{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:28px 0}.jp--atlas .jp-number{margin:0}
/* Coast: Atlantic blue, broad picture and generous white space. */
.jp--coast{--deep:#243d46;--tint:#e7eef0}.jp--coast .jp-hero{grid-template-columns:1fr 1.2fr}.jp--coast .jp-hero-photo{min-height:660px}.jp--coast .jp-routes article{border-top:3px solid #7899a0}.jp--coast .jp-details article{border-color:#7899a0}.journey-page .site-footer{margin-top:0}
@media(min-width:1600px){.jp-hero-copy{padding-left:max(50px,calc((100vw - 1280px)/2));padding-right:65px}}
@media(max-width:1000px){.jp-hero-copy{padding:55px 30px!important}.jp h1{font-size:3.2rem}.jp-story-grid,.jp-expert-grid,.jp-faq-grid{gap:35px}.jp-routes,.jp-details,.jp-tours{gap:20px}.jp-tour-body{padding:20px}.jp-nav{gap:20px}.jp--culture .jp-hero-photo{min-height:550px}}
@media(max-width:760px){.jp-wrap{padding:0 22px}.jp h1{font-size:2.55rem}.jp h2{font-size:2rem}.jp-hero,.jp--trek .jp-hero,.jp--shared .jp-hero,.jp--culture .jp-hero,.jp--atlas .jp-hero,.jp--coast .jp-hero{display:flex;flex-direction:column;min-height:0}.jp-hero-photo,.jp--trek .jp-hero-photo,.jp--shared .jp-hero-photo,.jp--culture .jp-hero-photo,.jp--atlas .jp-hero-photo,.jp--coast .jp-hero-photo{position:relative;min-height:290px;height:290px;margin:0;border-radius:0;order:0}.jp-hero-copy{order:1;padding:35px 22px 45px!important;align-self:auto}.jp-hero-copy p{font-size:1rem}.jp--chigaga .jp-hero{min-height:610px}.jp--chigaga .jp-hero-photo{position:absolute;inset:0;height:100%;min-height:100%;margin:0}.jp--chigaga .jp-hero-copy{padding-top:90px!important;padding-bottom:80px!important}.jp--chigaga .jp-hero:after{background:linear-gradient(90deg,#211a12eb,#211a1270)}.jp--daytrips .jp-hero-photo{height:250px;min-height:250px}.jp--shared .jp-hero h1,.jp--culture .jp-hero h1{font-size:2.55rem}.jp-nav{justify-content:flex-start;gap:12px 22px;padding:16px 22px}.jp-nav a{font-size:.76rem}.jp-story-grid,.jp-expert-grid,.jp-faq-grid{grid-template-columns:1fr;gap:12px}.jp-routes,.jp-details,.jp-tours{grid-template-columns:1fr}.jp--trek .jp-routes article,.jp--atlas .jp-routes article{grid-template-columns:55px 1fr;gap:10px}.jp--culture .jp-routes article{border-right:0;border-top:1px solid #c6b6a2;padding:25px 0}.jp-options .jp-heading{margin-bottom:25px}.jp-actions{gap:16px;margin-top:23px}.jp-btn{font-size:.85rem;padding:13px 18px}.jp-tour-image{aspect-ratio:16/10}.jp-heading{margin-bottom:30px}.jp-departures{padding:22px}.jp-photo-credit{text-align:left;padding:8px 22px}.jp-cta{padding:55px 0}}
@media(prefers-reduced-motion:reduce){.jp *{scroll-behavior:auto!important;transition:none!important}}
