@font-face{font-family: 'Inter';font-style: normal;font-weight: 400;font-display: swap;src: url(../fonts/inter-greek-ext-400.woff2)format('woff2');unicode-range: U+1F00-1FFF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 400;font-display: swap;src: url(../fonts/inter-greek-400.woff2)format('woff2');unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 400;font-display: swap;src: url(../fonts/inter-latin-ext-400.woff2)format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 400;font-display: swap;src: url(../fonts/inter-latin-400.woff2)format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Inter';font-style: normal;font-weight: 500;font-display: swap;src: url(../fonts/inter-greek-ext-500.woff2)format('woff2');unicode-range: U+1F00-1FFF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 500;font-display: swap;src: url(../fonts/inter-greek-500.woff2)format('woff2');unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 500;font-display: swap;src: url(../fonts/inter-latin-ext-500.woff2)format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 500;font-display: swap;src: url(../fonts/inter-latin-500.woff2)format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Inter';font-style: normal;font-weight: 600;font-display: swap;src: url(../fonts/inter-greek-ext-600.woff2)format('woff2');unicode-range: U+1F00-1FFF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 600;font-display: swap;src: url(../fonts/inter-greek-600.woff2)format('woff2');unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 600;font-display: swap;src: url(../fonts/inter-latin-ext-600.woff2)format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 600;font-display: swap;src: url(../fonts/inter-latin-600.woff2)format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Inter';font-style: normal;font-weight: 700;font-display: swap;src: url(../fonts/inter-greek-ext-700.woff2)format('woff2');unicode-range: U+1F00-1FFF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 700;font-display: swap;src: url(../fonts/inter-greek-700.woff2)format('woff2');unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 700;font-display: swap;src: url(../fonts/inter-latin-ext-700.woff2)format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 700;font-display: swap;src: url(../fonts/inter-latin-700.woff2)format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Inter';font-style: normal;font-weight: 800;font-display: swap;src: url(../fonts/inter-greek-ext-800.woff2)format('woff2');unicode-range: U+1F00-1FFF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 800;font-display: swap;src: url(../fonts/inter-greek-800.woff2)format('woff2');unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 800;font-display: swap;src: url(../fonts/inter-latin-ext-800.woff2)format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 800;font-display: swap;src: url(../fonts/inter-latin-800.woff2)format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-bg: #ffffff;--c-bg-soft: #f7f8fa;--c-bg-sink: #f1f3f7;--c-ink: #0a0b0d;--c-body: #4a505b;--c-muted: #767d8a;--c-line: #e6e8ee;--c-line-soft: #eff1f5;--c-accent: #2563eb;--c-accent-deep: #1d4ed8;--c-accent-ink: #1e40af;--c-accent-soft: #eef4ff;--c-accent-line: #d3e1ff;--c-dark: #0b0d12;--c-dark-soft: #161a23;--c-on-dark: #ffffff;--c-on-dark-muted: #9aa3b4;--c-on-dark-line: #232936;--c-success: #059669;--c-danger: #dc2626;--font: 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--font-mono: ui-monospace,'SF Mono','Cascadia Mono',Menlo,Consolas,monospace;--t-xs: 0.75rem;--t-sm: 0.8125rem;--t-base: clamp(0.9375rem,0.9rem + 0.16vw,1.0625rem);--t-lg: clamp(1.0625rem,1rem + 0.28vw,1.25rem);--t-xl: clamp(1.25rem,1.13rem + 0.5vw,1.5rem);--t-h4: clamp(1.25rem,1.1rem + 0.65vw,1.625rem);--t-h3: clamp(1.5rem,1.28rem + 0.95vw,2.125rem);--t-h2: clamp(1.875rem,1.5rem + 1.6vw,3rem);--t-h1: clamp(2.125rem,1.5rem + 2.7vw,3.5rem);--t-display: clamp(2.375rem,1.5rem + 3.3vw,4.375rem);--lh-tight: 1.06;--lh-snug: 1.2;--lh-body: 1.65;--ls-tight: -0.035em;--ls-snug: -0.02em;--ls-wide: 0.08em;--s-1: 0.25rem;--s-2: 0.5rem;--s-3: 0.75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 2.5rem;--s-8: 3rem;--s-9: 4rem;--s-10: 5rem;--s-11: 6rem;--section-y: clamp(4rem,2.5rem + 6vw,8rem);--section-y-sm: clamp(3rem,2rem + 4vw,5.5rem);--wrap: 1200px;--wrap-wide: 1400px;--wrap-text: 68ch;--gutter: clamp(1.25rem,0.9rem + 1.6vw,2.5rem);--header-h: 72px;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 26px;--r-full: 999px;--sh-xs: 0 1px 2px rgba(10,11,13,0.05);--sh-sm: 0 1px 2px rgba(10,11,13,0.05),0 2px 6px rgba(10,11,13,0.04);--sh-md: 0 2px 4px rgba(10,11,13,0.04),0 8px 20px rgba(10,11,13,0.06);--sh-lg: 0 4px 8px rgba(10,11,13,0.04),0 18px 44px rgba(10,11,13,0.09);--sh-xl: 0 8px 16px rgba(10,11,13,0.05),0 32px 72px rgba(10,11,13,0.13);--sh-accent: 0 4px 14px rgba(37,99,235,0.28);--e-out: cubic-bezier(0.22,1,0.36,1);--e-inout: cubic-bezier(0.65,0,0.35,1);--e-spring: cubic-bezier(0.34,1.56,0.64,1);--d-fast: 160ms;--d-base: 260ms;--d-slow: 520ms;--z-header: 100;--z-drawer: 200;--z-top: 300}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;scroll-behavior: auto !important}}*,*::before,*::after{box-sizing: border-box;margin: 0;padding: 0}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth;scroll-padding-top: calc(var(--header-h)+ var(--s-5))}body{background: var(--c-bg);color: var(--c-body);font-family: var(--font);font-size: var(--t-base);line-height: var(--lh-body);font-weight: 400;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility;font-feature-settings: 'cv02','cv03','cv04','cv11';overflow-x: hidden}body.is-locked{overflow: hidden}h1,h2,h3,h4,h5,h6{color: var(--c-ink);font-weight: 700;line-height: var(--lh-snug);letter-spacing: var(--ls-snug);text-wrap: balance}h1{font-size: var(--t-h1);line-height: var(--lh-tight);letter-spacing: var(--ls-tight);font-weight: 800}h2{font-size: var(--t-h2);letter-spacing: var(--ls-tight);font-weight: 800}h3{font-size: var(--t-h3)}h4{font-size: var(--t-h4)}p{text-wrap: pretty}a{color: inherit;text-decoration: none}img,svg,video,canvas{display: block;max-width: 100%;height: auto}ul,ol{list-style: none}[hidden]{display: none !important}button,input,select,textarea{font: inherit;color: inherit}button{background: none;border: 0;cursor: pointer}strong{font-weight: 650;color: var(--c-ink)}::selection{background: var(--c-accent);color: #fff}:focus-visible{outline: 2px solid var(--c-accent);outline-offset: 3px;border-radius: var(--r-sm)}.sr-only{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0,0,0,0);white-space: nowrap;border: 0}.skip-link{position: absolute;top: -100px;left: var(--s-4);z-index: var(--z-top);padding: var(--s-3)var(--s-5);background: var(--c-ink);color: #fff;border-radius: var(--r-md);font-weight: 600;transition: top var(--d-fast)var(--e-out)}.skip-link:focus{top: var(--s-4)}.wrap{width: 100%;max-width: var(--wrap);margin-inline: auto;padding-inline: var(--gutter)}.wrap--wide{max-width: var(--wrap-wide)}.wrap--text{max-width: var(--wrap-text)}.section{padding-block: var(--section-y)}.section--sm{padding-block: var(--section-y-sm)}.section--soft{background: var(--c-bg-soft)}.section--dark{background: var(--c-dark);color: var(--c-on-dark-muted)}.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color: var(--c-on-dark)}.section--divided{border-top: 1px solid var(--c-line)}.s-head{max-width: 60ch;margin-bottom: clamp(2.5rem,1.8rem + 2.6vw,4rem)}.s-head--center{margin-inline: auto;text-align: center}.eyebrow{display: inline-flex;align-items: center;gap: var(--s-2);margin-bottom: var(--s-4);color: var(--c-accent);font-size: var(--t-sm);font-weight: 600;letter-spacing: var(--ls-wide);text-transform: uppercase}.eyebrow::before{content: '';width: 18px;height: 1.5px;background: currentColor;border-radius: 2px}.s-head--center .eyebrow::before{display: none}.s-head p{margin-top: var(--s-4);font-size: var(--t-lg);color: var(--c-body)}.section--dark .eyebrow{color: #7ea6ff}.section--dark .s-head p{color: var(--c-on-dark-muted)}.grid{display: grid;gap: var(--s-5)}.grid--2{grid-template-columns: repeat(2,1fr)}.grid--3{grid-template-columns: repeat(3,1fr)}.grid--4{grid-template-columns: repeat(4,1fr)}@media(max-width: 960px){.grid--3,.grid--4{grid-template-columns: repeat(2,1fr)}}@media(max-width: 620px){.grid--2,.grid--3,.grid--4{grid-template-columns: 1fr}}.header{position: sticky;top: 0;z-index: var(--z-header);height: var(--header-h);display: flex;align-items: center;background: rgba(255,255,255,0.72);backdrop-filter: saturate(180%)blur(16px);-webkit-backdrop-filter: saturate(180%)blur(16px);border-bottom: 1px solid transparent;transition: border-color var(--d-base)var(--e-out),background var(--d-base)var(--e-out),box-shadow var(--d-base)var(--e-out)}.header.is-stuck{background: rgba(255,255,255,0.88);border-bottom-color: var(--c-line);box-shadow: var(--sh-xs)}.header__inner{display: flex;align-items: center;gap: var(--s-6);width: 100%;max-width: var(--wrap-wide);margin-inline: auto;padding-inline: var(--gutter)}.logo{display: flex;align-items: center;flex-shrink: 0;color: var(--c-ink)}.logo svg{height: 26px;width: auto}.logo:hover{opacity: 0.75}.logo{transition: opacity var(--d-fast)var(--e-out)}.nav{display: flex;align-items: center;gap: var(--s-1);margin-inline-start: auto}.nav__link{position: relative;padding: var(--s-2)var(--s-4);border-radius: var(--r-full);color: var(--c-body);font-size: 0.9375rem;font-weight: 500;white-space: nowrap;transition: color var(--d-fast)var(--e-out),background var(--d-fast)var(--e-out)}.nav__link:hover{color: var(--c-ink);background: var(--c-bg-sink)}.nav__link[aria-current='page']{color: var(--c-ink);font-weight: 600}.nav__link[aria-current='page']::after{content: '';position: absolute;left: 50%;bottom: 2px;width: 4px;height: 4px;margin-left: -2px;background: var(--c-accent);border-radius: 50%}.header__actions{display: flex;align-items: center;gap: var(--s-3);flex-shrink: 0}.lang{display: flex;align-items: center;padding: 3px;background: var(--c-bg-sink);border-radius: var(--r-full)}.lang__opt{padding: 5px 11px;border-radius: var(--r-full);color: var(--c-muted);font-size: var(--t-sm);font-weight: 600;letter-spacing: 0.02em;transition: color var(--d-fast)var(--e-out),background var(--d-fast)var(--e-out)}.lang__opt:hover{color: var(--c-ink)}.lang__opt.is-active{background: var(--c-bg);color: var(--c-ink);box-shadow: var(--sh-xs)}.burger{display: none;width: 42px;height: 42px;place-items: center;border-radius: var(--r-md);transition: background var(--d-fast)var(--e-out)}.burger:hover{background: var(--c-bg-sink)}.burger__box{position: relative;width: 19px;height: 12px}.burger__bar{position: absolute;left: 0;width: 100%;height: 2px;background: var(--c-ink);border-radius: 2px;transition: transform var(--d-base)var(--e-out),opacity var(--d-fast)linear}.burger__bar:nth-child(1){top: 0}.burger__bar:nth-child(2){top: 5px}.burger__bar:nth-child(3){top: 10px}.burger[aria-expanded='true'] .burger__bar:nth-child(1){transform: translateY(5px)rotate(45deg)}.burger[aria-expanded='true'] .burger__bar:nth-child(2){opacity: 0}.burger[aria-expanded='true'] .burger__bar:nth-child(3){transform: translateY(-5px)rotate(-45deg)}.drawer{position: fixed;inset: var(--header-h)0 0;z-index: var(--z-drawer);display: flex;flex-direction: column;padding: var(--s-6)var(--gutter)var(--s-8);background: var(--c-bg);overflow-y: auto;overscroll-behavior: contain;visibility: hidden;opacity: 0;transform: translateY(-8px);transition: opacity var(--d-base)var(--e-out),transform var(--d-base)var(--e-out),visibility 0s linear var(--d-base)}.drawer.is-open{visibility: visible;opacity: 1;transform: none;transition-delay: 0s}.drawer__nav{display: flex;flex-direction: column;border-top: 1px solid var(--c-line-soft)}.drawer__link{display: flex;align-items: center;justify-content: space-between;padding: var(--s-5)0;border-bottom: 1px solid var(--c-line-soft);color: var(--c-ink);font-size: var(--t-xl);font-weight: 600;letter-spacing: var(--ls-snug);opacity: 0;transform: translateY(10px)}.drawer.is-open .drawer__link{animation: drawer-in 420ms var(--e-out)forwards;animation-delay: calc(var(--i,0)* 45ms + 60ms)}@keyframes drawer-in{to{opacity: 1;transform: none}}.drawer__link svg{color: var(--c-muted)}.drawer__foot{margin-top: auto;padding-top: var(--s-7)}.drawer__foot .btn{width: 100%}.drawer__social{display: flex;gap: var(--s-3);margin-top: var(--s-5)}@media(max-width: 1040px){.nav{display: none}.burger{display: grid}.header__actions{margin-inline-start: auto}.header__inner{gap: var(--s-4)}}@media(max-width: 560px){.header__actions .nav__cta{display: none}}.footer{background: var(--c-dark);color: var(--c-on-dark-muted);padding-top: var(--s-10)}.footer__top{display: grid;grid-template-columns: 1.6fr repeat(3,1fr);gap: var(--s-8)var(--s-6);padding-bottom: var(--s-9)}.footer__brand .logo{color: var(--c-on-dark)}.footer__tagline{max-width: 34ch;margin-top: var(--s-5);font-size: 0.9375rem;line-height: 1.7}.footer__col h4{margin-bottom: var(--s-5);color: var(--c-on-dark);font-size: var(--t-sm);font-weight: 600;letter-spacing: var(--ls-wide);text-transform: uppercase}.footer__col li + li{margin-top: var(--s-3)}.footer__col a{font-size: 0.9375rem;color: var(--c-on-dark-muted);transition: color var(--d-fast)var(--e-out)}.footer__col a:hover{color: var(--c-on-dark)}.footer__bottom{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--s-4);padding-block: var(--s-5)var(--s-6);border-top: 1px solid var(--c-on-dark-line);font-size: var(--t-sm)}.footer__legal{display: flex;flex-wrap: wrap;gap: var(--s-5)}.footer__legal a:hover{color: var(--c-on-dark)}@media(max-width: 860px){.footer__top{grid-template-columns: 1fr 1fr}.footer__brand{grid-column: 1 / -1}}@media(max-width: 520px){.footer__top{grid-template-columns: 1fr;gap: var(--s-7)}.footer__bottom{flex-direction: column;align-items: flex-start}}.btn{--btn-bg: var(--c-accent);--btn-fg: #fff;position: relative;display: inline-flex;align-items: center;justify-content: center;gap: var(--s-2);padding: 0.875rem 1.5rem;border-radius: var(--r-full);background: var(--btn-bg);color: var(--btn-fg);font-size: 0.9375rem;font-weight: 600;letter-spacing: -0.01em;white-space: nowrap;cursor: pointer;transition: transform var(--d-fast)var(--e-out),box-shadow var(--d-base)var(--e-out),background var(--d-fast)var(--e-out),opacity var(--d-fast)var(--e-out)}.btn:hover{transform: translateY(-2px)}.btn:active{transform: translateY(0)}.btn svg{flex-shrink: 0}.btn--primary{box-shadow: var(--sh-accent)}.btn--primary:hover{--btn-bg: var(--c-accent-deep);box-shadow: 0 8px 22px rgba(37,99,235,0.34)}.btn--dark{--btn-bg: var(--c-ink);box-shadow: var(--sh-md)}.btn--dark:hover{--btn-bg: #1c1f27}.btn--light{--btn-bg: #fff;--btn-fg: var(--c-ink);box-shadow: var(--sh-md)}.btn--light:hover{--btn-bg: #f4f6fa}.btn--ghost{--btn-bg: transparent;--btn-fg: var(--c-ink);box-shadow: inset 0 0 0 1px var(--c-line)}.btn--ghost:hover{--btn-bg: var(--c-bg-sink);box-shadow: inset 0 0 0 1px var(--c-line)}.btn--ghost-dark{--btn-bg: transparent;--btn-fg: var(--c-on-dark);box-shadow: inset 0 0 0 1px var(--c-on-dark-line)}.btn--ghost-dark:hover{--btn-bg: rgba(255,255,255,0.06)}.btn--lg{padding: 1.0625rem 2rem;font-size: 1rem}.btn--sm{padding: 0.625rem 1.125rem;font-size: 0.875rem}.btn--block{width: 100%}.btn[disabled],.btn[aria-busy='true']{opacity: 0.6;pointer-events: none}.link-arrow{display: inline-flex;align-items: center;gap: var(--s-2);color: var(--c-accent);font-weight: 600;font-size: 0.9375rem}.link-arrow svg{transition: transform var(--d-base)var(--e-out)}.link-arrow:hover svg{transform: translateX(4px)}.btn-group{display: flex;flex-wrap: wrap;gap: var(--s-3)}.badge{display: inline-flex;align-items: center;gap: 6px;padding: 5px 11px;border-radius: var(--r-full);background: var(--c-accent-soft);color: var(--c-accent-ink);font-size: var(--t-xs);font-weight: 600;letter-spacing: 0.01em}.badge--muted{background: var(--c-bg-sink);color: var(--c-muted)}.badge--soon{background: #fff7ed;color: #b45309}.tag{display: inline-block;padding: 4px 10px;border-radius: var(--r-sm);background: var(--c-bg-sink);color: var(--c-muted);font-size: var(--t-xs);font-weight: 500}.tag-row{display: flex;flex-wrap: wrap;gap: var(--s-2)}.filters{display: flex;flex-wrap: wrap;gap: var(--s-2);margin-bottom: var(--s-7)}.filter{padding: 0.5rem 1.125rem;border-radius: var(--r-full);box-shadow: inset 0 0 0 1px var(--c-line);color: var(--c-body);font-size: 0.875rem;font-weight: 500;transition: all var(--d-fast)var(--e-out)}.filter:hover{box-shadow: inset 0 0 0 1px var(--c-muted);color: var(--c-ink)}.filter.is-active{background: var(--c-ink);color: #fff;box-shadow: inset 0 0 0 1px var(--c-ink)}.card{position: relative;display: flex;flex-direction: column;padding: var(--s-6);background: var(--c-bg);border-radius: var(--r-lg);box-shadow: inset 0 0 0 1px var(--c-line);transition: transform var(--d-base)var(--e-out),box-shadow var(--d-base)var(--e-out)}.card--hover:hover{transform: translateY(-4px);box-shadow: inset 0 0 0 1px var(--c-line-soft),var(--sh-lg)}.svc{gap: var(--s-4);overflow: hidden}.svc::after{content: '';position: absolute;top: 0;right: 0;width: 160px;height: 160px;background: radial-gradient(circle at 100% 0%,var(--c-accent-soft),transparent 70%);opacity: 0;transition: opacity var(--d-slow)var(--e-out);pointer-events: none}.svc:hover::after{opacity: 1}.svc > *{position: relative;z-index: 1}.svc__icon{display: grid;place-items: center;width: 46px;height: 46px;border-radius: var(--r-md);background: var(--c-accent-soft);color: var(--c-accent);transition: background var(--d-base)var(--e-out),color var(--d-base)var(--e-out)}.svc:hover .svc__icon{background: var(--c-accent);color: #fff}.svc__title{font-size: var(--t-xl)}.svc__tagline{margin-top: -0.5rem;color: var(--c-accent);font-size: var(--t-sm);font-weight: 600}.svc__body{font-size: 0.9375rem}.svc__list{margin-top: var(--s-2)}.svc__list li{display: flex;gap: var(--s-3);padding-block: 7px;font-size: 0.9375rem}.svc__list li + li{border-top: 1px solid var(--c-line-soft)}.svc__list svg{flex-shrink: 0;margin-top: 5px;color: var(--c-accent)}.work-card{display: flex;flex-direction: column;border-radius: var(--r-lg);overflow: hidden;background: var(--c-bg);box-shadow: inset 0 0 0 1px var(--c-line);transition: transform var(--d-base)var(--e-out),box-shadow var(--d-base)var(--e-out)}.work-card:hover{transform: translateY(-5px);box-shadow: inset 0 0 0 1px var(--c-line-soft),var(--sh-lg)}.work-card__media{position: relative;aspect-ratio: 16 / 10;overflow: hidden;background: var(--c-bg-sink)}.work-card__media img{width: 100%;height: 100%;object-fit: cover;transition: transform 700ms var(--e-out)}.work-card:hover .work-card__media img{transform: scale(1.04)}.work-card__badge{position: absolute;top: var(--s-4);left: var(--s-4);background: rgba(255,255,255,0.92);backdrop-filter: blur(8px);color: var(--c-ink)}.work-card__body{display: flex;flex-direction: column;gap: var(--s-3);flex: 1;padding: var(--s-6)}.work-card__meta{display: flex;align-items: center;gap: var(--s-3);color: var(--c-muted);font-size: var(--t-sm);font-weight: 500}.work-card__meta span + span::before{content: '·';margin-right: var(--s-3)}.work-card__title{font-size: var(--t-xl)}.work-card__excerpt{font-size: 0.9375rem;flex: 1}.work-card__more{margin-top: var(--s-2)}.stretch::after{content: '';position: absolute;inset: 0;z-index: 1}.work-card,.product-card,.card--link{position: relative}.product-card{display: flex;flex-direction: column;border-radius: var(--r-lg);overflow: hidden;background: var(--c-bg);box-shadow: inset 0 0 0 1px var(--c-line);transition: transform var(--d-base)var(--e-out),box-shadow var(--d-base)var(--e-out)}.product-card:hover{transform: translateY(-4px);box-shadow: inset 0 0 0 1px var(--c-line-soft),var(--sh-lg)}.product-card__media{position: relative;aspect-ratio: 3 / 2;background: var(--c-bg-sink);overflow: hidden}.product-card__media img{width: 100%;height: 100%;object-fit: cover}.product-card__badge{position: absolute;top: var(--s-4);right: var(--s-4)}.product-card__body{display: flex;flex-direction: column;gap: var(--s-3);flex: 1;padding: var(--s-6)}.product-card__title{font-size: var(--t-lg)}.product-card__excerpt{font-size: 0.9375rem;flex: 1}.product-card__features{display: flex;flex-direction: column;gap: 6px;margin-top: var(--s-1);font-size: 0.875rem}.product-card__features li{display: flex;gap: var(--s-2);align-items: flex-start}.product-card__features svg{flex-shrink: 0;margin-top: 4px;color: var(--c-accent)}.product-card__foot{display: flex;align-items: center;justify-content: space-between;gap: var(--s-3);margin-top: var(--s-4);padding-top: var(--s-4);border-top: 1px solid var(--c-line-soft)}.product-card__price{color: var(--c-ink);font-size: var(--t-lg);font-weight: 700}.form{display: flex;flex-direction: column;gap: var(--s-5)}.field{display: flex;flex-direction: column;gap: var(--s-2)}.field--row{display: grid;grid-template-columns: 1fr 1fr;gap: var(--s-5)}@media(max-width: 560px){.field--row{grid-template-columns: 1fr}}.label{display: flex;align-items: baseline;gap: var(--s-2);color: var(--c-ink);font-size: 0.875rem;font-weight: 600}.label__hint{color: var(--c-muted);font-size: var(--t-xs);font-weight: 400}.input,.select,.textarea{width: 100%;padding: 0.8125rem 1rem;background: var(--c-bg);border: 1px solid var(--c-line);border-radius: var(--r-md);color: var(--c-ink);font-size: 0.9375rem;transition: border-color var(--d-fast)var(--e-out),box-shadow var(--d-fast)var(--e-out),background var(--d-fast)var(--e-out)}.input::placeholder,.textarea::placeholder{color: #a4abb8}.input:hover,.select:hover,.textarea:hover{border-color: #cfd5e0}.input:focus,.select:focus,.textarea:focus{outline: none;border-color: var(--c-accent);box-shadow: 0 0 0 3px rgba(37,99,235,0.14)}.textarea{min-height: 148px;resize: vertical;line-height: 1.6}.select{appearance: none;padding-right: 2.75rem;cursor: pointer;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23767d8a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 1rem center}.field.has-error .input,.field.has-error .select,.field.has-error .textarea{border-color: var(--c-danger);box-shadow: 0 0 0 3px rgba(220,38,38,0.1)}.field__error{display: none;align-items: center;gap: 6px;color: var(--c-danger);font-size: var(--t-sm);font-weight: 500}.field.has-error .field__error{display: flex}.check{display: flex;align-items: flex-start;gap: var(--s-3);cursor: pointer;font-size: 0.875rem;line-height: 1.55}.check input{position: absolute;opacity: 0;width: 0;height: 0}.check__box{display: grid;place-items: center;flex-shrink: 0;width: 20px;height: 20px;margin-top: 1px;border: 1px solid var(--c-line);border-radius: 6px;background: var(--c-bg);transition: all var(--d-fast)var(--e-out)}.check__box svg{opacity: 0;transform: scale(0.6);transition: all var(--d-fast)var(--e-spring);color: #fff}.check input:checked + .check__box{background: var(--c-accent);border-color: var(--c-accent)}.check input:checked + .check__box svg{opacity: 1;transform: scale(1)}.check input:focus-visible + .check__box{outline: 2px solid var(--c-accent);outline-offset: 2px}.check a{color: var(--c-accent);text-decoration: underline;text-underline-offset: 2px}.field.has-error .check__box{border-color: var(--c-danger)}.hp{position: absolute !important;left: -9999px !important;width: 1px;height: 1px;opacity: 0;pointer-events: none}.form__status{display: none;gap: var(--s-3);padding: var(--s-4)var(--s-5);border-radius: var(--r-md);font-size: 0.9375rem;font-weight: 500}.form__status.is-visible{display: flex}.form__status svg{flex-shrink: 0;margin-top: 2px}.form__status--ok{background: #ecfdf5;color: #065f46}.form__status--err{background: #fef2f2;color: #991b1b}.social-row{display: flex;gap: var(--s-3)}.social{display: grid;place-items: center;width: 40px;height: 40px;border-radius: var(--r-md);color: var(--c-body);box-shadow: inset 0 0 0 1px var(--c-line);transition: all var(--d-fast)var(--e-out)}.social:hover{background: var(--c-ink);color: #fff;box-shadow: inset 0 0 0 1px var(--c-ink);transform: translateY(-2px)}.social--dark{color: var(--c-on-dark-muted);box-shadow: inset 0 0 0 1px var(--c-on-dark-line)}.social--dark:hover{background: #fff;color: var(--c-ink);box-shadow: inset 0 0 0 1px #fff}.hero{position: relative;padding-block: clamp(2.5rem,1.5rem + 3.6vw,4.5rem)clamp(3.5rem,2rem + 6vw,6.5rem);overflow: hidden}.hero__glow{position: absolute;border-radius: 50%;filter: blur(90px);pointer-events: none;will-change: transform}.hero__glow--a{top: -18%;right: -3%;width: min(720px,70vw);aspect-ratio: 1;background: radial-gradient(circle,rgba(37,99,235,0.16),transparent 68%);animation: float-a 22s var(--e-inout)infinite}.hero__glow--b{bottom: -30%;left: -14%;width: min(600px,60vw);aspect-ratio: 1;background: radial-gradient(circle,rgba(124,58,237,0.11),transparent 68%);animation: float-b 27s var(--e-inout)infinite}@keyframes float-a{0%,100%{transform: translate(0,0)scale(1)}50%{transform: translate(-5%,5%)scale(1.08)}}@keyframes float-b{0%,100%{transform: translate(0,0)scale(1)}50%{transform: translate(6%,-5%)scale(1.1)}}.hero::before{content: '';position: absolute;inset: 0;background-image: radial-gradient(circle,rgba(10,11,13,0.055)1px,transparent 1px);background-size: 26px 26px;-webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 78%);mask-image: radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 78%);pointer-events: none}.hero__inner{position: relative;z-index: 1;display: grid;grid-template-columns: minmax(0,1fr)minmax(0,0.92fr);align-items: center;gap: clamp(2.5rem,1rem + 5vw,5rem)}.hero__title{font-size: var(--t-display);max-width: 16ch}.hero__lead{max-width: 52ch;margin-top: var(--s-5);font-size: var(--t-lg);line-height: 1.6}.hero__actions{margin-top: var(--s-7)}.hero__note{display: flex;align-items: center;gap: var(--s-2);margin-top: var(--s-5);color: var(--c-muted);font-size: 0.875rem}.hero__note-dot{width: 7px;height: 7px;border-radius: 50%;background: var(--c-success);box-shadow: 0 0 0 0 rgba(5,150,105,0.5);animation: pulse 2.4s var(--e-inout)infinite}@keyframes pulse{0%{box-shadow: 0 0 0 0 rgba(5,150,105,0.5)}70%{box-shadow: 0 0 0 8px rgba(5,150,105,0)}100%{box-shadow: 0 0 0 0 rgba(5,150,105,0)}}.scene{position: relative;perspective: 1600px;perspective-origin: 25% 50%}.scene__stage{position: relative;transform-style: preserve-3d;transform: rotateX(var(--rx,5deg))rotateY(var(--ry,-10deg))scale(0.96);transition: transform 500ms var(--e-out)}.scene:hover .scene__stage{transition-duration: 120ms}.win{position: relative;border-radius: var(--r-lg);background: var(--c-bg);box-shadow: 0 2px 6px rgba(10,11,13,0.06),0 30px 70px rgba(10,11,13,0.15);overflow: hidden;transform: translateZ(0)}.win__bar{display: flex;align-items: center;gap: var(--s-3);padding: 11px var(--s-4);background: var(--c-bg-soft);border-bottom: 1px solid var(--c-line)}.win__dots{display: flex;gap: 6px}.win__dots i{width: 9px;height: 9px;border-radius: 50%;background: #d8dce4}.win__url{flex: 1;padding: 4px 10px;background: var(--c-bg);border-radius: var(--r-full);color: var(--c-muted);font-size: 11px;font-weight: 500;text-align: center}.win__body{padding: var(--s-5)}.bar{height: 9px;border-radius: var(--r-full);background: var(--c-bg-sink)}.bar--accent{background: linear-gradient(90deg,var(--c-accent),#6d8dff)}.bar--tall{height: 15px}.win__rows{display: flex;flex-direction: column;gap: 9px}.win__cards{display: grid;grid-template-columns: repeat(3,1fr);gap: 9px;margin-top: var(--s-5)}.win__card{padding: 11px;border-radius: var(--r-sm);background: var(--c-bg-soft);display: flex;flex-direction: column;gap: 7px}.win__card i{display: block;width: 20px;height: 20px;border-radius: 6px;background: var(--c-accent-soft)}.float{position: absolute;padding: var(--s-4);border-radius: var(--r-md);background: rgba(255,255,255,0.94);backdrop-filter: blur(10px);box-shadow: 0 2px 6px rgba(10,11,13,0.05),0 20px 44px rgba(10,11,13,0.14);animation: bob 6s var(--e-inout)infinite}@keyframes bob{0%,100%{translate: 0 0}50%{translate: 0 -9px}}.float--chat{left: -11%;bottom: 12%;width: 224px;transform: translateZ(70px);animation-delay: -1.5s}.float--stat{right: -3%;top: 9%;transform: translateZ(105px);animation-delay: -3.5s}.chat__head{display: flex;align-items: center;gap: var(--s-2);margin-bottom: 10px;color: var(--c-ink);font-size: 12px;font-weight: 650}.chat__avatar{display: grid;place-items: center;width: 24px;height: 24px;border-radius: 50%;background: var(--c-accent);color: #fff}.chat__msg{padding: 8px 11px;border-radius: 11px;background: var(--c-bg-sink);font-size: 11.5px;line-height: 1.45;color: var(--c-body)}.chat__msg + .chat__msg{margin-top: 6px;background: var(--c-accent);color: #fff}.chat__typing{display: flex;gap: 4px;padding: 10px 11px}.chat__typing i{width: 5px;height: 5px;border-radius: 50%;background: #b6bdc9;animation: typing 1.3s var(--e-inout)infinite}.chat__typing i:nth-child(2){animation-delay: 0.18s}.chat__typing i:nth-child(3){animation-delay: 0.36s}@keyframes typing{0%,60%,100%{opacity: 0.3;transform: translateY(0)}30%{opacity: 1;transform: translateY(-3px)}}.stat-float{display: flex;align-items: center;gap: var(--s-3)}.stat-float__icon{display: grid;place-items: center;width: 34px;height: 34px;border-radius: var(--r-sm);background: #ecfdf5;color: var(--c-success)}.stat-float__val{color: var(--c-ink);font-size: 17px;font-weight: 750;line-height: 1.15}.stat-float__lab{color: var(--c-muted);font-size: 11px;font-weight: 500}@media(max-width: 1000px){.hero__inner{grid-template-columns: 1fr}.hero__title{max-width: 18ch}.scene{margin-top: var(--s-6)}.float--chat{left: 0}.float--stat{right: 0}}@media(max-width: 620px){.float{display: none}.scene__stage{transform: none !important}}.stats{display: grid;grid-template-columns: repeat(4,1fr);gap: var(--s-5);padding: var(--s-7)0;border-block: 1px solid var(--c-line)}.stat{text-align: center}.stat__val{color: var(--c-ink);font-size: clamp(1.75rem,1.4rem + 1.6vw,2.75rem);font-weight: 800;letter-spacing: var(--ls-tight);line-height: 1}.stat__lab{margin-top: var(--s-2);color: var(--c-muted);font-size: 0.875rem}@media(max-width: 620px){.stats{grid-template-columns: 1fr 1fr;gap: var(--s-6)var(--s-4)}}.marquee{position: relative;overflow: hidden;-webkit-mask-image: linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image: linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.marquee__label{margin-bottom: var(--s-5);color: var(--c-muted);font-size: var(--t-sm);font-weight: 600;letter-spacing: var(--ls-wide);text-transform: uppercase;text-align: center}.marquee__track{display: flex;width: max-content;gap: var(--s-8);animation: scroll-x 42s linear infinite}.marquee:hover .marquee__track{animation-play-state: paused}@keyframes scroll-x{to{transform: translateX(-50%)}}.marquee__item{color: var(--c-muted);font-size: 1.0625rem;font-weight: 600;letter-spacing: -0.01em;white-space: nowrap;transition: color var(--d-fast)var(--e-out)}.marquee__item:hover{color: var(--c-ink)}.process{display: grid;grid-template-columns: repeat(4,1fr);gap: var(--s-6);counter-reset: step}.step{position: relative;padding-top: var(--s-6)}.step::before{content: '';position: absolute;top: 0;left: 0;right: calc(var(--s-6)* -1);height: 2px;background: var(--c-line)}.step:last-child::before{right: 0}.step::after{content: '';position: absolute;top: -4px;left: 0;width: 10px;height: 10px;border-radius: 50%;background: var(--c-accent);box-shadow: 0 0 0 4px var(--c-bg)}.step__n{display: block;margin-bottom: var(--s-3);color: var(--c-accent);font-size: var(--t-sm);font-weight: 700;letter-spacing: var(--ls-wide)}.step__title{font-size: var(--t-lg);margin-bottom: var(--s-3)}.step__body{font-size: 0.9375rem}@media(max-width: 900px){.process{grid-template-columns: 1fr 1fr;gap: var(--s-7)var(--s-6)}}@media(max-width: 560px){.process{grid-template-columns: 1fr}.step::before{right: 0}}.why-item{display: flex;gap: var(--s-4)}.why-item__icon{display: grid;place-items: center;flex-shrink: 0;width: 40px;height: 40px;border-radius: var(--r-md);background: rgba(255,255,255,0.07);color: #7ea6ff}.why-item h3{font-size: var(--t-lg);margin-bottom: var(--s-2)}.why-item p{font-size: 0.9375rem}.quote-wall{column-count: 3;column-gap: var(--s-5)}@media(max-width: 980px){.quote-wall{column-count: 2}}@media(max-width: 640px){.quote-wall{column-count: 1}}.quote{break-inside: avoid;page-break-inside: avoid;display: block;margin-bottom: var(--s-5);gap: var(--s-5)}.quote__stars{display: flex;gap: 3px;margin-bottom: var(--s-4);color: #f59e0b}.quote__text{color: var(--c-ink);font-size: 1.0625rem;line-height: 1.6}.quote__text::before{content: '“'}.quote__text::after{content: '”'}.quote__person{display: flex;align-items: center;gap: var(--s-3);margin-top: var(--s-5);padding-top: var(--s-4);border-top: 1px solid var(--c-line-soft)}.quote__avatar{display: grid;place-items: center;flex-shrink: 0;width: 40px;height: 40px;border-radius: 50%;background: var(--c-accent-soft);color: var(--c-accent);font-weight: 700;overflow: hidden}.quote__avatar img{width: 100%;height: 100%;object-fit: cover}.quote__name{color: var(--c-ink);font-weight: 650;font-size: 0.9375rem}.quote__role{color: var(--c-muted);font-size: var(--t-sm)}.faq{max-width: 820px;margin-inline: auto}.faq__item{border-bottom: 1px solid var(--c-line)}.faq__item:first-child{border-top: 1px solid var(--c-line)}.faq__q{display: flex;align-items: center;justify-content: space-between;gap: var(--s-5);width: 100%;padding: var(--s-5)0;text-align: start;color: var(--c-ink);font-size: var(--t-lg);font-weight: 600;letter-spacing: var(--ls-snug);transition: color var(--d-fast)var(--e-out)}.faq__q:hover{color: var(--c-accent)}.faq__icon{position: relative;flex-shrink: 0;width: 22px;height: 22px}.faq__icon::before,.faq__icon::after{content: '';position: absolute;top: 50%;left: 50%;background: currentColor;border-radius: 2px;transition: transform var(--d-base)var(--e-out)}.faq__icon::before{width: 13px;height: 2px;transform: translate(-50%,-50%)}.faq__icon::after{width: 2px;height: 13px;transform: translate(-50%,-50%)}.faq__q[aria-expanded='true'] .faq__icon::after{transform: translate(-50%,-50%)rotate(90deg)}.faq__a{display: grid;grid-template-rows: 0fr;transition: grid-template-rows var(--d-base)var(--e-out)}.faq__a > div{overflow: hidden}.faq__item.is-open .faq__a{grid-template-rows: 1fr}.faq__a p{padding-bottom: var(--s-5);padding-right: var(--s-8);font-size: 0.9375rem;line-height: 1.7}@media(max-width: 560px){.faq__a p{padding-right: 0}.faq__q{font-size: var(--t-base)}}.cta-band{position: relative;padding-block: clamp(3.5rem,2rem + 6vw,6rem);background: var(--c-dark);overflow: hidden}.cta-band::before{content: '';position: absolute;top: -55%;left: 50%;translate: -50% 0;width: min(900px,110vw);aspect-ratio: 1;background: radial-gradient(circle,rgba(37,99,235,0.32),transparent 62%);pointer-events: none}.cta-band__inner{position: relative;z-index: 1;max-width: 640px;margin-inline: auto;text-align: center}.cta-band h2{color: var(--c-on-dark)}.cta-band p{margin-top: var(--s-4);color: var(--c-on-dark-muted);font-size: var(--t-lg)}.cta-band .btn-group{justify-content: center;margin-top: var(--s-7)}.cta-band__mail{margin-top: var(--s-5);color: var(--c-on-dark-muted);font-size: 0.9375rem}.cta-band__mail a{color: var(--c-on-dark);font-weight: 600;text-decoration: underline;text-underline-offset: 3px;text-decoration-color: rgba(255,255,255,0.3);transition: text-decoration-color var(--d-fast)var(--e-out)}.cta-band__mail a:hover{text-decoration-color: #fff}.page-hero{position: relative;padding-block: clamp(3rem,2rem + 4vw,5.5rem)clamp(2.5rem,1.5rem + 3vw,4rem);background: var(--c-bg-soft);border-bottom: 1px solid var(--c-line);overflow: hidden}.page-hero::before{content: '';position: absolute;top: -60%;right: -10%;width: min(620px,70vw);aspect-ratio: 1;border-radius: 50%;background: radial-gradient(circle,rgba(37,99,235,0.1),transparent 68%);pointer-events: none}.page-hero__inner{position: relative;z-index: 1;max-width: 62ch}.page-hero h1{font-size: var(--t-h1)}.page-hero p{max-width: 56ch;margin-top: var(--s-5);font-size: var(--t-lg)}.crumbs{display: flex;align-items: center;gap: var(--s-2);margin-bottom: var(--s-5);color: var(--c-muted);font-size: var(--t-sm)}.crumbs a:hover{color: var(--c-ink)}.crumbs svg{opacity: 0.5}.svc-block{display: grid;grid-template-columns: 1fr 1fr;align-items: center;gap: clamp(2rem,1rem + 4vw,4.5rem);padding-block: var(--section-y-sm)}.svc-block + .svc-block{border-top: 1px solid var(--c-line)}.svc-block:nth-child(even).svc-block__media{order: -1}.svc-block__icon{display: grid;place-items: center;width: 54px;height: 54px;margin-bottom: var(--s-5);border-radius: var(--r-md);background: var(--c-accent);color: #fff;box-shadow: var(--sh-accent)}.svc-block h2{font-size: var(--t-h3)}.svc-block__tagline{margin-top: var(--s-2);color: var(--c-accent);font-weight: 600}.svc-block__body{margin-top: var(--s-4);font-size: var(--t-lg)}.svc-block__media{padding: var(--s-6);border-radius: var(--r-xl);background: var(--c-bg-soft);box-shadow: inset 0 0 0 1px var(--c-line)}.svc-block__label{margin-bottom: var(--s-4);color: var(--c-muted);font-size: var(--t-sm);font-weight: 600;letter-spacing: var(--ls-wide);text-transform: uppercase}.svc-block__list li{display: flex;gap: var(--s-3);padding-block: var(--s-3);font-size: 0.9375rem;color: var(--c-ink)}.svc-block__list li + li{border-top: 1px solid var(--c-line)}.svc-block__list svg{flex-shrink: 0;margin-top: 4px;color: var(--c-accent)}@media(max-width: 860px){.svc-block{grid-template-columns: 1fr;gap: var(--s-6)}.svc-block:nth-child(even).svc-block__media{order: 0}}.project-hero__media{aspect-ratio: 16 / 9;border-radius: var(--r-xl);overflow: hidden;background: var(--c-bg-sink);box-shadow: var(--sh-lg)}.project-hero__media img{width: 100%;height: 100%;object-fit: cover}.project-facts{display: grid;grid-template-columns: repeat(4,1fr);gap: var(--s-5);padding: var(--s-6)0;margin-block: var(--s-8);border-block: 1px solid var(--c-line)}.fact__label{margin-bottom: var(--s-2);color: var(--c-muted);font-size: var(--t-xs);font-weight: 600;letter-spacing: var(--ls-wide);text-transform: uppercase}.fact__value{color: var(--c-ink);font-weight: 600;font-size: 0.9375rem}@media(max-width: 700px){.project-facts{grid-template-columns: 1fr 1fr;gap: var(--s-6)var(--s-5)}}.project-body{display: grid;grid-template-columns: 1fr 1.45fr;gap: clamp(2rem,1rem + 4vw,4rem);align-items: start}.project-body h2{font-size: var(--t-h4);position: sticky;top: calc(var(--header-h)+ var(--s-6))}.project-body p{font-size: var(--t-lg);line-height: 1.7}.project-block + .project-block{margin-top: var(--s-8);padding-top: var(--s-8);border-top: 1px solid var(--c-line)}@media(max-width: 800px){.project-body{grid-template-columns: 1fr;gap: var(--s-4)}.project-body h2{position: static}}.project-gallery{display: flex;flex-wrap: wrap;justify-content: center;gap: var(--s-6);margin-top: var(--s-9)}.shot-phone{width: min(300px,80vw);border-radius: var(--r-lg);overflow: hidden;background: var(--c-bg-sink);box-shadow: inset 0 0 0 1px var(--c-line),var(--sh-lg)}.shot-phone img{width: 100%;display: block}.project-nav{display: flex;align-items: center;justify-content: space-between;gap: var(--s-4);padding-block: var(--s-6);border-top: 1px solid var(--c-line)}.about-intro{display: grid;grid-template-columns: minmax(0,0.72fr)minmax(0,1fr);gap: clamp(2rem,1rem + 4vw,4rem);align-items: start}.about-photo{position: relative;border-radius: var(--r-xl);overflow: hidden;background: var(--c-bg-sink);box-shadow: var(--sh-lg);position: sticky;top: calc(var(--header-h)+ var(--s-6))}.about-photo img{width: 100%;height: 100%;aspect-ratio: 4 / 5;object-fit: cover;object-position: center 22%}@media(max-width: 820px){.about-intro{grid-template-columns: 1fr}.about-photo{position: static;max-width: 380px}}.prose{max-width: var(--wrap-text)}.prose h2{margin-top: var(--s-8);margin-bottom: var(--s-4);font-size: var(--t-h4)}.prose h2:first-child{margin-top: 0}.prose h3{margin-top: var(--s-6);margin-bottom: var(--s-3);font-size: var(--t-lg)}.prose p{margin-bottom: var(--s-4)}.prose ul{margin-bottom: var(--s-4);padding-left: var(--s-5);list-style: disc}.prose ul li{margin-bottom: var(--s-2);padding-left: var(--s-2)}.prose a{color: var(--c-accent);text-decoration: underline;text-underline-offset: 2px}.prose__updated{margin-bottom: var(--s-7);color: var(--c-muted);font-size: var(--t-sm)}.centered-page{display: grid;place-items: center;min-height: calc(100vh - var(--header-h)- 300px);padding-block: var(--section-y);text-align: center}.centered-page__inner{max-width: 52ch;margin-inline: auto}.centered-page__code{color: var(--c-accent);font-size: clamp(4rem,3rem + 6vw,7rem);font-weight: 800;letter-spacing: var(--ls-tight);line-height: 1}.centered-page__icon{display: grid;place-items: center;width: 76px;height: 76px;margin: 0 auto var(--s-6);border-radius: 50%;background: #ecfdf5;color: var(--c-success)}.centered-page p{margin-top: var(--s-4);font-size: var(--t-lg)}.centered-page .btn-group{justify-content: center;margin-top: var(--s-7)}.contact-grid{display: grid;grid-template-columns: 1fr 1.25fr;gap: clamp(2rem,1rem + 4vw,4.5rem);align-items: start}.contact-panel{padding: clamp(1.75rem,1.2rem + 2vw,2.75rem);border-radius: var(--r-xl);background: var(--c-bg);box-shadow: var(--sh-lg)}.contact-info__item + .contact-info__item{margin-top: var(--s-6);padding-top: var(--s-6);border-top: 1px solid var(--c-line)}.contact-info__label{margin-bottom: var(--s-2);color: var(--c-muted);font-size: var(--t-xs);font-weight: 600;letter-spacing: var(--ls-wide);text-transform: uppercase}.contact-info__value{color: var(--c-ink);font-size: var(--t-lg);font-weight: 600}.contact-info__value a:hover{color: var(--c-accent)}@media(max-width: 900px){.contact-grid{grid-template-columns: 1fr}}.shop-note{max-width: 620px;margin: var(--s-9)auto 0;padding: clamp(2rem,1.5rem + 2vw,3rem);border-radius: var(--r-xl);background: var(--c-bg-soft);box-shadow: inset 0 0 0 1px var(--c-line);text-align: center}.shop-note h3{font-size: var(--t-h4)}.shop-note p{margin-top: var(--s-4)}.shop-note .btn{margin-top: var(--s-6)}.reveal{opacity: 0;transform: translateY(18px);transition: opacity 700ms var(--e-out),transform 700ms var(--e-out);transition-delay: var(--delay,0ms)}.reveal.is-in{opacity: 1;transform: none}.no-js .reveal{opacity: 1;transform: none}@media(prefers-reduced-motion: reduce){.reveal{opacity: 1;transform: none}.marquee__track{animation: none}.float{animation: none}.hero__glow{animation: none}}