
    :root {
      --bg: #0c0b09;
      --surface: #131109;
      --surface2: #1a1810;
      --border: #272318;
      --border2: #332e20;
      --text: #ede7db;
      --muted: #6b6255;
      --muted2: #9c8f7e;
      --accent: #c4a45a;
      --accent-dim: #6e5c2e;
      --font-display: 'Cormorant Garamond', Georgia, serif;
      --font-body: 'DM Mono', monospace;
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      background: var(--bg);
      color: var(--text);
      font-family: var(--font-body);
      font-size: 13px;
      font-weight: 300;
      line-height: 1.75;
      overflow-x: hidden;
    }
    body::after {
      content: '';
      position: fixed;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
      pointer-events: none;
      z-index: 9998;
      opacity: 0.3;
      mix-blend-mode: overlay;
    }

    /* NAV */
    nav {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 200;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 26px 56px;
      background: linear-gradient(to bottom, rgba(12,11,9,0.98) 0%, rgba(12,11,9,0.85) 60%, transparent 100%); backdrop-filter: blur(2px);
    }
    .nav-logo { font-family: var(--font-display); font-size: 16px; font-weight: 400; letter-spacing: 0.06em; color: var(--text); text-decoration: none; }
    .nav-links { display: flex; gap: 36px; list-style: none; }
    .nav-links a { color: var(--muted); text-decoration: none; font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; transition: color 0.2s; }
    .nav-links a:hover { color: var(--accent); }

    /* HERO */
    #hero { min-height: 100vh; display: grid; grid-template-columns: 55% 45%; overflow: hidden; }
    .hero-left { display: flex; flex-direction: column; justify-content: flex-end; padding: 120px 56px 80px; position: relative; z-index: 2; }
    .hero-eyebrow { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); margin-bottom: 24px; display: flex; align-items: center; gap: 12px; }
    .hero-eyebrow::before { content: ''; display: block; width: 32px; height: 1px; background: var(--accent); }
    .hero-name { font-family: var(--font-display); font-size: clamp(72px, 8vw, 120px); font-weight: 300; line-height: 0.88; letter-spacing: -0.02em; margin-bottom: 40px; }
    .hero-name em { font-style: italic; color: var(--accent); display: inline; }
    .hero-desc { font-size: 12px; color: var(--muted2); line-height: 1.85; max-width: 380px; padding-left: 20px; border-left: 1px solid var(--accent-dim); }
    .hero-pipeline { margin-top: 18px; padding-left: 20px; max-width: 430px; font-size: 11px; letter-spacing: 0.03em; line-height: 1.6; color: var(--accent); }
    .hero-stats { display: flex; gap: 48px; flex-wrap: wrap; margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--border2); }
    .stat-num { font-family: var(--font-display); font-size: 36px; font-weight: 300; color: var(--accent); line-height: 1; }
    .stat-label { font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-top: 4px; }
    .hero-right { position: relative; overflow: hidden; }
    .hero-photo { position: absolute; inset: 0; background-image: url('images/hero-cap.jpg'); background-size: cover; background-position: center top; filter: grayscale(10%) contrast(1.06); }
    .hero-photo-overlay { position: absolute; inset: 0; background: linear-gradient(to right, var(--bg) 0%, rgba(12,11,9,0.25) 40%, transparent 70%), linear-gradient(to top, var(--bg) 0%, transparent 25%); z-index: 1; }
    .hero-caption { position: absolute; bottom: 56px; right: 56px; z-index: 3; font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-dim); writing-mode: vertical-rl; }
    .hero-bg-text { position: absolute; bottom: -20px; right: -10px; font-family: var(--font-display); font-size: 200px; font-weight: 300; color: rgba(196,164,90,0.04); line-height: 1; z-index: 0; pointer-events: none; user-select: none; }
    .hero-scroll { position: absolute; bottom: 40px; left: 56px; display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; z-index: 3; }
    .scroll-line { width: 36px; height: 1px; background: var(--accent-dim); display: block; animation: pulse 2.5s ease-in-out infinite; }
    @keyframes pulse { 0%,100% { width: 36px; opacity: 0.4; } 50% { width: 56px; opacity: 1; } }

    /* LAYOUT */
    .container { max-width: 1240px; margin: 0 auto; padding: 100px 56px; }
    .divider { border-top: 1px solid var(--border); }
    .sec-header { display: flex; align-items: baseline; gap: 20px; margin-bottom: 64px; padding-bottom: 18px; border-bottom: 1px solid var(--border); }
    .sec-num { font-size: 10px; color: var(--accent); letter-spacing: 0.14em; }
    .sec-title { font-family: var(--font-display); font-size: 38px; font-weight: 300; }
    .sec-sub { margin-left: auto; font-size: 10px; color: var(--muted); letter-spacing: 0.1em; text-transform: uppercase; }

    /* FILM CARDS */
    .film-card { background: var(--surface); padding: 44px; position: relative; overflow: hidden; transition: background 0.3s; }
    .film-card:hover { background: var(--surface2); }
    .film-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: transparent; transition: background 0.3s; }
    .film-card:hover::before { background: var(--accent); }
    .film-featured { display: grid; grid-template-columns: 3fr 2fr; gap: 56px; }
    .film-two { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-top: 2px; }
    .film-yr { font-size: 10px; letter-spacing: 0.16em; color: var(--accent); text-transform: uppercase; margin-bottom: 10px; }
    .film-title { font-family: var(--font-display); font-weight: 400; line-height: 1.1; margin-bottom: 6px; }
    .film-title.xl { font-size: 44px; }
    .film-title.md { font-size: 28px; }
    .film-title.sm { font-size: 22px; }
    .film-format { font-size: 9px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--muted); margin-bottom: 18px; }
    .film-text { font-size: 12px; color: var(--muted2); line-height: 1.85; }
    .film-table { margin-top: 28px; }
    .film-row { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid var(--border); font-size: 11px; }
    .film-row-label { color: var(--muted); }
    .film-row-value { color: var(--accent); text-align: right; max-width: 60%; }
    .pill { display: inline-block; padding: 3px 10px; border: 1px solid var(--accent-dim); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-top: 16px; margin-right: 6px; }
    .gap2 { gap: 2px; }

    /* SHORTS */
    .shorts-label { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin-bottom: 24px; margin-top: 64px; display: flex; align-items: center; gap: 12px; }
    .shorts-label::before { content: ''; display: block; width: 24px; height: 1px; background: var(--accent); }
    .shorts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
    .short-card { background: var(--surface); padding: 28px 32px; transition: background 0.3s; position: relative; }
    .short-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: transparent; transition: background 0.3s; }
    .short-card:hover { background: var(--surface2); }
    .short-card:hover::after { background: var(--accent); }
    .short-yr { font-size: 10px; color: var(--accent); letter-spacing: 0.1em; margin-bottom: 6px; }
    .short-title { font-family: var(--font-display); font-size: 17px; font-weight: 400; line-height: 1.2; margin-bottom: 6px; }
    .short-note { font-size: 11px; color: var(--muted); line-height: 1.6; }
    .award-hi { color: var(--accent); font-weight: 400; }

    /* PRESS QUOTES */
    .press-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
    .press-label { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin-bottom: 24px; margin-top: 64px; display: flex; align-items: center; gap: 12px; }
    .press-label::before { content: ''; display: block; width: 24px; height: 1px; background: var(--accent); }
    .quote-card { background: var(--surface); padding: 36px; transition: background 0.3s; }
    .quote-card:hover { background: var(--surface2); }
    .quote-film { font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin-bottom: 14px; }
    .quote-text { font-family: var(--font-display); font-size: 17px; font-weight: 300; font-style: italic; color: var(--text); line-height: 1.5; margin-bottom: 16px; }
    .quote-attr { font-size: 10px; color: var(--muted); letter-spacing: 0.08em; }
    .quote-attr strong { color: var(--muted2); font-weight: 400; }

    /* DEVELOPMENT */
    .dev-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
    .dev-card { background: var(--surface); padding: 44px; position: relative; transition: background 0.3s; }
    .dev-card:hover { background: var(--surface2); }
    .dev-status { position: absolute; top: 28px; right: 28px; font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); border: 1px solid var(--accent-dim); padding: 4px 10px; }
    .dev-genre { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-bottom: 14px; }
    .dev-title { font-family: var(--font-display); font-size: 36px; font-weight: 300; line-height: 1.0; margin-bottom: 18px; }
    .dev-title em { font-style: italic; color: var(--accent); }
    .dev-text { font-size: 12px; color: var(--muted2); line-height: 1.85; margin-bottom: 24px; }
    .dev-table { border-top: 1px solid var(--border); padding-top: 20px; }
    .dev-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 11px; }
    .dev-row-label { color: var(--muted); }
    .dev-row-value { color: var(--text); text-align: right; }

    /* BIO */
    .bio-layout { display: grid; grid-template-columns: 300px 1fr; gap: 80px; align-items: start; }
    .bio-sidebar { position: sticky; top: 100px; }
    .bio-photo-wrap { width: 100%; aspect-ratio: 3/4; overflow: hidden; position: relative; margin-bottom: 32px; }
    .bio-photo-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: grayscale(20%) contrast(1.05); }
    .bio-photo-wrap::after { content: ''; position: absolute; inset: 0; border: 1px solid rgba(196,164,90,0.2); pointer-events: none; }
    .bio-facts { display: flex; flex-direction: column; }
    .bio-fact { padding: 10px 0; border-bottom: 1px solid var(--border); }
    .bio-fact-label { font-size: 9px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--muted); margin-bottom: 2px; }
    .bio-fact-value { font-size: 12px; color: var(--text); line-height: 1.5; }
    .bio-body p { font-size: 13px; color: var(--muted2); line-height: 1.95; margin-bottom: 22px; }
    .bio-body p strong { color: var(--text); font-weight: 400; }
    .bio-pull { font-family: var(--font-display); font-size: 26px; font-weight: 300; font-style: italic; color: var(--text); line-height: 1.4; padding: 32px 0 32px 28px; border-left: 2px solid var(--accent); margin: 44px 0; }
    .timeline { margin-top: 48px; border-top: 1px solid var(--border); padding-top: 48px; }
    .tl-item { display: grid; grid-template-columns: 80px 1fr; gap: 32px; padding: 16px 0; border-bottom: 1px solid var(--border); align-items: start; }
    .tl-yr { font-size: 11px; color: var(--accent); letter-spacing: 0.1em; padding-top: 2px; }
    .tl-text { font-size: 12px; color: var(--muted2); line-height: 1.7; }
    .tl-text strong { color: var(--text); font-weight: 400; display: block; font-size: 13px; }

    /* TEACHING */
    .inst-tag { display: inline-flex; align-items: center; gap: 10px; padding: 10px 20px; border: 1px solid var(--border2); margin-bottom: 48px; }
    .inst-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
    .inst-name { font-size: 11px; letter-spacing: 0.1em; color: var(--text); }
    .courses-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
    .course-card { background: var(--surface); padding: 36px; border-bottom: 2px solid transparent; transition: background 0.3s, border-color 0.3s; }
    .course-card:hover { background: var(--surface2); border-bottom-color: var(--accent); }
    .course-cat { font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent-dim); margin-bottom: 12px; }
    .course-name { font-family: var(--font-display); font-size: 22px; font-weight: 400; line-height: 1.2; margin-bottom: 12px; }
    .course-desc { font-size: 12px; color: var(--muted); line-height: 1.75; }
    .teach-note { margin-top: 48px; padding: 32px 40px; background: var(--surface); border-left: 2px solid var(--accent-dim); }
    .teach-note p { font-size: 12px; color: var(--muted2); line-height: 1.8; }

    /* AWARDS */
    .award-row { display: grid; grid-template-columns: 90px 1fr 200px; gap: 40px; padding: 22px 0; border-bottom: 1px solid var(--border); align-items: start; transition: padding-left 0.2s; }
    .award-row:hover { padding-left: 6px; }
    .award-yr { font-size: 11px; color: var(--accent); letter-spacing: 0.1em; padding-top: 3px; }
    .award-title { font-family: var(--font-display); font-size: 20px; font-weight: 400; line-height: 1.2; }
    .award-sub { font-size: 11px; color: var(--muted); margin-top: 3px; }
    .award-org { font-size: 10px; color: var(--muted); text-align: right; text-transform: uppercase; letter-spacing: 0.1em; padding-top: 4px; }

    /* CONTACT */
    .contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; }
    .contact-headline { font-family: var(--font-display); font-size: clamp(44px, 5.5vw, 76px); font-weight: 300; line-height: 0.95; letter-spacing: -0.01em; }
    .contact-headline em { font-style: italic; color: var(--accent); }
    .contact-subtext { margin-top: 28px; font-size: 12px; color: var(--muted); line-height: 1.8; max-width: 320px; }
    .contact-item { display: flex; flex-direction: column; padding: 18px 0; border-bottom: 1px solid var(--border); text-decoration: none; color: var(--text); font-size: 13px; transition: color 0.2s; gap: 2px; }
    .contact-item:hover { color: var(--accent); }
    .contact-item-label { font-size: 10px; letter-spacing: 0.1em; color: var(--muted); text-transform: uppercase; }
    .contact-row { display: flex; justify-content: space-between; width: 100%; align-items: center; }
    .contact-item-value { color: var(--muted2); font-size: 12px; }
    .contact-arrow { font-size: 16px; transition: transform 0.2s; color: var(--accent-dim); }
    .contact-item:hover .contact-arrow { transform: translate(4px,-4px); color: var(--accent); }

    footer { border-top: 1px solid var(--border); padding: 28px 56px; display: flex; justify-content: space-between; align-items: center; font-size: 10px; color: var(--muted); letter-spacing: 0.1em; }

    /* FILM IMAGES */
    .film-img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; filter: contrast(1.04); }
    .film-img-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-top: 28px; }
    .film-img-single { margin-top: 28px; overflow: hidden; }

    /* VIDEO EMBEDS */
    .video-wrap { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; margin-top: 28px; background: #000; }
    .video-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

    /* SHOWREEL */
    .showreel-wrap { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; background: #000; }
    .showreel-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
    .showreel-meta { display: flex; gap: 48px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--border2); }
    .showreel-meta-item .s-label { font-size: 9px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--muted); margin-bottom: 4px; }
    .showreel-meta-item .s-value { font-size: 12px; color: var(--text); }

    /* BIO DIRECTING PHOTOS */
    .bio-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-top: 44px; }
    .bio-photo-item { overflow: hidden; }
    .bio-photo-item img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; filter: grayscale(10%) contrast(1.05); transition: transform 0.4s ease; }
    .bio-photo-item img:hover { transform: scale(1.02); }

    @keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
    .hero-eyebrow { animation: fadeUp 0.7s ease 0.15s both; }
    .hero-name    { animation: fadeUp 0.9s ease 0.3s both; }
    .hero-desc    { animation: fadeUp 0.7s ease 0.5s both; }
    .hero-pipeline{ animation: fadeUp 0.7s ease 0.58s both; }
    .hero-stats   { animation: fadeUp 0.7s ease 0.65s both; }
    .hero-photo   { animation: fadeUp 1.1s ease 0.2s both; }

    .nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
    .nav-toggle span { display: block; width: 22px; height: 1.5px; background: var(--accent); margin: 5px 0; transition: all 0.3s; }
    @media (max-width: 960px) {
      .nav-toggle { display: block; }
      .nav-links { display: none; position: absolute; top: 100%; right: 0; background: rgba(12,11,9,0.97); backdrop-filter: blur(8px); flex-direction: column; padding: 24px 32px; gap: 20px; }
      .nav-links.open { display: flex; }
      nav { padding: 20px 24px; }
      #hero { grid-template-columns: 1fr; }
      .hero-right { display: none; }
      .hero-left {
        padding: 100px 24px 60px;
        background-image: url('images/hero-cap.jpg');
        background-size: cover;
        background-position: center top;
      }
      .hero-left::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom, rgba(12,11,9,0.7) 0%, rgba(12,11,9,0.35) 40%, rgba(12,11,9,0.5) 100%);
        z-index: 0;
      }
      .hero-left > * { position: relative; z-index: 1; }
      .container { padding: 60px 24px; }
      .film-featured, .film-two, .dev-grid, .bio-layout, .contact-layout, .press-grid { grid-template-columns: 1fr; }
      .film-featured { gap: 28px; }
      .film-card { padding: 28px; }
      .dev-card { padding: 28px; }
      .shorts-grid { grid-template-columns: 1fr 1fr; }
      .courses-grid { grid-template-columns: 1fr; }
      .award-row { grid-template-columns: 60px 1fr; gap: 16px; }
      .award-org { display: none; }
      .bio-layout { gap: 40px; }
      .bio-sidebar { position: static; }
      .bio-photos { grid-template-columns: 1fr; }
      .contact-layout { gap: 40px; }
      .statement-section { min-height: 400px; }
      .statement-section .bg-image-div { display: none; }
      .statement-section > div:last-child { padding: 60px 24px !important; }
      .statement-section > div:last-child > div { max-width: 100% !important; }
      .film-img-pair { grid-template-columns: 1fr; }
      .tl-item { grid-template-columns: 60px 1fr; gap: 16px; }
      footer { flex-direction: column; gap: 10px; text-align: center; }
    }
    @media (max-width: 600px) {
      .hero-left { padding: 80px 20px 40px; }
      .hero-name { font-size: clamp(40px, 12vw, 56px); }
      .hero-desc { max-width: 100%; }
      .hero-stats { flex-wrap: wrap; gap: 24px; }
      .stat-num { font-size: 28px; }
      .stat-label { font-size: 8px; }
      .hero-scroll { display: none; }
      .container { padding: 48px 20px; }
      .sec-header { flex-wrap: wrap; gap: 8px; }
      .sec-title { font-size: 28px; }
      .shorts-grid { grid-template-columns: 1fr; }
      .dev-grid { grid-template-columns: 1fr; }
      .press-grid { grid-template-columns: 1fr; }
      .film-card { padding: 20px; }
      .film-title.xl { font-size: 28px; }
      .dev-card { padding: 20px; }
      .dev-title { font-size: 28px; }
      .bio-pull { font-size: 20px; padding: 20px 0 20px 16px; }
      .tl-item { grid-template-columns: 50px 1fr; gap: 12px; }
      .contact-headline { font-size: 36px; }
      .statement-section { min-height: 300px; }
    }
  

