:root{--ink:#292a27;--ivory:#e8e1d4;--paper:#f2eee5;--olive:#62644d;--brass:#a88952;--line:rgba(41,42,39,.2);--type:"Montserrat",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--type)}.nav{position:fixed;z-index:20;top:0;left:0;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 3.5vw;color:var(--olive);background:var(--paper);border-bottom:1px solid var(--line)}.nav a{color:inherit;text-decoration:none}.wordmark{font-weight:800;letter-spacing:.08em}.nav nav{display:flex;gap:2rem;text-transform:uppercase;font-size:12px;letter-spacing:.14em}.menu{display:none;background:none;border:0;color:inherit}.hero{height:100svh;min-height:680px;position:relative;color:#fff;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.78)}.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.62))}.hero-copy{position:absolute;inset:0;padding:18vh 4vw 5vw;display:flex;flex-direction:column;justify-content:flex-end}.eyebrow,.section-no{text-transform:uppercase;letter-spacing:.18em;font-size:11px}.hero h1{font-family:var(--type);font-size:clamp(72px,12vw,180px);line-height:.78;letter-spacing:-.055em;font-weight:400;margin:.25em 0}.hero-bottom{display:flex;align-items:end;justify-content:space-between;border-top:1px solid rgba(255,255,255,.5);padding-top:18px}.hero-bottom p{font-size:clamp(20px,2.1vw,32px);margin:0}.button{display:inline-block;padding:15px 22px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:11px;border:1px solid}.light{color:#fff;border-color:#fff}.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.grid{display:grid;grid-template-columns:1fr 1fr}.intro{min-height:950px}.portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.intro-copy{padding:12vw 8vw;align-self:center}.intro h2,.partner h2,.projects h2,.contact-sheet h2,.contact h2{font-family:var(--type);font-weight:400;letter-spacing:-.04em;line-height:.98}.intro h2{font-size:clamp(42px,5vw,78px);margin:.5em 0}.lead{font-size:22px;line-height:1.5}.intro-copy p:not(.section-no):not(.lead){line-height:1.7;max-width:600px}.text-link,.cards a{color:inherit;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.proof{background:var(--olive);color:#fff;padding:70px 4vw;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;font-family:var(--type);font-size:clamp(24px,3vw,42px)}.proof span{font-family:var(--type);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.partner{padding:10vw 4vw}.partner>h2{font-size:clamp(52px,7.5vw,110px);max-width:1200px;margin:.4em 0 .8em}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.cards article{padding:35px 35px 35px 0;border-right:1px solid var(--line);min-height:330px}.cards article+article{padding-left:35px}.cards span{font-size:11px}.cards h3{font-family:var(--type);font-size:32px;font-weight:400}.cards p{line-height:1.6;max-width:400px}.food-statement{min-height:820px;display:grid;grid-template-columns:1.2fr .8fr;background:var(--olive);color:#fff}.food-statement img{width:100%;height:100%;object-fit:cover}.food-statement>div{padding:8vw 5vw;display:flex;flex-direction:column;justify-content:center}.food-statement blockquote{font-family:var(--type);font-size:clamp(44px,5vw,76px);line-height:1.05;margin:.5em 0}.food-statement>div>p:last-child{font-size:22px;line-height:1.5}.projects{padding:10vw 4vw}.project-head{display:flex;justify-content:space-between;align-items:end}.project-head h2{font-size:clamp(50px,7vw,100px);margin:.2em 0}.project-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:5vw;margin-top:4vw}.feature{position:relative;min-height:720px;color:#fff}.feature img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:brightness(.7)}.feature div{position:absolute;left:35px;bottom:35px}.feature h3{font-family:var(--type);font-size:70px;font-weight:400;margin:.1em 0}.feature p,.feature span{text-transform:uppercase;letter-spacing:.12em;font-size:11px}.project-list>div{padding:28px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.project-list b{font-family:var(--type);font-size:30px;font-weight:400}.project-list span{text-transform:uppercase;letter-spacing:.1em;font-size:10px}.media{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--ivory);min-height:900px}.media-image img{width:100%;height:100%;object-fit:cover}.media-copy{padding:9vw 6vw;display:flex;flex-direction:column;justify-content:center}.media-copy h2{font-family:var(--type);font-size:clamp(50px,6vw,90px);font-weight:400;line-height:.95;margin:.4em 0}.shows{line-height:2;text-transform:uppercase;letter-spacing:.14em;font-size:11px}.bigline{font-family:var(--type);font-size:28px;margin-top:70px}.bigline em{color:var(--ivory)}.sonoma{height:900px;position:relative;color:#fff}.sonoma img{width:100%;height:100%;object-fit:cover;filter:brightness(.58)}.sonoma>div{position:absolute;left:5vw;bottom:7vw;max-width:650px}.sonoma h2{font-family:var(--type);font-size:clamp(70px,10vw,150px);font-weight:400;line-height:.75;letter-spacing:-.06em;margin:.25em 0}.sonoma p:last-child{font-size:20px;line-height:1.5;max-width:550px}.contact-sheet{padding:10vw 4vw}.contact-sheet h2{font-size:clamp(50px,7vw,105px);max-width:1000px}.mosaic{display:grid;grid-template-columns:1.1fr .8fr 1fr .9fr;gap:12px;align-items:end}.mosaic img{width:100%;height:420px;object-fit:cover}.mosaic img:nth-child(2){height:520px}.mosaic img:nth-child(3){filter:grayscale(1);height:360px}.contact{background:var(--ivory);padding:10vw 12vw}.contact h2{font-size:clamp(65px,10vw,150px);margin:.3em 0}.contact>p:not(.section-no){font-size:22px}.contact form{max-width:850px;margin-top:60px}.contact label{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:10px;margin:20px 0}.contact input,.contact textarea,.contact select{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:14px 0;font:18px var(--type);border-radius:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:35px}.contact button{margin-top:25px}.thanks{font-size:14px!important}footer{background:var(--ink);color:#fff;padding:45px 4vw;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:20px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}footer a{color:#fff}@media(max-width:800px){.nav nav{display:none}.menu{display:block}.hero-copy{padding-left:20px;padding-right:20px}.hero h1{font-size:21vw}.hero-bottom{align-items:flex-start;gap:20px;flex-direction:column}.grid,.food-statement,.project-grid,.media{grid-template-columns:1fr}.intro{min-height:auto}.portrait{height:75vh}.intro-copy{padding:80px 24px}.proof{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.cards article,.cards article+article{padding:30px 0;border-right:0;border-bottom:1px solid var(--line);min-height:0}.partner{padding:90px 24px}.food-statement img{height:65vh}.food-statement>div{padding:70px 24px}.projects{padding:90px 24px}.project-head{display:block}.feature{min-height:600px}.media-image{height:70vh}.media-copy{padding:80px 24px}.sonoma{height:75vh}.sonoma>div{left:24px;bottom:50px}.contact-sheet{padding:90px 24px}.mosaic{grid-template-columns:1fr 1fr}.mosaic img,.mosaic img:nth-child(2),.mosaic img:nth-child(3){height:320px}.contact{padding:90px 24px}.form-row{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}.nav{padding:0 20px}}
.ps-tease{display:grid;grid-template-columns:1.1fr .9fr;background:var(--ivory);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ps-tease-copy{padding:9vw 7vw}.ps-tease h2,.ps-intro h2,.ps-leader-copy h2,.ps-principles h2,.ps-cta h2{font-family:var(--type);font-weight:400;letter-spacing:-.045em;line-height:.96}.ps-tease h2{font-size:clamp(50px,6.5vw,96px);margin:.45em 0}.ps-tease-copy>p:not(.section-no){font-size:18px;line-height:1.7;max-width:650px}.ps-tease-mark{background:var(--olive);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:7vw}.ps-tease-mark span,.ps-tease-mark strong{font-family:var(--type);font-size:clamp(58px,7vw,115px);font-weight:400;line-height:.78;letter-spacing:-.06em}.ps-tease-mark strong{font-style:italic}.ps-tease-mark small{margin-top:38px;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.ps-page main{padding-top:76px}.ps-hero{padding:9vw 4vw 5vw;min-height:720px;background:var(--olive);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.ps-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:11px}.ps-hero h1{font-family:var(--type);font-weight:400;font-size:clamp(86px,15vw,220px);line-height:.72;letter-spacing:-.075em;margin:.45em 0}.ps-hero h1 span{font-style:italic}.ps-hero-bottom{border-top:1px solid rgba(255,255,255,.45);padding-top:22px;display:flex;justify-content:space-between;gap:30px;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.ps-hero-bottom p{font-family:var(--type);text-transform:none;letter-spacing:0;font-size:24px;max-width:620px;margin:0}.ps-intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:10vw 6vw}.ps-intro h2{font-size:clamp(52px,7vw,105px);margin:.35em 0}.ps-body{align-self:end;max-width:680px}.ps-body p{line-height:1.7}.ps-body .lead{font-family:var(--type);font-size:28px;line-height:1.45}.ps-services{background:var(--ink);color:#fff;padding:9vw 5vw}.ps-service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:5vw;border-top:1px solid rgba(255,255,255,.3)}.ps-service-grid article{padding:35px 35px 15px 0;border-right:1px solid rgba(255,255,255,.2)}.ps-service-grid article+article{padding-left:35px}.ps-service-grid h3{font-family:var(--type);font-weight:400;font-size:38px}.ps-service-grid p{line-height:1.65;color:rgba(255,255,255,.8)}.ps-leadership{display:grid;grid-template-columns:1fr 1fr;min-height:900px}.ps-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.ps-leader-copy{padding:9vw 7vw;align-self:center}.ps-leader-copy h2{font-size:clamp(48px,5vw,82px)}.ps-leader-copy h2 em{font-size:.52em;font-weight:400}.ps-leader-copy p{line-height:1.7;max-width:600px}.ps-principles{padding:10vw 8vw;max-width:1500px}.ps-principles h2{font-size:clamp(58px,8vw,120px);max-width:1300px}.ps-principles>p:last-child{font-size:21px;line-height:1.65;max-width:820px}.ps-cta{background:var(--olive);color:#fff;padding:10vw 8vw}.ps-cta h2{font-size:clamp(70px,10vw,150px);margin:.35em 0}.ps-cta>p:not(.section-no){font-size:21px;max-width:650px;line-height:1.6;margin-bottom:35px}
@media(max-width:800px){.ps-tease,.ps-intro,.ps-leadership{grid-template-columns:1fr}.ps-tease-copy,.ps-tease-mark{padding:80px 24px}.ps-hero{padding:100px 24px 45px;min-height:680px}.ps-hero h1{font-size:22vw}.ps-hero-bottom{flex-direction:column}.ps-intro{padding:90px 24px}.ps-service-grid{grid-template-columns:1fr}.ps-services{padding:90px 24px}.ps-service-grid article,.ps-service-grid article+article{padding:30px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.ps-photo{height:70vh}.ps-leader-copy,.ps-principles,.ps-cta{padding:90px 24px}}

@media (max-width: 800px) {
  .hero h1 { font-size: 16vw; }
  .ps-hero h1 { font-size: 16vw; }
  .feature div { left: 24px; right: 24px; }
  .feature h3 { font-size: clamp(32px, 11vw, 64px); overflow-wrap: anywhere; }
  .nav:has(.menu[aria-expanded="true"]) nav {
    display: flex;
    position: absolute;
    top: 76px;
    left: 0;
    right: 0;
    padding: 28px 20px;
    background: var(--ink);
    color: white;
    flex-direction: column;
  }
}

.hero > img { object-position: 38% top; }

@media (min-width: 801px) {
  .hero { background: var(--ink); }
  .hero > img {
    display: block;
    width: 66%;
    margin-left: auto;
    object-position: 38% top;
  }
  .hero .shade {
    background:
      linear-gradient(90deg, var(--ink) 34%, rgba(41, 42, 39, .82) 40%, transparent 62%),
      linear-gradient(180deg, rgba(0, 0, 0, .1), rgba(0, 0, 0, .62));
  }
}

@media (max-width: 800px) {
  .hero > img { object-position: 28% top; }
}

@media (max-width: 380px) {
  .ps-tease { grid-template-columns: minmax(0, 1fr); }
  .ps-tease h2, .ps-principles h2 { font-size: 44px; }
  .contact h2, .ps-cta h2 { font-size: 54px; }
}

main section[id], #news { scroll-margin-top: 92px; }

.nav a:focus-visible, .nav a:hover,
.projects a:focus-visible, .projects a:hover,
.news a:focus-visible, .news a:hover {
  text-decoration: underline;
  text-underline-offset: .18em;
}

.hero h1, .feature h3, .sonoma h2 {
  color: var(--ivory);
  text-shadow: 0 2px 12px var(--ink), 0 0 2px var(--ink);
}

.partnerships {
  border-top: 1px solid var(--line);
  padding-top: clamp(28px, 4vw, 58px);
}

.partnerships h3, .news h3 {
  font: 400 clamp(30px, 4.5vw, 64px)/1.05 var(--type);
  letter-spacing: -.04em;
  margin: 0 0 .6em;
}

.partnership-list, .news-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.partnership-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 225px), 1fr));
  gap: .75rem 2rem;
}

.partnership-list li { padding: .7rem 0; border-bottom: 1px solid var(--line); }
.community-work { margin: 1.5rem 0 0; line-height: 1.55; }

.project-list a, .feature a, .news a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

.feature div {
  padding: 18px 24px;
  background: rgba(41, 42, 39, .92);
  max-width: calc(100% - 70px);
}

.news {
  grid-column: 1 / -1;
  padding: clamp(52px, 7vw, 100px) 6vw;
  color: var(--ink);
  background: var(--ivory);
}

.news-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 3rem;
}

