/* A film-first entrance and more personal, editorial project pages. */
.opening-reel{background:#191218;color:#fff7e8;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:24px clamp(18px,4vw,64px) 28px;gap:20px}
.opening-top{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.875rem;letter-spacing:.01em}
.opening-top>a{font-weight:600;min-height:44px;display:flex;align-items:center}
.opening-top>span{color:#d8bfc8}
.opening-film{display:flex;align-items:center;justify-content:center;flex:1;min-height:0}
.opening-film video{width:min(100%,1400px);height:auto;max-height:calc(100svh - 210px);object-fit:contain;background:#191218;border-radius:18px}
.opening-bottom{display:grid;justify-items:center;gap:10px}
.opening-bottom>p{margin:0;color:#ddcbd3;font-size:.875rem}
.enter-portfolio,.resume-link,.chat-link{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:15px 26px;border-radius:32px;background:var(--marigold);color:var(--plum);font-size:1rem;font-weight:600;transition:transform .25s,background .25s}
.enter-portfolio:hover,.resume-link:hover,.chat-link:hover{background:#f6bc49;transform:translateY(-2px)}
.opening-hint{font-size:.75rem;color:#d8bfc8}
.opening-reel a:focus-visible,.opening-reel video:focus-visible{outline-color:var(--marigold)}
.motion-ready .opening-film video{transform:scale(var(--opening-scale,1));border-radius:var(--opening-radius,18px);transform-origin:center}
#portfolio{scroll-margin-top:12px}
.poster-duo{display:grid!important;grid-template-columns:1fr 1fr;gap:12px;padding:24px!important;background:var(--plum)}
.poster-duo img{height:100%;min-height:0;object-fit:contain;width:100%}
/* Let the work previews meet the card edges as the scroll stack overlaps. */
.work-stack .card-image img{object-fit:cover;padding:0}
.work-stack .poster-duo{padding:0!important;gap:0}
.poster-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 36px;padding-bottom:80px}
.project-heading + .project-story{padding-top:20px}
.poster-grid>figure{min-width:0}
.poster-grid>figure>a{display:block;border-radius:20px;overflow:hidden;background:#211b21}
.poster-grid>figure>a img{width:100%;height:auto;object-fit:contain}
.poster-grid figcaption{padding:26px 5px 0}
.poster-grid figcaption .eyebrow{margin-bottom:12px;color:var(--muted);font-size:.8125rem}
.poster-grid figcaption h2{font-size:clamp(1.5rem,2.2vw,2.2rem);line-height:1.15;margin-bottom:14px;letter-spacing:-.035em}
.poster-grid figcaption p:last-child{font-size:1rem;color:var(--muted);max-width:550px}
.poster-grid .poster-playful{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;border-top:1px solid var(--line);padding-top:50px}
.poster-playful>img{max-height:750px;object-fit:contain;padding:35px;border-radius:24px;background:#f3d89f}
.poster-playful figcaption{padding:20px 30px}
.full-letters{background:transparent}
.full-letters video{background:#151018;max-height:80svh;object-fit:contain;border-radius:24px}
.full-letters figcaption{font-size:.875rem;color:var(--muted);padding:16px 5px}
.about-page>h1{margin-bottom:50px}
.about-introduction{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,85px);align-items:center}
.portrait-main img{border-radius:32px;aspect-ratio:4/4.5;object-fit:cover;object-position:center}
.about-text .about-lead{font-size:clamp(1.6rem,2.7vw,2.6rem);line-height:1.23;letter-spacing:-.035em;color:var(--plum)}
.about-text>p{font-size:1.08rem}
.resume-link{background:var(--plum);color:#fff7e8;margin-top:12px}
.resume-link:hover{background:var(--rust)}
.resume-download{margin-left:18px;white-space:nowrap}
.about-experience{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,85px);padding-block:100px;border-bottom:1px solid var(--line)}
.about-experience h2{font-size:clamp(2.3rem,4vw,4rem);margin-bottom:24px}
.about-experience>div>p:not(.eyebrow){max-width:490px;color:var(--muted);font-size:1rem}
.experience-list article{border-top:1px solid var(--line);padding:25px 0}
.experience-list article:first-child{padding-top:0;border:0}
.experience-list .meta{margin-bottom:9px;color:var(--muted)}
.experience-list h3{font-size:1.5rem;letter-spacing:-.03em;margin-bottom:12px}
.experience-list article>p:last-child{font-size:1rem;color:var(--muted);margin:0}
.about-offline{padding-block:85px;display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}
.offline-copy h2{font-size:clamp(2.3rem,3.6vw,3.7rem);margin-bottom:25px}
.offline-copy>p:not(.eyebrow){color:var(--muted);font-size:1rem}
.personal-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.personal-photos figure:nth-child(2){margin-top:90px}
.personal-photos img{aspect-ratio:3/4;object-fit:cover;border-radius:26px}
.personal-photos figcaption{font-size:.8125rem;line-height:1.5;color:var(--muted);padding:12px 3px}
.about-practice{background:#eee8dd;border-radius:28px;padding:40px}
.about-practice h2{font-size:1.75rem;margin-bottom:14px}
.about-practice p{max-width:850px;font-size:1.1rem;color:var(--muted)}
.contact-hero{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:35px;min-height:500px}
.contact-copy{position:relative;z-index:1}
.contact-copy h1{font-size:clamp(3rem,5.6vw,5.6rem);margin-bottom:30px}
.contact-copy>p:not(.eyebrow){color:var(--muted);font-size:1.125rem;max-width:530px}
.chat-link{background:var(--plum);color:#fff7e8;margin-top:12px;font-size:1.25rem;padding:18px 30px}
.chat-link:hover{background:var(--rust)}
.contact-art{position:relative;aspect-ratio:1;isolation:isolate;max-width:470px;width:100%;justify-self:end}
.contact-art span{position:absolute;display:block}
.shape-circle{width:67%;height:67%;background:var(--marigold);border-radius:50%;left:4%;top:3%}
.shape-arch{width:52%;height:75%;background:var(--juniper);border-radius:160px 160px 24px 24px;right:0;bottom:0;transform:rotate(-13deg)}
.shape-orbit{width:66%;height:66%;border:20px solid var(--plum);border-radius:50%;left:0;bottom:3%}
.shape-dot{width:19%;height:19%;background:var(--rust);border-radius:50%;right:4%;top:4%}
.shape-line{width:55%;height:8%;background:var(--paper);border-radius:40px;right:10%;bottom:29%;transform:rotate(-35deg)}
.contact-page .contact-options{margin-top:65px}
@media(max-width:1000px){.about-offline{grid-template-columns:1fr;gap:30px}.offline-copy{max-width:650px}.personal-photos{max-width:800px;width:100%;justify-self:end}.contact-hero{grid-template-columns:1.35fr .65fr;gap:15px}.shape-orbit{border-width:14px}}
@media(max-width:700px){.opening-reel{padding:14px 14px 24px;gap:18px}.opening-top{font-size:.75rem;padding-inline:6px}.opening-film video{border-radius:10px;max-height:calc(100svh - 205px)}.opening-bottom{gap:12px}.enter-portfolio{min-height:52px}.poster-duo{padding:18px!important;gap:10px}.poster-grid{grid-template-columns:1fr;gap:40px;padding-bottom:50px}.poster-grid figcaption{padding-top:20px}.poster-grid .poster-playful{grid-template-columns:1fr;gap:8px;padding-top:35px}.poster-playful figcaption{padding:20px 5px}.poster-playful>img{padding:25px}.about-introduction{grid-template-columns:1fr;gap:30px}.portrait-main img{aspect-ratio:4/3;object-position:center;border-radius:25px}.about-page>h1{margin-bottom:32px}.about-text .about-lead{font-size:2rem}.about-experience{grid-template-columns:1fr;padding-block:60px;gap:35px}.about-offline{padding-block:60px}.personal-photos{gap:14px}.personal-photos figure:nth-child(2){margin-top:50px}.personal-photos img{border-radius:20px}.about-practice{padding:28px}.contact-hero{grid-template-columns:1fr;gap:30px}.contact-art{max-width:300px;justify-self:center}.contact-copy h1{font-size:clamp(2.7rem,10vw,4rem)}.contact-page .contact-options{margin-top:40px}.resume-download{display:flex;margin:12px 0 0}.full-letters video{border-radius:18px}}
@media(prefers-reduced-motion:reduce){.motion-ready .opening-film video{transform:none;border-radius:18px}.enter-portfolio:hover,.resume-link:hover,.chat-link:hover{transform:none}}
@media(prefers-contrast:more){.opening-top>span,.opening-hint,.opening-bottom>p{color:white}}
@media(max-width:700px){.project-heading + .project-story{padding-top:12px}}
