@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin.woff2') format('woff2');font-weight:400 800;font-display:swap}@font-face{font-family:Instrument;src:url('/assets/fonts/instrument-serif-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root{--navy:#071e32;--deep:#061827;--blue:#153a50;--aqua:#8be0d7;--paper:#eef2f1;--ink:#142e3f;--muted:#62747c;--line:#ced8d8;--max:1360px;--ease:cubic-bezier(.2,.65,.25,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fbfcfa;color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:auto}svg{display:block}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #22a99c;outline-offset:7px}::selection{background:var(--aqua);color:var(--navy)}em{font-family:Instrument,Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:30px}.arrow{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.arrow svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.3;transition:transform .4s var(--ease)}a:hover>.arrow svg,a:hover .image-cta .arrow svg{transform:translate(2px,-2px)}.skip{position:fixed;top:-100px;left:24px;padding:12px 20px;background:white;z-index:100}.skip:focus{top:15px}.header{height:90px;position:sticky;top:0;z-index:30;background:#fbfcfa;border-bottom:1px solid #122c3b0d}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center;gap:40px}.brand{width:208px;flex-shrink:0}.brand img{width:100%;height:70px;object-fit:contain}.nav{display:flex;align-items:center;gap:34px;font-size:11px;font-weight:600}.nav>a{position:relative;padding:12px 0}.nav>a:not(.contact-link):after{content:'';height:1px;position:absolute;bottom:7px;left:0;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav>a:hover:after,.nav>a[aria-current=page]:after{transform:scaleX(1)}.nav .contact-link{display:flex;gap:22px;align-items:center;background:var(--navy);color:white;border-radius:50px;padding:13px 18px 13px 23px}.nav .contact-link .arrow{width:15px;height:15px}.menu-toggle{display:none}.scroll-progress{height:2px;position:fixed;top:0;left:0;right:0;z-index:40;background:var(--aqua);transform:scaleX(0);transform-origin:left}@supports(animation-timeline:scroll()){.scroll-progress{animation:progress linear;animation-timeline:scroll(root)}}@keyframes progress{to{transform:scaleX(1)}}
/* The same orbital construction links photographs, technology and contact. */
.orbit{display:block;position:absolute;width:340px;height:340px;pointer-events:none}.orbit i{position:absolute;inset:0;border:1px solid currentColor;border-radius:50%;opacity:.28}.orbit i:nth-child(2){transform:rotate(48deg) scaleX(.4)}.orbit i:nth-child(3){transform:rotate(-48deg) scaleX(.4)}.orbit b{position:absolute;left:49%;top:49%;width:7px;height:7px;border-radius:50%;background:currentColor}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--aqua);margin-right:13px;box-shadow:0 0 0 5px #8be0d70c}.tiny-cross{font-size:38px;font-weight:400;line-height:1}
/* Opening composition */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:white;min-height:810px}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.08;z-index:-3}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(105deg,#061b2c 0%,#071e32d9 48%,#133a4d44 100%)}.hero-lines{position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,transparent 49.95%,#a7d9e409 50%,transparent 50.05%),linear-gradient(0deg,transparent 49.9%,#a7d9e408 50%,transparent 50.1%);background-size:50% 100%,100% 50%}.hero-content{padding-top:37px}.hero-topline{display:flex;justify-content:space-between;align-items:start;position:relative;z-index:3}.hero-topline .eyebrow{color:#d2e5e7;font-size:9px;letter-spacing:.17em;margin-bottom:0}.hero-location{font-size:9px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;text-align:right;color:#b9ced4}.hero-composition{display:grid;grid-template-columns:1.1fr 1fr;position:relative;padding-top:65px;padding-bottom:55px;min-height:640px}.hero-copy{position:relative;z-index:4;pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{font-size:clamp(60px,6.3vw,94px);line-height:1.05;letter-spacing:-.065em;margin:0 0 30px;position:relative;max-width:820px;font-weight:500}.title-first{display:block;white-space:nowrap}.hero h1 em{display:block;color:var(--aqua);font-size:1.5em;line-height:.94;letter-spacing:-.035em;margin-left:65px;margin-top:2px;margin-bottom:18px}.hero .title-last{display:block;font-size:.41em;line-height:1.25;letter-spacing:-.035em;max-width:570px}.hero .title-last strong{font-weight:500;display:block}.hero-bottom-copy{display:flex;flex-direction:column;align-items:start;max-width:420px;margin-top:32px}.hero p{font-size:12px;line-height:1.9;color:#b9ccd5;max-width:355px;margin-bottom:25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:9px 9px 9px 23px;background:var(--aqua);color:var(--navy);border:1px solid var(--aqua);border-radius:50px;font-size:11px;font-weight:700;min-height:49px;transition:background .3s,transform .3s var(--ease)}.button>.arrow{width:32px;height:32px;border:1px solid #082b3e30;border-radius:50%;padding:8px}.button:hover{background:#bbefe7;transform:translateY(-2px)}.button.ghost{background:transparent;color:white;border-color:#b2d5dc50}.hero-art{position:relative;align-self:start;margin-top:2px;min-width:0}.hero-photo-window{height:525px;overflow:hidden;border-radius:190px 0 150px 0;position:relative;margin-left:28px;background:#143b4d}.hero-photo-window:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#061b2c33,transparent 50%)}.hero-photo-window img{width:100%;height:100%;object-fit:cover;object-position:52% center;transform:scale(1.02);animation:photo-in 1.5s var(--ease) both}.hero-art>.orbit{width:390px;height:390px;color:#8be0d7;top:-40px;left:-100px;z-index:-1;transform:rotate(-20deg)}.detail-medallion{position:absolute;left:-60px;bottom:-22px;width:160px;height:160px;border-radius:50%;padding:14px;background:#f9faf6;box-shadow:0 0 0 12px #071e3266;transition:transform .5s var(--ease)}.detail-medallion>img{height:100%;width:100%;object-fit:contain;border-radius:50%}.detail-medallion>span{position:absolute;bottom:5px;right:-4px;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;background:var(--aqua);color:var(--navy)}.detail-medallion .arrow{width:16px;height:16px}.detail-medallion:hover{transform:rotate(-8deg)}.hero-image-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#b9cfd4;margin:16px 8px 0 130px}.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #b5d7da24;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#9db7c3;padding:18px 0 24px}.hero-foot>a{display:flex;align-items:center;gap:15px;color:#d4e3e7}.scroll-cue{font-size:20px;display:block;width:30px;text-align:center}.hero-copy h1{animation:hero-in 1s var(--ease) both}.hero-bottom-copy{animation:hero-in 1s .15s var(--ease) both}@keyframes hero-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes photo-in{from{transform:scale(1.1)}to{transform:scale(1.02)}}
/* Approach, with a quiet typographic counterweight to the hero. */
.section{padding:115px 0}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.approach-heading{position:relative}.approach-heading h2{font-size:clamp(38px,4.2vw,62px);font-weight:500;line-height:1.12;letter-spacing:-.055em;max-width:440px;margin-bottom:26px}.approach-heading em{font-size:1.3em}.approach-heading>p{font-size:12px;max-width:265px;color:var(--muted);margin:0 0 0 65px}.approach-heading>.orbit{width:84px;height:84px;bottom:0;right:25px;color:#2d7c80;transform:rotate(20deg)}.strengths{padding-top:22px}.strength{display:grid;grid-template-columns:34px 1fr 20px;gap:20px;border-top:1px solid var(--line);padding:29px 0 32px}.strength:last-child{border-bottom:1px solid var(--line)}.number{font-size:10px;letter-spacing:.05em;color:#7c9298;line-height:30px}.strength h3{font-size:21px;line-height:1.4;letter-spacing:-.04em;margin:0 0 10px}.strength p{font-size:12px;color:var(--muted);max-width:320px;margin:0}.strength-mark{font-size:25px;line-height:1.2;color:#6b9c9e}.text-link{font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid #98adb1;padding:10px 0;transition:color .3s}.text-link .arrow{width:16px;height:16px}.text-link:hover{color:#197c77}
/* An editorial sequence, rather than equal cards. */
.paper{background:var(--paper)}.works-section{border-radius:70px 70px 0 0}.section-head{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:end;margin-bottom:75px}.section-head .eyebrow{display:flex;align-items:center;gap:20px}.count-label{padding:0 7px;font-size:9px;border:1px solid #a6bdbd;border-radius:30px}.section-head h2{font-size:clamp(40px,5.3vw,78px);font-weight:500;line-height:1.08;letter-spacing:-.055em;margin:0;max-width:600px}.section-head h2 em{font-size:1.2em}.section-aside{max-width:340px;justify-self:end;padding-bottom:8px}.section-head p{font-size:12px;color:var(--muted);margin-bottom:18px}.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:55px;row-gap:65px;align-items:start}.work-card{grid-column:span 6;min-width:0;display:block}.work-card:nth-child(5n+1){grid-column:1/span 7}.work-card:nth-child(5n+2){grid-column:9/span 4;margin-top:180px}.work-card:nth-child(5n+3){grid-column:1/span 5;margin-top:-80px}.work-card:nth-child(5n+4){grid-column:7/span 6;margin-top:80px}.work-card:nth-child(5n+5){grid-column:2/span 10;display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;margin-top:10px}.work-card .image{position:relative;background:white;aspect-ratio:1.12;overflow:hidden;border:1px solid #dce3e080}.work-card:nth-child(5n+1) .image{border-radius:145px 8px 8px 8px;aspect-ratio:1.18}.work-card:nth-child(5n+2) .image{border-radius:50% 50% 8px 8px;aspect-ratio:.83}.work-card:nth-child(5n+3) .image{border-radius:8px 8px 100px 8px;aspect-ratio:.98}.work-card:nth-child(5n+4) .image{border-radius:8px 120px 8px 8px;aspect-ratio:1.17}.work-card:nth-child(5n+5) .image{border-radius:50%;aspect-ratio:1}.work-card img{width:100%;height:100%;object-fit:contain;padding:30px;transition:transform .7s var(--ease)}.work-card:nth-child(5n+1) img{padding:0;object-fit:cover}.work-card:nth-child(5n+2) img{padding:40px 20px}.work-card:nth-child(5n+5) img{padding:38px}.work-card:hover img{transform:scale(1.06) rotate(-2deg)}.image-count{position:absolute;top:22px;right:24px;font-size:10px;letter-spacing:.1em;background:#f9fcf2dc;color:var(--ink);border-radius:30px;padding:4px 9px}.image-cta{display:flex;align-items:center;gap:18px;position:absolute;bottom:22px;right:22px;border-radius:40px;background:var(--navy);color:white;font-size:10px;padding:11px 15px;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}.image-cta .arrow{width:14px;height:14px}.work-card:hover .image-cta,.work-card:focus-visible .image-cta{opacity:1;transform:none}.work-card .meta{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid #c7d3d3}.tag{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.work-card h3{font-size:clamp(24px,2.4vw,37px);font-weight:500;letter-spacing:-.055em;margin:5px 0 0;line-height:1.2}.work-card .meta>.arrow{width:35px;height:35px;border:1px solid #afc2c4;border-radius:50%;padding:10px}.work-card:nth-child(5n+5) h3{font-size:52px}.work-card:nth-child(5n+5) .meta{padding:35px 0}.work-card:nth-child(5n+5) .tag{font-size:10px}
/* History: oversized date and overlapping photographic scales. */
.story-section{padding-top:100px;padding-bottom:145px;overflow:hidden}.story-year{font-size:clamp(125px,19vw,270px);font-weight:500;letter-spacing:-.085em;line-height:.95;display:flex;align-items:center;gap:75px;padding-bottom:38px;border-bottom:1px solid var(--line)}.story-year>span{font-size:11px;letter-spacing:0;line-height:1.8;font-weight:400;color:var(--muted);padding-top:25px}.story-composition{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;position:relative;padding-top:60px;align-items:center}.story-photo{margin:0 0 70px;position:relative}.story-photo img{width:100%;height:440px;object-fit:cover;border-radius:5px 5px 130px 5px}.story-photo figcaption{font-size:8px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-top:16px}.story-copy{padding:0 0 90px;max-width:450px}.story-copy h2{font-size:clamp(35px,4.1vw,60px);line-height:1.1;letter-spacing:-.055em;margin-bottom:28px}.story-copy h2 em{font-size:1.2em}.story-copy p{max-width:330px;color:var(--muted);font-size:13px;margin-bottom:25px}.story-detail{position:absolute;bottom:-20px;width:200px;left:43%;transform:rotate(8deg);padding:12px 12px 22px;background:white;box-shadow:0 12px 35px #163a4910;border:1px solid #e1e9e6}.story-detail img{aspect-ratio:1;object-fit:contain}.story-detail span{font-size:8px;display:block;text-align:center;margin-top:13px;text-transform:uppercase;letter-spacing:.1em}
/* Technology: inverted palette, a curved window and fine linework. */
.tech{background:var(--navy);color:#f4faf6;position:relative;overflow:hidden}.tech:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent,transparent calc(25% - 1px),#b2e1de09 25%)}.tech>.wrap{position:relative}.tech .eyebrow{color:#a0c1c8}.tech-layout{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:130px;margin-top:70px}.tech-visual{position:relative;margin-left:30px}.tech-photo{position:relative;height:510px;border-radius:180px 180px 10px 10px;overflow:hidden;background:#bdd0d2}.tech-photo img{height:100%;object-fit:cover}.tech-visual .orbit{color:var(--aqua);width:480px;height:480px;top:55px;left:-70px;transform:rotate(25deg)}.tech-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;display:block;text-align:right;margin-top:20px;color:#a0c1c8}.tech-copy h2{font-size:clamp(40px,4.5vw,68px);line-height:1.09;letter-spacing:-.055em;margin:0 0 35px}.tech-copy h2 em{color:var(--aqua);font-size:1.22em}.tech-copy p{max-width:340px;font-size:13px;color:#b6cbd4;margin-bottom:27px}.tech .text-link{border-color:#5b7e8c;color:#d9f5f0}.tech-note{border-top:1px solid #b3d7da29;padding-top:25px;margin-top:60px;display:flex;gap:35px;align-items:center;font-size:10px;line-height:1.9;color:#9cb9c5}.tech-note .tiny-cross{color:var(--aqua)}
/* An architectural contact panel and oversized typographic footer. */
.contact-banner{padding:90px 0 45px;background:var(--aqua);color:var(--navy);position:relative;overflow:hidden;border-radius:0 0 70px 0}.contact-banner>.wrap{position:relative;z-index:2}.contact-banner-inner{display:flex;justify-content:space-between;align-items:center;gap:65px}.contact-banner h2{font-size:clamp(46px,7vw,105px);line-height:1.08;letter-spacing:-.065em;max-width:850px;margin:0}.round-link{width:165px;height:165px;flex-shrink:0;border-radius:50%;border:1px solid var(--navy);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-align:center;font-size:11px;line-height:1.6;transition:background .35s,color .35s,transform .4s var(--ease)}.round-link .arrow{width:27px;height:27px}.round-link:hover{background:var(--navy);color:var(--aqua);transform:rotate(-8deg)}.banner-line{display:flex;justify-content:space-between;gap:30px;padding-top:25px;margin-top:65px;border-top:1px solid #153e5033;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.contact-banner>.orbit{right:-110px;top:-130px;color:#3b9793;width:500px;height:500px;opacity:.5}.footer{background:var(--deep);color:#d8e7e8;padding:65px 0 25px}.footer-signature{font-size:clamp(90px,18vw,260px);line-height:1.05;letter-spacing:-.075em;font-weight:500;border-bottom:1px solid #c4e0df24;padding-bottom:40px;margin-bottom:50px;color:#bed2d74d;position:relative}.footer-signature>span{font-size:.4em;position:absolute;right:0;top:25px;color:var(--aqua);font-weight:400}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:70px}.footer .footer-name{font-size:19px;font-weight:500;letter-spacing:-.04em;color:#e9f2f0;margin:0 0 10px}.footer small,.footer p{font-size:11px;color:#9eb7c1;margin:0 0 10px}.footer-links{display:flex;flex-direction:column;align-items:start;gap:8px;font-size:11px}.footer .eyebrow{font-size:8px;color:#77939f;margin-bottom:9px}.footer a:hover{color:var(--aqua)}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:60px;padding-top:25px;border-top:1px solid #c4e0df24;color:#7895a1;font-size:9px}.footer-bottom a{color:#b7ced4}
/* Inner pages are part of the same composition system. */
.page-top{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:white;padding:50px 0 95px}.page-top>.orbit{width:500px;height:500px;right:-80px;top:-120px;color:#6db9b7;z-index:-1}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:9px;letter-spacing:.04em;color:#9fb9c2;margin-bottom:70px}.breadcrumbs a{color:#d1e2e5}.page-top-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end}.page-top h1{font-size:clamp(48px,6.8vw,100px);line-height:1.05;letter-spacing:-.065em;margin:0;max-width:850px}.page-top-intro{padding-bottom:5px}.page-top-intro .tiny-cross{display:block;margin-bottom:24px;color:var(--aqua)}.page-top p{font-size:12px;color:#b1c9d3;max-width:350px;margin:0;line-height:1.9}.inner-page .paper{border-radius:0}.inner-page .section-head{display:block}.inner-page .section-head h2{font-size:60px;max-width:700px}.split{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.split h2{font-size:clamp(38px,4.5vw,65px);line-height:1.1;letter-spacing:-.055em;margin:0 0 30px}.split p{font-size:14px;color:var(--muted);max-width:470px;margin-bottom:30px}.split>img{aspect-ratio:1.05;object-fit:cover;border-radius:140px 5px 90px 5px}.split .year{font-size:clamp(110px,14vw,200px);line-height:.95;letter-spacing:-.085em;margin-bottom:35px}.prose{font-size:15px;max-width:580px;color:var(--muted)}.prose p{margin-bottom:25px}.detail-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:110px;align-items:center}.detail-intro .cover{aspect-ratio:1;object-fit:contain;background:#fff;border:1px solid #dce5e1;border-radius:50% 50% 5px 5px;padding:50px}.detail-intro h2{font-size:55px;line-height:1.15;letter-spacing:-.055em;margin:0 0 25px}.detail-intro .text-link{margin-top:15px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.gallery figure{margin:0;min-width:0}.gallery figure:nth-child(even){margin-top:120px}.gallery-open{display:block;position:relative;background:#fff;overflow:hidden;border-radius:8px 80px 8px 8px}.gallery figure:nth-child(even) .gallery-open{border-radius:80px 8px 8px 8px}.gallery img{aspect-ratio:1;object-fit:contain;padding:22px;transition:transform .5s var(--ease)}.gallery-open:hover img{transform:scale(1.03)}.gallery-zoom{position:absolute;bottom:20px;right:20px;border:1px solid #b2c2c6;background:#fff;width:38px;height:38px;border-radius:50%;text-align:center;line-height:35px;font-size:23px}.gallery figcaption{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:15px 0;border-bottom:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px}.contact-layout>div{align-self:start;position:sticky;top:140px}.contact-layout h2{font-size:clamp(30px,3.5vw,49px);line-height:1.2;letter-spacing:-.055em;margin-bottom:25px}.contact-note{font-size:12px;color:var(--muted);max-width:280px}.contact-layout dl{margin:0}.contact-row{padding:28px 0 35px;border-top:1px solid var(--line)}.contact-row:last-child{border-bottom:1px solid var(--line)}.contact-row dt{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.contact-row dd{margin:0;font-size:clamp(18px,2.3vw,32px);line-height:1.5;letter-spacing:-.04em;overflow-wrap:anywhere}.contact-row a{transition:color .2s}.contact-row a:hover{color:#188d80}.not-found{text-align:center;padding:120px 0}.not-found h1{font-size:120px;letter-spacing:-.06em;margin-bottom:20px}.not-found p{margin-bottom:30px}.not-found .admin-pending{font-size:40px}
/* Photo viewer, progressive enhancement over the original image links. */
.photo-dialog{position:fixed;inset:0;margin:auto;width:min(1120px,calc(100% - 40px));height:min(860px,calc(100dvh - 40px));max-width:none;max-height:none;padding:0;border:0;border-radius:12px;background:#f6f8f4;color:var(--ink);overflow:hidden}.photo-dialog::backdrop{background:#03101ceb;backdrop-filter:blur(8px)}.photo-dialog[open]{display:grid;grid-template-rows:65px minmax(0,1fr) 60px}.viewer-top{display:flex;justify-content:space-between;align-items:center;padding:0 23px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line)}.viewer-close{border:1px solid #a4b6bb;border-radius:50%;width:35px;height:35px;background:none;font-size:24px;line-height:1}.viewer-image{width:100%;height:100%;object-fit:contain;padding:20px}.viewer-bottom{padding:0 23px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);gap:20px}.viewer-caption{font-size:11px;margin:0}.viewer-controls{display:flex;gap:10px}.viewer-controls button{width:35px;height:35px;border:1px solid #a4b6bb;border-radius:50%;background:transparent}.viewer-controls button:disabled{opacity:.3;cursor:default}body.photo-open{overflow:hidden}.reveal.is-visible{animation:reveal .85s var(--ease) both}@keyframes reveal{from{opacity:.25;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero{min-height:890px}.hero-composition{padding-top:80px;min-height:710px}.hero-photo-window{height:580px}.hero h1{font-size:98px}}
@media(max-width:1150px){.wrap{width:calc(100% - 70px)}.nav{gap:22px}.hero{min-height:760px}.hero h1{font-size:7.2vw}.hero h1 em{margin-left:30px}.hero .title-last{font-size:.45em}.hero-composition{grid-template-columns:1.15fr 1fr;padding-top:70px;min-height:610px}.hero-photo-window{height:480px;border-top-left-radius:160px}.detail-medallion{width:125px;height:125px;left:-30px}.hero-bottom-copy{max-width:320px}.hero p{max-width:280px}.approach-grid,.split,.detail-intro,.contact-layout{gap:65px}.work-grid{column-gap:35px}.work-card:nth-child(5n+2){margin-top:140px}.work-card:nth-child(5n+3){margin-top:-40px}.story-composition{gap:65px}.story-photo img{height:370px}.story-detail{width:165px}.tech-layout{gap:80px}.tech-photo{height:440px}.tech-visual .orbit{width:390px;height:390px;left:-50px}.footer-grid{gap:40px}.contact-banner h2{font-size:7.5vw}.round-link{width:140px;height:140px}}
@media(max-width:800px){.wrap{width:calc(100% - 44px)}.header{height:78px}.brand{width:180px}.brand img{height:60px}.menu-toggle{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:40px;padding:9px 14px;background:transparent;font-size:10px}.menu-toggle i{width:15px;height:9px;border-top:1px solid;border-bottom:1px solid;position:relative}.menu-toggle[aria-expanded=true] i{height:1px;border-bottom:0;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] i:after{content:'';position:absolute;left:0;right:0;top:-1px;border-top:1px solid;transform:rotate(90deg)}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fbfcfa;padding:20px 25px 30px;box-shadow:0 20px 30px #06182715;flex-direction:column;align-items:stretch;gap:4px}.nav.open{display:flex}.nav>a{padding:13px 0;font-size:14px}.nav>a:not(.contact-link):after{width:30px}.nav .contact-link{margin-top:15px;max-width:180px}.hero{min-height:0}.hero-content{padding-top:28px}.hero-topline .eyebrow{font-size:8px;max-width:280px;line-height:1.8}.hero-location{font-size:8px}.hero-composition{padding-top:54px;padding-bottom:54px;grid-template-columns:1fr;min-height:0}.hero-copy{pointer-events:auto}.hero h1{font-size:clamp(51px,9.4vw,76px);max-width:650px;margin-bottom:24px}.hero h1 em{font-size:1.42em;margin-left:10%;margin-bottom:16px}.hero .title-last{font-size:.46em;max-width:500px}.hero .title-last strong{display:inline}.hero-bottom-copy{max-width:none;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;margin-top:28px}.hero p{font-size:11px;max-width:340px;margin:0}.hero-art{margin-top:45px;margin-left:16%;margin-right:0}.hero-photo-window{height:350px;border-radius:130px 5px 100px 5px;margin-left:0}.hero-photo-window img{object-position:center 55%}.hero-art>.orbit{width:290px;height:290px;left:-85px;top:-25px}.detail-medallion{width:120px;height:120px;left:-70px;bottom:0;box-shadow:0 0 0 8px #071e3266}.hero-image-label{margin-left:85px;margin-top:17px;font-size:7px}.hero-foot{font-size:8px;padding:18px 0;gap:20px}.hero-foot>span{max-width:190px;text-align:right}.section{padding:80px 0}.approach-grid{grid-template-columns:1fr;gap:40px}.approach-heading h2{font-size:55px;max-width:540px}.approach-heading>p{max-width:300px;margin-left:0}.approach-heading>.orbit{right:10px;bottom:10px}.strengths{padding-top:0}.strength{padding:23px 0;gap:15px}.strength h3{font-size:22px}.strength p{max-width:none}.works-section{border-radius:40px 40px 0 0}.section-head{gap:35px;margin-bottom:45px;grid-template-columns:1.1fr 1fr}.section-head h2{font-size:48px}.section-aside{padding-bottom:0}.section-head p{font-size:11px}.work-grid{column-gap:25px;row-gap:45px}.work-card:nth-child(5n+1){grid-column:1/span 7}.work-card:nth-child(5n+2){grid-column:8/span 5;margin-top:110px}.work-card:nth-child(5n+3){grid-column:1/span 6;margin-top:-30px}.work-card:nth-child(5n+4){grid-column:8/span 5;margin-top:80px}.work-card:nth-child(5n+5){grid-column:2/span 10;gap:30px;margin-top:5px}.work-card:nth-child(5n+1) .image{border-top-left-radius:85px}.work-card:nth-child(5n+3) .image{border-bottom-right-radius:65px}.work-card:nth-child(5n+4) .image{border-top-right-radius:70px}.work-card:nth-child(5n+5) h3{font-size:35px}.work-card img{padding:18px}.work-card:nth-child(5n+5) img{padding:20px}.work-card .meta{gap:12px;padding:16px 0}.work-card h3{font-size:24px}.work-card .tag{font-size:7px}.work-card .meta>.arrow{width:29px;height:29px;padding:8px}.image-count{top:13px;right:13px;font-size:8px}.image-cta{display:none}.story-section{padding-bottom:110px}.story-year{font-size:25vw;gap:40px}.story-composition{gap:40px;padding-top:40px}.story-photo img{height:310px;border-bottom-right-radius:80px}.story-copy{padding-bottom:60px}.story-copy h2{font-size:40px}.story-copy .eyebrow{font-size:8px}.story-copy p{font-size:12px}.story-detail{width:140px;left:38%;bottom:-10px}.tech-layout{gap:50px;margin-top:50px}.tech-visual{margin-left:0}.tech-photo{height:380px;border-radius:130px 130px 5px 5px}.tech-copy h2{font-size:40px}.tech-copy p{font-size:12px}.tech-visual .orbit{width:330px;height:330px;left:-60px}.tech-label{font-size:7px}.tech-note{margin-top:35px;gap:20px;font-size:9px}.contact-banner{padding:65px 0 35px;border-bottom-right-radius:45px}.contact-banner-inner{gap:35px}.contact-banner h2{font-size:clamp(43px,7vw,62px)}.round-link{width:115px;height:115px;gap:8px;font-size:9px}.round-link .arrow{width:22px;height:22px}.banner-line{margin-top:45px;font-size:8px}.footer{padding-top:45px}.footer-signature{font-size:20vw;padding-bottom:30px;margin-bottom:35px}.footer-signature>span{top:8px}.footer-grid{gap:30px;grid-template-columns:1.1fr .8fr 1.1fr}.footer-links{font-size:10px;overflow-wrap:anywhere;min-width:0}.footer-bottom{font-size:8px;gap:20px}.page-top{padding:35px 0 65px}.breadcrumbs{margin-bottom:45px}.page-top-grid{grid-template-columns:1fr;gap:30px}.page-top h1{font-size:64px;max-width:650px}.page-top-intro{display:flex;align-items:start;gap:25px}.page-top-intro .tiny-cross{font-size:30px;margin:0}.page-top p{max-width:450px}.split,.detail-intro{gap:45px}.split h2{font-size:42px}.split>img{border-radius:80px 5px 50px 5px}.split p{font-size:12px}.split .year{font-size:100px}.detail-intro h2{font-size:42px}.detail-intro .cover{padding:25px}.prose{font-size:13px}.gallery{gap:35px}.gallery figure:nth-child(even){margin-top:80px}.gallery-open,.gallery figure:nth-child(even) .gallery-open{border-radius:5px 55px 5px 5px}.inner-page .section-head h2{font-size:44px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-layout>div{position:static}.contact-layout h2{max-width:520px;font-size:40px}.contact-note{max-width:400px}.contact-row dd{font-size:28px}}
@media(max-width:520px){.wrap{width:calc(100% - 40px)}.hero-location{display:none}.hero h1{font-size:12.4vw;letter-spacing:-.065em}.hero h1 em{font-size:1.47em;margin-left:6%;margin-top:7px;margin-bottom:20px}.hero .title-last{font-size:.5em;line-height:1.25;max-width:320px}.hero .title-last strong{display:block}.hero-composition{padding-top:38px;padding-bottom:33px}.hero-bottom-copy{grid-template-columns:1fr;gap:20px;margin-top:23px}.hero p{max-width:295px;line-height:1.8}.hero .button{justify-self:start;font-size:10px;min-height:44px;padding:6px 7px 6px 19px;gap:20px}.hero-art{margin-top:34px;margin-left:15%}.hero-photo-window{height:245px;border-radius:90px 4px 70px 4px}.hero-art>.orbit{width:210px;height:210px;left:-55px;top:-15px}.detail-medallion{width:90px;height:90px;left:-43px;bottom:8px;padding:9px}.detail-medallion>span{width:28px;height:28px}.detail-medallion .arrow{width:13px;height:13px}.hero-image-label{margin-left:70px;font-size:6px;letter-spacing:.08em}.hero-foot{font-size:7px;letter-spacing:.06em}.hero-foot>span{max-width:135px}.hero-foot>a{gap:5px}.scroll-cue{font-size:18px}.section{padding:65px 0}.eyebrow{font-size:8px;margin-bottom:23px}.approach-heading h2{font-size:43px}.approach-heading>p{font-size:11px;max-width:235px}.approach-heading>.orbit{width:62px;height:62px;right:0;bottom:0}.strength{grid-template-columns:25px 1fr 15px;gap:12px;padding:23px 0}.strength h3{font-size:19px}.strength p{font-size:11px}.section-head{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.section-head h2{font-size:48px;max-width:340px}.section-aside{justify-self:start;max-width:280px}.section-head p{margin-bottom:10px}.text-link{font-size:10px;gap:25px}.work-grid{column-gap:18px;row-gap:35px}.work-card:nth-child(5n+1){grid-column:1/span 11}.work-card:nth-child(5n+2){grid-column:4/span 9;margin-top:0}.work-card:nth-child(5n+3){grid-column:1/span 10;margin-top:0}.work-card:nth-child(5n+4){grid-column:3/span 10;margin-top:0}.work-card:nth-child(5n+5){grid-column:1/span 12;gap:18px;margin-top:5px;grid-template-columns:1fr 1fr}.work-card:nth-child(5n+2) .image{aspect-ratio:1}.work-card h3{font-size:27px}.work-card:nth-child(5n+5) h3{font-size:27px}.work-card:nth-child(5n+5) .tag{font-size:7px}.work-card:nth-child(5n+5) .meta{padding:15px 0;gap:8px}.work-card:nth-child(5n+5) .meta>.arrow{width:23px;height:23px;padding:6px}.work-card:nth-child(5n+5) img{padding:16px}.story-year{font-size:31vw;gap:25px;padding-bottom:27px}.story-year>span{font-size:8px;line-height:1.65;min-width:65px;padding-top:10px}.story-composition{grid-template-columns:1fr;gap:50px;padding-top:32px}.story-photo{margin-bottom:0;margin-right:28px}.story-photo img{height:300px;border-bottom-right-radius:80px}.story-photo figcaption{font-size:7px}.story-copy{padding:0 0 0 25px;max-width:340px}.story-copy h2{font-size:45px;margin-bottom:22px}.story-copy p{font-size:12px}.story-detail{width:107px;left:auto;right:-2px;top:230px;bottom:auto;padding:8px 8px 13px;transform:rotate(9deg)}.story-detail span{font-size:6px;margin-top:8px}.story-section{padding-bottom:70px}.tech-layout{grid-template-columns:1fr;gap:45px;margin-top:35px}.tech-visual{width:74%;margin-left:9%}.tech-photo{height:340px;border-radius:150px 150px 4px 4px}.tech-visual .orbit{width:310px;height:310px;left:-35px;top:45px}.tech-copy{padding-left:22px}.tech-copy h2{font-size:45px;max-width:330px}.tech-copy p{font-size:12px;max-width:280px}.tech-note{margin-top:35px;max-width:300px}.contact-banner{padding:55px 0 30px}.contact-banner-inner{gap:25px;align-items:flex-end;flex-wrap:wrap}.contact-banner h2{font-size:52px;max-width:340px}.round-link{width:100px;height:100px;margin-left:auto;margin-top:0}.banner-line{font-size:7px;margin-top:30px;gap:20px}.banner-line>span:last-child{text-align:right;max-width:135px}.footer-signature{font-size:20vw;padding-bottom:25px}.footer-signature>span{top:6px;font-size:.36em}.footer-grid{grid-template-columns:1fr 1fr;row-gap:30px;column-gap:20px}.footer-grid>div:first-child{grid-column:span 2}.footer-grid .footer-name{font-size:19px}.footer-links{font-size:10px}.footer-bottom{flex-wrap:wrap;margin-top:35px;gap:12px;font-size:7px}.footer-bottom>a{margin-left:auto}.page-top{padding:30px 0 50px}.breadcrumbs{font-size:8px;gap:8px;margin-bottom:40px}.page-top h1{font-size:49px;letter-spacing:-.06em}.page-top p{font-size:11px}.page-top>.orbit{width:320px;height:320px;right:-125px;top:-50px}.page-top-grid{gap:27px}.page-top-intro{gap:18px}.split,.detail-intro{grid-template-columns:1fr;gap:35px}.split h2{font-size:41px}.split .year{font-size:132px}.split>img{aspect-ratio:1.1;border-radius:100px 5px 65px 5px}.split p{font-size:13px}.detail-intro .cover{padding:30px;margin:0 auto;width:90%}.detail-intro>div{padding-left:20px}.detail-intro h2{font-size:42px}.gallery{grid-template-columns:1fr;gap:32px}.gallery figure:nth-child(even){margin-top:0;margin-left:30px}.gallery figure:nth-child(odd){margin-right:30px}.gallery img{aspect-ratio:1;padding:15px}.gallery-open,.gallery figure:nth-child(even) .gallery-open{border-radius:5px 60px 5px 5px}.gallery figcaption{font-size:8px}.inner-page .section-head h2{font-size:40px}.contact-layout h2{font-size:36px}.contact-row dd{font-size:21px}.contact-row{padding:22px 0 28px}.photo-dialog{width:calc(100% - 20px);height:calc(100dvh - 30px);border-radius:8px}.photo-dialog[open]{grid-template-rows:60px minmax(0,1fr) 75px}.viewer-top,.viewer-bottom{padding-inline:15px}.viewer-top{font-size:9px}.viewer-caption{font-size:10px;max-width:170px}.viewer-image{padding:12px}.not-found h1{font-size:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-photo-window img{transform:none}.reveal{opacity:1;transform:none}.scroll-progress{display:none}}

/* Keep supporting copy comfortable to read at every size. */
.hero p,.strength p,.section-head p,.story-copy p,.tech-copy p,.approach-heading>p,.contact-note,.page-top p{font-size:14px}
.split p{font-size:14px}.nav{font-size:12px}.button,.text-link{font-size:12px}.footer-links,.footer small,.footer p{font-size:12px}
@media(max-width:800px){.hero-bottom-copy{gap:25px}.work-card .tag{font-size:9px}.footer-links{font-size:11px}.footer p,.footer small{font-size:12px}}
@media(max-width:520px){.hero p,.strength p,.section-head p,.story-copy p,.tech-copy p,.approach-heading>p,.contact-note,.page-top p,.split p{font-size:13px}.hero .button,.text-link{font-size:11px}.approach-heading>.orbit{bottom:5px}.work-card:nth-child(5n+5) .tag{font-size:8px}.hero-topline .eyebrow{font-size:8px}}
@media(max-width:520px){.header-inner{gap:15px}}
.work-card .meta>div{min-width:0}.work-card h3{overflow-wrap:anywhere}
