:root{--bg:#f6f7ff;--bg-alt:#e9edff;--surface:#fff;--border:#d9dff7;--border-strong:#bdc8ef;--text-primary:#111a3a;--text-secondary:#485477;--text-muted:#697596;--accent:#315be8;--accent-2:#dd5a43;--accent-soft:#e7edff;--accent-gradient:linear-gradient(100deg, var(--accent), var(--accent-2));--shadow-sm:0 1px 2px #111a3a0a;--shadow-hover:0 14px 34px -10px #253e8c2e, 0 3px 10px #111a3a0f;--shadow-lift:0 22px 54px -14px #253e8c38, 0 5px 14px #111a3a14;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--radius-lg:14px;--radius-md:10px;--radius-sm:8px;--section-pad:clamp(44px, 6vw, 76px);--ease-out:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.65;overflow-x:clip}h1,h2,h3,h4{font-family:var(--font-sans);letter-spacing:-.02em;font-weight:600;line-height:1.15}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft);color:var(--text-primary)}.skip-link{z-index:10000;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:12px 20px;font-weight:600;position:absolute;top:-100px;left:16px}.skip-link:focus{top:16px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.glass{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .28s var(--ease-out), border-color .28s var(--ease-out), transform .28s var(--ease-out)}.glass:hover{border-color:var(--border-strong);box-shadow:var(--shadow-hover)}.lift{transition:transform .28s var(--ease-out), box-shadow .28s var(--ease-out), border-color .28s var(--ease-out)}.lift:hover{box-shadow:var(--shadow-lift);transform:translateY(-4px)}.glass-btn{font-family:var(--font-sans);letter-spacing:0;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);cursor:pointer;transition:border-color .2s ease, background .2s ease, transform .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:100px;justify-content:center;align-items:center;gap:8px;padding:13px 26px;font-size:.9rem;font-weight:600;display:inline-flex}.glass-btn:hover{border-color:var(--text-primary);background:var(--bg-alt);transform:translateY(-2px)}.glass-btn--primary{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg)}.glass-btn--primary:hover{box-shadow:var(--shadow-hover);background:#263d9f;border-color:#263d9f}.glass-btn--ghost{background:0 0}.glass-btn--secondary{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent)}.glass-tag{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);background:var(--bg-alt);border:1px solid var(--border);border-radius:100px;padding:6px 14px;font-size:.7rem;font-weight:500;display:inline-block}.section-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:500}.section-title{color:var(--text-primary);font-size:clamp(1.9rem,4vw,2.75rem);font-weight:600}.section-subtitle{color:var(--text-secondary);max-width:52ch;margin-top:14px;font-size:1.05rem;font-weight:400}.text-gradient{background:var(--accent-gradient);color:#0000;-webkit-background-clip:text;background-clip:text}[data-reveal]{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transform:translateY(18px)}[data-reveal].is-revealed{opacity:1;transform:none}[data-reveal][data-reveal-delay="1"]{transition-delay:80ms}[data-reveal][data-reveal-delay="2"]{transition-delay:.16s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transition:none;transform:none}.glass-btn:hover,.lift:hover{transform:none}}.header{z-index:1000;-webkit-backdrop-filter:saturate(1.4)blur(8px);background:#f6f7ffcc;border-bottom:1px solid #0000;transition:background .25s,border-color .25s,box-shadow .25s;position:sticky;top:0}.header--scrolled{border-bottom-color:var(--border);background:#f6f7fff2;box-shadow:0 1px #14140f08,0 8px 24px -16px #14140f33}.header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1800px;margin:0 auto;padding:8px clamp(24px,4vw,72px);display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:12px;font-weight:600;display:inline-flex}.brand-logo{flex:none;width:190px;height:auto;display:block}.brand-name{color:var(--text-primary);font-size:1rem}.nav{align-items:center;gap:32px;display:flex}.nav a{color:var(--text-secondary);font-size:.88rem;font-weight:500;transition:color .2s;position:relative}.nav a:not(.nav-cta):after{content:"";background:var(--accent);transform-origin:0;border-radius:999px;height:2px;transition:transform .2s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.nav a:hover,.nav a:focus-visible{color:var(--text-primary)}.nav a:not(.nav-cta):hover:after,.nav a:not(.nav-cta):focus-visible:after{transform:scaleX(1)}.nav-cta{background:var(--text-primary)!important;border:1px solid var(--text-primary)!important;color:var(--bg)!important;border-radius:100px!important;padding:10px 20px!important}.nav-cta:hover{color:var(--bg)!important;background:#263d9f!important}.nav-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:10px;display:none}@media (max-width:480px){.brand-logo{width:160px}}.nav-toggle span{background:var(--text-primary);border-radius:1px;width:100%;height:2px;display:block}@media (max-width:900px){.nav-toggle{display:flex}.nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-hover);opacity:0;visibility:hidden;flex-direction:column;align-items:stretch;gap:0;padding:12px;transition:transform .3s,opacity .3s,visibility .3s;position:fixed;top:72px;left:12px;right:12px;transform:translateY(-120%)}.nav-open{opacity:1;visibility:visible;transform:translateY(0)}.nav a{border-bottom:1px solid var(--border);padding:14px 16px}.nav a:last-child{border-bottom:none}.nav-cta{text-align:center;margin-top:8px}}.mascot{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;width:60px;height:60px;padding:0;transition:transform 3.6s cubic-bezier(.45,0,.18,1);position:relative}.mascot-body{filter:drop-shadow(0 10px 18px #14140f2e);width:100%;height:100%;transition:transform .35s;display:block}.mascot-bob{width:100%;height:100%;animation:2.6s ease-in-out infinite mascot-bob;display:block}@keyframes mascot-bob{50%{transform:translateY(-5px)}}.mascot-svg{width:100%;height:100%;display:block;overflow:visible}.mascot:hover .mascot-bob{animation-duration:1.1s}.mascot-eye{transform-box:fill-box;transform-origin:50%;animation:4.4s infinite mascot-blink}@keyframes mascot-blink{0%,91%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}.mascot-bubble{width:max-content;max-width:190px;font-family:var(--font-sans);color:var(--text-primary);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-hover);pointer-events:none;opacity:0;transform-origin:100% 100%;border-radius:12px;padding:8px 12px;font-size:.78rem;font-weight:500;line-height:1.35;transition:opacity .28s,transform .28s;position:absolute;bottom:calc(100% + 8px);right:4px;transform:translateY(4px)scale(.96)}.mascot-bubble:after{content:"";border:6px solid #0000;border-top-color:var(--surface);filter:drop-shadow(0 1px 0 var(--border));position:absolute;top:100%;right:16px}.mascot-bubble--show{opacity:1;transform:translateY(0)scale(1)}@media (prefers-reduced-motion:reduce){.mascot{transition:none}.mascot-bob,.mascot-eye{animation:none}.mascot-bubble{transition:opacity .2s;transform:none}.mascot-bubble--show{transform:none}}@media (max-width:480px){.mascot{width:52px;height:52px}.mascot-bubble{max-width:150px;font-size:.72rem}}.ai-chat{z-index:1200;flex-direction:column;align-items:flex-end;gap:14px;display:flex;position:fixed;bottom:clamp(16px,4vw,32px);right:clamp(16px,4vw,32px)}.ai-panel{border-radius:var(--radius-lg);flex-direction:column;width:min(380px,100vw - 32px);height:min(560px,100vh - 120px);animation:.22s ai-panel-in;display:flex;overflow:hidden;box-shadow:0 20px 60px #14140f2e}@keyframes ai-panel-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.ai-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.ai-panel-id{align-items:center;gap:10px;display:flex}.ai-panel-dot{background:#37d39b;border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 4px #37d39b2e}.ai-panel-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.ai-panel-sub{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);font-size:.68rem}.ai-panel-actions{align-items:center;gap:4px;display:flex}.ai-icon-btn{font-family:var(--font-mono);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 10px;font-size:.72rem;transition:color .15s,border-color .15s}.ai-icon-btn:hover{color:var(--text-primary);border-color:var(--border)}.ai-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.ai-msg{white-space:pre-wrap;word-wrap:break-word;border-radius:14px;max-width:85%;padding:10px 13px;font-size:.9rem;line-height:1.55}.ai-msg--assistant{background:var(--bg-alt);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.ai-msg--user{background:var(--text-primary);color:var(--bg);border-bottom-right-radius:4px;align-self:flex-end}.ai-msg--error{color:#a23b3b;background:#fff4f4;border:1px solid #f2c9c9;align-self:stretch;max-width:100%}.ai-error-fallback{margin-top:6px;font-size:.82rem}.ai-error-fallback a{color:var(--accent);border-bottom:1px solid var(--accent)}.ai-typing{gap:4px;padding:4px 0;display:inline-flex}.ai-typing span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite ai-blink}.ai-typing span:nth-child(2){animation-delay:.18s}.ai-typing span:nth-child(3){animation-delay:.36s}@keyframes ai-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.ai-suggestions{flex-wrap:wrap;gap:8px;padding:0 16px 12px;display:flex}.ai-suggestion{font-family:var(--font-sans);color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:100px;padding:8px 12px;font-size:.8rem;transition:border-color .15s,color .15s}.ai-suggestion:hover{border-color:var(--text-primary);color:var(--text-primary)}.ai-input-row{border-top:1px solid var(--border);align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.ai-input{resize:none;max-height:120px;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;padding:10px 12px;font-size:.9rem;line-height:1.5}.ai-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ai-send{width:40px;height:40px;color:var(--bg);background:var(--text-primary);border:1px solid var(--text-primary);cursor:pointer;border-radius:50%;flex-shrink:0;font-size:1.1rem;transition:background .15s}.ai-send:disabled{background:var(--border-strong);border-color:var(--border-strong);cursor:not-allowed}.ai-disclaimer{color:var(--text-muted);padding:0 16px 14px;font-size:.72rem;line-height:1.4}@media (prefers-reduced-motion:reduce){.ai-panel{animation:none}.ai-launcher:hover{transform:none}.ai-typing span{animation:none}}@media (max-width:480px){.ai-chat{align-items:stretch;bottom:12px;left:12px;right:12px}.ai-panel{width:100%;height:min(70vh,100vh - 100px)}.mascot{align-self:flex-end}}.cookie-consent{z-index:1100;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:#fff;align-items:center;gap:24px;width:min(720px,100vw - 24px);padding:20px 22px;display:flex;position:fixed;bottom:clamp(12px,3vw,28px);left:clamp(12px,3vw,28px);box-shadow:0 16px 48px #14140f2e}.cookie-consent-copy{flex:1}.cookie-consent-copy strong{color:var(--text-primary)}.cookie-consent-copy p{color:var(--text-secondary);margin-top:4px;font-size:.84rem;line-height:1.5}.cookie-consent-copy a{color:var(--accent);text-underline-offset:2px;margin-top:6px;font-size:.82rem;text-decoration:underline;display:inline-block}.cookie-consent-actions{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.cookie-consent-actions button{border:1px solid var(--border-strong);min-height:40px;color:var(--text-primary);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:600}.cookie-consent-actions button:hover{border-color:var(--text-primary)}.cookie-consent-actions .cookie-accept{border-color:var(--text-primary);background:var(--text-primary);color:#fff}@media (max-width:600px){.cookie-consent{flex-direction:column;align-items:stretch;gap:12px;width:calc(100vw - 16px);padding:16px;bottom:82px;left:8px}.cookie-consent-actions{flex-direction:row}.cookie-consent-actions button{flex:1;padding-inline:8px}}.contact-channels-grid{grid-template-columns:1fr;gap:10px;display:grid}@media (min-width:620px){.contact-channels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-channel-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:14px;padding:14px 16px;transition:border-color .2s,background .2s;display:flex}.contact-channel-btn:hover{background:var(--bg-alt);border-color:var(--border-strong);color:inherit}.contact-channel-btn--primary{background:var(--accent-soft);border-color:var(--accent-soft)}.contact-channel-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.channel-logo{flex-shrink:0;width:32px;height:32px;display:block}.contact-channel-text{flex-direction:column;gap:2px;min-width:0;display:flex}.contact-channel-label{color:var(--text-primary);font-size:.85rem;font-weight:600}.contact-channel-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.contact-form{flex-direction:column;gap:16px;display:flex}.contact-form-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-form-label{color:var(--text-secondary);flex-direction:column;gap:8px;font-size:.85rem;font-weight:500;display:flex}.contact-form-required{color:var(--accent)}.contact-form-input{font-family:var(--font-sans);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-primary);width:100%;padding:14px 16px;font-size:1rem;font-weight:400;transition:border-color .2s}.contact-form-input::placeholder{color:var(--text-muted)}.contact-form-input:focus{border-color:var(--accent);outline:none}.contact-form-textarea{resize:vertical;min-height:112px}.contact-form-error{border-radius:var(--radius-sm);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:14px 16px;font-size:.9rem;font-weight:500}.contact-form-success{text-align:center;padding:32px}.contact-form-success-title{color:var(--text-primary);margin-bottom:10px;font-size:1.25rem;font-weight:600}.contact-form-success p{color:var(--text-secondary);margin-bottom:24px}.contact-form .glass-btn{align-self:flex-start}.footer{border-top:1px solid var(--border);background:var(--bg-alt);padding:40px 24px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;max-width:1800px;margin:0 auto;display:flex}.footer-name{color:var(--text-primary);font-size:1rem;font-weight:600}.footer-tagline{color:var(--text-muted);margin-top:6px;font-size:.9rem}.footer-nav{flex-wrap:wrap;gap:28px;display:flex}.footer-nav a{color:var(--text-secondary);font-size:.88rem;font-weight:500;transition:color .2s}.footer-nav button{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:0;font-size:.88rem;font-weight:500}.footer-nav button:hover,.footer-nav a:hover{color:var(--accent)}.portfolio{min-height:100vh;position:relative}.hero{width:min(100%,1800px);padding:clamp(48px, 7vh, 92px) clamp(24px, 4vw, 72px) var(--section-pad);margin:0 auto;position:relative;overflow:hidden}.hero:before{content:"";filter:blur(8px);pointer-events:none;z-index:0;background:radial-gradient(420px 320px at 18% 22%,#315be833,#0000 70%),radial-gradient(460px 340px at 82% 8%,#dd5a4329,#0000 72%);height:620px;animation:18s ease-in-out infinite alternate hero-drift;position:absolute;inset:-20% -10% auto}@keyframes hero-drift{to{transform:translateY(26px)scale(1.05)}}.hero-grid{z-index:1;grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);align-items:center;gap:clamp(28px,5vw,76px);display:grid;position:relative}.hero-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:20px;font-size:.8rem;display:inline-flex}.hero-label-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.hero-name{letter-spacing:-.03em;font-size:clamp(3.25rem,7.5vw,7rem);font-weight:600;line-height:1.05}.hero-surname{margin-top:4px;display:block}.hero-role{color:var(--text-secondary);margin-top:16px;font-size:1.2rem;font-weight:500}.hero-intro{color:var(--text-secondary);max-width:58ch;margin-top:20px;font-size:1.05rem;line-height:1.7}.hero-stats{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.stat-box{border-radius:var(--radius-md);min-width:96px;padding:18px 22px}.stat-box:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.stat-value{color:var(--text-primary);font-size:1.6rem;font-weight:600;line-height:1;display:block}.stat-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-top:6px;font-size:.65rem;display:block}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:36px;display:flex}.hero-text-link{color:var(--text-secondary);border-bottom:1px solid var(--border-strong);padding:8px 0;font-weight:600}.hero-text-link:hover{color:var(--accent);border-color:var(--accent)}.hero-summary{background:linear-gradient(145deg,#e9efff,#fff 68%);border-color:#b9c8fb;padding:clamp(24px,4vw,48px);position:relative;overflow:hidden;box-shadow:0 24px 56px -26px #315be861,0 8px 22px -14px #111a3a2e}.hero-summary:after{content:"";pointer-events:none;background:radial-gradient(circle,#dd5a4338,#dd5a4300);border-radius:50%;width:180px;height:180px;position:absolute;top:-86px;right:-86px}.hero-summary-top{z-index:1;align-items:center;gap:9px;display:flex;position:relative}.hero-summary-spark{background:var(--accent);color:#fff;width:26px;height:26px;box-shadow:0 8px 16px -9px var(--accent);border-radius:8px;place-items:center;font-size:.85rem;display:inline-grid}.hero-summary-label{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.9rem;font-weight:600}.hero-summary ul{z-index:1;margin-top:24px;list-style:none;position:relative}.hero-summary li{border-bottom:1px solid var(--border);grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;padding:20px 0;font-size:clamp(1rem,1.5vw,1.2rem);display:grid}.hero-summary li span{color:var(--accent);font-family:var(--font-mono);font-size:.75rem}.hero-summary li strong{color:var(--text-primary);display:block}.hero-summary li small{max-width:38ch;color:var(--text-secondary);margin-top:6px;font-size:.88rem;line-height:1.55;display:block}.hero-summary-note{z-index:1;color:var(--text-secondary);margin-top:22px;line-height:1.6;position:relative}.section{width:min(100%,1800px);padding:var(--section-pad) clamp(24px, 4vw, 72px);margin:0 auto;scroll-margin-top:88px}#available,#services{padding-top:clamp(24px,4vw,48px)}.avail-card{flex-direction:column;gap:28px;padding:clamp(28px,4vw,44px);display:flex}.avail-status{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-secondary);align-items:center;gap:10px;font-size:.78rem;display:inline-flex}.avail-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:9px;height:9px}.avail-dot--on{background:#1fa971;animation:2.4s ease-out infinite avail-pulse;box-shadow:0 0 0 4px #1fa97129}@keyframes avail-pulse{0%{box-shadow:0 0 #1fa97159}70%{box-shadow:0 0 0 10px #1fa97100}to{box-shadow:0 0 #1fa97100}}@media (prefers-reduced-motion:reduce){.avail-dot--on,.hero:before{animation:none}}.avail-title{color:var(--text-primary);margin-top:14px;font-size:clamp(1.5rem,3vw,2rem);font-weight:600}.avail-lead{max-width:62ch;color:var(--text-secondary);margin-top:12px;line-height:1.7}.avail-services{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.avail-service{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-alt);padding:20px}.avail-service-title{color:var(--text-primary);font-size:1rem;font-weight:600}.avail-service-desc{color:var(--text-secondary);margin-top:8px;font-size:.9rem;line-height:1.6}.avail-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.avail-link{font-family:var(--font-mono);color:var(--accent);border-bottom:1px solid var(--accent);font-size:.8rem}.section-head{margin-bottom:clamp(28px,3vw,38px)}.about-bento{grid-template-columns:minmax(260px,.72fr) minmax(0,1.6fr);align-items:stretch;gap:clamp(20px,4vw,48px);display:grid}.about-portrait{background:#e8ebf2;min-height:360px;padding:8px;position:relative;overflow:hidden}.about-photo{object-fit:cover;object-position:center 30%;border-radius:calc(var(--radius-lg) - 5px);width:100%;height:100%;min-height:360px;display:block}.about-photo-caption{color:#fff;background:#14140fb8;border-radius:999px;padding:8px 12px;font-size:.78rem;position:absolute;bottom:20px;left:20px}.about-card,.skills-panel{padding:32px}.about-card p{color:var(--text-secondary);line-height:1.75}.about-card p+p{margin-top:16px}.about-card strong{color:var(--text-primary);font-weight:600}.about-badges{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.about-next-step{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:28px;padding-top:24px;display:flex}.about-next-step p{max-width:44ch;font-size:.94rem}.panel-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px;font-size:.85rem;font-weight:600}.education-block{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.edu-degree{color:var(--text-primary);font-weight:600}.edu-meta{color:var(--text-muted);margin-top:6px;font-size:.9rem}.timeline{flex-direction:column;gap:16px;display:flex}.timeline-card{border-top:1px solid var(--border);grid-template-columns:auto 1fr;gap:24px;padding:28px 0;display:grid}.timeline-card:last-child{border-bottom:1px solid var(--border)}.timeline-icon{border-radius:var(--radius-sm);background:var(--bg-alt);border:1px solid var(--border);width:48px;height:48px;font-family:var(--font-mono);color:var(--accent);justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.timeline-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.timeline-top h3{font-size:1.15rem;font-weight:600}.timeline-period{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem}.timeline-company{color:var(--accent);margin-top:4px;font-size:.95rem;font-weight:500}.timeline-desc{color:var(--text-secondary);margin-top:12px;line-height:1.65}.journey-bento{grid-template-columns:1fr 1.25fr;align-items:stretch;gap:20px;display:grid}.journey-image{min-height:280px;padding:8px}.journey-image img{object-fit:cover;border-radius:calc(var(--radius-lg) - 6px);width:100%;height:100%;min-height:260px}.journey-text{padding:32px}.journey-text p{color:var(--text-secondary);line-height:1.75}.journey-text p+p{margin-top:14px}.journey-text strong{color:var(--text-primary)}.journey-quote{border-left:3px solid var(--accent);background:var(--bg-alt);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-primary);margin:24px 0;padding:20px 24px;font-size:1.05rem;font-weight:500}.journey-list{color:var(--text-secondary);margin:16px 0 20px 18px}.journey-list li+li{margin-top:8px}.journey-tags{flex-wrap:wrap;gap:8px;display:flex}.bento-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(160px,auto);gap:16px;display:grid}.solutions-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.solution-item{border-right:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:42px minmax(0,1fr);gap:16px;min-height:280px;padding:clamp(24px,3vw,40px);transition:background .25s;display:grid}.solution-item:hover{background:#fff9}.solution-index{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;font-size:.76rem}.solution-item .bento-title{font-size:clamp(1.2rem,2vw,1.5rem)}.solution-item .bento-desc{flex:initial;margin-top:12px}.solution-item .bento-tech,.solution-tech{margin-top:24px}.solution-tech-label{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px;font-size:.68rem}.technology-more{border:1px dashed var(--border-strong);color:var(--accent);font:600 .72rem var(--font-mono);cursor:pointer;background:0 0;border-radius:999px;padding:6px 10px}.technology-more:hover{border-color:var(--accent);background:var(--accent-soft)}.previous-work-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr}.previous-work-card{grid-area:auto/span 1;min-height:260px}.previous-work-more{margin-top:16px}.previous-work-more[hidden]{display:none}.previous-work-link{align-self:flex-start;margin-top:8px;padding:10px 18px;font-size:.84rem}.more-work-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);font:inherit;cursor:pointer;border-radius:100px;align-items:center;gap:10px;margin:24px auto 0;padding:12px 20px;font-weight:600;transition:border-color .2s,background .2s,transform .2s;display:inline-flex}.more-work-button:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.more-work-count{background:var(--accent-soft);min-width:22px;min-height:22px;color:var(--accent);border-radius:50%;place-items:center;font-size:.75rem;display:inline-grid}.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.pricing-card{flex-direction:column;align-items:flex-start;gap:12px;min-height:280px;padding:24px;display:flex}.pricing-index{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-muted);font-size:.7rem}.pricing-title{font-size:1.05rem}.pricing-price{color:var(--accent);letter-spacing:-.02em;font-size:1.35rem;font-weight:700}.pricing-starts{gap:8px;width:100%;display:grid}.pricing-start{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text-secondary);justify-content:space-between;align-items:baseline;gap:14px;padding:10px 12px;font-size:.78rem;line-height:1.35;display:flex}.pricing-start strong{color:var(--accent);letter-spacing:-.01em;flex:none;font-size:.88rem}.pricing-description{color:var(--text-primary);font-weight:500;line-height:1.5}.pricing-scope{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:auto;padding-top:12px;font-size:.88rem;line-height:1.6}.pricing-note{max-width:80ch;color:var(--text-muted);text-align:center;margin:18px auto 0;font-size:.88rem;line-height:1.6}.pricing-cta{justify-content:center;margin-top:24px;display:flex}.bento-card{flex-direction:column;gap:10px;padding:24px;display:flex}.bento-featured{grid-area:span 2/span 2}.bento-wide{grid-column:span 2}.bento-standard{grid-column:span 1}.bento-has-video{grid-row:span 2}.bento-index{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.1em;font-size:.7rem}.bento-title{letter-spacing:-.02em;font-size:1.15rem;font-weight:600}.bento-featured .bento-title{font-size:1.4rem}.bento-desc{color:var(--text-secondary);flex:1;font-size:.92rem;line-height:1.6}.bento-tech{flex-wrap:wrap;gap:6px;display:flex}.bento-highlights{flex-direction:column;gap:8px;margin:2px 0 4px;list-style:none;display:flex}.bento-highlights li{color:var(--text-secondary);padding-left:16px;font-size:.88rem;line-height:1.55;position:relative}.bento-highlights li:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:.6em;left:0}.bento-demo{margin-top:8px}.demo-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:8px;font-size:.65rem;display:block}.bento-video{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-alt);width:100%}.bento-link{align-self:flex-start;margin-top:auto;padding:10px 20px;font-size:.85rem}.next-block{margin-top:40px}.next-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:18px;font-size:.8rem;font-weight:500}.next-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.next-card{background:var(--bg-alt);border-style:dashed}.next-card .bento-desc{color:var(--text-muted)}.next-tag{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-soft);align-self:flex-start}.learning-block{border-top:1px solid var(--border);margin-top:32px;padding-top:20px}.learning-summary{cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:.8rem;list-style:none}.learning-summary::-webkit-details-marker{display:none}.learning-summary:before{content:"+ ";color:var(--text-muted)}.learning-block[open] .learning-summary:before{content:"– "}.learning-list{flex-direction:column;gap:16px;margin-top:20px;list-style:none;display:flex}.learning-item{border-bottom:1px solid var(--border);padding-bottom:16px}.learning-item:last-child{border-bottom:none;padding-bottom:0}.learning-item-head{flex-wrap:wrap;align-items:baseline;gap:6px 14px;display:flex}.learning-item-title{color:var(--text-primary);font-weight:600}.learning-item-title:hover{color:var(--accent)}.learning-item-tech{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);font-size:.7rem}.learning-item-desc{color:var(--text-secondary);margin-top:6px;font-size:.9rem}.contact-inline-link{color:var(--accent);border-bottom:1px solid var(--accent);font-weight:500}.contact-bento{grid-template-columns:minmax(320px,720px);justify-content:center;align-items:start;gap:16px;display:grid}.contact-aside{padding:clamp(22px,3vw,30px)}.contact-form-prompt{color:var(--text-secondary);text-align:center;margin:20px 0 12px;font-size:.92rem}.contact-aside>.glass-btn{width:fit-content;margin:0 auto;display:flex}.project-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(680px,100% - 32px);max-width:680px;max-height:calc(100dvh - 40px);color:var(--text-primary);margin:0;padding:0;position:fixed;inset:50% auto auto 50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 24px 80px #14140f3d}.project-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f121e8f}.project-dialog-content{scrollbar-width:none;max-height:calc(100dvh - 40px);padding:clamp(22px,4vw,36px);overflow-y:auto}.project-dialog-content::-webkit-scrollbar{display:none}.project-dialog-heading{justify-content:space-between;gap:20px;margin-bottom:24px;display:flex}.project-dialog-heading h2{margin-top:4px;font-size:clamp(1.7rem,4vw,2.2rem)}.project-dialog-heading p:last-child{color:var(--text-secondary);margin-top:8px}.project-dialog-close{border:1px solid var(--border);background:var(--bg);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:50%;flex:none;font-size:1.6rem;line-height:1}.project-dialog>.project-dialog-content>.contact-aside-title{margin:22px 0 12px}.project-dialog-form{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.contact-aside-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:20px;font-size:.85rem;font-weight:600}@media (max-width:1024px){.solutions-grid{grid-template-columns:1fr}.bento-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid,.previous-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.avail-services,.next-grid{grid-template-columns:repeat(2,1fr)}.bento-featured{grid-area:span 1/span 2}.bento-wide{grid-column:span 2}.bento-has-video{grid-row:span 1}}@media (max-width:900px){.hero-grid,.about-bento,.journey-bento,.contact-bento{grid-template-columns:1fr}.hero{padding-top:48px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}.hero-summary{max-width:none}}@media (max-width:700px){.project-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.project-dialog-content{max-height:calc(100dvh - 24px);padding:22px}}@media (max-width:600px){.bento-grid,.pricing-grid,.previous-work-grid,.avail-services,.next-grid{grid-template-columns:1fr}.bento-featured,.bento-wide,.bento-standard{grid-area:span 1/span 1}.about-bento{grid-template-columns:minmax(0,1fr)}.about-portrait,.about-photo{min-height:0}.about-photo{aspect-ratio:4/3}}.wwm-page{flex-direction:column;min-height:100vh;display:flex}.wwm-main{flex-direction:column;flex:1;gap:20px;max-width:800px;margin:0 auto;padding:clamp(48px,8vh,80px) 24px 64px;display:flex}.wwm-hero{padding:36px}.wwm-title{margin-top:8px}.wwm-lead{color:var(--text-secondary);margin-top:16px;font-size:1.05rem;line-height:1.7}.wwm-block{padding:32px}.wwm-heading{border-bottom:1px solid var(--border);color:var(--text-primary);margin-bottom:20px;padding-bottom:14px;font-size:1.1rem;font-weight:600}.wwm-text{color:var(--text-secondary);line-height:1.7}.wwm-list{flex-direction:column;gap:14px;list-style:none;display:flex}.wwm-list li{border-left:2px solid var(--accent);color:var(--text-secondary);padding-left:16px;line-height:1.6}.wwm-list strong{color:var(--text-primary);font-weight:600}.wwm-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:24px;display:grid}.wwm-card-inner{padding:20px}.wwm-card-inner h3{color:var(--accent);margin-bottom:8px;font-size:.9rem;font-weight:600}.wwm-card-inner p{color:var(--text-secondary);font-size:.92rem;line-height:1.6}.wwm-steps{color:var(--text-secondary);margin-left:20px;line-height:1.7}.wwm-steps li+li{margin-top:12px}.wwm-steps strong{color:var(--text-primary)}.wwm-note{background:var(--accent-soft);border:1px solid var(--accent-soft);border-radius:var(--radius-md);color:var(--text-secondary);margin-top:24px;padding:16px 20px;font-size:.95rem}.wwm-cta{text-align:center;padding:36px}.wwm-cta p{color:var(--text-secondary);margin-bottom:24px;line-height:1.65}.wwm-cta .glass-btn{display:inline-flex}.legal-page{min-height:70vh;padding:clamp(48px,8vw,96px) 24px}.legal-inner{width:min(100%,900px);margin:0 auto}.legal-back{color:var(--text-secondary);margin-bottom:44px;font-weight:600;display:inline-block}.legal-inner h1{margin-top:12px;font-size:clamp(2.2rem,5vw,4rem)}.legal-updated{color:var(--text-muted);margin-top:12px}.legal-copy{color:var(--text-secondary);margin-top:44px;line-height:1.8}.legal-copy h2{color:var(--text-primary);margin:32px 0 8px;font-size:1.15rem}.legal-copy a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}@media (max-width:600px){.legal-page{padding-inline:20px}}#root{width:100%;min-height:100vh}
