:root{--bg:#080808;--panel:#111;--text:#f4f0e8;--muted:#a7a29a;--gold:#d6ad55;--line:rgba(255,255,255,.12);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6;overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;opacity:.04;z-index:99;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.site-header{position:fixed;top:0;left:0;right:0;height:86px;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{background:rgba(8,8,8,.88);backdrop-filter:blur(18px);border-color:var(--line)}.brand{color:#fff;text-decoration:none;display:flex;flex-direction:column;line-height:.82;letter-spacing:.18em;font-weight:800}.brand span{font-size:1.05rem}.brand small{color:var(--gold);font-size:.64rem;letter-spacing:.42em;margin-top:8px}.main-nav{display:flex;gap:28px}.main-nav a,.footer-links a{color:#ddd;text-decoration:none;font-size:.84rem}.main-nav a:hover,.footer-links a:hover{color:var(--gold)}.lang-switch{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px}.lang-switch button{background:none;border:0;color:#999;padding:7px 10px;cursor:pointer;border-radius:999px;font-size:.7rem}.lang-switch button.active{background:var(--gold);color:#111}.hero{min-height:100vh;display:grid;place-items:center;position:relative;padding:120px 5vw 70px}.hero-media{position:absolute;inset:0;background:radial-gradient(circle at 65% 35%,rgba(214,173,85,.18),transparent 27%),linear-gradient(145deg,#050505 25%,#14100a 62%,#050505)}.hero-gradient{position:absolute;inset:0;background:linear-gradient(to top,#080808 0%,transparent 38%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,transparent,#000,transparent)}.hero-content{position:relative;text-align:center;max-width:1050px}.eyebrow{text-transform:uppercase;letter-spacing:.26em;color:var(--gold);font-size:.72rem;font-weight:700}.hero h1{font-family:Georgia,serif;font-size:clamp(4rem,12vw,10rem);line-height:.76;margin:35px 0 34px;letter-spacing:-.055em}.hero h1 span{font-size:.38em;letter-spacing:.52em;color:var(--gold);display:block;margin-left:.52em;margin-top:.55em}.hero-copy{font-size:clamp(1.1rem,2vw,1.45rem);color:#d7d1c6}.hero-actions{display:flex;justify-content:center;gap:14px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;text-decoration:none;border-radius:2px;font-weight:700;font-size:.86rem;transition:.25s}.btn-primary{background:var(--gold);color:#111}.btn-primary:hover{transform:translateY(-2px);background:#e3bd68}.btn-ghost{border:1px solid rgba(255,255,255,.35);color:#fff}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.scroll-cue{position:absolute;bottom:25px;width:28px;height:45px;border:1px solid rgba(255,255,255,.35);border-radius:20px}.scroll-cue span{position:absolute;width:4px;height:4px;background:var(--gold);border-radius:50%;left:11px;top:9px;animation:scroll 1.8s infinite}@keyframes scroll{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(20px)}}.section{max-width:var(--max);margin:auto;padding:120px 5vw}.section-number{color:var(--gold);font-family:Georgia,serif;font-size:1rem;margin-bottom:34px}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.section h2,.statement h2{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,5rem);line-height:1.02;margin:12px 0}.lead-copy{font-size:1.16rem;color:#c8c2b8}.statement{padding:130px 5vw;text-align:center;background:#0d0d0d;border-block:1px solid var(--line)}.statement p{color:var(--muted);font-size:1.1rem}.statement h2{max-width:900px;margin:15px auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.text-link{color:var(--gold);text-decoration:none}.production-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.film-card{background:var(--panel);border:1px solid var(--line);overflow:hidden}.film-art{height:320px;background-size:cover;background-position:center;transition:.5s}.film-card:hover .film-art{transform:scale(1.025)}.film-card>div:last-child{padding:24px}.film-card span{color:var(--gold);font-size:.7rem}.film-card h3{font-family:Georgia,serif;font-size:1.7rem;margin:5px 0}.film-card p{color:var(--muted)}.japan{background:linear-gradient(145deg,rgba(244,176,192,.7),rgba(39,32,61,.9)),radial-gradient(circle at 70% 20%,#fff,transparent 30%)}.camino{background:linear-gradient(145deg,rgba(215,166,86,.65),rgba(30,39,47,.95))}.amsterdam{background:linear-gradient(145deg,rgba(28,99,128,.8),rgba(50,26,34,.95))}.transylvania{background:linear-gradient(145deg,rgba(92,15,29,.78),rgba(4,4,10,.98))}.cast-section{max-width:1400px}.cast-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.cast-grid article{background:#0e0e0e;border:1px solid var(--line);padding:14px 14px 24px}.portrait{aspect-ratio:4/5;display:grid;place-items:center;font:700 4rem Georgia,serif;color:rgba(255,255,255,.9);margin-bottom:18px}.theo{background:linear-gradient(160deg,#50361e,#0c0b0a)}.benji{background:linear-gradient(160deg,#222,#050505)}.coco{background:linear-gradient(160deg,#151515,#010101)}.rhonda{background:linear-gradient(160deg,#ad825f,#2c1d16)}.ronja{background:linear-gradient(160deg,#8f5a42,#291815)}.cast-grid h3{font-family:Georgia,serif;font-size:1.4rem;margin:0}.cast-grid p{font-size:.9rem;color:var(--muted)}.muted{color:var(--muted)}.process-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process-list li{display:flex;align-items:center;gap:28px;padding:21px 0;border-bottom:1px solid var(--line)}.process-list span{color:var(--gold);font-size:.75rem}.archive-card{margin-top:80px;padding:45px;background:linear-gradient(135deg,#18140c,#0c0c0c);border:1px solid rgba(214,173,85,.35);display:flex;align-items:center;justify-content:space-between;gap:30px}.archive-card h3{font:2rem Georgia,serif;margin:8px 0}.archive-card p{color:#bbb}.timeline{max-width:1400px}.timeline-track{display:grid;grid-template-columns:repeat(5,1fr);margin-top:55px;border-top:1px solid var(--line)}.timeline-track div{padding:28px 18px;border-right:1px solid var(--line);min-height:170px}.timeline-track span{color:var(--gold);font-family:Georgia,serif;font-size:1.4rem}.timeline-track p{color:var(--muted)}.contact{padding-bottom:140px}.contact-panel{padding:80px;min-height:450px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:radial-gradient(circle at 85% 25%,rgba(214,173,85,.22),transparent 25%),#111;border:1px solid var(--line)}.contact-panel h2{max-width:760px}.contact-panel p{max-width:680px;color:#c6c0b7;margin-bottom:25px}footer{border-top:1px solid var(--line);padding:55px 5vw 30px;text-align:center}.footer-brand{font-family:Georgia,serif;font-size:2rem;letter-spacing:.12em}.footer-brand span{display:block;color:var(--gold);font:700 .65rem Arial;letter-spacing:.5em;margin-left:.5em}.footer-links{display:flex;justify-content:center;gap:22px;margin:25px 0}.final-line{font-family:Georgia,serif;color:var(--gold);font-size:1.2rem}.reveal{opacity:0;transform:translateY(26px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.8s ease;filter:saturate(.88) contrast(1.04)}.hero-video.active{opacity:1}.hero-video-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.18) 52%,rgba(0,0,0,.48)),linear-gradient(to bottom,rgba(0,0,0,.25),rgba(0,0,0,.38));z-index:1}.hero-gradient,.hero-grid{z-index:2}.hero-film-label{position:absolute;right:4vw;bottom:34px;z-index:4;color:rgba(255,255,255,.72);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase}.hero-content,.scroll-cue{z-index:5}.film-preview{position:relative;display:block;height:320px;overflow:hidden;background:#050505}.film-preview video{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease,filter .55s ease;filter:brightness(.78)}.film-card:hover .film-preview video{transform:scale(1.035);filter:brightness(.98)}.play-mark{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;padding-left:3px;background:rgba(0,0,0,.58);border:1px solid rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(8px);transition:.25s}.film-card:hover .play-mark{background:var(--gold);color:#111;border-color:var(--gold)}@media(max-width:900px){.main-nav{display:none}.section-grid,.production-grid{grid-template-columns:1fr}.cast-grid{grid-template-columns:repeat(2,1fr)}.timeline-track{grid-template-columns:1fr 1fr}.section{padding:85px 6vw}.archive-card{align-items:flex-start;flex-direction:column}.contact-panel{padding:45px 28px}.hero h1{font-size:clamp(3.6rem,19vw,7rem)}}@media(max-width:520px){.site-header{height:72px}.brand span{font-size:.88rem}.lang-switch button{padding:6px 8px}.hero{padding-inline:6vw}.hero-actions{flex-direction:column}.btn{width:100%}.cast-grid,.timeline-track{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.film-art{height:230px}.film-preview{height:230px}.footer-links{flex-wrap:wrap}.contact-panel{min-height:390px}}

/* Cast portraits – Dogiwood Studios character posters */
.cast-grid .portrait{
  aspect-ratio:3 / 4;
  display:block;
  overflow:hidden;
  margin-bottom:18px;
  background:#080808;
  border:1px solid rgba(214,173,85,.18);
}
.cast-grid .portrait img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .55s ease, filter .55s ease;
}
.cast-grid .cast-card:hover .portrait img{
  transform:scale(1.025);
  filter:brightness(1.04);
}
.cast-grid .cast-card{
  overflow:hidden;
}


