/* egypt-pass.lat — en_egypt_logistics · DNA-04 Broadsheet Modernist
   Palette: bone #ECE4D2 · graphite #15151A · terracotta #C45A3E · pewter #7E7E82 · ash #DAD2BD
   Type: 'Playfair Display' serif display · 'Work Sans' sans
   Prefix: mg-* (magazine)
   Architecture: vertical sticky sidebar 260px + asymmetric flow column right
*/

:root{
  --mg-bone:#ECE4D2;
  --mg-graphite:#15151A;
  --mg-terracotta:#C45A3E;
  --mg-pewter:#7E7E82;
  --mg-ash:#DAD2BD;
  --mg-line:#C8BFA8;
  --mg-rule:#1F1F25;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--mg-bone);color:var(--mg-graphite);
  font-family:'Work Sans',sans-serif;font-size:16.5px;line-height:1.62;
  display:grid;grid-template-columns:260px 1fr;min-height:100vh;
}
img{max-width:100%;display:block;height:auto;filter:contrast(1.04) saturate(.96)}
a{color:var(--mg-graphite);text-decoration:underline;text-decoration-color:var(--mg-terracotta);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--mg-terracotta)}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:600;color:var(--mg-graphite);line-height:1.05;margin:0 0 .6em;letter-spacing:-.02em}
h1{font-size:clamp(2.8rem,7vw,6rem);font-weight:800;line-height:.96}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
h3{font-size:1.32rem;line-height:1.18}
p{margin:0 0 1em}

/* SIDEBAR (vertical sticky rail) ----------------------- */
.mg-rail{
  position:sticky;top:0;height:100vh;background:var(--mg-graphite);color:var(--mg-bone);
  padding:30px 28px;display:flex;flex-direction:column;justify-content:space-between;
  border-right:0;font-family:'Work Sans',sans-serif;
}
.mg-rail-mark{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--mg-bone);margin-bottom:32px}
.mg-rail-mark:hover{color:var(--mg-terracotta)}
.mg-monogram{width:48px;height:48px;border:2px solid var(--mg-terracotta);border-radius:50%;display:grid;place-items:center;font-family:'Playfair Display',serif;font-weight:700;font-size:1.2rem;color:var(--mg-terracotta);letter-spacing:-.04em}
.mg-rail-title{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;letter-spacing:-.012em;line-height:.96}
.mg-rail-title em{display:block;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mg-pewter);margin-top:6px;font-style:normal;font-family:'Work Sans',sans-serif;font-weight:500}
.mg-rail-nav{list-style:none;padding:0;margin:24px 0 0;flex:1}
.mg-rail-nav li{margin-bottom:4px}
.mg-rail-nav a{display:flex;align-items:baseline;gap:14px;padding:9px 0;color:var(--mg-bone);text-decoration:none;border-top:1px solid #2A2A30;font-size:.96rem;letter-spacing:.01em;transition:color .2s,padding .2s}
.mg-rail-nav li:last-child a{border-bottom:1px solid #2A2A30}
.mg-rail-nav a span{color:var(--mg-pewter);font-family:'Playfair Display',serif;font-size:.78rem;font-style:italic}
.mg-rail-nav a:hover,.mg-rail-nav a[data-current]{color:var(--mg-terracotta);padding-left:6px}
.mg-rail-nav a[data-current] span{color:var(--mg-terracotta)}
.mg-rail-foot{font-size:.74rem;color:var(--mg-pewter);letter-spacing:.04em;margin-top:18px;line-height:1.6}
.mg-rail-foot a{color:var(--mg-pewter);text-decoration:underline;text-decoration-color:#2A2A30}
.mg-rail-foot a:hover{color:var(--mg-terracotta);text-decoration-color:var(--mg-terracotta)}
.mg-rail-foot strong{display:block;color:var(--mg-bone);font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:.92rem;margin-bottom:6px;letter-spacing:-.005em}

/* TOPBAR (mobile only) --------------------------------- */
.mg-topbar{display:none;background:var(--mg-graphite);color:var(--mg-bone);padding:14px 22px;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:60}
.mg-topbar .mg-rail-mark{margin:0}
.mg-burger{background:none;border:0;cursor:pointer;padding:6px;color:var(--mg-bone)}
.mg-burger span{display:block;width:24px;height:2px;background:var(--mg-bone);margin:5px 0}

/* MAIN FLOW ---------------------------------------------- */
.mg-flow{padding:0;min-width:0}

/* MARQUEE (hero, typographic) --------------------------- */
.mg-marquee{padding:80px 60px 30px;border-bottom:1px solid var(--mg-rule);position:relative}
.mg-marquee::before{content:attr(data-section);position:absolute;top:30px;right:60px;font-family:'Playfair Display',serif;font-weight:800;font-size:8rem;color:var(--mg-ash);line-height:.85;letter-spacing:-.04em;pointer-events:none;z-index:0}
.mg-marquee-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:end;position:relative;z-index:1}
.mg-eyebrow{font-family:'Work Sans',sans-serif;font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--mg-terracotta);font-weight:600;margin-bottom:24px;display:flex;align-items:center;gap:14px}
.mg-eyebrow::after{content:"";flex:1;height:1px;background:var(--mg-rule);max-width:200px;opacity:.35}
.mg-marquee h1{max-width:none}
.mg-marquee h1 em{color:var(--mg-terracotta);font-style:italic;font-weight:600}
.mg-sidetext{font-family:'Playfair Display',serif;font-style:italic;font-size:1.18rem;line-height:1.45;color:var(--mg-pewter);max-width:380px;padding-left:24px;border-left:2px solid var(--mg-terracotta)}

/* FULL-BLEED IMAGE BAR --------------------------------- */
.mg-bleed{margin:0;border-bottom:1px solid var(--mg-rule)}
.mg-bleed img{width:100%;aspect-ratio:21/8;object-fit:cover}
.mg-bleed figcaption{font-family:'Work Sans',sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mg-pewter);padding:12px 60px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;background:var(--mg-bone);border-top:1px solid var(--mg-line)}

