*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{color:#111;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f3f3;font-family:Trocchi,Georgia,serif}#root{min-height:100svh}.page{flex-direction:column;min-height:100svh;display:flex}.site-footer{background:#fff;border-top:1px solid #0000000f;margin-top:auto}.footer-inner{grid-template-columns:1.2fr 2fr;gap:3rem;max-width:1100px;margin:0 auto;padding:3rem 2rem 2rem;display:grid}.footer-logo{color:#111;font-family:Trocchi,Georgia,serif;font-size:1.5rem;text-decoration:none}.footer-brand p{color:#666;max-width:280px;margin:.75rem 0 0;font-family:system-ui,sans-serif;font-size:.9rem;line-height:1.6}.footer-links{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.footer-links h4{letter-spacing:.08em;text-transform:uppercase;color:#888;margin:0 0 .75rem;font-family:system-ui,sans-serif;font-size:.72rem}.footer-links a{color:#333;margin-bottom:.45rem;font-family:system-ui,sans-serif;font-size:.9rem;text-decoration:none;transition:color .2s;display:block}.footer-links a:hover{color:#111}.footer-bottom{border-top:1px solid #0000000f;max-width:1100px;margin:0 auto;padding:1.25rem 2rem 2rem}.footer-bottom span{color:#999;font-family:system-ui,sans-serif;font-size:.8rem}@media (width<=800px){.footer-inner{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}}@media (width<=480px){.footer-links{grid-template-columns:1fr}}.header{z-index:100;padding:0 2.5rem;transition:background .3s,box-shadow .3s,padding .3s;position:sticky;top:0}.header.is-scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3f3f3eb;box-shadow:0 1px #0000000f}.header-inner{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:1.5rem 0;transition:padding .3s;display:flex}.header.is-scrolled .header-inner{padding:1rem 0}.header-left{align-items:center;gap:2.5rem;display:flex}.header-right{align-items:center;gap:.75rem;display:flex}.logo{letter-spacing:-.02em;color:#111;font-family:Trocchi,Georgia,serif;font-size:1.85rem;font-weight:400;line-height:1;text-decoration:none}.nav{align-items:center;gap:1.75rem;display:flex}.nav-link{color:#111;font-family:Trocchi,Georgia,serif;font-size:1rem;font-weight:400;text-decoration:none;transition:opacity .2s}.nav-link:hover{opacity:.65}.nav-link.active{opacity:1;text-underline-offset:4px;text-decoration:underline}.get-started{letter-spacing:.01em;color:#fff;cursor:pointer;background:#111;border:none;border-radius:9999px;align-items:center;padding:.7rem 1.6rem;font-family:inherit;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.get-started:hover{background:#333;transform:translateY(-1px)}.menu-toggle{cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:12px;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;display:none}.menu-toggle span{background:#111;border-radius:2px;width:100%;height:2px;transition:transform .25s,opacity .25s;display:block}.menu-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu{z-index:99;pointer-events:none;visibility:hidden;position:fixed;inset:0}.mobile-menu.is-open{pointer-events:auto;visibility:visible}.mobile-menu-backdrop{opacity:0;cursor:pointer;background:#00000059;border:none;transition:opacity .3s;position:absolute;inset:0}.mobile-menu.is-open .mobile-menu-backdrop{opacity:1}.mobile-nav{background:#fff;flex-direction:column;gap:.25rem;width:min(300px,85vw);height:100%;padding:5.5rem 1.5rem 2rem;transition:transform .3s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 32px #0000001a}.mobile-menu.is-open .mobile-nav{transform:translate(0)}.mobile-nav-link{color:#111;border-bottom:1px solid #f0f0f0;padding:.85rem .5rem;font-family:Trocchi,Georgia,serif;font-size:1.25rem;text-decoration:none;transition:opacity .2s}.mobile-nav-link:hover,.mobile-nav-link.active{opacity:.7}.mobile-nav-cta{color:#fff;text-align:center;background:#111;border-radius:9999px;margin-top:1.25rem;padding:.85rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:500;text-decoration:none}@media (width<=900px){.nav,.get-started-desktop{display:none}.menu-toggle{display:flex}}@media (width<=640px){.header{padding:0 1.5rem}}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.tech-stack{flex-direction:column;align-items:center;gap:clamp(2rem,5vw,3.5rem);display:flex}.tech-stack-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(2rem,6vw,4.5rem);display:flex}.tech-logo{color:#111;width:clamp(56px,9vw,76px);height:clamp(56px,9vw,76px)}.tech-logo svg{width:100%;height:100%}.about-block{max-width:1100px;margin:0 auto;padding:5rem 2rem}.about-grid{grid-template-columns:1.1fr 1fr;gap:3rem;margin-bottom:4rem;display:grid}.align-left{text-align:left}.about-text{color:#555;margin:0 0 1rem;font-family:system-ui,sans-serif;font-size:1rem;line-height:1.75}.about-list{flex-direction:column;gap:.6rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.about-list li{color:#333;padding-left:1.1rem;font-family:system-ui,sans-serif;font-size:.9rem;position:relative}.about-list li:before{content:"→";color:#111;position:absolute;left:0}.about-cards{flex-direction:column;gap:1rem;display:flex}.about-card{background:#fff;border:1px solid #0000000f;border-radius:16px;padding:1.25rem 1.5rem;transition:transform .25s}.about-card:hover{transform:translate(6px)}.about-card-label{letter-spacing:.08em;text-transform:uppercase;color:#888;font-family:system-ui,sans-serif;font-size:.72rem}.about-card p{color:#111;margin:.4rem 0 0;font-family:Trocchi,Georgia,serif;font-size:1.1rem;line-height:1.4}.tech-stack-wrap{text-align:center;border-top:1px solid #0000000f;padding-top:2rem}@media (width<=800px){.about-grid{grid-template-columns:1fr}}.cta-section{max-width:900px;margin:0 auto;padding:3rem 2rem 5rem}.cta-card{color:#fff;text-align:center;background:#111;border-radius:28px;padding:clamp(2.5rem,5vw,4rem);box-shadow:0 24px 60px #0000002e}.cta-card h2{margin:0 0 1rem;font-family:Trocchi,Georgia,serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:400;line-height:1.15}.cta-card p{color:#bbb;max-width:520px;margin:0 auto 2rem;font-family:system-ui,sans-serif;font-size:1rem;line-height:1.7}.cta-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;display:flex}.cta-card .btn-primary{color:#111;background:#fff}.cta-card .btn-primary:hover{background:#eee}.cta-secondary{color:#fff;font-family:Trocchi,Georgia,serif;font-size:1.05rem;text-decoration:none}.cta-secondary:hover{text-decoration:underline}.faq-section{max-width:760px;margin:0 auto;padding:5rem 2rem}.faq-list{flex-direction:column;gap:.75rem;margin-top:2rem;display:flex}.faq-item{background:#fff;border:1px solid #0000000f;border-radius:14px;transition:box-shadow .25s;overflow:hidden}.faq-item.open{box-shadow:0 10px 30px #0000000f}.faq-question{text-align:left;color:#111;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1.15rem 1.25rem;font-family:Trocchi,Georgia,serif;font-size:1.1rem;display:flex}.faq-icon{color:#888;flex-shrink:0;font-family:system-ui,sans-serif;font-size:1.25rem;font-weight:300}.faq-answer-wrap{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.faq-item.open .faq-answer-wrap{grid-template-rows:1fr}.faq-answer{color:#555;margin:0;padding:0 1.25rem;font-family:system-ui,sans-serif;font-size:.95rem;line-height:1.7;overflow:hidden}.faq-item.open .faq-answer{padding-bottom:1.15rem}.features-section{max-width:1100px;margin:0 auto;padding:5rem 2rem}.features-layout{grid-template-columns:1fr 1.1fr;gap:2rem;margin-top:2.5rem;display:grid}.features-tabs{flex-direction:column;gap:.75rem;display:flex}.feature-tab{text-align:left;cursor:pointer;background:#fff;border:1px solid #0000000f;border-radius:16px;padding:1.1rem 1.25rem;font-family:inherit;transition:all .25s}.feature-tab strong{color:#111;margin-bottom:.25rem;font-family:Trocchi,Georgia,serif;font-size:1.15rem;font-weight:400;display:block}.feature-tab span{color:#666;font-family:system-ui,sans-serif;font-size:.85rem}.feature-tab:hover{border-color:#ccc;transform:translate(4px)}.feature-tab.active{background:#111;border-color:#111;box-shadow:0 12px 32px #0000001f}.feature-tab.active strong,.feature-tab.active span{color:#fff}.feature-panel{background:#fff;border:1px solid #0000000f;border-radius:20px;padding:2rem;animation:.35s both panel-in;box-shadow:0 16px 40px #0000000f}@keyframes panel-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.feature-panel h3{color:#111;margin:0 0 1rem;font-family:Trocchi,Georgia,serif;font-size:1.75rem;font-weight:400}.feature-panel p{color:#555;margin:0 0 1.5rem;font-family:system-ui,sans-serif;font-size:1rem;line-height:1.7}.feature-panel ul{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.feature-panel li{color:#333;padding-left:1.25rem;font-family:system-ui,sans-serif;font-size:.9rem;position:relative}.feature-panel li:before{content:"";background:#111;border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0}@media (width<=800px){.features-layout{grid-template-columns:1fr}}.growth-viz{width:min(100%,560px);height:420px;transform-style:preserve-3d;margin:0 auto;transition:transform .35s;position:relative}.growth-viz.is-mounted .viz-card{animation:.8s cubic-bezier(.22,1,.36,1) both card-rise}.growth-viz.is-mounted .viz-float{animation:.9s cubic-bezier(.22,1,.36,1) both float-in}.growth-viz.is-mounted .viz-orbit{animation:18s linear infinite orbit-spin}@keyframes card-rise{0%{opacity:0;transform:translateY(28px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes float-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes orbit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.viz-glow{filter:blur(18px);pointer-events:none;background:radial-gradient(circle,#3d6fd42e,#0000 68%);position:absolute;inset:12% 8%}.viz-card{z-index:2;background:#fff;border:1px solid #0000000f;border-radius:24px;padding:1.25rem 1.25rem .85rem;position:relative;box-shadow:0 24px 60px #0000001a,0 8px 20px #0000000a}.viz-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.viz-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#888;margin:0;font-family:system-ui,sans-serif;font-size:.72rem}.viz-header h3{color:#111;margin:.15rem 0 0;font-family:Trocchi,Georgia,serif;font-size:1.35rem;font-weight:400}.viz-metrics{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.metric-pill{color:#555;cursor:pointer;background:#f5f5f5;border:1px solid #0000;border-radius:9999px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-family:system-ui,sans-serif;font-size:.68rem;font-weight:600;transition:all .2s;display:inline-flex}.metric-pill:hover{background:#eee}.metric-pill.active{color:#111;border-color:color-mix(in srgb, var(--metric-color) 40%, #ddd);box-shadow:0 4px 14px color-mix(in srgb, var(--metric-color) 18%, transparent);background:#fff}.pill-dot{background:var(--metric-color);border-radius:50%;width:7px;height:7px}.viz-chart{width:100%;height:auto;display:block;overflow:visible}.grid-line{stroke:#ececec;stroke-width:1px}.axis-text,.month-text{fill:#999;font-family:system-ui,sans-serif;font-size:10px}.series{opacity:.35;transition:opacity .3s}.series.is-active{opacity:1}.series-line{stroke-linecap:round;stroke-linejoin:round;transition:stroke-width .25s}.series-area{transition:opacity .25s}.data-node{cursor:pointer}.node-hit{fill:#0000}.node-dot{transition:r .25s,filter .25s}.data-node.is-active .node-dot{filter:drop-shadow(0 0 8px color-mix(in srgb, currentColor 50%, transparent))}.node-tooltip{pointer-events:none;animation:.25s both tooltip-pop}@keyframes tooltip-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tooltip-box{fill:#111}.tooltip-label,.tooltip-value{fill:#fff;font-family:system-ui,sans-serif}.tooltip-label{font-size:8px}.tooltip-value{font-size:11px;font-weight:700}.viz-footer{color:#999;border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.35rem;padding-top:.5rem;font-family:system-ui,sans-serif;font-size:.68rem;display:flex}.viz-pulse{background:#3d6fd4;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-ring;box-shadow:0 0 #3d6fd480}@keyframes pulse-ring{0%{box-shadow:0 0 #3d6fd473}70%{box-shadow:0 0 0 10px #3d6fd400}to{box-shadow:0 0 #3d6fd400}}.viz-float{z-index:3;color:#fff;pointer-events:none;background:#111;border-radius:14px;padding:.7rem .9rem;font-family:system-ui,sans-serif;position:absolute;box-shadow:0 14px 30px #0000002e}.viz-float-top{animation-delay:.15s;top:-8px;right:24px}.viz-float-side{animation-delay:.25s;bottom:72px;left:-18px}.float-label{letter-spacing:.06em;text-transform:uppercase;color:#aaa;margin-bottom:.15rem;font-size:.62rem;display:block}.viz-float strong{font-size:1.2rem;font-weight:700}.viz-float-side small{color:#888;margin-top:.2rem;font-size:.62rem;display:block}.viz-orbit{pointer-events:none;border:1px dashed #00000014;border-radius:50%;position:absolute}.viz-orbit-1{width:120px;height:120px;top:8px;left:-20px}.viz-orbit-2{width:90px;height:90px;animation-duration:14s;animation-direction:reverse;bottom:40px;right:-10px}.viz-orbit-3{width:56px;height:56px;animation-duration:10s;top:50px;right:80px}@media (width<=900px){.growth-viz{height:380px}.viz-float-side{bottom:48px;left:8px}.viz-header{flex-direction:column}.viz-metrics{justify-content:flex-start}}.how-section{max-width:1100px;margin:0 auto;padding:5rem 2rem}.how-layout{grid-template-columns:1fr 1.2fr;gap:2rem;margin-top:2.5rem;display:grid}.how-steps{flex-direction:column;gap:.65rem;display:flex}.how-step{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:1rem;padding:1rem 1.1rem;font-family:inherit;transition:all .25s;display:flex}.how-step-num{color:#999;min-width:1.5rem;font-family:system-ui,sans-serif;font-size:.75rem;font-weight:700}.how-step-title{color:#444;font-family:Trocchi,Georgia,serif;font-size:1.1rem}.how-step:hover,.how-step.active{background:#fff;border-color:#0000000f;box-shadow:0 8px 24px #0000000d}.how-step.active .how-step-num,.how-step.active .how-step-title{color:#111}.how-detail{color:#fff;background:#111;border-radius:24px;padding:2.5rem;animation:.35s both panel-in}.how-detail-num{letter-spacing:.1em;color:#888;font-family:system-ui,sans-serif;font-size:.8rem}.how-detail h3{margin:.5rem 0 1rem;font-family:Trocchi,Georgia,serif;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:400}.how-detail p{color:#ccc;margin:0 0 2rem;font-family:system-ui,sans-serif;font-size:1rem;line-height:1.7}.how-progress{gap:.5rem;display:flex}.how-dot{background:#333;border-radius:9999px;width:32px;height:4px;transition:background .3s,transform .3s}.how-dot.filled{background:#fff}@media (width<=800px){.how-layout{grid-template-columns:1fr}}.platform-icons{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(2rem,6vw,4rem);display:flex}.platform-icon{color:#111;width:clamp(56px,10vw,80px);height:clamp(56px,10vw,80px)}.platform-icon svg{width:100%;height:100%}.stats-section{text-align:center;max-width:1100px;margin:0 auto;padding:4rem 2rem}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem;display:grid}.stat-item{background:#fff;border:1px solid #0000000f;border-radius:18px;padding:1.75rem 1rem;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 30px #0000000a}.stat-item:hover{transform:translateY(-4px);box-shadow:0 16px 40px #00000014}.stat-value{color:#111;margin-bottom:.5rem;font-family:Trocchi,Georgia,serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:400;line-height:1;display:block}.stat-label{color:#666;font-family:system-ui,sans-serif;font-size:.85rem}@media (width<=800px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}}.usecases-section{max-width:1100px;margin:0 auto;padding:5rem 2rem}.usecases-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2.5rem;display:grid}.usecase-card{cursor:default;background:#fff;border:1px solid #0000000f;border-radius:20px;padding:1.75rem;transition:all .3s}.usecase-card:hover,.usecase-card.is-hovered{background:#111;border-color:#111;transform:translateY(-6px);box-shadow:0 20px 50px #00000026}.usecase-card h3{color:#111;margin:0 0 .75rem;font-family:Trocchi,Georgia,serif;font-size:1.35rem;font-weight:400;transition:color .3s}.usecase-card p{color:#555;margin:0 0 1.25rem;font-family:system-ui,sans-serif;font-size:.95rem;line-height:1.65;transition:color .3s}.usecase-metric{color:#111;background:#f0f0f0;border-radius:9999px;padding:.35rem .75rem;font-family:system-ui,sans-serif;font-size:.8rem;font-weight:600;transition:all .3s}.usecase-card:hover h3,.usecase-card.is-hovered h3,.usecase-card:hover p,.usecase-card.is-hovered p{color:#fff}.usecase-card:hover .usecase-metric,.usecase-card.is-hovered .usecase-metric{color:#111;background:#fff}@media (width<=700px){.usecases-grid{grid-template-columns:1fr}}.landing{flex:1}.section-kicker{letter-spacing:.1em;text-transform:uppercase;color:#888;text-align:center;margin:0 0 .5rem;font-family:system-ui,sans-serif;font-size:.75rem}.section-heading{letter-spacing:-.02em;color:#111;text-align:center;margin:0;font-family:Trocchi,Georgia,serif;font-size:clamp(2rem,4.5vw,3rem);font-weight:400;line-height:1.15}.section-desc{color:#555;max-width:560px;margin:1rem 0 0;font-family:system-ui,sans-serif;font-size:1.05rem;line-height:1.7}.section-desc.centered{text-align:center;margin-left:auto;margin-right:auto}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;max-width:1200px;min-height:calc(100svh - 80px);margin:0 auto;padding:3rem 2.5rem 4rem;display:grid}.hero-content{max-width:500px}.hero-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#888;margin:0 0 1rem;font-family:system-ui,sans-serif;font-size:.75rem}.hero-title{letter-spacing:-.02em;color:#111;margin:0 0 1.25rem;font-family:Trocchi,Georgia,serif;font-size:clamp(2.25rem,4.5vw,3.5rem);font-weight:400;line-height:1.15}.hero-desc{color:#555;margin:0 0 2rem;font-family:system-ui,sans-serif;font-size:1.05rem;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1.75rem;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#111;border:none;border-radius:9999px;align-items:center;padding:.75rem 1.75rem;font-family:inherit;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.btn-primary:hover{background:#333;transform:translateY(-1px)}.learn-more{color:#111;font-family:Trocchi,Georgia,serif;font-size:1.05rem;text-decoration:none}.learn-more:hover{text-decoration:underline}.hero-tags{flex-wrap:wrap;gap:.5rem;display:flex}.hero-tags span{color:#444;background:#fff;border:1px solid #00000014;border-radius:9999px;padding:.35rem .75rem;font-family:system-ui,sans-serif;font-size:.75rem;font-weight:500}.hero-visual{justify-content:center;align-items:center;display:flex}.platforms-section{text-align:center;max-width:1000px;margin:0 auto;padding:5rem 2rem 4rem}.section-eyebrow{color:#111;text-transform:none;letter-spacing:-.02em;margin:0 0 .25rem;font-family:Trocchi,Georgia,serif;font-size:clamp(1.5rem,3vw,2rem)}.section-title{letter-spacing:-.02em;color:#111;margin:0 0 1rem;font-family:Trocchi,Georgia,serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;line-height:1.1}@media (width<=900px){.hero{text-align:center;grid-template-columns:1fr;min-height:auto;padding-top:2rem}.hero-content{max-width:none}.hero-actions,.hero-tags{justify-content:center}.hero-visual{order:-1}.growth-viz{height:360px}}.blog{flex:1;padding:2rem}.blog-inner{max-width:720px;margin:0 auto}.blog-title{letter-spacing:-.02em;color:#111;margin:0 0 .5rem;font-family:Trocchi,Georgia,serif;font-size:clamp(2rem,5vw,2.75rem);font-weight:400}.blog-subtitle{color:#5c5c5c;margin:0 0 2.5rem;font-size:1rem}.blog-status{color:#5c5c5c;margin-bottom:2rem}.blog-error{color:#b00020}.post-list{flex-direction:column;gap:2rem;margin:0;padding:0;list-style:none;display:flex}.post-card{border-bottom:1px solid #eee;padding-bottom:2rem}.post-card:last-child{border-bottom:none;padding-bottom:0}.post-link{color:inherit;text-decoration:none;display:block}.post-link:hover .post-title{color:#333}.post-title{letter-spacing:-.01em;color:#111;margin:0 0 .5rem;font-family:Trocchi,Georgia,serif;font-size:1.5rem;font-weight:400;transition:color .2s}.post-excerpt{color:#5c5c5c;margin:0;font-size:1rem;line-height:1.6}.post-content{color:#333;font-size:1.05rem;line-height:1.75}.post-content h1,.post-content h2,.post-content h3{color:#111;margin:2rem 0 .75rem;font-family:Trocchi,Georgia,serif;font-weight:400;line-height:1.25}.post-content h1{font-size:2rem}.post-content h2{font-size:1.5rem}.post-content h3{font-size:1.25rem}.post-content p{margin:0 0 1.25rem}.post-content ul,.post-content ol{margin:0 0 1.25rem;padding-left:1.5rem}.post-content blockquote{color:#555;border-left:3px solid #ddd;margin:1.5rem 0;padding:.75rem 1.25rem;font-style:italic}.post-content a{color:#111;text-decoration:underline}.post-content img,.post-content .editor-image{border-radius:8px;max-width:100%;height:auto;margin:1.5rem 0}.post-content [style*=Trocchi]{font-family:Trocchi,Georgia,serif!important}.post-content [style*=Inter]{font-family:Inter,system-ui,sans-serif!important}.post-content [style*=JetBrains\ Mono]{font-family:JetBrains Mono,ui-monospace,monospace!important}.blog-post{flex:1;padding:2rem}.blog-post-inner{max-width:720px;margin:0 auto}.blog-post-status{text-align:center;color:#5c5c5c;max-width:720px;margin:4rem auto}.back-link{color:#5c5c5c;margin-bottom:1.5rem;font-size:.9rem;text-decoration:none;display:inline-block}.back-link:hover{color:#111}.cover-image{object-fit:cover;border-radius:8px;width:100%;max-height:360px;margin-bottom:1.5rem}.post-date{color:#888;margin-bottom:.5rem;font-size:.85rem;display:block}.post-title{letter-spacing:-.02em;color:#111;margin:0 0 1.5rem;font-family:Trocchi,Georgia,serif;font-size:clamp(2rem,5vw,2.75rem);font-weight:400;line-height:1.2}.admin-login-page{background:#fff;justify-content:center;align-items:center;min-height:100svh;padding:2rem;display:flex}.admin-login-card{width:100%;max-width:400px}.admin-logo{color:#111;margin-bottom:2rem;font-family:Trocchi,Georgia,serif;font-size:1.75rem;text-decoration:none;display:inline-block}.admin-login-card h1{color:#111;margin:0 0 .5rem;font-family:Trocchi,Georgia,serif;font-size:1.75rem;font-weight:400}.admin-login-hint{color:#5c5c5c;margin:0 0 1.5rem;font-size:.95rem}.admin-login-form{flex-direction:column;gap:1rem;display:flex}.admin-login-form label{color:#333;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;display:flex}.admin-login-form input{border:1px solid #ddd;border-radius:8px;padding:.65rem .75rem;font-family:inherit;font-size:1rem}.admin-login-form input:focus{outline-offset:1px;outline:2px solid #111}.admin-login-form button{color:#fff;cursor:pointer;background:#111;border:none;border-radius:9999px;margin-top:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:500}.admin-login-form button:disabled{opacity:.6;cursor:not-allowed}.admin-login-error{color:#b00020;margin:0;font-size:.9rem}.admin-page{background:#fff;min-height:100svh}.admin-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 2rem;display:flex}.admin-logo{color:#111;font-family:Trocchi,Georgia,serif;font-size:1.75rem;text-decoration:none}.admin-welcome{color:#888;margin:.25rem 0 0;font-size:.85rem}.admin-header-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-main{max-width:900px;margin:0 auto;padding:2rem}.admin-main h1{color:#111;margin:0 0 1.5rem;font-family:Trocchi,Georgia,serif;font-size:2rem;font-weight:400}.admin-status{color:#5c5c5c}.admin-btn{color:#111;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:9999px;align-items:center;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.admin-btn:hover{border-color:#aaa}.admin-btn-primary{color:#fff;background:#111;border-color:#111}.admin-btn-primary:hover{background:#333;border-color:#333}.admin-btn-danger{color:#b00020;border-color:#f5c2c7}.admin-post-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.admin-post-item{border:1px solid #eee;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.admin-post-item h2{color:#111;margin:0 0 .35rem;font-size:1.1rem;font-weight:500}.admin-post-meta{color:#888;align-items:center;gap:.5rem;margin:0;font-size:.85rem;display:flex}.status-badge{text-transform:capitalize;border-radius:9999px;padding:.15rem .5rem;font-size:.75rem;font-weight:500}.status-published{color:#2e7d32;background:#e8f5e9}.status-draft{color:#666;background:#f5f5f5}.admin-post-actions{flex-shrink:0;gap:.5rem;display:flex}@media (width<=640px){.admin-post-item{flex-direction:column;align-items:flex-start}}.editor-toolbar{background:#fafafa;border:1px solid #e8e8e8;border-bottom:none;border-radius:8px 8px 0 0;flex-wrap:wrap;gap:.75rem;padding:.75rem;display:flex}.toolbar-group{align-items:center;gap:.35rem;display:flex}.editor-toolbar button{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:.35rem .6rem;font-family:inherit;font-size:.8rem;font-weight:600}.editor-toolbar button:hover{border-color:#aaa}.editor-toolbar button.active{color:#fff;background:#111;border-color:#111}.font-select{background:#fff;border:1px solid #ddd;border-radius:6px;padding:.35rem .5rem;font-family:inherit;font-size:.8rem}.rich-editor{border-radius:8px}.rich-editor .tiptap{color:#333;border:1px solid #e8e8e8;border-radius:0 0 8px 8px;outline:none;min-height:320px;padding:1.25rem;font-size:1rem;line-height:1.7}.rich-editor .tiptap:focus{border-color:#bbb}.rich-editor .tiptap h1,.rich-editor .tiptap h2,.rich-editor .tiptap h3{color:#111;margin:1.25rem 0 .5rem;font-family:Trocchi,Georgia,serif;font-weight:400}.rich-editor .tiptap p{margin:0 0 .75rem}.rich-editor .tiptap blockquote{color:#555;border-left:3px solid #ddd;margin:1rem 0;padding-left:1rem}.rich-editor .tiptap img,.rich-editor .tiptap .editor-image{border-radius:8px;max-width:100%;height:auto}.rich-editor .tiptap a{color:#111;text-decoration:underline}.editor-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.editor-header .back-link{color:#5c5c5c;font-size:.9rem;text-decoration:none}.editor-header .back-link:hover{color:#111}.editor-header-actions{gap:.5rem;display:flex}.editor-form{flex-direction:column;gap:1.25rem;max-width:900px;margin:0 auto;padding:2rem;display:flex}.title-input{color:#111;border:none;outline:none;width:100%;font-family:Trocchi,Georgia,serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:400}.title-input::placeholder{color:#ccc}.editor-meta{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.editor-meta label{color:#333;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;display:flex}.editor-meta input,.editor-meta textarea,.editor-meta select{border:1px solid #ddd;border-radius:8px;padding:.55rem .65rem;font-family:inherit;font-size:.95rem}.editor-meta label:last-child{grid-column:1/-1}.cover-preview{object-fit:cover;border-radius:8px;max-width:240px;max-height:140px;margin-top:.5rem}.editor-status{text-align:center;color:#5c5c5c;padding:4rem 2rem}.editor-success{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin:0 2rem;padding:.85rem 1.25rem;font-family:system-ui,sans-serif;font-size:.9rem;font-weight:500;display:flex}.editor-success-link{color:#1b5e20;font-weight:600;text-decoration:underline}.editor-error{color:#b00020;margin:0;font-size:.9rem}@media (width<=640px){.editor-meta{grid-template-columns:1fr}}