.review-toggle{position:fixed;bottom:18px;right:18px;z-index:10001;background:#ede7db;color:#0c0b09;border:1px solid #c4a45a;padding:12px 16px;cursor:pointer;font:12px var(--font-body)}
.review-panel{position:fixed;right:18px;bottom:72px;width:370px;max-width:calc(100vw - 36px);max-height:75vh;overflow:auto;z-index:10000;background:#131109;color:#ede7db;border:1px solid #6e5c2e;padding:22px;box-shadow:0 12px 60px #000b;font:12px/1.6 var(--font-body)}
.review-panel[hidden]{display:none}.review-panel h2{font:30px var(--font-display);margin:0 0 12px}.review-panel p{margin:10px 0}.review-panel label{display:block;margin-top:18px;color:#c4a45a}.review-panel select,.review-panel button{width:100%;padding:10px;background:#0c0b09;border:1px solid #6e5c2e;color:#ede7db;font:12px var(--font-body);margin:6px 0}.review-panel a{color:#c4a45a}.review-panel small{display:block;color:#b9ac98}.review-panel img{width:100%;max-height:130px;object-fit:contain;margin-top:8px}.review-contact-photo{width:100%;height:auto;display:block}.review-trim{transform:scale(1.055);transform-origin:center top} .review-panel button{cursor:pointer}


/* Local refinements for the selected images; original site typography stays intact. */
.review-wide{gap:38px!important}
.review-wide>.review-cinema{grid-column:1/-1;position:relative;aspect-ratio:2.39;overflow:hidden;background:var(--bg)}
.review-wide .review-contact-photo{width:100%;height:100%;object-fit:cover;object-position:50% 44%;filter:saturate(.82) contrast(.96) brightness(.99)}
.review-wide>div:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:60px;align-items:start}
.sl-feat.review-portrait{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);align-items:center}
.sl-feat.review-portrait .sl-feat-media{aspect-ratio:auto;align-self:stretch;background:var(--bg);display:flex;align-items:center}
.sl-feat.review-portrait .sl-feat-media img{width:100%;height:auto;object-fit:contain;filter:saturate(.82) contrast(.94) brightness(1.04);transform:none}
.sl-feat.review-portrait .sl-facts{column-count:1}
.sl-feat.review-portrait .sl-feat-body{padding:30px 36px}
.review-cinema:after,.review-film:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.10;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23888' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
@media(max-width:820px){.sl-feat.review-portrait{grid-template-columns:1fr}.sl-feat.review-portrait .sl-feat-media{max-width:540px;width:100%;margin:auto}.review-wide>div:last-child{grid-template-columns:1fr}.review-wide>.review-cinema{aspect-ratio:1.65}.review-wide .review-contact-photo{object-position:50% 44%}}


.v2-role{color:var(--accent);margin-bottom:8px}
.sl-grid{align-items:start}
.sl-card-media.v2-full-image{aspect-ratio:auto;height:auto}
.sl-card-media.v2-full-image img{width:100%;height:auto;object-fit:contain;transform:none;display:block}
.sl-card-media.v2-orgullo{aspect-ratio:1456/819;overflow:hidden}
.sl-grid>.v2-turno{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,48%) minmax(0,52%);align-items:center}
.v2-turno .sl-card-body{padding:36px 40px}
.v2-turno .sl-title{font-size:40px}
.sl-more .v2-useless{align-items:start}
.sl-more .v2-useless .sl-more-m{line-height:1.9}
@media(max-width:820px){.sl-grid>.v2-turno{grid-template-columns:1fr}.v2-turno .sl-card-body{padding:24px}.v2-turno .sl-title{font-size:32px}}


