@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500;1,600&display=swap');
:root{--paper:#f8f8f5;--ink:#181818;--muted:#62625d;--pink:#ef3372;--line:#d5d5ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}em{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1,h2,h3,p{margin:0}.wrap{width:min(1320px,calc(100% - 112px));margin:auto}.header{height:112px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-weight:700;font-size:23px;letter-spacing:-.8px}.brand-dot{color:var(--pink)}nav{display:flex;gap:34px;align-items:center;font-size:14px;font-weight:500}.nav-contact{border:1px solid var(--ink);border-radius:30px;padding:11px 22px}.eyebrow{font-size:12px;letter-spacing:1.4px;font-weight:600;line-height:1.5}.hero{padding:46px 0 44px}.hero>.eyebrow{display:flex;justify-content:space-between}.hero h1{font-size:clamp(55px,7.8vw,115px);line-height:1.02;letter-spacing:-6px;font-weight:500;margin:44px 0 34px}.hero h1 em{font-size:1.02em}.fullstop{color:var(--pink)}.last-line{display:block;padding-left:20%}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end}.hero-bottom p{font-size:18px;line-height:1.55;color:var(--muted)}.pill{border:1px solid var(--ink);border-radius:30px;padding:13px 26px;font-size:14px;font-weight:500;transition:background .2s,color .2s}.pill:hover,.nav-contact:hover{background:var(--ink);color:white;text-decoration:none}.image-strip{display:grid;grid-template-columns:1.7fr 1fr;gap:20px}.image-strip figure{position:relative;overflow:hidden;background:#deded8;height:450px}.image-strip img{transition:transform .7s}.image-strip figure:hover img{transform:scale(1.025)}figcaption{position:absolute;bottom:0;left:0;right:0;padding:42px 24px 20px;background:linear-gradient(transparent,rgba(0,0,0,.62));color:white;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.2px}.section{padding-top:120px;padding-bottom:120px}.section-heading{display:grid;grid-template-columns:1fr 1.5fr;gap:30px;margin-bottom:62px}.section-heading>.eyebrow{padding-top:12px}h2{font-size:clamp(34px,3.6vw,54px);line-height:1.14;letter-spacing:-1.9px;font-weight:500}.project{display:grid;grid-template-columns:1fr 1.5fr;gap:30px;border-top:1px solid var(--line);padding:38px 0}.project:last-child{border-bottom:1px solid var(--line)}.project-number{font-size:62px;line-height:1;color:#aaa9a0;font-weight:400;letter-spacing:-3px}.project-meta{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.1px;color:var(--muted);margin-bottom:20px}.project h3{font-size:34px;line-height:1.18;letter-spacing:-1.3px;font-weight:500;margin-bottom:18px}.project-content>p{max-width:580px;color:var(--muted);font-size:16px}.project-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;font-size:14px}.role{color:var(--muted);font-size:13px}.project-footer>a{border-bottom:1px solid var(--ink);white-space:nowrap}.project-footer>a:hover{text-decoration:none;color:var(--pink)}details>summary{list-style:none;cursor:pointer}details>summary::-webkit-details-marker{display:none}.case-detail{margin-top:24px;font-size:14px}.case-detail summary{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;font-weight:500}.case-detail summary span{font-size:20px;line-height:1}.case-detail[open] summary span{transform:rotate(45deg)}.case-detail div{padding-top:14px;color:var(--muted)}.case-detail p+p{margin-top:12px}.services{background:var(--ink);color:var(--paper);padding:100px 0}.services-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:85px}.services h2{margin-top:25px}.services-intro{margin-top:28px;color:#b6b6b0;max-width:330px}.service-list details{border-top:1px solid #4a4a46;padding:22px 0}.service-list details:last-child{border-bottom:1px solid #4a4a46}.service-list summary{display:flex;align-items:baseline;gap:18px;font-size:21px;line-height:1.35}.service-no{font-size:12px;color:#a7a79f}.toggle{margin-left:auto;font-size:24px;line-height:1}.service-list details[open] .toggle{transform:rotate(45deg)}.service-list p{color:#b6b6b0;margin:17px 24px 0 36px;font-size:16px;max-width:460px}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:95px;align-items:center}.about-photo{height:570px;position:relative;background:#e5e5df;overflow:hidden}.about-photo>img{object-position:center 25%}.photo-name{position:absolute;bottom:25px;left:25px;color:white;font-size:50px;font-weight:500;letter-spacing:-2px;line-height:.96;text-shadow:0 1px 10px #0006}.photo-name span{display:block;font-family:'Playfair Display',Georgia,serif;font-style:italic}.about h2{margin:27px 0 28px}.about-copy p{color:var(--muted);margin-top:18px}.text-link{display:inline-block;margin-top:30px;border-bottom:1px solid var(--ink);font-size:14px}.philosophy{text-align:center;padding:52px 0 120px}.philosophy blockquote{font-size:clamp(35px,4.5vw,65px);letter-spacing:-2px;line-height:1.2;margin:30px 0}.philosophy p{color:var(--muted)}.contact{background:var(--pink);padding:70px 0 35px}.contact-main{display:flex;align-items:center;justify-content:space-between;gap:35px;margin:28px 0 65px}.contact h2{font-size:clamp(35px,4.7vw,68px);letter-spacing:-2.3px}.contact-button{flex-shrink:0;background:var(--ink);color:white;padding:19px 28px;border-radius:40px;font-size:14px}.contact-button:hover{background:white;color:var(--ink);text-decoration:none}.contact-foot{border-top:1px solid #18181855;padding-top:23px;display:flex;justify-content:space-between;font-size:13px}.footer{display:flex;justify-content:space-between;padding:25px 0;font-size:12px;color:var(--muted)}.skip{position:fixed;left:15px;top:-80px;background:white;padding:12px;z-index:10}.skip:focus{top:15px}
@media(min-width:1500px){.hero h1{font-size:115px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero h1{letter-spacing:-3.5px}.image-strip figure{height:350px}.services-grid{gap:45px}.about{gap:45px}.about-photo{height:490px}.section{padding-top:90px;padding-bottom:90px}.section-heading,.project{grid-template-columns:.6fr 1.4fr}.service-list summary{font-size:18px}.contact-main{align-items:flex-start;flex-direction:column}.philosophy{padding-bottom:90px}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.header{height:92px;align-items:center}.brand{font-size:20px}nav{gap:16px;font-size:13px}nav>a:first-child{display:none}.nav-contact{padding:9px 13px}.hero{padding-top:30px}.hero-location{display:none}.eyebrow{font-size:11px;letter-spacing:1.1px}.hero h1{font-size:clamp(43px,10vw,65px);letter-spacing:-2.6px;line-height:1.07;margin:34px 0 30px}.last-line{padding-left:15%}.hero-bottom{gap:25px;align-items:flex-start;flex-direction:column}.hero-bottom p{font-size:16px}.pill{padding:11px 21px}.image-strip{grid-template-columns:1fr .65fr;gap:10px}.image-strip figure{height:240px}figcaption{padding:30px 10px 10px;font-size:9px;letter-spacing:.7px}figcaption span:last-child{display:none}.section{padding-top:70px;padding-bottom:70px}.section-heading{display:block;margin-bottom:35px}.section-heading h2{margin-top:20px}.project{grid-template-columns:36px 1fr;gap:15px;padding:28px 0}.project-number{font-size:30px;letter-spacing:-1px}.project h3{font-size:27px}.project-meta{font-size:10px;gap:10px}.project-meta span{display:none}.project-footer{align-items:flex-start;flex-direction:column;gap:15px}.role{font-size:12px}.services{padding:65px 0}.services-grid{display:block}.service-list{margin-top:40px}.service-list summary{font-size:18px;gap:12px}.service-list p{margin-left:27px}.about{display:flex;flex-direction:column;gap:40px;align-items:stretch}.about-photo{height:410px;max-width:420px}.about-copy>.eyebrow{font-size:10px}.about h2{margin-top:21px}.philosophy{padding-top:20px;padding-bottom:70px}.philosophy blockquote{margin:25px 0;font-size:36px;letter-spacing:-1.4px}.contact{padding-top:50px}.contact-main{margin-bottom:40px}.contact h2{font-size:38px;letter-spacing:-1.4px}.contact-foot{flex-direction:column;gap:8px;font-size:12px}.footer{font-size:11px}}
.project-visual{min-width:0}.project-visual .project-number{font-size:32px;letter-spacing:-1px;margin-bottom:22px}.project-image{width:100%;max-width:380px;height:auto;aspect-ratio:4/3;object-fit:cover}.project-image.poster{aspect-ratio:16/9;object-fit:contain;background:#ddf94b}.lp-photo{object-position:center 64%}.image-caption{display:block;color:var(--muted);font-size:12px;margin-top:9px}.detail-image{width:100%;height:auto;max-height:380px;object-fit:cover;margin-top:20px}.project-content{min-width:0}.small-photo img{object-position:center 46%}
@media(max-width:640px){.project:has(.project-visual){grid-template-columns:1fr;gap:23px}.project-visual .project-number{margin-bottom:15px}.project-image{max-width:none;aspect-ratio:3/2}.project-image.poster{aspect-ratio:16/9}.lp-photo{object-position:center 64%}}
.event-rail{position:relative;display:flex;align-items:flex-start;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.event-rail::-webkit-scrollbar{display:none}.event-card{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.event-details{border:1px solid var(--line);background:var(--paper)}.event-details>summary{display:grid;grid-template-columns:1fr 1fr;min-width:0}.event-image{position:relative;height:360px;overflow:hidden;background:#e5e5df}.event-photo{height:100%;width:100%;object-fit:cover}.event-photo.poster{object-fit:contain;background:#d8ec74}.event-photo.lp-photo{object-position:center 64%}.event-image .image-caption{position:absolute;bottom:0;left:0;right:0;margin:0;background:#181818b8;color:white;padding:9px 15px}.event-intro{padding:36px 42px;display:flex;flex-direction:column;justify-content:center;min-width:0}.event-intro .project-meta{font-size:11px;gap:14px;flex-wrap:wrap}.event-intro h3{font-size:clamp(28px,3.2vw,44px);font-weight:500;line-height:1.15;letter-spacing:-1.5px;margin-bottom:20px}.event-intro .role{line-height:1.6;font-size:14px}.details-label{display:flex;gap:25px;align-items:center;align-self:flex-start;margin-top:26px;font-size:14px;font-weight:500;border-bottom:1px solid var(--ink);padding-bottom:5px}.detail-plus{font-size:21px;line-height:1}.when-open{display:none}.event-details[open] .when-open{display:inline}.event-details[open] .when-closed{display:none}.event-details[open] .detail-plus{transform:rotate(45deg)}.event-body{border-top:1px solid var(--line);padding:32px 42px;max-width:100%;color:var(--muted)}.event-body p{max-width:740px;font-size:16px}.event-body p+p{margin-top:16px}.event-body .detail-image{max-width:640px;height:auto;max-height:none}.event-source{display:flex;gap:24px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:24px;padding-top:18px;font-size:14px}.event-source a{text-decoration:underline;text-underline-offset:5px}.event-art{height:360px;background:var(--pink);display:flex;flex-direction:column;justify-content:center;padding:40px;font-size:clamp(32px,4vw,57px);line-height:1.15;letter-spacing:-2px}.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:20px}.carousel-counter{font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:1px}.carousel-dots{display:flex;gap:3px}.carousel-dot{border:0;background:transparent;width:36px;height:40px;display:grid;place-items:center;cursor:pointer;padding:0}.carousel-dot span{width:7px;height:7px;border-radius:50%;background:#b7b7b0}.carousel-dot[aria-current="true"] span{background:var(--pink);width:22px;border-radius:10px}.carousel-nav{display:flex;gap:10px}.carousel-nav button{font:inherit;font-size:14px;border:1px solid var(--ink);border-radius:30px;background:transparent;cursor:pointer;padding:11px 20px;min-height:44px}.carousel-nav button:hover:not(:disabled){background:var(--ink);color:white}.carousel-nav button:disabled{opacity:.35;cursor:default}.carousel-nav button:focus-visible,.carousel-dot:focus-visible{outline:3px solid var(--pink);outline-offset:3px}.event-details>summary:hover .details-label{color:var(--pink);border-color:var(--pink)}
@media(max-width:1000px){.event-intro{padding:28px}.event-image,.event-art{height:330px}.event-body{padding:28px}.carousel-dot{width:29px}}
@media(max-width:640px){.work .section-heading{margin-bottom:28px}.event-details>summary{grid-template-columns:1fr}.event-image{height:220px}.event-art{height:220px;font-size:38px;padding:26px}.event-intro{padding:22px 23px}.event-intro .project-meta{margin-bottom:12px;font-size:10px;letter-spacing:.8px}.event-intro .project-meta span{display:inline}.event-intro h3{font-size:28px;letter-spacing:-1px;margin-bottom:12px}.event-intro .role{font-size:13px}.details-label{margin-top:18px}.event-body{padding:23px}.event-body p{font-size:16px}.event-source{align-items:flex-start;flex-direction:column;gap:12px}.carousel-controls{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:15px}.carousel-counter{font-size:12px}.carousel-dots{gap:0;justify-self:end}.carousel-dot{width:29px;height:36px}.carousel-nav{grid-column:1 / -1;justify-content:space-between}.carousel-nav button{padding:9px 22px}.event-rail{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.community-photo figcaption{position:static;background:none;color:var(--muted);padding:10px 0 0;font-size:12px;letter-spacing:0;display:block}
