*,:after,:before{box-sizing:border-box}:root{--bg:#fff;--surface:#f9fafb;--border:#e5e7eb;--border-strong:#d1d5db;--text:#111827;--text-muted:#6b7280;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#eff6ff;--success:#059669;--danger:#dc2626;--radius:12px;--radius-sm:8px;--maxw:1100px;--shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.06);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji"}body,html{margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{max-width:100%;height:auto;display:block}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-hover);text-decoration:underline}h1,h2,h3,h4{color:var(--text);line-height:1.25;margin:0 0 .5em;font-weight:700}h1{font-size:2.25rem;letter-spacing:-.02em}h2{font-size:1.5rem;margin-top:2rem;letter-spacing:-.01em}h3{font-size:1.125rem;margin-top:1.5rem}p{color:var(--text)}ol,p,ul{margin:0 0 1em}ol,ul{padding-left:1.5em}li{margin-bottom:.25em}button{font-family:inherit;cursor:pointer;border:0;background:none;font-size:1rem;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:hsla(0,0%,100%,.92);backdrop-filter:saturate(180%) blur(8px);-webkit-backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--text);font-size:1.05rem;letter-spacing:-.01em}.brand:hover{text-decoration:none;color:var(--accent)}.brand__logo{width:28px;height:28px;flex:none}.brand__name{white-space:nowrap}.nav{display:flex;align-items:center;gap:1.5rem}.nav__link{color:var(--text-muted);font-size:.95rem;font-weight:500}.nav__link:hover,.nav__link[aria-current=page]{color:var(--text);text-decoration:none}.nav__toggle{display:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text)}.nav__toggle:hover{background:var(--surface)}.nav__bars{display:block;width:22px;height:2px;background:currentColor;position:relative}.nav__bars:after,.nav__bars:before{content:"";position:absolute;left:0;width:22px;height:2px;background:currentColor}.nav__bars:before{top:-7px}.nav__bars:after{top:7px}@media (max-width:720px){.nav__toggle{display:inline-flex}.nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--border);padding:.5rem 1.25rem 1rem}.nav[data-open=true]{display:flex}.nav__link{padding:.75rem 0;border-bottom:1px solid var(--border)}}.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:.5rem 1rem;z-index:100;border-radius:0 0 6px 0}.skip-link:focus{left:0;color:#fff;text-decoration:none}main{min-height:calc(100vh - 64px - 220px);padding:2.5rem 0 4rem}.site-footer{border-top:1px solid var(--border);background:var(--surface);padding:2.5rem 0 2rem;margin-top:3rem}.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-gap:2rem;gap:2rem;margin-bottom:2rem}@media (max-width:720px){.site-footer__grid{grid-template-columns:1fr}}.site-footer h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem;font-weight:600}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:.4rem}.site-footer a{color:var(--text);font-size:.92rem}.site-footer a:hover{color:var(--accent);text-decoration:none}.site-footer__bottom{padding-top:1.5rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.hero{text-align:center;padding:2.5rem 0 2rem;animation:fade-in .4s ease-out}.hero h1{margin-bottom:.75rem}.hero p{font-size:1.1rem;color:var(--text-muted);max-width:640px;margin:0 auto 2rem}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.upload{background:var(--bg);border:2px dashed var(--border-strong);border-radius:var(--radius);padding:2.5rem 1.5rem;text-align:center;transition:border-color .15s ease,background .15s ease;max-width:640px;margin:0 auto;position:relative}.upload[data-dragover=true]{border-color:var(--accent);background:var(--accent-soft)}.upload__icon{width:56px;height:56px;margin:0 auto 1rem;color:var(--accent)}.upload__title{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:var(--text)}.upload__hint{font-size:.92rem;color:var(--text-muted);margin:0 0 1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.5rem;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;transition:background .15s ease,transform .05s ease,box-shadow .15s ease;white-space:nowrap}.btn--primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn--primary:hover{background:var(--accent-hover);color:#fff;text-decoration:none;box-shadow:var(--shadow-md)}.btn--primary:active{transform:translateY(1px)}.btn--primary:disabled{background:var(--border-strong);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.btn--ghost{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn--ghost:hover{background:var(--bg);color:var(--text);text-decoration:none;border-color:var(--border-strong)}.upload__file{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.upload__consent{margin-top:1.25rem;font-size:.82rem;color:var(--text-muted);line-height:1.5}.upload__consent a{color:var(--text-muted);text-decoration:underline}.upload__preview{max-width:280px;margin:0 auto 1.25rem;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.upload__preview img{width:100%;height:auto;display:block}.upload__error{margin-top:1rem;color:var(--danger);font-size:.9rem;font-weight:500}.upload__success{margin-top:1rem;background:var(--accent-soft);border:1px solid #bfdbfe;border-radius:var(--radius-sm);padding:1rem 1.25rem;text-align:left;font-size:.95rem;color:var(--text)}.upload__success strong{color:var(--success)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:.4rem}@keyframes spin{to{transform:rotate(1turn)}}.ad-slot{margin:2rem auto;max-width:728px;min-height:90px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.ad-slot--narrow{max-width:336px;min-height:280px}.section{max-width:760px;margin:3rem auto}.section h2{margin-top:0}.section li,.section p{color:var(--text)}.section--narrow{max-width:700px}.faq{border-top:1px solid var(--border);padding-top:1rem}.faq,.faq h3{margin-top:1.5rem}.faq h3{margin-bottom:.4rem;font-size:1.05rem}.faq p{color:var(--text-muted);margin:0 0 .5rem}.legal h1{font-size:1.9rem;margin-bottom:.5rem}.legal .updated{color:var(--text-muted);font-size:.9rem;margin-bottom:2rem}.legal h2{font-size:1.2rem;margin-top:2rem}.legal li,.legal p{font-size:.97rem}.blog-body h2{font-size:1.4rem;margin-top:2.25rem;margin-bottom:.75rem;letter-spacing:-.01em}.blog-body h3{font-size:1.1rem;margin-top:1.75rem;margin-bottom:.5rem;color:var(--text)}.blog-body p{margin-bottom:1.1em;color:var(--text)}.blog-body ol,.blog-body ul{margin-bottom:1.1em;padding-left:1.5em}.blog-body li{margin-bottom:.4em;color:var(--text)}.blog-body a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:#bfdbfe;text-decoration-color:#bfdbfe;text-underline-offset:2px}.blog-body a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.blog-body code{background:var(--surface);border:1px solid var(--border);padding:.1em .4em;border-radius:4px;font-size:.92em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.blog-body strong{color:var(--text);font-weight:600}.contact-form{max-width:560px;margin:2rem auto 0;display:grid;grid-gap:1rem;gap:1rem}.contact-form label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem;color:var(--text)}.contact-form input,.contact-form textarea{width:100%;padding:.7rem .85rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;color:var(--text);background:var(--bg);transition:border-color .15s ease,box-shadow .15s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.contact-form textarea{min-height:140px;resize:vertical}.contact-form__hint{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.contact-form__submit{margin-top:.5rem}.contact-form__note{font-size:.85rem;color:var(--text-muted);margin-top:1rem;text-align:center}