/* DATELINE STRIP (small horizontal facts) -------------- */
.mg-dateline{padding:18px 60px;border-bottom:1px solid var(--mg-rule);font-family:'Work Sans',sans-serif;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mg-pewter);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
.mg-dateline strong{color:var(--mg-terracotta);font-weight:600;letter-spacing:.08em}

/* FEED (asymmetric posts) ------------------------------ */
.mg-feed{padding:60px}
.mg-feed-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:20px;padding-bottom:24px;border-bottom:2px solid var(--mg-graphite);margin-bottom:44px}
.mg-feed-head h2{margin:0}
.mg-feed-head p{margin:0;max-width:340px;color:var(--mg-pewter);font-size:.96rem}

.mg-card{display:grid;gap:32px;padding:48px 0;border-bottom:1px solid var(--mg-line);position:relative}
.mg-card-num{font-family:'Playfair Display',serif;font-weight:800;font-size:5.4rem;line-height:.85;color:var(--mg-terracotta);letter-spacing:-.04em;flex-shrink:0}
.mg-card h3{font-size:2.1rem;line-height:1.12;margin-bottom:14px;font-weight:700}
.mg-card h3 a{color:var(--mg-graphite);text-decoration:none}
.mg-card h3 a:hover{color:var(--mg-terracotta)}
.mg-card-meta{font-family:'Work Sans',sans-serif;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mg-pewter);margin-bottom:14px;display:flex;gap:18px;align-items:center}
.mg-card-meta strong{color:var(--mg-terracotta);font-weight:700}
.mg-card-meta::after{content:"";flex:1;height:1px;background:var(--mg-line);max-width:300px}
.mg-card p{font-size:1.04rem;color:var(--mg-graphite)}
.mg-card-cta{display:inline-block;margin-top:14px;font-family:'Work Sans',sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.22em;color:var(--mg-terracotta);text-decoration:none;font-weight:600;padding-bottom:3px;border-bottom:1.5px solid var(--mg-terracotta)}

/* Card layout variants (1: full top photo, 2: split right, 3: split left, 4: text-only) */
.mg-card[data-layout="hero"]{grid-template-columns:1fr}
.mg-card[data-layout="hero"] .mg-card-img{order:-1}
.mg-card[data-layout="hero"] .mg-card-img img{aspect-ratio:21/9}

.mg-card[data-layout="split-r"]{grid-template-columns:1fr 1.3fr}
.mg-card[data-layout="split-r"] .mg-card-img img{aspect-ratio:3/4}

.mg-card[data-layout="split-l"]{grid-template-columns:1.3fr 1fr}
.mg-card[data-layout="split-l"] .mg-card-body{order:-1}
.mg-card[data-layout="split-l"] .mg-card-img img{aspect-ratio:3/4}

.mg-card[data-layout="text"]{grid-template-columns:auto 1fr;align-items:start;gap:42px}
.mg-card[data-layout="text"] .mg-card-num{margin-top:8px}

