/* ---- blog masthead ---- */
.masthead{padding:70px 0 40px;position:relative;overflow:hidden}
.masthead .orb{position:absolute;width:460px;height:460px;border-radius:50%;filter:blur(70px);z-index:-1;background:radial-gradient(circle,#C8F1F1,transparent 68%);top:-180px;right:-120px;opacity:.7}
.mast-top{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:16px;flex-wrap:wrap;gap:12px}
.mast-name{font-family:var(--display);font-weight:700;font-size:clamp(32px,4.6vw,54px);letter-spacing:-.045em;line-height:.92}
.mast-name em{font-style:normal;color:var(--violet)}
.mast-meta{font-size:13px;font-weight:500;color:var(--ink-soft);text-align:right;line-height:1.5}
.mast-lead{display:flex;justify-content:space-between;gap:30px;margin-top:20px;flex-wrap:wrap}
.mast-lead p{font-size:16.5px;color:var(--ink-soft);max-width:56ch;line-height:1.5}
.cats{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 0;padding:0;list-style:none}
.cat{font-size:12.5px;font-weight:600;letter-spacing:.04em;padding:8px 15px;border-radius:100px;border:1px solid var(--line-2);color:var(--ink-soft);background:var(--card)}

/* ---- featured ---- */
.featured{padding:46px 0}
.feat-card{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.feat-img{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh);position:relative;aspect-ratio:16/10}
.feat-img img{width:100%;height:100%;object-fit:cover}
.feat-flag{position:absolute;top:16px;left:16px;background:var(--coral);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:7px 13px;border-radius:100px;box-shadow:var(--sh-sm)}
.tagline{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:.05em;color:var(--violet);text-transform:uppercase}
.feat-card h2{font-size:clamp(25px,3.2vw,38px);margin:16px 0 0;letter-spacing:-.035em;line-height:1.02}
.feat-card h2 a:hover{color:var(--violet)}
.feat-card .exc{font-size:16px;color:var(--ink-soft);margin-top:18px;line-height:1.55;max-width:46ch}
.meta{display:flex;align-items:center;gap:14px;margin-top:24px;font-size:14px;color:var(--ink-faint);font-weight:500}
.meta .who{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:500}
.meta .av{width:30px;height:30px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#fff;font-weight:600;font-size:13px;font-family:var(--display)}
.meta .dot{width:4px;height:4px;border-radius:50%;background:var(--line-2)}
.feat-card .btn{margin-top:26px}
@media(max-width:880px){.feat-card{grid-template-columns:1fr;gap:26px}}

/* ---- grid ---- */
.list{padding:34px 0 90px}
.list-head{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--line);padding-top:26px;margin-bottom:30px}
.list-head h3{font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:transform .2s,box-shadow .2s}
.post:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.post .thumb{aspect-ratio:16/10;overflow:hidden;position:relative}
.post .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post:hover .thumb img{transform:scale(1.05)}
.post .thumb.ph{display:grid;place-items:center}
.ph-1{background:linear-gradient(135deg,var(--violet-tint),var(--coral-tint))}
.ph-2{background:linear-gradient(135deg,var(--mint-tint),var(--sky-tint))}
.ph-3{background:linear-gradient(135deg,var(--coral-tint),var(--violet-tint))}
.post .thumb.ph svg{width:56px;height:56px;stroke:var(--violet);opacity:.5;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.post .body{padding:22px;display:flex;flex-direction:column;flex:1}
.pcat{font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--violet)}
.pcat.c-rev{color:var(--mint)} .pcat.c-mkt{color:var(--coral)} .pcat.c-prod{color:var(--sky)}
.post h4{font-size:18.5px;margin:11px 0 0;letter-spacing:-.02em;line-height:1.15}
.post:hover h4{color:var(--violet-deep)}
.post .pexc{color:var(--ink-soft);font-size:14px;margin-top:10px;line-height:1.5;flex:1}
.post .pmeta{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:13px;color:var(--ink-faint);font-weight:500}
@media(max-width:900px){.post-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.post-grid{grid-template-columns:1fr}}

/* ---- closing cta ---- */
.news{padding:0 0 96px}
.news-in{background:var(--grad);border-radius:var(--r-lg);padding:56px 44px;text-align:center;position:relative;overflow:hidden;box-shadow:0 40px 80px -34px rgba(8,110,120,.5)}
.news-in::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.14);top:-130px;left:-80px}
.news-in::after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,61,.55),rgba(255,106,61,0) 70%);bottom:-140px;right:-60px}
.news-in .in{position:relative;z-index:1}
.news-in h3{color:#fff;font-size:clamp(22px,2.8vw,32px);letter-spacing:-.03em}
.news-in p{color:rgba(255,255,255,.85);font-size:15.5px;margin:14px auto 0;max-width:46ch}
.news-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:26px auto 0}
.news-in .btn-primary{background:#fff;color:var(--violet-deep)}
.news-in .btn-primary:hover{background:#fff}
@media(max-width:520px){.news-actions{flex-direction:column;align-items:center}}
