@font-face{font-family:General Sans;src:url('./GeneralSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:General Sans;src:url('./GeneralSans-Medium.ttf') format('truetype');font-weight:500 700;font-display:swap}
:root{--font-sans:'General Sans',sans-serif;--font-serif:'General Sans',sans-serif;--sv-red:#ee1b0e;--sv-paper:#f8f8f6;--sv-ink:#191919;--ease-out:cubic-bezier(.23,1,.32,1)}html{height:auto!important;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:110px}body.sv-site{height:auto;overflow-x:clip;background:var(--sv-paper);color:var(--sv-ink);font-family:var(--font-sans);font-weight:400;cursor:auto}*,*:before,*:after{box-sizing:border-box}.sv-site main{padding-top:88px;min-height:65vh}.sv-site p{line-height:1.55}.sv-site h1,.sv-site h2,.sv-site h3{font-family:var(--font-sans);font-weight:400;text-transform:none}.sv-site a,.sv-site button{cursor:pointer}.sv-site a{color:inherit}.sv-site button,.sv-site input,.sv-site textarea{font-family:inherit}.sv-site :focus-visible{outline:2px solid var(--sv-red);outline-offset:6px}.sv-site main:focus{outline:none}.sv-site [hidden]{display:none!important}.sv-skip{position:fixed;top:10px;left:16px;z-index:4000;background:#191919;color:#fff!important;padding:14px 22px;transform:translateY(-160%)}.sv-skip:focus{transform:none}.site-nav{background:var(--sv-paper)!important;transform:none!important;min-height:88px;border-bottom:1px solid #ddd}.nav-container{display:flex;align-items:center;justify-content:space-between;min-height:88px;padding:0 4vw;max-width:none}.nav-logo{display:block!important}.nav-logo img{width:126px;height:auto}.sv-nav-links{display:flex;gap:32px;margin-left:auto;margin-right:34px;font-size:14px}.menu-btn{background:#191919!important;color:#f8f8f6!important;border:0;min-height:44px;min-width:80px;font-size:12px}.menu-overlay{visibility:visible;opacity:1;background:#191919!important;color:#f8f8f6;transform:none;position:fixed;inset:0;z-index:2000;overflow:auto}.menu-overlay-inner{max-width:1000px;margin:auto;padding:100px 6vw 40px;display:flex;flex-direction:column}.menu-overlay .menu-link{opacity:1!important;transform:none!important;color:#f8f8f6!important;font-size:clamp(32px,6vw,72px);padding:12px 0;border-bottom:1px solid #555;line-height:1.2}.menu-close{color:#f8f8f6!important;border:1px solid #777;right:4vw;top:24px;min-height:44px;min-width:80px}.menu-instagram{color:#f8f8f6!important;opacity:1!important;transform:none!important;display:block;margin-top:30px}.sv-kicker{font-size:12px!important;line-height:1.5!important;letter-spacing:.09em;text-transform:uppercase;margin:0 0 22px;color:#595955}.sv-section{padding:80px 4vw;max-width:1600px;margin:auto}.sv-section h1{font-size:clamp(42px,6.4vw,100px);line-height:1.04;letter-spacing:-.055em;margin:0 0 36px}.sv-section h2,.sv-cta h2,.sv-intro-band h2{font-size:clamp(32px,4.4vw,68px);line-height:1.08;letter-spacing:-.045em;margin:0}.sv-section-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:48px}.sv-section-heading p{font-size:18px;max-width:32ch;margin:0}.sv-link{display:inline-block;text-decoration:none;border-bottom:1px solid currentColor;padding:8px 0;line-height:1.4;font-size:16px}.sv-lead{font-size:clamp(20px,2.1vw,32px);max-width:55ch;letter-spacing:-.02em}.sv-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px 32px}.sv-project-card{text-decoration:none}.sv-project-card:nth-child(even){padding-top:110px}.sv-project-photo{overflow:hidden;background:#e9e9e5;aspect-ratio:4/3}.sv-project-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s var(--ease-out)}.sv-project-card:nth-child(3) .sv-project-photo{aspect-ratio:4/5}.sv-project-title{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:22px}.sv-project-title h3{font-size:clamp(25px,3vw,44px);letter-spacing:-.04em;margin:0}.sv-project-title>span{font-size:26px}.sv-project-card .sv-kicker{margin:8px 0 10px}.sv-project-card>p:last-child{font-size:17px;max-width:46ch;margin:0;color:#4b4b48}.sv-home-hero{position:relative;min-height:760px;height:calc(100svh - 88px);max-height:1050px;background:#191919;display:flex;align-items:center}.sv-home-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.sv-home-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.22))}.sv-home-content{position:relative;width:100%;padding:65px 6vw;color:#fff}.sv-home-logo{width:min(64vw,850px);height:auto;display:block;margin:0 0 44px}.sv-home-content h1{font-size:clamp(29px,3.3vw,50px);line-height:1.13;letter-spacing:-.04em;margin:0 0 22px;color:#fff}.sv-home-content p{font-size:18px;margin:0;line-height:1.5}.sv-actions{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px}.sv-actions a{font-size:14px;text-decoration:none;border-bottom:1px solid #fff;padding:10px 0}.sv-image-credit{position:absolute;bottom:22px;right:4vw;color:#fff;font-size:11px}.sv-intro-band{padding:80px 4vw;background:#191919;color:#f8f8f6;display:grid;grid-template-columns:1fr 1fr;gap:36px 7vw}.sv-intro-band>.sv-kicker{grid-column:1/-1;color:#ccc;margin:0}.sv-intro-band p{font-size:20px;max-width:45ch;margin-top:0}.sv-cta{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:76px 4vw;border-top:1px solid #d6d6d1;margin:30px auto 0;max-width:1600px}.sv-cta p{margin:0 0 22px;max-width:43ch;font-size:19px}.sv-footer{margin:0 4vw;padding:40px 0 30px;border-top:1px solid #d6d6d1;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}.sv-footer nav{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}.sv-footer small{width:100%;color:#5b5b58;font-size:12px}.sv-footer>a{font-size:17px}.sv-services-intro{padding-bottom:50px}.sv-services-intro h1{font-size:clamp(40px,5.6vw,86px);max-width:22ch}.sv-flow{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;align-items:center;min-height:460px;margin:0 4vw;background:#eeeee9;overflow:hidden;padding:70px 4vw}.sv-flow-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.sv-flow-art path{fill:none;stroke-width:1;vector-effect:non-scaling-stroke}.sv-flow-base{stroke:#979791;opacity:.5}.sv-flow-highlight{stroke:#ee1b0e;opacity:.72}.sv-flow-label{position:relative;z-index:1;justify-self:start}.sv-flow-label .sv-kicker{margin-bottom:18px;font-size:10px!important;background:#eeeee9;display:table;padding:4px}.sv-flow-label h2{font-size:clamp(24px,3vw,46px);line-height:1.08;letter-spacing:-.045em;margin:0;padding:8px;background:#eeeee9}.sv-flow-label p{font-size:14px;line-height:1.5;margin:18px 0 0;padding:5px;background:#eeeee9;display:table}.sv-flow-center h2{background:#ee1b0e;color:white}.sv-flow-output{justify-self:end}.sv-flow-vertical{display:none}.sv-flow.is-running .sv-flow-highlight{animation:sv-line-reveal 2.4s var(--ease-out) both}@keyframes sv-line-reveal{from{clip-path:inset(0 100% 0 0);opacity:.1}to{clip-path:inset(0);opacity:.72}}.sv-example-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:34px}.sv-example-buttons button{background:transparent;border:1px solid #999;padding:14px 22px;border-radius:0;font-size:16px;color:#191919;min-height:48px}.sv-example-buttons button[aria-pressed=true]{background:#191919;color:#f8f8f6;border-color:#191919}.sv-example{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.sv-example-image{aspect-ratio:4/3;background:#e9e9e4;overflow:hidden}.sv-example-image img{width:100%;height:100%;object-fit:cover;display:block}.sv-example h3{font-size:clamp(27px,3vw,44px);letter-spacing:-.035em;line-height:1.15;margin:0 0 22px}.sv-example p{font-size:18px;margin:0 0 24px}.sv-delivery{padding-top:20px;border-top:1px solid #ccc}.sv-delivery span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}.sv-web-example{padding:32px;display:flex;flex-direction:column;justify-content:space-between;height:100%;background:#191919;color:white}.sv-web-example strong{font-size:clamp(30px,4vw,60px);font-weight:400;line-height:1.06;letter-spacing:-.04em}.sv-web-example span{font-size:13px}.sv-offer{padding-top:30px}.sv-service-row{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:38px 0;border-top:1px solid #bbb;scroll-margin-top:110px}.sv-service-row h3{font-size:clamp(26px,3vw,43px);line-height:1.1;letter-spacing:-.04em;margin:0}.sv-service-row p{font-size:18px;margin:0 0 16px}.sv-service-row .sv-muted{color:#5b5b58;font-size:16px}.sv-collaboration{display:grid;grid-template-columns:1fr 1fr;gap:7vw;background:#eeeee9;max-width:none}.sv-collaboration article+article{border-top:1px solid #bbb;margin-top:30px;padding-top:26px}.sv-collaboration h3{font-size:25px;margin:0 0 14px;letter-spacing:-.03em}.sv-collaboration p{font-size:18px;max-width:48ch;margin:0}.sv-about-intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin:55px 0}.sv-about-intro p{margin:0;font-size:20px}.sv-about-intro .sv-lead{font-size:clamp(23px,2.7vw,38px);line-height:1.3}.sv-people{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin:60px 0}.sv-people>a{border-top:1px solid #bbb;padding-top:25px;text-decoration:none}.sv-people h2{font-size:38px;margin-bottom:18px}.sv-people span{font-size:16px}.sv-about-photo{margin:70px 0}.sv-about-photo img{width:100%;height:auto;display:block}.sv-about-photo figcaption{font-size:13px;margin-top:15px;color:#555}.sv-site .case-intro{min-height:0;padding:48px 4vw 34px}.sv-site .case-intro-copy{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:20px 7vw;align-items:start}.sv-site .case-intro h1{font-family:var(--font-sans);font-size:clamp(38px,5.8vw,86px);letter-spacing:-.045em;line-height:1.05;margin:0;grid-column:1/-1}.sv-site .case-lead{font-size:clamp(20px,2.3vw,30px);line-height:1.35;margin:0;max-width:42ch}.sv-site .case-technical{grid-column:2;grid-row:2;margin:0}.sv-site .case-meta{margin:0;font-size:14px}.sv-site .case-meta div{padding:10px 0}.sv-site .case-body{padding:0 4vw 45px}.sv-site .case-image{opacity:1;transform:none}.sv-site .case-body>.case-image:first-child{margin-top:0}.sv-case-brief{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;padding:50px 0 65px}.sv-case-brief h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 18px}.sv-case-brief p{font-size:18px;line-height:1.55;margin:0}.sv-site .case-next strong{font-family:var(--font-sans)}.sv-site .contact{padding:50px 4vw 70px;background:var(--sv-paper)}.sv-site .contact-postcard{background:var(--sv-paper)}.sv-site .contact-header h1{font-size:clamp(38px,4.5vw,66px);letter-spacing:-.05em}.sv-site .contact-content{padding:36px}.sv-site .contact-intro{color:#484844}.sv-site .contact-form{margin-top:32px}.sv-site .contact-email{color:#191919}.sv-site input::placeholder,.sv-site textarea::placeholder{color:#6a6a65;opacity:1}.sv-site .contact-form-footer>span{color:#555}.sv-form-note{font-size:13px;line-height:1.6;max-width:64ch;color:#555;margin-top:25px}.sv-form-note a{text-decoration:underline}.sv-site .contact-visual{margin:0}.sv-site .reveal{opacity:1;transform:none}.sv-site .cursor-dot,.sv-site .loader{display:none!important}
@media(hover:hover) and (pointer:fine){.sv-project-card:hover img{transform:scale(1.025)}.sv-link:hover,.sv-nav-links a:hover{text-decoration:none;color:#b6170e}}
@media(max-width:700px){html{scroll-padding-top:82px}.sv-site main{padding-top:66px}.site-nav,.nav-container{min-height:66px}.nav-container{padding:0 5vw}.nav-logo img{width:112px}.sv-nav-links{display:none}.menu-btn{min-height:40px;min-width:70px}.menu-close{top:13px}.sv-section{padding:48px 5vw}.sv-section h1{font-size:42px;margin-bottom:26px}.sv-section-heading{display:block;margin-bottom:30px}.sv-section-heading>p,.sv-section-heading>.sv-link{margin-top:22px}.sv-section h2,.sv-cta h2,.sv-intro-band h2{font-size:34px}.sv-project-grid{grid-template-columns:1fr;gap:42px}.sv-project-card:nth-child(even){padding-top:0}.sv-project-card:nth-child(3) .sv-project-photo{aspect-ratio:4/3}.sv-project-title{margin-top:16px}.sv-project-title h3{font-size:28px}.sv-project-card>p:last-child{font-size:16px}.sv-home-hero{min-height:660px;height:calc(100svh - 66px);max-height:900px}.sv-home-content{padding:50px 5vw}.sv-home-logo{width:90vw;margin-bottom:44px}.sv-home-content h1{font-size:30px}.sv-home-content p{font-size:16px}.sv-home-shade{background:rgba(0,0,0,.5)}.sv-actions{gap:24px;margin-top:24px}.sv-actions a{font-size:12px}.sv-image-credit{right:5vw;left:5vw;font-size:10px}.sv-intro-band,.sv-cta,.sv-collaboration{grid-template-columns:1fr;gap:28px;padding:48px 5vw}.sv-intro-band p,.sv-cta p{font-size:18px}.sv-footer{margin:0 5vw;gap:28px;padding-top:32px;align-items:start;flex-direction:column}.sv-footer nav{gap:18px 25px}.sv-services-intro{padding-bottom:24px}.sv-services-intro .sv-lead{font-size:19px}.sv-flow{grid-template-columns:1fr;min-height:690px;gap:46px;margin:0 5vw;padding:36px 25px}.sv-flow-horizontal{display:none}.sv-flow-vertical{display:block}.sv-flow-label{justify-self:start}.sv-flow-center{justify-self:center}.sv-flow-output{justify-self:end}.sv-flow-label h2{font-size:30px}.sv-flow-label p{font-size:13px;margin-top:8px}.sv-flow-label .sv-kicker{margin-bottom:6px}.sv-flow.is-running .sv-flow-highlight{animation-name:sv-line-down}@keyframes sv-line-down{from{clip-path:inset(0 0 100% 0);opacity:.1}to{clip-path:inset(0);opacity:.72}}.sv-example-buttons{gap:8px}.sv-example-buttons button{padding:12px;font-size:13px;flex:1 1 100px}.sv-example{grid-template-columns:1fr;gap:26px}.sv-example h3{font-size:29px}.sv-example p{font-size:17px}.sv-service-row{grid-template-columns:1fr;gap:12px;padding:28px 0}.sv-service-row>div{grid-column:1}.sv-service-row h3{font-size:27px}.sv-service-row p{font-size:17px}.sv-about-intro,.sv-people{grid-template-columns:1fr;gap:26px;margin:35px 0}.sv-about-intro p{font-size:18px}.sv-people h2{font-size:30px}.sv-about-photo{margin:40px 0}.sv-site .case-intro{padding:35px 5vw 28px}.sv-site .case-intro-copy{grid-template-columns:1fr;gap:22px}.sv-site .case-intro h1{font-size:40px}.sv-site .case-lead{font-size:20px;margin:0}.sv-site .case-technical{grid-column:1;grid-row:auto}.sv-site .case-meta{font-size:12px}.sv-site .case-meta div{padding:7px 0}.sv-site .case-body{padding:0 5vw 35px}.sv-case-brief{grid-template-columns:1fr;gap:26px;padding:35px 0}.sv-case-brief h2{margin-bottom:10px}.sv-case-brief p{font-size:17px}.sv-site .contact{padding:24px 5vw 48px}.sv-site .contact-content{padding:22px 18px}.sv-site .contact-header h1{font-size:37px}.sv-site .contact-form{margin-top:28px}.sv-site .contact-intro{font-size:16px}.sv-site .form-group label{font-size:12px}.sv-site .contact-direct-links{margin-top:22px}.sv-site .contact-form-footer{gap:20px}.sv-web-example{padding:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sv-site *, .sv-site *:before,.sv-site *:after{animation:none!important;transition:none!important}.sv-flow-highlight{clip-path:none!important;opacity:.72}.sv-project-card:hover img{transform:none}}
.sv-site .menu-btn{position:static;inset:auto;transform:none;margin:0;flex-shrink:0}.sv-site .nav-container{max-width:none;width:100%}.sv-site .sv-nav-links{margin-right:28px}.sv-site .menu-overlay .menu-link span{transform:none;opacity:1}
.sv-site .case-study{padding-top:0;background:var(--sv-paper)}
/* Continuous visual explanation: typography stays still; lines run beneath it. */
.sv-flow.sv-flow-loop{background:transparent;min-height:530px;padding:36px 0 330px;gap:4vw;align-items:start;overflow:hidden;border-top:1px solid #d6d6d1;border-bottom:1px solid #d6d6d1}
.sv-flow-loop .sv-flow-label{justify-self:start}.sv-flow-loop .sv-flow-label h2,.sv-flow-loop .sv-flow-label p,.sv-flow-loop .sv-flow-label .sv-kicker{background:none;padding:0}.sv-flow-loop .sv-flow-center h2{color:#ee1b0e}.sv-flow-loop .sv-flow-label h2{font-size:clamp(26px,3vw,44px)}.sv-flow-loop .sv-flow-label p{font-size:15px;color:#555}.sv-flow-loop .sv-flow-label .sv-kicker{font-size:11px!important;color:#555}.sv-stream{position:absolute;left:0;bottom:25px;width:100%;height:300px;overflow:visible}.sv-stream-path{fill:none;stroke:#ee1b0e;stroke-width:1;stroke-opacity:.38;vector-effect:non-scaling-stroke}.sv-stream-dot{fill:#ee1b0e;opacity:.9}.sv-stream-mobile{display:none}.sv-motion-toggle{position:absolute;right:0;bottom:12px;border:0;background:var(--sv-paper);padding:8px 0 8px 12px;font-size:12px;color:#555;text-decoration:underline;text-underline-offset:4px;z-index:2;min-height:36px}
@media(max-width:700px){.sv-flow.sv-flow-loop{min-height:650px;padding:32px 100px 48px 0;gap:50px;grid-template-columns:1fr;align-items:start}.sv-flow-loop .sv-flow-label,.sv-flow-loop .sv-flow-center,.sv-flow-loop .sv-flow-output{justify-self:start}.sv-flow-loop .sv-flow-label h2{font-size:28px}.sv-flow-loop .sv-flow-label p{font-size:13px}.sv-stream-desktop{display:none}.sv-stream-mobile{display:block;left:auto;right:0;top:0;bottom:0;width:85px;height:100%}.sv-motion-toggle{font-size:11px}.sv-flow-loop .sv-flow-label .sv-kicker{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){.sv-stream-dot{display:none}.sv-motion-toggle{display:none!important}}

/* Minimal homepage: signature, work, services and contact. */
.sv-home-minimal{padding:76px 4vw 56px;max-width:1600px;margin:auto}.sv-home-wordmark{display:block;width:100%;height:auto;max-height:270px;object-fit:contain;object-position:left center}.sv-home-baseline{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-top:50px}.sv-home-baseline h1{font-size:clamp(22px,2.3vw,34px);font-weight:400;line-height:1.3;letter-spacing:-.025em;margin:0}.sv-home-baseline .sv-link{font-size:14px}.sv-home-projects{padding-top:48px}.sv-home-projects .sv-section-heading h2{font-size:28px}.sv-home-projects .sv-section-heading{margin-bottom:30px}.sv-home-projects .sv-project-card:nth-child(even){padding-top:0}.sv-home-services,.sv-home-contact{margin:0 4vw;padding:42px 0;display:flex;justify-content:space-between;align-items:center;gap:28px;border-top:1px solid #d6d6d1}.sv-home-services p{font-size:clamp(20px,2.4vw,34px);letter-spacing:-.025em;margin:0}.sv-home-contact{padding:66px 0}.sv-home-contact h2{font-size:clamp(42px,6vw,80px);letter-spacing:-.045em;line-height:1;margin:0}.sv-home .sv-footer{margin-top:0}
@media(max-width:700px){.sv-home-minimal{padding:58px 5vw 32px}.sv-home-wordmark{max-height:none}.sv-home-baseline{margin-top:32px;align-items:start;flex-direction:column;gap:22px}.sv-home-baseline h1{font-size:23px}.sv-home-projects{padding-top:32px}.sv-home-projects .sv-section-heading{display:flex;align-items:center;gap:20px}.sv-home-projects .sv-section-heading>.sv-link{margin-top:0;font-size:14px}.sv-home-projects .sv-section-heading h2{font-size:25px}.sv-home-services,.sv-home-contact{margin:0 5vw;padding:32px 0;align-items:start;flex-direction:column;gap:20px}.sv-home-services p{font-size:24px;max-width:24ch}.sv-home-contact{padding:44px 0}}
