/* ECC - twelve permanent Primary Categories. Editorial architecture, not publication-count UI. */
.ecc-cat-index-hero{min-height:395px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,#052b3de8,#0b364abd 48%,#0a36414d),url('/assets/editorial/home-hero.webp') center 49%/cover no-repeat}
.ecc-cat-index-inner{max-width:1340px;width:100%;padding:60px 45px;margin:auto}
.ecc-cat-index-inner h1{color:#fff;font-size:clamp(43px,5.2vw,76px);line-height:.98;max-width:750px;margin:15px 0 21px}
.ecc-cat-index-inner>p{color:#f1f7f4;font-size:18px;line-height:1.43;max-width:680px}
.ecc-cat-index-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:25px}
.ecc-cat-index-body{max-width:1420px;margin:auto;padding:58px 44px 65px}
.ecc-cat-index-heading{max-width:760px;margin:0 0 31px}
.ecc-cat-index-heading h2,.ecc-cat-home-top h2{font-size:clamp(35px,4.2vw,56px);line-height:1.08;margin:13px 0}
.ecc-cat-index-heading p,.ecc-cat-home-top p{font-size:16px;line-height:1.55;max-width:680px;color:#41515d;margin:0}
.ecc-cat-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ecc-cat-hub-card{display:block;position:relative;min-height:300px;color:#fff;text-decoration:none;overflow:hidden;border-radius:12px;background:var(--cat-shade,#24566a);isolation:isolate;box-shadow:0 6px 18px #14344816}
.ecc-cat-hub-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:transform .35s ease}
.ecc-cat-hub-card:before{content:'';z-index:1;position:absolute;inset:0;background:linear-gradient(0deg,#081f2ae9 2%,#09232b94 48%,#12354525 100%)}
.ecc-cat-hub-card:hover img,.ecc-cat-home-feature:hover img{transform:scale(1.045)}
.ecc-cat-hub-card:focus-visible,.ecc-cat-home-feature:focus-visible{outline:4px solid #e5bd5f;outline-offset:3px}
.ecc-cat-hub-card-copy{position:absolute;inset:auto 23px 22px;z-index:2;display:flex;flex-direction:column;gap:7px;max-width:calc(100% - 60px)}
.ecc-cat-hub-card-copy small,.ecc-cat-home-caption small{font-size:10px;font-weight:800;letter-spacing:.14em;color:#f9e1ae}
.ecc-cat-hub-card-copy strong{font:700 clamp(23px,2.4vw,34px)/1.04 Georgia,serif;letter-spacing:-.035em}
.ecc-cat-hub-card-copy>span{font-size:13px;color:#e1eeea;line-height:1.35}
.ecc-cat-hub-card-copy em{position:absolute;right:-30px;bottom:1px;border:1px solid #ffffffac;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:18px Arial}
.ecc-cat-index-more{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center;background:#e5ece6;padding:45px max(5%,calc((100% - 1250px)/2))}
.ecc-cat-index-more h2{font-size:clamp(30px,3.3vw,45px);margin:7px 0 12px}
.ecc-cat-index-more p{font-size:15px;max-width:600px;color:#445866}
.ecc-cat-index-more-links{display:grid;gap:10px}.ecc-cat-index-more-links a{font-size:15px;font-weight:700;padding:13px 17px;border:1px solid #c6d5cf;text-decoration:none;background:#fffcf5;border-radius:5px}
.ecc-cat-index-more-links a:hover{border-color:#b43b2b;color:#a63524}
/* Homepage has a restrained four-image preview plus links to all remaining categories. */
.ecc-cat-home-section{max-width:1420px;margin:0 auto;padding:46px 44px 56px;border-top:1px solid #e1d7c5}
.ecc-cat-home-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}
.ecc-cat-home-top h2{margin:10px 0 12px}
.ecc-cat-home-top p{max-width:680px}.ecc-cat-home-top>.ecc-red-button{flex:none;margin-bottom:7px}
.ecc-cat-home-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ecc-cat-home-feature{min-height:260px;display:block;position:relative;overflow:hidden;border-radius:10px;background:var(--cat-shade);color:#fff;text-decoration:none;isolation:isolate}
.ecc-cat-home-feature:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0a232deb,#0b2c2b68 65%,transparent)}
.ecc-cat-home-feature img{width:100%;height:100%;position:absolute;object-fit:cover;transition:transform .35s}
.ecc-cat-home-caption{position:absolute;z-index:2;inset:auto 17px 18px;display:grid;gap:8px}
.ecc-cat-home-caption strong{font:700 clamp(20px,1.9vw,28px)/1.08 Georgia,serif}
.ecc-cat-home-caption>span{font-size:19px;line-height:1}
.ecc-cat-home-more{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.ecc-cat-home-more a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:62px;text-decoration:none;color:var(--ecc-ink);font-size:12.7px;line-height:1.27;font-weight:700;background:#fffaf1;border:1px solid #e2d7c7;border-radius:7px;padding:13px 12px}
.ecc-cat-home-more a:hover{background:#e9eee8;border-color:#9cbab1}
.ecc-cat-home-more a span{font-size:17px;color:var(--ecc-red)}
/* Each category is a self-contained magazine landing page, able to hold 5+ articles. */
.ecc-cat-detail-hero{padding:38px 35px;background:#fcf7ed}
.ecc-cat-detail-hero-grid{max-width:1370px;margin:auto;display:grid;grid-template-columns:minmax(0,51%) minmax(0,49%);align-items:center;gap:32px}
.ecc-cat-detail-copy{padding:12px 12px 10px 0}
.ecc-cat-crumb{font-size:12px;color:#4c6572;margin-bottom:26px}.ecc-cat-crumb a{color:#9d3928;text-decoration:none;font-weight:700}.ecc-cat-crumb a:hover{text-decoration:underline}
.ecc-cat-detail-copy h1{font-size:clamp(40px,4.3vw,62px);line-height:1.03;margin:14px 0 21px}
.ecc-cat-detail-intro{max-width:640px;font-size:18px;line-height:1.48;color:#3e5260}
.ecc-cat-question{border-left:4px solid #b63e2c;background:#f3e7d4;padding:16px 20px;margin:23px 0 24px;display:grid;gap:7px;max-width:590px}
.ecc-cat-question>span{font-size:10px;letter-spacing:.12em;font-weight:800;color:#9f4130}
.ecc-cat-question strong{font:700 23px/1.18 Georgia,serif}
.ecc-cat-detail-visual{position:relative;height:460px;border-radius:11px;overflow:hidden;background:#d4d5c5}
.ecc-cat-detail-visual img{height:100%;width:100%;object-fit:cover;filter:saturate(.85)}
.ecc-cat-detail-visual:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#071f3c44,transparent 35%)}
.ecc-cat-detail-visual>span{position:absolute;right:13px;bottom:12px;z-index:2;background:#092b3dc5;color:#fff;padding:5px 7px;font-size:10px;border-radius:3px}
.ecc-cat-detail-featured,.ecc-cat-archive,.ecc-cat-related,.ecc-cat-next{max-width:1400px;margin:auto;padding:45px 43px}
.ecc-cat-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:23px}
.ecc-cat-section-heading h2{font-size:clamp(32px,3.7vw,49px);margin:8px 0 8px}
.ecc-cat-section-heading p{font-size:15px;margin:0;max-width:680px;color:#4d5b62}
.ecc-cat-feature{display:grid;grid-template-columns:minmax(0,50%) minmax(0,50%);background:#fffaf1;border:1px solid #ded3c4;border-radius:13px;overflow:hidden;text-decoration:none;box-shadow:0 5px 15px #142b3618}
.ecc-cat-feature-photo{height:330px;overflow:hidden;background:#baccc9}
.ecc-cat-feature-photo img{height:100%;width:100%;object-fit:cover;filter:saturate(.81)}
.ecc-cat-feature-copy{padding:32px;display:flex;flex-direction:column;justify-content:center;gap:15px}
.ecc-cat-feature-copy small{color:#a4382b;font-size:11px;font-weight:800;letter-spacing:.12em}
.ecc-cat-feature-copy h3{font-size:clamp(27px,3.1vw,43px);line-height:1.04;margin:0}
.ecc-cat-feature-copy p{font-size:15px;line-height:1.5;color:#3c505e;max-width:590px;margin:0}
.ecc-cat-feature-copy>span{color:#aa3527;font-weight:800;margin-top:4px}
.ecc-cat-inline{font-size:14px;font-weight:800;text-decoration:none;color:#ad3525;white-space:nowrap}.ecc-cat-inline:hover{text-decoration:underline}
.ecc-cat-archive{padding-top:12px}.ecc-cat-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ecc-cat-story{display:flex;flex-direction:column;overflow:hidden;background:#fffaf1;border:1px solid #dfd5c7;border-radius:9px;min-width:0;box-shadow:0 2px 10px #0b2b3614}
.ecc-cat-story-image{display:block;height:185px;overflow:hidden;background:#c6d1cc}.ecc-cat-story-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.8);transition:transform .25s}.ecc-cat-story:hover img{transform:scale(1.035)}
.ecc-cat-story-body{display:flex;flex-direction:column;flex:1;gap:10px;padding:19px}
.ecc-cat-story-label{font-size:10px;font-weight:800;letter-spacing:.1em;color:#236e71}
.ecc-cat-story h3{font:700 clamp(19px,1.8vw,26px)/1.1 Georgia,serif;margin:0}.ecc-cat-story h3 a{text-decoration:none}.ecc-cat-story h3 a:hover{color:#b53828}
.ecc-cat-story p{font-size:13px;line-height:1.5;color:#465761;flex:1;margin:0}
.ecc-cat-story-body>.ecc-cat-inline{margin-top:8px;font-size:12.5px}
.ecc-cat-related{background:#e7eee8;max-width:none;padding-left:max(43px,calc((100% - 1315px)/2));padding-right:max(43px,calc((100% - 1315px)/2))}
.ecc-cat-related .ecc-cat-story-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ecc-cat-related .ecc-cat-story-image{height:155px}
.ecc-cat-next{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:50px;padding-bottom:60px}
.ecc-cat-next h2{font-size:clamp(26px,2.9vw,37px);margin:10px 0 18px}
.ecc-cat-next-links{display:flex;gap:10px;flex-wrap:wrap}
.ecc-cat-next-links a{padding:11px 14px;background:#fffaf2;border:1px solid #ddcfbd;border-radius:6px;text-decoration:none;font-size:13px;font-weight:700}
.ecc-cat-next-links a:hover{border-color:#a63b2b;color:#ac392b}
.ecc-category-from{margin:7px 0 13px}.ecc-category-from a{font-size:12px;letter-spacing:.015em;font-weight:800;color:#ad402d;text-decoration:none}.ecc-category-from a:hover{text-decoration:underline}
.ecc-library-tools{gap:12px}
.ecc-library-tools label:has(#categorySelect){min-width:190px}
#categorySelect{max-width:285px;min-width:165px}
@media(max-width:1120px){.ecc-cat-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecc-cat-home-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecc-cat-home-more{grid-template-columns:repeat(2,minmax(0,1fr))}.ecc-cat-related .ecc-cat-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecc-cat-detail-hero-grid{gap:25px}.ecc-cat-detail-visual{height:390px}.ecc-cat-detail-copy h1{font-size:clamp(38px,4.1vw,55px)}.ecc-cat-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecc-library-tools{flex-wrap:wrap}}
@media(max-width:900px){.ecc-cat-home-top{align-items:flex-start;flex-direction:column}.ecc-cat-detail-hero-grid{grid-template-columns:1fr}.ecc-cat-detail-visual{height:370px}.ecc-cat-detail-hero{padding:32px 25px}.ecc-cat-index-more{grid-template-columns:1fr}.ecc-cat-feature{grid-template-columns:44% 56%}.ecc-cat-feature-photo{height:360px}.ecc-cat-feature-copy{padding:22px}.ecc-cat-detail-copy{padding:0}}
@media(max-width:690px){.ecc-cat-index-hero{min-height:390px}.ecc-cat-index-inner{padding:45px 23px}.ecc-cat-index-inner h1{font-size:clamp(39px,8vw,57px)}.ecc-cat-index-inner>p{font-size:16px}.ecc-cat-index-body{padding:38px 17px 45px}.ecc-cat-hub-grid{grid-template-columns:1fr;gap:13px}.ecc-cat-hub-card{min-height:245px}.ecc-cat-hub-card-copy strong{font-size:29px}.ecc-cat-index-more{padding:35px 20px}.ecc-cat-home-section{padding:34px 16px 40px}.ecc-cat-home-feature-grid{grid-template-columns:1fr 1fr;gap:10px}.ecc-cat-home-feature{min-height:245px}.ecc-cat-home-caption{left:12px;right:12px;bottom:13px}.ecc-cat-home-caption strong{font-size:20px}.ecc-cat-home-more{grid-template-columns:1fr 1fr;gap:8px}.ecc-cat-home-more a{font-size:11.5px;padding:10px;min-height:78px}.ecc-cat-detail-hero{padding:24px 16px}.ecc-cat-detail-copy h1{font-size:clamp(36px,7.3vw,49px)}.ecc-cat-detail-intro{font-size:16px}.ecc-cat-question strong{font-size:20px}.ecc-cat-detail-visual{height:270px}.ecc-cat-detail-featured,.ecc-cat-archive,.ecc-cat-related,.ecc-cat-next{padding:30px 17px}.ecc-cat-feature{grid-template-columns:1fr}.ecc-cat-feature-photo{height:245px}.ecc-cat-feature-copy h3{font-size:30px}.ecc-cat-feature-copy{padding:23px}.ecc-cat-section-heading{align-items:flex-start;flex-direction:column;gap:10px}.ecc-cat-story-grid,.ecc-cat-related .ecc-cat-story-grid{grid-template-columns:1fr}.ecc-cat-story-image,.ecc-cat-related .ecc-cat-story-image{height:210px}.ecc-cat-next{grid-template-columns:1fr;gap:30px}.ecc-library-tools label:has(#categorySelect){width:100%;max-width:none}.ecc-library-tools label:has(#categorySelect) select{max-width:none;width:100%}.ecc-cat-home-top h2{font-size:38px}}
@media(max-width:365px){.ecc-cat-home-feature-grid,.ecc-cat-home-more{grid-template-columns:1fr}.ecc-cat-home-feature{min-height:220px}.ecc-cat-detail-hero{padding:20px 12px}}
@media(max-width:690px){
 .ecc-library-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:100%;width:100%}
 .ecc-library-tools .ecc-search-field{min-width:0!important;max-width:none!important;grid-column:1/-1}
 .ecc-library-tools label:has(#categorySelect){grid-column:1/-1;min-width:0!important;max-width:100%}
 .ecc-library-tools>label{min-width:0}
 .ecc-library-tools select{min-width:0!important;max-width:100%!important;width:100%}
 .ecc-library-tools .ecc-quiet-reset{grid-column:1/-1}
}
