/* Desktop has its own composition. All existing phone rules remain below 960px. */
.desktop-sitebar{display:none}
@media(min-width:960px){
 :root{--desktop-width:1280px;--desktop-gutter:40px;--topic-nav-height:0px}
 html{scroll-padding-top:82px}body{padding-top:64px!important;background:#e9eeeb}
 .desktop-sitebar{display:block;position:fixed;inset:0 0 auto;z-index:110;height:64px;background:#faf8f2f5;border-bottom:1px solid #dce4dd;backdrop-filter:blur(12px);font-family:-apple-system,'PingFang SC','Microsoft YaHei',sans-serif}
 .desktop-bar-inner{width:calc(100% - 64px);max-width:var(--desktop-width);height:64px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 40px}
 .desktop-brand{font-size:19px;font-weight:600;color:#214e59;text-decoration:none;white-space:nowrap}
 .desktop-navigation{display:flex;align-items:center;gap:8px;height:100%}.desktop-navigation a{padding:19px 20px;font-size:16px;font-weight:500;line-height:24px;color:#70857b;text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
 .desktop-navigation a:hover,.desktop-navigation a[aria-current=page]{color:#275e6b;border-bottom-color:#7eaaa0}
 #root>.bottom-nav,.recommend-nav,.topic-nav,.original-reports-nav{display:none!important}
 #root>main,body>main.sheet,body>main.directory-page,body>main.company-page,body>main.product-page,.original-reports-page{width:calc(100% - 64px);max-width:var(--desktop-width);margin:0 auto;min-height:calc(100vh - 64px);padding-bottom:36px!important}
 body.detail-shell{width:auto;max-width:none;margin:0;background:#e9eeeb}
 body.detail-shell>header,body.detail-shell>footer{width:calc(100% - 64px);max-width:var(--desktop-width);margin:auto;background:#faf8f1;padding-left:40px;padding-right:40px}
 body.detail-shell>main{background:#faf8f1}
 #root .mast.ciie-mast,.sheet .mast.ciie-mast,.photo-page>.mast.ciie-mast{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:26px 40px 22px;height:auto;min-height:120px;margin:0;border:0}
 #root .mast .xm,.sheet .mast .xm,.photo-page .mast .xm{width:230px;flex:none}
 #root .mast .ciie,.sheet .mast .ciie,.photo-page .mast .ciie{width:220px;flex:none}
 #root .mast .publisher-logo,.sheet .mast .publisher-logo,.photo-page .mast .publisher-logo{width:100%;height:auto}
 #root .mast .ciie-lockup,.sheet .mast .ciie-lockup,.photo-page .mast .ciie-lockup{width:100%;height:auto;clip-path:none}
 .reader-toolbar{padding-left:0;padding-right:0}.reader-toolbar button{font-size:13px}
 /* Homepage: broad hero, useful pairs, and three clickable editorial posters. */
 #root .editorial-home .v8-hero{height:420px;min-height:0;overflow:hidden}
 #root .editorial-home .v8-world{width:760px;height:500px;max-width:none;aspect-ratio:auto;right:0;top:-25px;object-fit:contain;mask-image:none;-webkit-mask-image:none}
 #root .editorial-home .v8-hero-copy{padding:46px 48px;max-width:490px}
 #root .editorial-home .v8-hero h1,html.large-text #root .editorial-home .v8-hero h1{font-size:72px;line-height:1.12;letter-spacing:4px}
 #root .editorial-home .v8-eventline{font-size:16px;margin-top:17px}
 #root .editorial-home .v8-hero-tagline,html.large-text #root .editorial-home .v8-hero-tagline{position:absolute;left:48px;right:auto;top:auto;bottom:24px;width:330px;margin:0;font-size:19px;line-height:1.8;text-align:left}
 #root .editorial-home .v8-current{display:grid;grid-template-columns:1fr 1.15fr;gap:36px;margin:0 40px;padding:20px 0;border-bottom:1px solid #d8e2dd}
 #root .editorial-home .now{margin:0;padding:0;border:0;align-items:center}
 #root .editorial-home .home-reminder-row{margin:0;align-items:center}.home-reminder-row .notice{font-size:15px}
 #root .editorial-home>.body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 40px}
 #root .editorial-home>.body>*{grid-column:1/-1;min-width:0}
 #root .editorial-home .guide-row{padding:22px 0;justify-content:flex-start;gap:42px}
 #root .editorial-home .reader-entries{grid-column:1;padding:24px;margin:0;border-radius:10px 0 0 10px}
 #root .editorial-home .reader-public-home{grid-column:2;margin:0 0 0 -24px;padding:20px 24px 20px 0;display:flex;align-items:center;border-radius:0 10px 10px 0}
 #root .editorial-home .reader-latest{width:100%;padding:18px 20px}.reader-latest>p{font-size:16px!important}
 #root .editorial-home .home-original-reports{padding:12px 0 8px;margin:0}
 #root .editorial-home .original-reports-heading{margin-bottom:20px}
 #root .editorial-home .original-reports-heading h2{font-size:26px}
 #root .editorial-home .home-original-reports .original-report-list{gap:42px}
 #root .editorial-home .home-original-reports .original-report h3{font-size:20px;line-height:1.6;margin-bottom:14px}
 #root .editorial-home .home-original-reports .original-report-image{width:112px;height:84px;margin-right:16px}
 #root .editorial-home .home-original-reports .original-report-summary{font-size:16px;line-height:1.85}
 #root .editorial-home .v8-photo-banner{grid-column:1;margin:0;border:0;align-self:stretch}
 #root .editorial-home .v8-photo-banner>a{display:block;height:100%}#root .editorial-home .v8-photo-banner img{display:block;width:100%;height:188px;object-fit:contain;border-radius:10px}
 #root .editorial-home .map-entry{grid-column:2;margin:0;padding:28px 24px;min-height:188px;border:0;border-radius:10px;background:#edf2eb;align-items:center}
 #root .editorial-home .map-entry h3{font-size:23px}
 #root .editorial-home .v8-find{padding:0;margin:0}.v8-find-label{margin-bottom:12px}
 #root .editorial-home .home-directory-panel{display:grid;grid-template-columns:1.4fr 1fr;align-items:stretch}
 #root .editorial-home .home-directory-panel>.search{border-right:1px solid #bdcfd0;min-height:64px}
 #root .editorial-home .home-directory-links{margin:0;border-top:0}.home-directory-links a{min-height:64px}
 #root .editorial-home .home-recommend-head{margin:14px 0 0}#root .editorial-home .home-recommend-head h2{font-size:30px}
 #root .editorial-home .home-posters{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 4px;align-items:start}
 #root .editorial-home .home-poster-art{border-radius:10px}
 #root .editorial-home .v8-activities{margin:12px 0 8px}
 #root .editorial-home .activity-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
 #root .editorial-home .activity-feature{padding:26px}.activity-feature-top{gap:32px}
 #root .editorial-home .footer.home-credits{margin:20px 40px 0;padding:18px 0}
 /* Recommendations: retain every link and category, use readable desktop cards. */
 .sheet .cover{height:330px;padding:30px 40px}.sheet .cover h1{font-size:62px;max-width:550px;margin-top:18px}
 .sheet .cover-copy{left:42%;right:35%;top:58px;font-size:18px}
 .sheet .cover-car{width:52%;height:280px;left:auto;right:10px;bottom:24px}.sheet .cover-caption{right:40px;bottom:12px}
 .sheet .find{margin:20px 40px 24px}.sheet .recommend-zone-buttons{grid-template-columns:repeat(7,minmax(0,1fr))}
 .sheet .spread{margin:0 40px 28px;padding:28px;border-radius:16px}
 .sheet .spread-head{margin-bottom:24px}.sheet .spread-head h2{font-size:34px}
 .sheet .subsection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;align-items:start;margin-bottom:24px}
 .sheet .sub-head,.sheet .subsection>.more{grid-column:1/-1}.sheet .editorial-flow,.sheet .editorial-pair{display:contents}
 .sheet .subsection>.lead,.sheet .editorial-item{display:flex!important;flex-direction:column!important;grid-column:auto!important;width:auto!important;max-width:none!important;min-width:0;margin:0!important;padding:16px!important;gap:0!important;transform:none!important;align-self:start}
 .sheet .product-media-group{display:flex!important;flex-direction:column!important;width:100%!important;margin:0!important;order:0;transform:none!important;min-width:0}
 .sheet .product-visual{display:block!important;width:100%!important;margin:0!important;transform:none!important}
 .sheet .lead-image-crop,.sheet .item-image-crop{position:relative!important;width:100%!important;height:250px!important;min-height:0!important;aspect-ratio:auto!important;margin:0!important;transform:none!important;overflow:hidden}
 .sheet .product-visual img{position:static!important;width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important;max-width:100%!important}
 .sheet .lead-name,.sheet .product-title{margin:12px 0 0!important;padding:0!important;min-height:0!important;text-align:left!important;transform:none!important}
 .sheet .lead-name h4,.sheet .product-title h4{font-size:20px!important;line-height:1.55!important;min-height:0!important;margin:0!important;text-align:left!important}
 .sheet .lead .lead-note,.sheet .editorial-item .item-note{order:2!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:12px 0 0!important;padding:12px 14px!important;transform:none!important;align-self:stretch!important;font-size:16px!important;line-height:1.8!important}
 .sheet .foot{padding:24px 40px}.sheet .filter-status{margin:12px 40px}
 .sheet .reading-tools{right:max(10px,calc((100vw - min(var(--desktop-width),100vw - 64px))/2 + 10px));top:64px;bottom:18px;width:24px}
 /* Directories, articles and detailed content. */
 .directory-page,.company-page,.product-page{padding:26px 40px 40px}
 .directory-controls{display:grid;grid-template-columns:1.6fr 1fr}.directory-search{border-bottom:0;border-right:1px solid #d7e2da}
 .directory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 24px}.directory-company-grid,.company-products{grid-template-columns:repeat(3,minmax(0,1fr))}
 .product-page .detail-photo{float:left;width:47%;margin:16px 36px 24px 0}.product-page .detail-photo img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}
 .product-page>section[aria-labelledby=intro-heading]{display:flow-root;padding-top:4px}.product-page .description{font-size:17px;line-height:1.95}
 .product-page::after{content:'';display:block;clear:both}
 .original-reports-page{padding:28px 40px 40px}.original-reports-page>.original-report-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
 .original-reports-page .original-report+.original-report{border:0}.original-reports-page .original-report-link{grid-template-columns:140px minmax(0,1fr);gap:22px}
 .report-detail-heading,.report-article-body,.report-detail-source{max-width:900px;margin-left:auto;margin-right:auto}.report-article-body{font-size:18px;line-height:2}.report-article-body img{max-height:760px;object-fit:contain}
 .reader-messages-page,.faq-page{width:calc(100% - 64px);max-width:var(--desktop-width);margin:auto;padding:28px 40px 40px}
 .reader-message{max-width:980px;margin:auto}.reader-message-quote{font-size:18px}.reader-message-reply>p{font-size:16px}
 .page-return.floating-return,.original-reports-back{right:max(22px,calc((100vw - min(var(--desktop-width),100vw - 64px))/2 + 18px));bottom:24px!important}
 .photo-page>.mast.ciie-mast,.photo-page>.wrap{width:calc(100% - 64px);max-width:var(--desktop-width);margin:auto;background:#faf8f2}
 .photo-page>.wrap{padding:20px 40px 36px;grid-template-columns:360px minmax(0,1fr);gap:24px 48px}.photo-page .photo-heading{grid-column:1/-1;text-align:center}.photo-page .preview{min-width:0}.photo-page .frame-stage{max-width:580px;margin:auto}.photo-page #poster{max-height:680px;max-width:100%;width:auto;height:auto;display:block;margin:auto}
 #root>main.guide-page,#root>main.participation-page{padding-left:40px;padding-right:40px}#root>main.guide-page>.body,#root>main.participation-page>.body{padding:0}.guide-page .page-head{padding-left:0}.participation-page .page-head{padding-left:0}
}
@media(min-width:960px) and (max-width:1150px){
 :root{--desktop-gutter:28px}.desktop-bar-inner{padding:0 28px}.desktop-navigation a{padding-left:12px;padding-right:12px}
 #root .editorial-home .v8-world{width:640px;right:-70px}#root .editorial-home .v8-hero-copy{max-width:400px}
 #root .editorial-home .v8-hero h1{font-size:64px}.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sheet .subsection{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet .cover-copy{left:42%;right:30%}
}
@media(min-width:960px){
 body>main.page{width:calc(100% - 64px);max-width:var(--desktop-width);min-height:calc(100vh - 64px);margin:0 auto;background:#faf8f1;padding-bottom:36px}
 .page>.mast.ciie-mast{display:flex;align-items:center;justify-content:space-between;padding:26px 40px 22px;min-height:120px;height:auto;border:0}
 .page>.mast .xm{width:230px}.page>.mast .ciie{width:220px}.page>.mast .publisher-logo,.page>.mast .ciie-lockup{display:block;width:100%;height:auto;clip-path:none}
 .page>.message-body{max-width:1060px;padding:22px 40px;margin:auto}.page>.body{max-width:1060px;padding:22px 40px;margin:auto}
 .page .quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.page .intro h1{font-size:34px}
 #root .editorial-home .guide-row{margin:0;width:100%}
 #root .editorial-home .v8-photo-banner{margin-left:0;margin-right:0;width:100%}
 #root .editorial-home .activity-more-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
 #root .editorial-home .activity-feature-top{grid-template-columns:320px minmax(0,1fr);gap:32px}
 .sheet .recommend-zone-buttons{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:10px!important;width:100%!important}
 .sheet .recommend-zone-buttons>button{grid-column:auto!important;width:100%!important;min-height:46px;white-space:normal}
 .sheet .subsection .lead-visual,.sheet .subsection .product-visual{height:250px!important;min-height:0!important;max-height:none!important;display:block!important;overflow:hidden}
 .sheet .subsection .lead-visual>img,.sheet .subsection .product-visual>img{position:static!important;display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important}
 .sheet .amd-media-group{width:100%!important;display:flex!important;flex-direction:column!important;margin:0!important;order:0}
 .original-reports-page>.original-reports-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
 .report-detail-body{max-width:900px;margin:0 auto;font-size:18px;line-height:2}.report-detail-body img{max-height:760px;object-fit:contain}.report-detail-heading h1{font-size:34px}
 .category-only .category-header{padding:32px 40px}.category-only .category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
}
@media(min-width:960px) and (max-width:1150px){
 .sheet .recommend-zone-buttons{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 #root .editorial-home .activity-more-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Desktop background is continuous across the viewport; blend the hero into it. */
@media(min-width:960px){
 html,body,body.detail-shell{background:#faf8f2}
 #root,#root>main.editorial-home,#root .editorial-home .mast,#root .editorial-home .v8-hero,#root .editorial-home .v8-current,#root .editorial-home>.body{background:#faf8f2}
 .desktop-sitebar{background:#faf8f2f5}
 #root .editorial-home .v8-world{
  mask-image:linear-gradient(to right,transparent 0,#000 18%,#000 86%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 14%,#000 64%,transparent 89%);
  mask-composite:intersect;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 18%,#000 86%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 14%,#000 64%,transparent 89%);
  -webkit-mask-composite:source-in;
 }
}
/* Branding first, navigation second. Keep the full illustration inside its fade. */
@media(min-width:960px){
 body{padding-top:0!important}
 .desktop-sitebar{position:sticky;top:0;inset-inline:auto;flex:none}
 .desktop-sitebar.in-layout{width:100%;align-self:stretch;box-shadow:0 0 0 100vmax #faf8f2;clip-path:inset(0 -100vmax)}
 .desktop-sitebar.in-layout .desktop-bar-inner{width:100%}
 #root .editorial-home .v8-hero{height:440px}
 #root .editorial-home .v8-world{
  top:0;right:0;width:760px;height:430px;
  mask-image:linear-gradient(to right,transparent 0,#000 18%,#000 98%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 3%,#000 88%,transparent 100%);
  mask-composite:intersect;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 18%,#000 98%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 3%,#000 88%,transparent 100%);
  -webkit-mask-composite:source-in;
 }
}
@media(min-width:960px) and (max-width:1150px){#root .editorial-home .v8-world{width:620px;right:0}}
@media(min-width:960px){
 /* Match the image element to the source ratio so the fade reaches its true edges. */
 #root .editorial-home .v8-world{width:645px;height:auto;aspect-ratio:3/2;object-fit:contain}
}
@media(min-width:960px) and (max-width:1150px){#root .editorial-home .v8-world{width:620px;height:auto}}
@media(min-width:960px){
 /* Proportional column widths give all three complete posters the same height. */
 #root .editorial-home .home-posters{grid-template-columns:var(--poster-columns,repeat(3,minmax(0,1fr)))}
}
/* Compact desktop opening: title, deck and the existing search form read as one group. */
@media(min-width:960px){
 #root .editorial-home .v8-hero{height:auto;min-height:370px;align-items:center}
 #root .editorial-home .v8-hero-copy{display:flex;flex-direction:column;gap:12px;width:52%;max-width:none;padding:28px 40px 26px}
 #root .editorial-home .v8-hero h1,html.large-text #root .editorial-home .v8-hero h1{margin:0;font-size:64px;line-height:1.15;letter-spacing:2px;white-space:nowrap}
 #root .editorial-home .v8-hero h1 br{display:none}
 #root .editorial-home .v8-hero h1 b{display:inline;margin-left:10px}
 #root .editorial-home .v8-eventline{margin:0;font-size:15px;line-height:1.6}
 #root .editorial-home .v8-hero-tagline,html.large-text #root .editorial-home .v8-hero-tagline{position:static;display:flex;flex-wrap:wrap;gap:0 16px;inset:auto;width:auto;margin:0 0 2px;font-size:17px;line-height:1.8}
 #root .editorial-home .v8-hero-tagline span{display:block}
 #root .editorial-home .v8-world{width:min(555px,48%);height:auto;aspect-ratio:3/2;right:0;top:50%;transform:translateY(-50%)}
 #root .editorial-home .desktop-hero-search{position:relative;z-index:2;width:100%;margin:0;padding:0;border:0;background:transparent}
 #root .editorial-home .desktop-hero-search .v8-find-label{margin:0 0 7px;font-size:13px;font-weight:500;line-height:1.6;color:#75897f}
 #root .editorial-home .desktop-hero-search .home-directory-panel{display:block;border-color:#c7d5ce;border-radius:8px;background:#fffdf7}
 #root .editorial-home .desktop-hero-search .home-directory-panel>.search{margin:0;min-height:54px;padding:6px 8px;border:0;border-bottom:1px solid #d5e0d8;border-radius:0;background:transparent}
 #root .editorial-home .desktop-hero-search .search input{padding:7px 8px;font-size:15px;line-height:1.5}
 #root .editorial-home .desktop-hero-search .search button{font-size:15px;padding:8px 18px}
 #root .editorial-home .desktop-hero-search .home-directory-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border:0}
 #root .editorial-home .desktop-hero-search .home-directory-links a{min-height:40px;padding:8px 14px;font-size:14px;line-height:1.6}
 #root .editorial-home .v8-current{grid-template-columns:minmax(0,.72fr) minmax(0,1.4fr);gap:24px;padding:12px 0 16px}
 #root .editorial-home .now{gap:16px}
 #root .editorial-home .now>div:first-child{flex:0 1 auto}
 #root .editorial-home .weather{font-size:15px;flex:0 0 auto;margin-left:auto}
 #root .editorial-home .home-reminder-row{gap:18px;padding:0}
 #root .editorial-home .home-reminder-row .notice{font-size:14px;padding:0;border:0;align-items:center}
 #root .editorial-home .nine-posters-entry{width:78px;min-height:76px;padding:6px 4px}
 #root .editorial-home .nine-posters-entry strong{font-size:14px}
 html.is-en #root .editorial-home .v8-hero h1{font-size:48px;letter-spacing:0;white-space:normal}
}
@media(min-width:960px){
 #root .editorial-home .v8-hero{flex-direction:row;justify-content:flex-start}
}

/* Treat visitor services and reader interaction as one continuous desktop section. */
@media(min-width:960px){
 #root .editorial-home .desktop-service-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:#eaf1ee;border-radius:10px;min-width:0}
 #root .editorial-home .desktop-service-group>.guide-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;grid-column:1/-1;width:100%;margin:0;padding:18px 24px;background:transparent;border:0;border-bottom:1px solid #d5e1dc;border-radius:0}
 #root .editorial-home .desktop-service-group>.reader-entries{grid-column:1;margin:0;padding:22px 24px;background:transparent;border:0;border-radius:0}
 #root .editorial-home .desktop-service-group>.reader-public-home{grid-column:2;margin:0;padding:20px 24px 20px 0;background:transparent;border:0;border-radius:0}
}
@media(min-width:960px){
 #root .editorial-home .desktop-service-group>.guide-row>a{justify-content:center}
 #root .editorial-home .desktop-service-group>.guide-row>a+a{border-left:1px solid #cfddd7}
}

/* The photo experience is a full-width desktop feature. */
@media(min-width:960px){
 #root .editorial-home .v8-photo-banner{grid-column:1/-1;width:100%;margin:0}
 #root .editorial-home .v8-photo-banner>a{height:auto}
 #root .editorial-home .v8-photo-banner img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
 #root .editorial-home .map-entry{grid-column:1/-1;min-height:110px;padding:22px 28px}
}
@media(min-width:960px){
 #root .editorial-home .body>.v8-photo-section.v8-photo-banner{grid-column:1/-1;width:100%;margin:0;padding:0}
}

/* Give the desktop illustration more room while preserving the mobile composition. */
@media(min-width:960px){
 #root .editorial-home .v8-hero{min-height:clamp(380px,31vw,460px);align-items:flex-start}
 #root .editorial-home .v8-world{width:min(820px,64%);height:auto;max-width:none;right:-8px;top:-20px;transform:none}
 #root .editorial-home .v8-hero-copy{position:relative;z-index:2;padding-top:30px;padding-bottom:16px}
}

@media(min-width:960px){#root .editorial-home .v8-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:32px;background:linear-gradient(to bottom,transparent,#faf8f2);pointer-events:none;z-index:1}}
