/* MAJLIS Editorial: index, article and subscribe styles. Loaded only on /editorial/.
   Built on the v2 tokens in majlis.css. Headlines use lighter tracking than the rest of
   the site so long titles always fit the screen. */

/* ---- masthead ---------------------------------------------------------- */
.ed-masthead{padding-top:clamp(32px,4.2vw,64px);padding-bottom:clamp(18px,2vw,28px);text-align:center}
.ed-masthead-title{font-size:clamp(38px,6.4vw,92px);font-weight:300;letter-spacing:.16em;line-height:1;margin-right:-.16em}
.ed-masthead-text{max-width:60ch;margin:14px auto 0;font-size:clamp(15px,1.05vw,17px);line-height:1.55;color:var(--muted)}

/* ---- topic filter ------------------------------------------------------ */
.ed-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 4px;padding-bottom:clamp(20px,2.4vw,32px);border-bottom:1px solid var(--line);margin-bottom:clamp(28px,3.4vw,48px)}
.ed-chip{background:none;border:0;padding:8px 12px;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);position:relative}
.ed-chip::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:1px;background:currentColor;transform:scaleX(0);transition:transform .3s var(--ease)}
.ed-chip:hover{color:var(--wine)}
.ed-chip[aria-pressed="true"]{color:var(--wine)}
.ed-chip[aria-pressed="true"]::after{transform:scaleX(1)}
@media (max-width:640px){
  .ed-filter{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:0;margin-right:0;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .ed-filter::-webkit-scrollbar{display:none}
  .ed-chip{flex:0 0 auto;padding:8px 10px}
}

/* ---- shared meta / headings ------------------------------------------- */
.ed-card-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 12px;font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--clay)}
.ed-card-meta time{color:var(--muted)}
.ed-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-top:1px solid var(--line-strong);padding-top:20px;margin-bottom:clamp(24px,3vw,40px)}
.ed-section-title{font-size:13px;font-weight:500;letter-spacing:.24em}

/* ---- lead story -------------------------------------------------------- */
.ed-lead{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(28px,4vw,72px);align-items:center;margin-bottom:clamp(56px,7vw,112px)}
.ed-lead-img{display:block;overflow:hidden;aspect-ratio:3/2;background:var(--shell)}
.ed-lead-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ed-lead:hover .ed-lead-img img{transform:scale(1.025)}
.ed-lead-title{font-size:clamp(24px,2.6vw,40px);letter-spacing:.06em;line-height:1.14;margin-bottom:20px;overflow-wrap:break-word;hyphens:auto}
.ed-lead-title a{text-decoration:none}
.ed-lead-text{font-size:clamp(16px,1.15vw,18px);line-height:1.65;max-width:42ch;margin-bottom:28px}
@media (max-width:860px){.ed-lead{grid-template-columns:1fr;gap:24px}}

/* ---- card grid --------------------------------------------------------- */
.ed-list{padding-bottom:clamp(56px,7vw,112px)}
.ed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,4.4vw,72px) clamp(18px,2.2vw,36px)}
.ed-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ed-card{min-width:0}
.ed-card[hidden]{display:none}
.ed-card-img{display:block;overflow:hidden;aspect-ratio:4/5;background:var(--shell);margin-bottom:20px}
.ed-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ed-card:hover .ed-card-img img{transform:scale(1.035)}
.ed-card-title{font-size:clamp(16px,1.3vw,19px);font-weight:400;letter-spacing:.07em;line-height:1.32;margin-bottom:12px;overflow-wrap:break-word;hyphens:auto}
.ed-card-title a{text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .4s var(--ease)}
.ed-card:hover .ed-card-title a{background-size:100% 1px}
.ed-card-text{font-size:15px;line-height:1.6;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ed-empty{text-align:center;color:var(--muted);padding:40px 0}
@media (max-width:980px){.ed-grid,.ed-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){
  .ed-grid,.ed-grid--3{grid-template-columns:1fr;gap:44px}
  .ed-card-img{aspect-ratio:4/3}
}
.ed-list--more .ed-grid:empty{display:none}

/* ---- in season band ---------------------------------------------------- */
.ed-season{padding:clamp(56px,7vw,112px) 0;margin-bottom:clamp(56px,7vw,112px)}
.ed-season-in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(28px,5vw,96px);align-items:center}
.ed-season-title{font-size:clamp(24px,2.8vw,42px);letter-spacing:.06em;line-height:1.14;margin-bottom:20px;overflow-wrap:break-word;hyphens:auto}
.ed-season-title a{text-decoration:none}
.ed-season p{max-width:42ch;margin-bottom:28px;opacity:.9}
.ed-season-img{display:block;aspect-ratio:3/2;overflow:hidden}
.ed-season-img img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.ed-season-in{grid-template-columns:1fr}.ed-season-img{order:-1}}

