:root{
  color-scheme:dark;
  --bg:#101110;
  --surface:#161715;
  --paper:#f3f0e9;
  --muted:#a5a69d;
  --line:#353630;
  --accent:#d9dfc5;
  --font:"Familjen Grotesk",Arial,sans-serif;
  --serif:Georgia,"Times New Roman",serif;
  --gutter:clamp(1.25rem,4.5vw,5.5rem);
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--font);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait}
a{color:inherit;text-decoration:none}
button{color:inherit}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{color:var(--bg);background:var(--paper)}
h1,h2,h3,p{margin:0}
img,video{display:block;max-width:100%}
svg{width:24px;height:24px;flex:none}
[hidden]{display:none!important}
em{font-family:var(--serif);font-weight:400;letter-spacing:-.065em}
.container{width:calc(100% - var(--gutter)*2);max-width:var(--max);margin-inline:auto}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:100;transform:translateY(-180%);padding:.8rem 1rem;background:var(--paper);color:var(--bg)}
.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:30;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;min-height:88px;padding:.6rem var(--gutter);background:rgba(16,17,16,.96);transition:box-shadow .25s}
.site-header.scrolled{box-shadow:0 1px 0 var(--line)}
.wordmark{display:inline-flex;align-items:baseline;font-size:1rem;font-weight:700;letter-spacing:-.03em;min-height:44px;padding-top:10px;white-space:nowrap}
.wordmark-dot{color:var(--accent);font-size:1.4em;line-height:1}
.site-header nav{display:flex;align-items:center;gap:clamp(1rem,2.8vw,3rem)}
.site-header nav a{display:flex;align-items:center;gap:.6rem;min-height:44px;font-size:.9375rem;color:var(--muted);transition:color .2s}
.site-header nav a:hover,.site-header nav a.active{color:var(--paper)}
.site-header nav .nav-contact{color:var(--paper);border-bottom:1px solid var(--line)}
.nav-contact svg{width:17px;height:17px}
.hero{padding-top:142px}
.hero-eyebrow{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.875rem}
.hero h1{font-weight:600;font-size:clamp(3.75rem,17.8vw,17.5rem);line-height:1.01;letter-spacing:-.085em;margin:.4rem 0 1.35rem;white-space:nowrap}
.hero h1>span{color:var(--accent)}
.hero-film{isolation:isolate;position:relative;width:100%;aspect-ratio:2.9;min-height:280px;max-height:520px;overflow:hidden;background:var(--surface)}
.hero-poster,.hero-film>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 49%}
.hero-film>video{opacity:0;transition:opacity .6s}
.hero-film.is-playing>video{opacity:1}
.hero-film-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.02) 75%)}
.hero-film-caption{position:absolute;inset:auto 2rem 1.75rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}
.hero-film-caption>p{font-size:clamp(1.75rem,3.3vw,3.2rem);line-height:1.06;font-weight:500;letter-spacing:-.035em}
.hero-film-caption em{letter-spacing:-.05em}
.motion-toggle{display:flex;align-items:center;gap:.7rem;min-height:44px;padding:.5rem .9rem;background:rgba(16,17,16,.5);border:1px solid rgba(243,240,233,.3);border-radius:2rem;font-size:.8125rem;backdrop-filter:blur(10px)}
.motion-toggle:hover{background:rgba(16,17,16,.8)}
.motion-icon{font-family:Arial,sans-serif;font-size:.75rem;min-width:14px;text-align:center}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.hero-bottom>p{color:var(--muted)}
.text-link{display:inline-flex;align-items:center;gap:1rem;min-height:44px;padding:.25rem 0;font-weight:500}
.text-link span,.text-link svg{transition:transform .2s}
.text-link:hover span{transform:translateY(3px)}
.text-link:hover svg{transform:translate(2px,-2px)}
.work-section{padding-block:8.5rem 8rem}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3rem}
.eyebrow{color:var(--muted);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase}
.section-heading h2{font-size:clamp(2.3rem,4.9vw,5rem);font-weight:500;line-height:1.08;letter-spacing:-.055em;margin-top:1.1rem}
.section-note{padding-bottom:.3rem;font-size:.9375rem;line-height:1.7;flex:none}
.section-note span{color:var(--muted)}
.work-grid,.ai-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.5rem 1.75rem}
.project-card--featured,.project-card--closing{grid-column:1/-1}
.project-link{display:block}
.project-image{position:relative;isolation:isolate;aspect-ratio:16/10;overflow:hidden;background:#1c1d1a}
.project-image>img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.2,1)}
.project-card--featured .project-image{aspect-ratio:2/1}
.project-card--closing .project-image{aspect-ratio:2.4/1}
.image-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.4),transparent 40%);opacity:.8;transition:opacity .3s;pointer-events:none}
.feature-label,.collection-label{position:absolute;top:1.3rem;left:1.3rem;padding:.35rem .7rem;border:1px solid rgba(243,240,233,.25);border-radius:3rem;font-size:.75rem;color:#fff;background:rgba(0,0,0,.3);backdrop-filter:blur(12px)}
.feature-label{letter-spacing:.09em;text-transform:uppercase}
.play-button{position:absolute;right:1.25rem;bottom:1.25rem;display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.5rem .85rem;border-radius:3rem;font-size:.8125rem;color:#fff;background:rgba(16,17,16,.4);border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(12px);transition:background .25s,color .25s}
.play-button svg{width:19px;height:19px}
.project-link:hover .play-button,.project-link:focus-visible .play-button{background:var(--paper);color:var(--bg);border-color:var(--paper)}
.project-link:hover .project-image>img{transform:scale(1.025)}
.project-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 0 0}
.project-caption h3{font-size:clamp(1.15rem,1.6vw,1.65rem);font-weight:500;letter-spacing:-.035em;line-height:1.25}
.project-card--featured h3{font-size:clamp(1.4rem,2.3vw,2.4rem)}
.project-caption p{color:var(--muted);font-size:.875rem;margin-top:.35rem}
.project-arrow{display:flex;justify-content:center;align-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;flex:none;transition:background .25s,color .25s}
.project-arrow svg{width:16px;height:16px}
.project-link:hover .project-arrow{background:var(--paper);color:var(--bg)}
.ai-section{background:var(--surface);padding-block:7rem 8rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ai-section .section-heading{margin-bottom:3.5rem}
.project-image--triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.project-image--triptych>img{object-fit:cover;min-width:0}
.ai-card--closing{grid-column:1/-1;max-width:calc(50% - .875rem)}
.meta-separator{padding:0 .4rem;color:#66685f}
.about-section{padding-block:8rem}
.about-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;margin-bottom:6rem}
.about-intro h2{font-size:clamp(2.4rem,3.5vw,4rem);font-weight:500;line-height:1.14;letter-spacing:-.05em;margin-top:1.25rem}
.about-copy{padding-top:2.7rem;max-width:36rem}
.about-copy>p:first-child{font-size:clamp(1.125rem,1.7vw,1.6rem);line-height:1.5;letter-spacing:-.025em}
.about-copy>p+p{font-size:1rem;line-height:1.65;color:var(--muted);margin-top:1.3rem}
.about-copy .text-link{margin-top:1.3rem;border-bottom:1px solid var(--line)}
.about-copy .text-link svg{width:19px;height:19px}
.practice{display:grid;grid-template-columns:1fr 3fr;gap:2rem}
.practice>.eyebrow{padding-top:1.35rem}
.practice-list{border-top:1px solid var(--line)}
.practice-row{display:grid;grid-template-columns:2rem 1fr 1fr;align-items:baseline;gap:1.25rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}
.practice-row>span{font-size:.8125rem;color:var(--muted)}
.practice-row h3{font-size:1.25rem;font-weight:500;letter-spacing:-.025em}
.practice-row>p{font-size:.9375rem;color:var(--muted)}
.contact-section{background:var(--paper);color:var(--bg);padding-top:6rem;--line:#cacbc2;--muted:#56584f;--accent:#373e2b}
.contact-invitation{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem 0 3.5rem}
.contact-invitation h2{font-size:clamp(3.5rem,8.3vw,9rem);line-height:1;letter-spacing:-.065em;font-weight:500}
.contact-invitation em{letter-spacing:-.065em}
.contact-arrow{display:flex;align-items:center;justify-content:center;width:clamp(64px,9vw,140px);aspect-ratio:1;border:1px solid #a0a297;border-radius:50%;flex:none;transition:background .25s,color .25s}
.contact-arrow svg{width:44%;height:44%}
.contact-invitation:hover .contact-arrow{background:var(--bg);color:var(--paper)}
.contact-details{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:0 0 4rem}
.email-group{position:relative;display:flex;align-items:center;gap:.7rem;min-width:0}
.email-link{font-size:clamp(1rem,1.9vw,1.75rem);letter-spacing:-.025em;min-height:44px;display:flex;align-items:center;border-bottom:1px solid var(--line)}
.copy-email{display:grid;place-items:center;min-width:44px;min-height:44px;background:none;border:1px solid var(--line);border-radius:50%}
.copy-email:hover{background:#e0e1d7}
.copy-email svg{width:18px;height:18px}
.copy-status{position:absolute;left:0;top:100%;padding-top:.4rem;font-size:.8125rem}
.contact-details nav{display:flex;gap:1.5rem}
.contact-details nav a{display:flex;align-items:center;gap:.5rem;min-height:44px;font-size:.9375rem}
.contact-details nav svg{width:16px;height:16px}
.contact-details nav a:hover{text-decoration:underline;text-underline-offset:5px}
footer{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.1rem 0;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted)}
footer>a{display:flex;align-items:center;gap:.8rem;min-height:44px;color:var(--bg)}
.project-dialog{position:fixed;inset:0;margin:auto;width:min(1180px,calc(100% - 48px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);background:var(--bg);color:var(--paper);overscroll-behavior:contain;scrollbar-gutter:stable}
.project-dialog::backdrop{background:rgba(0,0,0,.86);backdrop-filter:blur(8px)}
.dialog-inner{padding:1.5rem 2rem 2rem}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.dialog-close{display:flex;align-items:center;gap:1rem;min-height:44px;padding:.25rem .5rem;border:0;background:transparent;font-size:.875rem}
.dialog-close>span{font-size:1.8rem;line-height:1}
.dialog-close:hover{color:var(--accent)}
.player-stage{position:relative;display:grid;place-items:center;background:#000;min-height:180px}
.player-stage video{width:100%;max-height:64dvh;min-height:180px;object-fit:contain;aspect-ratio:16/9}
.player-status{position:absolute;left:1rem;top:1rem;background:rgba(0,0,0,.8);padding:.45rem .8rem;border-radius:2rem;font-size:.8125rem;pointer-events:none}
.player-fallback{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 0;font-size:.875rem;color:var(--muted)}
.player-fallback a{color:var(--paper);display:flex;align-items:center;gap:.6rem;text-decoration:underline;text-underline-offset:4px}
.player-fallback svg{width:16px;height:16px}
.dialog-info{display:grid;grid-template-columns:1.4fr .6fr;gap:3rem;padding:1.8rem 0 .5rem}
.dialog-info h2{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:500;line-height:1.15;letter-spacing:-.045em}
.dialog-info p{font-size:1rem;color:var(--muted);margin-top:1rem;max-width:38rem}
.dialog-info dl{margin:0;display:flex;flex-direction:column;gap:1rem}
.dialog-info dt{font-size:.75rem;color:var(--muted);margin-bottom:.2rem}
.dialog-info dd{margin:0;font-size:.9375rem}
.collection-picker{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.5rem}
.collection-films{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.collection-films button{display:flex;align-items:center;gap:.6rem;min-height:44px;background:none;border:1px solid var(--line);padding:.6rem .9rem;font-size:.875rem;text-align:left}
.collection-films button[aria-pressed="true"]{color:var(--bg);background:var(--paper);border-color:var(--paper)}
.collection-films button>span{font-size:.75rem;opacity:.65}
.collection-films button:hover{border-color:var(--paper)}
@media(min-width:1600px){.site-header{padding-inline:max(var(--gutter),calc((100vw - var(--max))/2))}}
@media(max-width:1000px){
  .hero-edition{display:none}.hero h1{font-size:18vw}.hero-film{aspect-ratio:2.3}
  .section-heading{align-items:flex-start}.section-note{font-size:.875rem;padding-top:2.6rem}
  .section-heading h2{max-width:11ch}.work-section{padding-top:6rem}
  .about-intro{gap:2.5rem;grid-template-columns:1fr 1fr}.practice{grid-template-columns:1fr}.practice>.eyebrow{padding-top:0}
  .contact-details{align-items:flex-start;flex-direction:column;gap:1.5rem}
}
@media(max-width:680px){
  html{scroll-padding-top:8rem}.site-header{min-height:104px;flex-wrap:wrap;justify-content:space-between;padding:.5rem var(--gutter)}
  .wordmark{font-size:.9375rem;min-height:38px;padding-top:6px}
  .site-header nav{width:100%;justify-content:space-between;gap:.8rem}.site-header nav a{font-size:.875rem;min-height:40px}.site-header nav .nav-contact{border-bottom:0}
  .hero{padding-top:134px}.hero-eyebrow{font-size:.8125rem;line-height:1.5;max-width:25rem}.hero h1{font-size:17.7vw;line-height:1.12;margin:.5rem 0 1.1rem;letter-spacing:-.08em}
  .hero-film{aspect-ratio:4/4.6;min-height:0;max-height:580px}.hero-poster,.hero-film>video{object-position:50% 50%}
  .hero-film-caption{inset:auto 1.2rem 1.2rem;align-items:flex-end}.hero-film-caption>p{font-size:1.9rem}
  .motion-toggle{padding:.55rem;min-width:40px;min-height:40px}.motion-label{display:none}
  .hero-bottom{align-items:flex-start;gap:.4rem;flex-direction:column;padding:.9rem 0;font-size:.875rem}.hero-bottom .text-link{min-height:40px}
  .work-section{padding-block:4.5rem 4.5rem}.section-heading{display:block;margin-bottom:2rem}.section-heading h2{font-size:2.65rem;max-width:14ch;line-height:1.1;margin-top:1rem}
  .section-note{padding-top:1rem;font-size:.875rem}.section-note br{display:none}.section-note span{margin-left:.5rem}
  .work-grid,.ai-grid{grid-template-columns:1fr;gap:2.5rem}.project-card--featured,.project-card--closing,.ai-card--closing{grid-column:auto;max-width:none}
  .project-image,.project-card--featured .project-image,.project-card--closing .project-image{aspect-ratio:16/10}
  .project-caption{padding-top:.85rem}.project-caption h3,.project-card--featured h3{font-size:1.25rem}.project-caption p{font-size:.875rem}
  .project-arrow{width:32px;height:32px}.play-button{right:.8rem;bottom:.8rem;min-height:40px;padding:.4rem .65rem;font-size:.75rem}.play-button svg{width:16px;height:16px}
  .feature-label,.collection-label{top:.8rem;left:.8rem;font-size:.75rem}.feature-label{padding:.3rem .6rem}
  .ai-section{padding-block:4.5rem}.ai-section .section-heading{margin-bottom:2rem}.meta-separator{padding:0 .2rem}
  .about-section{padding-block:4.5rem}.about-intro{grid-template-columns:1fr;gap:1.75rem;margin-bottom:3.5rem}.about-intro h2{font-size:2.4rem}.about-copy{padding-top:0;max-width:none}.about-copy>p:first-child{font-size:1.25rem}
  .practice{gap:1.25rem}.practice-row{grid-template-columns:1.5rem 1fr;gap:.25rem .6rem;padding:1.1rem 0}.practice-row h3{font-size:1.2rem}.practice-row>p{grid-column:2;font-size:.875rem}
  .contact-section{padding-top:4rem}.contact-invitation{gap:.5rem;padding:1.75rem 0 2rem;align-items:flex-end}.contact-invitation h2{font-size:clamp(2.8rem,10.5vw,4.8rem)}.contact-arrow{width:44px;margin-bottom:.35rem}
  .contact-details{padding-bottom:2.5rem;gap:1.4rem;width:100%}.email-group{gap:.5rem;width:100%}.email-link{font-size:clamp(.9375rem,4.1vw,1.3rem);overflow-wrap:anywhere}.copy-email{width:40px;min-width:40px;min-height:40px}
  .contact-details nav{gap:1.5rem}.contact-details nav a{font-size:.875rem}
  footer{flex-wrap:wrap;gap:.5rem;font-size:.75rem}.footer-note{display:none}
  .project-dialog{width:100%;max-width:100%;max-height:100dvh;border:0;margin:auto 0 0}.dialog-inner{padding:1rem 1.25rem 1.5rem}.dialog-top{margin-bottom:.75rem}
  .dialog-info{grid-template-columns:1fr;gap:1.25rem;padding-top:1.4rem}.dialog-info dl{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.dialog-info h2{font-size:1.7rem}
  .player-stage,.player-stage video{min-height:0}.player-stage video{max-height:60dvh}.player-fallback{align-items:flex-start;flex-direction:column;gap:.7rem}
  .collection-films{gap:.5rem}.collection-films button{padding:.6rem .75rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.project-link:hover .project-image>img{transform:none}}
