:root{--midnight:#081525;--ink:#102331;--cyan:#00a9e8;--coral:#ff6b3d;--bone:#f5f0e7;--cloud:#f8fafc;--mist:#b9c8d2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--midnight);color:var(--cloud);font-family:Manrope,'Avenir Next',Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:6px}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1,h2{letter-spacing:-.055em;line-height:1.04}em{font-family:'Source Serif 4',Georgia,serif;font-weight:400;letter-spacing:-.055em}h2{font-size:clamp(42px,5.2vw,76px)}.eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.skip{position:absolute;z-index:10;top:-90px;left:15px;background:var(--bone);color:var(--ink);padding:12px}.skip:focus{top:10px}header{height:94px;display:flex;justify-content:space-between;align-items:center;padding:0 5%;border-bottom:1px solid #b9c8d233;background:var(--midnight)}.wordmark{font-size:23px;font-weight:600;letter-spacing:-1px;display:flex;gap:22px;align-items:center}.mark{font-size:32px;color:var(--coral);line-height:1}nav{display:flex;gap:37px;align-items:center;font-size:12px}nav a{transition:color .2s}nav a:hover{color:var(--cyan)}.nav-contact{border-bottom:1px solid #b9c8d2;line-height:2}.nav-contact span{margin-left:18px}.hero{min-height:660px;height:calc(100svh - 94px);max-height:900px;position:relative;overflow:hidden}.hero-img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:70% 48%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#081525ed 0%,#08152599 42%,#0815250d 100%),linear-gradient(0deg,#081525e6,transparent 35%,#08152533)}.hero-content{position:relative;height:100%;padding:65px 5% 100px;display:flex;flex-direction:column;justify-content:center}.dot{display:inline-block;width:6px;height:6px;background:var(--coral);border-radius:50%;margin-right:9px;vertical-align:2px}.hero h1{font-size:clamp(64px,8.2vw,125px);margin-top:36px;max-width:900px;color:var(--bone)}.hero-bottom{display:flex;gap:70px;align-items:flex-end;margin-top:35px}.hero-bottom p{color:var(--mist);font-size:15px;line-height:1.8}.round-link{font-size:12px;display:flex;gap:30px;align-items:center}.round-link span{width:44px;height:44px;display:grid;place-items:center;border:1px solid #b9c8d266;border-radius:50%;font-size:21px;transition:.2s}.round-link:hover span{background:var(--cyan);color:var(--midnight)}.hero-foot{position:absolute;bottom:26px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;color:var(--mist);letter-spacing:.04em}.discipline-bar{display:flex;align-items:center;justify-content:space-between;padding:26px 5%;gap:20px;border-bottom:1px solid #b9c8d233;font-size:12px}.discipline-bar i{font-style:normal;color:var(--cyan);font-size:18px}.section-pad{padding:110px 7%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:65px}.section-heading h2{margin-top:24px}.section-heading>p{font-size:13px;line-height:1.9;color:var(--mist);padding-bottom:5px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 32px}.project-wide{grid-column:1/-1}.project-trigger{display:block;width:100%;padding:0;position:relative;overflow:hidden;background:var(--ink);text-align:left}.project-trigger>img{width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;display:block;transition:transform .7s}.project-trigger:hover>img{transform:scale(1.035)}.project-open{position:absolute;right:23px;top:23px;background:var(--bone);color:var(--ink);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:22px}.image-label{position:absolute;bottom:16px;left:18px;font-size:9px;letter-spacing:.04em;padding:6px 9px;background:#081525e6;color:var(--cloud)}.project-caption{display:flex;justify-content:space-between;gap:20px;padding-top:20px}.project-caption .eyebrow{color:var(--mist);font-size:9px;letter-spacing:.09em}.project-caption h3{font-size:22px;letter-spacing:-.035em;margin-top:7px}.text-link{background:transparent;font-size:11px;padding:8px 0;white-space:nowrap;align-self:flex-start}.text-link:hover{color:var(--cyan)}.text-link span{padding-left:20px}.water-art{height:440px;position:relative;overflow:hidden;background:var(--ink)}.pool-grid{position:absolute;inset:-30% -10% -30% 22%;transform:perspective(650px) rotateX(54deg) rotateZ(-22deg);background:radial-gradient(ellipse at 50% 35%,#00a9e833,transparent 60%),radial-gradient(circle,#00a9e8 1px,transparent 1.5px);background-size:auto,19px 19px;mask-image:linear-gradient(90deg,transparent,#000 35%,#000 75%,transparent)}.water-word{position:absolute;left:6%;top:13%;font-size:clamp(40px,5vw,73px);line-height:1.04;letter-spacing:-.05em;color:var(--bone)}.water-line{position:absolute;left:65%;top:15%;height:70%;width:1px;background:var(--coral);transform:rotate(20deg)}.diagram-label{position:absolute;bottom:25px;left:6%;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}.archive-link{display:flex;justify-content:space-between;border-bottom:1px solid #b9c8d24d;margin-top:60px;padding:17px 0;font-size:12px}.archive-link:hover{color:var(--cyan)}.approach{background:var(--bone);color:var(--ink)}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:46px}.approach h2{font-size:clamp(40px,4.7vw,68px)}.services{padding-top:0}details{border-bottom:1px solid #10233133}details:first-child{border-top:1px solid #10233133}summary{padding:25px 0;cursor:pointer;display:flex;align-items:center;list-style:none;font-size:16px;letter-spacing:-.03em}summary::-webkit-details-marker{display:none}.service-number{font-size:10px;margin-right:26px;letter-spacing:0}.plus{margin-left:auto;padding-left:16px;font-size:22px}.plus:before{content:'+'}details[open] .plus:before{content:'−'}.service-copy{font-size:13px;line-height:1.9;max-width:410px;padding:0 25px 28px 39px}.about{background:var(--bone);color:var(--ink);border-top:1px solid #10233126}.about-top{display:flex;align-items:center;justify-content:space-between}.asterisk{font-size:56px;line-height:1;color:var(--ink)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:45px}.about-copy .intro{font-family:'Source Serif 4',Georgia,serif;font-size:27px;line-height:1.4;letter-spacing:-.025em;margin-bottom:25px}.about-copy>p:not(.intro){font-size:13px;line-height:1.95;margin-bottom:19px}.inline-link{display:inline-block;border-bottom:1px solid var(--ink);font-size:12px;margin-top:6px;padding-bottom:4px}.inline-link span{margin-left:20px}.credentials{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;border-top:1px solid #10233133;margin-top:70px;padding-top:32px}.credential-title{font-size:21px;letter-spacing:-.04em}.credentials p{font-size:11px;line-height:1.9;margin-top:12px}.credentials a{border-bottom:1px solid #10233155}.contact{padding-top:100px;padding-bottom:80px}.contact h2{font-size:clamp(50px,7.1vw,105px);margin-top:40px;color:var(--bone)}.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:55px;gap:25px}.email-link{font-size:clamp(17px,2.4vw,32px);letter-spacing:-.04em;border-bottom:1px solid #b9c8d280;padding-bottom:9px}.email-link span{margin-left:40px;color:var(--cyan)}.contact-bottom p{font-size:12px;color:var(--mist)}footer{padding:45px 5% 25px;border-top:1px solid #b9c8d233;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:25px}.footer-links{display:flex;align-items:center;gap:40px;font-size:11px}.footer-links img{width:240px;height:auto;display:block}.footer-bottom{width:100%;display:flex;justify-content:space-between;font-size:10px;color:var(--mist);margin-top:35px}dialog{background:var(--bone);color:var(--ink);border:0;max-width:780px;width:calc(100% - 36px);max-height:90svh;padding:0}dialog::backdrop{background:#081525d9;backdrop-filter:blur(5px)}.dialog-inner{padding:60px}.close-dialog{display:flex;gap:20px;align-items:center;background:transparent;margin-left:auto;margin-bottom:35px;font-size:12px}.close-dialog span{font-size:28px}dialog h2{font-size:48px;margin:20px 0}.dialog-lead{font-family:'Source Serif 4',Georgia,serif;font-size:24px;line-height:1.5;margin-bottom:25px}#dialog-body p{font-size:14px;margin-bottom:20px}#dialog-body h3{font-size:13px;font-weight:700;margin:25px 0 8px}.button{display:inline-block;padding:14px 22px;background:var(--ink);color:var(--cloud);font-size:12px;margin-top:15px}.button:hover{background:var(--midnight)}
@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:800px){header{height:80px}nav{gap:20px}.hero{height:700px;min-height:0}.hero h1{font-size:80px}.hero-content{padding-top:45px}.hero-bottom{gap:30px}.hero-foot{gap:35px}.section-pad{padding:75px 6%}.section-heading{gap:30px}.section-heading>p{font-size:12px}.project-grid{gap:40px 23px}.project-caption h3{font-size:18px}.project-caption .eyebrow{font-size:8px}.approach-layout,.about-layout{gap:6%}.approach h2{font-size:44px}summary{font-size:14px}.service-number{margin-right:15px}.service-copy{padding-left:27px}.footer-links{gap:20px}.footer-links img{width:240px}.wordmark{font-size:20px;gap:15px}}@media(max-width:560px){header{padding:0 6%;height:76px}.wordmark{font-size:19px;gap:11px}.mark{font-size:26px}nav{gap:18px;font-size:10px}nav a:nth-child(2),nav a:nth-child(3){display:none}.nav-contact span{margin-left:8px}.hero{height:720px;max-height:calc(100svh - 76px);min-height:590px}.hero-img{object-position:60%}.hero-shade{background:linear-gradient(90deg,#081525dc,#08152555),linear-gradient(0deg,#081525e6,transparent 65%)}.hero-content{padding:45px 6% 100px;justify-content:center}.hero .eyebrow{font-size:8px}.hero h1{font-size:clamp(57px,12.9vw,75px);margin-top:30px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:25px;margin-top:30px}.hero-bottom p{font-size:13px}.hero-foot{left:6%;right:6%;font-size:8px;flex-direction:column;gap:7px;bottom:23px}.discipline-bar{display:grid;grid-template-columns:1fr 1fr;padding:25px 6%;gap:15px;font-size:10px}.discipline-bar i{display:none}.discipline-bar span:before{content:'↗';color:var(--cyan);margin-right:9px}.section-pad{padding:65px 6%}.section-heading{display:block;margin-bottom:35px}.section-heading h2{margin-top:20px}.section-heading>p{margin-top:24px}.project-grid{grid-template-columns:1fr;gap:35px}.project-wide{grid-column:auto}.water-art{height:340px}.water-word{font-size:51px;top:18%}.pool-grid{inset:-10% -60% -10% 10%}.project-caption h3{font-size:20px}.project-caption .eyebrow{font-size:8px}.project-trigger>img{aspect-ratio:1.3}.archive-link{font-size:11px;margin-top:33px;gap:20px}.approach-layout,.about-layout{grid-template-columns:1fr;gap:30px;margin-top:30px}.approach h2{font-size:45px}.approach h2 br:nth-of-type(2){display:none}.about-copy .intro{font-size:25px}.about-top{gap:20px}.about-top .eyebrow{font-size:8px}.asterisk{font-size:42px}.credentials{grid-template-columns:1fr;gap:25px;margin-top:35px;padding-top:28px}.credentials>div{display:grid;grid-template-columns:1fr 1fr;gap:15px}.credential-title{font-size:18px}.credentials p{margin-top:0;font-size:10px}.contact h2{font-size:53px;margin-top:30px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:25px;margin-top:35px}.email-link{font-size:20px}.email-link span{margin-left:15px}.footer-links{width:100%;justify-content:space-between}.footer-bottom{margin-top:10px}.dialog-inner{padding:28px}.close-dialog{margin-bottom:20px}dialog h2{font-size:36px}.dialog-lead{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Preserve the full composition of the supplied project photographs. */
.project-trigger>img{aspect-ratio:16/10;object-fit:contain;background:var(--midnight)}
.hero-img{object-position:center 45%}
@media(max-width:560px){.project-trigger>img{aspect-ratio:16/10}.hero-img{object-position:60% center}}

[hidden]{display:none!important}.work-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:-20px 0 36px}.work-filters{display:flex;flex-wrap:wrap;gap:8px}.work-filters button{padding:10px 14px;background:transparent;border:1px solid #b9c8d255;font-size:11px}.work-filters button[aria-pressed="true"]{background:var(--bone);color:var(--ink);border-color:var(--bone)}#work-count{font-size:10px;color:var(--mist);white-space:nowrap}.photo-count{position:absolute;bottom:12px;left:12px;background:#081525e6;padding:4px 9px;font-size:9px;letter-spacing:.06em}.about-portrait figure{margin:35px 0 0}.about-portrait img{width:100%;display:block;max-width:430px}.about-portrait figcaption{font-size:10px;margin-top:9px}.project-gallery{margin:28px 0}.project-gallery figure{margin:0}.project-gallery img{width:100%;height:auto;display:block}.project-gallery figcaption{font-size:11px;margin-top:10px}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:11px}.gallery-controls button{background:transparent;border:1px solid #10233144;padding:8px 12px;font-size:11px}dialog{max-width:900px}.project-caption h3{font-size:20px}.project-caption .eyebrow{line-height:1.7}.project-caption{gap:10px}@media(min-width:1150px){.project-grid{grid-template-columns:repeat(3,1fr)}.project-caption h3{font-size:21px}}@media(max-width:650px){.work-toolbar{display:block;margin-top:-5px}.work-filters{gap:7px}.work-filters button{font-size:10px;padding:9px 11px}#work-count{margin-top:15px}.about-portrait img{max-width:100%}}

.about-portrait img{aspect-ratio:4/3;object-fit:cover;object-position:50% 28%}