/* ---- brochures --------------------------------------------------------- */
.ed-brochures{padding-bottom:clamp(64px,8vw,128px)}
.ed-br-note{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.ed-br-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.2vw,36px)}
.ed-br{display:grid;grid-template-columns:clamp(96px,11vw,150px) 1fr;gap:clamp(18px,2vw,32px);align-items:center;padding:clamp(18px,2vw,28px);background:var(--shell);text-decoration:none;transition:background-color .3s var(--ease)}
.ed-br:hover{background:var(--linen)}
.ed-br img{width:100%;aspect-ratio:1545/2000;object-fit:cover;box-shadow:0 1px 0 var(--line)}
.ed-br-body{display:block}
.ed-br-title{display:block;font-size:clamp(16px,1.4vw,20px);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.ed-br-text{display:block;font-size:14px;line-height:1.55;color:var(--muted)}
@media (max-width:760px){.ed-br-row{grid-template-columns:1fr}}

/* ---- article ----------------------------------------------------------- */
.ed-draft{position:sticky;top:var(--header-h);z-index:40;background:var(--gilt);color:var(--wine-deep);text-align:center;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:9px 16px}
.ed-head{max-width:1040px;margin:0 auto;text-align:center;padding-top:clamp(36px,6vw,96px);padding-bottom:clamp(32px,4vw,56px)}
.ed-crumbs{display:flex;justify-content:center;gap:10px;margin-bottom:clamp(22px,2.6vw,34px);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--clay)}
.ed-crumbs a{text-decoration:none}
.ed-crumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.ed-h1{font-size:clamp(27px,4.3vw,62px);font-weight:400;letter-spacing:.06em;line-height:1.1;max-width:22ch;margin:0 auto;overflow-wrap:break-word;hyphens:auto}
.ed-dek{max-width:54ch;margin:clamp(20px,2.4vw,30px) auto 0;font-size:clamp(17px,1.35vw,21px);line-height:1.55;color:var(--muted)}
.ed-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 0;margin:clamp(22px,2.6vw,34px) 0 0;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.ed-meta>*+*::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--line-strong);margin:0 14px;vertical-align:middle}
.ed-lang{text-decoration:none;letter-spacing:0;font-size:14px}
.ed-lang:hover{text-decoration:underline}
.ed-hero{margin:0 auto;padding:0 var(--gutter);max-width:1680px}
.ed-hero img{width:100%;max-height:82vh;aspect-ratio:3/2;object-fit:cover;background:var(--shell)}
.ed-hero figcaption,.ed-prose figcaption{margin-top:12px;font-size:13px;line-height:1.5;color:var(--muted);text-align:center}

