.nav{position:fixed;top:.9rem;left:50%;z-index:30;width:min(100% - 1.25rem,50rem);transform:translate(-50%);border:1px solid var(--color-border);border-radius:999px;background:var(--nav-shell);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--color-shadow);transition:background .3s ease,box-shadow .3s ease,border-color .3s ease}.nav--scrolled{background:var(--nav-shell-scrolled);border-color:var(--color-border-strong);box-shadow:0 20px 44px #14294524}.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:4.15rem;padding:0 .85rem 0 1rem}@media screen and (min-width: 768px){.nav__inner{min-height:4.35rem;padding:0 1rem 0 1.25rem}}.nav__logo{display:inline-flex;align-items:center;color:var(--color-text);text-decoration:none;white-space:nowrap;line-height:0}.nav__logo svg{display:block;width:10.5rem;height:auto;max-width:100%}.nav__logo svg path{fill:currentColor}.nav__links{display:none}@media screen and (min-width: 768px){.nav__links{display:flex;align-items:center;gap:.2rem;flex-shrink:0}}.nav__link,.nav__mobile-link,.nav__menu-btn,.nav__theme-toggle{border:0;font:inherit;cursor:pointer}.nav__link{display:inline-flex;align-items:center;justify-content:center;min-height:2.65rem;padding:.7rem .95rem;border-radius:999px;color:var(--color-text-muted);background:transparent;font-size:.93rem;font-weight:700;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease}.nav__link:hover,.nav__link:focus-visible{background:var(--color-accent-soft);color:var(--color-text-strong);transform:translateY(-1px)}.nav__link--primary{padding-inline:1.05rem;color:#fff;background:var(--color-accent);box-shadow:inset 0 -1px #08111f2e}.nav__link--primary:hover,.nav__link--primary:focus-visible{background:var(--color-accent-strong);color:#fff}.nav__actions{display:flex;align-items:center;gap:.55rem;margin-left:auto}.nav__theme-toggle{display:inline-flex;align-items:center;gap:.45rem;min-height:2.8rem;padding:.65rem .9rem;border-radius:999px;border:1px solid var(--color-border);background:var(--nav-button);color:var(--color-text);box-shadow:inset 0 1px #ffffff75}.nav__theme-toggle:hover,.nav__theme-toggle:focus-visible{background:var(--color-surface-elevated);border-color:var(--color-border-strong);transform:translateY(-1px)}.nav__theme-icon{display:inline-flex;align-items:center;justify-content:center}.nav__theme-icon svg{width:1rem;height:1rem}.nav__theme-text{font-size:.88rem;font-weight:700;letter-spacing:-.02em}.nav__menu-btn{display:inline-flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;border-radius:999px;color:var(--color-text);background:var(--nav-button);border:1px solid var(--color-border);box-shadow:inset 0 1px #ffffff7a}@media screen and (min-width: 768px){.nav__menu-btn{display:none}}.nav__close-icon{font-size:1.9rem;line-height:.8;transform:translateY(-1px);color:var(--color-text)}.nav__mobile-panel{position:absolute;top:calc(100% + .75rem);left:0;right:0;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease}.nav__mobile-panel--open{opacity:1;pointer-events:auto;transform:translateY(0)}@media screen and (min-width: 768px){.nav__mobile-panel{display:none}}.nav__mobile-panel-inner{display:flex;flex-direction:column;gap:.65rem;padding:.8rem;border:1px solid var(--color-border);border-radius:1.45rem;background:var(--surface-panel);box-shadow:var(--color-shadow-lg)}.nav__mobile-link{display:inline-flex;align-items:center;justify-content:center;min-height:3.2rem;width:100%;padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);background:var(--color-surface-elevated);font-size:1rem;font-weight:700;transition:background .18s ease,border-color .18s ease}.nav__mobile-link:hover,.nav__mobile-link:focus-visible{background:var(--color-accent-soft);border-color:var(--color-border-strong)}.nav__mobile-link--primary{color:#fff;background:var(--color-accent);border-color:var(--color-accent)}.nav__mobile-link--primary:hover,.nav__mobile-link--primary:focus-visible{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}@media screen and (min-width: 768px){.nav{width:min(100% - 2rem,60rem)}}.footer{padding:1rem 1.25rem 1.6rem;border-top:1px solid var(--color-border);background:transparent}@media screen and (min-width: 768px){.footer{padding:1.1rem 2rem 1.8rem}}@media screen and (min-width: 1280px){.footer{padding:1.15rem 3rem 2rem}}.footer__content{display:flex;flex-direction:column;gap:.75rem;max-width:var(--max-width);margin:0 auto}@media screen and (min-width: 1280px){.footer__content{flex-direction:row;align-items:center;justify-content:space-between;gap:1.25rem}}.footer__copyright,.footer__note{font-size:.9rem;line-height:1.55;color:var(--color-text-muted)}.footer__copyright{position:relative;display:inline-flex;align-items:center;gap:.45rem}.footer__copyright:before{content:"";width:.42rem;height:.42rem;border-radius:999px;background:#e4c469e6;flex-shrink:0}.footer__note{max-width:34rem}@media screen and (min-width: 1280px){.footer__note{flex:1 1 auto}}.footer__links{display:flex;flex-wrap:wrap;gap:.85rem 1rem}.footer__link{color:var(--color-text-muted);font-size:.9rem;font-weight:600;text-decoration:none}.footer__link:hover,.footer__link:focus-visible{color:var(--color-text-strong)}.work-in-progress{margin:0;padding:2rem 1.25rem 4rem;text-align:center;color:#5d656b}.hero{padding-top:7.25rem;padding-bottom:4rem;border-top:0;background:radial-gradient(circle at 15% 20%,rgba(151,186,229,.24),transparent 20rem),radial-gradient(circle at 80% 15%,rgba(228,196,105,.12),transparent 16rem),transparent}@media screen and (min-width: 768px){.hero{padding-top:8rem;padding-bottom:4.75rem}}@media screen and (min-width: 1280px){.hero{padding-top:8.75rem;padding-bottom:5.5rem}}.hero__content{display:flex;flex-direction:column;gap:1.75rem;max-width:var(--max-width);margin:0 auto;position:relative}@media screen and (min-width: 768px){.hero__content{align-items:center;flex-direction:row;gap:2rem}}.hero__info{position:relative;min-width:0}.hero__info{flex:1 1 0}.hero__info{display:flex;flex-direction:column;gap:1.4rem;padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:var(--color-shadow)}@media screen and (min-width: 768px){.hero__info{padding:1.9rem}}@media screen and (min-width: 1280px){.hero__info{padding:2.2rem}}.hero__eyebrow{display:inline-flex;align-items:center;align-self:flex-start;padding:.55rem .85rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero__heading-group{display:flex;flex-direction:column;gap:1rem}.hero__info-header{max-width:11ch;text-wrap:balance}@media screen and (min-width: 1280px){.hero__info-header{max-width:12ch}}.hero__line{display:block}.hero__accent-word{font-family:var(--font-serif);font-style:italic;font-weight:500;letter-spacing:-.02em;color:var(--color-accent-strong)}.hero__info-p{max-width:40rem;font-size:1.03rem}.hero__meta{display:flex;flex-direction:column;gap:.8rem}@media screen and (min-width: 768px){.hero__meta{flex-direction:row;flex-wrap:wrap}}.hero__meta-row{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.05rem;border:1px solid var(--color-border);border-radius:1.3rem;background:var(--color-surface-elevated)}@media screen and (min-width: 768px){.hero__meta-row{flex:1 1 16rem}}.hero__meta-row span{color:var(--color-text-muted);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero__meta-row strong{color:var(--color-text-strong);font-size:.98rem;line-height:1.5}.hero__button-container{display:flex;flex-wrap:wrap;gap:.8rem}.hero__button{display:inline-flex;align-items:center;justify-content:center;min-height:3.15rem;padding:.9rem 1.25rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-elevated);color:var(--color-text-strong);font-size:.96rem;font-weight:700;cursor:pointer}.hero__button:hover,.hero__button:focus-visible{transform:translateY(-1px)}.hero__button--primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.hero__button--primary:hover,.hero__button--primary:focus-visible{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.hero__button--secondary:hover,.hero__button--secondary:focus-visible{background:var(--color-accent-soft);border-color:var(--color-border-strong)}.hero__visual{display:none;flex-direction:column;gap:1rem;width:min(100%,16rem);margin:auto;position:relative}@media screen and (min-width: 768px){.hero__visual{display:flex;flex:0 0 clamp(19rem,32vw,24rem);width:auto;margin-left:auto}}.hero__visual:before{content:"";position:absolute;inset:2rem -.4rem auto auto;width:8.5rem;height:8.5rem;top:0;right:-1rem;border-radius:999px;background:linear-gradient(180deg,#e4c4694d,#e4c46900);filter:blur(4px);z-index:0}@media screen and (min-width: 768px){.hero__visual:before{border-radius:2rem}}.hero__visual:after{content:"";position:absolute;left:-1rem;bottom:4rem;width:7rem;height:7rem;border-radius:1.75rem;background:linear-gradient(180deg,#7aa3d247,#7aa3d200);filter:blur(6px);z-index:0}.hero__selfie,.hero__note{position:relative;z-index:1}.hero__selfie{overflow:hidden;aspect-ratio:4/4;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-elevated);box-shadow:var(--color-shadow-lg)}@media screen and (min-width: 768px){.hero__selfie{border-radius:calc(var(--radius-lg) + .2rem);aspect-ratio:4/4.8}}.hero__selfie img{width:100%;height:100%;object-fit:cover;object-position:58% center}.hero__note{margin:0;width:100%;padding:1rem 1.05rem;border:1px solid var(--color-border);border-radius:1.3rem;background:var(--surface-panel-muted);box-shadow:var(--color-shadow)}@media screen and (min-width: 768px){.hero__note{margin:0 0 0 auto}}.hero__note p{font-size:.92rem;line-height:1.65}.hero__note-label{display:inline-flex;margin-bottom:.35rem;color:var(--color-accent-strong);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.projects{background:radial-gradient(circle at 82% 12%,rgba(228,196,105,.12),transparent 18rem),linear-gradient(180deg,rgba(226,236,248,.28),transparent)}.projects__content{display:flex;flex-direction:column;gap:1.4rem;max-width:var(--max-width);margin:0 auto}.projects__header{display:flex;flex-direction:column;gap:1rem}@media screen and (min-width: 1280px){.projects__header{flex-direction:row;align-items:end;justify-content:space-between;gap:1.25rem}}.projects__header>div:first-child{min-width:0}.projects__header h2{max-width:14ch;margin-top:.45rem}.projects__header>p{max-width:32rem;font-size:1rem}@media screen and (min-width: 1280px){.projects__header>p{flex:1 1 0}}.projects__eyebrow,.projects__preview-label{color:var(--color-accent-strong);font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.projects__controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid var(--color-border);border-radius:1.4rem;background:var(--surface-panel-muted);box-shadow:var(--color-shadow)}@media screen and (min-width: 1280px){.projects__controls{margin-left:auto;width:min(100%,22rem)}}.projects__count{color:var(--color-text-strong);font-size:.92rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.projects__control-buttons{display:flex;gap:.6rem}.projects__control,.projects__preview-jump,.projects__dot{cursor:pointer}.projects__control{display:inline-flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-elevated);color:var(--color-text-strong)}.projects__control:hover,.projects__control:focus-visible{background:var(--color-accent-soft);transform:translateY(-1px)}.projects__control svg{width:1rem;height:1rem}.projects__stage{display:flex;flex-direction:column;gap:1rem;outline:none}@media screen and (min-width: 768px){.projects__stage{flex-direction:row;align-items:stretch}}.projects__active-card{min-width:0}@media screen and (min-width: 1280px){.projects__active-card{flex:1 1 0}}.projects__preview{display:flex;flex:0 0 19rem;flex-direction:column;gap:.85rem}@media screen and (min-width: 1280px){.projects__preview{flex-basis:clamp(19rem,27vw,22rem)}}.projects__preview-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 .25rem}.projects__preview-jump{border:0;background:transparent;color:var(--color-accent-strong);font-size:.92rem;font-weight:700}.projects__preview-jump:hover,.projects__preview-jump:focus-visible{color:var(--color-text-strong)}.projects__dots{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center}.projects__dot{width:.8rem;height:.8rem;padding:0;border:0;border-radius:999px;background:#5470913d}.projects__dot--active{width:2rem;background:var(--color-accent)}.project-card{overflow:hidden;border:1px solid var(--color-border);border-radius:calc(var(--radius-lg) + .15rem);background:var(--surface-panel);box-shadow:var(--color-shadow-lg)}.project-card a{color:inherit;text-decoration:none}.project-card__inner{display:flex;flex-direction:column;gap:0}@media screen and (min-width: 1280px){.project-card__inner{min-height:32rem}}@media screen and (min-width: 1280px){.project-card__body{flex:1 1 0}}.project-card__body{display:flex;flex-direction:column;gap:1.15rem;padding:1.35rem}@media screen and (min-width: 768px){.project-card__body{padding:1.8rem}}@media screen and (min-width: 1280px){.project-card__body{padding:2rem;justify-content:space-between}}.project-card__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem}.project-card__number{color:var(--color-text-muted);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-card__status{display:inline-flex;align-items:center;min-height:2rem;padding:.4rem .72rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:.8rem;font-weight:700}.project-card__copy{display:flex;flex-direction:column;gap:.85rem}.project-card__name{font-size:clamp(2rem,4.2vw,3.3rem);line-height:.98}.project-card__name-link{display:inline-flex}.project-card__name-link:hover,.project-card__name-link:focus-visible{color:var(--color-accent-strong)}.project-card__description{max-width:33rem;font-size:1rem;line-height:1.72}.project-card__tags{display:flex;flex-wrap:wrap;gap:.55rem}.project-card__tag{display:inline-flex;align-items:center;min-height:2rem;padding:.42rem .75rem;border:1px solid var(--color-border);border-radius:999px;background:#ffffffc7;color:var(--color-text-strong);font-size:.88rem;font-weight:600}.project-card__links{display:flex;flex-wrap:wrap;gap:.7rem}.project-card__pill-link,.project-card__preview-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3rem;padding:.8rem 1.15rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-elevated);color:var(--color-text-strong);font-size:.94rem;font-weight:700}.project-card__pill-link:hover,.project-card__pill-link:focus-visible,.project-card__preview-trigger:hover,.project-card__preview-trigger:focus-visible{background:var(--color-accent-soft);border-color:var(--color-border-strong);transform:translateY(-1px)}.project-card__pill-link svg,.project-card__preview-trigger svg{width:1rem;height:1rem}.project-card__pill-link svg path,.project-card__preview-trigger svg path{fill:currentColor}.project-card__pill-link--primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.project-card__pill-link--primary:hover,.project-card__pill-link--primary:focus-visible{border-color:var(--color-accent-strong);background:var(--color-accent-strong)}.project-card--compact{display:flex;flex-direction:column;gap:.9rem;padding:1rem;border-radius:1.6rem;background:var(--surface-panel)}.project-card__compact-copy{display:flex;flex-direction:column;gap:.65rem}.project-card__name--compact{font-size:1.45rem}.project-card__description--compact{font-size:.94rem;line-height:1.62}.project-card__preview-trigger{width:100%;border:1px solid var(--color-border);cursor:pointer}.project-visual{width:100%}.project-visual--card{padding:1rem;background:radial-gradient(circle at top right,rgba(228,196,105,.15),transparent 12rem),linear-gradient(180deg,var(--color-surface-soft),var(--color-bg-accent))}@media screen and (min-width: 768px){.project-visual--card{padding:1.25rem}}@media screen and (min-width: 1280px){.project-visual--card{display:flex;align-items:stretch;justify-content:center;padding:1.35rem}}.project-visual--detail{display:flex;align-items:stretch;justify-content:center}.project-visual--detail .project-visual__img,.project-visual--detail .project-visual__inventory-mockup{border-radius:1.55rem}.project-visual__img,.project-visual__inventory-mockup{width:100%;height:100%;border-radius:1.5rem;border:1px solid rgba(84,112,145,.18);background:var(--color-surface-elevated);box-shadow:0 20px 44px #1429451f}.project-visual__img{object-fit:cover;object-position:center top}.project-visual__inventory-mockup{display:flex;flex-direction:column;gap:.85rem;padding:1rem}.project-visual__mockup-top{display:flex;flex-wrap:wrap;gap:.7rem}.project-visual__mockup-card{display:flex;flex:1 1 10rem;flex-direction:column;gap:.25rem;padding:.9rem;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-surface)}.project-visual__mockup-card strong{color:var(--color-text-strong);font-size:1.1rem}.project-visual__mockup-label{color:var(--color-text-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-visual__mockup-table{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-surface)}.project-visual__mockup-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem .9rem;border-top:1px solid var(--color-border);color:var(--color-text-strong);font-size:.86rem}.project-visual__mockup-row:first-child{border-top:0}.project-visual__mockup-row span:first-child{min-width:0;flex:1 1 auto}.project-visual__mockup-row span:not(:first-child){flex-shrink:0}.project-visual__mockup-row--head{background:var(--color-surface-soft);color:var(--color-text-muted);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-visual__mockup-pill{display:inline-flex;align-items:center;justify-content:center;min-height:1.6rem;padding:.2rem .55rem;border-radius:999px;background:#619f7429;color:#2f6d44;font-size:.74rem;font-weight:700}.project-visual__mockup-pill--warn{background:#d3a94a2e;color:#8f6818}.project-visual__mockup-form{display:flex;flex-wrap:wrap;gap:.65rem;padding:.9rem;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-surface)}.project-visual__mockup-input,.project-visual__mockup-button{flex:1 1 2rem;min-height:2.6rem;border-radius:.9rem}.project-visual__mockup-input{border:1px solid var(--color-border);background:var(--color-surface-soft)}.project-visual__mockup-input--short{flex-basis:8rem}.project-visual__mockup-button{flex-basis:100%;background:var(--color-accent)}.project-visual--compact{min-height:12rem;padding:.85rem}.project-visual--compact .project-visual__img,.project-visual--compact .project-visual__inventory-mockup{border-radius:1.2rem}.project-visual--compact .project-visual__inventory-mockup{padding:.85rem}.project-visual--compact .project-visual__mockup-form{flex-direction:column}.project-visual--compact .project-visual__mockup-button{flex-basis:auto}.about{background:linear-gradient(180deg,transparent,rgba(232,240,250,.22))}.about__content{display:flex;flex-direction:column;gap:1.4rem;max-width:var(--max-width);margin:0 auto}.about__intro,.about__build{display:flex;flex-direction:column;gap:1.2rem}@media screen and (min-width: 1280px){.about__intro,.about__build{flex-direction:row;gap:1.4rem}}@media screen and (min-width: 1280px){.about__header,.about__copy,.about__build-heading,.about__points{flex:1 1 0}}.about__header,.about__copy,.about__build-heading,.about__point{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--color-shadow)}.about__header,.about__build-heading{display:flex;flex-direction:column;gap:.9rem;padding:1.4rem;border-radius:var(--radius-lg)}@media screen and (min-width: 768px){.about__header,.about__build-heading{padding:1.8rem}}.about__section-label,.about__label{color:var(--color-accent-strong);font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.about__copy{display:flex;flex-direction:column;gap:1rem;padding:1.4rem;border-radius:var(--radius-lg)}@media screen and (min-width: 768px){.about__copy{padding:1.8rem}}.about__copy p{font-size:1.01rem}.about__build-heading{align-self:start}.about__build-support{max-width:26rem;font-size:.96rem}.about__points{display:flex;flex-direction:column;gap:1rem}.about__point{display:flex;flex-direction:column;gap:.7rem;padding:1.25rem;border-radius:1.45rem}.about__point h3{font-size:1.12rem}.about__point p{font-size:.98rem;line-height:1.7}.contact{background:linear-gradient(180deg,transparent,rgba(228,236,248,.22))}.contact__content{display:flex;flex-direction:column;gap:1rem;max-width:var(--max-width);margin:0 auto}.contact__eyebrow{color:var(--color-accent-strong);font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.contact__content>p:nth-of-type(2){max-width:35rem;margin-bottom:.55rem}.contact__form{display:flex;flex-direction:column;gap:1rem;padding:1.35rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:var(--color-shadow-lg)}@media screen and (min-width: 768px){.contact__form{flex-direction:row;flex-wrap:wrap;padding:1.8rem}}.contact__field{display:flex;flex:1 1 100%;flex-direction:column;gap:.45rem}.contact__field span{color:var(--color-text-strong);font-size:.92rem;font-weight:700}@media screen and (min-width: 768px){.contact__field{flex-basis:calc(50% - .5rem)}}@media screen and (min-width: 768px){.contact__field--message{flex-basis:100%}}.contact__field input,.contact__field textarea{width:100%;border:1px solid var(--color-border);border-radius:1rem;padding:.95rem 1rem;background:var(--color-surface);color:var(--color-text-strong)}.contact__field textarea{resize:vertical;min-height:10rem}.contact__field input::placeholder,.contact__field textarea::placeholder{color:var(--color-text-muted)}.contact__submit{align-self:start;min-height:3rem;padding:.8rem 1.2rem;border:0;border-radius:999px;background:var(--color-accent);color:#fff;font-weight:700;cursor:pointer}.contact__submit:hover,.contact__submit:focus-visible{background:var(--color-accent-strong);transform:translateY(-1px)}.contact__status{width:100%;color:var(--color-text-strong);font-size:.94rem;font-weight:600}.contact__info-container{display:flex;align-items:center;gap:.85rem;margin-top:.2rem}.contact__button{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-elevated);color:var(--color-text-strong)}.contact__button:hover,.contact__button:focus-visible{background:var(--color-accent-soft);transform:translateY(-1px)}.contact__button svg{width:1.35rem;height:1.35rem}.contact__button svg path{fill:currentColor}.singleproject{padding:7.15rem 1.25rem 4.5rem;background:radial-gradient(circle at 10% 10%,rgba(151,186,229,.14),transparent 18rem),radial-gradient(circle at 86% 10%,rgba(228,196,105,.1),transparent 16rem),transparent}@media screen and (min-width: 768px){.singleproject{padding:8rem 2rem 5rem}}@media screen and (min-width: 1280px){.singleproject{padding:8.75rem 3rem 5.75rem}}.singleproject--missing{min-height:100vh}.singleproject__shell{display:flex;flex-direction:column;gap:1.2rem;max-width:var(--max-width);margin:0 auto}.singleproject__hero,.singleproject__snapshot-panel,.singleproject__section,.singleproject__cta-card{border:1px solid var(--color-border);background:var(--surface-panel);box-shadow:var(--color-shadow-lg)}.singleproject__hero,.singleproject__snapshot-panel,.singleproject__section{border-radius:calc(var(--radius-lg) + .1rem)}.singleproject__hero{display:flex;flex-direction:column;gap:1.3rem;padding:1.4rem}@media screen and (min-width: 768px){.singleproject__hero{padding:1.85rem}}@media screen and (min-width: 1280px){.singleproject__hero{flex-direction:row;align-items:center;padding:2rem}}.singleproject__hero-copy{display:flex;flex:1 1 0;flex-direction:column;gap:.95rem}@media screen and (min-width: 1280px){.singleproject__hero-media{flex:0 0 clamp(20rem,34vw,32rem)}}.singleproject__eyebrow,.singleproject__panel-label,.singleproject__snapshot-label{margin:0;color:var(--color-accent-strong);font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.singleproject__title{font-size:clamp(2.8rem,6vw,4.8rem)}.singleproject__subtitle{font-size:1.06rem;font-weight:700;line-height:1.65;color:var(--color-text-strong)}.singleproject__lede,.singleproject__content-block p,.singleproject__list-card p,.singleproject__implementation-card p,.singleproject__improvement-row p,.singleproject__caption,.singleproject__snapshot-value{font-size:1rem;line-height:1.72}.singleproject__hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.15rem}.singleproject__button,.singleproject__text-link{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.82rem 1.18rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-elevated);color:var(--color-text-strong);font-size:.95rem;font-weight:700;text-decoration:none}.singleproject__button:hover,.singleproject__button:focus-visible,.singleproject__text-link:hover,.singleproject__text-link:focus-visible{background:var(--color-accent-soft);border-color:var(--color-border-strong);transform:translateY(-1px)}.singleproject__button--primary,.singleproject__text-link--primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.singleproject__button--primary:hover,.singleproject__button--primary:focus-visible,.singleproject__text-link--primary:hover,.singleproject__text-link--primary:focus-visible{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.singleproject__snapshot-panel{display:flex;flex-direction:column;gap:1rem;padding:1.25rem}@media screen and (min-width: 768px){.singleproject__snapshot-panel{padding:1.55rem}}.singleproject__snapshot{display:flex;flex-direction:column;gap:.85rem}@media screen and (min-width: 768px){.singleproject__snapshot{flex-direction:row;flex-wrap:wrap}}.singleproject__snapshot-item,.singleproject__card{display:flex;flex:1 1 8rem;flex-direction:column;gap:.55rem;padding:1rem;border:1px solid var(--color-border);border-radius:1.3rem;background:var(--color-surface)}.singleproject__snapshot-value{color:var(--color-text-strong);font-weight:600}.singleproject__section{display:flex;flex-direction:column;gap:1.2rem;padding:1.35rem}@media screen and (min-width: 768px){.singleproject__section{padding:1.8rem}}.singleproject__content-block{display:flex;flex-direction:column;gap:.8rem;max-width:47rem}.singleproject__cards{display:flex;flex-direction:column;gap:.9rem}@media screen and (min-width: 768px){.singleproject__cards{flex-direction:row;flex-wrap:wrap}}.singleproject__list{display:flex;flex-direction:column;gap:.75rem}.singleproject__list-item{padding:.95rem 1rem;border:1px solid var(--color-border);border-radius:1.2rem;background:var(--color-surface)}.singleproject__screenshot-block{display:flex;flex-direction:column;gap:.85rem}.singleproject__caption{max-width:38rem}.singleproject__tags{display:flex;flex-wrap:wrap;gap:.55rem}.singleproject__tag{display:inline-flex;align-items:center;min-height:2rem;padding:.42rem .75rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-elevated);color:var(--color-text-strong);font-size:.88rem;font-weight:600}.singleproject__footer-cta{padding:0;border:0;background:transparent;box-shadow:none}.singleproject__cta-card{display:flex;flex-direction:column;gap:1rem;padding:1.35rem;border-radius:calc(var(--radius-lg) + .1rem)}@media screen and (min-width: 768px){.singleproject__cta-card{padding:1.8rem}}@media screen and (min-width: 1280px){.singleproject__cta-card{flex-direction:row;align-items:center;justify-content:space-between}}.construction{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#eef4f6;border-bottom:2px solid rgb(29,33,36)}@media screen and (min-width: 768px){.construction{padding-bottom:4rem}}.construction__info{margin-bottom:6rem;text-align:center}.construction__info-p{font-size:1rem;opacity:.5}@media screen and (min-width: 768px){.construction__info-p{font-size:1.25rem}}@media screen and (min-width: 1280px){.construction__info-p{font-size:1.5rem}}.construction__go-back{border-radius:2rem;border:1px solid rgb(29,33,36);padding:.25rem 1rem;transition:all 1s ease;background:#f7f8f6}.construction__go-back:hover{background-color:#fff;box-shadow:0 0 .25rem #1d2124}.construction__go-back-link{display:flex;justify-content:center;align-items:center;text-decoration:none;color:#000}.construction__go-back-p{margin:.5rem .5rem .5rem .75rem;transition:all 1s ease;text-decoration:none}.arrow{height:1.25rem;width:1.25rem}@media screen and (min-width: 768px){.arrow{height:1.5rem;width:1.5rem}}@media screen and (min-width: 1280px){.arrow{height:2rem;width:2rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}:root{--font-sans: "Manrope", sans-serif;--font-serif: "Newsreader", serif;--color-bg: #f4f7fb;--color-bg-accent: #e6eef9;--color-surface: #f9fbff;--color-surface-elevated: #ffffff;--color-surface-soft: #eef4fb;--color-text: #132033;--color-text-strong: #0d1727;--color-text-muted: #5a6d86;--color-accent: #3f6f9c;--color-accent-strong: #315b85;--color-accent-soft: #d9e6f5;--color-accent-warm: #e4c469;--color-border: rgba(84, 112, 145, .18);--color-border-strong: rgba(69, 96, 128, .28);--color-shadow: 0 18px 40px rgba(25, 49, 80, .09);--color-shadow-lg: 0 28px 72px rgba(25, 49, 80, .14);--color-ring: rgba(84, 143, 204, .24);--surface-panel: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(249, 251, 255, .98));--surface-panel-muted: rgba(249, 251, 255, .82);--surface-overlay: rgba(255, 255, 255, .72);--nav-shell: rgba(249, 251, 255, .82);--nav-shell-scrolled: rgba(249, 251, 255, .68);--nav-button: rgba(255, 255, 255, .72);--radius-lg: 2rem;--radius-md: 1.2rem;--radius-sm: .9rem;--max-width: 74rem;--section-space: 4.75rem;--transition-base: .22s ease}:root[data-theme=dark]{--color-bg: #08111f;--color-bg-accent: #0f1f36;--color-surface: #0d182a;--color-surface-elevated: #122138;--color-surface-soft: #10253f;--color-text: #edf4ff;--color-text-strong: #ffffff;--color-text-muted: #9ab0c9;--color-accent: #8ec7ff;--color-accent-strong: #6db0ef;--color-accent-soft: rgba(142, 199, 255, .14);--color-accent-warm: #dcbc64;--color-border: rgba(138, 167, 202, .18);--color-border-strong: rgba(158, 191, 230, .3);--color-shadow: 0 18px 40px rgba(2, 6, 14, .3);--color-shadow-lg: 0 28px 72px rgba(2, 6, 14, .42);--color-ring: rgba(142, 199, 255, .22);--surface-panel: linear-gradient(180deg, rgba(18, 33, 56, .98), rgba(13, 24, 42, .98));--surface-panel-muted: rgba(13, 24, 42, .88);--surface-overlay: rgba(18, 33, 56, .78);--nav-shell: rgba(13, 24, 42, .8);--nav-shell-scrolled: rgba(13, 24, 42, .68);--nav-button: rgba(18, 33, 56, .82)}*{box-sizing:border-box}html{overflow-x:hidden;background:var(--color-bg)}body{margin:0;min-width:320px;background:radial-gradient(circle at top left,rgba(169,197,231,.22),transparent 26rem),radial-gradient(circle at top right,rgba(228,196,105,.12),transparent 22rem),var(--color-bg);color:var(--color-text);font-family:var(--font-sans);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background var(--transition-base),color var(--transition-base)}#root{min-height:100vh;isolation:isolate;overflow-x:clip}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3,h4{margin:0;color:var(--color-text-strong)}h1{font-size:clamp(3.1rem,7vw,5.3rem);font-family:var(--font-sans);font-weight:800;line-height:.96;letter-spacing:-.05em}h2{font-size:clamp(2.2rem,4.8vw,3.65rem);font-family:var(--font-sans);font-weight:700;line-height:1.02;letter-spacing:-.04em}h3,h4{font-family:var(--font-sans);font-weight:600;line-height:1.2;letter-spacing:-.03em}h3{font-size:clamp(1.35rem,2.4vw,2rem)}h4{font-size:1.05rem}p{margin:0;font-size:1rem;line-height:1.75;color:var(--color-text-muted)}button,input,textarea{font:inherit;letter-spacing:0}button,a,input,textarea{transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:0;box-shadow:0 0 0 4px var(--color-ring)}section{padding:var(--section-space) 1.25rem;border-top:1px solid var(--color-border)}@media screen and (min-width: 768px){section{padding-inline:2rem;--section-space: 5.25rem}}@media screen and (min-width: 1280px){section{padding-inline:3rem;--section-space: 6rem}}.app-shell{min-height:100vh}::selection{background:#73a4d640}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
