:root{--ink:#172019;--paper:#fffdf8;--cream:#f4f0e5;--frog:#76a809;--frog-dark:#4d7000;--red:#df493c;--blue:#a9cddd;--line:rgba(23,32,25,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;font-size:1rem;line-height:1.6}img{display:block;width:100%}a{color:inherit}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--ink);color:#fff;padding:.75rem 1rem}.skip-link:focus{top:1rem}
.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);border-bottom:1px solid var(--line);background:rgba(255,253,248,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;font-family:"Fraunces",serif;font-size:1.3rem;font-weight:650}.brand small{display:block;font:500 .66rem/1.2 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}.frog-mark{width:44px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--frog);color:#fff;font:650 .76rem/1 "DM Sans",sans-serif;transform:rotate(-7deg)}nav{display:flex;align-items:center;gap:clamp(1.2rem,3vw,2.8rem)}nav a{text-decoration:none;font-weight:600;font-size:.92rem}nav a:hover{color:var(--frog-dark)}.nav-contact{border:1px solid var(--ink);border-radius:100px;padding:.55rem 1rem}.menu-toggle{display:none}
.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);position:relative;overflow:hidden}.hero-copy{padding:clamp(3rem,8vw,8rem) clamp(1.25rem,5vw,6rem);display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0 0 1rem;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--frog-dark)}h1,h2{font-family:"Fraunces",serif;font-weight:500;letter-spacing:-.035em;line-height:1.03;margin:0}h1{font-size:clamp(3.4rem,6.3vw,7.4rem);max-width:9ch}h1 em{color:var(--red);font-weight:650}.hero-intro{max-width:35rem;font-size:clamp(1.05rem,1.4vw,1.3rem);margin:2rem 0}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:48px;padding:.75rem 1.25rem;border-radius:999px;font-weight:600;text-decoration:none;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--ink);color:#fff}.button.outline{border:1px solid var(--ink)}.button.light{background:var(--paper);color:var(--ink)}.text-link{font-weight:600;text-decoration-thickness:1px;text-underline-offset:.3rem}.hero-art{margin:0;height:100%;min-height:620px;position:relative;background:var(--cream)}.hero-art img{width:100%;height:100%;object-fit:cover}.hero-art img.hero-rotating-image{object-fit:contain}.hero-art figcaption{position:absolute;left:1.3rem;right:1.3rem;bottom:1.3rem;display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:rgba(255,253,248,.9);backdrop-filter:blur(10px);font-size:.82rem}.hero-art figcaption span{font-weight:600}.hero-stamp{position:absolute;left:44%;bottom:7%;width:154px;height:92px;background:var(--red);color:#fff;border-radius:50%;display:grid;place-items:center;text-align:center;font:650 1.08rem/1.08 "Fraunces",serif;transform:rotate(7deg)}
.artwork-section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,5rem)}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:3rem;margin-bottom:3.5rem}.section-heading h2,.about-copy h2,.contact-section h2,.visit-section h2{font-size:clamp(2.6rem,5vw,5.5rem)}.section-heading h3{margin:.9rem 0 0;font:600 1rem/1.2 "DM Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--frog-dark)}.section-heading>p{max-width:32rem;font-size:1.1rem;margin:0}.archive-live{min-height:540px;border-top:1px solid var(--ink);padding-top:2rem}.archive-live iframe{display:block}.artwork-archive-frame{width:100%;min-height:1100px;border:0;background:#fff}
.artwork-heading{grid-template-columns:1fr}.artwork-heading>div{max-width:54rem}.artwork-description{max-width:42rem;margin:1.5rem 0 0;font-size:1.1rem}
.twenty-east-section{margin:clamp(1.25rem,4vw,4rem);padding:clamp(2rem,4vw,4rem);display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);background:var(--cream);border-radius:1.25rem;align-items:center}.twenty-east-photo{margin:0;align-self:stretch;overflow:hidden;border-radius:.75rem}.twenty-east-photo img{height:100%;min-height:390px;object-fit:cover}.twenty-east-section h2{font-size:clamp(2.5rem,4.5vw,4.75rem);letter-spacing:-.045em}.twenty-east-lead{max-width:38rem;margin:1.25rem 0 .75rem;font-size:clamp(1.05rem,1.25vw,1.2rem)}.twenty-east-intro>p:not(.eyebrow):not(.twenty-east-lead){max-width:48rem}.twenty-east-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:1.5rem}.twenty-east-portfolio-thumb{display:grid;grid-template-columns:150px minmax(0,1fr);width:min(100%,480px);overflow:hidden;border:1px solid var(--line);border-radius:.8rem;background:var(--paper);font-size:1.2rem;font-weight:600;line-height:1.2;transition:transform .2s ease,box-shadow .2s ease}.twenty-east-portfolio-thumb:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(23,32,25,.1)}.twenty-east-portfolio-thumb img{width:150px;height:150px;object-fit:cover}.twenty-east-portfolio-thumb>span{align-self:center;padding:1rem 1.25rem}.twenty-east-details{grid-column:2}.twenty-east-details dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.twenty-east-details dl div{padding:1rem 1rem 1rem 0}.twenty-east-details dt{margin-bottom:.35rem;font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.twenty-east-details dd{margin:0;font-size:.92rem}.twenty-east-note{margin:1.25rem 0 0;max-width:44rem;font-size:.92rem}.twenty-east-details a{font-weight:600;text-underline-offset:.2rem}
.portfolio-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);min-height:620px;background:var(--cream)}.portfolio-hero-copy{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center}.portfolio-hero h1{max-width:11ch;font-size:clamp(3.4rem,6.7vw,7.5rem)}.portfolio-hero-copy>p:not(.eyebrow){max-width:39rem;font-size:clamp(1.05rem,1.4vw,1.25rem);margin:2rem 0}.portfolio-hero-copy .button{align-self:flex-start}.portfolio-hero figure{margin:0;min-height:500px;overflow:hidden}.portfolio-hero figure img{height:100%;object-fit:cover}.portfolio-work{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,5rem)}.portfolio-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.portfolio-heading h2{font-size:clamp(2.8rem,5.5vw,6rem)}.portfolio-themes{display:flex;flex-wrap:wrap;gap:.65rem;margin:0 0 2.5rem}.portfolio-themes span{padding:.55rem .9rem;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:600;font-size:.88rem}.portfolio-work .archive-live{min-height:700px}
.about-section{background:var(--cream);padding:clamp(5rem,10vw,9rem) clamp(1.25rem,8vw,9rem);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,8vw,8rem);align-items:center}.about-art{position:relative}.about-art img{aspect-ratio:.86;object-fit:cover}.paint-swatch{position:absolute;border-radius:50%;width:56px;height:56px}.paint-swatch.one{background:var(--frog);left:-24px;top:12%}.paint-swatch.two{background:var(--red);right:-18px;bottom:15%;width:38px;height:38px}.about-copy p{max-width:42rem;font-size:1.08rem}.about-copy h2{max-width:10ch;margin-bottom:2rem}.signature{font-family:"Fraunces",serif;font-style:italic;color:var(--red);font-size:2rem!important;transform:rotate(-4deg);transform-origin:left}
.stories-section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,5rem)}.story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem}.story-card{padding:0;border:1px solid var(--line);background:#fff;overflow:hidden}.story-card.featured-story{background:var(--cream)}.story-card-image{display:block;width:100%;height:clamp(220px,24vw,340px);object-fit:cover}.featured-story .story-card-image{object-position:center 58%}.story-card-copy{padding:clamp(2rem,4vw,3.5rem)}.story-card h3{font:500 clamp(1.8rem,3vw,3rem)/1.08 "Fraunces",serif;letter-spacing:-.025em;margin:.35rem 0 1.2rem}.story-card p:not(.story-date){font-size:1.05rem;max-width:46rem}.story-date{margin:0;color:var(--frog-dark);font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.archive-button{margin-top:1.5rem}.fund-section{margin:0;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,8vw,9rem);display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(3rem,7vw,7rem);align-items:center;background:#fff}.fund-photo{margin:0;max-width:460px;justify-self:center}.fund-photo img{width:100%;height:auto;border-radius:1rem}.fund-copy h2{font-size:clamp(3rem,6vw,6rem);max-width:12ch}.fund-copy>p:not(.eyebrow){max-width:48rem;font-size:1.1rem}.fund-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2rem}
.commissions-section{margin:clamp(1.25rem,4vw,4rem);min-height:560px;padding:clamp(4rem,8vw,8rem);border-radius:2rem;background:var(--frog);color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;overflow:hidden}.commissions-section .eyebrow{color:#fff}.commissions-section h2{font-size:clamp(3rem,6vw,6.5rem);max-width:13ch;position:relative;z-index:1}.commissions-section>p:not(.eyebrow){max-width:42rem;font-size:1.15rem;position:relative;z-index:1}.commissions-section .button{position:relative;z-index:1}.big-ribbit{position:absolute;right:-2rem;bottom:-5rem;color:rgba(255,255,255,.16);font:650 clamp(7rem,18vw,18rem)/1 "Fraunces",serif;transform:rotate(-8deg)}
.visit-section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,8vw,9rem);display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end}.visit-section h2{margin-bottom:1.5rem}.visit-section p:not(.eyebrow){max-width:44rem;font-size:1.1rem}.text-link.dark{white-space:nowrap}.contact-section{background:var(--frog);color:#fff;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,8vw,9rem);display:grid;grid-template-columns:1fr 1fr;gap:4rem;position:relative;overflow:hidden}.contact-section>div{position:relative;z-index:1}.contact-section .eyebrow{color:#fff}.contact-links{display:flex;flex-direction:column}.contact-links a{padding:1.25rem 0;border-bottom:1px solid rgba(255,255,255,.4);text-decoration:none;font-family:"Fraunces",serif;font-size:clamp(1.35rem,2vw,2rem)}.contact-links a:first-child{border-top:1px solid rgba(255,255,255,.4)}.contact-links span{display:block;margin-bottom:.2rem;font:600 .72rem/1.3 "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.15em;color:#fff}.contact-ribbit{position:absolute;right:-2rem;bottom:-5rem;color:rgba(255,255,255,.16);font:650 clamp(7rem,18vw,18rem)/1 "Fraunces",serif;transform:rotate(-8deg);pointer-events:none}footer{padding:2rem clamp(1.25rem,4vw,4.5rem);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:2rem;font-size:.78rem}.footer-brand{font-size:1.1rem}.footer-brand .frog-mark{width:34px}
.lightbox{width:min(92vw,1100px);max-height:92vh;border:0;border-radius:1rem;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.4)}.lightbox::backdrop{background:rgba(10,15,11,.85);backdrop-filter:blur(6px)}.lightbox img{max-height:72vh;object-fit:contain;background:#111}.lightbox>div{padding:1rem 1.4rem 1.3rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.lightbox h2{font-size:1.8rem}.lightbox p{margin:0}.lightbox-close{position:fixed;top:1rem;right:1rem;z-index:2;width:46px;height:46px;border:0;border-radius:50%;background:#fff;font-size:2rem;cursor:pointer}
@media(max-width:850px){.site-header{height:72px}.menu-toggle{display:block;border:1px solid var(--ink);border-radius:999px;padding:.45rem .8rem;background:transparent}nav{position:absolute;top:72px;left:0;right:0;display:none;padding:1.2rem;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}nav.open{display:flex}.nav-contact{text-align:center}.hero,.portfolio-hero{grid-template-columns:1fr}.hero-copy{padding-bottom:4rem}.hero-art{min-height:54vh}.portfolio-hero figure{min-height:52vh}.portfolio-heading{display:block}.portfolio-actions{margin-top:1.5rem}.hero-stamp{left:auto;right:1rem;bottom:50%;width:136px;height:80px}.section-heading,.about-section,.contact-section,.visit-section,.story-grid,.fund-section,.twenty-east-section{grid-template-columns:1fr}.twenty-east-photo img{min-height:280px;max-height:440px}.twenty-east-details{grid-column:auto}.twenty-east-details dl{grid-template-columns:1fr}.twenty-east-details dl div+div{border-top:1px solid rgba(23,32,25,.25)}.fund-number{display:none}.gallery{grid-template-columns:1fr 1fr}.art-card,.art-card.wide,.art-card.tall{grid-column:span 1}.art-card img,.art-card.wide img,.art-card.tall img{aspect-ratio:1}.card-caption{display:block}.card-caption small{display:block;text-align:left}.visit-section{align-items:start}footer{grid-template-columns:1fr}}
@media(max-width:560px){h1{font-size:3.25rem}.brand small{display:none}.gallery{grid-template-columns:1fr}.hero-art figcaption{display:block}.hero-art figcaption span{display:block}.commissions-section{margin:0;border-radius:0}.lightbox>div{display:block}}
.frog-logo{display:block;width:38px;height:66px;object-fit:contain;flex:0 0 auto}.footer-brand .frog-logo{width:30px;height:52px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.portfolio-highlight{padding:clamp(4.5rem,9vw,8rem) clamp(1.25rem,5vw,5rem);background:var(--blue)}.portfolio-highlight-intro{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,7vw,7rem);align-items:center;max-width:1200px;margin:0 auto 4rem}.portfolio-highlight-intro figure{margin:0;overflow:hidden;border-radius:1rem;background:var(--cream)}.portfolio-highlight-intro figure img{aspect-ratio:2.03;object-fit:cover}.portfolio-highlight-intro h2{font-size:clamp(2.8rem,5vw,5.7rem);max-width:10ch}.portfolio-highlight-intro p:not(.eyebrow){max-width:40rem;font-size:1.1rem;margin:1.5rem 0 2rem}.portfolio-highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:1200px;margin:auto}.portfolio-highlight-card{display:flex;flex-direction:column;gap:.35rem;padding-bottom:1.25rem;background:var(--paper);border:1px solid rgba(23,32,25,.18);border-radius:.75rem;overflow:hidden;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.portfolio-highlight-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(23,32,25,.14)}.portfolio-highlight-card img{aspect-ratio:1.35;object-fit:cover;background:var(--cream)}.portfolio-highlight-card span,.portfolio-highlight-card small,.portfolio-highlight-card b{margin-left:1.1rem;margin-right:1.1rem}.portfolio-highlight-card>span{font:500 clamp(1.3rem,2vw,2rem)/1.1 "Fraunces",serif;margin-top:.55rem}.portfolio-highlight-card small{color:#526056;font-size:.9rem}.portfolio-highlight-card b{margin-top:auto;padding-top:.6rem;color:var(--frog-dark);font-size:.9rem}.portfolio-highlight-card b span{margin:0}
.story-page,.article-page{min-height:calc(100vh - 86px);padding:clamp(4rem,9vw,8rem) clamp(1.25rem,10vw,10rem)}.story-page h1,.article-page h1{max-width:15ch;font-size:clamp(3rem,7vw,7rem)}.archive-intro{max-width:42rem;font-size:1.1rem;margin:2rem 0 0}.story-list{margin-top:4rem;border-top:1px solid var(--ink)}.story-list a{display:grid;grid-template-columns:10rem 1fr auto;gap:2rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--line);text-decoration:none}.story-list span{font-size:.78rem;color:var(--frog-dark);font-weight:600}.story-list strong{font:500 clamp(1.5rem,3vw,2.8rem)/1.1 "Fraunces",serif}.story-list em{font-style:normal;font-weight:600}.story-list a:hover strong{color:var(--frog-dark)}.archive-note{margin-top:2rem;color:#526056}.article-page{max-width:1120px}.article-page .story-date{margin-bottom:1rem}.article-content{max-width:52rem;margin-top:2.5rem}.article-content p{font-size:1.12rem;margin:0 0 1.35rem}.article-content h2{font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.2;margin:2.5rem 0 1rem}.article-content a{color:var(--frog-dark);overflow-wrap:anywhere}.article-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0 0 2.5rem}.article-gallery img{height:auto;max-height:680px;object-fit:contain;background:var(--cream);border-radius:.4rem}.article-gallery img:only-child{grid-column:1/-1}.article-back{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}.article-page .button{margin-top:1rem}.story-nav{display:flex}
@media(max-width:850px){.story-nav{display:none}.story-page,.article-page{min-height:calc(100vh - 72px)}.story-list a{grid-template-columns:1fr;gap:.4rem}.story-list em{margin-top:.5rem}.article-gallery{grid-template-columns:1fr}}
.story-list-with-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2rem);border-top:0}
.story-list-with-images a{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;padding:0 0 1.5rem;border:1px solid var(--line);border-radius:.75rem;overflow:hidden;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.story-list-with-images a:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(23,32,25,.1)}
.story-list-with-images img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:.55rem;background:var(--cream)}
.story-list-with-images span,.story-list-with-images strong,.story-list-with-images p,.story-list-with-images em{margin-left:1.25rem;margin-right:1.25rem}
.story-list-with-images strong{font-size:clamp(1.35rem,2vw,2rem)}
.story-list-with-images p{margin-top:.2rem;margin-bottom:.25rem;color:#526056;line-height:1.55}
.story-list-with-images em{margin-top:auto;padding-top:.65rem}
@media(max-width:950px){.story-list-with-images{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.story-list-with-images{grid-template-columns:1fr}.story-list-with-images a{display:flex;gap:.65rem}.story-list-with-images em{margin-top:auto}}
.portfolio-themes a{display:inline-flex;padding:.55rem .9rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:inherit;text-decoration:none;font-weight:600;font-size:.88rem;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.portfolio-themes a:hover,.portfolio-themes a[aria-current="true"]{background:var(--yellow);border-color:var(--ink);transform:translateY(-1px)}.portfolio-themes a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

/* Match the 20|East heading to the site's other large headings. */
.twenty-east-section h2{font-family:"Fraunces",serif;font-weight:500;letter-spacing:-.035em}
@media(max-width:850px){.portfolio-highlight-intro{grid-template-columns:1fr;gap:2rem;margin-bottom:3rem}.portfolio-highlight-intro figure img{aspect-ratio:1.8}.portfolio-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.portfolio-highlight-grid{grid-template-columns:1fr}}
.portfolio-highlight{background:var(--cream)}
.signature-image{width:clamp(9rem,18vw,14rem);height:auto;margin-top:1.25rem;object-fit:contain}
.portfolio-highlight-intro h2{max-width:15ch}.portfolio-index-heading{margin-bottom:2.5rem}.portfolio-index-heading h1{max-width:18ch;font-size:clamp(3rem,6vw,6.5rem)}.portfolio-page-grid{margin-bottom:clamp(4rem,8vw,7rem)}.portfolio-artwork-heading{padding-top:clamp(2rem,4vw,4rem);border-top:1px solid var(--ink)}
.portfolio-highlight-intro figure img{aspect-ratio:1.15;object-fit:cover}.portfolio-highlight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.portfolio-highlight-card img{aspect-ratio:1.35}.portfolio-highlight-card{padding-bottom:1rem}.portfolio-highlight-card span,.portfolio-highlight-card small,.portfolio-highlight-card b{margin-left:.85rem;margin-right:.85rem}.portfolio-highlight-card>span{font-size:clamp(1.1rem,1.5vw,1.55rem)}
@media(max-width:850px){.portfolio-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.portfolio-highlight-grid{grid-template-columns:1fr}}
