/* Homepage additions inherit the active Form & Function theme. */
.project-film{position:relative}
.project-film .project-image{position:relative;overflow:hidden}
.project-film .film-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity .65s ease}
.project-film .film-frame.is-current{opacity:1}
.film-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;font-size:13px;color:var(--muted,#b2afa8)}
.film-controls button,.live-caption button{font:inherit;color:inherit;background:transparent;border:1px solid var(--line,#666);padding:9px 13px;cursor:pointer;min-height:44px}
.live-project{height:480px;position:relative;background:var(--bg,#151514);overflow:hidden;isolation:isolate}
.live-poster{position:absolute;width:100%;height:100%;object-fit:contain;inset:0;transition:opacity .3s}
.live-project.is-active .live-poster{opacity:0}
.live-mount{position:absolute;inset:0 0 58px}
.live-mount iframe{width:100%;height:100%;border:0;display:block}
.live-caption{position:absolute;bottom:0;left:0;right:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;font-size:12px;background:var(--bg,#151514);border-top:1px solid var(--line,#555);z-index:2}
.live-caption button{font-size:12px;white-space:nowrap}
.project-disclosure{font-size:12px!important;line-height:1.6!important;color:var(--muted,#b2afa8);margin-top:12px!important;max-width:52ch}
.about-personal{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,110px);padding:50px 0 70px}
.about-statement h2{font-size:clamp(42px,5.5vw,76px);line-height:1.04;font-weight:400;letter-spacing:-.035em;margin:22px 0 30px}
.about-statement h2 span{color:var(--orange,#ff641e)}
.about-statement>p:not(.section-label){max-width:40ch;line-height:1.75;margin-bottom:26px}
.working-notes{display:grid;gap:32px}
.working-note{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:start;padding-bottom:28px;border-bottom:1px solid var(--line,#555)}
.working-note img{width:160px;height:130px;object-fit:cover;object-position:top}
.working-note h3{font-size:21px;line-height:1.25;font-weight:400;margin:0 0 10px}
.working-note p{font-size:14px;line-height:1.7;color:var(--muted,#b2afa8);margin:0 0 10px}
.working-note a{font-size:13px;text-decoration:underline;text-underline-offset:4px}
.work-collection{padding:40px 0 42px;border-top:1px solid var(--line,#555)}
.collection-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.collection-heading h3{font-size:clamp(28px,3vw,42px);font-weight:400;letter-spacing:-.025em;margin:0 0 12px}
.collection-heading p{font-size:15px;color:var(--muted,#b2afa8);max-width:58ch;line-height:1.65;margin:0}
.collection-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}
.collection-controls button{background:transparent;border:1px solid var(--line,#666);color:inherit;min-width:44px;min-height:44px;font-size:20px;cursor:pointer}
.collection-controls button:disabled{opacity:.3;cursor:default}
.collection-controls span{font-size:12px;min-width:40px;text-align:center;font-variant-numeric:tabular-nums}
.collection-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0;overscroll-behavior-inline:contain}
.collection-card{flex:0 0 calc((100% - 26px) / 2);min-width:0;scroll-snap-align:start}
.collection-card>a{display:block;color:inherit;text-decoration:none}
.collection-image{aspect-ratio:1.65;overflow:hidden;background:var(--surface,#222220);margin-bottom:20px}
.collection-image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .3s ease}
.collection-card a:hover img{transform:scale(1.025)}
.collection-card .project-kind{margin:0 0 9px;font-size:11px}
.collection-card h4{font-size:25px;font-weight:400;letter-spacing:-.02em;line-height:1.25;display:flex;justify-content:space-between;gap:15px;margin:0 0 12px}
.collection-card>a>p:last-child{font-size:14px;line-height:1.7;color:var(--muted,#b2afa8);max-width:45ch;margin:0}
.collection-service{display:inline-flex;margin-top:20px;font-size:13px}
.journal-list small{display:block;font-size:11px;margin-top:6px;color:var(--muted,#b2afa8)}
button:focus-visible,.collection-track:focus-visible{outline:2px solid #ff641e;outline-offset:4px}
@media(max-width:1000px){.about-personal{grid-template-columns:1fr;gap:40px}.about-statement{max-width:650px}.working-notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.working-note{display:block}.working-note img{width:100%;height:160px;margin-bottom:22px}.live-project{height:430px}}
@media(max-width:700px){.live-project{height:490px}.collection-heading{align-items:start;flex-direction:column;gap:18px}.collection-controls{align-self:flex-end}.collection-card{flex-basis:100%}.collection-track{gap:18px}.working-notes{display:block}.working-note{display:grid;grid-template-columns:100px 1fr;gap:18px;margin-bottom:24px}.working-note img{width:100px;height:120px;margin:0}.working-note h3{font-size:19px}.about-personal{padding:25px 0 40px}.about-statement h2{font-size:49px}.live-caption{font-size:11px;padding:7px 9px}.live-caption span{max-width:150px}.collection-card h4{font-size:23px}}
@media(prefers-reduced-motion:reduce){.project-film .film-frame,.live-poster,.collection-image img{transition:none}}

.services-section{display:block!important}.services-section>.section-intro{max-width:800px;margin-bottom:60px}.services-section .work-collection{width:100%;min-width:0}.services-section .service-links{margin-top:32px}
.linkedin-section{padding-top:48px;padding-bottom:90px;border-top:1px solid var(--line,#555)}
.linkedin-section h2{font-size:clamp(30px,3vw,44px);font-weight:400;letter-spacing:-.025em;line-height:1.15;margin:0 0 16px}
.linkedin-card{flex-basis:calc((100% - 52px) / 3)}
.linkedin-card .collection-image{aspect-ratio:1;background:var(--surface,#222220);margin-bottom:20px}
.linkedin-card .collection-image img{object-fit:contain;object-position:center;transition:none}
.linkedin-card a:hover img{transform:none}
.linkedin-card h3{font-size:23px;line-height:1.3;letter-spacing:-.02em;font-weight:400;margin:8px 0 18px}
.linkedin-date{font-size:13px;color:var(--muted,#b2afa8);margin:0}
.linkedin-post-link{font-size:13px;text-decoration:underline;text-underline-offset:5px}
.linkedin-card a:focus-visible{outline:2px solid #ff641e;outline-offset:-2px}
.linkedin-copy{font-size:16px;line-height:1.7;margin:14px 0 24px;overflow-wrap:anywhere}
.linkedin-copy p{margin:0 0 16px;white-space:pre-line}
.linkedin-copy summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;font-size:14px;min-height:44px;padding:9px 0}
.linkedin-copy details[open] summary{margin-bottom:12px}
.linkedin-card>.linkedin-post-link{display:inline-flex;align-items:center;gap:16px;padding:12px 18px;border:1px solid var(--line,#555);min-height:44px;text-decoration:none}
.linkedin-card>.linkedin-post-link:hover{border-color:#ff641e}
.linkedin-section .collection-track{align-items:flex-start}
.recent-placeholder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px;margin-top:48px}
:is(#work,#pitches) .section-bar{align-items:end;padding:32px 0;margin-bottom:12px}
#work-title,#pitches-title{font-size:clamp(36px,4vw,56px);font-weight:400;letter-spacing:-.03em;line-height:1.1}
.placeholder-art{aspect-ratio:1.45;background:var(--surface,#222220);border:1px solid var(--line,#555);display:flex;align-items:center;justify-content:center;position:relative}
.placeholder-art>span:first-child{position:absolute;top:24px;left:24px;font-size:13px;color:var(--muted,#b2afa8)}
.placeholder-cross{font-size:72px;font-weight:200;color:var(--muted,#b2afa8)}
.project-placeholder .project-caption{display:block}.project-placeholder h3{font-size:26px}
.completed-projects .working-note{padding-bottom:26px;border-bottom:1px solid var(--line,#555)}
.completed-projects .project-kind{font-size:11px;line-height:1.5;margin:0 0 10px;color:var(--muted,#b2afa8)}
.completed-placeholder-mark{width:116px;height:116px;display:flex;align-items:center;justify-content:center;background:var(--surface,#222220);font-size:34px;color:var(--muted,#b2afa8)}
@media(max-width:1000px){.completed-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.completed-projects .working-note{display:block}.completed-placeholder-mark{width:100%;height:160px;margin-bottom:22px}}
@media(max-width:700px){.recent-placeholder-grid{grid-template-columns:1fr;gap:28px}.completed-projects{display:block}.completed-projects .working-note{display:grid;grid-template-columns:100px 1fr}.completed-placeholder-mark{width:100px;height:120px;margin:0}}
.collection-controls .collection-pause{font-size:12px;padding:0 12px;min-width:65px}
@media(max-width:700px){.linkedin-section{padding-top:32px;padding-bottom:56px}.linkedin-card{flex-basis:100%}.linkedin-card h3{font-size:21px}}

/* Keep the featured project title, media and controls in one continuous frame. */
#work{padding-bottom:clamp(88px,9vw,140px)}
:is(#work,#pitches) .project-featured{border:1px solid var(--line);background:var(--surface);overflow:hidden}
:is(#work,#pitches) .project-featured .project-caption{padding:32px;gap:32px;align-items:center;grid-template-columns:1.2fr 1fr auto}
:is(#work,#pitches) .project-featured .project-caption h3{font-size:clamp(28px,3vw,42px);line-height:1.12;margin:0;max-width:20ch}
:is(#work,#pitches) .project-featured .project-caption>p{margin:0;max-width:44ch}
:is(#work,#pitches) .project-featured .project-kind{margin:0 0 12px}
:is(#work,#pitches) .project-featured .project-year{align-self:start;color:var(--orange)}
:is(#work,#pitches) .project-featured .project-image{padding:0;aspect-ratio:2.35;border-block:1px solid var(--line)}
:is(#work,#pitches) .project-featured .film-controls{padding:12px 24px}
:is(#work,#pitches) .project-featured a:focus-visible{outline:2px solid var(--orange);outline-offset:-3px}
:is(#work,#pitches) .project-featured h3 a:hover{color:var(--orange)}
.about-statement h2{color:var(--fg);font-family:inherit}
.about-statement .text-link span{color:var(--orange)}
.about-statement>.section-label::before{content:'';display:block;width:62px;height:2px;background:var(--orange);margin-bottom:24px}
@media(max-width:1000px){:is(#work,#pitches) .project-featured .project-caption{grid-template-columns:1.2fr 1fr;gap:24px}:is(#work,#pitches) .project-featured .project-year{display:none}}
@media(max-width:700px){:is(#work,#pitches) .project-featured .project-caption{display:block;padding:24px 20px}:is(#work,#pitches) .project-featured .project-caption>p{margin-top:18px}:is(#work,#pitches) .project-featured .project-image{aspect-ratio:1.35}:is(#work,#pitches) .project-featured .film-controls{padding:12px 16px;gap:10px}.about-statement h2{font-size:clamp(42px,11vw,60px)}}

/* Card-step collections keep touch scrolling and keyboard access without a scrollbar. */
.collection-track::-webkit-scrollbar{display:none}
.footer-services{padding:36px 0;border-top:1px solid var(--line)}
.footer-services h3{font-size:22px;font-weight:400;margin:0 0 20px}
.footer-services .service-links{margin:0;display:flex;flex-wrap:wrap;gap:16px 28px}
.footer-services a{font-size:14px;line-height:1.6}
@media(min-width:701px) and (max-width:1000px){.completed-projects{grid-template-columns:1fr}.completed-projects .working-note{display:grid;grid-template-columns:160px 1fr}}
/* Blog uses the same two-column project cards as the lower Recent Work grid. */
.blog-section .journal-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}
.blog-section h2{font-size:clamp(36px,4vw,56px);font-weight:400;letter-spacing:-.03em;line-height:1.1;margin:8px 0 0}
.blog-card .project-image{display:block;aspect-ratio:16/9;padding:0;overflow:hidden}
.blog-card .project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
@media(min-width:701px) and (max-width:1000px){.linkedin-card{flex-basis:calc((100% - 26px) / 2)}}
@media(max-width:700px){.blog-section .journal-heading{align-items:start;flex-direction:column}}
/* Featured pitch slides share the Recent Work featured-card treatment. */
.pitches-section{padding-bottom:clamp(48px,6vw,88px)}
.pitch-track{gap:0}
.pitch-track .pitch-card{flex:0 0 100%;margin:0;box-sizing:border-box}
#pitches .pitch-placeholder{margin:0;border-inline:0;border-bottom:0;background:var(--surface)}
.pitch-controls{padding:12px 24px;border:1px solid var(--line);border-top:0;background:var(--surface);margin:0}
.pitch-controls>span{font-size:13px}
@media(max-width:700px){.pitch-controls{padding:12px 16px;gap:12px;flex-wrap:wrap}.pitch-controls>span{width:100%}.pitch-controls .collection-controls{margin-left:auto}.pitch-track .pitch-card{flex-basis:100%}}
/* 1.4.0 (2026-10-08): clearer hero, static service grid, one work grid. */
.opening h1{font-size:clamp(44px,5.2vw,76px);line-height:1.04;letter-spacing:-.035em;max-width:13ch}
.opening-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:26px}
.opening-actions .button-light{display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:0 24px;font-size:15px;font-weight:600;text-decoration:none;border:1px solid var(--orange)}
.opening-actions .text-link{margin-top:0}
.opening-proof{list-style:none;margin:30px 0 0;padding:20px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;font-size:13px;color:var(--muted)}
.opening-proof li{display:flex;gap:12px;align-items:baseline}
.opening-proof li::before{content:'';flex:0 0 6px;height:6px;background:var(--orange);transform:translateY(-2px)}
.offer-section{padding-block:clamp(56px,7vw,110px) clamp(48px,6vw,90px)}
.offer-section .section-bar{align-items:end;padding:0 0 28px;margin-bottom:0;border-bottom:1px solid var(--line)}
.offer-section h2,#work-title{font-size:clamp(36px,4vw,56px);font-weight:400;letter-spacing:-.03em;line-height:1.1;margin:0}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid var(--line)}
.offer-card{display:flex;flex-direction:column;padding:34px 34px 36px 0}
.offer-card+.offer-card{padding-left:34px;border-left:1px solid var(--line)}
.offer-card .project-kind{font-size:11px;color:var(--orange);margin:0 0 18px}
.offer-card h3{font-size:clamp(26px,2.4vw,34px);font-weight:400;letter-spacing:-.025em;line-height:1.15;margin:0 0 16px}
.offer-card h3 a{color:inherit;text-decoration:none}.offer-card h3 a:hover{color:var(--orange)}
.offer-card>p:not(.project-kind){font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 22px}
.offer-links{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:2px}
.offer-links a{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);font-size:14px;color:var(--fg);text-decoration:none;min-height:44px;align-items:center}
.offer-links a::after{content:'→';color:var(--muted);transition:transform .2s ease,color .2s ease}
.offer-links a:hover::after{transform:translateX(4px);color:var(--orange)}
.offer-card>.text-link{margin-top:auto;align-self:flex-start}
.offer-industry{margin:26px 0 0;font-size:14px;color:var(--muted)}
.offer-industry a{color:var(--fg);text-decoration:underline;text-underline-offset:4px}
.offer-section>.service-links{display:none}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px;margin-top:56px}
.work-card .work-card-image{display:block;aspect-ratio:16/10;overflow:hidden;margin-bottom:20px}
.work-card .work-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .35s ease}
.work-card:hover .work-card-image img{transform:scale(1.03)}
.work-card .project-kind{font-size:11px;margin:0 0 10px}
.work-card h3{font-size:22px;font-weight:400;letter-spacing:-.02em;line-height:1.25;margin:0 0 10px}
.work-card h3 a{display:flex;justify-content:space-between;gap:14px;color:inherit;text-decoration:none}
.work-card h3 a span{color:var(--orange)}
.work-card h3 a:hover{color:var(--orange)}
.work-card>p:last-child{font-size:14px;line-height:1.7;color:var(--muted);margin:0;max-width:44ch}
.work-card a:focus-visible,.offer-card a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.about-compact{grid-template-columns:.9fr 1.1fr;align-items:end;padding-bottom:40px}
.about-copy p{font-size:17px;line-height:1.75;max-width:52ch;margin:0 0 20px}
.about-copy p:first-child{color:var(--fg)}
.about-copy p+p{color:var(--muted)}
.experience-details{margin-bottom:clamp(48px,6vw,90px)}
img[loading=lazy]{background:var(--surface,#222220)}
@media(max-width:1000px){.offer-grid{grid-template-columns:1fr}.offer-card,.offer-card+.offer-card{padding:30px 0;border-left:0}.offer-card+.offer-card{border-top:1px solid var(--line)}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-compact{grid-template-columns:1fr;align-items:start}}
@media(max-width:700px){.opening h1{font-size:clamp(38px,10.5vw,52px)}.opening-actions{gap:14px 22px}.opening-actions .button-light{width:100%;justify-content:space-between}.work-grid{grid-template-columns:1fr;gap:40px;margin-top:40px}.offer-section .section-bar{flex-direction:column;align-items:start;gap:10px}.about-copy p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.work-card .work-card-image img,.offer-links a::after{transition:none}}