.ed-prose{max-width:calc(680px + var(--gutter) * 2);margin:0 auto;padding:clamp(48px,6vw,96px) var(--gutter) 0;font-size:clamp(17px,1.2vw,19px);line-height:1.78}
.ed-prose>*{max-width:680px}
.ed-prose>p:first-child::first-letter{float:left;font-size:4.1em;line-height:.86;padding:6px 12px 0 0;font-weight:300;color:var(--clay)}
.ed-prose p{margin:0 0 1.25em;text-wrap:pretty}
.ed-prose h2{font-size:clamp(15px,1.15vw,17px);font-weight:500;letter-spacing:.2em;line-height:1.45;margin:2.6em 0 1.1em}
.ed-prose h3{font-size:15px;font-weight:500;letter-spacing:.14em;margin:2em 0 .8em}
.ed-prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--line-strong)}
.ed-prose a:hover{text-decoration-color:var(--wine)}
.ed-prose strong,.ed-prose b{font-weight:500}
.ed-prose ul,.ed-prose ol{padding-left:0;margin:0 0 1.6em;list-style:none;counter-reset:ed}
.ed-prose li{position:relative;padding-left:28px;margin-bottom:.6em}
.ed-prose ul li::before{content:"";position:absolute;left:4px;top:.78em;width:10px;height:1px;background:var(--clay)}
.ed-prose ol li{counter-increment:ed}
.ed-prose ol li::before{content:counter(ed,decimal-leading-zero);position:absolute;left:0;top:.2em;font-size:11px;font-weight:500;letter-spacing:.1em;color:var(--clay)}
.ed-prose figure{margin:clamp(40px,5vw,72px) 0;max-width:none;width:min(1120px,calc(100vw - var(--gutter) * 2));position:relative;left:50%;transform:translateX(-50%)}
.ed-prose figure img{width:100%}
.ed-prose figure.pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,24px)}
.ed-prose figure.pair img{aspect-ratio:4/5;object-fit:cover;height:100%}
.ed-prose figure.pair figcaption{grid-column:1/-1}
.ed-prose blockquote{margin:clamp(40px,5vw,64px) auto;max-width:760px;padding:clamp(28px,3vw,40px) 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);text-align:center;font-size:clamp(22px,2.2vw,32px);font-weight:300;line-height:1.38;letter-spacing:.01em;width:min(760px,calc(100vw - var(--gutter) * 2));position:relative;left:50%;transform:translateX(-50%)}
.ed-prose blockquote p{margin:0}
.ed-prose .note{background:var(--shell);padding:clamp(22px,2.4vw,32px);margin:2em 0;font-size:.94em;line-height:1.7}
.ed-prose .note>:last-child{margin-bottom:0}
.ed-prose .note h3{margin-top:0}
.ed-article-foot{max-width:calc(680px + var(--gutter) * 2);margin:0 auto;padding:clamp(32px,4vw,56px) var(--gutter) clamp(64px,7vw,112px)}
.ed-share{display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center;border-top:1px solid var(--line);padding-top:22px;margin:0;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase}
.ed-share span{color:var(--muted)}
.ed-share a,.ed-share button{background:none;border:0;padding:0;text-decoration:none;font:inherit;letter-spacing:inherit;text-transform:inherit}
.ed-share a:hover,.ed-share button:hover{color:var(--clay)}
@media (max-width:560px){
  .ed-h1{font-size:clamp(25px,7.4vw,34px);letter-spacing:.04em}
  .ed-meta>*+*::before{margin:0 10px}
  .ed-hero{padding:0}
  .ed-hero img{aspect-ratio:4/5;max-height:none}
  .ed-hero figcaption{padding:0 var(--gutter)}
  .ed-prose figure{width:100vw}
  .ed-prose figure figcaption{padding:0 var(--gutter)}
  .ed-prose figure.pair{grid-template-columns:1fr}
}
.ed-related{padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(64px,8vw,120px)}

/* ---- subscribe --------------------------------------------------------- */
.ed-subscribe{padding:clamp(40px,4.6vw,72px) 0}
.ed-subscribe-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,80px);align-items:center;max-width:1360px;margin:0 auto}
.ed-subscribe-title{font-size:clamp(28px,3.2vw,46px);font-weight:300;letter-spacing:.14em;line-height:1;margin-bottom:14px}
.ed-subscribe-copy p{max-width:46ch;opacity:.9;font-size:clamp(15px,1.05vw,16px);line-height:1.55;margin:0}
.ed-subscribe-copy .eyebrow{margin-bottom:12px}
.ed-subscribe-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.ed-field{min-width:0}
.ed-field label{display:block;margin-bottom:4px;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;opacity:.86}
.ed-field input{width:100%;min-height:42px;padding:8px 0;border:0;border-bottom:1px solid var(--line-light);border-radius:0;background:transparent;color:var(--ivory);font-size:17px}
.ed-field input:focus{outline:none;border-bottom-color:var(--ivory)}
.ed-check{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;opacity:.86}
.ed-check input{margin-top:4px;accent-color:var(--cyan);flex-shrink:0}
.ed-subscribe-form .btn{grid-column:1/-1;justify-self:start;min-width:200px;min-height:44px}
.ed-subscribe-form .hp{position:absolute;left:-9999px}
.ed-form-status{grid-column:1/-1;margin:0;font-size:14px}
.ed-form-status:empty{display:none}
.ed-form-status.is-ok{color:var(--cyan)}
.ed-form-status.is-err{color:#ffd7cf}
.ed-subscribe-form.is-done .ed-field,.ed-subscribe-form.is-done .ed-check,.ed-subscribe-form.is-done .btn{display:none}
@media (max-width:860px){.ed-subscribe-in{grid-template-columns:1fr}}
@media (max-width:520px){.ed-subscribe-form{grid-template-columns:1fr}.ed-subscribe-form .btn{width:100%}}
@media (max-width:560px){.ed-meta{gap:8px 18px}.ed-meta>*+*::before{display:none}}
