@font-face{font-family:Archivo;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0243a93baa3a5144-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/80435c732b94789f-s.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:Archivo;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/d38dd3a93f59421d-s.p.woff2) format("woff2");unicode-range:u+00??,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:Archivo;font-style:italic;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0243a93baa3a5144-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:italic;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/80435c732b94789f-s.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:Archivo;font-style:italic;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/d38dd3a93f59421d-s.p.woff2) format("woff2");unicode-range:u+00??,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:Archivo;font-style:italic;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0243a93baa3a5144-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:italic;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/80435c732b94789f-s.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:Archivo;font-style:italic;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/d38dd3a93f59421d-s.p.woff2) format("woff2");unicode-range:u+00??,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:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.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:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,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:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.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:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,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:Archivo;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.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:Archivo;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,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:Archivo Fallback;src:local("Arial");ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.00%;size-adjust:98.70%}.__className_4e97a8{font-family:Archivo,Archivo Fallback}.__variable_4e97a8{--font-archivo:"Archivo","Archivo Fallback"}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--ink:#000000;--paper:#ffffff;--muted:#666666;--accent:#000000;--border:rgba(0,0,0,0.12);--font:var(--font-archivo),"Archivo",sans-serif;--max-w:1024px}html{scroll-behavior:smooth}body{font-family:var(--font);font-weight:400;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.7}.has-custom-cursor,.has-custom-cursor a,.has-custom-cursor button{cursor:none}.cursor-dot{width:8px;height:8px;background:var(--ink);border-radius:50%;z-index:9999;transition:transform .15s ease,opacity .2s}.cursor-dot,.cursor-ring{position:fixed;pointer-events:none;transform:translate(-50%,-50%)}.cursor-ring{width:32px;height:32px;border:2px solid var(--ink);border-radius:50%;z-index:9998;transition:transform .35s ease,width .3s,height .3s,opacity .2s;opacity:.4}.has-custom-cursor a:hover~.cursor-ring,.has-custom-cursor button:hover~.cursor-ring{width:48px;height:48px;opacity:.2}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;border-bottom:1px solid transparent;transition:background .3s,border-color .3s,-webkit-backdrop-filter .3s;transition:background .3s,border-color .3s,backdrop-filter .3s;transition:background .3s,border-color .3s,backdrop-filter .3s,-webkit-backdrop-filter .3s}.nav-inner{display:flex;justify-content:space-between;align-items:center;max-width:var(--max-w);margin:0 auto;padding:1.5rem 2rem}.nav-logo{font-family:var(--font);font-size:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;color:var(--ink)}.nav--scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--border)}.nav-links{display:flex;gap:2.5rem;list-style:none;align-items:center}.nav-links a{text-decoration:none;color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}.nav-links a:hover{color:var(--ink)}.section-border{border-top:1px solid var(--border)}.section-border:first-child{border-top-color:var(--ink)}.hero{min-height:70vh;max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:6rem 2rem 4rem;position:relative;overflow:hidden}.hero-left{padding-bottom:1rem;animation:fadeUp 1s ease both}.hero-eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem}.hero-name{font-family:var(--font);font-size:clamp(3.5rem,7vw,5.5rem);font-weight:900;line-height:.92;letter-spacing:-.04em;margin-bottom:2rem;text-transform:uppercase}.hero-name em{font-style:normal;color:var(--muted)}.hero-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:3rem;animation:fadeUp 1s ease .2s both}.hero-desc{max-width:320px;text-align:right;color:var(--muted);font-size:14px;line-height:1.8}.hero-scroll{display:flex;align-items:center;gap:1rem;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.scroll-line{width:48px;height:1px;background:var(--muted);animation:grow 2s ease 1.5s both;transform-origin:left}.hero-bg-text{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);font-family:var(--font);font-size:clamp(5rem,12vw,9rem);font-weight:900;color:rgba(0,0,0,.03);white-space:nowrap;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;letter-spacing:-.04em;text-transform:uppercase}.section-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin-bottom:4rem;display:flex;align-items:center;gap:1rem}.section-label:before{content:"";display:block;width:24px;height:1px;background:var(--muted)}.ticker-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.1rem 0;overflow:hidden;white-space:nowrap;background:var(--paper)}.ticker-track{display:inline-flex;animation:ticker 55s linear infinite}.ticker-track:hover{animation-play-state:paused}.ticker-item{font-family:var(--font);font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:0 2.5rem;display:inline-flex;align-items:center;gap:2.5rem}.ticker-item:after{content:"\00B7";color:var(--accent);font-size:1.2rem}@keyframes ticker{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.work-section{padding:6rem 2rem;max-width:var(--max-w);margin:0 auto}.work-header{display:flex;justify-content:space-between;align-items:center}.view-select{font-family:var(--font);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--paper);border:1px solid var(--border);padding:.5rem .75rem;cursor:pointer;transition:border-color .2s;border-radius:0}@media (hover:hover) and (pointer:fine){.view-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23111' stroke-width='1.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.view-select:focus-visible,.view-select:hover{border-color:var(--ink);outline:none}}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem}.projects-grid--carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:1.5rem;padding:0 calc((100% - 55%) / 2) .5rem;scrollbar-width:none}.projects-grid--carousel::-webkit-scrollbar{display:none}.projects-grid--carousel .carousel-slide{flex:0 0 55%;scroll-snap-align:center;scroll-snap-stop:always}.project-card{position:relative}.project-card--clickable{cursor:pointer}.project-card-image{width:100%;aspect-ratio:3/4;background:#f0f0f0;position:relative;overflow:hidden;margin-bottom:1.25rem}.project-card-image:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .4s ease}.project-card:hover .project-card-image:after{background:rgba(0,0,0,.08)}.project-card-image .project-num{position:absolute;top:1rem;left:1rem;font-size:11px;letter-spacing:.12em;color:var(--muted);z-index:1}.project-overlay{position:absolute;inset:0;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;transition:background .4s;z-index:1}.project-overlay span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#f7f5f0;opacity:0;transition:opacity .3s}.project-card--clickable:hover .project-overlay{background:rgba(26,26,24,.45)}.project-card--clickable:hover .project-overlay span{opacity:1}.project-card--clickable:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.project-card--clickable:focus-visible .project-overlay{background:rgba(26,26,24,.45)}.project-card--clickable:focus-visible .project-overlay span{opacity:1}.project-title{font-family:var(--font);font-size:1rem;font-weight:700;line-height:1.3;margin-bottom:.4rem;letter-spacing:-.01em;text-transform:uppercase}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tag{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.tag:not(:last-child):after{content:"\00B7";margin-left:.4rem;color:var(--muted)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch}.lightbox-close{position:fixed;top:1.5rem;right:2rem;background:none;border:none;color:#fff;font-size:1.1rem;cursor:pointer;z-index:1001;font-family:var(--font);letter-spacing:.05em;padding:.5rem 1rem}.lightbox-close:hover{opacity:.7}.lightbox-close:focus-visible{outline:2px solid #fff;outline-offset:2px}.lightbox-inner{max-width:1024px;margin:0 auto;padding:5rem 2rem 4rem}.lightbox-num{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#666;margin-bottom:.5rem}.lightbox-title{font-family:var(--font);font-size:2.5rem;font-weight:900;color:#fff;margin-bottom:.75rem;letter-spacing:-.03em;text-transform:uppercase}.lightbox-tags{font-size:13px;color:#666;margin-bottom:2.5rem;letter-spacing:.05em;text-transform:uppercase}.case-study{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem;margin-bottom:3.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08)}.case-study-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#fff;font-weight:700;margin-bottom:.75rem}.case-study-text{font-size:13px;color:#999;line-height:1.8}.lightbox-grid{column-count:2;gap:1rem}.lightbox-img-wrap{page-break-inside:avoid;break-inside:avoid;margin-bottom:1rem}.testimonial-section{padding:6rem 2rem;max-width:var(--max-w);margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}.testimonial-quote{font-family:var(--font);font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:400;font-style:italic;line-height:1.6;color:var(--ink);max-width:700px;margin-bottom:1.5rem;letter-spacing:-.01em}.testimonial-cite{font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.about-section{padding:6rem 2rem;max-width:var(--max-w);margin:0 auto;display:flex;flex-direction:column;gap:5rem}.about-top{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem;align-items:start}.about-text{font-family:var(--font);font-size:1.6rem;font-weight:900;line-height:1.15;color:var(--ink);text-transform:uppercase;letter-spacing:-.02em}.about-text em{font-style:normal;color:var(--muted)}.about-body{font-size:14px;color:var(--muted);line-height:1.9;margin-top:2rem;font-weight:400}.about-details{display:flex;flex-direction:column;gap:2.5rem}.detail-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}.detail-value{font-family:var(--font);font-size:1rem;font-weight:700;letter-spacing:-.01em}.services-section{padding:6rem 2rem;max-width:var(--max-w);margin:0 auto}.services-list{border-top:1px solid var(--border)}.service-row--hidden{opacity:0;transform:translateY(20px)}.service-row{display:grid;grid-template-columns:3.5rem 1fr auto;align-items:center;grid-gap:1.5rem;gap:1.5rem;padding:1.75rem 0;border-bottom:1px solid var(--border);cursor:default;transition:opacity .35s ease,filter .35s ease,transform .8s ease}.service-row--dimmed{opacity:.18;filter:blur(.6px)}.service-row--active .service-row-title{transform:scale(1.07)}.service-row--active .service-row-desc{opacity:1;max-height:5rem}.service-row-num{font-size:11px;letter-spacing:.12em;color:var(--muted);padding-top:.15rem;align-self:flex-start}.service-row-body{display:flex;flex-direction:column;gap:.5rem}.service-row-title{font-size:clamp(1rem,2vw,1.35rem);font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1.2;transform-origin:left center;transition:transform .35s cubic-bezier(.25,.46,.45,.94)}.service-row-desc{font-size:12px;color:var(--muted);line-height:1.7;max-width:52ch;opacity:0;max-height:0;overflow:hidden;transition:opacity .3s ease .05s,max-height .35s ease}.service-row-arrow{font-size:18px;color:var(--muted);opacity:0;transform:translateX(-6px);transition:opacity .25s ease,transform .25s ease}.service-row--active .service-row-arrow{opacity:1;transform:translateX(0)}.skills-section{padding:0;max-width:var(--max-w);margin:0 auto}.tools-strip{display:flex;align-items:center;gap:3rem;padding:2.5rem 2rem}.tools-strip-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-weight:700;white-space:nowrap;flex-shrink:0;padding-right:3rem;border-right:1px solid var(--border)}.tools-strip-items{justify-content:space-between;flex:1 1}.tool-pill,.tools-strip-items{display:flex;align-items:center}.tool-pill{flex-direction:column;gap:.6rem;opacity:.5;transition:opacity .3s}.tool-pill:hover{opacity:1}.tool-pill svg{width:40px;height:40px;display:block}.tool-pill span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);white-space:nowrap}.contact-section{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8rem 2rem;max-width:var(--max-w);margin:0 auto}.contact-label{margin-bottom:2rem;justify-content:center}.contact-label:before{display:none}.contact-heading{font-family:var(--font);font-size:clamp(2.5rem,5.5vw,4rem);font-weight:900;line-height:.95;margin-bottom:2rem;max-width:700px;letter-spacing:-.03em;text-transform:uppercase}.contact-heading em{font-style:normal;color:var(--muted)}.contact-sub{color:var(--muted);font-size:14px;margin-bottom:3.5rem;max-width:400px}.contact-links{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center}.contact-btn{text-decoration:none;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:.9rem 2.5rem;border:2px solid var(--ink);color:var(--ink);transition:all .3s}.contact-btn:hover{background:#000;color:#fff}.contact-btn:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.contact-btn.ghost{border-color:var(--border);color:var(--muted)}.contact-btn.ghost:hover{background:transparent;border-color:var(--muted);color:var(--ink)}.site-footer{padding:2rem;max-width:var(--max-w);margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);letter-spacing:.06em}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--ink)}@keyframes fadeUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.reveal{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease}.reveal--hidden{opacity:0;transform:translateY(24px)}.carousel-controls{display:flex;flex-direction:column;align-items:center;gap:1.25rem;margin-top:2rem}.carousel-dots{display:flex;gap:.5rem}.carousel-dot{width:6px;height:6px;border-radius:50%;border:1px solid var(--muted);background:transparent;padding:0;cursor:pointer;transition:background .2s,transform .2s}.carousel-dot--active{background:var(--ink);border-color:var(--ink);transform:scale(1.3)}.carousel-arrows{display:flex;align-items:center;gap:1.5rem}.carousel-arrow{background:none;border:1px solid var(--border);color:var(--ink);font-size:1rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,opacity .2s}.carousel-arrow:disabled{opacity:.25;cursor:default}.carousel-arrow:not(:disabled):hover{border-color:var(--ink)}.carousel-counter{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:900px){.hero{grid-template-columns:1fr;padding:6rem 2rem 3rem;gap:2rem;min-height:60vh}.hero-right{align-items:flex-start}.hero-desc{text-align:left}.projects-grid:not(.projects-grid--carousel){grid-template-columns:repeat(2,1fr)}.projects-grid--carousel .carousel-slide{flex:0 0 65%}.projects-grid--carousel{padding:0 calc((100% - 65%) / 2) .5rem}.about-top{grid-template-columns:1fr;gap:3rem}.tools-strip{flex-direction:column;align-items:flex-start;gap:2rem;padding:2rem}.tools-strip-label{border-right:none;padding-right:0;border-bottom:1px solid var(--border);padding-bottom:1rem;width:100%}.tools-strip-items{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem 1.5rem;gap:2rem 1.5rem;width:100%}.tool-pill{opacity:.7}.site-footer{flex-direction:column;gap:1rem;text-align:center}.lightbox-grid{column-count:2;gap:.75rem}.lightbox-img-wrap{margin-bottom:.75rem}.case-study{grid-template-columns:1fr;gap:1.5rem}}@media (max-width:560px){.nav-inner{padding:1rem}.nav-logo{font-size:.85rem}.nav-links{gap:1rem}.nav-links a{font-size:10px;letter-spacing:.06em}.hero{padding:5rem 1.25rem 2.5rem;min-height:auto;gap:1.5rem}.hero-name{font-size:clamp(2.5rem,11vw,3.5rem)}.hero-eyebrow,.hero-name{margin-bottom:1rem}.hero-bg-text{font-size:clamp(3.5rem,18vw,6rem)}.hero-desc{font-size:13px;max-width:none}.hero-scroll{font-size:11px}.work-section{padding:3rem 1.25rem}.section-label{margin-bottom:2.5rem;font-size:10px}.work-header{align-items:center}.projects-grid:not(.projects-grid--carousel){grid-template-columns:1fr;gap:1.5rem}.projects-grid--carousel .carousel-slide{flex:0 0 85%}.projects-grid--carousel{padding:0 calc((100% - 85%) / 2) .5rem;gap:.75rem}.project-title{font-size:.9rem}.testimonial-section{padding:3rem 1.25rem}.testimonial-quote{font-size:1rem}.about-section{padding:3rem 1.25rem;gap:3rem}.about-text{font-size:1.3rem}.about-body{font-size:13px}.services-section{padding:3rem 1.25rem}.service-row{grid-template-columns:2.5rem 1fr}.service-row-arrow{display:none}.service-row-desc{opacity:1;max-height:none}.tools-strip{padding:2rem 1.25rem}.tool-pill svg{width:32px;height:32px}.tool-pill span{font-size:9px}.contact-section{padding:4rem 1.25rem}.contact-heading{font-size:clamp(2rem,8vw,3rem)}.contact-sub{font-size:13px;margin-bottom:2.5rem}.contact-links{flex-direction:column;align-items:stretch;gap:1rem}.contact-btn{text-align:center;padding:.8rem 1.5rem;font-size:12px}.site-footer{padding:1.5rem 1.25rem}.lightbox-inner{padding:4rem 1rem 3rem}.lightbox-title{font-size:1.75rem}.lightbox-grid{column-count:1}.lightbox-close{top:1rem;right:1rem;font-size:1rem;padding:.5rem}.carousel-controls{margin-top:1.5rem;gap:1rem}.carousel-arrow{width:36px;height:36px}}@media (max-width:380px){.nav-logo{font-size:.75rem}.nav-links{gap:.65rem}.nav-links a{font-size:9px}.hero-name{font-size:2.2rem}.contact-heading{font-size:1.8rem}.about-text{font-size:1.1rem}}@media (hover:none){.project-overlay{background:rgba(26,26,24,.35)}.project-overlay span{opacity:1;font-size:11px}.tool-pill{opacity:.75}}