:root,:host{--fa-font-solid:normal 900 1em/1 "Font Awesome 7 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 7 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular:normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular:normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-whiteboard-semibold:normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light:normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid:normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid:normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid:normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-graphite-thin:normal 100 1em/1 "Font Awesome 7 Graphite";--fa-font-jelly-regular:normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular:normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular:normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular:normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold:normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold:normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold:normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display,inline-block);vertical-align:-.125em;height:1em;width:var(--fa-width,1.25em);overflow:visible}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714286em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left,.svg-inline--fa .fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-pull-right,.svg-inline--fa .fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);inset-block-start:.25em;inset-inline-start:calc(-1 * var(--fa-li-width,2em))}.fa-layers-counter,.fa-layers-text{text-align:center;display:inline-block;position:absolute}.fa-layers{text-align:center;vertical-align:-.125em;height:1em;width:var(--fa-width,1.25em);display:inline-block;position:relative}.fa-layers .svg-inline--fa{transform-origin:50%;margin:auto;position:absolute;inset:0}.fa-layers-text{transform-origin:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:100% 0;overflow:hidden}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 100%;top:auto}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 100%;top:auto;right:auto}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 0}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 0}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.0833333em}.fa-sm{vertical-align:.0535715em;font-size:.875em;line-height:.0714286em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.0416667em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute;inset-inline-start:calc(-1 * var(--fa-li-width,2em))}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.0625em);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-right,.fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4, 0, .6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4, 0, .6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{transition:none!important;animation:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1)translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1), var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9), var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05), var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1, 1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1)translateY(0)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse,#fff)}.fa-stack{vertical-align:middle;width:2.5em;height:2em;line-height:2em;display:inline-block;position:relative}.fa-inverse{color:var(--fa-inverse,#fff)}.svg-inline--fa.fa-stack-1x{--fa-width:1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width:2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{z-index:var(--fa-stack-z-index,auto);margin:auto;position:absolute;inset:0}.cookie-banner__layer{z-index:1200;position:fixed;inset:0}.cookie-banner__backdrop{background:color-mix(in srgb, var(--bg) 68%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:absolute;inset:0}.cookie-banner{z-index:1201;border:1px solid var(--line);background:linear-gradient(160deg, var(--card-warm-strong), transparent 40%), var(--menu-bg);width:min(28rem,100vw - 2rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:1.5rem;padding:1.1rem;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.cookie-banner__copy h2{margin-bottom:.55rem;font-size:1.1rem;line-height:1.2}.cookie-banner__copy p:last-child{color:var(--muted);font-size:.92rem;line-height:1.65}.cookie-banner__eyebrow{color:var(--accent-soft);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.55rem;font-size:.72rem}.cookie-banner__actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.cookie-banner__actions button{cursor:pointer;font:inherit;border-radius:999px;min-width:9rem;padding:.8rem 1rem;transition:all .2s}.cookie-banner__secondary{border:1px solid var(--line);background:var(--interactive-bg);color:var(--text)}.cookie-banner__primary{background:var(--accent);color:var(--button-text);border:none}.cookie-banner__actions button:hover{transform:translateY(-1px)}@media (width<=480px){.cookie-banner{width:auto;top:50%;left:1rem;right:1rem;transform:translateY(-50%)}.cookie-banner__actions button{width:100%}}.hero-container{flex-direction:column;align-items:stretch;gap:1.5rem;width:min(1160px,100%);min-height:min(100svh - 7.5rem,44rem);margin:0 auto;display:flex}.hero-copy{flex-direction:column;justify-content:center;gap:.85rem;display:flex}.hero-copy>*{animation:fade-up .72s var(--ease-out) both}.hero-copy>:first-child{animation-delay:80ms}.hero-copy>:nth-child(2){animation-delay:.15s}.hero-copy>:nth-child(3){animation-delay:.22s}.hero-copy>:nth-child(4){animation-delay:.29s}.hero-copy>:nth-child(5){animation-delay:.36s}.hero-copy>:nth-child(6){animation-delay:.43s}.eyebrow{color:var(--accent-soft);letter-spacing:.2em;text-transform:uppercase;font-size:.78rem}.hero-copy h1{overflow-wrap:break-word;max-width:9ch;font-size:clamp(3rem,8vw,5.3rem);line-height:.95}.hero-copy .caption{color:var(--accent-soft);font-size:.98rem;line-height:1.5}.hero-copy .line{color:var(--text);overflow-wrap:break-word;align-self:flex-start;max-width:18ch;margin-top:.2rem;font-size:clamp(1.05rem,3vw,1.55rem);line-height:1.2;display:inline-flex}.hero-summary{color:var(--muted);overflow-wrap:break-word;max-width:46ch;font-size:.98rem;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:.5rem;display:flex}.primary-action,.secondary-action{min-width:10rem;transition:transform var(--motion-fast) ease, border-color var(--motion-fast) ease, background var(--motion-fast) ease, box-shadow var(--motion-fast) ease, filter var(--motion-fast) ease;border-radius:999px;justify-content:center;align-items:center;padding:.95rem 1.35rem;font-size:.95rem;display:inline-flex}.primary-action{background:var(--accent);color:var(--button-text);box-shadow:0 16px 36px var(--glow)}.primary-action:hover{filter:brightness(1.04);transform:translateY(-2px)}.secondary-action{border:1px solid var(--line);background:var(--interactive-bg);color:var(--text)}.secondary-action:hover{border-color:color-mix(in srgb, var(--accent) 28%, transparent);background:var(--interactive-bg-hover)}.hero-visual{width:100%;animation:scale-in .82s var(--ease-out) .26s both;gap:1.25rem;display:grid}.portrait-card{border:1px solid var(--line);background:linear-gradient(160deg, var(--card-warm-strong), transparent 35%), var(--panel);box-shadow:var(--shadow);transition:border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) ease;border-radius:2rem;position:relative;overflow:hidden}.portrait-card:after{content:"";pointer-events:none;background:linear-gradient(115deg, transparent 20%, var(--shine), transparent 42%);opacity:0;transition:opacity var(--motion-fast) ease, transform .7s var(--ease-out);position:absolute;inset:0;transform:translate(-35%)}.portrait-card:hover{border-color:color-mix(in srgb, var(--accent) 28%, transparent);box-shadow:var(--shadow-hover);transform:translateY(-4px)}.portrait-card:hover:after{opacity:1;transform:translate(35%)}.portrait-card img{aspect-ratio:4/4.15;object-fit:cover;object-position:center top;width:100%;max-height:clamp(290px,46vh,480px)}.portrait-copy{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:1rem;padding:1rem 1.2rem 1.2rem;display:grid}.portrait-copy p{color:var(--muted);font-size:.92rem;line-height:1.3}.portrait-copy strong{color:var(--text);text-align:right;overflow-wrap:anywhere;font-size:.92rem;line-height:1.35}.icons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.icons .icon{border:1px solid var(--line);background:var(--card-bg-soft);min-width:max-content;min-height:5rem;box-shadow:var(--shadow);animation:fade-up .62s var(--ease-out) both;transition:transform var(--motion-fast) ease, border-color var(--motion-fast) ease, background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;border-radius:1.4rem;flex:none;align-items:center;gap:.7rem;padding:.9rem 1.25rem;display:flex}.icons .icon:first-child{animation-delay:.52s}.icons .icon:nth-child(2){animation-delay:.59s}.icons .icon:nth-child(3){animation-delay:.66s}.icons .icon i{color:var(--accent);transition:transform var(--motion-fast) ease, color var(--motion-fast) ease;flex-shrink:0;font-size:1.6rem}.icons .icon p{color:var(--text);white-space:nowrap;font-size:.9rem;line-height:1.2}.icons .icon:hover{border-color:color-mix(in srgb, var(--accent) 26%, transparent);background:var(--interactive-bg-hover);box-shadow:var(--shadow);transform:translateY(-3px)}.icons .icon:hover i{color:var(--accent-soft);transform:scale(1.08)rotate(-2deg)}@media (width<=480px){.hero-container{min-height:auto}.hero-copy h1{font-size:clamp(2.8rem,18vw,4.2rem)}.hero-copy .line{max-width:100%}.hero-actions{gap:.75rem}.primary-action,.secondary-action{width:100%;min-width:0}.portrait-copy{grid-template-columns:1fr;gap:.35rem}.portrait-copy strong{text-align:left}.icons .icon{flex-basis:100%;justify-content:center}}@media (width>=900px){.hero-container{grid-template-columns:minmax(0,1.08fr) minmax(300px,.82fr);align-items:center;gap:2rem;min-height:min(100svh - 8.5rem,46rem);display:grid}.hero-visual{justify-self:end;max-width:30rem}.icons{justify-content:center}.icons .icon{min-height:4.8rem;padding:.85rem .95rem}}@media (width>=1024px){.hero-copy{padding-right:1rem}.hero-container{min-height:min(100svh - 9rem,48rem)}.hero-visual{max-width:34rem}.portrait-card{border-radius:2.2rem}.icons .icon i{font-size:1.7rem}.icons .icon p{font-size:.92rem}}.main-container{flex-direction:column;gap:4.5rem;padding:6rem 1.25rem 3rem;display:flex}@media (width>=768px){.main-container{gap:5rem;padding:6.75rem 2rem 4rem}}@media (width>=1200px){.main-container{gap:7rem;padding-inline:3rem}}footer{border-top:1px solid var(--line);width:min(1160px,100%);color:var(--muted);min-height:4rem;animation:fade-up .62s var(--ease-out) .52s both;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:1.5rem 0 0;display:flex}.footer-copy{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.f-p,footer p,.footer-copy span{margin:0;font-size:.8rem;font-weight:500}.f-p{color:var(--text);transition:color var(--motion-fast) ease}.f-p:hover{color:var(--accent-soft)}.f-icons{justify-content:center;align-items:center;gap:1rem;display:flex}.f-icons a{color:var(--text);transition:color var(--motion-fast) ease, transform var(--motion-fast) ease;display:inline-flex}.f-icons a:hover{color:var(--accent);transform:translateY(-2px)}@media (width<=640px){footer{flex-direction:column;align-items:flex-start}.footer-copy{gap:.75rem}}.navbar{z-index:1000;width:100%;padding:0 1rem;position:fixed;top:1rem;left:0}.navbar.sticky{top:1rem}.nav-container{border:1px solid var(--line);background:var(--nav-bg);width:min(1160px,100%);min-height:72px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:drop-in .68s var(--ease-out) both;transition:border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, background var(--motion-fast) ease;border-radius:999px;justify-content:space-between;align-items:center;margin:0 auto;padding:0 1rem;display:flex;position:relative}.navbar.sticky .nav-container{border-color:color-mix(in srgb, var(--accent) 26%, transparent);background:var(--nav-bg-strong);box-shadow:var(--shadow-hover)}.nav-container .checkbox{z-index:5;opacity:0;cursor:pointer;width:44px;height:44px;display:block;position:absolute;top:14px;right:16px}.nav-container .hamburger-lines{z-index:2;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:28px;height:20px;padding:0;display:flex;position:absolute;top:26px;right:24px}.nav-container .hamburger-lines .line{background-color:var(--text);border-radius:999px;width:100%;height:2px;display:block}.nav-container .hamburger-lines .line1{transform-origin:0 0;transition:transform .4s ease-in-out}.nav-container .hamburger-lines .line2{transition:transform .2s ease-in-out}.nav-container .hamburger-lines .line3{transform-origin:0 100%;transition:transform .4s ease-in-out}.navbar .menu-items{opacity:0;pointer-events:none;text-align:left;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--line);background:var(--menu-bg);width:min(20rem,100vw - 2rem);box-shadow:var(--shadow);border-radius:1.5rem;flex-direction:column;gap:.75rem;padding:1rem;list-style:none;transition:opacity .25s,transform .25s;display:flex;position:absolute;top:calc(100% + .85rem);right:0;transform:translateY(-.75rem)}.mobile-language-item .language-switcher{width:100%}.mobile-language-item .language-switcher button{flex:1}.navbar .menu-items li{list-style:none}.logo{position:absolute;top:13px;left:18px}.logo a,.classicalmenu-logo a{align-items:center;gap:.85rem;display:inline-flex}.logo a:after,.classicalmenu-logo a:after{content:"LP";color:var(--text);letter-spacing:.08em;font-size:1rem}.nav-container input[type=checkbox]:checked~.menu-items{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-container input[type=checkbox]:checked~.hamburger-lines .line1{transform:rotate(45deg)}.nav-container input[type=checkbox]:checked~.hamburger-lines .line2{transform:scaleY(0)}.nav-container input[type=checkbox]:checked~.hamburger-lines .line3{transform:rotate(-45deg)}.nav-container input[type=checkbox]:checked~.logo{display:none}.logo img{object-fit:cover;border:1px solid var(--line-strong);width:2.7rem;height:2.7rem;transition:transform var(--motion-fast) ease, border-color var(--motion-fast) ease;border-radius:50%}.logo a:hover img,.classicalmenu-logo a:hover img{border-color:color-mix(in srgb, var(--accent) 42%, transparent);transform:scale(1.06)}.classicalmenu{display:none}.theme-toggle{border:1px solid var(--line);background:var(--interactive-bg);width:3.6rem;height:2.1rem;color:var(--text);cursor:pointer;transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, transform var(--motion-fast) ease;border-radius:999px;justify-content:center;align-items:center;padding:.2rem;display:inline-flex}.theme-toggle:hover{border-color:color-mix(in srgb, var(--accent) 30%, transparent);background:var(--interactive-bg-hover);transform:translateY(-1px)}.theme-toggle-track{width:100%;height:100%;display:block;position:relative}.theme-toggle-icon{color:var(--muted);fill:currentColor;width:.88rem;height:.88rem;transition:color var(--motion-fast) ease, opacity var(--motion-fast) ease;position:absolute;top:50%;transform:translateY(-50%)}.theme-toggle-icon--moon{left:.35rem}.theme-toggle-icon--sun{right:.35rem}:root[data-theme=dark] .theme-toggle-icon--moon,:root[data-theme=light] .theme-toggle-icon--sun{color:var(--button-text);opacity:.95}.theme-toggle-thumb{background:var(--accent);width:1.45rem;height:1.45rem;box-shadow:0 8px 18px var(--glow);transition:transform var(--motion-fast) var(--ease-out), background var(--motion-fast) ease;border-radius:50%;position:absolute;top:50%;left:.1rem;transform:translateY(-50%)}:root[data-theme=light] .theme-toggle-thumb{transform:translate(1.45rem,-50%)}.nav-tools,.mobile-nav-tools{align-items:center;gap:.5rem;display:flex}.nav-tools{display:none}.mobile-nav-tools{position:absolute;top:19px;right:4.25rem}.language-switcher{border:1px solid var(--line);background:var(--interactive-bg);border-radius:999px;align-items:center;gap:.18rem;padding:.2rem;display:inline-flex}.language-switcher button{color:var(--muted);cursor:pointer;font:inherit;min-width:2rem;transition:background var(--motion-fast) ease, color var(--motion-fast) ease, transform var(--motion-fast) ease;background:0 0;border:none;border-radius:999px;padding:.48rem .45rem;font-size:.72rem;line-height:1}.language-switcher button:hover,.language-switcher button.is-active{background:var(--accent);color:var(--button-text)}.language-switcher button:hover{transform:translateY(-1px)}.menu-items a{color:var(--muted);border:1px solid #0000;border-radius:1rem;padding:.9rem 1rem;font-size:.95rem;transition:all .25s;display:block}.menu-items a:hover{border-color:color-mix(in srgb, var(--accent) 28%, transparent);background:var(--interactive-bg-hover);color:var(--text)}@media screen and (width<=380px){.navbar{padding:0 .65rem}.nav-container{min-height:68px;padding:0 .8rem}.logo{left:14px}.logo img{width:2.45rem;height:2.45rem}.logo a:after{font-size:.9rem}.mobile-nav-tools{top:18px;right:3.8rem}.theme-toggle{width:3.25rem;height:2rem}.nav-container .hamburger-lines{right:19px}}@media screen and (width>=900px){.hamburger-lines,.checkbox{display:none!important}.classicalmenu{justify-content:space-between;align-items:center;width:100%;display:flex}.classicalmenu .classicalmenu-logo img{object-fit:cover;border:1px solid var(--line-strong);width:2.8rem;height:2.8rem;transition:transform var(--motion-fast) ease, border-color var(--motion-fast) ease;border-radius:50%}.classicalmenu ul{align-items:center;gap:.25rem;list-style:none;display:flex}.classicalmenu li{display:inline-flex}.classicalmenu a{color:var(--muted);border:1px solid #0000;border-radius:999px;padding:.75rem .85rem;font-size:.86rem;transition:all .25s}.classicalmenu a:hover{color:var(--text);border-color:color-mix(in srgb, var(--accent) 28%, transparent);background:var(--interactive-bg-hover);transform:translateY(-1px)}.classicalmenu .nav-tools{margin-left:.35rem;display:flex}.logo,.menu-items,.mobile-nav-tools,.mobile-language-item{display:none}}@media screen and (width>=1024px){.classicalmenu ul{gap:.5rem}.classicalmenu a{padding:.8rem 1rem;font-size:.9rem}}.chatbot{z-index:1100;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.85rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.chatbot-panel,.chatbot-toggle{pointer-events:auto}.chatbot-panel{border:1px solid var(--line);background:linear-gradient(160deg, var(--card-warm-strong), transparent 38%), var(--menu-bg);width:min(24rem,100vw - 2rem);max-height:min(38rem,100vh - 7rem);box-shadow:var(--shadow-hover);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:chatbot-rise .36s var(--ease-out) both;border-radius:1.5rem;grid-template-rows:auto minmax(10rem,1fr) auto auto;display:grid;overflow:hidden}.chatbot-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1rem .85rem;display:flex}.chatbot-header p{color:var(--accent-soft);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.35rem;font-size:.68rem}.chatbot-header h2{font-size:1rem;line-height:1.25}.chatbot-icon-button,.chatbot-toggle,.chatbot-input-row button{border:1px solid var(--line);cursor:pointer;color:var(--text);transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, color var(--motion-fast) ease, transform var(--motion-fast) ease;justify-content:center;align-items:center;display:inline-flex}.chatbot-icon-button{background:var(--interactive-bg);border-radius:50%;flex:none;width:2.3rem;height:2.3rem}.chatbot-icon-button:hover,.chatbot-input-row button:hover,.chatbot-toggle:hover{border-color:color-mix(in srgb, var(--accent) 34%, transparent);background:var(--interactive-bg-hover);color:var(--accent);transform:translateY(-1px)}.chatbot svg{fill:currentColor;width:1rem;height:1rem}.chatbot-messages{flex-direction:column;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.chatbot-message{border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:1.1rem;width:fit-content;max-width:88%;padding:.72rem .85rem;font-size:.88rem;line-height:1.55}.chatbot-message--assistant{background:var(--interactive-bg);color:var(--text);align-self:flex-start}.chatbot-message--user{border-color:color-mix(in srgb, var(--accent) 28%, transparent);background:var(--accent);color:var(--button-text);align-self:flex-end}.chatbot-message--thinking{color:var(--muted)}.chatbot-starters{padding:0 1rem .85rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 1rem calc(100% - 1.5rem),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 1rem calc(100% - 1.5rem),#0000 100%)}.chatbot-starters-track{--starter-distance:0px;will-change:transform;flex-wrap:nowrap;gap:.5rem;width:max-content;display:flex}.chatbot-starters-track[data-sliding=true]{animation:9s ease-in-out infinite alternate chatbot-starter-slide}.chatbot-starters-track:hover,.chatbot-starters-track:focus-within{animation-play-state:paused}@keyframes chatbot-starter-slide{0%{transform:translate(0)}to{transform:translateX(var(--starter-distance))}}@media (prefers-reduced-motion:reduce){.chatbot-starters-track[data-sliding=true]{animation:none}}.chatbot-starters button{white-space:nowrap;border:1px solid var(--line);background:var(--interactive-bg);color:var(--text);cursor:pointer;font:inherit;transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, color var(--motion-fast) ease;border-radius:999px;flex:none;padding:.55rem .72rem;font-size:.76rem}.chatbot-starters button:hover{border-color:color-mix(in srgb, var(--accent) 32%, transparent);background:var(--interactive-bg-hover);color:var(--accent)}.chatbot-form{border-top:1px solid var(--line);padding:.85rem}.chatbot-form label{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.chatbot-input-row{grid-template-columns:minmax(0,1fr) 2.7rem;gap:.55rem;display:grid}.chatbot-input-row input{border:1px solid var(--line);background:var(--input-bg);width:100%;min-width:0;color:var(--text);font:inherit;transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;border-radius:999px;outline:none;padding:.78rem .95rem;font-size:.86rem}.chatbot-input-row input:focus{border-color:color-mix(in srgb, var(--accent) 46%, transparent);background:var(--input-bg-focus);box-shadow:0 0 0 4px var(--glow)}.chatbot-input-row button{background:var(--accent);width:2.7rem;height:2.7rem;color:var(--button-text);border-radius:50%}.chatbot-input-row button:disabled,.chatbot-starters button:disabled{cursor:not-allowed;filter:grayscale(.45);opacity:.62;transform:none}.chatbot-toggle{background:var(--nav-bg-strong);min-height:3.25rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);font:inherit;border-radius:999px;gap:.55rem;padding:.75rem 1rem;font-size:.85rem}.chatbot-toggle svg{width:1.15rem;height:1.15rem}@keyframes chatbot-rise{0%{opacity:0;transform:translateY(.9rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=560px){.chatbot{align-items:stretch;bottom:1rem;left:1rem;right:1rem}.chatbot-panel{width:100%;max-height:calc(100vh - 6rem)}.chatbot-toggle{align-self:flex-end}}*{box-sizing:border-box;margin:0}:root{--bg:#0d1117;--bg-soft:#131a22;--panel:#10161fc7;--panel-strong:#111a23;--line:#ffffff1a;--line-strong:#ffffff29;--text:#f4efe8;--muted:#b3bcc8;--accent:#f97352;--accent-soft:#f4b393;--glow:#f9735229;--shadow:0 30px 80px #00000057;--shadow-hover:0 30px 80px #0000006b;--body-bg:radial-gradient(circle at top left, #f9735229, transparent 28%), radial-gradient(circle at top right, #60a5fa1f, transparent 24%), linear-gradient(180deg, #0b1015 0%, #10151d 52%, #0d1117 100%);--grid-line:#ffffff05;--grid-mask:linear-gradient(to bottom, #00000080, transparent 90%);--nav-bg:#0e131bd1;--nav-bg-strong:#0e131be6;--menu-bg:#0e131bfa;--card-bg:#111a23d1;--card-bg-soft:#111a23c2;--card-warm:#f9735214;--card-warm-strong:#f973522e;--card-cool:#60a5fa14;--interactive-bg:#ffffff0a;--interactive-bg-hover:#f9735214;--input-bg:#ffffff0a;--input-bg-focus:#ffffff0f;--placeholder:#fff6;--button-text:#0d1117;--shine:#ffffff1a;--anchor-offset:6.25rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--motion-fast:.22s;--motion-medium:.62s}:root[data-theme=light]{--bg:#f7f0e8;--bg-soft:#efe6dc;--panel:#fffcf8c7;--panel-strong:#fffaf5;--line:#2a2d3321;--line-strong:#2a2d332e;--text:#171b22;--muted:#59616d;--accent:#c94f35;--accent-soft:#8d3d2b;--glow:#c94f352e;--shadow:0 24px 70px #523d2c2e;--shadow-hover:0 30px 76px #523d2c3d;--body-bg:radial-gradient(circle at top left, #c94f3521, transparent 28%), radial-gradient(circle at top right, #2280b021, transparent 24%), linear-gradient(180deg, #fbf6ef 0%, #f2eadf 52%, #f7f0e8 100%);--grid-line:#2a2d330b;--grid-mask:linear-gradient(to bottom, #0000004d, transparent 90%);--nav-bg:#fffaf5d1;--nav-bg-strong:#fffaf5f0;--menu-bg:#fffaf5fa;--card-bg:#fffaf5d1;--card-bg-soft:#fffaf5c2;--card-warm:#c94f3517;--card-warm-strong:#c94f3526;--card-cool:#2280b017;--interactive-bg:#2a2d330a;--interactive-bg-hover:#c94f3517;--input-bg:#ffffffb3;--input-bg-focus:#ffffffeb;--placeholder:#2a2d3375;--button-text:#fffaf5;--shine:#ffffff94}@font-face{font-family:Space Mono;src:url(/assets/SpaceMono-Regular-7wDOIQj2.ttf)format("truetype")}html{scroll-behavior:smooth;scroll-padding-top:var(--anchor-offset)}body{background:var(--body-bg);color:var(--text);min-height:100vh;transition:background-color var(--motion-medium) ease, color var(--motion-medium) ease;font-family:Space Mono,sans-serif;overflow-x:clip}body:before{content:"";pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);-webkit-mask-image:var(--grid-mask);mask-image:var(--grid-mask);background-size:36px 36px;animation:24s linear infinite grid-drift;position:fixed;inset:0}#root{min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.App{scroll-margin-top:var(--anchor-offset);position:relative}.hero-container,.about-section,.projects-section,.contact{scroll-margin-top:var(--anchor-offset)}.section-heading{text-align:center;max-width:760px;margin:0 auto 2.5rem}.section-kicker{color:var(--accent-soft);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.8rem;font-size:.8rem}.section-heading h2{overflow-wrap:break-word;margin-bottom:1rem;font-size:clamp(2rem,4vw,3.3rem);line-height:1.08}.section-text{color:var(--muted);overflow-wrap:break-word;font-size:1rem;line-height:1.8}.section-fallback{min-height:40vh}.reveal{opacity:0;filter:blur(8px);transition:opacity var(--motion-medium) var(--ease-out), filter var(--motion-medium) var(--ease-out), transform var(--motion-medium) var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:translateY(1.4rem)scale(.985)}.reveal.is-visible{opacity:1;filter:blur();transform:translateY(0)scale(1)}@keyframes fade-up{0%{opacity:0;filter:blur(8px);transform:translateY(1.2rem)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;filter:blur(8px);transform:translateY(1rem)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-1rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes grid-drift{0%{background-position:0 0,0 0}to{background-position:36px 36px,36px 36px}}@media (width<=767px){.section-heading{text-align:left}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;filter:none!important;transform:none!important}}
