/* Four editorial destinations: shared identity, distinct reading rhythms. */
.hub{--hub-muted:#7b8072;--hub-rule:#e0e3d9;--hub-green:#556447}
.hub .hub-heading{padding-top:55px;padding-bottom:60px;gap:8%;align-items:end}
.hub .hub-heading h1{font-size:clamp(38px,4.5vw,66px);line-height:1.12;letter-spacing:-.045em}
.hub .hub-heading .ed-lead{font-size:15px;line-height:1.85}
.hub-image{margin:0;background:#edece5;overflow:hidden;position:relative}
.hub-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.25,.46,.45,.94)}
.hub-feature{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:0}
.hub-feature-image{min-width:0;overflow:hidden}
.hub-feature-image .hub-image{height:100%;min-height:480px}
.hub-feature-copy{padding:55px 35px 45px;background:#f1f2ec;display:flex;flex-direction:column;justify-content:center;align-items:start}
.hub-feature-copy h2{font-size:clamp(28px,3.1vw,44px);line-height:1.18;letter-spacing:-.035em;margin:12px 0 25px}
.hub-feature-copy p{font-size:14px;line-height:1.9;color:#7b8072;margin-bottom:30px}
.hub .ed-inline-link{font-size:12px;line-height:1.7}
.hub-section{padding-top:85px;padding-bottom:80px}
.hub-section-heading{display:flex;gap:25px;justify-content:space-between;align-items:baseline;margin-bottom:35px}
.hub-section-heading h2{font-size:clamp(28px,3vw,40px)}
.hub-small{font-size:10px;line-height:1.8;color:var(--hub-muted)}
.hub-filters{display:flex;gap:25px;flex-wrap:wrap;border-bottom:1px solid var(--hub-rule);padding-bottom:15px;margin-bottom:34px}
.hub-filters button{font-size:12px;color:#8a907e;padding:5px 0;border-bottom:1px solid transparent;line-height:1.6}
.hub-filters button[aria-pressed=true]{color:#3c4930;border-bottom-color:#63764a}
.hub-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 25px}
.hub-draft{min-width:0;align-self:start}
.hub-draft summary{cursor:pointer;list-style:none}
.hub-draft summary::-webkit-details-marker{display:none}
.hub-draft .hub-image{aspect-ratio:4/3;margin-bottom:19px}
.hub-draft .ed-meta{display:flex;justify-content:space-between;font-size:9px;color:#929887;margin-bottom:12px;gap:10px}
.hub-draft h3,.hub-story h3{font-size:24px;line-height:1.3;letter-spacing:-.025em;margin-bottom:18px}
.hub-read{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#778268;padding-bottom:8px;border-bottom:1px solid var(--hub-rule)}
.hub-draft[open] .hub-read>span{transform:rotate(45deg)}
.hub-draft>p{font-size:13px;line-height:1.9;color:#79816d;padding:18px 0 0}
.hub-draft summary:hover img,.hub-story:hover img,.hub-feature-image:hover img{transform:scale(1.035)}
.hub-filter-status{font-size:11px;color:#858b7a;margin-top:25px}
.hub-filter-status:empty{display:none}
.hub-guides{border-top:1px solid var(--hub-rule)}
.hub-guides .ed-card .hub-image{aspect-ratio:1.4;margin-bottom:20px}
.hub-guides .ed-card h3{font-size:22px;margin-bottom:16px}
.hub-guides .ed-card p{font-size:13px;line-height:1.8;margin-bottom:18px;color:#7b8072}
.hub-subscribe{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:55px;padding-bottom:65px;border-top:1px solid var(--hub-rule)}
.hub-subscribe h2{font-size:34px;margin-bottom:15px}
.hub-subscribe p{font-size:13px;color:#7b8072}
.hub-button{display:inline-flex;justify-content:center;align-items:center;border:1px solid #a93232;background:#a93232;color:#fff;border-radius:2px;padding:12px 22px;font-size:12px;line-height:18px;white-space:nowrap;text-decoration:none}
.hub-button:hover{background:#8e2727;border-color:#8e2727}
.hub-world-feature{grid-template-columns:1fr 1fr}
.hub-world-feature .hub-image{min-height:580px}
.hub-world-feature .hub-feature-copy{background:transparent;padding-left:65px;padding-right:0}
.hub-world-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.hub-world-grid .hub-story:nth-child(2){padding-top:90px}
.hub-world-grid .hub-image{height:420px;margin-bottom:25px}
.hub-world-grid .ed-kicker{font-size:10px;margin-bottom:15px}
.hub-world-grid p{font-size:14px;color:#7b8072;line-height:1.85;margin-bottom:22px}
.hub-quote{text-align:center;padding:85px 7%;background:#f3f4ee}
.hub-quote h2{font-size:clamp(30px,3.5vw,48px);margin:15px auto 30px;max-width:800px}
.hub-learning-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding-bottom:50px}
.hub-learning-nav a{font-size:13px;padding:17px 0;border-top:1px solid var(--hub-rule);line-height:1.7;color:#62704f}
.hub-lighting #lighting-lab>.ed-section{padding-bottom:0;border:0}
.hub-knowledge-grid{grid-template-columns:repeat(2,1fr);gap:50px 35px}
.hub-knowledge-grid .hub-image{aspect-ratio:1.6;margin-bottom:23px}
.hub-knowledge-grid .ed-kicker{font-size:9px;margin-bottom:12px}
.hub-project-cover{position:relative}
.hub-project-cover>.hub-image{height:clamp(390px,48vw,680px)}
.hub-project-caption{position:absolute;bottom:0;left:0;right:0;padding:50px 6% 25px;color:#fff;background:linear-gradient(transparent,#141a1480)}
.hub-project-caption>span{font-size:12px;letter-spacing:.12em}
.hub-project-caption p{font-size:10px;color:#e3e6db;margin-top:9px}
.hub-project-empty{display:flex;align-items:center;gap:35px;padding:38px 0;border-bottom:1px solid var(--hub-rule)}
.hub-empty-number{font-size:11px;color:#a7ad9c;white-space:nowrap}
.hub-project-empty h3{font-size:24px;margin-bottom:12px}
.hub-project-empty p{font-size:13px;color:#858c79}
.hub-project-empty .hub-button{margin-left:auto}
.hub-journey{padding-top:20px}
.hub-journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.hub-journey-grid .hub-image{aspect-ratio:1.5;margin-bottom:23px}
.hub-journey-grid h3{font-size:25px;margin:10px 0 15px}
.hub-journey-grid p{font-size:13px;line-height:1.85;color:#858c79}
@media(max-width:1000px){.hub .hub-heading{grid-template-columns:1fr;gap:25px}.hub .hub-heading .ed-lead{max-width:650px}.hub-feature-copy{padding:30px 25px}.hub-feature-image .hub-image{min-height:380px}.hub-world-feature .hub-feature-copy{padding-left:35px}.hub-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-project-empty{flex-wrap:wrap}.hub-project-empty .hub-button{margin-left:0}.hub-world-grid{gap:30px}.hub-world-grid .hub-image{height:330px}}
@media(max-width:640px){.hub .hub-heading{padding-top:35px;padding-bottom:35px}.hub .hub-heading h1{font-size:37px}.hub-feature,.hub-world-feature{grid-template-columns:1fr}.hub-feature-image .hub-image{min-height:0;height:auto;aspect-ratio:1.3}.hub-feature-copy{padding:30px 24px}.hub-world-feature .hub-feature-copy{padding:30px 0}.hub-feature-copy h2{font-size:30px}.hub-section{padding-top:50px;padding-bottom:50px}.hub-section-heading{flex-direction:column;gap:14px;align-items:start;margin-bottom:25px}.hub-section-heading h2{font-size:29px}.hub-filters{gap:17px;margin-bottom:25px}.hub-filters button{font-size:11px}.hub-post-grid,.hub-world-grid,.hub-knowledge-grid,.hub-journey-grid{grid-template-columns:1fr;gap:35px}.hub-world-grid .hub-story:nth-child(2){padding-top:0}.hub-world-grid .hub-image{height:auto;aspect-ratio:1.25}.hub-learning-nav{grid-template-columns:1fr 1fr;gap:0 24px;padding-bottom:20px}.hub-learning-nav a{font-size:11px}.hub-subscribe{flex-direction:column;align-items:start;gap:25px;padding-top:40px;padding-bottom:45px}.hub-subscribe h2{font-size:29px}.hub-quote{padding:55px 7%}.hub-project-empty{gap:20px;padding:25px 0}.hub-empty-number{display:none}.hub-project-empty h3{font-size:22px}.hub-project-caption>span{font-size:10px}.hub-project-caption p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hub-image img{transition:none}.hub-draft summary:hover img,.hub-story:hover img,.hub-feature-image:hover img{transform:none}}
.hub-published-card{display:block;min-width:0}
.hub-published-card .hub-image{aspect-ratio:4/3;margin-bottom:19px}
.hub-published-card .ed-meta{display:flex;justify-content:space-between;gap:12px;font-size:9px;line-height:1.7;color:#929887;margin-bottom:12px}
.hub-published-card>p{font-size:13px;line-height:1.85;color:#7b8072;margin-bottom:20px}
.hub-reference-note{max-width:760px;font-size:12px;line-height:1.8;color:#8a907e;margin-bottom:30px}
.hub-article-cover{margin-top:10px}
.hub-article-cover>img{width:100%;height:auto;max-height:620px;object-fit:contain;background:#f3f3ed}
.hub-feature .hub-image img{object-fit:cover}
