*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:#f7f7f5;color:#111;font-family:"DM Sans",sans-serif}a{text-decoration:none;color:inherit}.nav{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #deded9;background:#f7f7f5;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.14em;font-size:15px}.brand-mark{width:31px;height:31px;object-fit:contain;display:block}.nav nav{display:flex;gap:34px;font-size:14px;color:#555}.nav nav a:hover{color:#111}.nav-cta{font-size:13px;font-weight:700;border-bottom:1px solid #111;padding-bottom:3px}.nav-cta span,.button span{margin-left:8px}.hero{padding:clamp(48px,4.5vw,80px) 8vw clamp(56px,5vw,92px);max-width:1400px;margin:auto}.eyebrow,.section-label{font-size:11px;letter-spacing:.17em;font-weight:700;color:#666}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(44px,5.9vw,92px);line-height:1;letter-spacing:-.05em;margin:20px 0 26px;max-width:1250px}.hero h1 span{color:#777}.hero>p{max-width:680px;font-size:18px;line-height:1.6;color:#555;margin-bottom:30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;padding:15px 21px;border-radius:999px;font-size:14px;font-weight:700}.primary{background:#111;color:#fff}.secondary{border:1px solid #cfcfc9}.button:hover{transform:translateY(-1px)}.hero-note{margin-top:34px;font-size:12px;color:#777}.dot{display:inline-block;width:7px;height:7px;background:#111;border-radius:50%;margin-right:8px}.marquee{border-top:1px solid #d8d8d2;border-bottom:1px solid #d8d8d2;overflow:hidden;padding:16px 0;font-size:11px;font-weight:700;letter-spacing:.13em;color:#777}.marquee-track{display:flex;width:max-content;animation:marquee 42s linear infinite}.marquee-track span{white-space:nowrap;padding-right:3vw}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}.section{padding:110px 8vw;max-width:1400px;margin:auto}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;margin:25px 0 55px}.section h2{font-family:Manrope,sans-serif;font-size:clamp(38px,5vw,70px);line-height:1.02;letter-spacing:-.045em;margin:0}.section-head p{font-size:17px;line-height:1.7;color:#666;align-self:end;max-width:450px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ccc}.service-grid article{padding:28px 22px 10px 0;border-right:1px solid #ccc;min-height:220px}.service-grid article:not(:first-child){padding-left:22px}.service-grid article:last-child{border-right:0}.service-grid span,.case-top{font-size:10px;letter-spacing:.12em;color:#777}.service-grid h3{font-family:Manrope;font-size:20px;margin:45px 0 12px}.service-grid p,.case p,.about p{font-size:14px;line-height:1.65;color:#666}.case-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:14px}.case{background:#e9e9e4;min-height:370px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;border-radius:3px}.case.featured{grid-row:span 2;background:#111;color:#fff;min-height:754px}.case.featured p{color:#aaa}.case-top{display:flex;justify-content:space-between}.case h3{font-family:Manrope;font-size:clamp(28px,3.5vw,48px);letter-spacing:-.04em;margin:20px 0 10px}.case:not(.featured) h3{font-size:30px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{border:1px solid #aaa;border-radius:999px;padding:7px 10px;font-size:10px;color:#777}.featured .tags span{border-color:#444;color:#aaa}.about{border-top:1px solid #d2d2cc}.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;margin-top:35px}.about h2 em{font-style:normal;color:#777}.about p{font-size:17px;line-height:1.75}.stats{display:flex;gap:50px;margin-top:50px;border-top:1px solid #ccc;padding-top:24px}.stats strong,.stats span{display:block}.stats strong{font-family:Manrope;font-size:22px}.stats span{font-size:11px;color:#777;margin-top:5px}.cta{margin:0 2vw 2vw;padding:110px 8vw;background:#111;color:#fff;text-align:center;border-radius:4px}.cta .eyebrow{color:#aaa}.cta h2{font-family:Manrope;font-size:clamp(42px,6vw,84px);line-height:1;letter-spacing:-.05em;margin:24px 0 38px}.cta h2 span{color:#777}.light{background:#fff;color:#111}.cta .light{font-size:14px}.cta .light:hover{background:#eee}footer{padding:35px 5vw;display:grid;grid-template-columns:1fr auto auto 1fr;gap:24px;align-items:center;font-size:11px;color:#777;border-top:1px solid #ddd}footer .brand{color:#111;font-size:13px}footer>span:nth-child(2){text-align:center}.footer-social{display:flex;gap:18px;justify-content:center}.footer-social a{border-bottom:1px solid #ccc;padding-bottom:2px}.footer-social a:hover{color:#111;border-color:#111}footer>span:last-child{text-align:right}@media(max-width:800px){.nav{padding:0 5vw}.nav nav{display:none}.nav-cta{font-size:12px}.hero{padding:52px 7vw 68px}.hero>p{font-size:16px}.section{padding:75px 7vw}.section-head,.about-grid{grid-template-columns:1fr;gap:25px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{border-bottom:1px solid #ccc}.case-grid{grid-template-columns:1fr}.case.featured{grid-row:auto;min-height:500px}.cta{margin:0 0 1px;border-radius:0;padding:85px 7vw}footer{grid-template-columns:1fr;gap:18px}footer>span:nth-child(2),footer>span:last-child{text-align:left}.footer-social{justify-content:flex-start}}@media(max-width:520px){.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article:not(:first-child){padding-left:0;border-right:0}.hero h1{font-size:48px}.hero-actions{flex-direction:column;align-items:flex-start}.case{min-height:330px}.case.featured{min-height:500px}}

