:root{--red:#bd2228;--ink:#111;--line:#171717;--paper:#fff;--sans:Arial,Helvetica,sans-serif;--serif:"Times New Roman",Times,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#171717;color:var(--ink);font-family:var(--sans);font-size:14px}.site-shell{width:min(1200px,calc(100% - 48px));min-height:calc(100vh - 64px);margin:32px auto;background:var(--paper)}.site-header{height:72px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 32px;position:sticky;top:0;background:#fff;z-index:20}.nav-group{display:flex;gap:30px}.nav-group.right{justify-content:flex-end}.site-header a{text-decoration:none;color:#111;text-transform:uppercase;letter-spacing:.04em;font-size:13px}.site-header a.active{color:var(--red)}.brand img{display:block;width:116px;height:36px;object-fit:contain}.page{padding:46px 40px 80px;min-height:calc(100vh - 136px)}.home{min-height:calc(100vh - 136px);display:grid;place-items:center}.home img{width:min(250px,44vw);height:auto}.page-title{text-transform:uppercase;font-size:22px;font-weight:400;letter-spacing:.025em;margin:0 0 58px}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.055em}.work-section+.work-section{margin-top:42px}.work-heading{margin:0 0 16px}.work-row{display:grid;grid-template-columns:1.8fr .9fr auto;align-items:center;gap:20px;min-height:41px;border-top:1px solid #777;text-decoration:none;color:#111;text-transform:uppercase;font-size:11px;letter-spacing:.035em;padding:0 7px}.work-row:first-of-type{border-top:1px solid #111}.work-row:hover .arrow{transform:translateX(3px)}.work-row.muted{cursor:default}.arrow{transition:transform .2s}.services-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:70px;min-height:128px;border-bottom:1px solid var(--line);padding:29px 8px}.service-name{text-transform:uppercase;letter-spacing:.04em}.service-copy{font-family:var(--serif);font-size:18px;line-height:1.45}.about-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:48px;margin-top:-36px}.about-grid img{width:100%;max-height:680px;object-fit:cover;object-position:center top}.about-copy{font-family:var(--serif);font-size:18px;line-height:1.45;padding-top:2px}.about-copy .lead{font-size:27px;font-style:italic;margin:0 0 36px}.about-copy p{margin:0 0 26px}.inquire-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:78px}.inquire-lead{font-family:var(--serif);font-size:27px;font-style:italic;margin:0}.inquire-form{display:grid;gap:19px}.field label{display:block;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line);font:17px var(--serif);padding:4px 0 9px;outline:0;background:transparent}.field textarea{min-height:92px;resize:vertical}.submit{width:210px;height:42px;border:1px solid var(--line);background:#fff;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.submit:hover{background:#111;color:#fff}.form-note{font-family:var(--serif);font-size:15px;min-height:20px}.project-page{padding-top:38px}.project-top{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;padding-bottom:42px;border-bottom:1px solid var(--line)}.project-title{font-size:clamp(42px,7vw,92px);line-height:.93;font-weight:400;margin:10px 0 22px;letter-spacing:-.045em}.project-dek{font:italic 24px/1.25 var(--serif);max-width:560px}.project-meta{display:grid;grid-template-columns:105px 1fr;gap:18px 24px;align-content:end;padding-bottom:5px}.project-meta dt{text-transform:uppercase;font-size:10px;letter-spacing:.08em}.project-meta dd{font:17px/1.35 var(--serif);margin:0}.project-story{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:42px 0 48px}.story-block h2{text-transform:uppercase;font-size:11px;letter-spacing:.07em;font-weight:400;margin:0 0 15px}.story-block p{font:19px/1.5 var(--serif);margin:0}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gallery figure{margin:0;background:#f1f1f1;min-height:220px;display:grid;place-items:center;overflow:hidden}.gallery figure.wide{grid-column:1/-1}.gallery img{width:100%;height:100%;max-height:850px;object-fit:cover;display:block}.gallery img.contain{object-fit:contain}.project-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:42px;padding-top:19px;text-transform:uppercase;font-size:11px}.project-footer a{color:#111;text-decoration:none}.empty-project{text-align:center;padding:110px 20px}.empty-project p{font:20px var(--serif)}
@media(max-width:760px){body{background:#fff}.site-shell{width:100%;margin:0}.site-header{height:64px;padding:0 18px;grid-template-columns:1fr auto}.brand{grid-column:2;grid-row:1}.nav-group{gap:16px}.nav-group.right{display:none}.site-header a{font-size:11px}.brand img{width:95px}.page{padding:34px 22px 64px}.page-title{margin-bottom:38px}.work-row{grid-template-columns:1fr auto;padding:8px 3px}.work-row span:nth-child(2){display:none}.services-list{margin-top:0}.service-row,.about-grid,.inquire-grid,.project-top,.project-story{grid-template-columns:1fr;gap:26px}.service-row{min-height:0;padding:23px 4px}.about-grid{margin-top:-18px}.about-copy .lead,.inquire-lead{font-size:24px}.inquire-grid{gap:48px}.project-title{font-size:52px}.project-meta{margin-top:8px}.gallery{grid-template-columns:1fr}.gallery figure.wide{grid-column:auto}.site-header .brand{justify-self:end}}

/* Compact contact-sheet gallery: four complete images share each desktop row. */
.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.gallery figure,.gallery figure.wide{grid-column:auto;min-height:0;aspect-ratio:auto;background:transparent;padding:0}
.gallery img,.gallery img.contain{width:100%;height:auto;max-height:none;object-fit:contain;margin:0;display:block}
@media(max-width:760px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery figure,.gallery figure.wide{grid-column:auto;padding:0}}
.gallery-group+.gallery-group{margin-top:46px}
.gallery-label{margin:0 0 14px;padding-top:14px;border-top:1px solid var(--line);font:400 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.gallery-groups.paired{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.gallery-groups.paired .gallery-group+.gallery-group{margin-top:0}
.gallery-groups.paired .gallery{grid-template-columns:repeat(var(--group-count),minmax(0,1fr));gap:10px}
.gallery-groups.paired .gallery img{width:100%;height:auto;max-height:44vh;object-fit:contain}
@media(max-width:760px){.gallery-groups.paired{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.gallery-groups.paired .gallery{grid-template-columns:repeat(var(--group-count),minmax(0,1fr));gap:5px}.gallery-groups.paired .gallery img{max-height:40vh}}
