:root{--color-bg:#363636;--color-bg-raised:#474747;--color-text-primary:#f0ede8;--color-text-muted:#a8a7a7;--color-text-disabled:#c9c5bf;--color-accent:#e8175d;--color-accent-soft:#d4607f;--color-btn-primary-bg:#e8175d;--color-btn-primary-text:#1a1a1a;--color-btn-ghost-text:#a8a7a7;--color-btn-ghost-border:#474747;--color-border:#474747;--font-display:"Syne", sans-serif;--font-body:"Montserrat", sans-serif;--text-xs:clamp(.625rem, 1vw, .75rem);--text-sm:clamp(.75rem, 1.2vw, .875rem);--text-base:clamp(1rem, 1.5vw, 1.125rem);--text-lg:clamp(1rem, 2vw, 1.25rem);--text-xl:clamp(1.5rem, 3vw, 2rem);--text-2xl:clamp(1.8rem, 6vw, 4rem);--tracking-tight:-.02em;--tracking-normal:.01em;--tracking-wide:.08em;--tracking-wider:.12em;--leading-tight:1.08;--leading-normal:1.6;--leading-loose:1.8;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3rem;--space-10:4rem;--space-11:5rem;--space-12:6rem;--section-padding:clamp(2rem, 8vw, 3.5rem);--container-padding:clamp(1.5rem, 5vw, 3rem);--navbar-height:5.313em;--border-radius-sm:2px;--border-radius-md:4px}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;scrollbar-gutter:stable}body{color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-base);background-color:var(--color-bg);line-height:1.5}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}h1,h2,h3,h4{overflow-wrap:break-word;font-family:var(--font-display);line-height:1.08}.container{width:min(1440px,100%);padding:var(--container-padding);margin-inline:auto}.section-eyebrow{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.section-eyebrow-dot{background-color:var(--color-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.section-eyebrow-text{font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent-soft);font-weight:400}.section-heading{font-size:var(--text-xl);font-weight:800;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-9)}.accent-text{color:var(--color-accent)}.custom-input-caret{caret-color:var(--color-accent)}.no-transition *{transition:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}*,:before,:after{box-sizing:border-box;margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}img,picture,video,canvas,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer;background:0 0;border:none}textarea{resize:vertical}.nav{z-index:1000;padding-inline:var(--container-padding);height:var(--navbar-height);border-bottom:.5px solid var(--color-border);background-color:var(--color-bg);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.nav-logo img{width:auto;height:52px}.nav-list{gap:var(--space-8);display:flex}.nav-link{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);font-weight:400;transition:color .15s}.nav-link:hover,.nav-link:focus-visible,.nav-link[aria-current=page]{color:var(--color-text-primary)}.nav-link-cta{color:var(--color-accent-soft);border:.5px solid var(--color-accent);padding:var(--space-2) var(--space-4);border-radius:var(--border-radius-sm);letter-spacing:var(--tracking-wide)}.nav-link-cta:hover,.nav-link-cta:focus-visible{background-color:var(--color-accent);color:var(--color-btn-primary-text)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:2.5em;height:2.5em;display:none}.bar{background-color:var(--color-accent);border-radius:4px;width:100%;height:3px;transition:transform .35s,opacity .25s}.bar-top,.bar-bottom{width:70%}@media (width<=768px){.nav-toggle{display:flex}.nav-list{top:var(--navbar-height);padding:var(--space-4) var(--container-padding);background-color:var(--color-bg);opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;align-items:center;transition:opacity .3s,transform .3s,visibility 0s .3s;position:absolute;left:0;right:0;transform:translateY(-8px)}.nav-list.is-open{opacity:1;visibility:visible;pointer-events:auto;height:100vh;transition:opacity .3s,transform .3s,visibility;transform:translateY(0)}.nav-toggle[aria-expanded=true] .bar-top{transform:translateY(9px)rotate(45deg)}.nav-toggle[aria-expanded=true] .bar-middle{opacity:0}.nav-toggle[aria-expanded=true] .bar-bottom{transform:translateY(-9px)rotate(-45deg)}}.banner{padding-block:var(--section-padding);position:relative;overflow:hidden}.banner-eyebrow{margin-bottom:var(--space-6)}.banner-headline{font-size:var(--text-2xl);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-2);font-weight:800}.banner-headline-muted{color:var(--color-text-disabled)}.banner-divider{background-color:var(--color-accent);border-radius:var(--border-radius-sm);width:32px;height:2px;margin-bottom:var(--space-5)}.banner-description{font-size:var(--text-base);font-weight:300;line-height:var(--leading-loose);color:var(--color-text-muted);max-width:35em;margin-bottom:var(--space-8)}.banner-description strong{color:var(--color-text-primary);font-weight:400}.banner-cta{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.btn{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--border-radius-sm);font-weight:500;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.btn-primary{background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:.5px solid var(--color-btn-primary-bg)}.btn-ghost{color:var(--color-btn-ghost-text);border:.5px solid var(--color-btn-ghost-border);background-color:#0000}.btn-primary:hover,.btn-primary:focus-visible{background-color:var(--color-accent-soft);border-color:var(--color-accent-soft)}.btn-ghost:hover,.btn-ghost:focus-visible{color:var(--color-text-primary);border-color:var(--color-text-primary)}.banner-glow{pointer-events:none;will-change:left, top;border-radius:50%;position:absolute}.banner-glow-1{background:#e8175d18;width:clamp(180px,25vw,360px);height:clamp(180px,25vw,360px);top:0;right:70%}.banner-glow-2{background:#cc527a12;width:clamp(120px,18vw,260px);height:clamp(120px,18vw,260px);bottom:60%;left:5%}.about{padding-block:var(--section-padding)}.about-grid{flex-direction:column;display:flex}.about-layout{grid-template-columns:minmax(280px,420px) 1fr;align-items:center;gap:clamp(2rem,6vw,5rem);display:grid}.about-photo-wrap{position:relative}.about-photo-wrap:before{content:"";border:2px solid var(--color-accent);border-radius:var(--border-radius-md);z-index:-1;position:absolute;inset:0;transform:translate(12px,12px)}.about-photo{border-radius:var(--border-radius-md);aspect-ratio:4/5;object-fit:cover;width:100%}.about-text{font-size:var(--text-base);font-weight:300;line-height:var(--leading-loose);color:var(--color-text-muted);margin-bottom:var(--space-4)}.about-text strong{color:var(--color-text-primary);font-weight:400}.about-stats{text-align:center;justify-content:space-between;gap:var(--space-8);margin-top:var(--space-8);padding-top:var(--space-6);border-top:.5px solid var(--color-border);display:flex}.about-stat-value{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-accent);font-weight:800}.about-stat-label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);margin-top:var(--space-1);font-weight:400}.about-stat-link{cursor:pointer;transition:color var(--transition-fast)}.about-stat-link:hover,.about-stat-link:focus-visible{color:var(--color-accent-soft)}@media (width<=768px){.about-layout{gap:var(--space-8);grid-template-columns:1fr}.about-photo-wrap{width:100%;max-width:340px}}.skills{padding-block:var(--section-padding)}.skills-grid{gap:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.skills-category{border:.5px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--space-6)}.skills-category-title{font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:.5px solid var(--color-border);font-weight:400}.skills-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.skills-tag{font-size:var(--text-sm);color:var(--color-text-primary);background-color:var(--color-bg);border:.5px solid var(--color-border);padding:var(--space-3) var(--space-4);border-radius:var(--border-radius-sm);font-weight:400}@media (width<=768px){.skills-grid{grid-template-columns:minmax(0,1fr)}}.work{padding-block:var(--section-padding)}.project-list{flex-direction:column;display:flex}.project-row{align-items:center;gap:var(--space-6);padding-block:var(--space-5);border-bottom:.5px solid var(--color-border);grid-template-columns:40px 1fr auto auto;transition:background .15s;display:grid}.project-row:first-child{border-top:.5px solid var(--color-border)}.project-row:hover,.project-row:focus-visible{background:#ffffff05}.project-row:hover .project-num,.project-row:focus-visible .project-num{color:var(--color-accent)}.project-row:hover .project-name,.project-row:focus-visible .project-name{color:var(--color-text-primary)}.project-num{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-text-disabled);font-weight:800;transition:color .15s}.project-info{gap:var(--space-1);flex-direction:column;display:flex}.project-name{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-muted);font-weight:800;transition:color .15s}.project-desc{font-size:var(--text-sm);color:var(--color-text-disabled);font-weight:300}.project-tags{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.project-tag{font-size:var(--text-xs);color:var(--color-text-muted);border:.5px solid var(--color-border);padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-sm)}.project-tag-client{color:var(--color-accent-soft);background:#e8175d14;border-color:#e8175d4d}.project-tag-progress{color:var(--color-text-primary);background:#e8175d14;border-color:#e8175d4d;font-style:italic}.project-links{gap:var(--space-4);flex-shrink:0;display:flex}.project-link{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent);white-space:nowrap;font-weight:500}.project-link:hover,.project-link:focus-visible{text-decoration:underline}.project-link-muted{color:var(--color-text-disabled)}@media (width<=768px){.project-row{gap:var(--space-3);grid-template-rows:auto auto;grid-template-columns:32px 1fr auto}.project-tags{grid-column:2/-1;justify-content:flex-start}.project-links{grid-area:1/3}}@media (width<=480px){.project-row{gap:var(--space-2);grid-template-rows:auto auto auto;grid-template-columns:28px 1fr}.project-links{grid-area:auto/2}.project-tags{grid-column:2;justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.project-row,.project-num,.project-name{transition:none}}.contact{padding-block:var(--section-padding)}.contact-grid{gap:var(--space-12);grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);display:grid}.contact-heading{margin-bottom:var(--space-4)}.contact-lead{font-size:var(--text-base);font-weight:300;line-height:var(--leading-loose);color:var(--color-text-muted);max-width:26rem;margin-bottom:var(--space-8)}.contact-info-list{justify-content:space-between;gap:var(--space-4);flex-direction:column;display:flex}.contact-info-item{gap:var(--space-1);flex-direction:column;display:flex}.contact-info-label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);font-weight:400}.contact-form{gap:var(--space-5);flex-direction:column;display:flex}.contact-field{gap:var(--space-2);flex-direction:column;display:flex}.contact-label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);font-weight:400}.contact-input,.contact-textarea{background-color:var(--color-bg);border:.5px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary)}.contact-input-caret{caret-color:var(--color-accent)}.contact-input:focus,.contact-textarea:focus{border-color:var(--color-accent);outline:none}.contact-input[aria-invalid=true],.contact-textarea[aria-invalid=true]{border-color:var(--color-accent)}.contact-error{font-size:var(--text-xs);color:var(--color-accent-soft);min-height:1em;display:none}.contact-error.is-visible{display:block}.contact-honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-submit{background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:.5px solid var(--color-btn-primary-bg);padding:var(--space-4) var(--space-10);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;border-radius:var(--border-radius-sm);align-self:flex-start;font-weight:500;transition:background-color .2s,border-color .2s,transform .2s}.contact-submit:hover,.contact-submit:focus-visible{background-color:var(--color-accent-soft);border-color:var(--color-accent-soft)}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.contact-status{font-size:var(--text-sm);padding:var(--space-3) var(--space-4);border-radius:var(--border-radius-sm);border:.5px solid #0000;display:none}.contact-status.is-visible{display:block}.contact-status-success{color:#97c459;background-color:#97c45914;border-color:#639922}.contact-status-error{color:var(--color-accent-soft);border-color:var(--color-accent);background-color:#e8175d14}@media (width<=768px){.contact-grid{gap:var(--space-8);grid-template-columns:1fr}}@media (width<=425px){.contact-submit{width:100%}}.footer{border-top:.5px solid var(--color-border);padding-block:var(--space-8)}.footer-wrap{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.footer-meta{font-size:var(--text-sm);color:var(--color-text-muted);flex-direction:column;align-items:center;display:flex}.vertical-slider{gap:var(--space-2);display:flex}.vertical-slider-track{width:1em;height:1em;display:inline-block;position:relative;overflow:hidden}.vertical-slider-track .svg{width:1em;height:1em;color:var(--color-accent);position:absolute;top:0;left:0}.footer-socials{gap:var(--space-3);display:flex}.footer-socials a{border:1px solid #0000;border-radius:2.625em;justify-content:center;align-items:center;width:32px;height:32px;transition:background .4s,border-color .4s,border-radius .4s;display:flex}.footer-socials a:hover{background:linear-gradient(var(--color-bg), var(--color-bg)) padding-box, linear-gradient(135deg, var(--color-accent), var(--color-bg)) border-box;border:1px solid #0000;border-radius:50%}.social-icon{width:16px;height:16px;color:var(--color-text-muted)}.footer-top{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent);font-weight:500}.top:hover,.top:focus-visible{text-decoration:underline}.chat{right:max(1.25em, env(safe-area-inset-right));bottom:max(1.25em, env(safe-area-inset-bottom));z-index:1000;position:fixed}.chat-toggle{background:var(--color-btn-primary-bg);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:3.5em;height:3.5em;transition:transform .2s;display:flex;position:relative;box-shadow:0 8px 24px #00000059}.chat-toggle svg{width:1.5em;height:1.5em}.chat-toggle:hover{transform:scale(1.08)}.chat-toggle:focus-visible{outline-offset:3px;outline:2px solid #f1e9e9}.chat-badge{border:2px solid var(--color-btn-primary-bg);background:#f1eee9;border-radius:50%;width:.85em;height:.85em;position:absolute;top:.25em;right:.25em}.chat-badge[hidden]{display:none}.chat-panel{background:var(--color-bg);color:#f1eee9;border:1px solid var(--color-border);transform-origin:100% 100%;border-radius:1em;flex-direction:column;width:min(360px,100vw - 2.5rem);animation:.2s ease-out chat-pop;display:flex;position:absolute;bottom:4.5em;right:0;overflow:hidden;box-shadow:0 16px 40px #0006}.chat-panel[hidden]{display:none}.chat-header{border-bottom:1px solid var(--color-border);align-items:center;gap:.75em;padding:.9em 1em;font-weight:400;display:flex}.chat-avatar{background:url(/assets/olga-portrait-DFtflBcc.jpg) 50%/cover no-repeat;border-radius:50%;width:2.25em;height:2.25em}.chat-title{flex-direction:column;margin-right:auto;line-height:1.25;display:flex}.chat-title strong{font:700 .95rem var(--font-display)}.chat-title span{color:#c9c5bf;font-size:.8rem}.chat-close{color:inherit;font-size:1.5rem}.chat-messages{overscroll-behavior:contain;flex-direction:column;gap:.5em;height:min(45vh,320px);padding:1em;display:flex;overflow-y:auto}.chat-msg{overflow-wrap:anywhere;border-radius:.9em;max-width:80%;padding:.55em .8em;animation:.15s ease-out chat-pop}.chat-msg--me{background:var(--color-btn-primary-bg);color:#fff;align-self:flex-end}.chat-msg--owner{background:var(--color-text-primary);color:#363636;align-self:flex-start}.chat-msg--error{color:#ffb3c4;align-self:center}.chat-form{border-top:1px solid var(--color-border);gap:.5em;padding:.75em;display:flex}.chat-form input{border:1px solid var(--color-border);min-width:0;color:inherit;background:0 0;border-radius:50px;flex:1;padding:.6em .8em}.chat-form input:focus-visible{outline:2px solid var(--color-btn-primary-bg);outline-offset:0;border-color:#0000}.chat-form input::placeholder{color:var(--color-text-disabled)}.chat-send{background:var(--color-btn-primary-bg);color:#fff;border-radius:50px;padding:.6em 1.1em;font-weight:500}.chat-send:hover{background-color:var(--color-bg);outline:2px solid var(--color-accent);color:var(--color-accent)}@keyframes chat-pop{0%{opacity:0;transform:translateY(8px)scale(.96)}}@media (prefers-reduced-motion:reduce){.chat-toggle{transition:none}.chat-toggle:hover{transform:none}.chat-panel,.chat-msg{animation:none}}
