/* The full portfolio continues the holding page's cream, olive and Anton. */
.portfolio { --paper:#fff5da; --olive:#242a1e; --ink:#242a1e; --soft:#e2dccb; background:var(--olive); color:var(--paper); font-family:Arial,Helvetica,sans-serif; }
.portfolio h1,.portfolio h2,.portfolio h3,.portfolio p { margin:0; color:inherit; }
.portfolio h1,.portfolio h2 { font-weight:400; }
.portfolio h2 { font:400 clamp(48px,6.7vw,106px)/.99 Anton,'Arial Narrow',Impact,sans-serif; letter-spacing:-.025em; text-transform:uppercase; }
.portfolio h3 { font:400 clamp(28px,3.2vw,48px)/1.08 Georgia,serif; letter-spacing:-.04em; }
.portfolio p { line-height:1.7; }
.portfolio img { display:block; max-width:100%; object-fit:cover; }
.portfolio a { color:inherit; }
.portfolio button { font:inherit; }
.portfolio :focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.portfolio .skip-link { z-index:100; }
.section-pad { padding:clamp(64px,8vw,128px) 5%; }
.portfolio .kicker { font-size:10px; letter-spacing:.16em; line-height:1.5; text-transform:uppercase; }
.portfolio-header { position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; padding:26px 5%; gap:24px; }
.small-wordmark { font:400 32px/1 Anton,Impact,sans-serif; text-decoration:none; }
.small-wordmark span { color:#b6be87; }
.portfolio-header nav { display:flex; gap:clamp(20px,3vw,48px); align-items:center; }
.portfolio-header nav a { padding:10px 0; font-size:11px; text-decoration:none; }
.portfolio-header nav a:hover { text-decoration:underline; }
.portfolio-hero { min-height:100svh; position:relative; isolation:isolate; display:flex; flex-direction:column; }
.portfolio-hero .hero-photo { object-position:48% center; }
.portfolio-hero .hero-shade { background:linear-gradient(180deg,rgba(15,23,10,.58),transparent 38%,rgba(15,23,10,.25) 58%,rgba(15,23,10,.82)),linear-gradient(90deg,rgba(15,23,10,.63),transparent 67%); }
.hero-topline { display:flex; justify-content:space-between; padding:10px 5%; font-size:12px; }
.hero-topline p:last-child { font-size:10px; }
.hero-film { padding:clamp(68px,13vh,150px) 5% 64px; }
.hero-film .kicker { margin-bottom:17px; }
.portfolio .hero-film h2 { font:400 clamp(38px,4.7vw,72px)/1.05 Georgia,serif; text-transform:none; letter-spacing:-.04em; margin-bottom:14px; }
.hero-film>p:not(.kicker) { font-size:13px; margin-bottom:24px; }
.hero-identity { margin-top:auto; padding:0 5% 28px; }
.portfolio .hero-identity h1 { font:400 clamp(40px,13.9vw,260px)/1.04 Anton,'Arial Narrow',Impact,sans-serif; white-space:nowrap; letter-spacing:-.025em; text-transform:uppercase; margin:0 0 18px; }
.hero-bottom { display:flex; justify-content:space-between; font-size:11px; }
.hero-bottom a { text-decoration:none; padding:8px 0; }
.hero-bottom p { padding:8px 0; }
.intent { background:var(--paper); color:var(--ink); display:grid; grid-template-columns:1fr 1fr; gap:32px 7%; padding-block:clamp(80px,10vw,155px); }
.intent>.kicker { grid-column:1/-1; }
.intent h2 { font-size:clamp(48px,6vw,90px); }
.intent-copy { max-width:480px; align-self:end; font-size:clamp(18px,1.7vw,25px); }
.section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:24px; padding-bottom:26px; border-bottom:1px solid currentColor; }
.feature { padding-top:80px; }
.feature-heading { display:grid; grid-template-columns:1.6fr 1fr; align-items:end; gap:6%; padding:54px 0 40px; }
.feature-heading h2 { font-size:clamp(64px,9.3vw,150px); }
.feature-heading h2 em { font:italic 400 1.15em/.9 Georgia,serif; text-transform:none; letter-spacing:-.07em; }
.feature-heading>div { padding-bottom:10px; }
.feature-heading>div>.kicker { margin-bottom:20px; }
.feature-heading>div>p:not(.kicker) { font-size:24px; line-height:1.4; margin-bottom:28px; }
.feature-image { display:block; position:relative; text-decoration:none; overflow:hidden; }
.feature-image img { width:100%; aspect-ratio:1.95; object-position:center 47%; transition:transform .8s; }
.feature-image:hover img { transform:scale(1.025); }
.feature-image>span { position:absolute; left:24px; right:24px; bottom:20px; display:flex; justify-content:space-between; font-size:11px; text-shadow:0 1px 8px #000; }
.feature-proof { display:grid; grid-template-columns:1.15fr .7fr 1fr; gap:6%; padding:32px 0 0; font-size:13px; }
.feature-proof>div>.kicker { opacity:.7; margin-bottom:9px; }
.feature-proof>div:last-child { display:flex; flex-direction:column; align-items:start; gap:14px; }
.selected { background:#1b2018; }
.section-intro { display:grid; grid-template-columns:1.1fr 1fr; gap:8%; align-items:end; padding:54px 0 64px; }
.section-intro>p { font-size:16px; max-width:410px; }
.project-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:64px 5%; }
.project-card { position:relative; grid-column:span 7; min-width:0; }
.project-card:nth-child(4n+2),.project-card:nth-child(4n+3) { grid-column:span 5; }
.project-card:nth-child(4n+2) { padding-top:96px; }
.project-card:nth-child(4n+3) { padding-top:64px; }
.project-card>a { display:block; text-decoration:none; }
.project-card img { width:100%; aspect-ratio:1.9; transition:filter .3s,transform .5s; }
.project-card a:hover img { filter:brightness(1.1); }
.card-caption { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0 0; border-bottom:1px solid #656957; padding-bottom:20px; }
.card-caption .kicker { margin-bottom:8px; opacity:.7; font-size:9px; }
.card-caption h3 { margin-bottom:10px; }
.card-role { font-size:11px; }
.card-arrow { border:1px solid #656957; border-radius:50%; width:42px; height:42px; display:grid; place-items:center; flex:none; transition:background .3s,color .3s; }
.project-card a:hover .card-arrow { background:var(--paper); color:var(--ink); }
.card-index { position:absolute; top:14px; left:14px; font-size:9px; background:rgba(27,32,24,.85); padding:6px 8px; }
.project-card:nth-child(4n+2) .card-index { top:110px; }
.project-card:nth-child(4n+3) .card-index { top:78px; }
.visual-aside { margin-top:96px; border-top:1px solid #656957; padding-top:40px; display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:center; }
.visual-aside h3 { font-size:clamp(40px,5vw,72px); margin:18px 0; }
.visual-aside p:not(.kicker) { font-size:13px; margin-bottom:24px; }
.visual-aside img { width:100%; aspect-ratio:1.77; }
.section-end { padding-top:40px; }
.about-section { display:grid; grid-template-columns:1fr 1fr; gap:9%; background:var(--paper); color:var(--ink); align-items:center; }
.about-image img { width:100%; aspect-ratio:.9; object-position:52% center; }
.about-image .kicker { margin-top:16px; opacity:.7; }
.about-copy>.kicker { margin-bottom:24px; }
.about-copy h2 { font-size:clamp(46px,5.6vw,88px); margin-bottom:32px; }
.about-copy>p:not(.kicker) { font-size:15px; margin-bottom:20px; max-width:470px; }
.about-copy .about-signature { font:italic 28px Georgia,serif; margin-top:30px; }
.press-section .section-heading h2 { font:400 clamp(24px,3vw,40px)/1.2 Georgia,serif; text-transform:none; letter-spacing:-.035em; }
.press-row { display:grid; grid-template-columns:1fr 1.8fr auto; align-items:center; gap:24px; padding:30px 0; border-bottom:1px solid #656957; text-decoration:none; font-size:15px; }
.press-row:hover { color:#d4dda9; }
.comedy-path { background:#363d2c; display:grid; grid-template-columns:1fr 2fr; gap:7%; }
.comedy-path h2 { margin-bottom:26px; }
.comedy-path p:not(.kicker) { max-width:420px; margin-bottom:28px; font-size:15px; }
.contact-section { background:var(--paper); color:var(--ink); }
.contact-section>.kicker { margin-bottom:32px; }
.contact-section h2 { font-size:clamp(64px,10vw,158px); }
.contact-bottom { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-top:56px; }
.contact-bottom>p { font-size:13px; }
.contact-email { font:400 clamp(15px,2.25vw,36px)/1.4 Georgia,serif; text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:10px; overflow-wrap:anywhere; }
.portfolio-footer { padding:32px 5%; display:flex; justify-content:space-between; align-items:center; gap:24px; font-size:10px; }
.portfolio-footer a { text-decoration:none; padding:8px 0; }
.portfolio-footer a:hover { text-decoration:underline; }
.portfolio-footer>div { display:flex; gap:24px; }
.project-intro { padding-top:45px; }
.back-link { display:inline-block; margin-bottom:64px; text-decoration:none; font-size:11px; padding:8px 0; }
.project-intro>.kicker { margin-bottom:24px; }
.portfolio .project-intro h1 { font:400 clamp(56px,10vw,156px)/1.06 Anton,Impact,sans-serif; text-transform:uppercase; letter-spacing:-.025em; max-width:1200px; margin:0; }
.project-actions { display:flex; gap:24px; flex-wrap:wrap; margin-top:38px; }
.project-cover { background:transparent; }
.project-cover img { width:100%; max-height:80vh; aspect-ratio:2.1; }
.project-cover figcaption { padding:16px 5%; font-size:10px; }
.project-details { display:grid; grid-template-columns:1.2fr 1fr; gap:12%; background:var(--paper); color:var(--ink); }
.project-logline { font:400 clamp(24px,2.8vw,40px)/1.4 Georgia,serif; margin-bottom:28px!important; }
.project-details p:not(.project-logline) { font-size:14px; }
.project-details dl { margin:0; font-size:13px; }
.project-details dl>div { display:grid; grid-template-columns:1fr 1.8fr; gap:16px; border-top:1px solid #a2a18d; padding:16px 0; }
.project-details dt { font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.project-details dd { margin:0; line-height:1.6; }
.project-video>h2 { font-size:48px; margin:20px 0 32px; }
.video-shell { position:relative; aspect-ratio:16/9; background:#10140e; }
.video-shell img,.video-shell iframe { width:100%; height:100%; border:0; }
.video-shell img { filter:brightness(.65); }
.play-button { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); border:1px solid var(--paper); border-radius:100px; padding:20px 28px; color:var(--paper); background:rgba(27,32,24,.85); cursor:pointer; white-space:nowrap; }
.play-button span { margin-right:12px; }
.play-button:hover { background:var(--paper); color:var(--ink); }
.video-note { margin-top:20px!important; font-size:11px; display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.next-project { background:#363d2c; }
.next-project>.kicker { margin-bottom:24px; }
.next-project>a { display:flex; justify-content:space-between; font:400 clamp(32px,5vw,80px)/1.1 Georgia,serif; letter-spacing:-.035em; text-decoration:none; gap:24px; }
.comedy-intro { padding-top:70px; }
.portfolio .comedy-intro h1 { font:400 clamp(64px,11vw,166px)/1.02 Anton,Impact,sans-serif; letter-spacing:-.025em; text-transform:uppercase; margin:30px 0 40px; }
.comedy-intro-bottom { display:flex; justify-content:space-between; gap:24px; align-items:end; }
.comedy-intro-bottom p { font-size:15px; }
.comedy-work { background:#1b2018; }
.comedy-work .section-heading h2 { font:400 clamp(26px,3.5vw,54px)/1.2 Georgia,serif; text-transform:none; }
.comedy-grid { margin-top:48px; }
.comedy-grid .project-card,.comedy-grid .project-card:nth-child(2) { grid-column:span 6; padding-top:0; }
.comedy-grid .card-index,.comedy-grid .project-card:nth-child(2) .card-index { top:14px; }
.comedy-process { background:#363d2c; }
.comedy-process>.kicker { margin-bottom:32px; }
.comedy-process h2 { font-size:clamp(42px,5.7vw,88px); margin-bottom:32px; }
.process-intro { font-size:17px; max-width:600px; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:6%; margin-top:64px; }
.process-grid>div { border-top:1px solid #838a72; padding-top:20px; }
.process-grid h3 { font-size:32px; margin:20px 0; }
.process-grid p:not(.kicker) { font-size:14px; }
.portfolio .credit-link { border-color:currentColor; }
.portfolio .intent .credit-link::before,.portfolio .contact-section .credit-link::before { background:var(--ink); }
.portfolio .intent .credit-link:hover,.portfolio .contact-section .credit-link:hover { color:var(--paper); }
@media(min-width:1800px) { .section-pad { padding-inline:max(5%,calc((100vw - 1620px)/2)); } }
@media(max-width:900px) {
 .feature-proof { grid-template-columns:1fr 1fr; gap:28px; }
 .feature-proof>div:last-child { grid-column:1/-1; flex-direction:row; flex-wrap:wrap; }
 .portfolio-footer { flex-wrap:wrap; }
 .portfolio-footer>div { flex-basis:100%; }
 .contact-bottom { flex-direction:column; align-items:start; }
 .contact-email { font-size:clamp(18px,4vw,32px); }
}
@media(max-width:700px) {
 .section-pad { padding:64px 24px; }
 .portfolio-header { padding:20px 24px; gap:12px; }
 .portfolio-header nav { gap:18px; }
 .portfolio-header nav a { font-size:10px; }
 .small-wordmark { font-size:28px; }
 .hero-topline { padding:8px 24px; }
 .hero-topline p:last-child { display:none; }
 .hero-film { padding:80px 24px 64px; }
 .hero-film .kicker { font-size:9px; }
 .portfolio .hero-film h2 { font-size:40px; }
 .hero-identity { padding:0 24px 24px; }
 .portfolio .hero-identity h1 { font-size:23vw; white-space:normal; line-height:1.02; margin-bottom:24px; }
 .hero-identity h1 span { display:block; }
 .hero-bottom { font-size:10px; gap:20px; }
 .intent,.section-intro,.about-section,.comedy-path,.project-details { grid-template-columns:1fr; gap:32px; }
 .intent h2 { font-size:56px; }
 .intent-copy { font-size:18px; }
 .section-heading { gap:18px; padding-bottom:20px; }
 .section-heading .kicker { font-size:9px; }
 .feature-heading { grid-template-columns:1fr; gap:36px; padding:40px 0; }
 .feature-heading h2 { font-size:23vw; }
 .feature-heading>div>p:not(.kicker) { font-size:20px; }
 .feature-image img { aspect-ratio:1.25; }
 .feature-image>span { left:14px; right:14px; font-size:9px; }
 .feature-proof { grid-template-columns:1fr; }
 .feature-proof>div:last-child { grid-column:auto; flex-direction:column; }
 .section-intro { padding:40px 0; }
 .section-intro>p { font-size:15px; }
 .project-grid { display:block; }
 .project-card,.project-card:nth-child(n) { padding-top:0; margin-bottom:40px; }
 .project-card:nth-child(n) .card-index { top:14px; }
 .project-card img { aspect-ratio:1.65; }
 .card-caption h3 { font-size:32px; }
 .visual-aside { margin-top:24px; grid-template-columns:1fr; gap:32px; }
 .visual-aside>a { grid-row:1; }
 .section-end { padding-top:32px; }
 .about-image img { aspect-ratio:1.1; }
 .about-copy h2 { font-size:56px; }
 .about-copy>p:not(.kicker) { font-size:15px; }
 .press-section .section-heading { display:block; }
 .press-section .section-heading>.kicker { margin-bottom:20px; }
 .press-row { grid-template-columns:1fr auto; gap:14px; font-size:14px; padding:24px 0; }
 .press-row>.kicker { grid-column:1/-1; }
 .press-row>span:last-of-type:not(.sr-only) { grid-column:2; grid-row:2; }
 .comedy-path h2 { font-size:56px; }
 .contact-section h2 { font-size:16vw; }
 .contact-bottom { gap:32px; margin-top:40px; }
 .contact-email { font-size:clamp(16px,5.1vw,28px); }
 .portfolio-footer { padding:28px 24px; align-items:start; flex-direction:column; gap:16px; }
 .portfolio-footer>div { flex-wrap:wrap; gap:24px; }
 .portfolio .project-intro h1 { font-size:16vw; overflow-wrap:anywhere; }
 .back-link { margin-bottom:40px; }
 .project-cover img { aspect-ratio:1.4; }
 .project-cover figcaption { padding:14px 24px; }
 .project-actions { gap:16px; margin-top:28px; }
 .project-details { gap:40px; }
 .project-video>h2 { font-size:38px; }
 .play-button { padding:15px 20px; }
 .next-project>a { font-size:36px; }
 .portfolio .comedy-intro h1 { font-size:19vw; }
 .comedy-intro-bottom { flex-direction:column; align-items:start; gap:32px; }
 .comedy-work .section-heading { display:block; }
 .comedy-work .section-heading .kicker { margin-bottom:20px; }
 .process-grid { grid-template-columns:1fr; gap:32px; margin-top:40px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Director-first homepage refinement. The project and comedy routes keep the
   shared components above; these rules remove the portfolio-template staging. */
.portfolio-hero .portfolio-header { position:absolute; inset:0 0 auto; }
.portfolio-hero .hero-identity { position:relative; z-index:2; margin:auto 0 0; padding:0 5% clamp(100px,14vh,160px); }
.portfolio .hero-identity h1 { margin:0; font-size:clamp(64px,13.2vw,230px); line-height:.86; white-space:normal; }
.hero-identity>p { margin-top:24px; font:italic 400 clamp(22px,2.7vw,42px)/1 Georgia,serif; }
.hero-credit { position:relative; z-index:2; display:flex; justify-content:space-between; gap:24px; margin:0 5% 30px; padding-top:16px; border-top:1px solid rgba(255,245,218,.65); text-decoration:none; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.hero-credit:hover span:first-child { text-decoration:underline; text-underline-offset:5px; }
.trailer { background:#11150f; padding-top:clamp(64px,7vw,100px); }
.trailer .section-heading h2 { font:400 clamp(20px,2.2vw,34px)/1.2 Georgia,serif; letter-spacing:-.03em; text-transform:none; }
.trailer-frame { position:relative; display:block; margin-top:38px; overflow:hidden; text-decoration:none; }
.trailer-frame img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:center 47%; transition:transform .7s,filter .4s; }
.trailer-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.58)); pointer-events:none; }
.trailer-frame:hover img { transform:scale(1.015); filter:brightness(.82); }
.trailer-play { position:absolute; z-index:1; left:50%; top:50%; transform:translate(-50%,-50%); padding:18px 24px; border:1px solid currentColor; border-radius:99px; background:rgba(15,18,13,.75); font-size:12px; white-space:nowrap; }
.trailer-play b { margin-left:14px; font-weight:400; }
.feature { background:var(--paper); color:var(--ink); }
.feature-heading { align-items:start; grid-template-columns:1.6fr 1fr; padding:0 0 clamp(44px,6vw,84px); }
.feature-heading .kicker { margin-bottom:24px; }
.feature-heading h2 { font-size:clamp(70px,10vw,160px); line-height:.84; }
.feature-meta { padding-top:42px; font:400 clamp(18px,2vw,30px)/1.55 Georgia,serif; }
.feature-proof { padding-top:36px; border-top:1px solid #a9a58f; }
.feature-proof>p { font:400 clamp(20px,2.1vw,32px)/1.45 Georgia,serif; max-width:660px; }
.feature-proof .credit-link::before { background:var(--ink); }
.feature-proof .credit-link:hover { color:var(--paper); }
.selected { padding-top:clamp(70px,8vw,120px); }
.selected .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px 3%; }
.selected .project-card,.selected .project-card:nth-child(n) { grid-column:auto; padding-top:0; }
.selected .project-card:nth-child(n) .card-index { top:14px; }
.selected .project-card img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.harir-art { width:100%; aspect-ratio:16/9; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 25% 30%,#c7ad7e 0 2%,transparent 22%),linear-gradient(135deg,#4a271f,#b56f4c 50%,#1e271c); }
.harir-art span { font:400 clamp(52px,8vw,128px)/1 Anton,Impact,sans-serif; letter-spacing:.08em; color:#f5e4bd; mix-blend-mode:screen; }
.recognition { display:flex; justify-content:space-between; gap:24px; padding:32px 0 0; font:400 clamp(18px,2vw,30px)/1.3 Georgia,serif; }
.press-section .section-heading { align-items:end; }
.about-copy h2 { line-height:.88; }

@media(max-width:700px) {
 .portfolio-header nav { max-width:280px; justify-content:flex-end; flex-wrap:wrap; row-gap:2px; }
 .portfolio-hero { min-height:100svh; }
 .portfolio-hero .hero-photo { object-position:56% center; }
 .portfolio-hero .hero-identity { padding:0 24px 110px; }
 .portfolio .hero-identity h1 { font-size:22vw; line-height:.88; }
 .hero-identity>p { font-size:23px; margin-top:18px; }
 .hero-credit { margin:0 24px 24px; font-size:9px; }
 .trailer-frame { margin-top:24px; }
 .trailer-frame img { aspect-ratio:auto; min-height:0; }
 .trailer-play { padding:13px 16px; font-size:10px; }
 .feature-heading { grid-template-columns:1fr; gap:18px; }
 .feature-heading h2 { font-size:21vw; }
 .feature-meta { padding-top:0; font-size:19px; }
 .feature-proof>p { font-size:21px; }
 .selected .project-grid { display:grid; grid-template-columns:1fr; gap:42px; }
 .selected .project-card { margin:0; }
 .selected .project-card img,.harir-art { aspect-ratio:auto; min-height:210px; }
 .recognition { flex-direction:column; gap:13px; }
 .about-image img { height:auto; aspect-ratio:auto; object-fit:contain; }
}


.contact-form[hidden], .contact-confirmation[hidden] { display:none!important; }
@media print { .contact-form { display:none!important; } }
