.blog{--b-wrap:1180px;--b-gutter:clamp(16px, 4vw, 32px);--b-radius:16px;--b-hero:linear-gradient(160deg, #1a3a52 0%, #205b6e 45%, #1e4c5e 75%, #1a4458 100%);--b-shadow:0 1px 2px #0d1b2a0a, 0 10px 30px #0d1b2a12;--b-shadow-hover:0 2px 4px #0d1b2a0d, 0 22px 50px #0d1b2a24;--b-ease:cubic-bezier(.22, 1, .36, 1);font-family:var(--g-font-display);color:var(--g-text)}.blog-wrap{max-width:var(--b-wrap);padding-inline:var(--b-gutter);margin:0 auto}.blog-hero{background:var(--b-hero);color:#fff;padding-block:calc(var(--header-h) + clamp(36px, 6vw, 80px)) clamp(110px, 13vw, 160px);position:relative;overflow:hidden}.blog-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#5dd0da47,#0000 65%);border-radius:50%;width:720px;height:720px;position:absolute;top:-320px;right:-220px}.blog-hero:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;mask-image:radial-gradient(at 70% 0,#000 10%,#0000 70%)}.blog-hero .blog-wrap{z-index:1;position:relative}.blog-eyebrow{font-family:var(--g-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--g-teal-bright);align-items:center;gap:12px;margin:0 0 18px;font-size:.74rem;font-weight:500;display:inline-flex}.blog-eyebrow:before{content:"";background:currentColor;width:28px;height:1.5px}.blog-hero h1{letter-spacing:-.032em;text-wrap:balance;max-width:20ch;margin:0;font-size:clamp(2.2rem,5.2vw,3.7rem);font-weight:800;line-height:1.06}.blog-hero h1 em{color:var(--g-orange);font-style:normal}.blog-hero-intro{color:#ffffffc7;max-width:62ch;margin:22px 0 0;font-size:clamp(1rem,1.6vw,1.14rem);line-height:1.65}.blog-crumbs{font-family:var(--g-font-mono);letter-spacing:.04em;color:#fff9;flex-wrap:wrap;gap:6px 10px;margin:0 0 22px;padding:0;font-size:.74rem;list-style:none;display:flex}.blog-crumbs li+li:before{content:"/";color:#ffffff59;margin-right:10px}.blog-crumbs a{color:#ffffffd1;text-decoration:none}.blog-crumbs a:hover{color:#fff;text-decoration:underline}.blog-cats{flex-wrap:wrap;gap:10px;margin:34px 0 0;padding:0;list-style:none;display:flex}.blog-cats a{color:#fff;background:#ffffff0f;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:9px;height:38px;padding:0 16px;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.blog-cats a:hover{background:#ffffff24;border-color:#fff6}.blog-cats a[aria-current=page]{color:var(--g-slate);background:#fff;border-color:#fff}.blog-cats .count{font-family:var(--g-font-mono);opacity:.7;font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:500}.blog-list{z-index:2;background:var(--g-bg-soft);padding-bottom:clamp(64px,9vw,110px);position:relative}.blog-list>.blog-wrap{margin-top:calc(-1*clamp(70px,9vw,110px))}.post-featured{transition:box-shadow .35s var(--b-ease), transform .35s var(--b-ease);background:#fff;border-radius:22px;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,52px);padding:clamp(18px,2.4vw,26px);display:grid;position:relative;box-shadow:0 30px 70px #0d1b2a29}.post-featured:hover{transform:translateY(-3px);box-shadow:0 36px 80px #0d1b2a33}.post-featured-body{min-width:0;padding:12px clamp(4px,2vw,22px) 12px 0}.post-featured h2{letter-spacing:-.025em;text-wrap:balance;margin:14px 0;font-size:clamp(1.55rem,2.8vw,2.15rem);font-weight:800;line-height:1.15}.post-featured p{color:var(--g-muted);margin:0 0 22px;font-size:1.04rem;line-height:1.65}.frame{background:#0f2232;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px #0d1b2a14}.frame-bar{background:#16293a;align-items:center;gap:6px;height:30px;padding:0 12px;display:flex}.frame-bar span{background:#ffffff38;border-radius:50%;width:9px;height:9px}.frame-bar span:first-child{background:#ff6b5e}.frame-bar span:nth-child(2){background:var(--g-orange)}.frame-bar span:nth-child(3){background:var(--g-green)}.frame-url{font-family:var(--g-font-mono);color:#ffffff80;white-space:nowrap;text-overflow:ellipsis;margin-left:10px;font-size:.66rem;overflow:hidden}.frame img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto;transition:transform .6s var(--b-ease);display:block}.post-featured:hover .frame img,.post-card:hover .post-card-media img{transform:scale(1.035)}.blog-section-head{justify-content:space-between;align-items:baseline;gap:16px;margin:clamp(56px,7vw,84px) 0 26px;display:flex}.blog-section-head h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:800}.blog-section-head .total{font-family:var(--g-font-mono);color:var(--g-muted);letter-spacing:.04em;font-size:.76rem}.post-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(20px,2.4vw,30px);margin:0;padding:0;list-style:none;display:grid}.post-card{border:1px solid var(--g-border);border-radius:var(--b-radius);height:100%;box-shadow:var(--b-shadow);transition:transform .3s var(--b-ease), box-shadow .3s var(--b-ease), border-color .3s ease;background:#fff;flex-direction:column;display:flex;position:relative;overflow:hidden}.post-card:hover{box-shadow:var(--b-shadow-hover);border-color:#0495a04d;transform:translateY(-4px)}.post-card-media{background:#0f2232;overflow:hidden}.post-card-media img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto;transition:transform .6s var(--b-ease);display:block}.post-card-body{flex-direction:column;flex:1;padding:22px 24px 24px;display:flex}.post-card h3{letter-spacing:-.012em;text-wrap:balance;margin:12px 0 10px;font-size:1.2rem;font-weight:700;line-height:1.28}.post-card p{color:var(--g-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 18px;font-size:.95rem;line-height:1.6;display:-webkit-box;overflow:hidden}.post-card .post-meta{margin-top:auto}.stretched{color:var(--g-slate);text-decoration:none}.stretched:after{content:"";z-index:1;position:absolute;inset:0}.stretched:focus-visible{outline:none}.post-card:has(.stretched:focus-visible),.post-featured:has(.stretched:focus-visible){outline:2px solid var(--g-teal);outline-offset:3px}.post-card:hover .stretched,.post-featured:hover .stretched{color:var(--g-teal)}.post-tag{z-index:2;font-family:var(--g-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--g-teal);align-self:flex-start;align-items:center;gap:8px;font-size:.7rem;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.post-tag:before{content:"";background:currentColor;border-radius:2px;width:7px;height:7px}a.post-tag:hover{text-decoration:underline}.post-meta{font-family:var(--g-font-mono);color:var(--g-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.74rem;display:flex}.post-meta>*+:before{content:"";vertical-align:middle;opacity:.45;background:currentColor;border-radius:50%;width:4px;height:4px;margin-right:14px;display:inline-block}.read-more{color:var(--g-teal);align-items:center;gap:8px;margin-top:22px;font-weight:700;display:inline-flex}.read-more svg{width:18px;height:18px;transition:transform .25s var(--b-ease)}.post-featured:hover .read-more svg{transform:translate(4px)}.blog-pager{justify-content:space-between;gap:12px;margin-top:48px;display:flex}.blog-pager a{border:1px solid var(--g-border);height:44px;color:var(--g-slate);background:#fff;border-radius:999px;align-items:center;padding:0 20px;font-weight:600;text-decoration:none;display:inline-flex}.blog-pager a:hover{border-color:var(--g-teal);color:var(--g-teal)}.post-hero{padding-bottom:clamp(150px,17vw,230px)}.post-hero h1{max-width:24ch;font-size:clamp(2rem,4.6vw,3.3rem)}.post-hero .post-tag{color:var(--g-teal-bright);margin-bottom:18px}.post-hero .post-meta{color:#ffffffb3;margin-top:26px}.post-cover{z-index:2;max-width:1040px;padding-inline:var(--b-gutter);margin:calc(-1*clamp(120px,14vw,190px)) auto 0;position:relative}.post-cover .frame{box-shadow:0 34px 80px #0d1b2a38}.post-cover .frame img{aspect-ratio:16/8}.post-layout{background:#fff;padding-block:clamp(40px,6vw,72px) clamp(56px,8vw,96px)}.prose{color:#24313f;max-width:70ch;margin:0 auto;font-size:clamp(1.03rem,1.4vw,1.12rem);line-height:1.78}.prose>*+*{margin-top:1.25em}.prose>p:first-child{color:var(--g-slate);font-size:1.16em;font-weight:500;line-height:1.62}.prose p{margin-bottom:0}.prose h2,.prose h3{letter-spacing:-.02em;color:var(--g-slate);text-wrap:balance;margin-top:2em;font-weight:800;line-height:1.22}.prose h2{font-size:1.6em}.prose h3{font-size:1.28em}.prose a{color:var(--g-teal);text-underline-offset:3px;text-decoration:underline 1px #0495a066;transition:text-decoration-color .2s}.prose a:hover{text-decoration-color:currentColor}.prose strong{color:var(--g-slate);font-weight:700}.prose ul,.prose ol{padding:0;list-style:none}.prose li{padding-left:1.7em;position:relative}.prose li+li{margin-top:.6em}.prose ul li:before{content:"";background:var(--g-teal);border-radius:2px;width:7px;height:7px;position:absolute;top:.68em;left:.35em}.prose ol{counter-reset:item}.prose ol li:before{counter-increment:item;content:counter(item);font-family:var(--g-font-mono);color:var(--g-teal);font-size:.85em;position:absolute;left:0}.prose blockquote{border-left:3px solid var(--g-teal);color:var(--g-slate);margin-inline:0;padding:4px 0 4px 1.2em;font-size:1.1em}.prose img{border-radius:12px}.post-foot{border-top:1px solid var(--g-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;max-width:70ch;margin:48px auto 0;padding-top:24px;font-size:clamp(1.03rem,1.4vw,1.12rem);display:flex}.post-foot a{color:var(--g-slate);align-items:center;gap:8px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.post-foot a:hover{color:var(--g-teal)}.post-foot .lang-link{font-family:var(--g-font-mono);font-size:.8rem;font-weight:500}.post-related{background:var(--g-bg-soft);padding-block:clamp(56px,8vw,92px)}.post-related .blog-section-head{margin-top:0}.blog-cta{background:var(--g-slate);color:#fff}.blog-cta .blog-wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 48px;padding-block:clamp(44px,6vw,64px);display:flex}.blog-cta h2{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.35rem,2.6vw,1.85rem);font-weight:800}.blog-cta p{color:#ffffffb8;max-width:56ch;margin:0}.blog-cta a{background:var(--g-teal);color:#fff;white-space:nowrap;height:50px;transition:background .25s ease, transform .25s var(--b-ease);border-radius:33px;align-items:center;gap:10px;padding:0 26px;font-weight:700;text-decoration:none;display:inline-flex}.blog-cta a:hover{background:#037f88;transform:translateY(-2px)}.blog-cta svg{width:18px;height:18px}@media (width<=860px){.post-featured{grid-template-columns:1fr;gap:18px}.post-featured-body{padding:4px 6px 10px}.blog-section-head{flex-direction:column;gap:6px}.post-cover .frame img{aspect-ratio:16/10}}@media (width<=520px){.blog-cats a{height:34px;padding:0 13px;font-size:.86rem}.frame-url{display:none}}
