@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/font-3.ttf) format('truetype');
}
:root{--paper:#ffffff;--ink:#111111;--muted:#666666;--line:#dedede;--pad:clamp(22px,4.6vw,84px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'ITC Blair','DM Sans',Arial,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}img{display:block;max-width:100%;height:auto}p,h1,h2,h3{margin:0}p{line-height:1.7}button{cursor:pointer}.skip{position:absolute;top:-60px;background:white;padding:12px;z-index:20}.skip:focus{top:8px}.header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid var(--line)}.brand{font-size:23px;letter-spacing:-1.1px;font-weight:600}.nav{display:flex;gap:34px;align-items:center}.nav a{font-size:14px}.nav a:hover,.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.nav .resume{border-left:1px solid var(--line);padding-left:32px}.dark{background:#111111;color:var(--paper)}.dark .header{border-color:#363737}.dark .nav .resume{border-color:#555}.hero{padding:54px var(--pad) 48px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.eyebrow{font-size:12px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;display:block}.hero h1{font-size:clamp(54px,6.4vw,108px);line-height:.99;font-weight:600;letter-spacing:-.066em;margin:45px 0 28px}.accent{font:inherit;letter-spacing:inherit}.hero p{max-width:340px;color:#cccccc;margin-bottom:35px}.text-link{display:inline-flex;gap:35px;align-items:center;padding-bottom:8px;border-bottom:1px solid currentColor;font-size:14px}.text-link:hover{opacity:.7}.hero-visual{margin:0}.hero-visual img{width:100%;height:auto;object-fit:contain;background:transparent}.hero-visual figcaption{display:flex;justify-content:space-between;margin-top:14px;font-size:12px;letter-spacing:.6px;color:#bbbbbb}.work{padding:95px var(--pad) 110px}.section-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:45px}.section-head h2{font-size:clamp(36px,4vw,64px);font-weight:600;letter-spacing:-.06em}.section-head span{font-size:13px;color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:64px 34px}.card:nth-child(even){margin-top:110px}.card .card-img{height:auto;background:transparent;overflow:hidden}.card img{width:100%;height:auto;object-fit:contain;transition:transform .5s}.card:hover img{transform:scale(1.018)}.card-head{display:flex;justify-content:space-between;align-items:center;margin-top:19px}.card h3{font-size:25px;font-weight:600;letter-spacing:-.8px}.card p{font-size:14px;color:var(--muted);margin-top:5px}.card .number{font-size:12px;margin-bottom:10px;color:var(--muted)}.intro-band{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;padding:80px var(--pad);border-top:1px solid var(--line)}.intro-band p{font-size:clamp(23px,2.6vw,38px);line-height:1.35;letter-spacing:-.04em}.intro-band .text-link{margin-top:30px}.footer{padding:65px var(--pad) 28px;background:#111111;color:var(--paper)}.footer-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:65px}.footer h2{font-size:clamp(44px,6vw,88px);font-weight:600;letter-spacing:-.055em;line-height:1.05;margin-top:20px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #3a3a3a;padding-top:24px;font-size:12px;color:#aaaaaa}.page-intro{padding:72px var(--pad) 60px;display:grid;grid-template-columns:1.25fr 1fr;gap:50px;align-items:end}.page-intro h1{font-size:clamp(48px,6vw,92px);font-weight:600;line-height:1;letter-spacing:-.06em;margin-top:22px}.page-intro p{max-width:470px;color:var(--muted)}.back-link{font-size:13px;color:var(--muted);display:inline-block;margin-bottom:12px}.subnav{display:flex;gap:28px;margin:0 var(--pad) 54px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;flex-wrap:wrap;font-size:14px}.subnav a:hover{text-decoration:underline;text-underline-offset:5px}.gallery{margin:0 var(--pad) 95px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px;align-items:start}.art{margin:0;min-width:0}.art button{border:0;padding:0;width:100%;background:transparent;display:block;cursor:zoom-in}.art img{width:100%;height:auto}.art figcaption{display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.5;color:var(--muted);padding-top:12px}.gallery-section{padding:0 var(--pad) 24px;display:flex;justify-content:space-between;gap:30px;align-items:baseline}.gallery-section h2{font-size:32px;font-weight:600;letter-spacing:-1px}.gallery-section p{font-size:14px;color:var(--muted);max-width:420px}.feature{margin:0 var(--pad) 75px;padding:40px;background:transparent;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.feature h2{font-size:38px;font-weight:600;letter-spacing:-1.5px;line-height:1.15;margin:20px 0}.feature p{color:var(--muted);max-width:400px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compare figure{margin:0}.compare img{width:100%;height:auto;object-fit:contain}.compare figcaption{font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-top:15px}.about-content{padding:0 var(--pad) 95px;display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.about-content .statement{font-size:clamp(27px,3vw,44px);letter-spacing:-.04em;line-height:1.3;margin-bottom:28px}.about-content p{color:var(--muted);margin-bottom:24px;max-width:650px}.about-content h2{font-weight:600;font-size:24px;margin:40px 0 16px;letter-spacing:-.7px}.skills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:20px 0}.skills li{border:1px solid var(--line);padding:8px 14px;font-size:14px}.contact-main{min-height:62vh;padding:75px var(--pad) 100px}.contact-main h1{font-size:clamp(65px,10vw,150px);font-weight:600;letter-spacing:-.07em;line-height:1.05;margin:35px 0}.contact-main p{max-width:500px;color:var(--muted);margin:25px 0}.email{font-size:clamp(19px,3vw,38px);border-bottom:1px solid;display:inline-block;overflow-wrap:anywhere}.contact-meta{display:flex;gap:60px;margin-top:65px}.contact-meta p{font-size:14px;margin:10px 0}.lightbox{border:0;padding:0;background:#111111;color:white;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.lightbox::backdrop{background:#111111}.lightbox[open]{display:flex;flex-direction:column}.lightbox-top{display:flex;justify-content:space-between;align-items:center;padding:20px 28px}.lightbox-top p{font-size:14px}.lightbox button{border:1px solid #777;border-radius:0;background:transparent;color:white;padding:9px 15px;font-size:14px}.lightbox img{min-height:0;flex:1;object-fit:contain;width:100%;padding:0 40px 25px}.lightbox-controls{display:flex;justify-content:center;gap:30px;padding:0 25px 25px;align-items:center;font-size:14px}.lightbox button:disabled{opacity:.3;cursor:default}@media(min-width:1500px){.hero,.work,.page-intro,.gallery,.gallery-section,.feature,.about-content,.intro-band{max-width:1800px;margin-left:auto;margin-right:auto}.hero{gap:120px}}@media(max-width:900px){.hero{gap:30px}.hero h1{font-size:clamp(46px,7vw,65px)}.hero-visual img{height:auto}.card .card-img{height:auto}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.feature{padding:26px;gap:20px}.compare img{height:auto}.about-content{gap:40px}.page-intro{gap:24px}}@media(max-width:600px){.header{height:auto;min-height:90px;align-items:flex-start;gap:20px;padding-top:22px;padding-bottom:22px}.brand{font-size:19px;white-space:nowrap}.nav{gap:17px;flex-wrap:wrap;justify-content:flex-end}.nav a{font-size:13px}.nav .resume{display:none}.hero{grid-template-columns:1fr;padding-top:42px;gap:38px}.hero h1{font-size:70px;margin:30px 0 22px;letter-spacing:-.065em}.hero p{max-width:310px;margin-bottom:25px}.hero-visual img{height:auto;max-height:none}.hero-visual figcaption{font-size:11px}.work{padding-top:58px;padding-bottom:60px}.section-head{margin-bottom:28px;padding-bottom:18px}.section-head span{font-size:11px}.cards{grid-template-columns:1fr;gap:40px}.card:nth-child(even){margin-top:0}.card .card-img{height:auto;max-height:none}.card img{width:100%;height:auto;max-height:none;object-fit:contain}.card h3{font-size:24px}.intro-band{grid-template-columns:1fr;gap:24px;padding-top:45px;padding-bottom:50px}.footer{padding-top:45px}.footer-top{display:block;padding-bottom:42px}.footer-top .text-link{margin-top:30px}.footer-bottom{gap:25px;font-size:11px}.page-intro{grid-template-columns:1fr;padding-top:42px;padding-bottom:35px;gap:25px}.page-intro h1{font-size:58px}.gallery{gap:26px 12px;margin-bottom:55px}.art figcaption{font-size:11px;gap:7px}.art figcaption .art-index{display:none}.gallery-section{display:block;padding-top:15px}.gallery-section h2{font-size:27px;margin-bottom:10px}.subnav{gap:20px;font-size:13px;margin-bottom:32px}.feature{display:block;padding:24px}.feature h2{font-size:32px}.compare{margin-top:24px}.compare img{height:auto}.about-content{grid-template-columns:1fr;gap:35px}.about-content>img{max-height:none;width:100%;object-fit:contain;background:transparent}.contact-main{padding-top:45px;padding-bottom:65px}.contact-meta{gap:35px;flex-wrap:wrap;margin-top:40px}.lightbox img{padding:0 12px 20px}.lightbox-top{padding:16px;gap:15px}.lightbox-top p{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-dark{background:#111111;color:var(--paper)}

/* ITC Blair uses the visitor's installed font until licensed webfont files are supplied. */
@font-face{font-family:'ITC Blair';src:local('Blair ITC Light'),local('ITC Blair Light');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'ITC Blair';src:local('Blair ITC Medium'),local('ITC Blair Medium');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'ITC Blair';src:local('Blair ITC Bold'),local('ITC Blair Bold');font-style:normal;font-weight:600 700;font-display:swap}
h1,h2,h3,.brand{letter-spacing:-.02em;font-weight:600}
.hero h1{font-size:clamp(48px,5.6vw,92px);line-height:1.06;letter-spacing:-.025em}
.page-intro h1{font-size:clamp(42px,5.3vw,80px);line-height:1.1;letter-spacing:-.025em}
.footer h2{font-size:clamp(38px,5.3vw,76px);letter-spacing:-.025em;line-height:1.12}
.contact-main h1{font-size:clamp(56px,8vw,120px);letter-spacing:-.025em}
.feature{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0}
p,.art figcaption{font-weight:400}
.nav,.eyebrow,.subnav,.text-link{font-weight:500}
.section-head{gap:24px;flex-wrap:wrap}
.hero>div,.page-intro>div,.footer-top>div{min-width:0}
@media(max-width:600px){.hero h1{font-size:clamp(46px,12vw,66px)}.page-intro h1{font-size:clamp(39px,10vw,54px)}.brand{font-size:17px;letter-spacing:0}.header{gap:14px}.nav{gap:14px}.feature{padding:24px 0}.footer-bottom{flex-wrap:wrap}}

/* Compact contact footer. */
.footer-top{align-items:center;padding-bottom:30px}.footer{padding-top:35px}
@media(max-width:600px){.footer-top{display:flex;flex-wrap:wrap;gap:20px}.footer-top .text-link{margin-top:0}}
