:root{--paper:#f1f1ee;--ink:#303733;--muted:#69706b;--line:#d2d6d0;--accent:#51705a;--white:#fafbf8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Century Gothic',Arial,sans-serif;font-size:16px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #739a7b;outline-offset:5px}button{border:0;background:transparent}.study{background:#e0e5de;color:#4e6050;padding:8px 4%;font-size:10px;letter-spacing:.14em;display:flex;justify-content:space-between}.study span{letter-spacing:.04em}.shell{max-width:1264px;padding:0 56px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:34px 0 30px;gap:24px}.header-right{text-align:right}.practice{font-size:10px;letter-spacing:.16em;margin:0 0 25px;color:var(--muted)}.practice span{padding:0 10px;color:#a0a99f}nav{display:flex;align-items:center;gap:32px;font-size:13px}nav>a,nav button{padding:8px 0}nav button span{margin-left:6px;color:var(--muted)}.navgroup{position:relative}nav .active{color:var(--accent);box-shadow:0 1px var(--accent)}.dropdown{display:none;position:absolute;top:100%;left:-20px;min-width:210px;padding:12px 0;background:var(--white);box-shadow:0 8px 30px #26362918;z-index:10;border:1px solid var(--line);text-align:left}.dropdown a{display:block;padding:8px 20px;font-size:13px}.dropdown a:hover{background:#e8ede5}.navgroup.open .dropdown{display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;line-height:1.15}h1{font-size:clamp(32px,4.6vw,58px);letter-spacing:-.045em;margin-bottom:24px}h2{font-size:32px;letter-spacing:-.03em}h3{font-size:22px;letter-spacing:-.02em}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.hero{position:relative;background:#d9ded7}.hero img{display:block;width:100%;aspect-ratio:2/1;object-fit:contain}.slidebar{display:flex;justify-content:space-between;align-items:center;padding:20px 0 25px;border-bottom:1px solid var(--line);gap:15px}.slidebar a{font-size:15px}.slidebar a:after{content:' ↗';color:var(--accent)}.slide-controls{display:flex;align-items:center;gap:14px;flex-shrink:0}.slide-controls button{padding:5px 8px;line-height:1.2}.slide-count{font-size:11px;letter-spacing:.1em;color:var(--muted);font-variant-numeric:tabular-nums}.dots{display:flex;gap:7px}.dots button{padding:0;width:6px;height:6px;border-radius:50%;background:#b3bbb0}.dots button[aria-pressed=true]{background:var(--accent)}.home-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;padding:52px 0 48px}.home-intro h1{font-size:clamp(30px,3.2vw,43px);max-width:500px;margin-bottom:0}.home-intro p{font-size:16px;color:var(--muted);margin-bottom:20px}.textlink{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:5px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0 40px;font-size:11px;color:var(--muted)}footer p{margin:0}footer span{display:block}.pagehead{border-top:1px solid var(--line);padding-top:34px;margin-bottom:32px}.pagehead p{max-width:720px;color:var(--muted)}.subnav{display:flex;gap:25px;flex-wrap:wrap;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:40px}.subnav .selected{color:var(--accent);font-weight:bold}.profile{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;padding-bottom:60px}.prose{max-width:720px}.prose p{color:#586159;line-height:1.85}.prose .lead{font-size:23px;color:var(--ink);line-height:1.5}.profile figure{margin:0}.profile img{width:100%;max-height:480px;object-fit:contain;background:#e5e7e1}.caption{font-size:11px;color:var(--muted);margin-top:12px}.services{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;margin-bottom:40px}.service{padding:28px 0;border-top:1px solid var(--line)}.service h2{font-size:26px;margin:0 0 16px}.service p{color:var(--muted);font-size:15px}.draft-note{border-left:2px solid #9da99b;padding:14px 20px;background:#e7ebe3;font-size:13px;color:#596653;margin:25px 0 40px}.draft-note p:last-child{margin-bottom:0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 35px}.filters a{font-size:12px;border:1px solid var(--line);padding:8px 19px;border-radius:1px}.filters a.selected{background:var(--ink);border-color:var(--ink);color:white}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 25px;padding-bottom:45px}.project-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#e1e4df;transition:filter .2s}.project-card:hover img{filter:brightness(.9)}.project-card .eyebrow{margin:16px 0 8px;font-size:9px}.project-card h2{font-size:21px;margin-bottom:7px;line-height:1.25}.project-card p{font-size:12px;color:var(--muted);margin:0}.project-top{display:grid;grid-template-columns:1fr 250px;gap:60px;margin-bottom:35px}.project-top p{font-size:19px;line-height:1.6;color:var(--muted);max-width:720px}.facts{font-size:12px;border-top:1px solid var(--line);padding-top:16px}.facts dt{text-transform:uppercase;font-size:9px;letter-spacing:.14em;color:var(--muted)}.facts dd{margin:5px 0 20px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:40px}.gallery button{background:#e3e6df;display:flex;align-items:center;justify-content:center;padding:14px;min-height:280px}.gallery button:first-child{grid-column:1/-1;max-height:650px}.gallery img{max-width:100%;width:auto;max-height:570px;display:block;object-fit:contain}.gallery button:not(:first-child) img{max-height:380px}.archive-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:30px 0 45px}.archive-details summary{cursor:pointer;font-size:13px}.archive-details>div{padding-top:25px;max-width:740px}.archive-details h3{font-size:20px;margin-top:25px}.archive-details p{font-size:14px;color:var(--muted)}.reading-list{margin:10px 0 55px}.reading-item{padding:25px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:180px 1fr 25px;gap:28px}.reading-item h2{font-size:25px;margin:0 0 14px}.reading-item p{font-size:14px;color:var(--muted);max-width:650px;margin-bottom:10px}.reading-item .eyebrow{font-size:10px}.client-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:35px 60px;margin:30px 0 50px}.client-groups h2{font-size:24px}.client-groups ul{padding:0;list-style:none;color:var(--muted);font-size:14px;line-height:2}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:50px}blockquote{margin:0;border-top:1px solid var(--line);padding-top:25px}blockquote p{font-size:22px;line-height:1.5}blockquote cite{font-style:normal;font-size:12px;color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:85px}.contact p{font-size:18px;line-height:1.8}.contact .eyebrow{font-size:10px}.contact .biglink{font-size:clamp(23px,3vw,38px);letter-spacing:-.03em}.contact address{font-style:normal;font-size:17px;color:var(--muted)}dialog{border:0;background:#f1f1ee;padding:50px 25px 15px;max-width:95vw;max-height:95vh}dialog::backdrop{background:#131d17dd}dialog img{display:block;max-width:85vw;max-height:75vh;object-fit:contain;margin:auto}dialog p{font-size:12px;margin:10px 0 0;color:var(--muted)}.close{position:absolute;top:10px;right:15px;font-size:13px}.skip{position:absolute;left:10px;top:-70px;background:white;padding:10px;z-index:50}.skip:focus{top:10px}.back{display:inline-block;font-size:12px;margin-bottom:22px;color:var(--muted)}@media(max-width:800px){.shell{padding:0 25px}header{align-items:flex-start;padding-top:25px}.practice{font-size:8px;letter-spacing:.06em;margin-bottom:12px}.practice span{padding:0 3px}nav{gap:20px;flex-wrap:wrap;justify-content:flex-end;font-size:12px}.home-intro{gap:30px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile{gap:35px}.project-top{grid-template-columns:1fr 190px;gap:30px}.dropdown{left:auto;right:-15px}.contact{gap:35px}.gallery button{min-height:200px}}@media(max-width:540px){.shell{padding:0 20px}.study{font-size:8px;padding:7px 20px}.study span{font-size:9px;letter-spacing:0}header{gap:18px;padding-bottom:25px}.practice{max-width:220px;line-height:1.7}nav{gap:7px 15px;font-size:11px}nav button{font-size:11px}.slidebar{flex-wrap:wrap;gap:15px}.slidebar a{font-size:13px}.slide-controls{width:100%;justify-content:flex-end;gap:13px}.slide-controls .dots{margin-right:auto}.home-intro{grid-template-columns:1fr;padding:30px 0;gap:20px}.profile,.services,.project-top,.client-groups,.quotes,.contact{grid-template-columns:1fr;gap:25px}.profile figure{max-width:280px}.project-grid{gap:28px 16px}.project-card h2{font-size:17px}.project-card .eyebrow{font-size:8px}.project-card p{font-size:10px}.pagehead{padding-top:25px}.subnav{gap:14px 20px;margin-bottom:28px}.gallery{grid-template-columns:1fr;gap:15px}.gallery button:first-child{grid-column:auto}.gallery button{min-height:180px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:15px}.reading-item{grid-template-columns:1fr 20px;gap:10px}.reading-item>.eyebrow{grid-column:1/-1;margin-bottom:6px}.reading-item h2{font-size:22px}.contact{margin-bottom:50px}footer{flex-wrap:wrap;gap:15px}footer p{display:none}.dots{gap:8px}.filters a{padding:6px 13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.hero img{height:auto}

.principal figure img{max-height:620px}.digital-media{border-top:1px solid var(--line);padding:32px 0 50px}.digital-media h2{margin-bottom:25px}.social-links{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.social-links a{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:14px 0;font-size:16px}.social-links span{color:var(--accent)}@media(max-width:540px){.social-links{grid-template-columns:1fr;gap:5px}.principal figure{max-width:320px}}

.project-image-pending{width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#e3e6df;border:1px solid var(--line);color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.detail-image-pending{grid-column:1/-1;aspect-ratio:2/1}.project-top .caption{font-size:12px;line-height:1.6}.project-card .eyebrow{line-height:1.6}

.project-top > div > p:last-child { margin-bottom: 0; }

@media (max-width: 540px) {
  header { position: relative; }
  .header-right .navgroup { position: static; }
  .header-right .dropdown {
    top: calc(100% - 12px);
    right: 0;
    width: min(100%, 250px);
    min-width: 0;
  }
  .header-right nav > a, .header-right nav button { padding-block: 10px; }
  .dropdown a { padding-block: 12px; }
  .slide-controls { flex-wrap: wrap; gap: 4px 10px; }
  .slide-controls .dots { flex: 1 0 100%; justify-content: center; gap: 0; }
  .slide-controls .dots button {
    width: 30px;
    height: 34px;
    background: radial-gradient(circle closest-side, #b3bbb0 4px, transparent 4.5px);
  }
  .slide-controls .dots button[aria-pressed=true] {
    background: radial-gradient(circle closest-side, var(--accent) 4px, transparent 4.5px);
  }
  .slide-controls > button { min-width: 40px; min-height: 40px; }
  .filters a { min-height: 36px; display: inline-flex; align-items: center; }
  .project-top p { font-size: 17px; }
  .facts { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); margin: 0; }
  .gallery button { min-height: 0; padding: 8px; }
  .gallery img { width: 100%; height: auto; }
  dialog { padding-inline: 12px; }
  dialog img { max-width: min(100%, 85vw); }
}

.brand img { display: block; width: 124px; height: 124px; }
@media (max-width: 800px) {
  .brand img { width: 85px; height: 85px; }
}
@media (max-width: 540px) {
  .brand img { width: 78px; height: 78px; }
}