/* --- reveal --- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
/* --- contact page --- */
.nav nav a.current{color:#111;font-weight:600}.contact{padding-top:80px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:28px;align-items:start}.contact h1{font-family:Manrope,sans-serif;font-size:clamp(40px,5.2vw,74px);line-height:1.02;letter-spacing:-.05em;margin:0 0 26px}.contact h1 span{color:#777}.contact-intro>p{font-size:17px;line-height:1.75;color:#666;max-width:460px}.contact-meta{margin:48px 0 0;border-top:1px solid #ccc}.contact-meta div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid #ddd}.contact-meta dt{font-size:10px;letter-spacing:.12em;font-weight:700;color:#777;text-transform:uppercase;padding-top:3px}.contact-meta dd{margin:0;font-size:15px;color:#333}.contact-meta a{border-bottom:1px solid #bbb}.contact-meta a:hover{border-color:#111}.form-card{background:#e9e9e4;border-radius:3px;padding:34px}.field{margin-bottom:20px}.field label{display:block;font-size:10px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;color:#666;margin-bottom:9px}.field label em{font-style:normal;color:#999;letter-spacing:.06em}.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:15px;color:#111;background:#f7f7f5;border:1px solid #d3d3cd;border-radius:3px;padding:13px 14px}.field textarea{resize:vertical;min-height:130px}.field input::placeholder,.field textarea::placeholder{color:#a2a29c}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:#111}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}#contactForm .button{border:0;cursor:pointer;font-family:inherit;margin-top:4px}#contactForm .button:disabled{opacity:.6;cursor:progress}.form-status{font-size:13px;line-height:1.6;margin:16px 0 0;color:#666;min-height:1px}.form-status.ok{color:#1c6b3c}.form-status.error{color:#a3261f}@media(max-width:800px){.contact{padding-top:55px}.contact-grid{grid-template-columns:1fr;gap:40px}.form-card{padding:26px 22px}.contact-meta div{grid-template-columns:1fr;gap:6px}}

/* --- work cards --- */
.case-foot{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.case-link{font-size:12px;font-weight:700;border-bottom:1px solid #111;padding-bottom:2px}.case-link span{margin-left:6px}.case-link:hover{opacity:.6}.featured .case-link{border-color:#fff;color:#fff}

/* --- capability grid --- */
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d8d8d2;border:1px solid #d8d8d2;border-radius:3px;overflow:hidden}.cap{background:#f7f7f5;padding:30px 28px 26px;display:flex;flex-direction:column;min-height:250px;transition:background .25s ease}.cap:hover{background:#efefea}.cap-num{font-size:10px;letter-spacing:.12em;font-weight:700;color:#999}.cap h3{font-family:Manrope,sans-serif;font-size:19px;letter-spacing:-.02em;line-height:1.25;margin:22px 0 12px}.cap p{font-size:14px;line-height:1.65;color:#666;margin:0 0 22px}.proof{margin-top:auto;align-self:flex-start;font-size:10px;letter-spacing:.1em;font-weight:700;text-transform:uppercase;color:#888;border:1px solid #d3d3cd;border-radius:999px;padding:7px 12px}.proof.client{border-color:#111;color:#111}.proof.link{border-color:#111;color:#111}.proof.link:hover{background:#111;color:#fff}/* --- wide case study --- */
.case.featured.case-wide{margin-top:14px;min-height:0;display:block;padding:30px 32px}.case-wide .case-top{margin-bottom:24px}.case-wide-body{display:grid;grid-template-columns:1fr 1.25fr;gap:5vw;align-items:start}.case-wide h3{font-family:Manrope,sans-serif;font-size:clamp(26px,2.6vw,40px);letter-spacing:-.04em;line-height:1.05;margin:0}.case-wide p{font-size:14px;line-height:1.75;margin:0 0 20px}@media(max-width:1000px){.cap-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.cap-grid{grid-template-columns:1fr}.cap{min-height:0}.case.featured.case-wide{padding:24px 22px}.case-wide-body{grid-template-columns:1fr;gap:22px}}
