.header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);transition:background var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}.header.is-scrolled{background:var(--paper);box-shadow:0 1px 0 var(--line)}.header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s-5)}.header__logo{display:block;flex:none;border-radius:var(--r-sm)}.header__logo img{height:42px;width:auto}.header__nav{display:none}.header__nav ul{display:flex;gap:var(--s-1)}.header__link{position:relative;display:block;padding:var(--s-2) var(--s-4);font-weight:500;text-decoration:none;border-radius:var(--r-pill);transition:color var(--t-fast)}.header__link:after{content:"";position:absolute;left:50%;bottom:0;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--red);transform:scale(0);transition:transform var(--t-med) var(--ease)}.header__link:hover:after,.header__link.is-active:after{transform:scale(1)}.header__actions{display:flex;align-items:center;gap:var(--s-1)}.header__icon{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;transition:background var(--t-fast)}.header__icon:hover{background:#0b0b0c0f}.header__count{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:var(--white);font-family:var(--font-mono);font-size:.6875rem;line-height:18px;text-align:center}.header .header__cta{display:none;margin-left:var(--s-2)}.header__burger{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;border-radius:50%}@media(min-width:980px){.header__nav{display:block}.header__burger{display:none}.header .header__cta{display:inline-flex}}.mobile-menu{position:fixed;inset:0;z-index:150;background:var(--ink);color:var(--on-dark);display:flex;flex-direction:column;overflow-y:auto}.mobile-menu__top{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;flex:none}.mobile-menu__logo{height:40px;width:auto}.mobile-menu__nav{flex:1;display:flex;align-items:center;padding-block:var(--s-6)}.mobile-menu__nav ul{width:100%}.mobile-menu__nav a{display:flex;align-items:baseline;gap:var(--s-4);padding:var(--s-2) 0;font-size:clamp(2.4rem,11vw,4rem);font-weight:300;line-height:1.1;letter-spacing:-.03em;text-decoration:none;border-bottom:1px solid var(--line-dark)}.mobile-menu__nav a .mono{font-size:var(--fs-xs);color:var(--on-dark-muted);letter-spacing:.1em}.mobile-menu__nav a.is-active{font-weight:500}.mobile-menu__nav a.is-active:after{content:"";width:12px;height:12px;border-radius:50%;background:var(--red);margin-left:auto;align-self:center}.mobile-menu__foot{display:grid;gap:var(--s-3);padding-bottom:var(--s-6);flex:none}.newsletter{width:100%;max-width:460px}.newsletter__row{display:flex;align-items:center;border-bottom:1.5px solid var(--ink);transition:border-color var(--t-fast)}.newsletter__row:focus-within{border-color:var(--red)}.newsletter__input{flex:1;min-width:0;height:56px;border:0;background:transparent;font-size:var(--fs-md);padding:0}.newsletter__input:focus-visible{box-shadow:none}.newsletter__input::placeholder{color:var(--muted-2)}.newsletter__btn{flex:none;width:48px;height:48px;border-radius:50%;border:0;background:var(--red-strong);color:var(--white);display:grid;place-items:center;transition:background var(--t-fast),transform var(--t-fast)}.newsletter__btn:hover:not(:disabled){background:var(--red-deep);transform:translate(2px)}.newsletter__msg{margin-top:var(--s-2);font-size:var(--fs-sm);min-height:1.4em;color:var(--success)}.newsletter__msg.is-error{color:var(--red-strong)}.newsletter--dark .newsletter__row{border-color:var(--line-dark)}.newsletter--dark .newsletter__row:focus-within{border-color:var(--red)}.newsletter--dark .newsletter__input{color:var(--on-dark)}.newsletter--dark .newsletter__input::placeholder{color:var(--on-dark-muted)}.newsletter--dark .newsletter__msg{color:#7fd6a6}.newsletter--dark .newsletter__msg.is-error{color:#ff8a8e}.footer{background:var(--ink);color:var(--on-dark);padding-top:var(--s-9);padding-bottom:var(--s-6);overflow:hidden}.footer__top{display:grid;gap:var(--s-7);padding-bottom:var(--s-8);border-bottom:1px solid var(--line-dark)}.footer__logo{width:min(320px,70vw);height:auto}.footer__tagline{margin-top:var(--s-4);color:var(--on-dark-muted);max-width:36ch}.footer__heading{font-size:var(--fs-lg);font-weight:300;margin-bottom:var(--s-4);max-width:24ch}.footer__grid{display:grid;gap:var(--s-6);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding-block:var(--s-7)}.footer__label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:var(--s-4)}.footer ul{display:grid;gap:var(--s-2)}.footer a{text-decoration:none;color:var(--on-dark);transition:color var(--t-fast)}.footer a:hover{color:var(--red)}.footer__contact li{display:flex;gap:var(--s-2);align-items:center}.footer__contact svg{color:var(--on-dark-muted);flex:none}.footer__social{display:inline-flex;align-items:center;gap:4px}.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding-top:var(--s-5);border-top:1px solid var(--line-dark);font-size:var(--fs-sm);color:var(--on-dark-muted)}.footer__dots{display:flex;gap:6px}.footer__dots i{width:8px;height:8px;border-radius:50%;background:var(--red)}.footer__dots i:nth-child(2){background:var(--on-dark)}@media(min-width:860px){.footer__top{grid-template-columns:1.2fr 1fr;align-items:end}}.hero{position:relative;padding-top:calc(var(--header-h) + clamp(2rem,5vw,5rem));padding-bottom:clamp(3rem,6vw,6rem);overflow:hidden}.hero__inner{display:grid;gap:var(--s-8);align-items:center}.hero__copy{position:relative;z-index:4;min-width:0}.hero__title{margin-top:var(--s-5);font-size:clamp(2.9rem,1rem + 5.4vw,6.4rem);line-height:.95;letter-spacing:-.045em;font-weight:600}.hero__line{display:block}.hero__line--light{font-weight:300;color:var(--ink)}.hero__stop{color:var(--red)}.hero__sub{margin-top:var(--s-6);max-width:46ch;font-size:var(--fs-md);color:var(--muted)}.hero__ctas{margin-top:var(--s-6);display:flex;flex-wrap:wrap;gap:var(--s-3)}.hero__visual{position:relative;min-height:360px;display:grid;place-items:center}.hero__feature{width:100%;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg)}.hero__feature img{width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 5}.hero__stack{position:relative;width:100%;height:clamp(380px,52vw,640px)}.hero__tile{position:absolute;width:58%;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--paper-2)}.hero__tile img{width:100%;aspect-ratio:4 / 5;object-fit:cover}.hero__tile--1{left:0;top:8%;z-index:2}.hero__tile--2{right:0;top:0;z-index:1}.hero__tile--3{left:24%;bottom:0;width:48%;z-index:3}.hero__stack--1 .hero__tile--1{left:15%;width:70%;top:0}.hero__stack--2 .hero__tile--1{top:12%}.hero__mark{width:min(78%,440px)}.hero__mark img{width:100%;height:auto}.hero__dot{position:absolute;right:4%;bottom:6%;width:clamp(28px,4vw,52px);aspect-ratio:1;border-radius:50%;background:var(--ink)}@media(min-width:980px){.hero{min-height:min(100vh,980px);display:flex;align-items:center}.hero__inner{grid-template-columns:1.35fr 1fr}}.marquee{background:var(--ink);color:var(--on-dark);overflow:hidden;padding-block:var(--s-4);border-block:1px solid var(--ink)}.marquee__track{display:flex;width:max-content;animation:marquee 40s linear infinite}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__item{display:inline-flex;align-items:center;gap:var(--s-5);padding-right:var(--s-5);font-size:var(--fs-lg);font-weight:300;white-space:nowrap}.marquee__item i{width:10px;height:10px;border-radius:50%;background:var(--red)}@keyframes marquee{to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.marquee__track{animation:none;flex-wrap:wrap;width:auto}}.intro__grid{display:grid;gap:var(--s-5)}.intro__title{font-size:var(--fs-2xl);font-weight:300;line-height:1.12;letter-spacing:-.025em;max-width:22ch}.intro__body{margin-block:var(--s-5) var(--s-6);font-size:var(--fs-lg);color:var(--muted);max-width:52ch;line-height:1.5}@media(min-width:860px){.intro__grid{grid-template-columns:1fr 2.4fr}}.section-head__aside{justify-self:start}@media(min-width:860px){.section-head__aside{justify-self:end;text-align:right}}.work-grid{display:grid;gap:var(--s-6) var(--s-5)}@media(min-width:640px){.work-grid{grid-template-columns:1fr 1fr}}@media(min-width:980px){.work-grid{grid-template-columns:repeat(12,1fr);align-items:start}.work-grid__item--1{grid-column:1 / span 6;grid-row:span 2}.work-grid__item--2{grid-column:8 / span 5}.work-grid__item--3{grid-column:7 / span 4;margin-top:var(--s-4)}.work-grid__item--4{grid-column:2 / span 7;margin-top:var(--s-6)}.work-grid__item--5{grid-column:9 / span 4;margin-top:var(--s-9)}}.svc-list{border-top:1px solid var(--line-dark)}.svc-row{position:relative;display:grid;grid-template-columns:3rem 1fr auto;gap:var(--s-2) var(--s-4);align-items:center;padding:var(--s-5) 0;border-bottom:1px solid var(--line-dark);text-decoration:none;color:var(--on-dark);overflow:hidden}.svc-row__num{color:var(--on-dark-muted);font-size:var(--fs-sm)}.svc-row__title{font-size:var(--fs-xl);font-weight:400;letter-spacing:-.02em;transition:transform var(--t-med) var(--ease),color var(--t-fast)}.svc-row__summary{grid-column:2 / -1;color:var(--on-dark-muted);font-size:var(--fs-sm);max-width:54ch}.svc-row__arrow{grid-row:1;grid-column:3;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-dark);display:grid;place-items:center;transition:all var(--t-med) var(--ease)}.svc-row:hover .svc-row__title{transform:translate(8px);color:var(--white)}.svc-row:hover .svc-row__arrow{background:var(--red);border-color:var(--red);transform:rotate(45deg)}@media(min-width:860px){.svc-row{grid-template-columns:4rem 1fr 1.1fr auto}.svc-row__summary{grid-column:3;grid-row:1}.svc-row__arrow{grid-column:4}}.services-band__foot{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-7)}.about-band__grid{display:grid;gap:var(--s-7);align-items:center}.about-band__photo{border-radius:var(--r-xl);overflow:hidden}.about-band__photo img{width:100%;aspect-ratio:4 / 5;object-fit:cover}.about-band__graphic{position:relative;aspect-ratio:4 / 5;max-height:520px;border-radius:var(--r-xl);background:var(--ink);overflow:hidden}.about-band__graphic .arc{left:15%;bottom:18%}.about-band__graphic i{position:absolute;top:16%;right:18%;width:18%;aspect-ratio:1;border-radius:50%;background:var(--red)}.about-band__story{max-width:56ch}.about-band__founder{display:grid;gap:2px}.about-band__founder .mono{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em}.about-band__founder strong{font-size:var(--fs-lg);font-weight:500}@media(min-width:860px){.about-band__grid{grid-template-columns:.9fr 1.1fr;gap:var(--s-9)}}.quotes{display:grid;gap:var(--s-5)}.quote{position:relative;padding:var(--s-6);border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);display:grid;gap:var(--s-5);align-content:space-between}.quote__mark{width:34px;height:34px;color:var(--red)}.quote__text{margin:0;font-size:var(--fs-md);line-height:1.55}.quote--lead{background:var(--ink);color:var(--on-dark);border-color:var(--ink)}.quote--lead .quote__text{font-size:var(--fs-lg);font-weight:300}.quote--lead .muted{color:var(--on-dark-muted)}.quote__by{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;font-size:var(--fs-sm)}.quote__photo{width:48px;height:48px;border-radius:50%;object-fit:cover}@media(min-width:860px){.quotes{grid-template-columns:1.3fr 1fr}.quote--lead{grid-row:span 2}}.contact-strip__grid{display:grid;gap:var(--s-7);align-items:end}@media(min-width:860px){.contact-strip__grid{grid-template-columns:1.3fr 1fr}}:root{--ink: #0b0b0c;--ink-2: #161618;--ink-3: #242427;--paper: #f5f3ef;--paper-2: #ebe7e0;--white: #ffffff;--red: #ed1c24;--red-strong: #c8141b;--red-deep: #a10f15;--red-tint: #fbe4e5;--muted: #5c5955;--muted-2: #8a8681;--on-dark: #f5f3ef;--on-dark-muted: #a8a49f;--line: rgba(11, 11, 12, .12);--line-strong: rgba(11, 11, 12, .24);--line-dark: rgba(245, 243, 239, .14);--success: #1f7a4d;--success-tint: #e3f2ea;--warning: #9a5b00;--warning-tint: #fbf0dc;--info: #24527a;--info-tint: #e4edf6;--font-display: "Jost", "Futura", "Century Gothic", system-ui, sans-serif;--font-body: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--fs-xl: clamp(1.5rem, 1.2rem + 1.2vw, 2.125rem);--fs-2xl: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);--fs-3xl: clamp(2.6rem, 1.6rem + 4.4vw, 5.25rem);--fs-hero: clamp(3rem, 1.4rem + 7.2vw, 8rem);--lh-tight: 1.02;--lh-snug: 1.2;--lh-body: 1.6;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--s-9: 6rem;--s-10: 8rem;--section-y: clamp(4rem, 2.5rem + 6vw, 8.5rem);--gutter: clamp(1rem, .5rem + 2.5vw, 2.5rem);--container: 1320px;--container-narrow: 820px;--r-sm: 6px;--r-md: 12px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(11, 11, 12, .06), 0 1px 1px rgba(11, 11, 12, .04);--shadow-md: 0 10px 30px -12px rgba(11, 11, 12, .25);--shadow-lg: 0 30px 60px -24px rgba(11, 11, 12, .35);--ease: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--t-fast: .16s;--t-med: .28s;--t-slow: .52s;--header-h: 76px;--focus: 0 0 0 3px var(--paper), 0 0 0 5px var(--red-strong)}@media(prefers-reduced-motion:reduce){:root{--t-fast: 0ms;--t-med: 0ms;--t-slow: 0ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-body);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:500;line-height:var(--lh-snug);letter-spacing:-.015em}p{margin:0}img,svg,video{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}ul[role=list],ol[role=list]{list-style:none;margin:0;padding:0}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-sm)}::selection{background:var(--red);color:var(--white)}hr{border:0;border-top:1px solid var(--line);margin:var(--s-6) 0}table{border-collapse:collapse;width:100%}.visually-hidden{position:absolute!important;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;left:var(--s-4);top:-100px;z-index:1000;background:var(--ink);color:var(--white);padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);text-decoration:none}.skip-link:focus{top:var(--s-4)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:calc(var(--container-narrow) + 2 * var(--gutter))}.section{padding-block:var(--section-y)}.section--tight{padding-block:calc(var(--section-y) * .6)}.section--dark{background:var(--ink);color:var(--on-dark)}.section--paper2{background:var(--paper-2)}.section--white{background:var(--white)}.page-top{padding-top:calc(var(--header-h) + var(--s-7))}.eyebrow{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);flex:none}.section--dark .eyebrow{color:var(--on-dark-muted)}.eyebrow__num{color:var(--ink)}.section--dark .eyebrow__num{color:var(--on-dark)}.section-head{display:grid;gap:var(--s-4);margin-bottom:var(--s-7)}.section-head--split{grid-template-columns:1fr;align-items:end}@media(min-width:860px){.section-head--split{grid-template-columns:1.4fr 1fr;gap:var(--s-7)}}.section-title{font-size:var(--fs-2xl);font-weight:500;line-height:1.05;letter-spacing:-.025em;max-width:18ch}.section-title em{font-style:normal;font-weight:300}.section-lede{color:var(--muted);font-size:var(--fs-md);max-width:52ch}.section--dark .section-lede{color:var(--on-dark-muted)}.page-title{font-size:var(--fs-3xl);font-weight:500;line-height:var(--lh-tight);letter-spacing:-.035em}.page-title em{font-style:normal;font-weight:300}.page-intro{margin-top:var(--s-5);max-width:58ch;font-size:var(--fs-md);color:var(--muted)}.mono{font-family:var(--font-mono);letter-spacing:.02em}.muted{color:var(--muted)}.red{color:var(--red-strong)}.prose{max-width:68ch;font-size:var(--fs-md);line-height:1.7}.prose p+p{margin-top:1em}.prose--pre{white-space:pre-line}.stack>*+*{margin-top:var(--stack, var(--s-4))}.cluster{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}.grid-2{display:grid;gap:var(--s-6)}@media(min-width:860px){.grid-2{grid-template-columns:1fr 1fr}}.arc{position:absolute;width:var(--arc-size, 280px);aspect-ratio:2 / 1;border:var(--arc-weight, 40px) solid var(--red);border-top:0;border-radius:0 0 999px 999px;pointer-events:none}.main{min-height:60vh}.cta-band{background:var(--red-strong);color:var(--white);overflow:hidden}.cta-band__inner{position:relative;padding-block:clamp(4rem,8vw,8rem);display:grid;gap:var(--s-5);justify-items:start}.cta-band__title{font-size:var(--fs-3xl);font-weight:500;line-height:1;letter-spacing:-.035em;max-width:14ch}.cta-band__text{max-width:48ch;font-size:var(--fs-md);opacity:.92}.cta-band__arc{--arc-size: clamp(260px, 36vw, 520px);--arc-weight: clamp(36px, 5vw, 72px);border-color:var(--ink);right:calc(var(--gutter) * -1);bottom:-12%;opacity:.95}.cta-band .btn--ghost-light{--btn-border: rgba(255, 255, 255, .4)}.cta-band__inner>*:not(.arc){position:relative;z-index:1}@media(max-width:639px){.cta-band__arc{opacity:.35}}.btn{--btn-bg: var(--ink);--btn-fg: var(--white);--btn-border: var(--ink);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:48px;padding:0 var(--s-5);border:1.5px solid var(--btn-border);border-radius:var(--r-pill);background:var(--btn-bg);color:var(--btn-fg);font-weight:500;font-size:var(--fs-base);letter-spacing:.01em;text-decoration:none;white-space:nowrap;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.btn svg{width:18px;height:18px;transition:transform var(--t-med) var(--ease)}.btn:hover:not(:disabled) svg.btn__arrow{transform:translate(3px)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55}.btn--primary{--btn-bg: var(--red-strong);--btn-border: var(--red-strong)}.btn--primary:hover:not(:disabled){--btn-bg: var(--red-deep);--btn-border: var(--red-deep)}.btn--dark:hover:not(:disabled){--btn-bg: var(--ink-3);--btn-border: var(--ink-3)}.btn--outline{--btn-bg: transparent;--btn-fg: var(--ink);--btn-border: var(--line-strong)}.btn--outline:hover:not(:disabled){--btn-border: var(--ink)}.btn--light{--btn-bg: var(--paper);--btn-fg: var(--ink);--btn-border: var(--paper)}.btn--light:hover:not(:disabled){--btn-bg: var(--white)}.btn--ghost-light{--btn-bg: transparent;--btn-fg: var(--on-dark);--btn-border: var(--line-dark)}.btn--ghost-light:hover:not(:disabled){--btn-border: var(--on-dark)}.btn--ghost{--btn-bg: transparent;--btn-fg: var(--ink);--btn-border: transparent;padding-inline:var(--s-3)}.btn--ghost:hover:not(:disabled){--btn-bg: rgba(11, 11, 12, .06)}.btn--danger{--btn-bg: transparent;--btn-fg: var(--red-strong);--btn-border: rgba(200, 20, 27, .35)}.btn--danger:hover:not(:disabled){--btn-bg: var(--red-tint)}.btn--sm{min-height:38px;padding:0 var(--s-4);font-size:var(--fs-sm)}.btn--xs{min-height:32px;padding:0 var(--s-3);font-size:var(--fs-xs)}.btn--block{width:100%}.btn--icon{padding:0;width:44px;min-height:44px}.btn--icon.btn--sm{width:38px}.link-arrow{display:inline-flex;align-items:center;gap:var(--s-2);font-weight:500;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}.link-arrow svg{width:16px;height:16px;transition:transform var(--t-med) var(--ease)}.link-arrow:hover svg{transform:translate(2px,-2px)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:grid;gap:var(--s-2);align-content:start}.field__label{font-size:var(--fs-sm);font-weight:500}.field__label .req{color:var(--red-strong);margin-left:2px}.field__hint{font-size:var(--fs-xs);color:var(--muted)}.field__error{font-size:var(--fs-sm);color:var(--red-strong);display:flex;gap:var(--s-1);align-items:center}.input,.select,.textarea{width:100%;min-height:48px;padding:var(--s-3) var(--s-4);border:1.5px solid var(--line-strong);border-radius:var(--r-md);background:var(--white);font-size:var(--fs-base);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--muted-2)}.input:hover,.select:hover,.textarea:hover{border-color:#0b0b0c66}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--ink);box-shadow:0 0 0 3px #ed1c242e;border-radius:var(--r-md)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--red-strong)}.textarea{min-height:140px;resize:vertical;line-height:1.5}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230b0b0c' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.input-group{position:relative}.input-group .input{padding-right:52px}.input-group__btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:transparent;width:44px;height:40px;display:grid;place-items:center;color:var(--muted)}.checkbox{display:flex;gap:var(--s-3);align-items:flex-start;font-size:var(--fs-sm);cursor:pointer}.checkbox input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--red-strong);flex:none}.form-grid{display:grid;gap:var(--s-5)}@media(min-width:640px){.form-grid--2{grid-template-columns:1fr 1fr}.form-grid .span-2{grid-column:1 / -1}}.form-actions{display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:center}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.alert{display:flex;gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-md);font-size:var(--fs-sm);border:1px solid transparent}.alert svg{flex:none;width:18px;height:18px;margin-top:2px}.alert--error{background:var(--red-tint);color:var(--red-deep);border-color:#c8141b33}.alert--success{background:var(--success-tint);color:var(--success)}.alert--info{background:var(--info-tint);color:var(--info)}.alert--warning{background:var(--warning-tint);color:var(--warning)}.filedrop{border:1.5px dashed var(--line-strong);border-radius:var(--r-md);padding:var(--s-5);text-align:center;background:var(--white);transition:border-color var(--t-fast),background var(--t-fast);cursor:pointer}.filedrop:hover,.filedrop.is-over{border-color:var(--red-strong);background:var(--red-tint)}.filedrop svg{margin:0 auto var(--s-2);color:var(--muted)}.filedrop__list{margin-top:var(--s-3);display:grid;gap:var(--s-2);text-align:left}.filedrop__item{display:flex;justify-content:space-between;gap:var(--s-3);align-items:center;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:var(--paper);font-size:var(--fs-sm)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;background:var(--paper-2);color:var(--ink);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.badge--plain:before{display:none}.badge--success{background:var(--success-tint);color:var(--success)}.badge--warning{background:var(--warning-tint);color:var(--warning)}.badge--danger{background:var(--red-tint);color:var(--red-deep)}.badge--info{background:var(--info-tint);color:var(--info)}.badge--dark{background:var(--ink);color:var(--paper)}.badge--red{background:var(--red);color:var(--white)}.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 var(--s-4);border-radius:var(--r-pill);border:1.5px solid var(--line-strong);background:transparent;font-size:var(--fs-sm);font-weight:500;white-space:nowrap;text-decoration:none;transition:all var(--t-fast) var(--ease)}.chip:hover{border-color:var(--ink)}.chip[aria-pressed=true],.chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tag{font-family:var(--font-mono);font-size:var(--fs-xs);padding:2px 8px;border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--muted)}.skeleton{background:linear-gradient(100deg,var(--paper-2) 30%,#f3f0eb 50%,var(--paper-2) 70%);background-size:300% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--r-md)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.state{display:grid;justify-items:center;text-align:center;gap:var(--s-3);padding:var(--s-8) var(--s-4);color:var(--muted)}.state__icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);color:var(--ink);margin-bottom:var(--s-2)}.state__title{color:var(--ink);font-size:var(--fs-lg);font-weight:500}.state p{max-width:42ch}.state--error .state__icon{background:var(--red-tint);color:var(--red-strong)}.page-loader{min-height:50vh;display:grid;place-items:center}.dot-loader{display:flex;gap:8px}.dot-loader span{width:10px;height:10px;border-radius:50%;background:var(--red);animation:pulse 1s var(--ease) infinite}.dot-loader span:nth-child(2){animation-delay:.15s;background:var(--ink)}.dot-loader span:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,to{transform:scale(.6);opacity:.5}50%{transform:scale(1);opacity:1}}.toasts{position:fixed;z-index:300;bottom:var(--s-5);right:var(--s-5);left:var(--s-5);display:grid;justify-items:end;gap:var(--s-2);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--s-3);max-width:420px;width:100%;padding:var(--s-4);border-radius:var(--r-md);background:var(--ink);color:var(--paper);box-shadow:var(--shadow-lg);font-size:var(--fs-sm)}.toast__icon{flex:none;width:20px;height:20px}.toast--success .toast__icon{color:#6fd39d}.toast--error .toast__icon{color:#ff6b70}.toast__close{margin-left:auto;background:none;border:0;color:var(--on-dark-muted);padding:0}.overlay{position:fixed;inset:0;z-index:200;background:#0b0b0c99;display:grid;place-items:center;padding:var(--s-4)}.modal{width:100%;max-width:560px;max-height:calc(100vh - 2rem);overflow:auto;background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.modal--wide{max-width:820px}.modal__head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-5) var(--s-5) var(--s-4);background:var(--paper);border-bottom:1px solid var(--line)}.modal__title{font-size:var(--fs-lg)}.modal__body{padding:var(--s-5)}.modal__foot{display:flex;justify-content:flex-end;gap:var(--s-3);padding:var(--s-4) var(--s-5) var(--s-5)}.lightbox{position:fixed;inset:0;z-index:250;background:#0b0b0cf5;display:grid;grid-template-rows:auto 1fr auto;color:var(--paper)}.lightbox__bar{display:flex;justify-content:space-between;align-items:center;padding:var(--s-4) var(--gutter);font-family:var(--font-mono);font-size:var(--fs-sm)}.lightbox__stage{position:relative;display:grid;place-items:center;padding:0 var(--s-4);min-height:0}.lightbox__stage img{max-width:100%;max-height:calc(100vh - 160px);object-fit:contain;border-radius:var(--r-sm)}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid var(--line-dark);background:#0b0b0c99;color:var(--paper);display:grid;place-items:center}.lightbox__nav:hover{background:var(--red-strong);border-color:var(--red-strong)}.lightbox__nav--prev{left:var(--s-4)}.lightbox__nav--next{right:var(--s-4)}.lightbox__caption{padding:var(--s-4) var(--gutter) var(--s-5);text-align:center;color:var(--on-dark-muted);font-size:var(--fs-sm)}.icon-btn-light{background:none;border:1px solid var(--line-dark);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;color:var(--paper)}.icon-btn-light:hover{border-color:var(--paper)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--s-2);margin-top:var(--s-7);font-family:var(--font-mono);font-size:var(--fs-sm)}.pagination button{min-width:44px;height:44px;border-radius:var(--r-pill);border:1.5px solid var(--line-strong);background:transparent;display:grid;place-items:center}.pagination button[aria-current=page]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.pagination button:hover:not(:disabled):not([aria-current=page]){border-color:var(--ink)}.table-wrap{overflow-x:auto;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg)}.table{font-size:var(--fs-sm)}.table th{text-align:left;font-family:var(--font-mono);font-weight:500;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--paper)}.table td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:background var(--t-fast)}.table tbody tr.is-link{cursor:pointer}.table tbody tr.is-link:hover{background:var(--paper)}.table .num{text-align:right;font-family:var(--font-mono);white-space:nowrap}.table .thumb{width:48px;height:48px;border-radius:var(--r-sm);object-fit:cover;background:var(--paper-2)}.table .cell-strong{font-weight:500}.table .cell-sub{font-size:var(--fs-xs);color:var(--muted)}.project-card{position:relative;display:block;text-decoration:none;color:inherit}.project-card__media{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--paper-2);aspect-ratio:var(--ratio, 4 / 5)}.project-card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease),filter var(--t-slow) var(--ease)}.project-card:hover .project-card__media img{transform:scale(1.04)}.project-card__view{position:absolute;right:var(--s-4);bottom:var(--s-4);width:52px;height:52px;border-radius:50%;background:var(--red);color:var(--white);display:grid;place-items:center;transform:scale(.6);opacity:0;transition:all var(--t-med) var(--ease)}.project-card:hover .project-card__view,.project-card:focus-visible .project-card__view{transform:scale(1);opacity:1}.project-card__meta{display:flex;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-3);align-items:baseline}.project-card__title{font-size:var(--fs-md);font-weight:500}.project-card__cat{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.product-card{position:relative;display:flex;flex-direction:column;background:var(--white);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);transition:box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease)}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.product-card__media{position:relative;aspect-ratio:4 / 5;background:var(--paper-2);overflow:hidden}.product-card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease)}.product-card:hover .product-card__media img{transform:scale(1.035)}.product-card__badges{position:absolute;top:var(--s-3);left:var(--s-3);display:flex;gap:var(--s-2)}.product-card__body{display:grid;gap:var(--s-2);padding:var(--s-4);flex:1}.product-card__title{font-size:var(--fs-md);font-weight:500;line-height:1.3}.product-card__title a{text-decoration:none}.product-card__title a:after{content:"";position:absolute;inset:0}.product-card__formats{display:flex;flex-wrap:wrap;gap:4px}.product-card__foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:var(--s-2)}.product-card__add{position:relative;z-index:1}.price{font-family:var(--font-mono);font-weight:500;white-space:nowrap}.price__was{color:var(--muted-2);text-decoration:line-through;font-weight:400;margin-left:var(--s-2);font-size:.9em}.grid-products{display:grid;gap:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}.tabs{display:flex;gap:var(--s-1);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{background:none;border:0;padding:var(--s-3) var(--s-4);font-weight:500;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs button[aria-selected=true]{color:var(--ink);border-color:var(--red)}.stars{display:inline-flex;gap:2px;color:var(--red)}.stars svg{width:16px;height:16px}.stars .off{color:var(--line-strong)}.req-fieldset{border:0;padding:0;margin:0;display:grid;gap:var(--s-4);min-width:0}.req-fieldset legend{padding:0;margin-bottom:var(--s-4);font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.req-fieldset+.req-fieldset{padding-top:var(--s-5);border-top:1px solid var(--line)}.chip:has(input:focus-visible){box-shadow:var(--focus)}.chip:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--paper)}
