:root{--paper:#fbfbfb;--ink:#000;--muted:rgba(0,0,0,.2);--unit:calc(100vw / 1440);font-family:'Inter Display',Inter,Arial,Helvetica,sans-serif;font-weight:400;font-synthesis:none;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body,h1,h2,p{margin:0}body{overflow-x:clip}h1,h2,strong{font-weight:400}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button:focus-visible,a:focus-visible{outline:1px solid currentColor;outline-offset:7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:20;padding:12px 18px;background:var(--paper);transform:translateY(-180%)}.skip-link:focus{transform:none}
.hero{position:relative;aspect-ratio:1440 / 806.826;background:#171717;color:#fff;isolation:isolate}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.brand{position:absolute;left:50%;top:46.233%;width:61.0023%;height:auto;transform:translateX(-50%);line-height:0}.brand img{display:block;width:100%;height:auto}.navigation{position:absolute;left:50%;bottom:calc(32.92 * var(--unit));transform:translateX(-50%);display:flex;align-items:center;gap:calc(20.38 * var(--unit));font-size:calc(28.117 * var(--unit));line-height:1.21;letter-spacing:calc(-1.687 * var(--unit))}.nav-item{position:relative}.nav-trigger{display:flex;align-items:center;gap:calc(17 * var(--unit));border:0;padding:0;background:none;cursor:pointer;white-space:nowrap;min-height:34px}.nav-trigger:before{content:'';display:block;width:calc(6 * var(--unit));height:calc(6 * var(--unit));border-radius:50%;background:currentColor}.works{width:calc(108 * var(--unit))}.contact{width:calc(125 * var(--unit))}.nav-links{position:absolute;bottom:100%;display:flex;flex-direction:column;align-items:flex-start;gap:calc(17.5 * var(--unit));padding-bottom:calc(9 * var(--unit));font-size:calc(25 * var(--unit));line-height:.72;letter-spacing:calc(-1.5 * var(--unit));white-space:nowrap;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1),visibility .5s;pointer-events:none}.nav-links a{color:rgba(255,255,255,.2);display:block;padding:0 0 0 0;transition:color .25s}.nav-links a:hover,.nav-links a:focus-visible{color:#fff}.nav-item.is-open .nav-links{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.resume{display:grid;grid-template-columns:minmax(0,610fr) minmax(0,550fr);column-gap:calc(180 * var(--unit));padding:calc(103.625 * var(--unit)) calc(49.97 * var(--unit)) calc(126.117 * var(--unit));font-size:calc(30 * var(--unit));line-height:calc(32 * var(--unit));letter-spacing:calc(-.6 * var(--unit))}.recognition{min-width:0}.year{font-size:calc(267.552 * var(--unit));line-height:calc(187 * var(--unit));letter-spacing:calc(-5.351 * var(--unit));margin:0 0 calc(45 * var(--unit));height:calc(187 * var(--unit));display:flex;align-items:center;transform:translateY(calc(-5 * var(--unit)))}.award-row{display:flex;align-items:center;gap:calc(28.936 * var(--unit));min-height:calc(87.058 * var(--unit));color:var(--muted);line-height:1.2;letter-spacing:calc(-.217 * var(--unit))}.award-row strong,.dprofile-award strong,.practice strong{color:var(--ink)}.award-icon{flex-shrink:0;width:calc(87.058 * var(--unit));height:auto;display:block}.award-icon.silver{width:calc(88.794 * var(--unit))}.award-row p{max-width:calc(410.753 * var(--unit))}.silver-row{margin-top:calc(45 * var(--unit));gap:calc(29.513 * var(--unit))}.silver-row p{max-width:calc(484.614 * var(--unit));line-height:calc(32 * var(--unit))}.awards-2024{margin-top:calc(148 * var(--unit))}.awards-2024 .year{color:var(--muted)}.award-brands{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;height:calc(87.058 * var(--unit))}.dprofile-logo{width:calc(312.972 * var(--unit));height:auto;display:block}.medals{width:calc(201.089 * var(--unit));height:auto;display:block}.dprofile-award p{color:var(--muted);line-height:calc(32 * var(--unit));margin-top:calc(19.023 * var(--unit));letter-spacing:calc(-.217 * var(--unit))}.best-award{margin-top:calc(45 * var(--unit))}.best-award .award-brands{width:calc(454.346 * var(--unit))}.orange-medal{width:calc(53.442 * var(--unit));height:auto;display:block}.best-award p{font-size:calc(27.206 * var(--unit));line-height:calc(32 * var(--unit));white-space:nowrap}.tools{margin-top:calc(148 * var(--unit))}.tools h2{font-size:inherit;line-height:inherit;letter-spacing:0}.tools p{color:var(--muted);margin-top:calc(27 * var(--unit));max-width:calc(530 * var(--unit))}.experience{min-width:0}.job-header{display:flex;justify-content:space-between;gap:20px;border-bottom:calc(2 * var(--unit)) solid #dedede;padding-bottom:calc(26 * var(--unit));align-items:flex-start;line-height:calc(29 * var(--unit))}.job-header h2{font-size:inherit}.job-header>p{width:calc(203 * var(--unit));flex-shrink:0}.job-details{color:var(--muted);padding-top:calc(25 * var(--unit))}.role{line-height:calc(43 * var(--unit))}.disciplines{margin-left:calc(143.441 * var(--unit));margin-top:calc(22 * var(--unit));line-height:calc(32 * var(--unit))}.maryco{margin-top:calc(25 * var(--unit))}.maryco .job-header{line-height:calc(32 * var(--unit));padding-bottom:calc(25 * var(--unit))}.maryco .role{line-height:calc(32 * var(--unit))}.maryco .disciplines{margin-top:calc(22 * var(--unit))}.employment{padding-bottom:calc(56.687 * var(--unit));border-bottom:calc(2 * var(--unit)) solid #dedede}.practice{padding-top:calc(56.745 * var(--unit));display:flex;flex-direction:column;gap:calc(40 * var(--unit));color:var(--muted)}.practice p:last-child{font-size:calc(32 * var(--unit));letter-spacing:calc(-.64 * var(--unit))}.footer{height:calc(95 * var(--unit));min-height:72px;padding:calc(28 * var(--unit)) calc(44 * var(--unit));background:#000;color:#f7f7f5;display:flex;align-items:center;justify-content:space-between;font-size:calc(15 * var(--unit));line-height:17px;letter-spacing:calc(-.3 * var(--unit))}.local-time{display:flex;align-items:center;gap:calc(13 * var(--unit))}.local-time time{font-variant-numeric:tabular-nums;min-width:8ch}
@media(min-width:1800px){.resume{font-size:37.5px;line-height:40px}.practice p:last-child{font-size:40px}}
@media(max-width:760px){:root{--unit:calc(100vw / 760)}.hero{aspect-ratio:auto;height:100svh;min-height:540px;max-height:900px}.hero-photo{object-position:48% center}.brand{width:84%;top:46.5%}.navigation{bottom:34px;gap:26px;font-size:26px;letter-spacing:-1.3px}.works{width:96px}.contact{width:115px}.nav-trigger{gap:13px;min-height:40px}.nav-trigger:before{width:5px;height:5px}.nav-links{font-size:21px;letter-spacing:-1px;line-height:1.2;gap:12px;padding-bottom:12px}.resume{display:flex;flex-direction:column;padding:65px 24px 72px;gap:76px;font-size:24px;line-height:27px;letter-spacing:-.48px}.year{font-size:clamp(140px,34vw,240px);line-height:.78;height:auto;letter-spacing:-.02em;margin-bottom:40px;transform:none}.award-row{gap:20px;min-height:70px;font-size:21px;line-height:25px}.award-icon{width:68px}.award-icon.silver{width:70px}.award-row p,.silver-row p{max-width:none;line-height:25px}.silver-row{margin-top:30px;gap:18px}.awards-2024{margin-top:80px}.award-brands{height:auto;gap:12px}.dprofile-logo{width:52%;max-width:313px}.medals{width:34%;max-width:201px}.dprofile-award p{line-height:25px;font-size:21px;margin-top:18px}.best-award{margin-top:32px}.best-award .award-brands{width:76%}.best-award .dprofile-logo{width:69%}.orange-medal{width:38px}.best-award p{font-size:20px;line-height:25px;white-space:normal}.tools{margin-top:65px}.tools p{margin-top:22px;max-width:none;font-size:21px;line-height:26px}.job-header{gap:15px;padding-bottom:24px;border-width:1px;line-height:28px}.job-header>p{width:auto;font-size:21px}.job-details{padding-top:23px}.role{line-height:30px}.disciplines{margin-left:20%;margin-top:22px;line-height:27px;font-size:23px}.maryco{margin-top:30px}.maryco .job-header{line-height:27px;padding-bottom:24px}.maryco .role{line-height:30px}.maryco .disciplines{margin-top:22px}.employment{padding-bottom:40px;border-width:1px}.practice{padding-top:40px;gap:32px;line-height:27px}.practice p:last-child{font-size:24px;letter-spacing:-.48px}.footer{height:auto;min-height:95px;padding:28px 24px;font-size:12px;letter-spacing:-.24px;gap:24px}.local-time{gap:8px}}
@media(max-width:370px){.footer{align-items:flex-start;flex-direction:column;gap:14px}.resume{padding-inline:18px}.nav-links{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
/* Move only the photograph; the surrounding header clips its overscan. */
.award-count-artwork{position:relative;flex-shrink:0}
.award-count-artwork>img{display:block;width:100%;height:auto}
.award-counter{position:absolute;top:0;height:28%;background:var(--paper);color:#000;pointer-events:none;font-family:Arial,Helvetica,sans-serif;font-size:calc(18 * var(--unit));font-style:normal;font-weight:400;font-synthesis:none;line-height:1;letter-spacing:0}
.award-counter>span{position:absolute;top:-.14em;left:0}
.count-mk{left:23.821%;width:2.482%}
.count-gr{left:57.816%;width:5.211%}
.count-br{left:95.285%;width:4.715%}
.count-dp{left:90.654%;width:9.346%}
@media(max-width:760px){.award-counter{font-size:14px}}
.hero{overflow:hidden}
.hero-photo{filter:brightness(1);transition:filter .55s ease}
.hero:has(.nav-item.is-open) .hero-photo{filter:brightness(.5)}
.parallax-enabled .hero-photo{transform:translate3d(var(--photo-x,0px),var(--photo-y,0px),0) scale(1.055);will-change:transform}

/* Desktop composition measured from the supplied 1440 x 2576 Resume.pdf. */
@media(min-width:761px){
  .resume{font-size:calc(30 * var(--unit));line-height:calc(32 * var(--unit))}
  .reference-line{display:block;white-space:nowrap}
  .recognition{display:grid;grid-template-rows:calc(606.059 * var(--unit)) calc(715.16 * var(--unit)) auto;align-content:start}
  .year{line-height:calc(186.018 * var(--unit));transform:none}
  .award-row{height:calc(87.058 * var(--unit))}
  .silver-row{height:auto;min-height:calc(108 * var(--unit));align-items:flex-start}
  .silver-row p{line-height:calc(36 * var(--unit))}
  .awards-2024,.tools{margin-top:0}
  .award-brands{justify-content:flex-start;gap:calc(88.938 * var(--unit))}
  .dprofile-logo{flex-shrink:0}
  .dprofile-award p{line-height:calc(36 * var(--unit))}
  .best-award{margin-top:calc(31 * var(--unit))}
  .best-award .award-brands{width:auto}
  .best-award p{line-height:calc(32.647 * var(--unit))}
  .tools p{max-width:none}
  .job-header{padding-bottom:calc(23 * var(--unit))}
  .freelance .job-header>p{line-height:calc(29 * var(--unit));margin-top:0}
  .maryco .job-header{padding-bottom:calc(23 * var(--unit))}
  .maryco .disciplines{margin-left:calc(142.481 * var(--unit))}
  .employment{padding-bottom:calc(54.687 * var(--unit))}
  .practice{padding-top:calc(58.745 * var(--unit))}
  .practice p:last-child{font-size:calc(32 * var(--unit))}
}

/* Date widths follow their text; only explicit line breaks split a period. */
.job-header>p{width:max-content;white-space:nowrap;flex-shrink:0}

/* Reveal submenu links horizontally, outward from each trigger. */
.nav-links{
  top:0;bottom:auto;height:100%;width:max-content;
  flex-direction:row;align-items:center;gap:calc(10 * var(--unit));
  padding:0;line-height:1.21;opacity:1;transform:none;z-index:1;
  transition:visibility 0s .48s;
}
.works .nav-links{left:auto;right:100%;padding-right:calc(20 * var(--unit));--reveal-x:14px}
.contact .nav-links{left:100%;right:auto;padding-left:calc(18 * var(--unit));--reveal-x:-14px}
.nav-item.is-open .nav-links{transition-delay:0s}
.nav-links a{
  --link-order:0;--reveal-y:0px;
  margin:0;opacity:0;transform:translate3d(var(--reveal-x),var(--reveal-y),0);
  transition:color .25s,opacity .32s ease,transform .48s cubic-bezier(.2,.7,.2,1);
  transition-delay:0s;
}
.works .nav-links a:first-child{--link-order:1}
.works .nav-links a:last-child{--link-order:0}
.contact .nav-links a:nth-child(2){--link-order:1}
.contact .nav-links a:nth-child(3){--link-order:2}
.nav-item.is-open .nav-links a{
  opacity:1;transform:translate3d(0,0,0);
  transition-delay:0s,calc(var(--link-order) * 80ms),calc(var(--link-order) * 80ms);
}
@media(max-width:760px){
  .nav-links{
    top:auto;bottom:100%;height:auto;max-width:calc(100vw - 32px);
    gap:12px;padding-bottom:14px;font-size:18px;line-height:1.25;letter-spacing:-.9px;
  }
  .works .nav-links{left:0;right:auto;padding-right:0;--reveal-x:0px}
  .contact .nav-links{left:auto;right:0;padding-left:0;--reveal-x:0px}
  .nav-links a{--reveal-y:8px}
}
@media(prefers-reduced-motion:reduce){
  .parallax-enabled .hero-photo{transform:none;will-change:auto}
  .nav-links a{transform:none}
}