/* Legal pages */
.legal-page{padding-top:86px}
.legal-page .site-header{background:rgba(8,8,8,.96);border-color:var(--line)}
.legal-back{color:var(--gold);text-decoration:none;font-size:.82rem;font-weight:700}
.legal-main{min-height:70vh}
.legal-hero{max-width:var(--max);margin:auto;padding:100px 5vw 55px;border-bottom:1px solid var(--line)}
.legal-hero h1{font-family:Georgia,serif;font-size:clamp(3.2rem,8vw,7rem);line-height:.9;margin:18px 0 24px}
.legal-hero>p:last-child{color:var(--muted);font-size:1.1rem}
.legal-content{max-width:920px;margin:0 auto;padding:70px 5vw 120px}
.legal-content section{padding:0 0 42px;margin-bottom:42px;border-bottom:1px solid var(--line)}
.legal-content section:last-child{border-bottom:0}
.legal-content h2{font-family:Georgia,serif;font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.15;margin:0 0 18px;color:var(--text)}
.legal-content p{color:#c8c2b8;margin:0 0 16px}
.legal-content a{color:var(--gold);text-decoration:none}
.legal-content a:hover{text-decoration:underline}
@media(max-width:900px){.legal-page{padding-top:72px}.legal-page .site-header .main-nav{display:none}.legal-hero{padding-top:75px}.legal-back{font-size:.74rem}}
.legal-content h3{font-size:1.05rem;line-height:1.4;margin:26px 0 10px;color:var(--gold);letter-spacing:.04em;text-transform:uppercase}
.legal-content ul{margin:0 0 18px;padding-left:1.3rem;color:#c8c2b8}
.legal-content li{margin:.45rem 0}
.footer-links a[aria-current="page"]{color:var(--gold)}