.mg-card[data-layout="banner"]{grid-template-columns:1fr;background:var(--mg-graphite);color:var(--mg-bone);padding:46px 38px;margin:46px 0}
.mg-card[data-layout="banner"] h3 a{color:var(--mg-bone)}
.mg-card[data-layout="banner"] h3 a:hover{color:var(--mg-terracotta)}
.mg-card[data-layout="banner"] p{color:#bbb}
.mg-card[data-layout="banner"] .mg-card-num{color:var(--mg-terracotta);font-size:7rem}
.mg-card[data-layout="banner"] .mg-card-meta{color:var(--mg-bone)}

.mg-card-img img{width:100%;object-fit:cover;display:block}

/* EDITORIAL ENDNOTE --------------------------------- */
.mg-endnote{display:grid;grid-template-columns:170px 1fr;gap:36px;padding:64px 60px;background:var(--mg-graphite);color:var(--mg-bone);border-top:6px solid var(--mg-terracotta)}
.mg-endnote img{width:170px;height:170px;object-fit:cover;border-radius:50%;filter:saturate(1.05);border:2px solid var(--mg-terracotta)}
.mg-endnote-role{font-family:'Work Sans',sans-serif;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mg-terracotta);font-weight:600;margin-bottom:10px}
.mg-endnote h3{color:var(--mg-bone);font-size:1.7rem;margin-bottom:8px}
.mg-endnote p{margin:0;color:#cfcfcf;font-size:1rem}
.mg-endnote a{color:var(--mg-terracotta);text-decoration-color:var(--mg-terracotta)}

/* PAGE HEAD (section pages) ---------------------------- */
.mg-section-head{padding:80px 60px 38px;border-bottom:1px solid var(--mg-rule);position:relative}
.mg-section-head::before{content:attr(data-section);position:absolute;top:60px;right:60px;font-family:'Playfair Display',serif;font-weight:800;font-size:10rem;color:var(--mg-ash);line-height:.85;letter-spacing:-.04em;pointer-events:none;z-index:0}
.mg-section-head>*{position:relative;z-index:1}
.mg-section-head h1{max-width:780px}
.mg-section-head .mg-sidetext{margin-top:24px;border-left:2px solid var(--mg-terracotta);padding-left:24px;font-style:italic;color:var(--mg-pewter);max-width:640px}

/* PROSE -------------------------------------------------- */
.mg-prose{padding:58px 60px 100px;max-width:none}
.mg-prose-grid{display:grid;grid-template-columns:1fr 280px;gap:60px;align-items:start}
.mg-prose-main{min-width:0}
.mg-prose-aside{font-family:'Work Sans',sans-serif;font-size:.84rem;line-height:1.6;color:var(--mg-pewter);border-top:2px solid var(--mg-graphite);padding-top:18px;position:sticky;top:30px}
.mg-prose-aside h4{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:1.05rem;color:var(--mg-graphite);margin-bottom:10px;letter-spacing:-.005em}
.mg-prose-aside p{font-size:.84rem}
.mg-prose-aside ul{padding-left:1.2em;margin:0;font-size:.84rem}
.mg-prose-aside li{margin-bottom:.4em}

.mg-prose p{font-size:1.08rem;margin-bottom:1.3em}
.mg-prose p.lead{font-family:'Playfair Display',serif;font-style:italic;font-size:1.6rem;line-height:1.32;color:var(--mg-graphite);margin-bottom:1.4em;border-bottom:1px solid var(--mg-line);padding-bottom:1.1em}
.mg-prose h2{font-size:2rem;margin-top:48px;font-weight:700;line-height:1.08}
.mg-prose h2::before{content:"⸻ ";color:var(--mg-terracotta);font-weight:500}
.mg-prose h3{font-family:'Work Sans',sans-serif;font-size:.86rem;text-transform:uppercase;letter-spacing:.22em;font-weight:700;color:var(--mg-terracotta);margin-top:32px;margin-bottom:.5em}
.mg-prose ul,.mg-prose ol{padding-left:1.5em;margin-bottom:1.3em}
.mg-prose li{margin-bottom:.5em}
.mg-prose blockquote{margin:36px 0;padding:24px 0;border-top:2px solid var(--mg-graphite);border-bottom:2px solid var(--mg-graphite);font-family:'Playfair Display',serif;font-style:italic;font-size:1.55rem;line-height:1.3;color:var(--mg-graphite);text-align:left}

/* PULL QUOTE (unique component) -------------------------- */
.mg-pull{float:right;width:300px;margin:8px -40px 18px 30px;font-family:'Playfair Display',serif;font-weight:700;font-size:1.6rem;line-height:1.15;color:var(--mg-terracotta);letter-spacing:-.012em;padding:18px 0;border-top:4px solid var(--mg-terracotta);border-bottom:1px solid var(--mg-terracotta)}
@media (max-width:1100px){.mg-pull{float:none;width:auto;margin:24px 0}}

/* TICKER LINE (unique component) ------------------------ */
.mg-ticker{display:flex;flex-wrap:wrap;gap:0;margin:32px 0;border-top:2px solid var(--mg-graphite);border-bottom:1px solid var(--mg-line)}
.mg-ticker-item{flex:1;min-width:160px;padding:18px 22px;border-right:1px solid var(--mg-line);font-family:'Work Sans',sans-serif}
.mg-ticker-item:last-child{border-right:0}
.mg-ticker-label{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mg-pewter);font-weight:600;margin-bottom:6px}
.mg-ticker-value{font-family:'Playfair Display',serif;font-size:1.34rem;font-weight:700;color:var(--mg-graphite);line-height:1.1}

