/* Readable, reader-led homepage. Labels add context; headings stand alone. */
body{font-size:17px;line-height:1.65}
.eyebrow,.shoot-section .kicker{font-size:1rem;line-height:1.5;letter-spacing:.025em;text-transform:none}
h2{line-height:1.12;text-wrap:balance}p{overflow-wrap:break-word}
.hero .eyebrow{font-size:1rem}.hero .intro{font-size:1.125rem;max-width:35rem;line-height:1.65}.hero .hero-note{font-size:1rem;max-width:34rem}.hero-contact{margin-left:0;margin-top:12px}.hero .primary{margin-right:10px}
.invitation{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:8%;border-bottom:1px solid var(--line)}
.invitation h2{font-size:clamp(2.3rem,4.6vw,4rem);max-width:18ch;margin-bottom:28px}.invitation-copy>p{max-width:62ch;color:var(--brown);margin-top:18px}.invitation-copy .lead{font-size:1.2rem;line-height:1.65}.invitation-note{font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.4;color:var(--ink);border-left:3px solid var(--accent);padding-left:28px}.invitation-note em{color:var(--rust)}
.sessions-heading{max-width:760px;margin-bottom:36px}.sessions h2{font-size:clamp(2.3rem,4.6vw,4rem);margin:12px 0 22px}.sessions-heading>p:last-child{font-size:1.125rem;color:var(--brown);max-width:62ch}
.session-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.session-card{min-width:0}.session-play{display:block;position:relative;width:100%;border:0;border-radius:24px;overflow:hidden;aspect-ratio:3/4;padding:0;background:var(--ink);cursor:pointer;color:var(--paper)}.session-play>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.session-play-label{position:absolute;bottom:0;left:0;right:0;padding:48px 18px 20px;display:flex;align-items:center;gap:12px;font:600 1rem var(--sans);background:linear-gradient(transparent,#20141ed9)}.session-play-label>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #fff9;border-radius:50%;font-size:.85rem}.session-play:hover .session-play-label{background:linear-gradient(transparent,#20141ef5)}.session-play:focus-visible,.session-result:focus-visible{outline:3px solid var(--rust);outline-offset:5px}
.session-card .session-name{color:var(--rust);font-size:1rem;font-weight:700;margin:20px 0 8px}.session-card h3{font-size:clamp(1.4rem,2.2vw,1.85rem);line-height:1.2;letter-spacing:-.025em;min-height:2.4em;margin-bottom:14px;text-wrap:balance}.session-card>p{font-size:1rem;line-height:1.65;color:var(--brown)}.session-card .session-detail{font-size:.925rem;margin-top:16px;color:var(--muted)}
.session-result{display:flex;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);color:var(--rust);font-size:1rem;line-height:1.5;text-decoration:underline;text-underline-offset:4px}.session-result img{width:84px;height:106px;object-fit:cover;border-radius:12px;flex-shrink:0}
.about-grid{grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);align-items:center;max-width:1050px;gap:7%}.about .about-portraits{display:block;max-width:310px;padding:0}.about-portraits .about-portrait{transform:none}.about .about-portrait img{aspect-ratio:1;object-position:50% 35%}.about-copy>p:not(.eyebrow),.about-copy .lead{font-size:1.0625rem;line-height:1.7}.about-copy h2{font-size:clamp(2.3rem,4vw,3.4rem);margin-bottom:24px}.about-copy .lead{color:var(--ink)}
.section-heading>p,.steps p{font-size:1.0625rem;line-height:1.7}.steps article>span{font-size:.9rem}.fine-print,.shoot-section .fine-print{font-size:.95rem;line-height:1.65}.work .section-heading h2{max-width:20ch}.experience h2{max-width:20ch}.section-heading{align-items:start}
@media(max-width:760px){.hero .eyebrow{font-size:.95rem}.hero .intro{font-size:1.0625rem}.hero .button{font-size:1rem}.hero .hero-note{font-size:.95rem}.invitation{grid-template-columns:1fr;gap:28px}.invitation-note{font-size:1.5rem}.invitation-note br{display:none}.invitation-copy .lead{font-size:1.125rem}.session-grid{grid-template-columns:1fr;gap:44px;max-width:480px;margin-inline:auto}.session-play{aspect-ratio:4/5}.session-card h3{min-height:0;font-size:1.7rem}.sessions-heading>p:last-child{font-size:1.0625rem}.session-result img{width:72px;height:90px}.about-grid{grid-template-columns:1fr;gap:28px}.about .about-portraits{max-width:230px;margin:0}.eyebrow,.shoot-section .kicker{font-size:.95rem}.section-heading>p{font-size:1.0625rem}.hero .primary{margin-bottom:0}.hero-contact{margin-top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
