.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--color-blue);outline-offset:3px;border-radius:2px}:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:0;left:0;padding:.75rem 1rem;background:var(--color-blue);color:#fff;font-weight:700;border-radius:0 0 .5rem;z-index:1000;transform:translateY(-110%);transition:transform .15s ease}.skip-link:focus-visible{transform:translateY(0);outline-offset:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--color-bg: #050507;--color-text-primary: rgba(255, 255, 255, .93);--color-text-secondary: rgb(161 161 170);--color-text-tertiary: rgb(113 113 122);--color-text-muted: rgb(82 82 91);--color-blue: #3b82f6;--color-blue-hover: #60a5fa;--color-violet: #8b5cf6;--color-green: #22c55e;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .2);--color-card: rgba(255, 255, 255, .03);--color-card-hover: rgba(255, 255, 255, .05);--font-base: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Segoe UI", "Malgun Gothic", sans-serif;--section-gap: 14rem;--container-max: 1280px;--container-padding: 1.5rem}html{scroll-behavior:smooth;overflow-x:clip}body{font-family:var(--font-base);background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea{font-family:inherit}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.section{margin-bottom:var(--section-gap)}.section-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-tertiary);margin-bottom:1rem;text-align:center}.section-heading{font-size:clamp(2rem,5vw,3.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;text-align:center;margin-bottom:1rem;word-break:keep-all}.section-subtext{font-size:1rem;line-height:1.7;color:var(--color-text-secondary);text-align:center;max-width:42rem;margin:0 auto 3rem;word-break:keep-all}br.break-narrow{display:none}@media(max-width:480px){br.break-narrow{display:inline}}.card{position:relative;background:var(--color-card);border:1px solid var(--color-border);border-radius:1.5rem;padding:2rem;transition:background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease;overflow:hidden;isolation:isolate}.card:hover{background:var(--color-card-hover);border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:0 20px 40px -20px #3b82f626}.card:before,.portfolio-card:before,.testimonial-card:before,.service-why-card:before,.service-phase-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle 320px at var(--mx, 50%) var(--my, 50%),rgba(59,130,246,.12),transparent 60%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:0}.card.is-hovered:before,.portfolio-card.is-hovered:before,.testimonial-card.is-hovered:before,.service-why-card.is-hovered:before,.service-phase-card.is-hovered:before{opacity:1}.card>*,.portfolio-card>*,.testimonial-card>*,.service-why-card>*,.service-phase-card>*{position:relative;z-index:1}@media(prefers-reduced-motion:reduce){.card:hover{transform:none}.card:before,.portfolio-card:before,.testimonial-card:before,.service-why-card:before,.service-phase-card:before{display:none}}.btn-primary{display:inline-block;background:var(--color-blue);color:#fff;font-weight:700;font-size:1rem;padding:.875rem 2.5rem;border-radius:9999px;transition:background .2s,transform .2s;white-space:nowrap}.btn-primary:hover{background:var(--color-blue-hover)}.btn-outline{display:inline-block;border:1px solid var(--color-border);color:var(--color-text-secondary);font-weight:700;font-size:1rem;padding:.875rem 2.5rem;border-radius:9999px;transition:border-color .2s,color .2s;white-space:nowrap}.btn-outline:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.gradient-text{background:linear-gradient(90deg,var(--color-blue),#60a5fa,var(--color-violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bg-orb{position:absolute;pointer-events:none;border-radius:50%}@keyframes fade-up{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:no-preference){.animate-fade-up{animation:fade-up .6s ease both}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}}.site-header{position:fixed;top:calc(1.5rem + env(safe-area-inset-top));left:0;right:0;z-index:50;display:flex;justify-content:center;padding:0 .75rem;pointer-events:none}.header-pill{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:56rem;gap:1.5rem;padding:.75rem 1rem;border-radius:9999px;background:#0a0a0c80;border:1px solid rgba(255,255,255,.06);transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.site-header.is-scrolled .header-pill{background:#0a0a0ce6;border-color:#ffffff1f;box-shadow:0 10px 30px -10px #0009}.header-logo{display:flex;align-items:center;flex-shrink:0}.header-logo img{height:2.25rem;width:auto;display:block;transition:opacity .2s}.header-logo:hover img{opacity:.85}.header-nav{display:none;align-items:center;gap:2.5rem}.header-nav a{position:relative;font-size:1rem;font-weight:600;color:var(--color-text-secondary);transition:color .25s cubic-bezier(.22,1,.36,1);padding-bottom:.35rem}.header-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--color-blue);border-radius:2px;transform:scaleX(0);transform-origin:left center;transition:transform .35s cubic-bezier(.22,1,.36,1)}.header-nav a:hover{color:var(--color-text-primary)}.header-nav a:hover:after,.header-nav a[aria-current=page]:after{transform:scaleX(1)}@media(prefers-reduced-motion:reduce){.header-nav a:after{transition:none}}.header-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.header-cta{display:none;align-items:center;font-size:1rem;font-weight:700;color:#fff;background:var(--color-blue);padding:.625rem 1.5rem;border-radius:9999px;transition:background .2s}.header-cta:hover{background:var(--color-blue-hover)}.header-menu-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border-radius:.5rem;color:#ffffffb3;background:transparent;border:0;cursor:pointer;transition:background .2s,color .2s}.header-menu-btn:hover{background:#ffffff0d;color:var(--color-text-primary)}@media(min-width:640px){.site-header{top:calc(2rem + env(safe-area-inset-top));padding:0 1.5rem}.header-pill{padding:1rem 1.5rem}}@media(min-width:1024px){.header-pill{padding:1rem 2.5rem}.header-nav{display:flex}.header-cta{display:inline-flex}.header-menu-btn{display:none}}.mobile-menu{position:fixed;inset:0;z-index:100;background:var(--color-bg);display:none;overflow-y:auto;padding:1.5rem}.mobile-menu[data-open=true]{display:block}.mobile-menu-inner{min-height:100%;display:flex;flex-direction:column;max-width:none;margin:0;padding-top:.5rem;padding-bottom:2rem}@media(min-width:768px){.mobile-menu{padding:2rem}}.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:3rem}.mobile-menu-logo{display:inline-flex;align-items:center}.mobile-menu-logo img{height:2.25rem;width:auto;display:block}.mobile-menu-close{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border-radius:.75rem;color:var(--color-text-secondary);background:transparent;border:0;cursor:pointer;transition:background .2s ease,color .2s ease}.mobile-menu-close:hover{background:#ffffff0f;color:var(--color-text-primary)}.mobile-menu-nav{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2.5rem}.mobile-menu-nav a{font-size:1.75rem;font-weight:800;letter-spacing:-.01em;color:var(--color-text-primary);padding:1rem .25rem;border-bottom:1px solid rgba(255,255,255,.06);transition:color .2s ease}.mobile-menu-nav a:hover{color:var(--color-blue)}.mobile-menu-cta{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.5rem;border-radius:9999px;background:var(--color-blue);color:#fff;font-weight:700;font-size:1rem;transition:background .2s ease;margin-top:auto}.mobile-menu-cta:hover{background:var(--color-blue-hover, #1d4ed8)}body.menu-open{overflow:hidden}@media(min-width:1024px){.mobile-menu{display:none!important}body.menu-open{overflow:auto}}.site-footer{border-top:1px solid var(--color-border);margin-top:5rem;padding-top:3rem;padding-bottom:3rem;color:var(--color-text-secondary)}.footer-inner{display:flex;flex-direction:column;gap:3rem}.footer-top{display:flex;flex-direction:column;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--color-border)}.footer-brand{display:flex;flex-direction:column;gap:1.5rem}.footer-logo img{height:2rem;width:auto;opacity:.8}.footer-slogan{font-size:.875rem;line-height:1.7;color:var(--color-text-muted);white-space:nowrap}.footer-company{display:flex;flex-direction:column;gap:.5rem}.footer-company-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-tertiary);margin-bottom:.75rem}.footer-company p{font-size:.875rem;line-height:1.7;color:var(--color-text-muted)}.footer-company a{color:inherit;transition:color .2s}.footer-company a:hover{color:var(--color-text-primary)}.footer-copyright{font-size:.75rem;letter-spacing:.05em;color:#52525b;text-align:center}@media(min-width:768px){.footer-top{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:4rem}.footer-company{text-align:right}}.hero-section{padding-top:14rem;padding-bottom:5rem;text-align:center;position:relative;overflow:hidden}@media(max-width:768px){.hero-section{padding-top:9rem;padding-bottom:3rem}}.hero-bg-glow{position:absolute;top:-10%;left:50%;transform:translate(-50%);width:min(120%,100vw);max-width:1200px;height:800px;background:radial-gradient(ellipse 60% 50% at 50% 20%,rgba(59,130,246,.18) 0%,transparent 60%),radial-gradient(ellipse 40% 30% at 30% 40%,rgba(139,92,246,.12) 0%,transparent 60%),radial-gradient(ellipse 40% 30% at 70% 40%,rgba(34,197,94,.08) 0%,transparent 60%);pointer-events:none;z-index:0}.hero-badge{display:inline-flex;align-items:center;gap:.625rem;border:1px solid var(--color-border);background:var(--color-card);padding:.5rem 1.25rem;border-radius:9999px;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:2rem}.hero-badge-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--color-blue);flex-shrink:0;position:relative}.hero-badge-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--color-blue);animation:badge-ping 1.5s cubic-bezier(0,0,.2,1) infinite}@keyframes badge-ping{0%{transform:scale(1);opacity:.75}to{transform:scale(2.5);opacity:0}}@media(prefers-reduced-motion:reduce){.hero-badge-dot:after{animation:none;display:none}}.hero-heading{font-size:clamp(2.25rem,6vw,4.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin-bottom:1.5rem}.hero-sub{font-size:1.125rem;line-height:1.7;color:var(--color-text-secondary);max-width:38rem;margin:0 auto 2rem;word-break:keep-all}.hero-cta-group{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center}.metrics-section{margin:calc(var(--section-gap) / 2) auto var(--section-gap);max-width:56rem;padding:0 1.5rem}.metrics-grid{display:grid;grid-template-columns:repeat(3,auto);justify-content:center;gap:clamp(3rem,9vw,6rem)}.metric-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.metric-value{font-size:clamp(2.75rem,11vw,7.5rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--color-text-primary);white-space:nowrap}.metric-value span{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700}.metric-label{font-size:.875rem;color:var(--color-text-tertiary);white-space:nowrap}.logos-section{max-width:72rem;margin:0 auto;margin-top:calc(var(--section-gap) / -2);margin-bottom:var(--section-gap)}.marquee-viewport{overflow:hidden;mask-image:linear-gradient(to right,transparent 0,black 80px,black calc(100% - 80px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,black 80px,black calc(100% - 80px),transparent 100%)}.marquee-track{display:flex;gap:3rem;padding:1rem 0;width:max-content;animation:marquee-scroll 40s linear infinite;will-change:transform}.marquee-viewport:hover .marquee-track{animation-play-state:paused}.marquee-logo{height:32px;width:auto;opacity:.4;filter:grayscale(1) brightness(1.4);transition:opacity .2s,filter .2s;flex-shrink:0}.marquee-logo:hover{opacity:1;filter:grayscale(0) brightness(1)}@keyframes marquee-scroll{0%{transform:translateZ(0)}to{transform:translate3d(calc(-50% - 1.5rem),0,0)}}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%}}.portfolio-section{max-width:80rem;margin:0 auto;margin-bottom:var(--section-gap)}.portfolio-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-bottom:2.5rem}@media(min-width:640px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-grid .portfolio-card:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc(50% - .625rem);margin:0 auto}}@media(min-width:1024px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}.portfolio-grid .portfolio-card:last-child:nth-child(odd){grid-column:auto;max-width:none;margin:0}}.portfolio-card{display:flex;flex-direction:column;justify-content:space-between;height:100%;cursor:pointer}.portfolio-card:hover{border-color:#3b82f680;box-shadow:0 20px 40px -15px #3b82f659}.portfolio-card.portfolio-card-violet:hover{border-color:#8b5cf680;box-shadow:0 20px 40px -15px #8b5cf659}.portfolio-card:hover .portfolio-card-title{color:var(--color-blue)}.portfolio-card:hover .portfolio-card-title.violet-hover{color:var(--color-violet)}.portfolio-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem}.portfolio-tag{font-size:.75rem;font-weight:600;padding:.125rem .625rem;border-radius:9999px}.portfolio-tag-blue{background:#3b82f61a;color:var(--color-blue)}.portfolio-tag-violet{background:#8b5cf61a;color:var(--color-violet)}.portfolio-card-title{font-size:1.25rem;font-weight:700;line-height:1.3;letter-spacing:-.02em;white-space:pre-line;margin-bottom:.75rem;transition:color .2s}.portfolio-card-desc{font-size:1rem;line-height:1.6;color:var(--color-text-secondary)}.portfolio-card-stat{border-top:1px solid rgba(255,255,255,.06);margin-top:1.5rem;padding-top:1.5rem}.portfolio-card-stat-value{font-size:1.875rem;font-weight:700;color:var(--color-blue)}.portfolio-card-stat-value.violet{color:var(--color-violet)}.portfolio-card-stat-label{font-size:.875rem;color:var(--color-text-tertiary)}.portfolio-card-has-thumb{padding:0;overflow:hidden}.portfolio-card-thumb-bg{aspect-ratio:3 / 2;position:relative;overflow:hidden}.portfolio-card-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:object-position .4s ease}.portfolio-card-thumb-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#05050740,#0505078c 60%,#050507e0)}.portfolio-card-has-thumb:hover .portfolio-card-thumb-img{object-position:center 5%}.portfolio-card-content{display:flex;flex-direction:column;justify-content:space-between;flex:1;padding:1.5rem}@media(min-width:640px){.portfolio-card-thumb-bg{aspect-ratio:16 / 9}}.portfolio-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.testimonials-section{max-width:80rem;margin:0 auto;margin-bottom:var(--section-gap)}.testimonials-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1280px){.testimonials-grid{grid-template-columns:repeat(4,1fr)}}.testimonial-card{display:flex;flex-direction:column;justify-content:space-between}.testimonial-quote{font-size:1rem;font-weight:700;line-height:1.4;color:var(--color-text-primary);margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.testimonial-content{font-size:.875rem;line-height:1.6;color:var(--color-text-secondary)}.testimonial-author{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.06);margin-top:1rem;padding-top:1rem}.testimonial-author-info{min-width:0}.testimonial-name{font-size:.875rem;font-weight:700;color:var(--color-text-primary)}.testimonial-role{font-size:.75rem;color:var(--color-text-tertiary)}.testimonial-logo{flex-shrink:0;width:auto;height:1.75rem;max-width:6rem;object-fit:contain;filter:grayscale(1) brightness(1.6) contrast(.9);opacity:.55}.why-section{max-width:80rem;margin:0 auto;margin-bottom:var(--section-gap)}.why-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:768px){.why-grid{grid-template-columns:repeat(2,1fr)}.why-grid .why-card:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc(50% - .625rem);margin:0 auto}}@media(min-width:1024px){.why-grid{grid-template-columns:repeat(3,1fr)}.why-grid .why-card:last-child:nth-child(odd){grid-column:auto;max-width:none;margin:0}}.why-card{height:100%}.why-icon-wrap{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:.75rem;border:1px solid rgba(255,255,255,.06);background:#ffffff08;margin-bottom:1.25rem}.why-icon{font-size:1.25rem;line-height:1}.why-card-title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem}.why-card-desc{font-size:1rem;line-height:1.7;color:var(--color-text-secondary)}.cta-section{max-width:48rem;margin:0 auto;padding-bottom:4rem;position:relative}.cta-section:before{content:"";position:absolute;inset:-2rem -4rem;background:radial-gradient(ellipse 60% 50% at 50% 40%,rgba(59,130,246,.08) 0%,transparent 70%);pointer-events:none;z-index:-1}.cta-contact-box{display:flex;flex-direction:column;gap:1.25rem}.cta-contact-item{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-card);transition:border-color .2s}.cta-contact-item:hover{border-color:var(--color-border-hover)}.cta-contact-icon{font-size:1.25rem;flex-shrink:0}.cta-contact-label{font-size:.75rem;font-weight:500;color:var(--color-text-tertiary);margin-bottom:.125rem}.cta-contact-value{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.cta-contact-value a{color:inherit;transition:color .2s}.cta-contact-value a:hover{color:var(--color-blue)}.error-page{min-height:calc(100vh - 8rem);display:flex;align-items:center;justify-content:center;padding:8rem 0 4rem}.error-page-inner{text-align:center;max-width:36rem}.error-page-code{font-size:clamp(5rem,12vw,7rem);font-weight:900;line-height:1;letter-spacing:-.04em;background:linear-gradient(135deg,var(--color-blue) 0%,var(--color-violet) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:1.25rem}.error-page-title{font-size:clamp(1.5rem,4vw,2rem);font-weight:900;line-height:1.4;letter-spacing:-.01em;color:var(--color-text-primary);margin-bottom:1rem}.error-page-sub{font-size:1rem;line-height:1.75;color:var(--color-text-secondary);margin-bottom:2rem}.error-page-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.error-page-button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:9999px;font-weight:700;font-size:.9375rem;border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-card);transition:background .2s ease,color .2s ease,border-color .2s ease}.error-page-button:hover{background:var(--color-card-hover);color:var(--color-text-primary);border-color:#8b5cf673}.error-page-button-primary{background:var(--color-blue);border-color:var(--color-blue);color:#fff}.error-page-button-primary:hover{background:var(--color-blue);filter:brightness(1.08);color:#fff;border-color:var(--color-blue)}.contact-form{display:flex;flex-direction:column;gap:1.25rem;max-width:640px;margin:2.5rem auto 0;padding:2rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:1.25rem;text-align:left}.contact-row-2col{display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:640px){.contact-row-2col{grid-template-columns:1fr 1fr}}.contact-field{display:flex;flex-direction:column;gap:.5rem}.contact-required{color:var(--color-blue);margin-left:.125rem}.contact-label{font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.contact-input{width:100%;padding:.75rem 1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;color:var(--color-text-primary);font-family:inherit;font-size:1rem;transition:border-color .2s,background .2s}.contact-input:focus{outline:none;border-color:#3b82f680;background:#ffffff0d}.contact-input::placeholder{color:#ffffff4d}input::-webkit-contacts-auto-fill-button,input::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}.contact-error{font-size:.8125rem;color:#f87171;margin:0}.contact-error-global{margin-top:.5rem;padding:.625rem .875rem;border-radius:.5rem;background:#f8717114;border:1px solid rgba(248,113,113,.25);text-align:center;white-space:pre-line;line-height:1.5}.contact-success{margin-top:.5rem;padding:.625rem .875rem;border-radius:.5rem;background:#22c55e14;border:1px solid rgba(34,197,94,.25);color:#4ade80;font-size:.8125rem;text-align:center}.contact-agree-group{display:flex;flex-direction:column;gap:.625rem;margin-top:.25rem}.contact-checkbox{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.contact-checkbox label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.contact-checkbox input{accent-color:var(--color-blue);flex-shrink:0}.contact-badge{font-size:.75rem;font-weight:700;color:var(--color-text-tertiary)}.contact-badge-required{color:var(--color-blue)}.contact-badge-optional{color:var(--color-text-tertiary)}.contact-view-link{font-size:.8125rem;color:var(--color-text-tertiary);transition:color .2s;background:none;border:none;cursor:pointer;padding:0}.contact-view-link:hover{color:var(--color-text-primary)}.contact-submit{margin-top:.5rem;width:100%;max-width:280px;align-self:center}.contact-footnote{text-align:center;font-size:.8125rem;color:var(--color-text-tertiary);margin:0}.cta-dialog{margin:auto;padding:0;border:1px solid var(--color-border);border-radius:1rem;background:#0a0a0c;color:var(--color-text-primary);width:min(560px,calc(100vw - 2rem));max-height:calc(100vh - 4rem);overflow:hidden}.cta-dialog::backdrop{background:#0009}.cta-dialog-form{display:flex;flex-direction:column;gap:1.25rem;padding:1.75rem}.cta-dialog-title{font-size:1.125rem;font-weight:700;letter-spacing:-.01em;margin:0}.cta-dialog-badge{font-size:.875rem;font-weight:700;margin-left:.25rem}.cta-dialog-badge-required{color:var(--color-blue)}.cta-dialog-badge-optional{color:var(--color-violet)}.cta-dialog-body{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background:#ffffff08;border:1px solid var(--color-border);border-radius:.75rem;font-size:.875rem;line-height:1.6;color:var(--color-text-secondary);max-height:50vh;overflow-y:auto}.cta-dialog-body p{margin:0}.cta-dialog-confirm{display:block;width:100%;padding:.875rem 1rem;background:var(--color-blue);color:#fff;font-weight:700;font-size:1rem;border:none;border-radius:.75rem;cursor:pointer;transition:background .2s}.cta-dialog-confirm:hover{background:var(--color-blue-hover)}.cta-dialog-confirm-violet{background:var(--color-violet)}.cta-dialog-confirm-violet:hover{background:#a78bfa}.page-header{padding-top:9rem;padding-bottom:3.5rem;text-align:center}.page-header-inner{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.page-header-badge{display:inline-flex;align-items:center;padding:.5rem 1.25rem;border-radius:9999px;background:#3b82f61f;border:1px solid rgba(59,130,246,.25);color:var(--color-blue);font-size:.8125rem;font-weight:700;letter-spacing:.05em}.page-header-title{font-size:clamp(2.25rem,6vw,4.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--color-text-primary)}.page-header-subtext{font-size:1rem;line-height:1.7;color:var(--color-text-secondary);max-width:40rem;margin:0}@media(min-width:768px){.page-header{padding-top:14rem;padding-bottom:5rem}}.faq-list-section{padding-bottom:5rem}.faq-list-inner{max-width:48rem}.faq-accordion-root{display:flex;flex-direction:column;gap:5.125rem}.faq-category-group{display:flex;flex-direction:column;gap:1.25rem}.faq-category-header{display:flex;flex-direction:column;gap:.375rem}.faq-category-label{font-size:.6875rem;font-weight:700;letter-spacing:.18em;color:var(--color-blue);text-transform:uppercase;line-height:1}.faq-category-title{font-size:1.375rem;font-weight:700;letter-spacing:-.025em;line-height:1.2;color:var(--color-text-primary);margin:0}@media(min-width:640px){.faq-category-label{font-size:.75rem}.faq-category-title{font-size:1.625rem}}@media(min-width:1024px){.faq-category-title{font-size:1.875rem}}.faq-accordion{display:flex;flex-direction:column;gap:.75rem}.faq-item{border:1px solid var(--color-border);border-radius:.875rem;background:#ffffff08;overflow:hidden;transition:border-color .2s ease,background .2s ease}.faq-item:hover{border-color:var(--color-border-hover)}.faq-item.is-open{border-color:#3b82f68c;background:#3b82f60f}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1.125rem 1.5rem;background:transparent;border:0;color:var(--color-text-primary);font-size:1rem;font-weight:600;text-align:left;cursor:pointer;transition:color .2s ease}.faq-item.is-open .faq-question{color:var(--color-blue)}.faq-question-text{flex:1;line-height:1.5}.faq-chevron{flex-shrink:0;color:var(--color-text-tertiary);transition:transform .25s ease,color .2s ease}.faq-item.is-open .faq-chevron{transform:rotate(180deg);color:var(--color-blue)}.faq-answer{padding:0 1.5rem 1.25rem;font-size:.9375rem;line-height:1.75;color:var(--color-text-secondary);white-space:pre-line}@media(min-width:640px){.faq-question{font-size:1.0625rem;padding:1.25rem 1.75rem}.faq-answer{padding:0 1.75rem 1.5rem;font-size:1rem}}.faq-cta-section{padding-bottom:var(--section-gap)}.faq-cta-card{padding:3rem 2rem;border-radius:1.75rem;border:1px solid var(--color-border);background:#ffffff05;display:flex;flex-direction:column;gap:1.25rem;align-items:flex-start}.faq-cta-label{font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:var(--color-blue)}.faq-cta-title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--color-text-primary);margin:0}.faq-cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:var(--color-blue);color:#fff;font-weight:700;font-size:.9375rem;border-radius:9999px;transition:background .2s ease}.faq-cta-button:hover{background:var(--color-blue-hover)}@media(min-width:768px){.faq-cta-card{padding:3.5rem 3rem}}.legal-page{padding-top:8rem;padding-bottom:5rem}.legal-inner{max-width:52rem}.legal-tabs{display:flex;gap:2rem;border-bottom:1px solid var(--color-border);margin-bottom:2.5rem}.legal-tab{display:inline-block;padding-bottom:.75rem;font-size:.9375rem;font-weight:600;color:var(--color-text-secondary);transition:color .2s ease;position:relative}.legal-tab:hover,.legal-tab.is-active{color:var(--color-text-primary)}.legal-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--color-blue)}.legal-h1{font-size:1.875rem;font-weight:900;letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:2rem}.legal-intro{font-size:1rem;line-height:1.8;color:var(--color-text-secondary);margin-bottom:2.5rem}.legal-section{margin-bottom:2.5rem}.legal-h2{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin-bottom:1rem}.legal-paragraph{font-size:.9375rem;line-height:1.8;color:var(--color-text-secondary);margin-bottom:.875rem}.legal-paragraph:last-child{margin-bottom:0}.legal-list{list-style:disc;padding-left:1.25rem;display:flex;flex-direction:column;gap:.5rem;font-size:.9375rem;line-height:1.75;color:var(--color-text-secondary)}.legal-list li::marker{color:var(--color-text-tertiary)}.legal-table-scroll{margin-top:.5rem;margin-bottom:.5rem;overflow-x:auto;border:1px solid var(--color-border);border-radius:.75rem;background:#ffffff05}.legal-table{width:100%;min-width:32rem;border-collapse:collapse;font-size:.9375rem}.legal-table thead{background:#ffffff08}.legal-table th{padding:.875rem 1rem;text-align:left;font-weight:700;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);white-space:nowrap}.legal-table td{padding:.875rem 1rem;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);line-height:1.6}.legal-table tr:last-child td{border-bottom:0}.legal-meta{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-tertiary);display:flex;flex-direction:column;gap:.25rem}@media(min-width:768px){.legal-page{padding-top:9rem}.legal-h1{font-size:2.25rem}.legal-h2{font-size:1.25rem}}.contact-page-header{padding-bottom:1.5rem}.contact-form-section{padding-bottom:6rem}.contact-form-inner{max-width:44rem}.service-phases-section{padding-bottom:var(--section-gap)}.service-phases-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.service-phase-card{position:relative;background:var(--color-card);border:1px solid var(--color-border);border-radius:1.25rem;padding:2rem;transition:background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease;overflow:hidden;isolation:isolate}.service-phase-card:hover{background:var(--color-card-hover);border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:0 20px 40px -20px #3b82f62e}@media(prefers-reduced-motion:reduce){.service-phase-card:hover{transform:none}}.service-phase-emoji{width:3rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.75rem;font-size:1.5rem;margin-bottom:1.5rem}.service-phase-blue .service-phase-emoji{background:#3b82f61f;border:1px solid rgba(59,130,246,.25)}.service-phase-violet .service-phase-emoji{background:#8b5cf61f;border:1px solid rgba(139,92,246,.28)}.service-phase-label{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-blue);margin-bottom:.625rem}.service-phase-violet .service-phase-label{color:var(--color-violet)}.service-phase-title{font-size:1.25rem;font-weight:800;color:var(--color-text-primary);margin-bottom:.875rem}.service-phase-desc{font-size:.9375rem;line-height:1.75;color:var(--color-text-secondary);margin-bottom:1.25rem}.service-phase-bullets{display:flex;flex-direction:column;gap:.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-secondary)}.service-phase-bullets li{position:relative;padding-left:.875rem;line-height:1.6}.service-phase-bullets li:before{content:"–";position:absolute;left:0;color:var(--color-text-tertiary)}@media(min-width:768px){.service-phases-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem}}.track-record-section{padding-bottom:var(--section-gap)}.track-record-section .section-heading{margin-bottom:1rem}.track-record-section .section-subtext{margin-bottom:3rem}.track-record-marquee-viewport{overflow:hidden;mask-image:linear-gradient(to right,transparent 0,black 60px,black calc(100% - 60px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,black 60px,black calc(100% - 60px),transparent 100%)}.track-record-marquee-track{display:flex;gap:1.25rem;padding:.5rem 1rem;width:max-content;animation:track-record-scroll 60s linear infinite;will-change:transform}.track-record-marquee-viewport:hover .track-record-marquee-track{animation-play-state:paused}@keyframes track-record-scroll{0%{transform:translateZ(0)}to{transform:translate3d(calc(-50% - .625rem),0,0)}}@media(prefers-reduced-motion:reduce){.track-record-marquee-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%}}.track-record-card{flex-shrink:0;width:17.5rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:1rem;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:background .25s ease,border-color .25s ease}.track-record-card:hover{background:var(--color-card-hover);border-color:var(--color-border-hover)}.track-record-logo{display:flex;align-items:center;height:2.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.track-record-logo img{height:1.75rem;width:auto;display:block;opacity:.55;filter:grayscale(1);transition:opacity .25s ease,filter .25s ease}.track-record-card:hover .track-record-logo img{opacity:1;filter:grayscale(0)}.track-record-tag{display:inline-flex;align-items:center;padding:.25rem .625rem;align-self:flex-start;background:#3b82f61a;border:1px solid rgba(59,130,246,.22);color:var(--color-blue);font-size:.75rem;font-weight:700;border-radius:9999px}.track-record-title{font-size:1rem;font-weight:700;color:var(--color-text-primary);line-height:1.4}.track-record-desc{font-size:.875rem;line-height:1.65;color:var(--color-text-secondary)}.service-why-section{padding-bottom:var(--section-gap)}.service-why-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.service-why-card{position:relative;background:var(--color-card);border:1px solid var(--color-border);border-radius:1.25rem;padding:2rem;transition:background .25s ease,border-color .25s ease,transform .25s ease;overflow:hidden;isolation:isolate}.service-why-card:hover{background:var(--color-card-hover);border-color:var(--color-border-hover);transform:translateY(-4px)}@media(prefers-reduced-motion:reduce){.service-why-card:hover{transform:none}}.service-why-emoji{width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.625rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.22);font-size:1.375rem;margin-bottom:1.25rem}.service-why-title{font-size:1.0625rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.75rem}.service-why-desc{font-size:.9375rem;line-height:1.7;color:var(--color-text-secondary)}@media(min-width:768px){.service-why-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem}}.portfolio-list-section{padding-bottom:6rem}.portfolio-list-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.portfolio-card{display:flex;flex-direction:column;background:var(--color-card);border:1px solid var(--color-border);border-radius:1.25rem;overflow:hidden;color:inherit;transition:background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}.portfolio-card:hover{background:var(--color-card-hover);transform:translateY(-4px)}.portfolio-list-grid .portfolio-card:nth-child(odd):hover{border-color:#8b5cf673}.portfolio-list-grid .portfolio-card:nth-child(2n):hover{border-color:#3b82f673}@media(prefers-reduced-motion:reduce){.portfolio-card:hover{transform:none}}.portfolio-card-thumb{aspect-ratio:16 / 10;background:#ffffff08;overflow:hidden}.portfolio-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.portfolio-card:hover .portfolio-card-thumb img{transform:scale(1.03)}.portfolio-card-body{display:flex;flex-direction:column;gap:.875rem;padding:1.75rem;flex:1}.portfolio-card-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.8125rem}.portfolio-card-category{display:inline-flex;padding:.25rem .625rem;border-radius:9999px;background:#3b82f61f;border:1px solid rgba(59,130,246,.25);color:var(--color-blue);font-weight:700}.portfolio-card-period{font-size:1rem;font-weight:700;line-height:1.5;color:#fff3}.portfolio-card-title{font-size:1.375rem;font-weight:800;color:var(--color-text-primary);letter-spacing:-.01em}.portfolio-card-desc{font-size:.9375rem;line-height:1.7;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.portfolio-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--color-border)}.portfolio-card-kr{display:flex;flex-direction:column;gap:.25rem}.portfolio-card-kr-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-tertiary)}.portfolio-card-kr-value{font-size:1.75rem;font-weight:900;line-height:1;letter-spacing:-.02em;background:linear-gradient(90deg,var(--color-blue) 0%,var(--color-violet) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.portfolio-card-kr-sub{font-size:.8125rem;color:var(--color-text-secondary)}.portfolio-card-more{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:700;color:var(--color-text-secondary);transition:color .2s ease}.portfolio-list-grid .portfolio-card:nth-child(odd):hover .portfolio-card-title,.portfolio-list-grid .portfolio-card:nth-child(odd):hover .portfolio-card-more{color:var(--color-violet)}.portfolio-list-grid .portfolio-card:nth-child(2n):hover .portfolio-card-title,.portfolio-list-grid .portfolio-card:nth-child(2n):hover .portfolio-card-more{color:var(--color-blue)}.portfolio-card-title{transition:color .2s ease}@media(min-width:768px){.portfolio-list-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}.portfolio-detail{padding-top:10rem;padding-bottom:6rem}.portfolio-detail-inner{max-width:68rem}.portfolio-detail-back{margin-bottom:2rem}.portfolio-back-link{font-size:.9375rem;color:var(--color-text-secondary);transition:color .2s ease}.portfolio-back-link:hover{color:var(--color-text-primary)}.portfolio-detail-header{margin-bottom:2.5rem}.portfolio-detail-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.portfolio-detail-tag{display:inline-flex;padding:.375rem .875rem;border-radius:9999px;background:#8b5cf61f;border:1px solid rgba(139,92,246,.28);color:var(--color-violet);font-size:.8125rem;font-weight:700}.portfolio-detail-blue .portfolio-detail-tag{background:#3b82f61f;border-color:#3b82f640;color:var(--color-blue)}.portfolio-detail-title{font-size:clamp(2rem,5vw,3.25rem);font-weight:900;letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:.75rem}.portfolio-detail-subtitle{font-size:1rem;line-height:1.7;color:var(--color-text-secondary)}.portfolio-detail-hero{margin-bottom:3rem}.portfolio-detail-hero-frame{max-width:68rem;margin:0 auto;border:1px solid var(--color-border);border-radius:1.25rem;overflow:hidden;background:#ffffff05}.portfolio-detail-hero-frame img{width:100%;height:auto;display:block}.portfolio-detail-meta{margin-bottom:4rem}.portfolio-meta-grid{display:grid;grid-template-columns:1fr;gap:1rem}.portfolio-meta-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:1rem;padding:1.5rem 1.25rem;text-align:center;display:flex;flex-direction:column;gap:.375rem}.portfolio-meta-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-tertiary)}.portfolio-meta-value{font-size:1.5rem;font-weight:800;color:var(--color-text-primary);letter-spacing:-.01em}.portfolio-meta-value-accent{background:linear-gradient(90deg,var(--color-blue) 0%,var(--color-violet) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.portfolio-meta-sub{font-size:.8125rem;color:var(--color-text-secondary)}@media(min-width:768px){.portfolio-meta-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}.portfolio-meta-value{font-size:1.875rem}}.portfolio-detail-body{margin-bottom:4rem}.portfolio-section-row{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:2.5rem 0;border-top:1px solid var(--color-border)}.portfolio-section-row:first-child{border-top:0;padding-top:0}.portfolio-section-head{display:flex;flex-direction:column;gap:.375rem}.portfolio-section-eng{font-size:1.25rem;font-weight:900;letter-spacing:-.01em;color:var(--color-text-primary);line-height:1.4}.portfolio-section-title{font-size:1rem;font-weight:800;color:var(--color-text-primary);line-height:1.5}.portfolio-section-body{display:flex;flex-direction:column;gap:1rem}.portfolio-body-paragraph{font-size:.9375rem;line-height:1.8;color:var(--color-text-secondary)}.portfolio-features-list{display:flex;flex-direction:column;gap:.75rem}.portfolio-features-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.9375rem;color:var(--color-text-secondary);line-height:1.6}.portfolio-features-check{flex-shrink:0;color:var(--color-violet);font-weight:900}.portfolio-detail-blue .portfolio-features-check{color:var(--color-blue)}@media(min-width:900px){.portfolio-section-row{grid-template-columns:1fr 2fr;gap:3rem}}.portfolio-detail-gallery{margin-bottom:4rem}.portfolio-gallery-grid{display:grid;grid-template-columns:1fr;gap:1rem}.portfolio-gallery-item{border:1px solid var(--color-border);border-radius:.875rem;overflow:hidden;background:#ffffff05}.portfolio-gallery-item img{width:100%;height:auto;display:block}@media(min-width:640px){.portfolio-gallery-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}.portfolio-neighbors-section{padding-top:3rem}.portfolio-neighbors-heading{font-size:1.5rem;font-weight:800;letter-spacing:-.01em;color:var(--color-text-primary);margin-bottom:1.5rem}.portfolio-neighbors-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}.portfolio-neighbor-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:1.125rem;padding:1.75rem;display:flex;flex-direction:column;gap:.875rem;color:inherit;transition:background .25s ease,border-color .25s ease,transform .25s ease}.portfolio-neighbor-card:hover{background:var(--color-card-hover);transform:translateY(-3px)}.portfolio-neighbors-grid .portfolio-neighbor-card:nth-child(odd):hover{border-color:#8b5cf673}.portfolio-neighbors-grid .portfolio-neighbor-card:nth-child(2n):hover{border-color:#3b82f673}@media(prefers-reduced-motion:reduce){.portfolio-neighbor-card:hover{transform:none}}.portfolio-neighbor-tags{display:flex;flex-wrap:wrap;gap:.375rem}.portfolio-neighbor-tag{font-size:.75rem;font-weight:700;padding:.25rem .625rem;border-radius:9999px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.22);color:var(--color-violet)}.portfolio-neighbors-grid .portfolio-neighbor-card:nth-child(2n) .portfolio-neighbor-tag{background:#3b82f61a;border-color:#3b82f638;color:var(--color-blue)}.portfolio-neighbor-title{font-size:1.25rem;font-weight:800;color:var(--color-text-primary);transition:color .2s ease}.portfolio-neighbors-grid .portfolio-neighbor-card:nth-child(odd):hover .portfolio-neighbor-title,.portfolio-neighbors-grid .portfolio-neighbor-card:nth-child(odd):hover .portfolio-neighbor-more{color:var(--color-violet)}.portfolio-neighbors-grid .portfolio-neighbor-card:nth-child(2n):hover .portfolio-neighbor-title,.portfolio-neighbors-grid .portfolio-neighbor-card:nth-child(2n):hover .portfolio-neighbor-more{color:var(--color-blue)}.portfolio-neighbor-desc{font-size:.9375rem;line-height:1.65;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portfolio-neighbor-more{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:700;color:var(--color-text-secondary);margin-top:.25rem;transition:color .2s ease}@media(min-width:768px){.portfolio-neighbors-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}.blog-list-section{padding-top:1rem;padding-bottom:4rem}.blog-list-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.blog-list-grid{grid-template-columns:repeat(2,1fr);gap:1.75rem}}@media(min-width:1024px){.blog-list-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}.blog-card{display:flex;flex-direction:column;background:var(--color-card);border:1px solid var(--color-border);border-radius:1.25rem;overflow:hidden;color:inherit;transition:background .25s ease,border-color .25s ease,transform .25s ease}.blog-card:hover{background:var(--color-card-hover);transform:translateY(-4px)}.blog-list-grid .blog-card:nth-child(odd):hover{border-color:#8b5cf673}.blog-list-grid .blog-card:nth-child(2n):hover{border-color:#3b82f673}@media(prefers-reduced-motion:reduce){.blog-card:hover{transform:none}}.blog-card-thumb{position:relative;aspect-ratio:1.91 / 1;background:linear-gradient(135deg,#8b5cf659,#0006);display:flex;align-items:center;justify-content:center;overflow:hidden}.blog-list-grid .blog-card:nth-child(2n) .blog-card-thumb{background:linear-gradient(135deg,#3b82f659,#0006)}.blog-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.blog-card-thumb-label{font-size:.875rem;font-weight:700;letter-spacing:.02em;color:#ffffff8c}.blog-card-body{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;flex:1}.blog-card-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--color-text-secondary)}.blog-card-category{color:var(--color-violet)}.blog-list-grid .blog-card:nth-child(2n) .blog-card-category{color:var(--color-blue)}.blog-card-date{color:#ffffff59;font-weight:500}.blog-card-title{font-size:1.125rem;font-weight:800;line-height:1.45;color:var(--color-text-primary);transition:color .2s ease;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-list-grid .blog-card:nth-child(odd):hover .blog-card-title,.blog-list-grid .blog-card:nth-child(odd):hover .blog-card-more{color:var(--color-violet)}.blog-list-grid .blog-card:nth-child(2n):hover .blog-card-title,.blog-list-grid .blog-card:nth-child(2n):hover .blog-card-more{color:var(--color-blue)}.blog-card-desc{font-size:.9375rem;line-height:1.65;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.blog-card-more{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:700;color:var(--color-text-secondary);margin-top:.25rem;transition:color .2s ease}.blog-pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:3rem}.blog-pagination-arrow,.blog-pagination-page{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:9999px;font-size:.9375rem;font-weight:700;color:var(--color-text-secondary);background:var(--color-card);border:1px solid var(--color-border);transition:background .2s ease,color .2s ease,border-color .2s ease}.blog-pagination-arrow:hover,.blog-pagination-page:hover{background:var(--color-card-hover);color:var(--color-text-primary);border-color:#8b5cf673}.blog-pagination-arrow.is-disabled{opacity:.3;pointer-events:none}.blog-pagination-page.is-current{background:var(--color-blue);color:#fff;border-color:var(--color-blue)}.blog-pagination-page.is-current:hover{background:var(--color-blue);color:#fff;filter:brightness(1.08)}.blog-empty{padding:6rem 1rem;text-align:center}.blog-empty-title{font-size:1.125rem;font-weight:700;color:var(--color-text-secondary);margin-bottom:.5rem}.blog-empty-sub{font-size:.9375rem;color:#fff6}.blog-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:transparent;pointer-events:none}.blog-progress-bar{height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--color-blue) 0%,var(--color-violet) 100%);will-change:transform}html[data-header=light] .blog-progress-bar{box-shadow:0 1px 4px #00000014}.blog-detail{--blog-accent: #1d4ed8;--blog-accent-deep: #1e40af;--blog-accent-soft: rgba(29, 78, 216, .1);--blog-light-bg: #ffffff;--blog-light-text: #1a1a1a;--blog-light-text-sub: #555555;--blog-light-text-light: #888888;--blog-light-border: #e5e5e5;--blog-light-card: #f8f9fa;--blog-light-hl: #eff6ff}.blog-detail-blue{--blog-accent: var(--color-blue);--blog-accent-soft: rgba(59, 130, 246, .12)}.blog-dark-header{padding:10rem 0 2.5rem}.blog-detail-container{max-width:48rem;margin:0 auto}.blog-back-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:2rem;transition:color .2s ease}.blog-back-link:hover{color:var(--color-text-primary)}.blog-detail-head{display:flex;flex-direction:column;gap:1.25rem}.blog-series-nav{display:flex;flex-direction:column;gap:.625rem}.blog-series-nav-label{font-size:.8125rem;color:#fff9;letter-spacing:.02em}.blog-series-nav-items{display:flex;gap:.5rem;flex-wrap:wrap}.blog-series-nav-item{padding:.375rem .875rem;font-size:.8125rem;font-weight:500;border-radius:9999px;background:#ffffff0f;color:#ffffffbf;border:1px solid rgba(255,255,255,.12);text-decoration:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}a.blog-series-nav-item:hover{background:#ffffff24;color:#fff;border-color:#ffffff42}.blog-series-nav-item.is-active{background:var(--blog-accent);color:#fff;border-color:var(--blog-accent);cursor:default}.blog-series-nav-item.is-pending{color:#ffffff59;border-style:dashed;border-color:#ffffff29;cursor:not-allowed}.blog-detail-category-badge{align-self:flex-start;padding:.25rem .875rem;border-radius:9999px;background:var(--blog-accent-soft);color:var(--blog-accent);font-size:.8125rem;font-weight:700;letter-spacing:.01em}.blog-detail-title{font-size:clamp(1.875rem,4.5vw,2.75rem);font-weight:900;line-height:1.35;letter-spacing:-.025em;color:#fff;word-break:keep-all}.blog-detail-subtitle{font-size:1.0625rem;line-height:1.7;color:var(--color-text-secondary);word-break:keep-all}.blog-detail-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.08);font-size:.875rem;color:#ffffff8c}.blog-detail-author{display:inline-flex;align-items:center;gap:.5rem;font-weight:500}.blog-detail-author-icon{flex-shrink:0;color:#fff6}.blog-detail-date{font-variant-numeric:tabular-nums;color:#fff6}.blog-featured{max-width:63.5rem;margin:2.5rem auto -2rem;padding:0 1.5rem;position:relative;z-index:2}.blog-featured-frame{border-radius:1rem;overflow:hidden;box-shadow:0 20px 60px #00000059;background:var(--color-card)}.blog-featured-frame img{display:block;width:100%;height:auto;aspect-ratio:1.91 / 1;object-fit:cover}.blog-featured-placeholder{aspect-ratio:1.91 / 1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blog-accent-soft) 0%,rgba(10,10,12,.6) 100%)}.blog-featured-label{font-size:1.125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff73}.blog-light{position:relative;z-index:0;background:var(--blog-light-bg);color:var(--blog-light-text);padding:8rem 1.5rem 5rem}.blog-light-body{max-width:42.5rem;margin:0 auto}@media(min-width:1024px){.blog-light-body{max-width:none;display:grid;grid-template-columns:minmax(0,42.5rem) 15rem;column-gap:3rem;justify-content:center;align-items:start}.blog-light-body>.blog-light-content,.blog-light-body>.blog-share{grid-column:1;min-width:0}.blog-light-body>.blog-toc-mobile{display:none}.blog-light-body>.blog-toc{grid-column:2;grid-row:1 / span 10}}.blog-light-content{font-size:1.0625rem;line-height:1.85;color:#3f3f46;word-break:keep-all}.blog-light-content>*+*{margin-top:1.5rem}.blog-light-content h2{margin-top:4.5rem;padding-top:1.25rem;font-size:1.5rem;font-weight:800;line-height:1.4;color:#111827;word-break:keep-all}.blog-light-content h3{margin-top:2.5rem;padding-top:.5rem;font-size:1.1875rem;font-weight:700;line-height:1.45;color:#1f2937}.blog-light-content p{font-size:1.0625rem;line-height:1.85;color:#3f3f46}.blog-light-content strong{color:#111827;font-weight:700}.blog-light-content a{color:var(--blog-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:opacity .15s ease}.blog-light-content a:hover{opacity:.75}.blog-light-content hr{border:0;height:1px;background:#e5e7eb;margin:4rem 0}.blog-light-content ul,.blog-light-content ol{padding-left:1.5rem;margin:1rem 0}.blog-light-content ul li,.blog-light-content ol li{margin:.625rem 0;line-height:1.75;color:#3f3f46}.blog-light-content .blog-checklist{list-style:none;padding-left:0;margin:1.25rem 0}.blog-light-content .blog-checklist li{position:relative;padding-left:1.875rem;margin:.625rem 0;line-height:1.7}.blog-light-content .blog-checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--blog-accent);font-weight:900}.blog-light-content .blog-num-card{position:relative;padding:1.75rem 2rem;background:var(--blog-light-card);border:1px solid var(--blog-light-border);border-radius:1rem;margin:2.25rem 0;overflow:hidden}.blog-light-content .blog-num-card:before{content:attr(data-num);position:absolute;top:-.5rem;right:1rem;font-size:5rem;font-weight:900;line-height:1;letter-spacing:-.04em;color:#eef0f2;pointer-events:none;user-select:none}.blog-light-content .blog-num-label{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blog-light-text-light);margin-bottom:.5rem}.blog-light-content .blog-num-card h3{margin-top:0!important;padding-top:0;font-size:1.125rem;line-height:1.5;color:#111827}.blog-light-content .blog-num-card p{margin-top:.5rem!important;color:#4b5563}.blog-light-content .blog-highlight{background:var(--blog-light-hl);border-left:4px solid var(--blog-accent);padding:1.25rem 1.5rem;border-radius:0 .5rem .5rem 0;margin:2rem 0}.blog-light-content .blog-highlight-title{font-weight:800;color:#111827;margin-bottom:.5rem}.blog-light-content .blog-highlight>div{color:#1e3a5f;line-height:1.8;font-weight:500}.blog-light-content .blog-img-placeholder{display:flex;align-items:center;gap:.875rem;padding:1.5rem 1.75rem;background:#f9fafb;border:1px dashed #d1d5db;border-radius:.75rem;color:#6b7280;font-size:.9375rem;line-height:1.6;margin:2rem 0}.blog-light-content .blog-img-icon{font-size:1.625rem;line-height:1}.blog-light-content .blog-quote{padding:1.5rem 1.75rem;border-left:4px solid var(--blog-accent);background:var(--blog-light-hl);border-radius:0 .75rem .75rem 0;margin:2rem 0;font-style:italic}.blog-light-content .blog-quote p{color:#1e3a5f;font-weight:500;font-style:italic;line-height:1.8}.blog-light-content .blog-quote cite{display:block;margin-top:.75rem;font-size:.875rem;color:var(--blog-light-text-sub);font-style:normal}.blog-post-author{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.blog-post-author-avatar{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.8125rem;font-weight:800;letter-spacing:.04em;flex-shrink:0;box-shadow:0 1px 2px #0000000f}.blog-post-author-avatar.is-if{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.blog-post-author-avatar.is-loop{background:linear-gradient(135deg,#f97316,#c2410c)}.blog-post-author-avatar.is-flux{background:linear-gradient(135deg,#14b8a6,#0f766e)}.blog-post-author-avatar.is-echo{background:linear-gradient(135deg,#a855f7,#7e22ce)}.blog-post-author-avatar.is-jay{background:linear-gradient(135deg,#ec4899,#be185d)}.blog-post-author-meta{display:flex;flex-direction:column;gap:.125rem;line-height:1.35}.blog-post-author-name{font-size:.9375rem;font-weight:700;color:#1f2937}.blog-post-author-name small{font-size:.75rem;color:#6b7280;font-weight:500;margin-left:.375rem}.blog-post-author-date{font-size:.8125rem;color:var(--blog-light-text-light)}.blog-dark-header .blog-post-author-name{color:#fff}.blog-dark-header .blog-post-author-name small{color:#ffffffb3}.blog-dark-header .blog-post-author-date{color:#fff9}@media(max-width:600px){.blog-post-author-avatar{width:38px;height:38px;font-size:.75rem}.blog-post-author-name{font-size:.875rem}.blog-post-author-name small{display:block;margin-left:0;margin-top:.125rem}}.blog-light-content .blog-stat{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.5rem;padding:1.75rem 2rem;background:linear-gradient(135deg,#fafbff,#eff6ff);border:1px solid #e0e7ff;border-radius:1rem;margin:2rem 0}.blog-light-content .blog-stat-num{font-size:3rem;font-weight:900;line-height:.95;color:var(--blog-accent);letter-spacing:-.03em}.blog-light-content .blog-stat-label{font-size:.9375rem;color:#1f2937;line-height:1.55;font-weight:500}.blog-light-content .blog-stat-label small{display:block;margin-top:.25rem;font-size:.8125rem;color:#6b7280;font-weight:400}@media(max-width:600px){.blog-light-content .blog-stat{grid-template-columns:1fr;gap:.5rem;padding:1.25rem 1.5rem}.blog-light-content .blog-stat-num{font-size:2.25rem}}.blog-light-content .blog-cta{padding:1.75rem 2rem;background:linear-gradient(135deg,#1d4ed80f,#1d4ed824);border:1px solid rgba(29,78,216,.2);border-radius:1rem;margin:3rem 0 2rem}.blog-light-content .blog-cta-title{font-size:1.125rem;font-weight:800;color:#111827;margin-bottom:.5rem;line-height:1.45}.blog-light-content .blog-cta-desc{font-size:.9375rem;color:#4b5563;line-height:1.7;margin-bottom:1rem}.blog-light-content .blog-cta a{display:inline-block;padding:.625rem 1.25rem;background:var(--blog-accent);color:#fff;font-weight:700;font-size:.9375rem;border-radius:9999px;text-decoration:none}.blog-light-content .blog-cta a:hover{background:var(--blog-accent-deep)}.blog-light-content .blog-related{display:grid;grid-template-columns:1fr 1fr;gap:.875rem;margin:2rem 0}.blog-light-content .blog-related-item{padding:1rem 1.25rem;background:#fafafa;border:1px solid var(--blog-light-border);border-radius:.75rem;text-decoration:none!important;color:inherit!important;display:block;transition:all .15s ease}.blog-light-content .blog-related-item:hover{border-color:var(--blog-accent);background:#fff;transform:translateY(-1px)}.blog-light-content .blog-related-label{font-size:.75rem;font-weight:800;color:var(--blog-accent);letter-spacing:.06em;margin-bottom:.375rem;display:block}.blog-light-content .blog-related-title{font-size:.9375rem;font-weight:700;color:#111827;line-height:1.5}@media(max-width:600px){.blog-light-content .blog-related{grid-template-columns:1fr}}.blog-related{max-width:60.5rem;margin:4rem auto 0;padding:3rem 0 0;border-top:1px solid #e5e7eb}.blog-related-heading{font-size:1.5rem;font-weight:800;letter-spacing:-.01em;color:#111827;margin-bottom:1.5rem}.blog-related-grid{display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;margin:0 -1.5rem;padding-left:1.5rem;padding-right:1.5rem}.blog-related-grid::-webkit-scrollbar{display:none}.blog-related-grid>.blog-related-card{flex:0 0 min(85%,20rem);scroll-snap-align:start}@media(min-width:960px){.blog-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;overflow:visible;scroll-snap-type:none;margin:0;padding:0}.blog-related-grid>.blog-related-card{flex:initial}}.blog-related-card{display:flex;flex-direction:column;background:var(--blog-light-card);border:1px solid #e5e7eb;border-radius:1rem;overflow:hidden;color:inherit;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.blog-related-card:hover{border-color:#8b5cf659;transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.blog-related-thumb{aspect-ratio:1.91 / 1;background:linear-gradient(135deg,#eef2ff,#f5f3ff);display:flex;align-items:center;justify-content:center;overflow:hidden}.blog-related-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.blog-related-card:hover .blog-related-thumb img{transform:scale(1.03)}.blog-related-thumb-label{font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#a78bfa}.blog-related-body{padding:1.125rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.blog-related-category{font-size:.6875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blog-accent)}.blog-related-title{font-size:1rem;font-weight:800;line-height:1.5;color:#111827;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s ease}.blog-related-card:hover .blog-related-title{color:var(--blog-accent)}.blog-related-date{font-size:.8125rem;color:#9ca3af;margin-top:auto;font-variant-numeric:tabular-nums}.blog-light-content table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.9375rem;background:#fff;border:1px solid var(--blog-light-border);border-radius:.75rem;overflow:hidden}.blog-light-content thead th{background:#f3f4f6;padding:.875rem 1rem;text-align:left;font-weight:700;color:#1f2937;border-bottom:2px solid var(--blog-light-border);letter-spacing:-.005em}.blog-light-content tbody td{padding:.875rem 1rem;border-bottom:1px solid #f1f2f4;vertical-align:top;color:#3f3f46;line-height:1.65}.blog-light-content tbody tr:last-child td{border-bottom:0}.blog-light-content tbody tr:hover td{background:#fafbfc}.blog-light-content tbody th{padding:.875rem 1rem;background:#fafbfc;text-align:left;font-weight:700;color:#1f2937;border-bottom:1px solid #f1f2f4;border-right:1px solid #f1f2f4;width:30%}.blog-cta-light{max-width:60.5rem;margin:4rem auto 0;padding:0}.blog-cta-light-card{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 20%,rgba(139,92,246,.18) 0%,transparent 45%),radial-gradient(circle at 15% 90%,rgba(59,130,246,.14) 0%,transparent 50%),linear-gradient(135deg,#f5f3ff,#eef2ff,#eff6ff);border:1px solid #e5e7eb;border-radius:1.25rem;padding:3rem 2rem;text-align:left;display:flex;flex-direction:column;gap:1rem}.blog-cta-light-card:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(139,92,246,.18) 1px,transparent 1.5px);background-size:22px 22px;opacity:.35;pointer-events:none;mask-image:linear-gradient(135deg,rgba(0,0,0,.6) 0%,transparent 60%);-webkit-mask-image:linear-gradient(135deg,rgba(0,0,0,.6) 0%,transparent 60%)}.blog-cta-light-card:after{content:"“";position:absolute;top:-2.5rem;right:1.5rem;font-size:12rem;font-weight:900;line-height:1;color:#8b5cf61a;pointer-events:none;user-select:none;font-family:Georgia,serif}.blog-cta-light-card>*{position:relative;z-index:1}.blog-cta-light-label{display:inline-flex;align-items:center;font-size:.8125rem;font-weight:800;letter-spacing:.04em;color:var(--color-blue)}.blog-cta-light-title{font-size:clamp(1.5rem,3.5vw,2rem);font-weight:900;letter-spacing:-.02em;line-height:1.35;color:#111827;margin:0}.blog-cta-light-button{align-self:flex-start;margin-top:.5rem;display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:9999px;background:var(--color-blue);color:#fff;font-weight:700;font-size:.9375rem;transition:background .2s ease,transform .2s ease}.blog-cta-light-button:hover{background:var(--color-blue-hover, #1d4ed8);transform:translateY(-1px)}html[data-header=light] .site-header .header-pill{background:#fffffff2;border-color:#00000014;box-shadow:0 10px 30px -10px #00000026}html[data-header=light] .site-header .header-logo img{filter:invert(1)}html[data-header=light] .site-header .header-nav a{color:#4b5563}html[data-header=light] .site-header .header-nav a:hover{color:#111827}html[data-header=light] .site-header .header-menu-btn{color:#374151}@media(max-width:640px){.blog-dark-header{padding-top:8rem;padding-bottom:2rem}.blog-featured{margin:2rem auto -5rem;padding:0 1rem}.blog-light{padding:7rem 1.25rem 4rem}.blog-light-content{font-size:1rem}.blog-light-content h2{font-size:1.3125rem}.blog-light-content h3{font-size:1.0625rem}}.blog-detail{--blog-success: #10b981;--blog-success-bg: #ecfdf5;--blog-success-border: #a7f3d0;--blog-warning: #f59e0b;--blog-warning-bg: #fffbeb;--blog-warning-border: #fcd34d;--blog-danger: #ef4444;--blog-danger-bg: #fef2f2;--blog-danger-border: #fecaca;--blog-info: #0ea5e9;--blog-info-bg: #f0f9ff;--blog-info-border: #bae6fd}.blog-light-content h2{position:relative}.blog-light-content h2 .blog-anchor{position:absolute;left:-1.75rem;opacity:0;color:var(--blog-accent);text-decoration:none;transition:opacity .2s ease;font-weight:400;font-size:1.25rem;line-height:inherit}.blog-light-content h2:hover .blog-anchor{opacity:.6}.blog-light-content .blog-callout{border-left:3px solid var(--blog-accent);background:var(--blog-accent-soft);padding:1.25rem 1.5rem;border-radius:0;font-size:1.0625rem;line-height:1.75;margin:2rem 0;color:#1f2937}.blog-light-content .blog-callout-title{font-size:1.0625rem;font-weight:800;color:#111827;margin-bottom:.625rem;line-height:1.4}.blog-light-content .blog-callout>*:not(.blog-callout-title){font-weight:400}.blog-light-content .blog-callout strong{font-weight:700;color:#111827}.blog-light-content .blog-callout-numbered{list-style:none;padding:0;margin:.375rem 0 0;counter-reset:blog-numbered}.blog-light-content .blog-callout-numbered>li{counter-increment:blog-numbered;position:relative;padding-left:1.75rem;margin:.5rem 0;font-weight:400;line-height:1.7}.blog-light-content .blog-callout-numbered>li:before{content:counter(blog-numbered) ")";position:absolute;left:0;font-weight:700;color:var(--blog-accent)}.blog-light-content .blog-callout--success .blog-callout-numbered>li:before{color:var(--blog-success)}.blog-light-content .blog-callout--warning .blog-callout-numbered>li:before{color:var(--blog-warning)}.blog-light-content .blog-callout--danger .blog-callout-numbered>li:before{color:var(--blog-danger)}.blog-light-content .blog-callout--info .blog-callout-numbered>li:before{color:var(--blog-info)}.blog-light-content .blog-callout--info{border-left-color:var(--blog-info);background:var(--blog-info-bg)}.blog-light-content .blog-callout--success{border-left-color:var(--blog-success);background:var(--blog-success-bg)}.blog-light-content .blog-callout--warning{border-left-color:var(--blog-warning);background:var(--blog-warning-bg)}.blog-light-content .blog-callout--danger{border-left-color:var(--blog-danger);background:var(--blog-danger-bg)}.blog-light-content .blog-proscons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2.5rem 0}.blog-light-content .blog-proscons-item{padding:1.25rem 1.5rem;border-radius:0;background:#f8f9fa;border:1px solid #e5e7eb}.blog-light-content .blog-proscons-item--pro{border-left:4px solid var(--blog-success);background:var(--blog-success-bg);border-color:var(--blog-success-border)}.blog-light-content .blog-proscons-item--con{border-left:4px solid var(--blog-danger);background:var(--blog-danger-bg);border-color:var(--blog-danger-border)}.blog-light-content .blog-proscons-item h4{font-size:.875rem;font-weight:800;letter-spacing:.03em;margin-bottom:.75rem;margin-top:0}.blog-light-content .blog-proscons-item--pro h4{color:var(--blog-success)}.blog-light-content .blog-proscons-item--con h4{color:var(--blog-danger)}.blog-light-content .blog-proscons-item ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.375rem}.blog-light-content .blog-proscons-item li{font-size:.9375rem;line-height:1.6;color:#374151;padding-left:1.25rem;position:relative}.blog-light-content .blog-proscons-item--pro li:before{content:"✓";position:absolute;left:0;color:var(--blog-success);font-weight:700;font-size:.8125rem}.blog-light-content .blog-proscons-item--con li:before{content:"✕";position:absolute;left:0;color:var(--blog-danger);font-weight:700;font-size:.8125rem}@media(max-width:600px){.blog-light-content .blog-proscons{grid-template-columns:1fr}}.blog-light-content .blog-keytakeaway{border-left:6px solid var(--blog-accent);padding:1.5rem 2rem;margin:3rem 0;font-size:1.375rem;font-weight:600;color:#111827;line-height:1.5;word-break:keep-all;background:transparent}.blog-light-content .blog-table--comparison thead th{border-bottom:2px solid var(--blog-accent)}.blog-light-content .blog-table--comparison tbody tr:hover td{background:#f9fafb}.blog-light-content td.blog-table-winner{color:#111827;font-weight:700}.blog-light-content td.blog-table-loser{color:#9ca3af}.blog-badge{display:inline-block;padding:.25rem .625rem;font-size:.75rem;font-weight:700;border-radius:9999px;letter-spacing:.02em;line-height:1.4;vertical-align:middle}.blog-badge--primary{background:#8b5cf61a;color:#7c3aed}.blog-badge--success{background:var(--blog-success-bg);color:#065f46}.blog-badge--warning{background:var(--blog-warning-bg);color:#92400e}.blog-toc{position:sticky;top:9rem;max-height:calc(100vh - 11rem);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#e5e7eb transparent;padding:1.25rem 0}.blog-toc::-webkit-scrollbar{width:4px}.blog-toc::-webkit-scrollbar-track{background:transparent}.blog-toc::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px}.blog-toc-title{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af;margin-bottom:.875rem}.blog-toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.125rem}.blog-toc-item a{display:block;font-size:.8125rem;line-height:1.5;color:#6b7280;text-decoration:none;padding:.3125rem .75rem;border-left:2px solid #e5e7eb;word-break:keep-all;transition:color .15s ease,border-color .15s ease}.blog-toc-item a:hover{color:#111827;border-left-color:#d1d5db}.blog-toc-item.is-active a{color:var(--blog-accent, #8b5cf6);border-left-color:var(--blog-accent, #8b5cf6);font-weight:600}.blog-toc-mobile{display:none}.blog-toc-mobile summary{font-size:.9375rem;font-weight:700;color:#374151;cursor:pointer;padding:.875rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.625rem;list-style:none;display:flex;align-items:center;justify-content:space-between}.blog-toc-mobile summary::-webkit-details-marker{display:none}.blog-toc-mobile summary:after{content:"▼";font-size:.625rem;color:#9ca3af;transition:transform .2s ease}.blog-toc-mobile[open] summary:after{transform:rotate(180deg)}.blog-toc-mobile .blog-toc-list{padding:.75rem 0 0;gap:0}.blog-toc-mobile .blog-toc-item a{padding:.4375rem 1rem}@media(max-width:1023px){.blog-toc{display:none}.blog-toc-mobile{display:block;margin-bottom:2.5rem}}@media(min-width:1024px){.blog-toc-mobile{display:none}}.blog-share{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin:3.5rem 0 0;padding-top:2rem;border-top:1px solid var(--blog-light-border)}.blog-share-label{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blog-accent);margin-right:.5rem}.blog-share-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5625rem 1.125rem;border-radius:9999px;font-size:.8125rem;font-weight:600;color:#374151;background:#fff;border:1px solid var(--blog-light-border);cursor:pointer;text-decoration:none;box-shadow:0 1px 2px #0f172a0a;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;white-space:nowrap}.blog-share-btn:hover{background:#fff;border-color:var(--blog-accent);color:var(--blog-accent);transform:translateY(-1px);box-shadow:0 4px 12px #1d4ed81f}.blog-share-btn svg{width:1rem;height:1rem;flex-shrink:0;color:#6b7280;transition:color .15s ease}.blog-share-btn:hover svg{color:var(--blog-accent)}.blog-share-btn--copied,.blog-share-btn--copied:hover{background:var(--blog-success-bg);border-color:var(--blog-success-border);color:#065f46;transform:none;box-shadow:none}.blog-share-btn--copied svg,.blog-share-btn--copied:hover svg{color:#065f46}.blog-back-to-top{position:fixed;bottom:2rem;right:1.5rem;width:2.75rem;height:2.75rem;border-radius:50%;background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 16px #0000001a;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#374151;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .2s ease,box-shadow .2s ease;z-index:40}.blog-back-to-top.is-visible{opacity:1;pointer-events:auto}.blog-back-to-top:hover{box-shadow:0 6px 20px #00000024;transform:translateY(-2px);color:var(--blog-accent, #8b5cf6);border-color:#8b5cf64d}.blog-back-to-top svg{width:1.125rem;height:1.125rem}.blog-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%) translateY(1rem);background:#111827;color:#fff;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;border-radius:9999px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:50;white-space:nowrap}.blog-toast.is-visible{opacity:1;transform:translate(-50%) translateY(0)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-secondary:#8b5cf6}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.resize{resize:both}.text-secondary{color:var(--color-secondary)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}.delay-3{transition-delay:3ms}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}