/* ROUTE STEPS (unique component) ----------------------- */
.mg-route{counter-reset:step;margin:32px 0;padding:0;list-style:none}
.mg-route li{counter-increment:step;padding:18px 0 18px 64px;border-bottom:1px solid var(--mg-line);position:relative;font-family:'Work Sans',sans-serif;font-size:1rem;line-height:1.55}
.mg-route li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:18px;font-family:'Playfair Display',serif;font-weight:700;font-size:1.5rem;color:var(--mg-terracotta);letter-spacing:-.02em}
.mg-route li strong{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:1.12rem;color:var(--mg-graphite);display:block;margin-bottom:4px}

/* ARTICLE ---------------------------------------------- */
.mg-art-head{padding:70px 60px 32px;border-bottom:1px solid var(--mg-rule);position:relative}
.mg-crumb{font-family:'Work Sans',sans-serif;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mg-pewter);margin-bottom:24px;font-weight:600}
.mg-crumb a{color:var(--mg-pewter)}
.mg-crumb a:hover{color:var(--mg-terracotta)}
.mg-art-head h1{max-width:1000px;font-size:clamp(2.4rem,5.4vw,4.6rem);line-height:1.02;font-weight:800}
.mg-art-head .mg-sidetext{border-left:0;padding:18px 0 0;font-size:1.32rem;line-height:1.4;color:var(--mg-graphite);max-width:760px;margin-top:24px;border-top:1px solid var(--mg-line)}
.mg-byline{margin-top:30px;display:flex;align-items:center;gap:18px;font-family:'Work Sans',sans-serif;font-size:.86rem;color:var(--mg-pewter);flex-wrap:wrap;letter-spacing:.04em}
.mg-byline img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:1.5px solid var(--mg-terracotta)}
.mg-byline strong{display:block;font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:1.08rem;color:var(--mg-graphite);letter-spacing:-.01em}
.mg-art-bleed{margin:30px 0;border-bottom:1px solid var(--mg-rule)}
.mg-art-bleed img{width:100%;aspect-ratio:16/8;object-fit:cover}
.mg-art-bleed figcaption{padding:12px 60px;font-family:'Work Sans',sans-serif;font-size:.78rem;color:var(--mg-pewter);letter-spacing:.14em;text-transform:uppercase;border-top:1px solid var(--mg-line);background:var(--mg-bone)}

.mg-art-body{padding:30px 60px 70px;max-width:none}
.mg-art-cols{column-count:2;column-gap:50px;column-rule:1px solid var(--mg-line);max-width:none}
.mg-art-cols p{font-size:1.02rem;line-height:1.72;margin-bottom:1.2em;break-inside:auto}
.mg-art-cols p.lead{column-span:all;font-family:'Playfair Display',serif;font-style:italic;font-size:1.55rem;line-height:1.3;color:var(--mg-graphite);margin:0 0 36px;padding-bottom:28px;border-bottom:2px solid var(--mg-graphite)}
.mg-art-cols h2{column-span:all;font-size:2rem;margin:1em 0 .5em;font-weight:700;line-height:1.08}
.mg-art-cols h2::before{content:"⸻ ";color:var(--mg-terracotta);font-weight:500}
.mg-art-cols h3{font-family:'Work Sans',sans-serif;font-size:.86rem;text-transform:uppercase;letter-spacing:.22em;font-weight:700;color:var(--mg-terracotta);margin-top:28px;margin-bottom:.5em;break-after:avoid}
.mg-art-cols ul,.mg-art-cols ol{padding-left:1.5em;margin-bottom:1.2em}
.mg-art-cols li{margin-bottom:.5em;font-size:1rem;line-height:1.62}
.mg-art-cols blockquote{column-span:all;margin:36px 0;padding:28px 60px;border-top:3px solid var(--mg-graphite);border-bottom:3px solid var(--mg-graphite);font-family:'Playfair Display',serif;font-style:italic;font-size:1.7rem;line-height:1.28;text-align:center}
.mg-art-cols hr{column-span:all;border:0;border-top:1px solid var(--mg-line);margin:36px 0}
.mg-art-cols figure{margin:0 0 1em}

