:root{
  --ink:#11110f;
  --cream:#f2efe6;
  --paper:#fbfaf5;
  --line:#2b2b28;
  --muted:#74746f;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.45}
a{color:inherit}
img{max-width:100%;display:block}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:var(--cream);padding:10px 14px;z-index:1000}

.site-header{background:var(--paper);border-bottom:1px solid #d9d7cf}
.header-logo-row{display:flex;justify-content:center;align-items:center;padding:24px 20px 18px}
.brand-logo{display:block;width:min(410px,58vw)}
.brand-logo img{width:100%;height:auto}
.site-header nav{display:flex;justify-content:center;gap:38px;padding:13px 20px 14px;border-top:1px solid #e2e0d8}
.site-header nav a{text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}

.hero{background:var(--cream);border-bottom:1px solid var(--ink)}
.hero-inner{width:min(1440px,100%);margin:auto;padding:clamp(72px,9vw,132px) clamp(20px,5vw,72px) clamp(68px,8vw,104px)}
.eyebrow,.section-number,.mini-label{font-size:.76rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.hero-bottom{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-top:20px}
.hero h1{font-size:clamp(3.2rem,6.6vw,7.2rem);font-weight:700;letter-spacing:-.055em;line-height:.9;margin:0;max-width:980px}
.hero-copy{max-width:550px;justify-self:end}.hero-copy p{font-size:clamp(1.05rem,1.5vw,1.3rem);margin:0 0 28px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid var(--ink);font-weight:700;text-decoration:none;border-radius:999px;transition:.2s ease}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:var(--cream)}.btn-outline{background:transparent}.btn-cream{background:var(--cream);color:var(--ink);border-color:var(--cream);cursor:pointer;font:inherit;font-weight:700}

.marquee{overflow:hidden;background:var(--ink);color:var(--cream);padding:15px 0;border-bottom:1px solid var(--ink)}.marquee-track{display:flex;width:max-content;animation:scroll 25s linear infinite;gap:24px}.marquee span{font-weight:700;font-size:.9rem;letter-spacing:.12em;white-space:nowrap}@keyframes scroll{to{transform:translateX(-50%)}}

.section{padding:clamp(78px,10vw,150px) clamp(20px,5vw,72px);max-width:1440px;margin:auto}.section-dark{padding:clamp(78px,10vw,150px) clamp(20px,5vw,72px);background:var(--ink);color:var(--cream)}
.section-head{display:grid;grid-template-columns:220px 1fr auto;gap:32px;align-items:start;margin-bottom:54px}.section-head h2{font-size:clamp(3rem,6vw,6.5rem);font-weight:700;letter-spacing:-.05em;line-height:.92;margin:0}.text-link{align-self:end;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}.light{color:var(--cream)}
.case-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;margin-bottom:52px}.case-lede{font-size:clamp(1.35rem,2.3vw,2.2rem);line-height:1.25;margin:0}.tags{display:flex;gap:8px;flex-wrap:wrap;align-content:start}.tags span{border:1px solid var(--ink);padding:8px 12px;border-radius:999px;font-size:.86rem}

.project-shot{margin:0;border:1px solid var(--ink);background:#111;overflow:hidden;display:flex;align-items:center;justify-content:center}
.project-shot img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center center;margin:auto}
.project-shot-large{width:100%}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;align-items:start}
.project-grid .project-shot{width:100%}

.case-details{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:52px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.case-details article{padding:30px 28px 30px 0}.case-details article+article{border-left:1px solid var(--ink);padding-left:28px}.case-details p:last-child{margin-bottom:0}
.service-list{max-width:1440px;margin:auto;border-top:1px solid #444}.service-list article{display:grid;grid-template-columns:80px 1fr 1fr;gap:28px;padding:28px 0;border-bottom:1px solid #444;align-items:start}.service-list span{font-size:.8rem;color:#aaa}.service-list h3{font-weight:700;letter-spacing:-.03em;font-size:clamp(1.8rem,3vw,3.2rem);line-height:1;margin:0}.service-list p{margin:6px 0 0;max-width:600px;color:#d4d0c5}
.about-grid,.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.about-grid h2,.contact-grid h2{font-weight:700;letter-spacing:-.05em;font-size:clamp(3.6rem,7vw,7.2rem);line-height:.9;margin:18px 0 0}.about-copy{padding-top:46px}.big-copy{font-size:clamp(1.5rem,2.4vw,2.4rem);line-height:1.22}.note{margin-top:38px;border-top:1px solid var(--ink);padding-top:18px;color:var(--muted)}
.contact{max-width:none}.contact-grid{max-width:1440px;margin:auto}.contact-grid>div:last-child{padding-top:44px}.contact-grid>div:last-child>p{font-size:1.2rem;max-width:620px}.email-link{font-size:clamp(1.35rem,2.2vw,2.2rem);font-weight:700;letter-spacing:-.025em;text-decoration:none;display:inline-block;margin:12px 0 36px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:760px}.contact-form label{display:grid;gap:7px;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.contact-form label:nth-child(4){grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;background:transparent;border:1px solid #555;color:var(--cream);padding:14px 15px;font:inherit;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--cream);outline-offset:2px}.contact-form button{justify-self:start;margin-top:4px}

footer{background:var(--cream);display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;align-items:end;padding:48px clamp(20px,5vw,72px);border-top:1px solid var(--ink);font-size:.9rem}.footer-logo-wrap{max-width:260px}.footer-logo{width:100%;height:auto}footer p{margin:3px 0}.footer-right{text-align:right}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none}.btn{transition:none}}
@media (max-width:900px){
  .brand-logo{width:min(340px,70vw)}
  .site-header nav{gap:26px}
  .hero-inner{padding-top:70px}.hero-bottom,.case-intro,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-copy{justify-self:start}.hero h1{font-size:clamp(3.1rem,10.5vw,5.5rem)}
  .section-head{grid-template-columns:1fr;gap:12px}.section-head .text-link{justify-self:start}.project-grid,.case-details{grid-template-columns:1fr}.case-details article+article{border-left:0;border-top:1px solid var(--ink);padding-left:0}
  .service-list article{grid-template-columns:48px 1fr}.service-list p{grid-column:2}.about-copy,.contact-grid>div:last-child{padding-top:0}.contact-form{grid-template-columns:1fr}.contact-form label:nth-child(4){grid-column:auto}
  footer{grid-template-columns:1fr}.footer-right{text-align:left}
}
@media (max-width:560px){
  .header-logo-row{padding:20px 16px 14px}.brand-logo{width:min(280px,80vw)}.site-header nav{gap:18px;padding:11px 10px 12px}.site-header nav a{font-size:.72rem}
  .hero-inner,.section,.section-dark{padding-left:18px;padding-right:18px}.hero h1{font-size:3rem;line-height:.94}.hero-copy p{font-size:1rem}.hero-actions{display:grid}.btn{width:100%}
  .marquee{padding:12px 0}.project-shot{background:#111}.project-shot img{width:100%;height:auto;object-position:center center}.project-grid{gap:12px;margin-top:12px}
  .service-list article{grid-template-columns:36px 1fr;gap:14px}.service-list h3{font-size:2rem}.section-head h2,.about-grid h2,.contact-grid h2{font-size:3.2rem}
  .email-link{font-size:1.2rem;word-break:break-word}footer{padding:38px 18px}.footer-logo-wrap{max-width:220px}
}