.v3-image{width:100%;height:auto;display:block}
.v3-gallery,.v3-press-more{margin-top:20px;border-top:1px solid var(--border2);padding-top:14px}
.v3-gallery summary,.v3-press-more summary{cursor:pointer;font:11px/1.6 var(--font-body);color:var(--accent);letter-spacing:.05em;padding:8px 0}
.v3-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 0}
.v3-gallery-grid img{width:100%;height:auto;object-fit:contain}
.v3-gallery-grid a:only-child{max-width:340px}
.v3-press-more>.press-grid{margin-top:18px}
.v3-cumple-wide{margin-top:24px;aspect-ratio:2/1;overflow:hidden}
.v3-cumple-wide img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;filter:none}
.v3-instinto-feature{margin-top:28px}
#teaching .tch-band{height:auto;aspect-ratio:1.85}
#teaching .tch-band img{filter:none;object-position:50% 53%}
#contact .review-wide>.review-cinema{aspect-ratio:1.85}
#contact .review-wide .review-contact-photo{object-position:50% 100%}
@media(max-width:820px){.v3-gallery-grid{grid-template-columns:1fr 1fr}.v3-cumple-wide{aspect-ratio:1.5}#contact .review-wide>.review-cinema{aspect-ratio:1.506}#teaching .tch-band{aspect-ratio:1.5}}


/* v4: original typefaces, palette and architecture; local clarity and framing fixes. */
:root{--muted:#a29787;--muted2:#b5a896}
section[id]{scroll-margin-top:90px}
.nav-links{gap:24px;align-items:center}.nav-links a{display:inline-flex;align-items:center;min-height:44px;font-size:10px}
.nav-toggle{min-width:44px;min-height:44px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:10000;background:var(--text);color:var(--bg);padding:12px}
.skip-link:focus{top:12px}
.hero-desc{font-size:14px;line-height:1.9}.hero-eyebrow{line-height:1.7}
.v4-practice{font-family:var(--font-display);font-size:clamp(30px,2.8vw,42px);line-height:1.35;color:var(--text);text-shadow:0 2px 16px #000;margin-bottom:0}
.v4-practice em{color:var(--accent)}
.film-text{font-size:14px;line-height:1.9}.film-featured>div{min-width:0}
.film-row-label{font-size:10px}.film-row-value{font-size:11px}.film-row-value a,.award-title a{color:inherit;text-decoration:none}.film-row-value a:hover,.award-title a:hover{text-decoration:underline}
.film-img-single img.film-img{aspect-ratio:auto;height:auto;object-fit:contain;filter:none!important}
#films img{filter:none!important}#films .film-card:first-of-type img{transform:none}
.v4-editing-card{margin-top:48px;border-left:2px solid var(--accent-dim)}.v4-editing-card .film-text{max-width:760px}.v4-editing-card .film-table{max-width:760px}
.sl-log{font-size:13px}.sl-more li{display:grid;grid-template-columns:minmax(0,30%) minmax(0,70%);gap:20px;align-items:start;padding:24px 0}
.sl-more .sl-more-m{margin-left:0;font-size:11px;line-height:1.9;letter-spacing:0}.sl-more-t{font-size:26px}
.v4-project-details{margin-top:10px}.v4-project-details p{font-size:12px;line-height:1.8;max-width:640px;margin-top:12px;color:var(--muted2)}
summary{cursor:pointer;color:var(--accent);padding:12px 0;font-size:11px;line-height:1.7;min-height:44px}
.v4-archive,.v4-timeline-more,.v4-awards-more{border-top:1px solid var(--border2);margin-top:20px;padding-top:8px}
.v4-short-facts .short-note{padding:12px 0}.short-card>img{aspect-ratio:auto!important;height:auto;object-fit:contain!important;filter:none!important}
.v4-piscore-frame{position:relative;aspect-ratio:720/394;overflow:hidden;margin:10px 0}.v4-piscore-frame img{position:absolute;width:100%;height:auto;left:0;top:0;transform:translateY(-8.54%);display:block}
.v4-teaching-copy{font-size:13px;line-height:1.85;color:var(--muted2)}.tch-method-sub{font-size:13px}.tch-stat-n{overflow-wrap:anywhere}.tch-flow{column-gap:38px}
.contact-item-value{overflow-wrap:anywhere}.v3-gallery-grid a{display:block}.bio-body>p{font-size:14px}.bio-fact-value{overflow-wrap:anywhere}
.tch-band::after{background:linear-gradient(to top,rgba(12,11,9,.6),transparent 28%)}.tch-cap{color:var(--text)}
@media(min-width:961px) and (max-width:1190px){.nav-links{gap:13px}nav{padding-left:28px;padding-right:28px}.nav-links a{font-size:9px;letter-spacing:.08em}}
@media(max-width:960px){.nav-links{gap:4px;max-height:calc(100dvh - 74px);overflow-y:auto;width:min(100%,340px)}.nav-links a{width:100%;min-height:44px}.hero-left{min-height:760px;padding-top:120px}}
@media(max-width:820px){.sl-more li{grid-template-columns:1fr;gap:8px}.sl-more .sl-more-m{width:auto}.sl-feat.review-portrait .sl-feat-body{padding:24px}.tch-cap{font-size:9px;letter-spacing:.06em}.sl-meta{flex-wrap:wrap}.v4-practice{font-size:30px}}
@media(max-width:600px){.hero-left{min-height:780px;padding:110px 20px 48px}.hero-name{font-size:clamp(54px,15vw,72px);margin-bottom:28px}.hero-desc{font-size:13px}.hero-stats{gap:20px}.stat-label{font-size:9px}.film-title.xl{font-size:36px}.film-row{flex-wrap:wrap;gap:6px}.film-row-label{min-width:100%;}.sl-more{padding:22px}.sl-facts dt{min-width:72px}.tch-stats{grid-template-columns:1fr 1fr}.tch-stat{padding:20px 16px}.tch-stat-n{font-size:26px}.v3-gallery-grid{grid-template-columns:1fr}.bio-photo-wrap{max-width:420px}.bio-photos{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


.sl-wrap{margin-top:6px}
.sl-feat{background:var(--surface);border:1px solid var(--border2);margin-bottom:2px}
.sl-feat-media{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9}
.sl-feat-media img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05)}
.sl-feat-body{padding:32px 40px 38px}
.sl-feat .sl-facts{margin-top:20px;column-count:2;column-gap:44px}
.sl-feat .sl-facts>div{break-inside:avoid;-webkit-column-break-inside:avoid}
.sl-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.sl-genre{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sl-status{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-dim);padding:3px 9px;white-space:nowrap}
.sl-title{font-family:var(--font-display);font-weight:300;line-height:1;margin:0 0 6px}
.sl-feat .sl-title{font-size:44px}
.sl-title em{font-style:italic;color:var(--accent)}
.sl-aka{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.sl-aka em{font-style:italic;color:var(--accent)}
.sl-log{font-size:12.5px;color:var(--muted2);line-height:1.8;margin:0 0 20px}
.sl-facts{border-top:1px solid var(--border);margin-top:auto}
.sl-facts>div{display:flex;gap:14px;padding:7px 0;border-bottom:1px solid var(--border);font-size:10.5px;line-height:1.5}
.sl-facts dt{color:var(--muted);min-width:86px;letter-spacing:.04em;text-transform:uppercase;font-size:9px;padding-top:1px;margin:0}
.sl-facts dd{color:var(--text);flex:1;margin:0}
.sl-facts dd em{font-style:italic;color:var(--accent)}
.sl-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.sl-card{background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column}
.sl-card-media{position:relative;aspect-ratio:16/9;overflow:hidden}
.sl-card-media img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.04)}
.sl-card-body{padding:24px 28px 28px;display:flex;flex-direction:column;flex:1}
.sl-card .sl-title{font-size:30px}
.sl-more{margin-top:2px;background:var(--surface);border:1px solid var(--border);padding:26px 32px}
.sl-more-h{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.sl-more ul{list-style:none;margin:0;padding:0}
.sl-more li{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}
.sl-more li:last-child{border-bottom:none}
.sl-more-t{font-family:var(--font-display);font-size:22px;font-style:italic;color:var(--text)}
.sl-more-m{font-size:10.5px;letter-spacing:.04em;color:var(--muted2);margin-left:auto}
@media(max-width:820px){.sl-feat .sl-title{font-size:32px}.sl-feat-body{padding:24px}.sl-feat .sl-facts{column-count:1}.sl-grid{grid-template-columns:1fr}.sl-more-m{margin-left:0;width:100%}}


.tch-band{position:relative;width:100%;height:clamp(260px,40vw,460px);overflow:hidden;margin:2px 0 34px;border:1px solid var(--border);background:var(--surface2)}
.tch-band img{width:100%;height:100%;object-fit:cover;object-position:center 34%;display:block;filter:contrast(1.03)}
.tch-band::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,11,9,.55),rgba(12,11,9,0) 40%);pointer-events:none}
.tch-cap{position:absolute;left:0;bottom:0;padding:16px 20px;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted2);z-index:2}
.tch-method{font-family:var(--font-display);font-weight:300;font-size:26px;line-height:1.4;max-width:880px;margin:0 0 8px}
.tch-method em{font-style:italic;color:var(--accent)}
.tch-method-sub{font-size:12px;color:var(--muted2);line-height:1.8;max-width:760px;margin:0 0 28px}
.tch-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-bottom:32px}
.tch-stat{background:var(--surface);border:1px solid var(--border);padding:26px 22px}
.tch-stat-n{font-family:var(--font-display);font-weight:300;font-size:32px;line-height:1.08;color:var(--accent);margin-bottom:9px;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
.tch-stat-l{font-size:10px;color:var(--muted2);line-height:1.6}
.tch-stat-l b{color:var(--text);font-weight:400}
.tch-flow{column-count:2;column-gap:46px}
.tch-blk{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;margin-bottom:30px}
.tch-blk-h{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:15px;padding-bottom:9px;border-bottom:1px solid var(--border)}
.tch-courses{display:flex;flex-wrap:wrap;font-size:12px;line-height:2}
.tch-courses span:not(:last-child)::after{content:" · ";color:var(--accent-dim)}
.tch-note{font-size:10px;color:var(--muted);margin-top:13px;line-height:1.6}
.tch-prog{font-size:11.5px;color:var(--muted2);line-height:1.85;margin-bottom:28px}
.tch-prog b{color:var(--text)}
.tch-rows .tch-row{display:flex;gap:16px;padding:10px 0;border-bottom:1px solid var(--border);font-size:11px;line-height:1.5}
.tch-rows .tch-row:last-child{border-bottom:none}
.tch-rk{flex:1}.tch-rk b{color:var(--text)}
.tch-rv{color:var(--muted);text-align:right;white-space:nowrap}
.tch-pills{display:flex;flex-wrap:wrap;gap:8px}
.tch-pill{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-dim);padding:5px 11px}
@media(max-width:820px){.tch-stats{grid-template-columns:1fr 1fr}.tch-flow{column-count:1}}