.mg-art-coda{padding:36px 60px 60px;background:var(--mg-graphite);color:var(--mg-bone);border-top:6px solid var(--mg-terracotta)}
.mg-art-coda-label{font-family:'Work Sans',sans-serif;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mg-terracotta);font-weight:600;margin-bottom:10px}
.mg-art-coda h3{font-family:'Playfair Display',serif;font-style:italic;font-size:1.7rem;font-weight:500;color:var(--mg-bone);margin-bottom:14px;line-height:1.18}
.mg-art-coda a{color:var(--mg-bone);text-decoration-color:var(--mg-terracotta)}
.mg-art-coda a:hover{color:var(--mg-terracotta)}

/* FORM ------------------------------------------------- */
.mg-field{display:flex;flex-direction:column;gap:6px;margin-bottom:22px}
.mg-field label{font-family:'Work Sans',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mg-graphite);font-weight:700}
.mg-field input,.mg-field textarea,.mg-field select{background:transparent;border:0;border-bottom:1.5px solid var(--mg-graphite);padding:10px 0;font:inherit;color:var(--mg-graphite);font-family:'Playfair Display',serif;font-size:1.12rem}
.mg-field input:focus,.mg-field textarea:focus,.mg-field select:focus{outline:none;border-color:var(--mg-terracotta)}
.mg-field textarea{min-height:120px;resize:vertical}
.mg-send{background:var(--mg-terracotta);color:var(--mg-bone);padding:14px 32px;font-family:'Work Sans',sans-serif;font-size:.82rem;letter-spacing:.24em;text-transform:uppercase;border:0;cursor:pointer;font-weight:700}
.mg-send:hover{background:var(--mg-graphite)}

/* COLOPHON BAR ------------------------------------------ */
.mg-colophon{padding:30px 60px;border-top:1px solid var(--mg-rule);background:var(--mg-bone);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-family:'Work Sans',sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mg-pewter)}
.mg-colophon a{color:var(--mg-pewter);text-decoration:none}
.mg-colophon a:hover{color:var(--mg-terracotta)}

/* REVEAL ------------------------------------------------ */
.mg-rise{opacity:0;transform:translateY(18px);transition:opacity .8s,transform .8s}
.mg-rise.show{opacity:1;transform:none}

/* RESPONSIVE -------------------------------------------- */
@media (max-width:1100px){
  .mg-marquee-grid{grid-template-columns:1fr;gap:32px}
  .mg-prose-grid{grid-template-columns:1fr;gap:36px}
  .mg-prose-aside{position:static}
  .mg-art-cols{column-count:1}
  .mg-card[data-layout="split-r"],.mg-card[data-layout="split-l"]{grid-template-columns:1fr}
  .mg-card[data-layout="split-l"] .mg-card-body{order:0}
}
@media (max-width:880px){
  body{grid-template-columns:1fr}
  .mg-rail{display:none;position:fixed;top:0;left:0;right:0;height:auto;width:100%;z-index:60;padding:24px}
  .mg-rail.show{display:flex}
  .mg-topbar{display:flex}
  .mg-marquee,.mg-bleed figcaption,.mg-dateline,.mg-feed,.mg-endnote,.mg-section-head,.mg-prose,.mg-art-head,.mg-art-body,.mg-art-coda,.mg-colophon,.mg-art-bleed figcaption{padding-left:24px;padding-right:24px}
  .mg-marquee::before,.mg-section-head::before{font-size:5rem;right:24px;top:24px}
  .mg-bleed img{aspect-ratio:16/9}
  .mg-card[data-layout="text"]{grid-template-columns:1fr;gap:14px}
  .mg-endnote{grid-template-columns:1fr}
  .mg-endnote img{width:120px;height:120px}
}
