@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--paper:#f4f2eb;--ink:#20211f;--accent:#f45a43;--line:#cecec5;--muted:#62645c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.wrap{padding-left:4.4%;padding-right:4.4%}header{height:110px;margin:0 4.4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-family:'Manrope',Arial,sans-serif;font-size:52px;font-weight:800;letter-spacing:-5px;line-height:1}.logo span{font-size:16px;vertical-align:top;letter-spacing:0;display:inline-block;margin:7px 0 0 6px}nav{display:flex;gap:38px;font-size:15px}nav sup{font-size:11px;margin-left:4px}.nav-contact{font-size:15px;border-bottom:1px solid;padding-bottom:8px}.nav-contact span{margin-left:35px}.hero{padding-top:36px;padding-bottom:70px}.eyebrow{font-size:12px;letter-spacing:1.2px;font-weight:600}.hero>.eyebrow{display:flex;justify-content:space-between}h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(60px,9.6vw,154px);font-weight:750;letter-spacing:-.075em;line-height:1.02;margin:44px 0 35px}h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.075em}h1 .last-line{display:flex;align-items:center;gap:.19em;white-space:nowrap}.asterisk{font-family:Arial,sans-serif;font-size:1.15em;font-weight:400;color:var(--accent);margin-left:auto;line-height:.85}.hero-bottom{display:flex;justify-content:space-between;align-items:center}.hero-bottom p{line-height:1.6;font-size:16px;margin:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:54px;border:1px solid var(--ink);border-radius:99px;padding:20px 28px;font-size:15px;transition:background .25s,color .25s,transform .2s}.button:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.vertical-note{font-size:11px;letter-spacing:1.3px;writing-mode:vertical-rl}.section-line{border-top:1px solid var(--ink);padding-top:22px;display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.section-line h2{font-size:19px;font-weight:500;margin:0}.section-line h2 span{font-size:12px;color:var(--muted);margin-left:10px}.section-line>span{font-size:11px;letter-spacing:1px}.project-visual{display:block;width:100%;border:0;padding:0;position:relative;overflow:hidden;text-align:left;cursor:pointer;color:var(--ink);background:#e7ded1}.project-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.3,1)}.project-visual:hover img{transform:scale(1.035)}.project-wide .project-visual{height:clamp(360px,48vw,690px)}.image-wordmark{position:absolute;left:5%;top:13%;font-size:clamp(40px,6.5vw,100px);letter-spacing:-.045em;line-height:.87;font-weight:500}.image-wordmark i{font-family:Georgia,serif;font-weight:400;font-size:.88em}.round-arrow{position:absolute;right:26px;bottom:26px;background:var(--paper);border-radius:100%;height:52px;width:52px;display:grid;place-items:center;font-size:28px;transition:background .2s}.project-visual:hover .round-arrow{background:var(--accent)}.project-caption{display:flex;justify-content:space-between;align-items:center;padding-top:19px}.project-caption>div{display:flex;align-items:center;gap:20px}.index{font-size:12px;color:var(--muted)}.project-caption h3{margin:0;font-size:21px;font-weight:500;letter-spacing:-.5px}.project-caption p{font-size:13px;margin:0;color:var(--muted)}.project-pair{display:grid;grid-template-columns:1.1fr 1fr;gap:5%;margin-top:62px}.project-pair .project-visual{aspect-ratio:1.12}.project-pair img{object-position:65% center}.stagger{margin-top:115px}.small-wordmark{position:absolute;top:7%;left:7%;font-size:48px;letter-spacing:-3px;font-weight:500}.small-wordmark span{font-size:15px;vertical-align:top;letter-spacing:0}.arc-wordmark{position:absolute;left:9%;top:21%;font-family:Georgia,serif;font-size:clamp(80px,12vw,180px);letter-spacing:-10px;line-height:1}.arc-wordmark span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:1.5px;margin-top:18px}.project-pair .project-caption{align-items:flex-start;gap:12px}.project-pair .project-caption p{max-width:140px;text-align:right;line-height:1.5}.about{display:grid;grid-template-columns:1fr 2.5fr;gap:50px;padding-top:150px;padding-bottom:135px}.about>.eyebrow{max-width:190px;line-height:1.8;padding-top:12px}.about h2{font-family:'Manrope',Arial,sans-serif;font-size:clamp(30px,3.5vw,55px);letter-spacing:-2px;line-height:1.3;font-weight:500;margin:0}.about h2 em{font-family:Georgia,serif;font-weight:400}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:32px;max-width:770px}.about-copy p{font-size:16px;line-height:1.7;color:var(--muted);margin:0}.services{background:var(--ink);color:var(--paper);padding:95px 0}.service-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.services h2{font-family:'Manrope',sans-serif;font-size:clamp(35px,4vw,60px);font-weight:500;line-height:1.12;letter-spacing:-2.5px;margin:28px 0}.services p{color:#b4b6aa;line-height:1.7}.service-list details{border-bottom:1px solid #56594f}.service-list details:first-child{border-top:1px solid #56594f}summary{list-style:none;cursor:pointer;display:flex;align-items:center;padding:25px 0;font-size:23px;letter-spacing:-.5px}summary::-webkit-details-marker{display:none}summary span{font-size:12px;margin-right:27px;color:#a6a99b}summary b{font-size:27px;font-weight:400;margin-left:auto;color:var(--accent);transition:transform .2s}details[open] summary b{transform:rotate(45deg)}details p{padding:0 35px 26px 42px;margin:0;font-size:15px;max-width:580px}.process{padding-top:110px;padding-bottom:100px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:55px}.steps>div{border-right:1px solid var(--line);padding-right:30px}.steps>div:last-child{border:0}.steps span{font-size:11px;letter-spacing:1px;color:var(--muted)}.steps h3{font-family:'Manrope',sans-serif;font-size:44px;font-weight:500;letter-spacing:-2px;margin:28px 0 15px}.steps p{font-size:15px;line-height:1.65;max-width:230px;color:var(--muted)}.collaborations{text-align:center;padding-bottom:100px}.client-logos{display:flex;justify-content:space-evenly;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:47px 0;margin:30px 0 20px;gap:30px}.client-logos span:nth-child(1){font-size:22px;letter-spacing:3px}.client-logos span:nth-child(2){font-size:43px;letter-spacing:-3px}.client-logos .serif{font-family:Georgia,serif;font-size:37px;font-style:italic}.collaborations p{font-size:12px;color:var(--muted)}.contact{background:var(--accent);padding-top:45px;padding-bottom:60px}.contact-top{display:flex;justify-content:space-between;gap:20px}.contact-top>span:last-child{font-size:11px;letter-spacing:1px}.contact h2{font-family:'Manrope',sans-serif;font-size:clamp(45px,7.6vw,120px);letter-spacing:-.07em;line-height:1.04;font-weight:650;margin:65px 0 45px}.contact h2 em{font-family:Georgia,serif;font-weight:400}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px}.contact-bottom p{font-size:15px;line-height:1.6}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:var(--paper);color:var(--ink)}.email>a{font-size:19px;border-bottom:1px solid;padding-bottom:5px}.email small{display:block;font-size:11px;margin-top:15px;max-width:250px}footer{display:flex;align-items:center;justify-content:space-between;padding-top:40px;padding-bottom:40px;gap:25px}footer p{font-size:14px}footer>span{font-size:11px;letter-spacing:.8px}footer>a:last-child{font-size:13px}.skip{position:absolute;top:-100px;left:15px;background:var(--ink);color:white;padding:15px;z-index:100}.skip:focus{top:10px}dialog{border:0;background:var(--paper);color:var(--ink);width:min(950px,92vw);max-height:90vh;padding:0;border-radius:3px}dialog::backdrop{background:#151713cc;backdrop-filter:blur(5px)}.dialog-content{padding:48px}.close{position:sticky;top:15px;float:right;right:15px;width:40px;height:40px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);font-size:28px;cursor:pointer;z-index:1}.dialog-content h2{font-size:50px;letter-spacing:-2px;margin:20px 0 5px}.dialog-content>p{color:var(--muted)}.dialog-content>img{width:100%;display:block;margin:28px 0}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.case-grid h3{font-size:18px}.case-grid p{line-height:1.7;color:var(--muted)}.concept-note{font-size:12px;border-top:1px solid var(--line);padding-top:25px;line-height:1.6}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:translateY(0)}
@media(min-width:1600px){body{max-width:1920px;margin:auto}}@media(max-width:900px){header{height:90px}.logo{font-size:42px}nav{gap:20px}.hero{padding-top:25px}h1{margin-top:35px}.hero-bottom p{font-size:14px}.project-pair{gap:25px}.project-caption{align-items:flex-start;gap:10px}.project-caption p{font-size:12px}.project-pair .project-caption{display:block}.project-pair .project-caption p{text-align:left;margin:8px 0 0 35px;max-width:none}.about{grid-template-columns:1fr;gap:25px;padding-top:90px;padding-bottom:90px}.about>.eyebrow{max-width:none}.service-layout{grid-template-columns:1fr;gap:35px}.services{padding:65px 0}.steps{gap:20px}.steps>div{padding-right:15px}.steps h3{font-size:34px}.contact-bottom{flex-wrap:wrap}.email small{max-width:none}.contact h2{font-size:8.2vw}footer p{display:none}}
@media(max-width:600px){.wrap{padding-left:6%;padding-right:6%}header{margin:0 6%;height:78px}.logo{font-size:37px;letter-spacing:-3px}.logo span{font-size:12px;margin-left:3px}nav{gap:17px;font-size:13px}nav sup{display:none}.nav-contact{font-size:12px}.nav-contact span{margin-left:7px}.hero>.eyebrow span:last-child{display:none}.eyebrow{font-size:10px}h1{font-size:11.4vw;letter-spacing:-.07em;line-height:1.07;margin:33px 0}.asterisk{display:none}.hero-bottom{align-items:flex-start;gap:23px;flex-direction:column}.hero-bottom p{font-size:15px}.vertical-note{display:none}.button{padding:16px 23px;font-size:14px;gap:45px}.hero{padding-bottom:50px}.section-line{padding-top:18px;margin-bottom:25px;gap:15px}.section-line h2{font-size:17px}.section-line>span{font-size:9px;max-width:135px;text-align:right;line-height:1.5}.section-line h2 span{font-size:10px;margin-left:3px}.project-wide .project-visual{height:390px}.project-wide img{object-position:67%}.image-wordmark{font-size:44px;top:9%;left:7%;text-shadow:0 1px 10px #eee7d766}.round-arrow{width:42px;height:42px;right:17px;bottom:17px;font-size:25px}.project-caption{display:block}.project-caption h3{font-size:20px}.project-caption p{margin:8px 0 0 35px}.project-pair{grid-template-columns:1fr;margin-top:40px;gap:40px}.stagger{margin-top:0}.small-wordmark{font-size:44px}.arc-wordmark{font-size:140px}.about{padding-top:75px;padding-bottom:70px;gap:22px}.about h2{font-size:30px;letter-spacing:-1.4px}.about-copy{grid-template-columns:1fr;gap:20px;margin-top:25px}.about-copy p{font-size:15px}.services h2{font-size:40px}.services summary{font-size:20px;padding:22px 0}summary span{margin-right:20px}details p{padding-left:34px;font-size:14px}.process{padding-top:65px;padding-bottom:55px}.steps{grid-template-columns:1fr 1fr;gap:30px 22px;margin-top:35px}.steps>div:nth-child(2){border:0}.steps span{font-size:10px}.steps h3{margin-top:17px;font-size:33px}.steps p{font-size:14px}.client-logos{gap:20px;flex-wrap:wrap;padding:28px 0}.client-logos span:nth-child(1){font-size:16px;letter-spacing:2px}.client-logos span:nth-child(2){font-size:32px}.client-logos .serif{font-size:27px}.collaborations{padding-bottom:55px}.collaborations p{font-size:11px;line-height:1.6}.contact{padding-top:30px;padding-bottom:35px}.contact-top>span:last-child{display:none}.contact h2{font-size:10vw;margin:40px 0 25px}.contact-bottom{align-items:flex-start;flex-direction:column;gap:15px}.email{margin-top:15px}.email>a{font-size:18px}footer{flex-wrap:wrap;padding-top:30px;padding-bottom:30px}footer>span{font-size:10px}footer>a:last-child{font-size:12px}.dialog-content{padding:30px 23px}.dialog-content h2{font-size:38px}.case-grid{grid-template-columns:1fr;gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Full visual archive */
.archive-teaser{padding-top:95px}.archive-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.archive-heading h2{font-family:'Manrope',sans-serif;font-size:clamp(32px,4vw,58px);font-weight:500;letter-spacing:-2px;margin:15px 0 0}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.archive-preview{min-width:0}.archive-preview img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover;transition:filter .25s}.archive-preview:hover img{filter:brightness(.88)}.archive-preview span{display:block;margin-top:12px;font-size:16px}.archive-note{font-size:13px;color:var(--muted);margin:26px 0 0}.gallery-intro{padding:55px 0 35px}.gallery-intro h1{font-size:clamp(46px,6.9vw,110px);line-height:1.06;letter-spacing:-.06em;margin:30px 0}.gallery-intro>div{display:flex;justify-content:space-between;align-items:end;gap:25px}.gallery-intro p{line-height:1.65;color:var(--muted);margin:0}.gallery-intro>div>span{font-size:12px;letter-spacing:.8px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:22px 0;margin:12px 0 35px}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap}.gallery-filters button{border:1px solid var(--line);background:transparent;padding:12px 18px;border-radius:30px;color:var(--ink);font-size:14px;cursor:pointer;transition:background .2s,color .2s}.gallery-filters button span{font-size:12px;margin-left:10px;opacity:.65}.gallery-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.gallery-filters button:hover{border-color:var(--ink)}#gallery-count{font-size:14px;color:var(--muted);white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 25px;align-items:start}.gallery-card[hidden]{display:none}.gallery-image{display:block;position:relative;background:#eae6dd;overflow:hidden}.gallery-image img{width:100%;height:100%;aspect-ratio:1.15;object-fit:cover;display:block;transition:transform .6s}.gallery-image:hover img{transform:scale(1.025)}.gallery-card[data-category=Travel] .gallery-image img{aspect-ratio:4/5}.gallery-image .round-arrow{height:40px;width:40px;right:15px;bottom:15px;font-size:23px}.gallery-caption{display:flex;justify-content:space-between;gap:15px;align-items:baseline;padding-top:15px}.gallery-caption h2{font-size:18px;letter-spacing:-.3px;font-weight:500;margin:0}.gallery-caption>span{font-size:13px;color:var(--muted)}.archive-end{padding:85px 0;display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--line);margin-top:55px}.archive-end p{font-size:32px;letter-spacing:-1px}.image-viewer{width:min(1450px,96vw);max-width:96vw;max-height:96dvh;background:#171816;color:var(--paper);padding:20px 28px}.viewer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:14px}.viewer-top button{border:1px solid #666;background:transparent;color:var(--paper);padding:10px 16px;border-radius:24px;cursor:pointer;font-size:14px}.viewer-stage{height:69dvh;margin:15px 0}.viewer-stage img{width:100%;height:100%;object-fit:contain;display:block}.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;text-align:center}.viewer-bottom button{width:46px;height:46px;flex-shrink:0;background:transparent;color:var(--paper);border:1px solid #777;border-radius:50%;font-size:24px;cursor:pointer}.viewer-bottom button:disabled{opacity:.4;cursor:default}.viewer-bottom h2{font-size:18px;font-weight:500;margin:0}.viewer-bottom p{font-size:13px;margin:8px 0 0;color:#bbb}.image-viewer::backdrop{background:#10110ff0}nav a[aria-current=page]{border-bottom:1px solid;padding-bottom:5px}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-toolbar{align-items:start;flex-direction:column;gap:8px}#gallery-count{margin:0}.gallery-intro>div{align-items:start;flex-direction:column}.preview-grid{gap:22px}.archive-heading .button{gap:20px}}
@media(max-width:600px){.archive-teaser{padding-top:65px}.archive-heading{align-items:start;flex-direction:column}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.archive-preview img{aspect-ratio:1}.archive-preview span{font-size:14px;line-height:1.4}.archive-note{line-height:1.6}.gallery-intro{padding-top:35px}.gallery-intro h1{font-size:10.7vw;letter-spacing:-.055em}.gallery-intro>div>span{font-size:10px}.gallery-intro p{font-size:15px}.gallery-filters{gap:8px}.gallery-filters button{font-size:14px;padding:10px 14px}.gallery-grid{gap:28px 14px}.gallery-caption{display:block}.gallery-caption h2{font-size:15px;line-height:1.4}.gallery-caption>span{display:block;font-size:12px;margin-top:5px}.gallery-image img{aspect-ratio:4/5}.gallery-image .round-arrow{height:31px;width:31px;right:9px;bottom:9px;font-size:19px}.archive-end{padding:45px 0;align-items:start;flex-direction:column;gap:10px}.archive-end p{font-size:26px}.image-viewer{padding:15px;width:96vw}.viewer-stage{height:64dvh}.viewer-bottom{gap:10px}.viewer-bottom h2{font-size:16px}.viewer-bottom p{font-size:12px}.viewer-bottom button{height:40px;width:40px}}
/* IPRGENIX collection */
.ipr-logo{font-size:28px;letter-spacing:-1.2px;font-weight:800;display:block}.ipr-logo span{display:block;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:3px;margin:8px 0 0;font-weight:500}.hero>.eyebrow{font-size:14px;letter-spacing:.4px}.contact-details{display:flex;flex-direction:column;gap:13px}.contact-details a{font-size:19px}.contact-details a:first-child{padding-bottom:12px;border-bottom:1px solid #20211f55}.gallery-grid{display:block;columns:3;column-gap:28px}.gallery-card{break-inside:avoid;margin-bottom:35px}.gallery-image img,.gallery-card[data-category=Travel] .gallery-image img{height:auto;aspect-ratio:auto;object-fit:contain}.gallery-caption{display:block}.gallery-caption>span{display:block;margin-top:6px;font-size:13px}.pdf-badge{position:absolute;top:14px;left:14px;background:#20211f;color:#fff;padding:7px 11px;font-size:12px;border-radius:3px}.gallery-toolbar{align-items:flex-start}.gallery-filters{max-width:1050px}.discipline-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:30px auto 0;max-width:950px}.discipline-links a{padding:15px 20px;border:1px solid var(--line);border-radius:30px;font-size:15px}.discipline-links a:hover{background:var(--ink);color:var(--paper)}.viewer-stage iframe{width:100%;height:100%;border:0;background:#fff}.viewer-stage img[hidden],.viewer-stage iframe[hidden],.viewer-file-links[hidden]{display:none}.viewer-file-links{display:flex;justify-content:center;gap:24px;margin-bottom:15px;font-size:14px}.viewer-file-links a{text-decoration:underline;text-underline-offset:4px}.image-viewer:has(.viewer-file-links:not([hidden])) .viewer-stage{height:60dvh}.featured-grid{margin-bottom:30px}footer .ipr-logo{font-size:24px}footer .ipr-logo span{font-size:8px}.section-line>a{font-size:14px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.gallery-grid{columns:2}.ipr-logo{font-size:24px}.gallery-toolbar{display:block}#gallery-count{margin-top:15px}}
@media(max-width:600px){.ipr-logo{font-size:19px;letter-spacing:-.8px}.ipr-logo span{font-size:7px;letter-spacing:1.5px}header nav{gap:11px;font-size:12px}.nav-contact{font-size:11px}.nav-contact span{display:none}.hero>.eyebrow{font-size:12px}.gallery-grid{column-gap:14px}.gallery-card{margin-bottom:26px}.gallery-caption h2{font-size:14px}.gallery-caption>span{font-size:12px;line-height:1.4}.gallery-image .round-arrow{display:none}.pdf-badge{font-size:10px;padding:5px 7px;top:8px;left:8px}.contact-details a{font-size:18px}.viewer-file-links{font-size:12px;gap:17px}.discipline-links a{font-size:14px}.section-line>a{font-size:12px}.gallery-filters button{font-size:13px}}
