*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-magenta:#e81a8c;--brand-violet:#7c2bdc;--brand-blue:#1a5fd9;--brand-cyan:#18b7ef;--brand-navy:#0b1c4a;--brand-ink:#14234f;--text-muted:#5a6a8a;--surface:#fff;--surface-soft:#f4f7fc;--line:#0b1c4a1a;--gradient-brand:linear-gradient(105deg, #9b2de8 0%, #e81a8c 32%, #2b5fe0 68%, #18b7ef 100%);--gradient-soft:linear-gradient(135deg, #e81a8c1f 0%, #7c2bdc1a 40%, #18b7ef24 100%);--gradient-hero:radial-gradient(ellipse 80% 60% at 18% 20%, #e81a8c2e, transparent 55%), radial-gradient(ellipse 70% 55% at 82% 30%, #18b7ef33, transparent 50%), radial-gradient(ellipse 90% 70% at 50% 100%, #7c2bdc1f, transparent 55%), linear-gradient(180deg, #fafbff 0%, #eef4ff 45%, #f7f0fb 100%);--font-display:"Montserrat", sans-serif;--font-body:"Outfit", sans-serif;--shadow-soft:0 12px 40px #0b1c4a14;--radius:1.1rem;--header-h:4.5rem}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--brand-ink);background:var(--surface-soft);-webkit-font-smoothing:antialiased;line-height:1.65;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1120px,100% - 2.5rem);margin-inline:auto}.header{z-index:1000;height:var(--header-h);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);background:#fafbffb8;border-bottom:1px solid #0000;align-items:center;transition:background .3s,border-color .3s,box-shadow .3s;display:flex;position:fixed;inset:0 0 auto}.header.is-scrolled{border-bottom-color:var(--line);background:#ffffffeb;box-shadow:0 8px 28px #0b1c4a0f}.navbar{justify-content:space-between;align-items:center;gap:1rem;width:min(1120px,100% - 2rem);margin-inline:auto;display:flex}.nav-brand a{align-items:center;text-decoration:none;display:flex}.nav-logo{object-fit:contain;background:0 0;width:auto;max-width:3.1rem;height:2.85rem;display:block}.nav-menu{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.15rem 1.35rem;list-style:none;display:flex}.nav-menu a,.nav-auth-btn{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--brand-navy);cursor:pointer;background:0 0;border:none;padding:.35rem 0;font-size:.78rem;font-weight:600;text-decoration:none;transition:color .2s}.nav-menu a:hover,.nav-auth-btn:hover{color:var(--brand-magenta)}.nav-cta{background:var(--gradient-brand);border-radius:999px;align-items:center;box-shadow:0 6px 18px #7c2bdc40;color:#fff!important;padding:.55rem 1rem!important;display:inline-flex!important}.nav-cta:hover{filter:brightness(1.05);color:#fff!important}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:.35rem;display:none}.hamburger span{background:var(--brand-navy);border-radius:2px;width:22px;height:2px;transition:transform .25s,opacity .25s;display:block}.hamburger.active span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.btn{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.95rem 1.7rem;font-size:.82rem;font-weight:700;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s,color .25s,border-color .25s;display:inline-flex}.btn:disabled{opacity:.7;cursor:not-allowed}.btn-primary{background:var(--gradient-brand);color:#fff;box-shadow:0 10px 28px #7c2bdc47}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 36px #e81a8c47}.btn-secondary{color:var(--brand-navy);background:0 0;border:1.5px solid #0b1c4a38}.btn-secondary:hover:not(:disabled){border-color:var(--brand-magenta);color:var(--brand-magenta);transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#10b981,#059669)!important}.highlight{background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero{min-height:100dvh;padding:calc(var(--header-h) + 1.5rem) 1.25rem 3rem;background:var(--gradient-hero);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";filter:blur(40px);pointer-events:none;border-radius:50%;animation:12s ease-in-out infinite orbFloat;position:absolute}.hero:before{background:#e81a8c38;width:min(42vw,420px);height:min(42vw,420px);top:12%;left:-8%}.hero:after{background:#18b7ef38;width:min(48vw,480px);height:min(48vw,480px);animation-delay:-4s;bottom:0;right:-10%}.hero-mesh{pointer-events:none;background-image:radial-gradient(circle at 1px 1px,#0b1c4a0f 1px,#0000 0);background-size:28px 28px;animation:20s linear infinite meshDrift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 45%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 45%,#000 20%,#0000 75%)}.hero-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:1.35rem;width:min(720px,100%);animation:.9s cubic-bezier(.22,1,.36,1) both heroRise;display:flex;position:relative}.hero-logo{object-fit:contain;filter:drop-shadow(0 20px 42px #7c2bdc33);background:0 0;width:min(300px,62vw);height:auto;animation:5s ease-in-out infinite logoGlow}.hero-headline{font-family:var(--font-display);letter-spacing:-.02em;color:var(--brand-navy);max-width:18ch;font-size:clamp(1.55rem,3.6vw,2.35rem);font-weight:800;line-height:1.2}.hero-description{color:var(--text-muted);max-width:36ch;font-size:clamp(1rem,2vw,1.15rem);line-height:1.7}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:.35rem;display:flex}.hero-latest{color:var(--text-muted);border-bottom:1px solid #0000;margin-top:.5rem;font-size:.92rem;text-decoration:none;transition:color .2s,border-color .2s}.hero-latest:hover{color:var(--brand-magenta);border-bottom-color:currentColor}.hero-latest strong{color:var(--brand-navy);font-weight:600}.scroll-indicator{z-index:2;opacity:.55;animation:2.2s infinite bounce;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.scroll-arrow{border-right:2px solid var(--brand-navy);border-bottom:2px solid var(--brand-navy);width:14px;height:14px;transform:rotate(45deg)}@keyframes heroRise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes logoGlow{0%,to{filter:drop-shadow(0 18px 40px #7c2bdc29)}50%{filter:drop-shadow(0 22px 50px #e81a8c38)}}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}50%{transform:translate(24px,-18px)scale(1.05)}}@keyframes meshDrift{0%{background-position:0 0}to{background-position:56px 28px}}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%)translateY(0)}40%{transform:translate(-50%)translateY(-8px)}60%{transform:translate(-50%)translateY(-4px)}}.section{padding:clamp(4rem,8vw,6.5rem) 0;position:relative}.section-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--brand-navy);margin-bottom:.65rem;font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800}.section-title-center{text-align:center}.section-lead{color:var(--text-muted);max-width:38rem;margin-bottom:2.75rem;font-size:1.05rem}.section-lead-center{text-align:center;margin-inline:auto}.section-kicker{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.75rem;font-size:.72rem;font-weight:700;display:inline-block}.section-head{margin-bottom:2.75rem}.section-head-center{text-align:center}.about{background:var(--surface)}.about-layout{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.about-copy h3{font-family:var(--font-display);color:var(--brand-navy);margin-bottom:1rem;font-size:clamp(1.4rem,2.5vw,1.85rem);font-weight:700;line-height:1.25}.about-copy p{color:var(--text-muted);margin-bottom:1.1rem}.experience-line{border-bottom:1px solid var(--line);align-items:baseline;gap:.65rem;margin:1.25rem 0 1.5rem;padding-bottom:1.25rem;display:flex}.experience-years{font-family:var(--font-display);background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;line-height:1}.experience-text{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.8rem;font-weight:600}.skills{grid-template-columns:1fr 1fr;gap:.75rem 1.25rem;margin-top:1.75rem;display:grid}.skill-item{color:var(--brand-ink);align-items:center;gap:.65rem;padding:.55rem 0;font-weight:500;display:flex}.skill-item i{background:var(--gradient-soft);width:1.6rem;height:1.6rem;color:var(--brand-violet);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex}.about-visual{justify-content:center;align-items:center;min-height:340px;display:flex;position:relative}.about-visual-bg{aspect-ratio:1;filter:blur(2px);pointer-events:none;background:radial-gradient(circle at 35% 35%,#e81a8c38 0%,#0000 55%),radial-gradient(circle at 70% 65%,#18b7ef38 0%,#0000 55%),radial-gradient(circle,#7c2bdc1a 0%,#0000 70%);border-radius:50%;width:min(92%,320px);animation:12s ease-in-out infinite orbFloat;position:absolute}.about-logo{z-index:1;object-fit:contain;filter:drop-shadow(0 18px 36px #7c2bdc29);background:0 0;width:min(100%,260px);height:auto;position:relative}.services{background:var(--gradient-hero)}.services-list{border-top:1px solid var(--line);flex-direction:column;display:flex}.service-row{border-bottom:1px solid var(--line);grid-template-columns:4rem 1fr;gap:1.25rem;padding:1.75rem 0;transition:padding .3s;display:grid}.service-row:hover{padding-left:.5rem}.service-num{font-family:var(--font-display);letter-spacing:.08em;background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding-top:.25rem;font-size:.85rem;font-weight:700}.service-row h3{font-family:var(--font-display);color:var(--brand-navy);margin-bottom:.4rem;font-size:1.25rem;font-weight:700}.service-row p{color:var(--text-muted);max-width:48rem}.clients{background:var(--surface)}.clients-grid{grid-template-columns:repeat(3,1fr);gap:2rem 2.5rem;margin-bottom:3.5rem;display:grid}.client-quote{padding-top:.5rem;position:relative}.client-quote:before{content:"";background:var(--gradient-brand);border-radius:2px;width:2.5rem;height:3px;margin-bottom:1.25rem;display:block}.client-testimonial{color:var(--brand-ink);margin-bottom:1.25rem;font-size:1.02rem;line-height:1.75}.client-content h3{font-family:var(--font-display);color:var(--brand-navy);margin-bottom:.2rem;font-size:.95rem;font-weight:700}.client-role{color:var(--text-muted);font-size:.88rem}.clients-stats{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1.5rem;padding-top:2.5rem;display:grid}.stat-item{text-align:center}.stat-number{font-family:var(--font-display);background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.35rem;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;line-height:1.1}.stat-label{color:var(--text-muted);font-size:.88rem;font-weight:500}.portfolio{background:linear-gradient(#eef4ff 0%,#f7f0fb 50%,#fff 100%)}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.portfolio-item{flex-direction:column;gap:1rem;display:flex}.portfolio-image{aspect-ratio:4/3;border-radius:var(--radius);background:var(--gradient-soft);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.portfolio-image:after{content:"";background:var(--gradient-brand);opacity:0;transition:opacity .35s;position:absolute;inset:0}.portfolio-item:hover .portfolio-image:after{opacity:.12}.portfolio-placeholder{color:var(--brand-violet);opacity:.55;font-size:1.75rem}.portfolio-content h3{font-family:var(--font-display);color:var(--brand-navy);margin-bottom:.35rem;font-size:1.1rem;font-weight:700}.portfolio-content p{color:var(--text-muted);margin-bottom:.85rem;font-size:.95rem}.portfolio-tags{flex-wrap:wrap;gap:.45rem;display:flex}.tag{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-navy);background:var(--gradient-soft);border:1px solid #7c2bdc1f;border-radius:999px;padding:.35rem .7rem;font-size:.68rem;font-weight:600}.contact{background:var(--surface)}.contact-content{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.contact-info h3{font-family:var(--font-display);color:var(--brand-navy);margin-bottom:1rem;font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:700;line-height:1.3}.contact-info>p{color:var(--text-muted);margin-bottom:1.75rem}.contact-methods{flex-direction:column;gap:.85rem;margin-bottom:1.75rem;display:flex}.contact-method{color:var(--brand-ink);align-items:center;gap:.85rem;font-weight:500;display:flex}.contact-method i{background:var(--gradient-brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:.85rem;display:inline-flex}.social-links{gap:.65rem;display:flex}.social-link{width:2.6rem;height:2.6rem;color:var(--brand-navy);border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:transform .25s,color .25s,border-color .25s,background .25s;display:inline-flex}.social-link:hover{color:#fff;background:var(--gradient-brand);border-color:#0000;transform:translateY(-2px)}.contact-form{border:1px solid var(--line);border-radius:calc(var(--radius) + .2rem);box-shadow:var(--shadow-soft);background:linear-gradient(160deg,#fff 0%,#f3f7ff 100%);padding:1.75rem}.form-group{margin-bottom:1rem}.form-group input,.form-group textarea,.form-group select{border:1.5px solid var(--line);width:100%;color:var(--brand-ink);background:var(--surface);border-radius:.85rem;padding:.95rem 1.1rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#e81a8c73;outline:none;box-shadow:0 0 0 4px #7c2bdc1a}.form-group textarea{resize:vertical;min-height:120px}.contact-form .btn{width:100%;margin-top:.35rem}.footer{color:#ffffffc7;background:linear-gradient(#0b1c4a 0%,#0a1638 100%);padding:3.25rem 0 1.5rem}.footer-content{justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem;display:flex}.footer-logo{object-fit:contain;filter:drop-shadow(0 6px 16px #00000040);background:0 0;width:auto;max-width:4.5rem;height:4.25rem;margin-bottom:.85rem;display:block}.footer-brand p{color:#ffffff8c;max-width:22rem;font-size:.92rem}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:.75rem 1.5rem;display:flex}.footer-links a{color:#ffffffa6;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#fff}.footer-bottom{text-align:center;color:#ffffff73;border-top:1px solid #ffffff1a;padding-top:1.5rem;font-size:.88rem}@media (width<=960px){.about-layout,.contact-content{grid-template-columns:1fr}.clients-grid,.portfolio-grid,.clients-stats{grid-template-columns:1fr 1fr}}@media (width<=768px){:root{--header-h:4rem}.nav-logo{max-width:2.7rem;height:2.45rem}.hamburger{display:flex}.nav-menu{inset:var(--header-h) 0 auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;background:#fffffffa;flex-direction:column;align-items:stretch;gap:0;padding:1rem 0 1.25rem;transition:transform .3s,opacity .3s;position:fixed;transform:translateY(-120%)}.nav-menu.active{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-menu li{text-align:center}.nav-menu a,.nav-auth-btn{width:100%;padding:.85rem 1rem;display:block}.nav-cta{justify-content:center;margin:.5rem 1.25rem 0}.skills,.clients-grid,.portfolio-grid{grid-template-columns:1fr}.footer-content{text-align:center;flex-direction:column;align-items:center}.footer-links{justify-content:center}.footer-logo{margin-inline:auto}.service-row{grid-template-columns:2.5rem 1fr}}@media (width<=480px){.container{width:min(1120px,100% - 1.5rem)}.hero-buttons{flex-direction:column;width:100%}.hero-buttons .btn{width:100%}.clients-stats{grid-template-columns:1fr;gap:1.25rem}.contact-form{padding:1.25rem}}.auth-page{min-height:100dvh;padding:calc(var(--header-h,4.5rem) + 1.5rem) 1.25rem 3rem;background:var(--gradient-hero);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";filter:blur(40px);pointer-events:none;background:#18b7ef29;border-radius:50%;width:min(50vw,380px);height:min(50vw,380px);position:absolute;top:10%;right:-8%}.auth-card{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:calc(var(--radius) + .25rem);width:100%;max-width:420px;box-shadow:var(--shadow-soft);background:#ffffffeb;padding:2rem 1.75rem;position:relative}.auth-card-wide{max-width:520px}.auth-brand{justify-content:center;margin-bottom:1.25rem;display:flex}.auth-brand img{width:auto;height:4.5rem}.auth-card h1{font-family:var(--font-display);color:var(--brand-navy);text-align:center;margin-bottom:.4rem;font-size:1.65rem;font-weight:800}.auth-subtitle{text-align:center;color:var(--text-muted);margin-bottom:1.5rem;font-size:.95rem}.auth-form .btn,.auth-submit{width:100%}.auth-error{color:#dc2626;margin-bottom:1rem;font-size:.95rem}.auth-switch{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.95rem}.auth-switch a{color:var(--brand-magenta);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.account-details{gap:1.25rem;margin-bottom:2rem;display:grid}.account-details dt{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem;font-size:.72rem;font-weight:600}.account-details dd{color:var(--brand-ink);font-weight:500}.auth-actions{flex-wrap:wrap;gap:.85rem;display:flex}.auth-actions .btn{text-align:center;flex:1}main{min-height:60vh}.blog-page{min-height:100vh;padding:calc(var(--header-h,4.5rem) + 2rem) 0 4rem;background:var(--gradient-hero)}.blog-container{max-width:820px}.blog-header{text-align:center;margin-bottom:2.5rem}.blog-header-row{text-align:left;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.blog-header .section-title{margin-bottom:.5rem}.blog-lead{color:var(--text-muted);max-width:36rem;margin:0 0 1.5rem}.blog-header .blog-lead{margin-inline:auto}.blog-header-row .blog-lead{margin-inline:0}.blog-muted{color:var(--text-muted)}.blog-grid{gap:1.25rem;display:grid}.blog-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#ffffffe6;padding:1.5rem 1.6rem;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.blog-card:before{content:"";background:var(--gradient-brand);opacity:.85;width:3px;position:absolute;top:0;bottom:0;left:0}.blog-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px #0b1c4a1a}.blog-card h2{font-family:var(--font-display);margin:.45rem 0 .7rem;font-size:1.3rem;font-weight:700;line-height:1.3}.blog-card h2 a{color:var(--brand-navy);text-decoration:none}.blog-card h2 a:hover{background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.blog-meta{color:var(--text-muted);font-size:.88rem}.blog-excerpt{color:var(--text-muted);margin-bottom:1rem;line-height:1.7}.blog-read-more{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-magenta);font-size:.78rem;font-weight:700;text-decoration:none}.blog-read-more:hover{color:var(--brand-blue)}.blog-back{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-magenta);margin-bottom:1rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-block}.blog-article{border:1px solid var(--line);border-radius:calc(var(--radius) + .15rem);box-shadow:var(--shadow-soft);background:#fffffff0;padding:clamp(1.5rem,4vw,2.25rem)}.blog-article h1{font-family:var(--font-display);color:var(--brand-navy);letter-spacing:-.02em;margin:.5rem 0 1.5rem;font-size:clamp(1.7rem,3.5vw,2.25rem);font-weight:800;line-height:1.2}.blog-content{white-space:pre-wrap;color:var(--brand-ink);margin-bottom:3rem;line-height:1.85}.blog-comments{border-top:1px solid var(--line);padding-top:1.75rem}.blog-comments h2{font-family:var(--font-display);color:var(--brand-navy);margin-bottom:1rem;font-size:1.2rem;font-weight:700}.comment-list{margin-bottom:2rem;list-style:none}.comment-item{border-bottom:1px solid var(--line);padding:1rem 0}.comment-head{flex-wrap:wrap;align-items:baseline;gap:1rem;margin-bottom:.4rem;display:flex}.comment-form{margin-top:1rem}.admin-table-wrap{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fffffff0;padding:1rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.9rem .5rem}.admin-table th{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:700}.admin-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-actions a,.admin-actions button{color:var(--brand-magenta);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none}.admin-actions button{color:#dc2626}.status-pill{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.25rem .65rem;font-size:.68rem;font-weight:700;display:inline-block}.status-published{color:#0a5f8a;background:#18b7ef26}.status-draft{color:#9d1360;background:#e81a8c1f}.blog-editor{border:1px solid var(--line);border-radius:calc(var(--radius) + .15rem);box-shadow:var(--shadow-soft);background:#fffffff0;padding:clamp(1.5rem,4vw,2rem)}.blog-editor label{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--brand-navy);margin-bottom:.45rem;font-size:.78rem;font-weight:700;display:block}.blog-editor select{border:1.5px solid var(--line);background:var(--surface);width:100%;color:var(--brand-ink);border-radius:.85rem;padding:.95rem 1.1rem;font-family:inherit}@media (width<=768px){.blog-article h1{font-size:1.55rem}.blog-header-row{flex-direction:column}}.tool-page{min-height:100dvh;padding:calc(var(--header-h,4.5rem) + 2rem) 0 4rem;background:var(--gradient-hero)}.tool-container{width:min(1080px,100% - 2.5rem);margin-inline:auto}.tool-container-wide{width:min(1180px,100% - 2.5rem)}.tool-back{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-magenta);align-items:center;gap:.4rem;margin-bottom:1.25rem;font-size:.75rem;font-weight:700;text-decoration:none;display:inline-flex}.tool-back:hover{color:var(--brand-blue)}.tool-header{max-width:40rem;margin-bottom:2rem}.tool-header h1{font-family:var(--font-display);color:var(--brand-navy);letter-spacing:-.02em;margin:.35rem 0 .65rem;font-size:clamp(1.7rem,3.4vw,2.3rem);font-weight:800;line-height:1.2}.tool-header p{color:var(--text-muted);font-size:1.05rem}.tool-note{color:var(--text-muted);align-items:flex-start;gap:.45rem;margin-top:.85rem;font-size:.88rem;display:flex}.tool-note i{color:var(--brand-violet);margin-top:.15rem}.tools-hub-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.tools-hub-item{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-soft);color:inherit;background:#ffffffe0;flex-direction:column;gap:.85rem;padding:1.75rem 1.5rem;text-decoration:none;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.tools-hub-item:before{content:"";background:var(--gradient-brand);width:3px;position:absolute;top:0;bottom:0;left:0}.tools-hub-item:hover{transform:translateY(-3px);box-shadow:0 18px 40px #0b1c4a1f}.tools-hub-icon{background:var(--gradient-brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.15rem;display:inline-flex}.tools-hub-item h2{font-family:var(--font-display);color:var(--brand-navy);font-size:1.25rem;font-weight:700}.tools-hub-item p{color:var(--text-muted);flex:1;font-size:.98rem}.tools-hub-cta{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-magenta);font-size:.75rem;font-weight:700}.tools-section{background:var(--surface)}.tools-home-list{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:2rem 3rem;display:grid}.tools-home-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;align-items:start;gap:1.25rem;padding:1.85rem 0;display:grid}.tools-home-row h3{font-family:var(--font-display);color:var(--brand-navy);margin-bottom:.4rem;font-size:1.2rem;font-weight:700}.tools-home-row p{color:var(--text-muted);max-width:36rem;margin-bottom:.85rem}.tools-home-num{font-family:var(--font-display);letter-spacing:.08em;background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding-top:.2rem;font-size:.85rem;font-weight:700}.bg-workspace{gap:1.25rem;display:grid}.bg-dropzone{border-radius:calc(var(--radius) + .15rem);cursor:pointer;text-align:center;background:#ffffffbf;border:2px dashed #7c2bdc47;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:280px;padding:2rem;transition:border-color .2s,background .2s,transform .2s;display:flex}.bg-dropzone:hover,.bg-dropzone.is-drag{border-color:var(--brand-magenta);background:#fffffff2;transform:translateY(-1px)}.bg-dropzone.is-disabled{opacity:.65;pointer-events:none}.bg-dropzone-icon{background:var(--gradient-brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;font-size:1.35rem;display:flex}.bg-dropzone h2{font-family:var(--font-display);color:var(--brand-navy);font-size:1.15rem;font-weight:700}.bg-dropzone p{color:var(--text-muted);max-width:28rem;font-size:.95rem}.bg-file-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.bg-progress{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#ffffffe6;padding:1.25rem 1.35rem}.bg-progress-label{color:var(--brand-ink);justify-content:space-between;gap:1rem;margin-bottom:.65rem;font-size:.92rem;font-weight:500;display:flex}.bg-progress-bar{background:#0b1c4a14;border-radius:999px;height:8px;overflow:hidden}.bg-progress-fill{border-radius:inherit;background:var(--gradient-brand);height:100%;transition:width .25s}.bg-compare{border-radius:calc(var(--radius) + .15rem);border:1px solid var(--line);box-shadow:var(--shadow-soft);aspect-ratio:16/10;-webkit-user-select:none;user-select:none;touch-action:none;cursor:ew-resize;background:repeating-conic-gradient(#e8ecf4 0% 25%,#fff 0% 50%) 50%/20px 20px;max-height:520px;position:relative;overflow:hidden}.bg-compare-img{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.bg-compare-after-wrap{position:absolute;inset:0;overflow:hidden}.bg-compare-after-wrap .bg-compare-img{height:100%;width:var(--full-w,100%);max-width:none;position:absolute;top:0;left:0}.bg-compare-handle{background:var(--gradient-brand);z-index:3;pointer-events:none;width:3px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.bg-compare-handle:after{content:"";background:#fff;background-image:linear-gradient(#fff, #fff), var(--gradient-brand);background-origin:border-box;background-clip:padding-box,border-box;border:2px solid #0000;border-radius:50%;width:2.4rem;height:2.4rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 18px #0b1c4a2e}.bg-compare-labels{pointer-events:none;z-index:2;justify-content:space-between;display:flex;position:absolute;inset:.75rem}.bg-compare-labels span{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-navy);background:#ffffffe6;border-radius:999px;padding:.35rem .65rem;font-size:.68rem;font-weight:700;box-shadow:0 4px 12px #0b1c4a14}.bg-actions{flex-wrap:wrap;gap:.75rem;display:flex}.bg-error{color:#dc2626;background:#dc26260f;border:1px solid #dc262626;border-radius:.85rem;padding:.9rem 1.1rem;font-size:.95rem}.wheel-layout{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start;gap:2rem;display:grid}.wheel-stage{border:1px solid var(--line);border-radius:calc(var(--radius) + .2rem);box-shadow:var(--shadow-soft);background:#ffffffd1;flex-direction:column;align-items:center;gap:1.25rem;padding:1.25rem;display:flex;position:relative}.wheel-wrap{aspect-ratio:1;width:min(100%,420px);position:relative}.wheel-pointer{z-index:4;border-left:12px solid #0000;border-right:12px solid #0000;border-top:28px solid var(--brand-magenta);filter:drop-shadow(0 4px 8px #e81a8c59);width:0;height:0;position:absolute;top:-.15rem;left:50%;transform:translate(-50%)}.wheel-canvas{filter:drop-shadow(0 16px 32px #0b1c4a24);border-radius:50%;width:100%;height:100%;display:block}.wheel-center-btn{z-index:3;background:var(--gradient-brand);color:#fff;width:5.2rem;height:5.2rem;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:3px solid #fff;border-radius:50%;font-size:.72rem;font-weight:800;transition:transform .2s,filter .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 28px #7c2bdc59}.wheel-center-btn:hover:not(:disabled){transform:translate(-50%,-50%)scale(1.05)}.wheel-center-btn:disabled{opacity:.65;cursor:not-allowed}.wheel-winner-banner{min-height:2.5rem;font-family:var(--font-display);color:var(--brand-navy);text-align:center;font-weight:700}.wheel-winner-banner strong{background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.wheel-panel{border:1px solid var(--line);border-radius:calc(var(--radius) + .15rem);box-shadow:var(--shadow-soft);background:#ffffffe6;flex-direction:column;gap:1rem;padding:1.35rem;display:flex}.wheel-panel h2{font-family:var(--font-display);color:var(--brand-navy);font-size:1rem;font-weight:700}.wheel-winners-count{flex-direction:column;gap:.45rem;display:flex}.wheel-winners-count label{color:var(--brand-navy);font-size:.82rem;font-weight:700}.wheel-winners-count-controls{grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;display:grid}.wheel-winners-count-controls .btn{min-width:2.6rem;padding:.65rem .75rem}.wheel-winners-count-controls input{text-align:center;border:1.5px solid var(--line);width:100%;font-family:var(--font-display);color:var(--brand-ink);background:var(--surface);border-radius:.75rem;padding:.75rem .9rem;font-size:1.05rem;font-weight:800}.wheel-winners-count-controls input:focus{border-color:#e81a8c73;outline:none;box-shadow:0 0 0 3px #7c2bdc1a}.wheel-winners-hint{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.35}.wheel-podium,.wheel-podium-list{text-align:left;flex-direction:column;gap:.55rem;margin:0 0 1.35rem;padding:0;list-style:none;display:flex}.wheel-podium-list{border-top:1px solid var(--line);margin:0;padding-top:.35rem}.wheel-podium li,.wheel-podium-list li{border:1px solid var(--line);background:var(--surface);border-radius:.85rem;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;padding:.7rem .85rem;display:grid}.wheel-podium li.is-first{background:linear-gradient(135deg,#e81a8c14,#7c2bdc0f);border-color:#e81a8c59}.wheel-podium-place{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--brand-magenta);white-space:nowrap;font-size:.72rem;font-weight:800}.wheel-podium-name{font-family:var(--font-display);color:var(--brand-navy);font-weight:700;line-height:1.25}.wheel-podium .wheel-podium-name{font-size:1.15rem}.wheel-podium li.is-first .wheel-podium-name{background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.35rem}.wheel-add{gap:.5rem;display:flex}.wheel-add input,.wheel-import textarea,.wheel-list input{border:1.5px solid var(--line);width:100%;color:var(--brand-ink);background:var(--surface);border-radius:.75rem;padding:.75rem .9rem;font-family:inherit;font-size:.95rem}.wheel-add input:focus,.wheel-import textarea:focus,.wheel-list input:focus{border-color:#e81a8c73;outline:none;box-shadow:0 0 0 3px #7c2bdc1a}.wheel-list{flex-direction:column;gap:.5rem;max-height:280px;padding-right:.25rem;list-style:none;display:flex;overflow-y:auto}.wheel-list li{grid-template-columns:.75rem 1fr auto;align-items:center;gap:.5rem;display:grid}.wheel-dot{border-radius:50%;width:.75rem;height:.75rem}.wheel-list button{color:#dc2626;cursor:pointer;background:0 0;border:none;padding:.35rem;font-size:.9rem}.wheel-panel-actions{flex-wrap:wrap;gap:.5rem;display:flex}.wheel-panel-actions .btn{flex:1;min-width:7rem;padding:.75rem 1rem;font-size:.72rem}.wheel-import textarea{resize:vertical;min-height:90px}.wheel-confetti{pointer-events:none;z-index:50;position:fixed;inset:0;overflow:hidden}.wheel-confetti span{opacity:.9;border-radius:2px;width:8px;height:12px;animation:linear forwards confettiFall;position:absolute;top:-12px}@keyframes confettiFall{to{opacity:.2;transform:translateY(110vh)rotate(720deg)}}.wheel-overlay{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b1c4a73;justify-content:center;align-items:center;padding:1.5rem;animation:.35s both heroRise;display:flex;position:fixed;inset:0}.wheel-overlay-card{border-radius:calc(var(--radius) + .2rem);text-align:center;background:#fff;width:min(440px,100%);padding:2rem 1.75rem;box-shadow:0 24px 60px #0b1c4a40}.wheel-overlay-card h2{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.65rem;font-size:.78rem;font-weight:700}.wheel-overlay-card p{font-family:var(--font-display);background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:800;line-height:1.2}.wheel-overlay-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}@media (width<=900px){.tools-hub-grid,.tools-home-list,.wheel-layout{grid-template-columns:1fr}.tools-home-list{gap:0}}@media (width<=480px){.tool-container,.tool-container-wide{width:min(1080px,100% - 1.5rem)}.bg-actions{flex-direction:column}.bg-actions .btn{width:100%}}
