:root{--bg: #fafafa;--card: #ffffff;--text: #1f1f1f;--muted: #6b6b6b;--pill-bg: #000000;--shadow: 0 8px 20px rgba(0, 0, 0, .12);--radius: 12px}[data-theme=dark]{--bg: #111418;--card: #1b1f24;--text: #f3f5f7;--muted: #9aa2ad;--pill-bg: #f3f5f7;--shadow: 0 8px 24px rgba(0,0,0,.6)}*{box-sizing:border-box}:focus-visible{outline:2px solid #2563eb;outline-offset:2px}[data-theme=dark] :focus-visible{outline-color:#60a5fa}html,body,#root{height:100%}@keyframes waveMove{0%{background-position:0% 0%}50%{background-position:100% 0%}to{background-position:0% 0%}}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:linear-gradient(45deg,transparent 48%,rgba(0,0,0,.03) 50%,transparent 52%) 0 0 / 30px 30px,linear-gradient(-45deg,transparent 48%,rgba(0,0,0,.03) 50%,transparent 52%) 0 0 / 30px 30px,var(--bg);line-height:1.6;animation:waveMove 60s linear infinite;background-attachment:fixed}[data-theme=dark] body{background:linear-gradient(45deg,transparent 48%,rgba(255,255,255,.04) 50%,transparent 52%) 0 0 / 30px 30px,linear-gradient(-45deg,transparent 48%,rgba(255,255,255,.04) 50%,transparent 52%) 0 0 / 30px 30px,var(--bg)}.site{max-width:880px;margin:0 auto;padding:0 20px 48px}.hero-title-with-avatar{display:flex;flex-direction:column;align-items:center;gap:18px}.avatar-inline-wrapper{width:150px;height:150px;border-radius:50%;background:linear-gradient(45deg,#f2f4f7,#fff);padding:4px;position:relative;box-shadow:0 6px 24px #0000001f;overflow:hidden}.avatar-inline-wrapper:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(45deg,#000,#333);z-index:-1}.avatar-inline{width:100%;height:100%;object-fit:cover;border-radius:50%;transition:transform .35s ease}.avatar-inline:hover{transform:scale(1.06)}.hero-name-text{display:block}.profile-picture-container{display:none!important}.hero{position:relative;text-align:center;padding:80px 16px 150px;background:linear-gradient(180deg,#f2f4f7,#f7f7f7 60%,#f7f7f700);border-bottom:1px solid #eee}[data-theme=dark] .hero{background:linear-gradient(180deg,#182029,#131a20 55%,#131a2000);border-bottom:1px solid #1f2a33}.hero h1{margin:0;font-size:clamp(32px,5vw,48px);letter-spacing:.5px}.tagline{margin-top:14px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.pill{background:var(--pill-bg);color:#fff;padding:8px 14px;border-radius:8px;font-weight:700;box-shadow:0 4px 12px #0000004d;white-space:nowrap}[data-theme=dark] .pill{background:#0d60b7;box-shadow:0 4px 14px #0000008c}.wave-stack{position:absolute;left:0;right:0;bottom:0;height:120px;overflow:hidden;pointer-events:none}.wave-layer{position:absolute;left:0;width:200%;height:100%;background-repeat:repeat-x;bottom:0;opacity:.9}.wave-back{background-image:radial-gradient(circle at 50% 50%,#78b4ff80 25%,#78b4ff00 70%),linear-gradient(to right,#4b8bd6 20%,#3671b8,#4b8bd6 80%);animation:waveSlide 22s linear infinite;filter:blur(4px);top:10px}.wave-mid{background-image:radial-gradient(circle at 50% 55%,#78beffb3 25%,#78beff00 70%),linear-gradient(to right,#2d7ed8 20%,#1c66b8,#2d7ed8 80%);animation:waveSlide 14s linear infinite;clip-path:polygon(0 55%,10% 60%,20% 58%,30% 63%,40% 60%,50% 65%,60% 62%,70% 66%,80% 61%,90% 64%,100% 60%,100% 100%,0 100%)}.wave-front{background-image:radial-gradient(circle at 60% 60%,#8cd2ffd9 25%,#8cd2ff00 70%),linear-gradient(to right,#1e8fff 20%,#0072e0,#1e8fff 80%);animation:waveSlide 8s linear infinite;clip-path:polygon(0 55%,8% 60%,16% 58%,24% 64%,32% 59%,40% 65%,48% 60%,56% 63%,64% 58%,72% 62%,80% 57%,88% 61%,96% 56%,100% 59%,100% 100%,0 100%);box-shadow:0 -4px 18px -6px #00000040 inset}@keyframes waveSlide{0%{transform:translate(0)}to{transform:translate(-50%)}}[data-theme=dark] .wave-back{opacity:.35}[data-theme=dark] .wave-mid{opacity:.55}[data-theme=dark] .wave-front{opacity:.75}.wave-stack:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#fff0,#ffffffa6 60%,#ffffffe6);mix-blend-mode:screen;pointer-events:none}[data-theme=dark] .wave-stack:before{background:linear-gradient(to top,#11141800,#11141899 60%,#111418d9);mix-blend-mode:normal}@media (prefers-reduced-motion: reduce){.wave-layer{animation:none!important;transform:translate(0)!important}}main{display:grid;gap:18px;margin-top:24px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;position:relative;overflow:hidden;opacity:0;transform:translateY(14px);animation:cardIn .8s cubic-bezier(.25,.6,.3,1) forwards}@keyframes cardIn{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.card{animation:none;opacity:1;transform:none}}.cta-section{text-align:center;display:flex;flex-direction:column;gap:14px}.cta-heading{margin:0;font-size:1.45rem;letter-spacing:.5px}.cta-sub{margin:0;color:var(--muted);font-size:.95rem}.cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn{--btn-bg:#000;--btn-fg:#fff;background:var(--btn-bg);color:var(--btn-fg);border:none;padding:12px 20px;font-weight:600;border-radius:10px;cursor:pointer;font-size:.8rem;letter-spacing:.5px;box-shadow:0 6px 18px -4px #00000059;transition:transform .2s,box-shadow .2s,background .25s;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px -6px #0006}.btn-outline{--btn-bg:transparent;--btn-fg:var(--text);border:1px solid #1f1f1f}[data-theme=dark] .btn-outline{border-color:#f3f5f7}.btn-primary{background:linear-gradient(135deg,#0072e0,#00b4d8)}.btn-primary:hover{background:linear-gradient(135deg,#0067ca,#009cc0)}.stack-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.stack-badge{background:linear-gradient(135deg,#e8edf3,#fff);padding:6px 12px;font-size:.65rem;font-weight:600;border-radius:20px;letter-spacing:.5px;box-shadow:0 2px 6px #00000014}[data-theme=dark] .stack-badge{background:#242c33;box-shadow:0 2px 6px #0006}.testimonials-strip{display:grid;gap:18px;margin-top:12px}.testimonial{background:linear-gradient(135deg,#fff,#f3f6fa);border:1px solid #e5e8ec;padding:16px 18px;border-radius:14px;font-size:.8rem;line-height:1.45;position:relative}.testimonial:before{content:"“";position:absolute;top:8px;left:10px;font-size:2.4rem;line-height:1;color:#d0d7de;font-family:serif}.testimonial cite{display:block;margin-top:8px;font-style:normal;font-weight:600;color:#1f1f1f;font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}[data-theme=dark] .testimonial{background:#1e252b;border-color:#2c343b}[data-theme=dark] .testimonial:before{color:#33424d}[data-theme=dark] .testimonial cite{color:#f3f5f7}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.contact-actions .btn{flex:1 1 auto;min-width:140px;justify-content:center}.floating-cta{position:fixed;left:18px;bottom:18px;z-index:3500;background:linear-gradient(135deg,#0072e0,#00b4d8);color:#fff;padding:10px 18px;border-radius:30px;font-size:.7rem;font-weight:600;letter-spacing:.5px;text-decoration:none;box-shadow:0 6px 18px -4px #00000059;display:flex;align-items:center;gap:6px}.floating-cta:hover{transform:translateY(-2px);box-shadow:0 10px 30px -6px #00000073}@media (max-width:640px){.floating-cta{font-size:.65rem;padding:9px 16px}}@media (prefers-reduced-motion: reduce){.floating-cta,.btn{transition:none}}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 45%,rgba(0,0,0,.02) 50%,transparent 55%);background-size:20px 20px;opacity:.5;pointer-events:none}.card h2{margin:0 0 8px;font-size:22px}.card p{margin:0;color:var(--muted)}.list{margin:0;padding-left:18px;color:var(--muted)}.list li{margin:6px 0}.social{margin-top:10px;display:flex;gap:12px;flex-wrap:wrap}.social-link{display:inline-block;padding:8px 12px;border-radius:8px;background:#111;color:#fff;text-decoration:none;font-weight:600;box-shadow:0 6px 14px #00000040;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.social-link:hover{transform:translateY(-1px);box-shadow:0 10px 20px #00000047;opacity:.95}.projects-grid{display:grid;gap:20px;margin-top:16px}.project-card{background:linear-gradient(to bottom right,#f8f9fa,#fff);border-radius:12px;padding:20px;box-shadow:0 4px 12px #0000000d;transition:transform .2s ease,box-shadow .2s ease}[data-theme=dark] .project-card{background:linear-gradient(to bottom right,#222831,#1c2229);box-shadow:0 4px 14px #0009}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.project-card h3{margin:0 0 12px;font-size:1.25rem;color:var(--text)}.project-card p{margin:0 0 16px;color:var(--muted)}.project-links{margin-bottom:16px}.project-link{display:inline-block;padding:8px 16px;background:#000;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:opacity .2s ease}.project-link:hover{opacity:.9}.project-link.locked{background:#777;cursor:not-allowed;opacity:.65;box-shadow:none}.project-link.locked:hover{opacity:.65;transform:none}.project-tags{display:flex;gap:8px;flex-wrap:wrap}.tag{background:#f0f0f0;color:var(--text);padding:4px 10px;border-radius:6px;font-size:.875rem}[data-theme=dark] .tag{background:#27313b}.footer{text-align:center;color:var(--muted);margin-top:28px;font-size:14px}.theme-toggle-wrapper{position:fixed;top:14px;right:14px;z-index:4100}.theme-toggle-btn{background:var(--card);color:var(--text);border:1px solid rgba(0,0,0,.15);padding:8px 14px;font-size:.7rem;font-weight:600;border-radius:24px;cursor:pointer;box-shadow:0 4px 14px #00000026;display:flex;gap:6px;align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .25s,color .25s,border-color .25s}.theme-toggle-btn:hover{background:var(--text);color:var(--card)}[data-theme=dark] .theme-toggle-btn{border-color:#ffffff2e}.iphone-frame{width:390px;height:844px;border:14px solid #111;border-bottom:18px solid #111;border-radius:46px;position:relative;margin:40px auto;box-shadow:0 20px 50px -10px #0006,0 0 0 1px #0009;background:#000;overflow:hidden}.iphone-notch{position:absolute;top:0;left:50%;transform:translate(-50%);width:210px;height:30px;background:#000;border-bottom-left-radius:20px;border-bottom-right-radius:20px;z-index:10;box-shadow:0 2px 4px #0006}.iphone-screen{position:absolute;inset:0;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}.iphone-frame .site{max-width:100%;padding:0 14px 40px}.iphone-frame .hero{padding:56px 10px 72px}@media (max-width: 420px){.iphone-frame{width:100%;height:100vh;margin:0;border-radius:0}.iphone-notch{display:none}}.project-card{position:relative}.ribbon{position:absolute;top:14px;left:-40px;transform:rotate(-45deg);background:linear-gradient(90deg,#ce1126,#960c1c);color:#fff;padding:6px 60px;font-size:.65rem;letter-spacing:1px;font-weight:700;text-shadow:0 1px 1px rgba(0,0,0,.4);box-shadow:0 4px 10px #00000040;pointer-events:none;-webkit-user-select:none;user-select:none}.ribbon:after,.ribbon:before{content:"";position:absolute;top:0;bottom:0;width:8px;background:#00000040;filter:blur(4px)}.ribbon:before{left:10px}.ribbon:after{right:10px}.progress-block{margin:12px 0 18px;background:#f5f5f5;border:1px solid #e2e2e2;border-radius:10px;padding:14px 16px 12px;position:relative}.progress-bar{width:100%;height:10px;background:#e4e4e4;border-radius:6px;overflow:hidden;position:relative;box-shadow:inset 0 0 3px #00000026}.progress-fill{height:100%;background:linear-gradient(90deg,#007bff,#00b4d8);width:0;border-radius:6px;transition:width .6s cubic-bezier(.4,.01,.2,1);box-shadow:0 0 6px #00000026 inset}.progress-percent{font-size:.75rem;font-weight:600;margin-top:6px;letter-spacing:.5px;color:#333}.progress-checklist{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:4px 14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.progress-checklist li{display:flex;align-items:flex-start;gap:6px;font-size:.72rem;line-height:1.3;position:relative;padding-left:0}.progress-checklist li.done .task-label{color:#2e7d32;font-weight:600}.progress-checklist li.todo .task-label{color:#777}.check-icon{width:14px;flex:0 0 14px;font-size:.7rem;line-height:1.2rem;text-align:center;border-radius:4px;font-weight:700;color:#fff;background:#bbb;margin-top:1px}.progress-checklist li.done .check-icon{background:#2e7d32}.progress-checklist li.todo .check-icon{background:#bbb}@media (max-width: 600px){.progress-checklist{grid-template-columns:1fr}}.last-updated{margin-top:10px;font-size:.6rem;letter-spacing:.5px;text-transform:uppercase;color:#555;opacity:.85;font-weight:600}.checklist-toggle{margin-top:10px;background:#000;color:#fff;border:none;padding:6px 12px;font-size:.65rem;font-weight:600;border-radius:8px;cursor:pointer;box-shadow:0 4px 10px #00000040}.checklist-toggle:hover{opacity:.9}[data-theme=dark] .checklist-toggle{background:#fff;color:#000}.chat-root{position:fixed;bottom:18px;right:18px;z-index:4000;font-family:inherit}.chat-fab{background:#000;color:#fff;border:none;border-radius:28px;padding:12px 20px;font-weight:600;cursor:pointer;box-shadow:0 6px 18px #00000040;transition:background .2s,transform .2s}.chat-fab:hover{background:#111;transform:translateY(-2px)}.chat-panel{width:300px;max-height:460px;background:#fff;border-radius:18px;box-shadow:0 12px 40px -6px #00000059;display:flex;flex-direction:column;overflow:hidden;animation:chatPop .35s cubic-bezier(.34,1.56,.64,1)}@keyframes chatPop{0%{transform:translateY(16px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.chat-header{padding:10px 14px;background:#000;color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:.85rem}.chat-close{background:transparent;border:none;color:#fff;font-size:1.1rem;cursor:pointer;line-height:1}.chat-messages{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,#f7f7f7,#f0f0f0)}.msg{padding:8px 12px;border-radius:14px;max-width:82%;font-size:.72rem;line-height:1.3;box-shadow:0 2px 4px #00000014}.msg.bot{background:#fff;align-self:flex-start}.msg.user{background:#111;color:#fff;align-self:flex-end}.chat-input-row{display:flex;gap:6px;padding:10px 10px 8px;border-top:1px solid #e1e1e1;background:#fafafa}.chat-input{flex:1;resize:none;font-family:inherit;font-size:.7rem;padding:8px 10px;border:1px solid #ccc;border-radius:10px;line-height:1.2}.chat-input:focus{outline:2px solid #000;outline-offset:2px}.chat-send{background:#000;color:#fff;border:none;border-radius:10px;padding:8px 14px;font-size:.7rem;font-weight:600;cursor:pointer}.chat-send:hover{background:#111}.chat-footer{padding:8px 10px 12px;background:#fafafa;border-top:1px solid #e1e1e1;display:flex;flex-direction:column;gap:6px}.chat-export{background:#007bff;color:#fff;border:none;padding:6px 10px;font-size:.65rem;border-radius:8px;font-weight:600;cursor:pointer;align-self:flex-start}.chat-export:hover{background:#006adc}.chat-note{font-size:.55rem;color:#6b6b6b;line-height:1.3}@media (max-width: 560px){.hero{padding:70px 14px 170px}.chat-panel{width:min(100vw - 10px,360px);max-height:min(72vh,520px);bottom:0}.chat-messages{flex:1 1 auto}.chat-input-row{position:relative}}.quick-replies{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.qr-btn{background:#eef2f7;color:#0b2137;border:none;padding:6px 10px;border-radius:999px;font-size:.65rem;font-weight:600;cursor:pointer}[data-theme=dark] .qr-btn{background:#223242;color:#eaf2fb}.qr-btn:hover{opacity:.9}.estimator-grid{display:grid;gap:14px;margin-top:10px}.block{display:flex;flex-direction:column;gap:8px}.label{font-weight:700;font-size:.85rem;color:var(--text)}.options{display:flex;gap:8px;flex-wrap:wrap}.options.wrap{flex-wrap:wrap}.chip{background:#eef2f7;color:#0b2137;border:none;padding:8px 12px;border-radius:999px;font-size:.75rem;font-weight:700;cursor:pointer}[data-theme=dark] .chip{background:#223242;color:#eaf2fb}.chip.active{background:#0d60b7;color:#fff}.estimator-footer{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.price{display:flex;align-items:baseline;gap:8px}.price-label{color:var(--muted);font-size:.75rem}.price-value{font-size:1.25rem;letter-spacing:.5px}.disclaimer{margin-top:8px;font-size:.7rem;color:var(--muted)}.btn.btn-outline{background:transparent}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{list-style:none}a{color:inherit;text-decoration:none}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus-visible{outline:2px solid #000;outline-offset:2px}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}@media (forced-colors: active){*{border-color:currentColor}}
