@font-face{font-family:Montserrat;src:url('fonts/montserrat.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Bricolage;src:url('fonts/bricolage-grotesque.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--ink:#293b1d;--blue:#e3eef0;--teal:#376c77;--rose:#a46f6d;--honey:#e2a546;--cream:#fff8ed}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{margin:0;overflow-x:clip;background:#fff;color:var(--ink);font-family:Montserrat,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
button{font:inherit}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--teal);outline-offset:4px}
.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.7rem 1rem;background:#fff;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:20;background:var(--blue)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:1560px;margin:auto;padding:1.25rem clamp(1.25rem,5vw,5rem)}
.wordmark{font-family:Bricolage,Arial,sans-serif;font-size:clamp(1.6rem,2vw,2rem);font-weight:750;letter-spacing:-.06em;line-height:1;text-decoration:none;white-space:nowrap}
.wordmark-dot{color:var(--honey)}
.desktop-nav{display:flex;gap:1.5rem;align-items:center}
.desktop-nav a,.menu-button,.eyebrow,.hero-button,.filters button,.work-card small,.about-caption{font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.desktop-nav a{padding:.75rem 0;text-decoration:none}
.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--teal)}
.menu-button,.mobile-nav{display:none}
.content-wrap,.hero-inner{max-width:1400px;margin:auto}
.hero{position:relative;overflow-x:clip;padding:clamp(1rem,2.5vw,2rem) clamp(1.25rem,5vw,5rem) clamp(2.5rem,5vw,4.5rem);background:var(--blue)}
.hero:after{position:absolute;z-index:2;right:0;bottom:-23px;left:0;height:24px;background:radial-gradient(ellipse 50% 100% at 50% 0,var(--blue) 98%,transparent 100%) 0 0/120px 24px repeat-x;content:"";pointer-events:none}
.hero-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,5vw,5rem);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2.5rem);min-width:0}
h1,h2{margin:0;font-family:Bricolage,Arial,sans-serif}
h1{font-size:clamp(3.8rem,8.4vw,9.2rem);font-weight:750;line-height:.88;letter-spacing:-.055em}
h1 span{color:var(--rose)}
.hero-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;max-width:34rem;padding-top:clamp(1.1rem,2vw,2rem);border-top:1.5px solid var(--ink)}
.hero-bottom p{flex:1 1 14rem;margin:0;font-size:clamp(1rem,1.2vw,1.15rem);font-weight:500;line-height:1.6;text-wrap:pretty}
.hero-button{display:inline-flex;align-items:center;justify-content:center;gap:.85rem;min-height:48px;padding:1rem 1.35rem;border-radius:50px;background:var(--ink);color:var(--cream);text-decoration:none;white-space:nowrap;transition:background .2s}
.hero-button:hover{background:var(--teal)}
.hero-button span{font-size:1rem;line-height:1}
.hero-art{position:relative;justify-self:center;width:100%;max-width:31rem;aspect-ratio:1;min-width:0}
.hero-circle{position:absolute;top:8%;left:8%;width:84%;aspect-ratio:1;border-radius:50%;background:var(--honey)}
.hero-art img{position:absolute;top:18%;left:-4%;width:112%;max-width:none;filter:drop-shadow(8px 16px 12px rgba(41,59,29,.22));transform:rotate(-12deg)}
.work{padding:clamp(3.5rem,8vw,7.5rem) clamp(1.25rem,5vw,5rem)}
.work-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem clamp(2rem,5vw,5rem);align-items:end;margin-bottom:clamp(2rem,3vw,3rem)}
.eyebrow{margin:0 0 1rem;font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.work h2{font-size:clamp(2.8rem,6vw,6rem);font-weight:700;line-height:.95;letter-spacing:-.045em}
.work-intro>p{max-width:28rem;margin:0;font-size:.98rem;line-height:1.7;text-wrap:pretty}
.filters{display:flex;gap:.5rem;overflow-x:auto;margin:0 0 clamp(1.5rem,3vw,2.5rem);padding:2px;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filters button{flex:none;min-height:44px;padding:0 1.15rem;border:1.5px solid var(--ink);border-radius:50px;background:transparent;color:var(--ink);cursor:pointer;letter-spacing:.1em;white-space:nowrap;transition:background .2s,color .2s}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--cream)}
.filters button:hover:not([aria-pressed=true]){background:var(--blue)}
.work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(.9rem,2vw,1.75rem) clamp(.75rem,1.6vw,1.5rem)}
.work-card{display:flex;flex-direction:column;min-width:0;margin:0}
.work-card--feature{grid-column:span 2;grid-row:span 2}
.work-grid.is-filtered .work-card--feature{grid-column:auto;grid-row:auto}
.work-card[hidden]{display:none}
.work-image{flex:none;overflow:hidden;aspect-ratio:5/7;border-radius:.35rem;background:#fff;box-shadow:0 14px 28px rgba(41,59,29,.14)}
.work-card--feature .work-image{flex:1;aspect-ratio:auto;min-height:0}
.work-grid.is-filtered .work-card--feature .work-image{flex:none;aspect-ratio:5/7}
.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.work-card:hover .work-image img{transform:scale(1.035)}
.work-card figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.1rem .75rem;padding-top:.75rem}
.work-card figcaption span{font-family:Bricolage,Arial,sans-serif;font-size:clamp(1.05rem,1.4vw,1.3rem);font-weight:700;letter-spacing:-.04em}
.work-card small{font-size:.62rem;letter-spacing:.1em}
.commissions{position:relative;padding:clamp(3.75rem,9vw,8.5rem) clamp(1.25rem,5vw,5rem);background:var(--rose);color:var(--cream)}
.commissions:before{position:absolute;top:-15px;right:0;left:0;height:16px;background:radial-gradient(circle at 50% 100%,var(--rose) 11px,transparent 11.5px) 0 0/22px 16px repeat-x;content:"";pointer-events:none}
.commissions .content-wrap{display:flex;flex-direction:column;gap:clamp(2rem,4vw,3.5rem)}
.commissions .eyebrow{margin:0}
.commissions h2{max-width:14ch;font-size:clamp(2.8rem,7.5vw,7.5rem);font-weight:700;line-height:.92;letter-spacing:-.05em;text-wrap:balance}
.commissions-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem clamp(2rem,6vw,6rem);align-items:end;padding-top:clamp(1.5rem,3vw,2.5rem);border-top:1.5px solid rgba(255,248,237,.6)}
.commissions-bottom p{max-width:32rem;margin:0;font-size:1.02rem;line-height:1.8;text-wrap:pretty}
.commissions-bottom a{justify-self:start;display:inline-flex;align-items:center;gap:.75rem;max-width:100%;padding-bottom:.35rem;border-bottom:2px solid var(--honey);font-family:Bricolage,Arial,sans-serif;font-size:clamp(1.3rem,2.6vw,2.4rem);font-weight:650;letter-spacing:-.04em;line-height:1.1;text-decoration:none;overflow-wrap:anywhere}
.commissions-bottom a:hover{color:#f9dfbd}
.commissions-bottom a span{color:var(--honey)}
.about{padding:clamp(3.75rem,9vw,8.5rem) clamp(1.25rem,5vw,5rem)}
.about-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem clamp(3rem,7vw,7rem);align-items:center}
.about-art{position:relative;justify-self:center;width:100%;max-width:30rem}
.about-image{overflow:hidden;aspect-ratio:1;border-radius:.35rem;box-shadow:0 22px 40px rgba(41,59,29,.16)}
.about-image img{width:100%;height:100%;object-fit:cover;object-position:center bottom;transform:scale(1.2);transform-origin:center bottom}
.about-caption{position:absolute;right:-.75rem;bottom:1.5rem;padding:.8rem 1rem;border-radius:2px;background:var(--honey);transform:rotate(-6deg)}
.about-copy{display:flex;flex-direction:column;gap:1.5rem;max-width:38rem}
.about-copy .eyebrow,.about-copy p{margin:0}
.about-copy .eyebrow{color:var(--teal)}
.about h2{font-size:clamp(2.6rem,5.5vw,5.5rem);font-weight:700;line-height:.95;letter-spacing:-.045em;text-wrap:balance}
.about h2 span{color:var(--teal)}
.about-copy .about-lead{font-family:Bricolage,Arial,sans-serif;font-size:clamp(1.3rem,2vw,1.9rem);font-weight:550;line-height:1.25;letter-spacing:-.035em;text-wrap:pretty}
.about-copy>p:last-child{max-width:32rem;line-height:1.85;text-wrap:pretty}
.site-footer{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 2rem;padding:2.5rem clamp(1.25rem,5vw,5rem);background:var(--teal);color:var(--cream)}
.footer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}
.site-footer .wordmark{font-size:1.8rem}
.footer-identity>a:last-child{border-bottom:1px solid rgba(255,248,237,.6);font-size:.8rem;font-weight:500;text-decoration:none}
.footer-notes{display:flex;flex-wrap:wrap;gap:.5rem 2rem}
.footer-notes p{margin:0;font-size:.66rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
@media(max-width:1000px){.hero-bottom{align-items:stretch}.hero-button{width:100%}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  html{scroll-padding-top:4.5rem}
  .header-inner{padding:.75rem clamp(1.25rem,5vw,5rem)}
  .desktop-nav{display:none}
  .menu-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.1rem;border:1.5px solid var(--ink);border-radius:50px;background:transparent;color:var(--ink);cursor:pointer}
  .mobile-nav:not([hidden]){position:absolute;top:100%;right:0;left:0;display:flex;flex-direction:column;max-height:calc(100dvh - 100%);overflow-y:auto;padding:.5rem clamp(1.25rem,5vw,5rem) 2rem;background:var(--blue);box-shadow:0 8px 18px rgba(41,59,29,.12)}
  .mobile-nav a{display:flex;align-items:center;min-height:56px;border-top:1px solid rgba(41,59,29,.2);font-family:Bricolage,Arial,sans-serif;font-size:1.9rem;font-weight:700;letter-spacing:-.04em;text-decoration:none}
  .mobile-nav a:last-child{color:var(--rose)}
  .hero-inner,.work-intro,.about-inner,.commissions-bottom{grid-template-columns:1fr}
  .hero{padding-top:2rem}
  h1{font-size:clamp(3.8rem,14vw,6.5rem)}
  .hero-bottom{gap:1.25rem}
  .hero-bottom p{flex:1 1 100%}
  .hero-art{max-width:22rem}
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work-card--feature{grid-column:span 2;grid-row:auto}
  .work-card--feature .work-image{flex:none;aspect-ratio:5/7}
  .work-grid.is-filtered .work-card--feature{grid-column:auto}
  .work-card figcaption{display:block}
  .work-card small{display:block}
  .about-copy{order:1}
  .about-art{order:2}
}
@media(max-width:420px){.wordmark{font-size:1.55rem}.hero{padding-top:1.2rem}.hero-inner{gap:1rem}.work-card figcaption span{font-size:1rem}.about-caption{right:0;font-size:.58rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-button,.filters button,.work-image img{transition:none}}
