/* Shared editorial proportions, from the masthead to the index. */
.ed-header .ed-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;column-gap:24px;row-gap:0;min-height:74px;padding-top:0}
.ed-header .ed-brand{grid-column:1;grid-row:1;width:fit-content;max-width:100%;min-width:0;gap:10px}
.ed-header .ed-brand img.ed-brand-symbol{flex:none}
.ed-header .ed-brand img.ed-brand-type{min-width:0;max-width:calc(100% - 40px);height:auto}
.ed-header .primary-nav{grid-column:2;grid-row:1;order:initial;width:auto;margin:0;gap:28px;border:0;padding:0}
.ed-header .primary-nav a{min-width:44px;justify-content:center}
.ed-header .ed-header-search{grid-column:3;grid-row:1;width:44px;height:44px;min-width:44px;border-radius:2px;cursor:pointer;transition:color .18s ease,background-color .18s ease}
.ed-header .ed-header-search svg{width:18px;height:18px;stroke-width:1.5}
.ed-header .ed-header-search:hover{color:#974b34;background:#192b3007}
.ed-header .ed-header-search:focus-visible{outline:2px solid #a35c42;outline-offset:2px}

.ed-guides .ed-page-head,.ed-watch .watch-intro,.ed-lab-index .lab-index-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;column-gap:40px;row-gap:0;max-width:none;padding-block:42px 28px}
.ed-guides .ed-page-head>h1,.ed-watch .watch-intro>h1,.ed-lab-index .lab-index-heading>h1{grid-column:1;grid-row:1;margin:0;max-width:17ch;font:400 clamp(38px,3.6vw,49px)/1.1 var(--ed-display);letter-spacing:-.03em;text-wrap:balance}
.ed-guides .ed-page-head>.ed-page-lede,.ed-watch .watch-intro>.ed-page-lede,.ed-lab-index .lab-index-heading>.ed-page-lede{grid-column:2;grid-row:1;max-width:45ch;margin:0;font:400 17px/1.6 var(--ed-text);text-wrap:pretty}
.ed-guides .ed-page-head>.ed-page-lede,.ed-watch .watch-intro>.ed-page-lede{color:#4b6058}
.ed-lab-index .lab-index-heading>.ed-page-lede{color:#cad7cd}
.ed-guides .ed-page-head .ed-filters{grid-column:1/-1;margin:28px 0 0}
.ed-guides .ed-sequence{padding-top:8px}

.ed-desks{padding-block:16px;border-color:#cdd0c5}
.ed-desks>a{padding-block:13px;min-height:80px;border-color:#cdd0c5;transition:color .18s ease}
.ed-desks strong{font:400 23px/1.2 var(--ed-display);letter-spacing:-.02em}
.ed-desks small{margin-top:6px;font:400 12px/1.55 var(--ed-sans);color:#5c6b62;max-width:23ch}
.ed-desks>a:hover{color:#974b34}
.ed-desks>a:focus-visible{outline:2px solid #a35c42;outline-offset:3px}
.ed-topic-page .ed-topic-intro{gap:40px}
.ed-topic-page .ed-topic-intro p{font:400 18px/1.7 var(--ed-text);color:#495e55}
.ed-section-head{border-top-color:#809187;padding-top:19px}
.ed-band.is-night .ed-section-head{border-top-color:#78988b66}
.ed-section-head .ed-kicker{margin:0 0 10px}
.ed-section-head>.ed-more{align-self:end}
.ed-footer.ed-footer-atelier .ed-footer-detail,.ed-footer.ed-footer-atelier .ed-footer-note{font-size:11px}

/* Search stays a calm reading surface, with the field always in reach. */
#search-dialog{width:min(700px,calc(100% - 40px));max-height:calc(100dvh - 64px);padding:28px 30px 16px;border:1px solid #d4d3c8;border-radius:3px;box-shadow:0 24px 90px -26px #0c242954;overflow:hidden}
#search-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr)}
#search-dialog .dialog-top{margin-bottom:18px}
#search-dialog h2{font-size:32px;letter-spacing:-.025em}
#search-dialog .icon-button{border-radius:2px}
#search-dialog label{font-size:12px;font-weight:400;line-height:1.5;color:#5b6d63}
#search-dialog input[type=search]{min-height:52px;margin-bottom:20px;border:0;border-bottom:1px solid #81958a;border-radius:0;padding:8px 2px;background:transparent;font:400 18px/1.4 var(--ed-sans);color:#1b3539}
#search-dialog input[type=search]:focus{outline:0;border-bottom:2px solid #a35c42;padding-bottom:7px}
#search-dialog input::placeholder{color:#64776c;font-size:15px}
#search-results{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-inline:2px 8px}
#search-results .ed-result{grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto;column-gap:18px;padding-block:18px;border-top:1px solid #d4d3c8;border-bottom:0}
#search-results .ed-result>.ed-pic{grid-column:1;grid-row:1}
#search-results .ed-result-copy{display:block;grid-column:2;grid-row:1;min-width:0}
#search-results .ed-result .ed-kicker{font-size:10px;letter-spacing:.08em}
#search-results .ed-result h3{font-size:24px;line-height:1.2;letter-spacing:-.02em;margin:6px 0}
#search-results .ed-result p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font:400 14px/1.55 var(--ed-text);color:#566b60;margin:0}
#search-results .ed-pic-frame{border-radius:0}
#search-results .ed-group-credits{font-size:11px;line-height:1.6}
#search-results .empty-results{padding:20px 0 30px;margin:0;font:400 18px/1.6 var(--ed-text);color:#52695c}
#search-dialog .icon-button:focus-visible{outline:2px solid #a35c42;outline-offset:2px}

@media(max-width:900px) and (min-width:761px){
 .ed-header .ed-header-inner{column-gap:18px}
 .ed-guides .ed-page-head,.ed-watch .watch-intro,.ed-lab-index .lab-index-heading{column-gap:28px}
 .ed-desks strong{font-size:22px}
}
@media(max-width:760px){
 .ed-header .ed-header-inner{min-height:66px;column-gap:8px}
 .ed-header .ed-brand{gap:8px}
 .ed-header .ed-brand img.ed-brand-type{max-width:calc(100% - 34px)}
 .ed-header .primary-nav{gap:10px}
 .ed-header .primary-nav a{font-size:11px;letter-spacing:0}
 .ed-guides .ed-page-head,.ed-watch .watch-intro,.ed-lab-index .lab-index-heading{display:block;padding-block:28px 24px}
 .ed-guides .ed-page-head>h1,.ed-watch .watch-intro>h1,.ed-lab-index .lab-index-heading>h1{font-size:37px;line-height:1.1;max-width:20ch}
 .ed-guides .ed-page-head>.ed-page-lede,.ed-watch .watch-intro>.ed-page-lede,.ed-lab-index .lab-index-heading>.ed-page-lede{font-size:17px;line-height:1.55;margin-top:14px}
 .ed-guides .ed-page-head .ed-filters{margin-top:22px}
 .ed-guides .ed-sequence{padding-top:4px}
 .ed-desks{padding-block:12px}
 .ed-desks>a,.ed-desks>a:first-child{min-height:86px;padding-block:13px}
 .ed-desks strong{font-size:22px}
 .ed-desks small{font-size:11px}
 .ed-section-head{padding-top:16px}
 .ed-topic-page .ed-topic-intro{gap:16px}
 .ed-topic-page .ed-topic-intro p{font-size:17px;line-height:1.65}
 .ed-about .ed-page-opener{padding-top:24px}
 #search-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:18px 18px 12px}
 #search-dialog .dialog-top{margin-bottom:14px}
 #search-dialog h2{font-size:28px}
 #search-dialog input[type=search]{font-size:16px;margin-bottom:12px}
 #search-results{padding-right:5px}
 #search-results .ed-result{grid-template-columns:48px minmax(0,1fr);column-gap:14px;padding-block:16px}
 #search-results .ed-result h3{font-size:21px;line-height:1.23}
 #search-results .ed-result p{font-size:14px}
}
@media(max-width:360px){
 .ed-header .ed-header-inner{width:calc(100% - 28px);column-gap:6px}
 .ed-header .ed-brand{gap:6px}
 .ed-header .ed-brand img.ed-brand-type{max-width:calc(100% - 29px)}
 .ed-header .primary-nav{gap:6px}
 .ed-guides .ed-page-head>h1,.ed-watch .watch-intro>h1,.ed-lab-index .lab-index-heading>h1{font-size:34px}
 #search-dialog{padding-inline:16px}
 #search-results .ed-result{column-gap:12px}
}
@media(prefers-reduced-motion:reduce){.ed-header .ed-header-search,.ed-desks>a{transition:none}}
@media(forced-colors:active){
 .ed-header .ed-header-search:focus-visible,.ed-desks>a:focus-visible,#search-dialog .icon-button:focus-visible{outline-color:Highlight}
 #search-dialog input[type=search]:focus{outline:2px solid Highlight;outline-offset:2px}
}

/* Home film details share the quiet controls and readable credits of Watch. */
.ed-home .ed-cinema .ed-film-credit,.ed-home .ed-cinema .ed-still-caption{font:400 12px/1.65 var(--ed-sans);color:#b9cbbf}
.ed-home .ed-cinema .ed-still-caption{padding-top:12px;text-wrap:pretty}
.ed-home .ed-cinema .ed-play{width:44px;height:44px;left:14px;bottom:14px;border:1px solid #f4eee278;background:#10252cde;color:#f3eee4;box-shadow:none;transition:background-color .18s ease,border-color .18s ease}
.ed-home .ed-cinema .ed-play svg{width:12px;height:12px;fill:currentColor}
.ed-home .ed-cinema .ed-play::after{content:none}
.ed-home .ed-cinema .ed-film:hover .ed-play,.ed-home .ed-cinema .ed-film:focus-visible .ed-play{transform:none;background:#f3eee4;color:#1c363a;border-color:#f3eee4}
.ed-home .ed-cinema .ed-duration{right:14px;bottom:14px;font:400 10px/1 var(--ed-sans);letter-spacing:.02em;padding:7px 8px;background:#10252cde;border-radius:2px;color:#f3eee4}
.ed-home .ed-cinema .ed-film:focus-visible{outline:2px solid #dfba97;outline-offset:4px}

@media(max-width:760px){
 /* Reset legacy named placements before composing each compact story row. */
 .ed-home .ed-story:not(.is-lead) .ed-story-copy,.ed-guides .ed-entry:not(.is-lead) .collection-copy{display:contents}
 .ed-home .ed-story:not(.is-lead) .ed-story-picture,.ed-guides .ed-entry:not(.is-lead) .collection-picture{grid-area:1/1/3/2;align-self:start;margin:0}
 .ed-home .ed-story:not(.is-lead) .ed-story-copy>.ed-kicker,.ed-guides .ed-entry:not(.is-lead) .collection-copy>.collection-topic{grid-area:1/2/2/3;align-self:end;margin:0}
 .ed-home .ed-story:not(.is-lead) .ed-story-copy>h3,.ed-guides .ed-entry:not(.is-lead) .collection-copy>h2{grid-area:2/2/3/3;min-width:0;align-self:start;margin:0;font-size:24px;line-height:1.18;letter-spacing:-.02em;text-wrap:pretty}
 .ed-home .ed-story:not(.is-lead) .ed-story-copy>p:not(.ed-kicker):not(.ed-meta),.ed-guides .ed-entry:not(.is-lead) .collection-copy>.collection-summary{grid-area:3/1/4/3;align-self:start;max-width:none;margin:8px 0 0;font-size:16px;line-height:1.62}
 .ed-home .ed-story:not(.is-lead) .ed-story-copy>.ed-meta,.ed-guides .ed-entry:not(.is-lead) .collection-copy>.ed-entry-meta{grid-area:4/1/5/3;margin:8px 0 0;padding:0}
 .ed-home .ed-cinema-row .ed-film-credit{font-size:11px;line-height:1.65}
 .ed-home .ed-cinema-row .ed-play{width:36px;height:36px;left:8px;bottom:8px}
 .ed-home .ed-cinema-row .ed-duration{display:none}
 .ed-home .ed-cinema-row .ed-film-title{margin-top:8px;line-height:1.2}
}
@media(prefers-reduced-motion:reduce){.ed-home .ed-cinema .ed-play{transition:none}}

.ed-home .ed-cover h1{overflow-wrap:anywhere}

/* Keep the reading-list exit in reach while its stories scroll. */
#saved-dialog{width:min(700px,calc(100% - 40px));max-height:calc(100dvh - 48px);padding:24px 28px 16px;border:1px solid #d4d3c8;border-radius:3px;box-shadow:0 24px 90px -26px #0c242954;overflow:hidden}
#saved-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}
#saved-dialog .dialog-top{margin-bottom:12px;align-items:start}
#saved-dialog h2{font-size:30px;line-height:1.15;letter-spacing:-.025em}
#saved-dialog .icon-button{flex:none;border-radius:2px}
#saved-dialog>p{margin:0 0 16px;font:400 13px/1.5 var(--ed-sans);color:#566b60}
#saved-results{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 8px 2px 2px}
#saved-results .ed-result-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:8px;border-top:1px solid #d4d3c8;padding-block:16px}
#saved-results .ed-result-row>.ed-save{margin:0;min-width:44px;min-height:44px}
#saved-results .ed-result{grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto;gap:14px;padding:0;border:0}
#saved-results .ed-result>.ed-pic{grid-column:1;grid-row:1;margin:0}
#saved-results .ed-result-copy{display:block;grid-column:2;grid-row:1;min-width:0}
#saved-results .ed-result .ed-kicker{font-size:10px;letter-spacing:.08em;margin:0}
#saved-results .ed-result h3{font-size:23px;line-height:1.2;letter-spacing:-.02em;margin:6px 0}
#saved-results .ed-result p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font:400 14px/1.5 var(--ed-text);color:#566b60;margin:0}
#saved-results .ed-group-credits{font-size:11px;line-height:1.6}
#saved-dialog .icon-button:focus-visible{outline:2px solid #a35c42;outline-offset:2px}
@media(max-width:760px){
 #saved-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:18px 16px 12px}
 #saved-dialog h2{font-size:27px}
 #saved-results .ed-result{grid-template-columns:40px minmax(0,1fr);gap:12px}
 #saved-results .ed-result h3{font-size:20px;line-height:1.25}
}
