:root{--gold:#c8963e;--gold-l:#e9c77b;--green:#1f3a2c;--green-d:#122219;--cream:#f7f2e8;--ink:#1c1a17}
body{background:var(--cream);color:var(--ink)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,242,232,.78);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(31,58,44,.08)}
.entity-nav{background:rgba(247,242,232,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
@media (min-width:761px){.entity-nav{top:64px}}
.entity-nav a[aria-current=page]{background:var(--green);color:#fff}
h1,h2,.p3-display{font-family:var(--serif);letter-spacing:-.015em}
.p3-kicker{font-family:var(--sans);text-transform:uppercase;letter-spacing:.22em;font-size:12px!important;font-weight:600;color:var(--gold);margin:0 0 .8rem}
.p3-dek{font-size:clamp(1.05rem,2.4vw,1.3rem)!important;line-height:1.55;max-width:34rem}
.p3-btn{display:inline-flex;align-items:center;min-height:50px;padding:0 1.6rem;border-radius:999px;background:var(--gold);color:var(--green-d)!important;font-weight:700;text-decoration:none;letter-spacing:.04em;margin:.4rem .4rem 0 0;transition:transform .2s,background .2s}
.p3-btn:hover{background:var(--gold-l);transform:translateY(-1px)}
.p3-btn.ghost{background:transparent;color:inherit!important;border:1.5px solid currentColor}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* home */
.p3-intro{padding:clamp(2.5rem,7vw,5.5rem) 0 1.6rem}
.p3-display{font-size:clamp(3.2rem,13vw,8.5rem);line-height:.92;margin:0 0 1rem;font-weight:500}
.p3-tiles{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px 28px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.p3-tiles::-webkit-scrollbar{display:none}
.p3-tile{position:relative;flex:0 0 82%;aspect-ratio:3/4.4;border-radius:22px;overflow:hidden;scroll-snap-align:center;color:#fff;text-decoration:none;box-shadow:0 18px 40px -18px rgba(18,34,25,.55);background:var(--green-d)}
.p3-tile picture,.p3-tile img{display:block;width:100%;height:100%;object-fit:cover}
.p3-tile img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.p3-tile-text{position:absolute;inset:auto 0 0;padding:1.6rem 1.4rem 1.5rem;background:linear-gradient(transparent,rgba(10,20,14,.85));display:flex;flex-direction:column;gap:.35rem}
.p3-tile-text strong{font-family:var(--serif);font-size:1.75rem;font-weight:500;line-height:1.1}
.p3-tile-text span{font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-l)}
@media (min-width:900px){.p3-tiles{overflow:visible;padding:0 clamp(20px,4vw,64px) 40px;gap:18px}.p3-tile{flex:1;aspect-ratio:auto;height:min(78vh,760px)}.p3-tile:hover img{transform:scale(1.06)}}
.p3-band{position:relative;min-height:70vh;display:grid;place-items:center;color:#fff;text-align:center;overflow:hidden;margin-top:2rem}
.p3-band picture,.p3-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p3-band::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(18,34,25,.25),rgba(18,34,25,.7))}
.p3-band-copy{position:relative;z-index:1;padding:2rem}.p3-band-copy h2{font-size:clamp(2.2rem,7vw,4.6rem);margin:0 0 .6rem;color:#fff}
/* entity hero */
.p3-hero{position:relative;min-height:min(92svh,940px);display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:var(--green-d)}
.p3-hero-media,.p3-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.p3-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,14,.15) 30%,rgba(10,20,14,.82))}
.p3-hero-copy{position:relative;z-index:1;padding:0 clamp(20px,6vw,96px) clamp(2.5rem,8vh,6rem);max-width:60rem}
.p3-hero h1{font-size:clamp(2.8rem,9vw,6.4rem);line-height:.98;margin:0 0 1rem;color:#fff;font-weight:500}
.p3-hero h1 em{color:var(--gold-l)}
.p3-hero .p3-kicker{color:var(--gold-l)}
.p3-hero .p3-btn.ghost{color:#fff!important}
.p3-sec{padding:clamp(3rem,8vw,6rem) 0 0}
.p3-sec h2{font-size:clamp(2rem,5vw,3.2rem);margin:0 0 1.4rem;font-weight:500}
.p3-note{opacity:.7;margin-top:-.6rem}
.p3-masonry{columns:1;column-gap:14px}
@media (min-width:600px){.p3-masonry{columns:2}}@media (min-width:1000px){.p3-masonry{columns:3;column-gap:18px}}
.p3-shot{display:block;break-inside:avoid;margin:0 0 14px;border-radius:14px;overflow:hidden;background:#e7dfcf}
.p3-shot img{display:block;width:100%;height:auto;transition:transform .8s}.p3-shot:hover img{transform:scale(1.03)}
.p3-gear{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:640px){.p3-gear{grid-template-columns:1fr 1fr}}@media (min-width:1000px){.p3-gear{grid-template-columns:repeat(3,1fr)}}
.p3-gcard{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#fff;text-decoration:none;color:var(--ink);box-shadow:0 10px 30px -16px rgba(18,34,25,.35);transition:transform .25s,box-shadow .25s;min-height:48px}
.p3-gcard:hover{transform:translateY(-3px);box-shadow:0 18px 40px -18px rgba(18,34,25,.5)}
.p3-gcard picture img{display:block;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover}
.p3-gtext{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.3rem}
.p3-gtext strong{font-family:var(--serif);font-size:1.35rem;font-weight:500}.p3-gtext span{opacity:.75}.p3-gtext em{font-style:normal;color:var(--gold);font-weight:700;letter-spacing:.06em;margin-top:.3rem}
.p3-list{list-style:none;padding:0;margin:0;border-top:1px solid rgba(31,58,44,.15)}
.p3-list a{display:flex;justify-content:space-between;align-items:center;min-height:60px;border-bottom:1px solid rgba(31,58,44,.15);text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:1.2rem}
.p3-list a:hover{color:var(--gold)}
.p3-disc{padding:3rem 0 4rem;font-size:14px!important;opacity:.7}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.p3-tile img,.p3-shot img{transition:none}.p3-video video{visibility:hidden}.p3-video{background:#122219 url(/_astro/fosterai-hero-poster.webp) center/cover}}
.p3-lb{position:fixed;inset:0;z-index:100;background:rgba(10,14,11,.94);display:none;align-items:center;justify-content:center;padding:4vw}
.p3-lb.open{display:flex}.p3-lb img{max-width:100%;max-height:88vh;border-radius:8px}
.p3-lb button{position:absolute;top:14px;right:14px;min-width:48px;min-height:48px;border:0;border-radius:999px;background:rgba(255,255,255,.15);color:#fff;font-size:24px}
main a:not(p a):not(li a):not(.hub-card):not(figure a){min-height:48px}
.p3-shot,.p3-gcard picture{position:relative;display:block}
.p3-shot::after,.p3-gcard picture::after{content:"\00a9 Lisa Foster";position:absolute;right:10px;bottom:8px;font:600 11px/1 var(--sans);letter-spacing:.12em;color:rgba(255,255,255,.62);text-shadow:0 1px 2px rgba(0,0,0,.35);pointer-events:none;text-transform:uppercase}
img{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
.p3-legal{font-size:13px!important;opacity:.85;margin:0 0 .6rem}.p3-legal a{color:inherit;display:inline-flex;min-height:44px;align-items:center}
.legal{max-width:46rem;padding:clamp(2.5rem,6vw,5rem) 20px 4rem}.legal h1{font-size:clamp(2.4rem,7vw,4rem);margin:.2rem 0}.legal h2{font-size:1.5rem;margin:2.2rem 0 .6rem}.legal-eff{opacity:.65}
@media (max-width:760px){.entity-nav a{font-size:12.5px!important;padding:0 .1rem}}

/* about lisa */
.p3-about{display:grid;gap:1.6rem;align-items:center;justify-items:center;text-align:center;padding:clamp(2.5rem,6vw,5rem) 1.2rem;margin:clamp(1.5rem,4vw,3rem) auto;background:var(--cream);border-top:1px solid rgba(200,150,62,.35);border-bottom:1px solid rgba(200,150,62,.35)}
.p3-about-img{width:220px;height:220px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px var(--cream),0 0 0 6px var(--gold),0 18px 40px rgba(18,34,25,.18)}
.p3-about-img img{width:100%;height:100%;object-fit:cover;display:block}
.p3-about h2{font-family:var(--font-display),serif;color:var(--green);font-size:clamp(2rem,5vw,3rem);margin:0 0 1rem}
.p3-about-copy p{max-width:38rem;line-height:1.65;font-size:1.05rem;margin:0 auto 1rem}
.p3-about-copy a:not(.p3-btn){color:var(--green);text-decoration-color:var(--gold);text-underline-offset:3px}
@media (min-width:761px){.p3-about{grid-template-columns:300px 1fr;text-align:left;gap:3.5rem;padding-left:2rem;padding-right:2rem}.p3-about-img{width:300px;height:300px}.p3-about-copy p{margin-left:0}}

/* shop prints band */
.p3-shop{text-align:center;padding:clamp(2.5rem,6vw,4.5rem) 1.2rem;margin:clamp(1.5rem,4vw,3rem) auto;border-top:1px solid rgba(200,150,62,.35);border-bottom:1px solid rgba(200,150,62,.35)}
.p3-shop h2{font-family:var(--font-display),serif;color:var(--green);font-size:clamp(2rem,5vw,3rem);margin:0 0 .6rem;font-weight:500}
.p3-shop-dek{max-width:34rem;margin:0 auto 1.6rem;line-height:1.6}
.p3-shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:0 auto 1.6rem;max-width:1100px}
@media (min-width:761px){.p3-shop-grid{grid-template-columns:repeat(4,1fr);gap:1.1rem}}
.p3-shop-thumb{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:14px;box-shadow:0 0 0 1px rgba(200,150,62,.4),0 12px 28px rgba(18,34,25,.14)}
.p3-shop-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.p3-shop-thumb:hover img{transform:scale(1.04)}
body.nav-open .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--cream)}