.news-list li { border-top: 1px solid var(--line); padding: 1.25rem 0; }
.news-list span {
  display: block;
  margin-bottom: .45rem;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.news-list a { color: var(--olive); font: 400 clamp(20px, 2.2vw, 29px)/1.2 var(--type); }

@media (max-width: 800px) {
  .news-list { grid-template-columns: 1fr; }
  .feature div { max-width: none; padding: 18px; }
  .sonoma > div { right: 24px; }
}

@media (min-width: 801px) and (max-width: 1000px) {
  .nav nav { gap: 1rem; }
}

@font-face {
  font-family: Montserrat;
  src: url("assets/montserrat-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

.nav {
  background: var(--ink);
  color: var(--ivory);
  border-bottom-color: var(--brass);
}

.wordmark { flex: none; display: block; }
.wordmark img { display: block; width: 144px; height: auto; }
.nav nav { font-weight: 600; }
.menu { font: 600 14px var(--type); padding: 12px 8px; }

.hero-copy { color: var(--ivory); }
.hero h1 {
  font-size: inherit;
  width: min(100%, 735px);
  margin: 24px 0 30px;
}
.hero h1 img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 2px 9px rgba(0, 0, 0, .8));
}
.hero-bottom { border-top-color: var(--brass); }
.button.light { color: var(--ivory); border-color: var(--brass); }

h2, h3, .project-list b { overflow-wrap: anywhere; }
.feature h3 { font-size: clamp(32px, 6vw, 64px); }
.feature span { line-height: 1.5; }
.proof, .food-statement, .ps-tease-mark, .ps-hero, .ps-cta, footer {
  color: var(--ivory);
}

@media (max-width: 800px) {
  .wordmark img { width: 130px; }
  .hero h1 { width: min(80%, 295px); margin: 20px 0 26px; }
  .hero .shade {
    background: linear-gradient(180deg, rgba(41, 42, 39, .06) 30%, rgba(41, 42, 39, .9) 100%);
  }
  .sonoma h2 { font-size: clamp(50px, 12vw, 70px); line-height: .9; }
}
