.blog-article-layout{--article-offset:calc(var(--public-header-height,113px) + 16px);display:grid;grid-template-columns:minmax(0,760px) 280px;gap:56px;max-width:1160px;margin:0 auto;padding:140px 24px 80px;align-items:start}.blog-article{min-width:0}.blog-article h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.12;margin:22px 0}.blog-article .article-byline{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0 24px}.blog-article [data-article-summary]{font-size:1.2rem;color:var(--text-secondary,#605a56);line-height:1.7}.blog-article .article-body{font-size:1.08rem;line-height:1.8}.blog-article .article-body h2{margin-top:2.2em;line-height:1.25}.blog-article .article-body h3{margin-top:1.7em;line-height:1.35}.blog-article :is(h2,h3,details)[id]{scroll-margin-top:8px}.blog-article img{max-width:100%;height:auto;border-radius:12px}.blog-article table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}.blog-article :is(td,th){border:1px solid #ded8d2;padding:10px;text-align:left}.blog-article pre{overflow:auto;padding:18px;background:#f4f1ed;border-radius:12px}.blog-article blockquote{border-left:3px solid #fc4505;padding-left:20px}.blog-article [data-article-faq]{margin-top:48px;padding:0}.blog-article .hiw-faq-answer :is(p,ul,ol){font-size:inherit;line-height:inherit}.blog-article .hiw-faq-answer>:last-child{margin-bottom:0}.blog-toc summary:focus-visible,.blog-toc a:focus-visible{outline:2px solid #fc4505;outline-offset:4px}.blog-article [data-article-related]{display:none}
@media(max-width:960px){.blog-article-layout{display:block;max-width:800px;padding-top:112px}.blog-toc-desktop{display:none}.blog-toc-mobile{display:block;margin:24px 0}.blog-toc-mobile>summary{cursor:pointer;font-weight:600}.blog-toc-mobile[open]>summary{margin-bottom:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Share the landing decoration while keeping article content above it. */
body.blog-hive{position:relative;isolation:isolate;background:#fff;transition:none}
/* Exact landing SVGs, served locally for previews inheriting img-src 'self'. */
.blog-hive > .hive-bg{--hive-filled:url('/hive-assets/hive-filled.svg');--hive-outline:url('/hive-assets/hive-outline.svg');--hive-glow:url('/hive-assets/hive-glow.svg')}
.blog-hive > [data-auth-background] > main,
.blog-hive > [data-auth-background] > .related-section,
.blog-hive > [data-auth-background] > footer{position:relative;z-index:1;background:transparent}
/* Article HTML includes its own opening, so it needs no legacy body divider. */
.blog-article .meta-cat{display:inline-flex;margin-top:24px}.blog-article .article-body{border-top:0;padding-top:0;overflow:visible}.blog-article .article-body table{min-width:0}.blog-article-layout{padding-top:56px}
@media(max-width:960px){.blog-article-layout{padding-top:32px}}
/* Explicit constructor content styles are shared with private preview and the
   editor. Unmarked articles keep their existing typography and layout. */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('/theme-assets/fonts/playfair-display-variable.ttf') format('truetype')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url('/theme-assets/fonts/jetbrains-mono-variable.ttf') format('truetype')}
.article-body [data-article-row]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0;align-items:start}
.article-body [data-article-row][data-layout="67-33"]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.article-body [data-article-row][data-layout="33-67"]{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.article-body [data-article-row][data-layout="thirds"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.article-body [data-article-column]{min-width:0;overflow-wrap:anywhere}
.article-body [data-article-column]>:first-child{margin-top:0}
.article-body [data-article-column]>:last-child{margin-bottom:0}
.article-body :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,figcaption){overflow-wrap:anywhere}
.article-body :is(h1,h2,h3,h4,h5,h6,details)[id]{scroll-margin-top:16px}
.article-body :is(h5,h6){line-height:1.4}
.article-body [data-article-attribution]{display:block;margin-top:16px;font-size:14px;font-weight:500;line-height:1.5;font-style:normal;text-transform:none;color:var(--text-secondary,#605a56)}
.article-body blockquote[style*="font-size"] p{font-size:inherit}
.article-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;overscroll-behavior-x:contain}
.article-body :is(td,th){overflow-wrap:normal}
.article-body :is(td,th)[style*="width"]{box-sizing:border-box}
.article-body pre{max-width:100%;white-space:pre;overflow:auto}
.blog-article [data-article-related][data-article-related-inline]{display:block;margin:32px 0}
@media(max-width:767px){.article-body [data-article-row][data-layout]{grid-template-columns:minmax(0,1fr);gap:24px}.blog-article-layout{padding-left:18px;padding-right:18px}.article-body [data-article-column]{width:100%}}

/* Real italic variable faces for explicit article typography and inline emphasis. */
@font-face{font-family:'Inter';font-style:italic;font-weight:100 900;font-display:swap;src:url("/theme-assets/fonts/inter-italic-variable.ttf") format("truetype")}
@font-face{font-family:'Montserrat';font-style:italic;font-weight:100 900;font-display:swap;src:url("/theme-assets/fonts/montserrat-italic-variable.ttf") format("truetype")}
@font-face{font-family:'JetBrains Mono';font-style:italic;font-weight:100 800;font-display:swap;src:url("/theme-assets/fonts/jetbrains-mono-italic-variable.ttf") format("truetype")}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url("/theme-assets/fonts/playfair-display-italic-variable.ttf") format("truetype")}

/* Stitch: Floating Progress Card (9f0e2f620a1440269da89fdc8b09bffb). */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('/theme-assets/fonts/plus-jakarta-sans-variable.ttf') format('truetype')}
.blog-article-layout{grid-template-columns:minmax(0,1fr) 368px;gap:48px;max-width:1280px;padding-left:40px;padding-right:40px}
.blog-toc{box-sizing:border-box;min-width:0;padding:24px;border:1px solid #f0e6d8;border-radius:16px;background:#fff;color:#584237;box-shadow:0 12px 32px -4px rgb(249 115 22 / 6%),0 4px 16px rgb(0 0 0 / 3%);font-family:'Inter',sans-serif;font-size:13px;line-height:20px}
.blog-toc-desktop{position:sticky;top:var(--article-offset);max-height:calc(100dvh - var(--article-offset) - 24px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#e0c0b1 transparent}
.blog-toc h2,.blog-toc-mobile>summary{margin:0 0 8px;padding:0 0 12px;color:#1e1b1a;font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:700;line-height:26px;letter-spacing:-.025em}
.blog-toc-progress{height:4px;margin-bottom:24px;overflow:hidden;border-radius:9999px;background:#efe6e4}
.blog-toc-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:#f97316;transition:width 300ms ease}
.blog-toc nav{position:static;z-index:auto;margin-bottom:24px;border:0;background:transparent;backdrop-filter:none}
.blog-toc ol{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}
.blog-toc li{margin:0;padding:0}
.blog-toc a{position:relative;display:flex;align-items:flex-start;gap:10px;padding:12px;border:0;border-radius:12px;color:#584237;text-decoration:none;transition:background-color 150ms,color 150ms}
.blog-toc-number{flex-shrink:0;margin-top:2px;color:#e0c0b1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:12px;font-weight:600;line-height:16px}
.blog-toc-label{min-width:0;font-size:13px;font-weight:500;line-height:1.375;overflow-wrap:anywhere}
.blog-toc .toc-level-3 a{margin-left:16px}
.blog-toc a:hover{background:#fbf2f0;color:#9d4300}
.blog-toc a:hover .blog-toc-number{color:#9d4300}
.blog-toc a[aria-current="location"]{background:rgb(255 247 237 / 70%);color:#9d4300}
.blog-toc a[aria-current="location"]::before{content:"";position:absolute;inset:0;border-left:3px solid #ff5500;border-radius:inherit;pointer-events:none}
.blog-toc a[aria-current="location"] :is(.blog-toc-number,.blog-toc-label){-webkit-text-stroke:.3px currentColor;color:inherit}
.blog-toc a[aria-current="location"]:hover .blog-toc-label{color:#a73a00}
.blog-toc-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid rgb(224 192 177 / 30%)}
.blog-toc-reading-time{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:18px}
.blog-toc-icon{display:block;flex-shrink:0;width:18px;height:18px}
.blog-toc-reading-time .blog-toc-icon{width:16px;height:16px;color:#9d4300}
.blog-toc-share{display:flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;width:88px;height:32px;padding:0 8px;font:600 13px/18px Inter,sans-serif;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer;transition:background-color 150ms,color 150ms}
.blog-toc-share:hover{background:#efe6e4;color:#9d4300}
.blog-toc-share:disabled{cursor:default;opacity:.45}
.blog-toc-share:focus-visible{outline:2px solid #fc4505;outline-offset:4px}
.blog-toc-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.blog-toc-share-fallback{display:block;margin-top:12px;font-size:12px;line-height:18px}
.blog-toc-share-fallback[hidden]{display:none}
.blog-toc-share-fallback input{box-sizing:border-box;display:block;width:100%;min-width:0;margin-top:6px;padding:8px;border:1px solid #e0c0b1;border-radius:6px;background:#fff;color:#584237;font:inherit}
.blog-toc-mobile{display:none}
@media(max-width:960px){.blog-article-layout{padding-left:24px;padding-right:24px}.blog-toc-desktop{display:none}.blog-toc-mobile{display:block;margin:24px 0}.blog-toc-mobile>summary{margin:0;padding:0;cursor:pointer}.blog-toc-mobile[open]>summary{margin-bottom:8px;padding-bottom:12px}}
@media(max-width:767px){.blog-article-layout{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){.blog-toc-progress>span,.blog-toc a,.blog-toc-share{transition:none}}

/* One sidebar and one phone preview, reordered naturally on small screens. */
.blog-article-layout{row-gap:0;grid-template-rows:auto 1fr}
.blog-article-layout>.article-body{grid-column:1;grid-row:1 / span 2;min-width:0}
.blog-sidebar{grid-column:2;grid-row:1 / span 2;align-self:stretch;min-width:0}
/* Stitch: Inline Metadata Rail, Option A (ff14567113f84ea4a16594070b6deada). */
.blog-article-intro{margin-bottom:24px;font:400 14px/20px 'Plus Jakarta Sans',sans-serif}
.blog-article-intro>.back{display:inline-flex;margin-bottom:16px}
.blog-article-intro+h1{margin-top:0}
.blog-metadata-rail{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;color:#57534e}
.blog-metadata-details{display:flex;flex-wrap:wrap;align-items:center;gap:16px;min-width:0;max-width:100%}
.blog-metadata-tag{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 14px;border-radius:9999px;background:#ffe4d6;color:#a43c1b;font-size:12px;font-weight:600;line-height:16px;overflow-wrap:anywhere}
.blog-metadata-tag>span{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#ea580c}
.blog-metadata-author{display:flex;align-items:center;gap:6px;min-width:0;font-weight:500}
.blog-metadata-author-name{min-width:0;color:#1c1917;font-weight:600;overflow-wrap:anywhere}
.blog-metadata-author-role{color:#57534e;font-weight:500}
.blog-metadata-separator{color:#d6d3d1}
.blog-metadata-date{display:flex;align-items:center;gap:6px;color:#78716c}
.blog-metadata-date svg{color:#a8a29e}
.blog-metadata-date svg,.blog-metadata-reading-time svg{display:block;flex-shrink:0;width:14px;height:14px}
.blog-metadata-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;color:#78716c}
.blog-metadata-reading-time{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid rgb(255 237 213 / 60%);border-radius:6px;background:rgb(255 255 255 / 70%);color:#57534e;font-weight:500;white-space:nowrap}
.blog-metadata-reading-time svg{color:#f97316}
.blog-metadata-share-divider{display:flex;align-items:center;padding-left:12px;border-left:1px solid #e7e5e4}
.blog-metadata-share{display:flex;align-items:center;justify-content:center;padding:6px;border:0;border-radius:4px;background:transparent;color:#a8a29e;font:inherit;cursor:pointer;transition:color 150ms,background-color 150ms}
.blog-metadata-share svg{display:block;width:16px;height:16px}
.blog-metadata-share:hover{color:#44403c;background:#fff}
.blog-metadata-share:disabled{cursor:default}
.blog-metadata-share:disabled:hover{color:#a8a29e;background:transparent}
@media(max-width:639px){.blog-metadata-details{gap:12px}.blog-metadata-separator{display:none}.blog-metadata-date,.blog-metadata-actions{font-size:12px;line-height:16px}}
@media(prefers-reduced-motion:reduce){.blog-metadata-share{transition:none}}
.blog-phone-cta{container-type:inline-size;position:relative;isolation:isolate;overflow:hidden;margin:0 0 24px;padding:26px 18px 24px;border:1px solid #f0e6d8;border-radius:20px;background:radial-gradient(ellipse at 100% 45%,#ffe3b7a6,transparent 65%),linear-gradient(135deg,#fff,#fffcf6);box-shadow:0 12px 36px #e8b87717;color:#080d16}
.blog-phone-cta::before,.blog-phone-cta::after{content:"";position:absolute;z-index:-1;width:124px;height:142px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#f8d79c30;pointer-events:none}
.blog-phone-cta::before{top:-24px;right:-20px;transform:rotate(10deg)}
.blog-phone-cta::after{bottom:75px;right:-64px;background:#ffd29a3b}
/* Reference: the handset occupies about 48% of the card, beside the full copy. */
.blog-phone-cta-main{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,53fr);gap:3cqw;align-items:end}
.blog-phone-cta-copy{min-width:0;align-self:stretch;display:flex;flex-direction:column}
.blog-phone-cta h2{margin:0;font:850 7.6cqw/1.04 var(--font-heading);letter-spacing:-.045em}
.blog-phone-cta h2 span{display:block;color:#fc4505}
.blog-phone-cta h2 .blog-phone-cta-title-last{color:inherit;white-space:nowrap}
.blog-phone-cta-description{margin:3.5cqw 0 4.5cqw;color:#596273;font-size:max(9px,3.1cqw);line-height:1.45}
.blog-phone-cta-features{display:grid;gap:3cqw;margin:0 0 4cqw;padding:0;list-style:none}
.blog-phone-cta-features li{display:flex;gap:2.5cqw;align-items:center;font-size:max(9px,2.8cqw);font-weight:500;line-height:1.4;color:#4b5563}
.blog-phone-cta-features svg{flex-shrink:0;box-sizing:content-box;width:4.5cqw;height:4.5cqw;padding:1.9cqw;border:1px solid #ffe2cb;border-radius:50%;background:#fff1e5;color:#fc4505}
.blog-phone-cta-action{display:flex;align-items:center;justify-content:center;gap:1cqw;min-height:44px;margin-top:auto;padding:3cqw 1.5cqw;border:1px solid #ff642d;border-radius:2cqw;background:linear-gradient(110deg,#ff5619,#fc4505);box-shadow:0 12px 24px #fc45051c;color:#fff;text-decoration:none;white-space:nowrap;font:800 3.7cqw/1.3 var(--font-heading);transition:background 150ms,box-shadow 150ms}
.blog-phone-cta-action:hover{background:#e93d00;box-shadow:0 12px 24px #fc45052e;color:#fff}
.blog-phone-cta-action svg{width:4.5cqw;height:4.5cqw;flex-shrink:0}
.blog-phone-cta :is(a,button):focus-visible{outline:3px solid #bf3900;outline-offset:4px}
.blog-phone-cta-tagline{margin:4cqw 0 0;text-align:center;color:#687385;font-size:max(8px,2.3cqw);line-height:1.4;letter-spacing:.18em;text-transform:uppercase}
/* Scale the frame and its contents together using the handset's own width. */
.blog-phone-cta-preview{container-type:inline-size;min-width:0;padding-top:5cqw}
.blog-phone-cta-preview .hero-phone-shell{width:100%;height:auto;aspect-ratio:280 / 588;padding:2.14cqw;border-radius:15.7cqw;zoom:1;box-shadow:0 0 0 .36cqw #484e58,0 0 0 1.25cqw #22262c,0 0 0 1.6cqw #15181c,0 9cqw 21cqw -3.6cqw #00000045,0 0 14cqw #ff57222e}
.blog-phone-cta-preview .hero-phone-screen{border-radius:13.6cqw}
.blog-phone-cta-preview .hero-phone-volume{left:-2.5cqw;top:39cqw;width:1cqw;height:12cqw;box-shadow:0 15cqw #353941}
.blog-phone-cta-preview .hero-phone-power{right:-2.5cqw;top:46cqw;width:1cqw;height:17cqw}
.blog-phone-cta-preview .hero-phone-status{padding:4cqw 5.7cqw 0;font-size:4.3cqw}
.blog-phone-cta-preview .hero-phone-camera{left:calc(50% - 2.5cqw);top:3.6cqw;width:5cqw;height:5cqw;border-width:1.4cqw}
.blog-phone-cta-preview .hero-phone-signal{gap:1.8cqw;font-size:4cqw}
.blog-phone-cta-preview .hero-phone-signal svg{width:5cqw;height:4.3cqw}
.blog-phone-cta-preview .hero-phone-battery{width:7cqw;height:3.6cqw;padding:.36cqw;border-radius:1cqw}
.blog-phone-cta-preview .hero-phone-battery::after{width:.36cqw;height:1.4cqw;right:-1cqw;top:.7cqw}
.blog-phone-cta-preview .hero-phone-lockscreen{padding-top:14.3cqw}
.blog-phone-cta-preview .hero-phone-lock{width:10.7cqw;height:10.7cqw;margin:0 auto 2.5cqw}
.blog-phone-cta-preview .hero-phone-lock svg{width:5cqw;height:5cqw}
.blog-phone-cta-preview .hero-phone-clock{font-size:18cqw}
.blog-phone-cta-preview .hero-phone-date{margin-top:3cqw;font-size:4.3cqw}
.blog-phone-cta-preview .hero-phone-notification{margin:9cqw 2.8cqw 0;padding:4.3cqw;border-radius:5.7cqw}
.blog-phone-cta-preview .hero-phone-app{gap:2.8cqw;margin-bottom:4cqw;font-size:4.6cqw;letter-spacing:0}
.blog-phone-cta-preview .hero-phone-app-icon{width:8.6cqw;height:8.6cqw;border-radius:2.8cqw}
.blog-phone-cta-preview .hero-phone-app-icon svg{width:5cqw;height:5cqw}
.blog-phone-cta-preview .hero-phone-live{gap:1.4cqw;padding:1.4cqw 2cqw;font-size:4.3cqw}
.blog-phone-cta-preview .hero-phone-live i{width:1.8cqw;height:1.8cqw}
.blog-phone-cta-preview .hero-phone-message{margin-bottom:5cqw}
.blog-phone-cta-preview .hero-phone-message strong{font-size:7cqw}
.blog-phone-cta-preview .hero-phone-message p{margin-top:1.4cqw;font-size:5cqw}
/* Match the landing button's 36px height at a 280px handset width. */
.blog-phone-cta-preview .hero-phone-test{min-height:12.86cqw;padding:2cqw 1.4cqw;border-radius:4cqw;font-size:4.4cqw;gap:1.8cqw;white-space:nowrap}
.blog-phone-cta-preview .hero-phone-test-dot{width:2.14cqw;height:2.14cqw}
.blog-phone-cta-preview .hero-phone-controls{bottom:8.6cqw;left:7cqw;right:7cqw}
.blog-phone-cta-preview .hero-phone-shortcut{width:13cqw;height:13cqw}
.blog-phone-cta-preview .hero-phone-shortcut svg{width:5.7cqw;height:5.7cqw}
.blog-phone-cta-preview .hero-phone-swipe{font-size:3cqw}
.blog-phone-cta-preview .hero-phone-swipe svg{width:4.3cqw;height:4.3cqw}
.blog-phone-cta-preview .hero-phone-gesture{bottom:3.6cqw;left:calc(50% - 17cqw);width:34cqw;height:1.4cqw}
@media(max-width:960px){
  .blog-sidebar{margin-bottom:24px}
  .blog-phone-cta{max-width:480px;margin:0 auto 24px}
  .blog-sidebar .blog-toc-mobile{margin:0}
}
@media(max-width:380px){
  .blog-phone-cta{padding:22px 14px}
}

/* Stitch: Related Articles Option 2 (c1bf23a0165b4f1f97bfdf9b83db9eda). */
.blog-hive > [data-auth-background] > .learn-more-section{
  padding:36px 0 60px;
  background:transparent;
  color:#1e1b1a;
  font-family:'Inter',sans-serif;
}
.learn-more-container{max-width:1280px;margin:0 auto;padding:0 20px}
.learn-more-heading{margin-bottom:36px}
.learn-more-badge{display:inline-flex;align-items:center;gap:4px;margin-bottom:8px;padding:4px 8px;border-radius:9999px;background:rgb(242 224 200 / 60%);box-shadow:0 1px 2px rgb(0 0 0 / 5%);color:#a73a00;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.06em;text-transform:uppercase}
.learn-more-badge svg{width:14px;height:14px}
.learn-more-heading h2{margin:0;color:#1e1b1a;font:700 26px/34px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.025em}
.learn-more-heading p{max-width:672px;margin:4px 0 0;color:#584237;font-size:18px;line-height:30px}
@media(min-width:768px){.learn-more-heading h2{font-size:38px;line-height:46px}}
@media(min-width:1024px){.learn-more-container{padding:0 40px}}

.article-body .article-related-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px}

/* Empty text-area paragraphs represent intentional blank lines in saved HTML. */
.article-body [data-article-text] p:empty { min-height: 1em; min-height: 1lh; }
.article-body [data-article-text] { min-width: 0; overflow-wrap: anywhere; }
