/* Eastman and Kamon's blue carry the identity; the news carries the first screen. */
.frontpage{--front-sky:#9ed5f7;--front-pale:#edf6fc;--front-ink:#161616;--front-muted:#59636a;max-width:1240px;margin:0 auto;padding:24px 24px 64px;color:var(--front-ink)}
.front-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;padding:0;min-height:0;border:0;background:transparent}
.front-heading p{font-size:14px;line-height:1.5;color:var(--front-muted);margin:0 0 8px}
.front-heading h1{font-size:44px;line-height:1.15;letter-spacing:-1.1px;margin:0}
.front-topics{display:flex;align-items:center;gap:22px;padding-bottom:7px}
.front-topics a{font-size:14px;font-weight:500;color:#17649d;text-decoration:none;padding:8px 0}
.front-topics a:hover{text-decoration:underline;text-underline-offset:5px}
.front-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.front-card{display:flex;flex-direction:column;gap:20px;min-width:0;padding:0 0 24px;border-bottom:1px solid #dee5e9;overflow-wrap:anywhere}
.front-card-copy{display:flex;flex-direction:column;flex:1;min-width:0}
.front-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 14px;font-size:11px;line-height:1.5;color:var(--front-muted)}
.front-meta>a{font-weight:500;color:#17649d;text-decoration:none}
.front-demo{font-size:10px;color:#695326;background:#f5eedf;padding:2px 6px;border-radius:4px}
.front-card h2{font-size:23px;line-height:1.3;letter-spacing:-.3px;margin:12px 0 18px}
.front-card h2 a{color:inherit;text-decoration:none;font-weight:500}
.front-card h2 a:hover{color:#17649d;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.front-byline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:11px;line-height:1.5;color:var(--front-muted);margin-top:auto}
.front-media{display:block;order:-1;overflow:hidden;border-radius:14px;background:var(--front-pale)}
.front-media img,.front-media .demo-art{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;margin:0;border:0;border-radius:0}
.front-media .demo-art{color:#17649d;background:#edf6fc}
.front-media .demo-art-technology{background:#eff1fc}
.front-media .demo-art-ai{background:#eef5f2}
.front-media .demo-art svg{display:block;width:100%;height:100%;max-height:none}
.front-media .demo-art>span{display:none}
.front-lead{grid-column:span 2;grid-row:span 2;background:var(--front-sky);border:0;border-radius:24px;padding:30px;gap:22px}
.front-lead h2{font-size:36px;line-height:1.17;letter-spacing:-.7px;max-width:25ch;margin:16px 0}
.front-summary{font-size:15px;line-height:1.65;color:#294552;max-width:56ch;margin:0 0 24px}
.front-lead .front-media{order:0;margin-top:auto;max-height:210px;border-radius:14px}
.front-lead .front-media img{height:210px}
.front-lead .front-media .demo-art{height:190px;aspect-ratio:auto;background:transparent}
.front-lead .front-byline,.front-lead .front-meta{color:#294552}
.front-brief{padding:20px;background:#f3f3f3;border:0;border-radius:18px;gap:12px}
.front-brief h2{font-size:22px;line-height:1.3}
.front-brief .front-media{height:100px;background:#edf6fc}
.front-brief .front-media img,.front-brief .front-media .demo-art{height:100px;aspect-ratio:auto}
.front-ad{grid-column:1/-1;min-width:0}
.front-ad .feed-ad{padding:0;margin:0}
.front-ad .feed-ad-placeholder{aspect-ratio:auto;min-height:90px;border-radius:12px;background:#f6f8fa;padding:16px}
.front-ad .feed-ad-placeholder>span{font-size:13px}
.front-ad .feed-ad-image{max-height:280px;object-fit:contain}
.front-early-ad .front-lead{grid-column:1/-1;grid-row:auto}
.front-more{text-align:center;padding:34px 0 48px}
.front-more-link{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;min-width:240px;padding:14px 30px;background:#24265e;color:white;border-radius:12px;font-size:17px;font-weight:500;text-decoration:none}
.front-more-link:hover{background:#17649d;color:white}
.front-more p{margin:12px 0 0;color:var(--front-muted);font-size:12px}
.front-directory{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:32px 40px;border-radius:24px;background:var(--front-pale)}
.front-directory h2{font-size:30px;line-height:1.2;margin:0 0 12px;letter-spacing:-.5px}
.front-directory p{font-size:14px;line-height:1.6;color:var(--front-muted);margin:0 0 22px}
.front-directory-links{display:flex;flex-wrap:wrap;gap:16px 26px}
.front-directory-links a{color:#17649d;font-size:14px;font-weight:500;text-underline-offset:5px}
.front-directory img{width:200px;height:auto;flex-shrink:0}
.front-empty{grid-column:1/-1;background:var(--front-pale);border-radius:24px;padding:40px;min-height:220px}
.front-empty h2{font-size:26px;margin:0 0 16px}.front-empty p{font-size:15px;color:var(--front-muted)}
@media(max-width:1000px){.front-lead h2{font-size:30px}.front-stories{gap:18px}.front-lead{padding:24px}.front-brief{padding:16px}.front-brief h2{font-size:19px}.front-card h2{font-size:21px}.front-lead h2{font-size:30px}}
@media(max-width:760px){.frontpage{padding:22px 16px 40px}.front-heading{display:block;margin-bottom:22px}.front-heading h1{font-size:34px}.front-heading p{font-size:12px}.front-topics{gap:24px;padding:14px 0 0}.front-topics a{font-size:14px}.front-stories{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.front-lead{grid-column:1/-1;grid-row:auto}.front-lead h2{font-size:30px;max-width:30ch}.front-brief{padding:0 0 22px;background:transparent;border-bottom:1px solid #dee5e9;border-radius:0}.front-brief .front-media,.front-brief .front-media img,.front-brief .front-media .demo-art{height:auto;aspect-ratio:16/9}.front-directory{padding:28px;gap:20px}.front-directory img{width:130px}.front-directory h2{font-size:25px}}
@media(max-width:480px){.front-heading h1{font-size:32px}.front-stories{display:flex;flex-direction:column;gap:24px}.front-lead{padding:22px;border-radius:20px;gap:16px}.front-lead h2{font-size:28px;letter-spacing:-.45px}.front-summary{font-size:14px;margin-bottom:20px}.front-lead .front-media,.front-lead .front-media img,.front-lead .front-media .demo-art{height:150px}.front-card:not(.front-lead){display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:start;gap:14px;padding-bottom:24px}.front-card:not(.front-lead) .front-media{order:0;border-radius:12px;height:92px;aspect-ratio:1}.front-card:not(.front-lead) .front-media img,.front-card:not(.front-lead) .front-media .demo-art{height:92px;aspect-ratio:1;object-fit:cover}.front-card:not(.front-lead):not(:has(.front-media)){grid-template-columns:1fr}.front-card:not(.front-lead) h2{font-size:20px;margin:10px 0 14px;line-height:1.28}.front-card:not(.front-lead) .front-byline{font-size:10px}.front-demo{font-size:9px}.front-more{padding:8px 0 36px}.front-more-link{width:100%}.front-directory{padding:24px;display:block}.front-directory img{display:none}.front-directory h2{font-size:25px}.front-empty{padding:28px}.front-ad .feed-ad-placeholder{min-height:76px}}
