:root{--ink:#2b2b33;--red:#c8102e;--paper:#fff;--grey:#dedede;--space:clamp(20px,2.1vw,40px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;height:auto}p{margin:0 0 1.3em}h1,h2,h3{font-weight:400;line-height:1.12;margin:0}h1{font-size:clamp(48px,6.3vw,120px);letter-spacing:-.045em;text-transform:uppercase}h2{font-size:clamp(32px,4.2vw,76px);letter-spacing:-.035em}h3{font-size:clamp(25px,2.5vw,44px)}:focus-visible{outline:3px solid var(--red);outline-offset:6px}.skip{position:fixed;top:10px;left:10px;z-index:100;background:white;padding:12px;transform:translateY(-160%)}.skip:focus{transform:none}.wrap{padding-inline:var(--space);max-width:1920px;margin:auto}.dark{background:var(--ink);color:white}.header{height:clamp(110px,16vw,285px);display:flex;align-items:flex-start;justify-content:space-between;padding-top:28px}.brand{width:clamp(170px,19vw,350px)}.brand img{width:100%;height:auto}.menu-button{display:flex;gap:18px;align-items:center;border:0;background:transparent;color:var(--red);padding:8px 0 8px 14px;text-transform:uppercase;font-size:14px;font-weight:bold;min-height:44px}.plus{font-weight:400;font-size:36px;line-height:1}.page-title{padding-bottom:18px;border-bottom:1px solid var(--red);color:var(--red)}.hero-title{padding-top:clamp(20px,3vw,60px)}.spotlight{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:24px;padding-block:24px 32px}.spotlight img{aspect-ratio:1.65;object-fit:cover}.eyebrow{font-size:14px;margin-bottom:12px}.small{font-size:14px}.spotlight-title{font-size:18px;font-weight:bold}.spotlight-copy{font-size:15px}.link-list{list-style:none;padding:0;margin:0}.link-list a{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #888;font-size:15px}.link-list a:hover{color:var(--red)}.intro{display:grid;grid-template-columns:2fr 1fr;gap:12%;padding-block:clamp(60px,7vw,130px)}.intro h2{max-width:900px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;background:var(--red);color:white;border:1px solid var(--red);padding:15px 28px;font-size:14px;font-weight:bold;text-transform:uppercase;min-height:48px}.button:hover{background:#a70c26}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 24px;padding-bottom:70px}.project-image{position:relative;overflow:hidden;display:block}.project-image>img{aspect-ratio:1;object-fit:cover;transition:transform .3s}.project-image:hover>img{transform:scale(1.02)}.project-label{position:absolute;bottom:18px;left:18px;min-width:48%;max-width:calc(100% - 36px);background:white;color:var(--ink);padding:20px}.project-label strong{display:block;font-size:16px;font-weight:400}.project-label span{display:block;margin-top:18px;font-size:13px}.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;font-size:14px}.project-meta dl{margin:0}.project-meta dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ccc;padding-block:5px}.project-meta dd{margin:0;text-align:right}.feature{background:var(--grey);padding-block:40px}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.split-copy{max-width:660px}.split-copy .button{margin:28px 0 48px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.feature-image{position:relative;margin-top:40px}.feature-image img{aspect-ratio:1.78;object-fit:cover}.feature-slogan{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-around;gap:20px;color:white;font-size:clamp(24px,4vw,76px);line-height:1.1;padding:30px;text-shadow:0 1px 15px #0007}.cta{display:block;padding-block:40px 70px}.cta img{width:32%;aspect-ratio:1;object-fit:cover;margin-left:auto}.cta-title{display:flex;align-items:center;gap:7vw;margin-top:65px;font-size:clamp(30px,5.8vw,108px);line-height:1.1;letter-spacing:-.035em;text-transform:uppercase}.arrow{font-weight:400;white-space:nowrap}.cta:hover .arrow,.footer-contact:hover .arrow{color:var(--red)}footer{padding-top:clamp(60px,8vw,150px)}.footer-info{margin-left:67%;min-height:180px;font-size:14px}.footer-info a{text-decoration:underline;text-underline-offset:4px}.footer-contact{display:flex;align-items:center;gap:7vw;font-size:clamp(30px,6vw,110px);line-height:1.1;margin-bottom:60px;letter-spacing:-.04em}.footer-bottom{border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:25px;font-size:13px}.footer-nav{display:flex;flex-wrap:wrap;gap:20px}.page-lead{margin-left:50%;display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-block:32px 50px}.about-intro{align-items:center;padding-bottom:65px}.about-intro img{aspect-ratio:1;object-fit:cover}.about-intro .split-copy{padding:30px}.statement{font-size:clamp(46px,10vw,180px);line-height:1.05;letter-spacing:-.05em;padding-block:50px 110px;overflow-wrap:anywhere}.story{padding-block:60px}.story img{margin-block:30px;max-height:520px;object-fit:cover}.quote{padding:clamp(65px,10vw,190px) var(--space);max-width:1250px;margin:auto;text-align:center;font-size:clamp(25px,3.3vw,58px);line-height:1.3}.services{padding-block:60px}.service{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-block:45px;border-top:1px solid #aaa}.service h2{margin-bottom:24px}.service img{max-height:560px;object-fit:cover}.service ul{padding-left:20px}.detail-hero{position:relative;min-height:min(950px,85vh);background:#ccc}.detail-hero>.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.detail-hero .header,.detail-hero h1,.detail-hero .hero-bottom{position:relative;z-index:1}.detail-hero .header{height:120px}.detail-hero h1{background:#ffffffd9;padding:16px;margin-top:30px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:clamp(180px,28vw,540px);padding-bottom:24px}.hero-bottom>a{background:white;padding:12px 20px;color:var(--ink)}.back{display:inline-block;text-decoration:underline;margin-block:30px}.detail-summary{margin-left:50%;padding-block:40px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:60px 24px;padding-block:30px 90px;align-items:center}.gallery img{object-fit:cover;aspect-ratio:1.2}.gallery .tall{aspect-ratio:.8}.gallery .wide{grid-column:1/-1;aspect-ratio:1.8}.gallery .inset{width:72%;margin:auto}.contact-top{padding-bottom:65px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:50px}.contact-details{display:flex;flex-direction:column;justify-content:space-between;gap:60px}.contact-details a{text-decoration:underline;text-underline-offset:5px;font-size:clamp(24px,3vw,45px)}form{max-width:650px}label{display:block;margin-bottom:24px;font-size:14px}input,textarea{width:100%;background:transparent;color:inherit;border:0;border-bottom:1px solid #999;border-radius:0;padding:12px 0;outline-offset:3px}textarea{resize:vertical;min-height:135px}input:focus,textarea:focus{border-color:var(--red)}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-note{font-size:14px;color:#ddd}.form-status{padding-block:18px;min-height:48px}.form-status:empty{display:none}button:disabled{opacity:.5;cursor:not-allowed}.menu-dialog{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;border:0;padding:var(--space);background:var(--ink);color:white}.menu-dialog::backdrop{background:var(--ink)}.menu-head{display:flex;align-items:center;justify-content:space-between}.menu-links{max-width:1300px;margin:70px auto}.menu-links a{font-size:clamp(36px,6vw,96px);line-height:1.2;display:flex;justify-content:space-between;border-bottom:1px solid #666;padding-block:16px;letter-spacing:-.035em}.menu-links a:hover,.menu-links a[aria-current]{color:var(--red)}body.menu-open{overflow:hidden}.no-js-nav{display:flex;gap:20px;flex-wrap:wrap;padding:20px}.subtle{color:#65656b}.contact-top .subtle{color:#ccc}
.project-label span span{display:inline;margin:0}.contact-intro{margin-top:28px;max-width:560px}.dark .page-title{color:#f13c5b}.dark .menu-button,.menu-dialog .menu-button{color:#ff6781}.menu-dialog .menu-links a:hover,.menu-dialog .menu-links a[aria-current]{color:#ff6781}
@media(min-width:1921px){.dark,.feature{max-width:none}.header{height:285px}}
@media(max-width:900px){.spotlight{grid-template-columns:1fr 1fr}.intro{gap:6%;grid-template-columns:1.3fr 1fr}.project-meta{grid-template-columns:1fr}.page-lead{margin-left:35%}.footer-info{margin-left:50%}.contact-grid{gap:7%}.detail-summary{margin-left:25%}.feature-slogan{gap:10px}}
@media(max-width:600px){.header{height:140px;padding-top:22px}.brand{width:180px}.hero-title{padding-top:10px}h1{font-size:clamp(40px,11vw,66px)}.spotlight{gap:18px}.spotlight-copy{grid-column:1/-1}.spotlight nav{grid-column:1/-1}.intro,.split,.contact-grid,.service{grid-template-columns:1fr;gap:30px}.intro{padding-block:55px}.intro h2{font-size:36px}.projects{grid-template-columns:1fr;gap:40px;padding-bottom:40px}.project-label{padding:16px;bottom:14px;left:14px}.project-meta{grid-template-columns:1fr 1fr;gap:16px}.columns{grid-template-columns:1fr;gap:0}.feature{padding-block:28px}.split-copy .button{margin-bottom:15px}.feature-image img{aspect-ratio:1}.feature-slogan{flex-direction:column;justify-content:center;gap:12px;font-size:36px}.cta{padding-block:28px 40px}.cta img{width:60%}.cta-title{margin-top:50px;justify-content:space-between;gap:15px;font-size:34px}.footer-info{margin-left:0;min-height:160px}.footer-contact{font-size:37px;gap:20px;justify-content:space-between;margin-bottom:40px}.page-lead{margin-left:0;grid-template-columns:1fr;gap:0;padding-bottom:30px}.about-intro .split-copy{padding:0}.statement{padding-block:20px 65px;font-size:16vw}.story{padding-block:35px}.contact-grid{padding-top:30px}.contact-details{gap:25px}.contact-details a{font-size:28px}.detail-hero{min-height:620px}.detail-hero .header{height:110px}.detail-hero h1{font-size:40px}.hero-bottom{margin-top:280px;gap:15px;font-size:14px}.detail-summary{margin-left:0}.gallery{gap:24px;padding-bottom:40px}.gallery .inset{width:100%}.gallery .wide{aspect-ratio:1.3}.quote{padding-block:70px}.menu-links{margin-top:50px}.menu-links a{font-size:36px}.form-note{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
