:root{--paper:#f4efe4;--ink:#18362c;--red:#d94b35;--yellow:#efbd3f;--line:rgba(24,54,44,.23)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:20;background:var(--ink);color:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line)}.wordmark{font:600 1.55rem/1 Fraunces,serif;text-decoration:none}.wordmark span{color:var(--red)}nav{display:flex;gap:2.2rem}nav a,footer a{text-decoration:none;font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;font-weight:600}nav a:hover,nav a:focus-visible{color:var(--red)}.hero{min-height:calc(100vh - 90px);display:grid;grid-template-columns:1fr minmax(320px,43vw);position:relative;align-items:center;padding:clamp(3rem,7vw,7rem) 8vw;overflow:hidden}.hero-copy{position:relative;z-index:2;margin-right:-6vw}.eyebrow,.section-number,.project-type{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:600}.eyebrow span{color:var(--red);margin-right:.9rem}h1,h2,h3{font-family:Fraunces,serif;font-weight:500;margin:0;letter-spacing:-.045em}h1{font-size:clamp(5rem,11vw,10.5rem);line-height:.72;margin:clamp(2rem,5vh,4rem) 0}h1 em,h2 em{color:var(--red);font-weight:500}.intro{max-width:29rem;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.55}.text-link{display:inline-flex;gap:.8rem;align-items:center;margin-top:1.5rem;font-size:.77rem;font-weight:600;text-transform:uppercase;letter-spacing:.13em;text-decoration:none;border-bottom:1px solid;padding-bottom:.4rem}.text-link span{font-size:1.2rem;color:var(--red)}.portrait-wrap{margin:0;position:relative}.portrait-frame{aspect-ratio:3/4;overflow:hidden;border-radius:50% 50% 2px 2px;outline:1px solid var(--line);outline-offset:10px}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.88) contrast(.98)}figcaption{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;display:flex;justify-content:space-between;margin-top:1.3rem}figcaption span{color:var(--red)}.side-note{position:absolute;right:2.4vw;top:50%;margin:0;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.16em;font-size:.59rem}.side-note span{color:var(--red);padding:.6rem 0}.about{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(5rem,11vw,10rem) 8vw;display:grid;grid-template-columns:1fr 2.4fr;gap:4rem;background:var(--ink);color:var(--paper)}.about .section-number{color:var(--yellow)}h2{font-size:clamp(3.7rem,7.5vw,7.5rem);line-height:.92;margin-bottom:3rem}.about div p{max-width:43rem;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.65}.about div p:last-child{opacity:.68}.projects{padding:clamp(5rem,9vw,9rem) 5vw}.projects-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:4rem}.projects-heading h2{font-size:clamp(4rem,8vw,8rem)}.project-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:1.2rem}.project-card{min-height:600px;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--ink);text-decoration:none;transition:transform .25s,box-shadow .25s}.featured{background:var(--red);color:var(--paper)}a.featured:hover,a.featured:focus-visible{transform:translateY(-6px);box-shadow:0 12px 0 var(--yellow)}.upcoming{background:#e7dfce}.project-topline{display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}.plate{margin:auto;width:min(70%,340px);aspect-ratio:1;border:1px solid currentColor;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:500 clamp(2rem,4vw,4rem)/.9 "Fraunces",serif;box-shadow:inset 0 0 0 14px var(--red),inset 0 0 0 15px currentColor;transform:rotate(-6deg)}.plate i{font-size:.48em;color:var(--yellow)}.project-copy{display:flex;justify-content:space-between;align-items:end;border-top:1px solid currentColor;padding-top:1.2rem;gap:2rem}.project-copy h3{font-size:clamp(2rem,3vw,3.5rem)}.project-copy p:last-child{font-size:.76rem;line-height:1.5;text-align:right}.project-type{margin:0 0 .6rem}.place-setting{margin:auto;position:relative;width:180px;height:180px;border:1px solid var(--ink);border-radius:50%}.place-setting:before,.place-setting:after{content:"";position:absolute;top:-1.5rem;height:calc(100% + 3rem);width:1px;background:var(--ink)}.place-setting:before{left:-2.5rem}.place-setting:after{right:-2.5rem}.place-setting span{position:absolute;width:5px;height:28px;background:var(--red);right:-2.7rem;top:-1.7rem}.place-setting i{position:absolute;width:40px;height:1px;background:var(--ink);bottom:-2rem;left:70px}footer{background:var(--yellow);padding:4rem 5vw;display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--ink)}footer p{font-size:.72rem;line-height:1.6;text-transform:uppercase;letter-spacing:.12em;margin:0}.inverse span{color:var(--ink)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.featured:focus-visible{outline-color:var(--ink)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-card{transition:none}}@media(max-width:760px){.site-header{height:72px}.hero{grid-template-columns:1fr;padding:4rem 7vw 5rem}.hero-copy{margin:0}.portrait-wrap{margin:4rem 1rem 0}.side-note{display:none}h1{font-size:clamp(4.8rem,24vw,8rem)}.about{grid-template-columns:1fr;gap:2rem}.projects-heading{display:block}.project-grid{grid-template-columns:1fr}.project-card{min-height:520px}.project-copy{display:block}.project-copy p:last-child{text-align:left}.upcoming{min-height:450px}footer{align-items:start;gap:2rem;flex-wrap:wrap}}@media(max-width:430px){nav{gap:1rem}.hero{padding-left:5vw;padding-right:5vw}.portrait-frame{outline-offset:6px}.projects{padding-left:4vw;padding-right:4vw}.project-card{padding:1.1rem}.project-copy h3{font-size:2.25rem}footer{display:grid;grid-template-columns:1fr 1fr}footer p{grid-column:1/-1;grid-row:2}}.contact{display:grid;grid-template-columns:1fr 2.4fr;gap:4rem;padding:clamp(5rem,10vw,9rem) 8vw;border-top:1px solid var(--ink);background:var(--red);color:var(--paper)}.contact .section-number{color:var(--yellow)}.contact h2{max-width:900px;margin-bottom:2rem}.contact h2 em{color:var(--yellow)}.contact-copy>p{max-width:38rem;margin:0 0 2rem;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.65}.contact-email{display:inline-flex;align-items:center;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid currentColor;font-family:Fraunces,serif;font-size:clamp(1.25rem,2.5vw,2.25rem);text-decoration:none}.contact-email span{color:var(--yellow);transition:transform .2s ease}.contact-email:hover span,.contact-email:focus-visible span{transform:translate(4px,-4px)}@media(max-width:760px){.contact{grid-template-columns:1fr;gap:2rem}}@media(max-width:430px){.site-header nav{gap:.75rem}.site-header nav a{font-size:.66rem;letter-spacing:.1em}.contact-email{font-size:1.05rem}}.cooking{padding:clamp(5rem,10vw,10rem) 5vw;border-bottom:1px solid var(--line);overflow:hidden}.cooking-heading{display:grid;grid-template-columns:1fr 2.4fr;gap:4rem;align-items:start;margin-bottom:clamp(3rem,7vw,7rem)}.cooking-heading h2{margin-bottom:1.6rem}.cooking-intro{max-width:42rem;margin:0;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65}.cooking-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,5vw,5rem) 1.2rem;align-items:start}.cooking-item{margin:0}.cooking-item--lead{grid-row:span 2}.cooking-photo{position:relative;overflow:hidden;background:#d9d0be}.cooking-photo:after{content:"";position:absolute;inset:0;border:1px solid rgba(244,239,228,.32);pointer-events:none}.cooking-item--lead .cooking-photo{aspect-ratio:4 / 5}.cooking-item:not(.cooking-item--lead) .cooking-photo{aspect-ratio:3 / 2}.cooking-photo img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.78) contrast(1.04);transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s ease}.cooking-item--lead .cooking-photo img{object-position:center center}.cooking-item:hover .cooking-photo img{transform:scale(1.018);filter:saturate(.92) contrast(1.02)}.cooking-item figcaption{display:grid;grid-template-columns:minmax(10rem,.65fr) 1fr;gap:.6rem 1.5rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--line);font-size:initial;text-transform:none;letter-spacing:normal}.cooking-item figcaption span{grid-row:span 2;color:var(--red);font-size:.65rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.cooking-item figcaption strong{font:500 clamp(1.25rem,2vw,2rem)/1.1 "Fraunces",serif;letter-spacing:-.025em}.cooking-item figcaption p{max-width:35rem;margin:0;font-size:.86rem;line-height:1.55;opacity:.72}@media(max-width:760px){.cooking-heading,.cooking-gallery{grid-template-columns:1fr}.cooking-heading{gap:2rem}.cooking-item--lead{grid-row:auto}.cooking-item--lead .cooking-photo,.cooking-item:not(.cooking-item--lead) .cooking-photo{aspect-ratio:4 / 3}}@media(max-width:520px){.site-header{padding-inline:4vw}.site-header nav{gap:.7rem}.site-header nav a{font-size:.58rem;letter-spacing:.08em}.cooking{padding-inline:4vw}.cooking-item figcaption{grid-template-columns:1fr}.cooking-item figcaption span{grid-row:auto}}@media(prefers-reduced-motion:reduce){.cooking-photo img{transition:none}}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-logo{display:flex;align-items:center;justify-content:center;margin:auto}.project-logo--food{width:min(90%,460px);aspect-ratio:1;overflow:hidden;border-radius:50%;background:transparent;box-shadow:none}.project-logo--food img{width:98%;height:98%;display:block;object-fit:contain;object-position:center;transform:translate(1%)}.meander-card{background:#dce7da;color:#183b2d}a.meander-card:hover,a.meander-card:focus-visible{transform:translateY(-6px);box-shadow:0 12px 0 var(--yellow)}.project-logo--meander{flex-direction:column;gap:1rem;font:500 clamp(3.8rem,7vw,7rem)/.9 "Fraunces",serif;letter-spacing:-.055em}.project-logo--meander svg{width:clamp(3rem,5vw,5rem);height:auto;color:#5f835f}.project-copy>p:last-child{max-width:17rem}.project-impact{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin:1.2rem 0 0;padding:0;list-style:none}.project-impact li{display:grid;gap:.15rem}.project-impact strong{font:500 1.15rem/1 Fraunces,serif}.project-impact span{font-size:.56rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.experience{padding:clamp(5rem,10vw,9rem) 5vw;background:var(--ink);color:var(--paper)}.experience-heading{display:grid;grid-template-columns:1fr 2.4fr;gap:4rem;margin-bottom:clamp(3rem,7vw,7rem)}.experience-heading .section-number{color:var(--yellow)}.experience-heading h2{margin-bottom:1.5rem}.experience-heading h2 em{color:var(--yellow)}.experience-heading>div>p{max-width:42rem;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6}.experience-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(244,239,228,.3)}.experience-item{display:grid;grid-template-columns:3rem 1fr;gap:1.5rem;min-height:290px;padding:2rem;border-right:1px solid rgba(244,239,228,.3);border-bottom:1px solid rgba(244,239,228,.3)}.experience-item:nth-child(2n){border-right:0}.experience-item--featured{background:var(--red)}.experience-index,.experience-type{font-size:.64rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.experience-index,.experience-type{color:var(--yellow)}.experience-item h3{margin:.65rem 0 1rem;font-size:clamp(1.7rem,2.6vw,2.8rem);letter-spacing:-.035em}.experience-item>div>p:not(.experience-type){max-width:34rem;font-size:.92rem;line-height:1.65;opacity:.78}.experience-item a{display:inline-block;margin-top:1rem;padding-bottom:.3rem;border-bottom:1px solid currentColor;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}.experience-roles{margin:1.25rem 0 0;padding:0;list-style:none}.experience-roles li{display:grid;gap:.25rem;padding:.8rem 0;border-top:1px solid rgba(244,239,228,.2)}.experience-roles strong{font:500 1.05rem/1.2 Fraunces,serif}.experience-roles span{font-size:.76rem;opacity:.68}.recognition{padding:clamp(5rem,10vw,9rem) 5vw;border-top:1px solid var(--line);background:#e7dfce}.recognition-heading{display:grid;grid-template-columns:1fr 2.4fr;gap:4rem;margin-bottom:clamp(3rem,6vw,6rem)}.recognition-heading h2{max-width:900px;margin-bottom:1.5rem}.recognition-heading>div>p{max-width:38rem;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6}.recognition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}.recognition-group{padding:1.5rem clamp(1rem,2vw,2rem) 0;border-right:1px solid var(--line)}.recognition-group:first-child{padding-left:0}.recognition-group:last-child{border-right:0;padding-right:0}.recognition-kicker{margin:0 0 2rem;color:var(--red);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.recognition-group ul{margin:0;padding:0;list-style:none}.recognition-group li{display:grid;grid-template-columns:3.2rem 1fr;gap:.8rem;padding:1rem 0;border-top:1px solid var(--line);font-size:.88rem;line-height:1.45}.recognition-group time{color:var(--red);font:500 .82rem/1.45 Fraunces,serif}.recognition-group a{text-underline-offset:.2em}@media(max-width:760px){.project-grid{grid-template-columns:1fr}.project-logo--food{width:min(88%,410px)}.recognition-heading,.recognition-grid,.experience-heading,.experience-list{grid-template-columns:1fr}.experience-heading{gap:2rem}.experience-item,.experience-item:nth-child(2n){border-right:0}.recognition-heading{gap:2rem}.recognition-group,.recognition-group:first-child,.recognition-group:last-child{padding:2rem 0 0;border-right:0}}
