@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#161b16;--paper:#f3f3ec;--lime:#d2f87c;--muted:#74796f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid #8cae46;outline-offset:7px}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper)}.brand{display:flex;align-items:center;font-family:Manrope,Arial,sans-serif;font-size:28px;letter-spacing:-1.6px;font-weight:800}.brand em{font-style:normal}.brand-icon{background:var(--ink);color:var(--lime);display:grid;place-items:center;width:35px;height:35px;border-radius:50%;font-size:26px;margin-right:10px;padding-bottom:5px;letter-spacing:-2px}.brand-ai{font-size:11px;letter-spacing:0;margin:0 0 15px 5px}nav{display:flex;align-items:center;gap:35px;font-size:13px}nav a:hover,.text-link:hover{opacity:.65}.nav-contact{border:1px solid #bfc3b8;padding:12px 19px;border-radius:30px}.nav-contact span{margin-left:24px}.hero{margin:0 20px;background:#111a16;min-height:735px;color:white;position:relative;overflow:hidden;border-radius:4px}.hero-art{position:absolute;inset:0;background:radial-gradient(ellipse at 78% 28%,#9a9e6580,transparent 30%),linear-gradient(110deg,#101711 14%,#1b2b24 55%,#29433b 100%);overflow:hidden}.orb{position:absolute;width:520px;height:520px;right:5%;top:100px;border-radius:50%;box-shadow:inset -48px -30px 60px #1a302c,inset 9px 7px 30px #e1daa3,0 0 100px #d8ca9250;background:radial-gradient(circle at 30% 25%,#ded7a3,#85937b 43%,#39584a 70%);opacity:.85}.horizon{position:absolute;left:30%;right:-10%;height:260px;bottom:-110px;background:#0b1815;border-radius:60% 50% 0 0;transform:rotate(-9deg);box-shadow:0 -20px 100px #99a57a55}.film-line{position:absolute;right:12%;top:-10%;height:120%;width:1px;background:#cfdfb033;transform:rotate(30deg)}.silhouette{position:absolute;bottom:2%;right:28%;width:32px;height:120px;background:#0b1714;border-radius:50% 50% 15% 15%;transform:rotate(-3deg);box-shadow:9px 52px 0 -8px #0b1714,-8px 52px 0 -8px #0b1714}.silhouette:before{content:'';position:absolute;top:-21px;left:6px;width:23px;height:27px;border-radius:50%;background:#0b1714}.grain{position:absolute;inset:0;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.5' d='M0 0h200v200H0z'/%3E%3C/svg%3E")}.hero-top,.hero-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;padding:32px 4%}.eyebrow,.small-label,.hero-bottom,.section-label,.tag,.genre-top,.genre-copy>span{font-size:10px;letter-spacing:1.8px;font-weight:500}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow i,.contact-status i{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%}.small-label{color:#b5bfaf}.hero-copy{position:relative;padding:36px 4% 65px;max-width:800px}.hero-kicker{font-size:14px;color:#c1c9bc;margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(42px,5.1vw,77px);line-height:1.08;letter-spacing:-4px;font-weight:500;margin-bottom:27px}h1 em,h2 em{font-style:normal;color:var(--lime)}.hero-description{max-width:390px;font-size:14px;line-height:1.8;color:#c4ccc0;margin-bottom:30px}.button{display:inline-flex;align-items:center;gap:45px;background:var(--lime);color:#1d2714;border-radius:40px;padding:17px 24px;font-size:13px;font-weight:600}.button:hover{background:#e4ffa7}.button span{font-size:18px}.hero-bottom{border-top:1px solid #c7d3c322;margin:0 4%;padding:20px 0;color:#b8c1b4;font-size:9px}.hero-bottom a span{margin-left:20px}.ticker{display:flex;gap:38px;align-items:center;overflow:hidden;white-space:nowrap;border-bottom:1px solid #d8dccf;padding:25px 0;font-family:Manrope,sans-serif;font-size:22px;font-weight:600;letter-spacing:-.5px}.ticker .star{color:#7f9269;font-size:28px}.section-wrap{padding:85px 5%}.section-label{display:flex;justify-content:space-between;color:#656f60;margin-bottom:58px;font-size:9px}.intro-heading,.direction-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(33px,3.8vw,55px);line-height:1.15;letter-spacing:-2.4px;font-weight:500;margin-bottom:0}.intro-heading h2 span{color:#858c7e}.intro-heading>p,.direction-heading>p{max-width:315px;font-size:14px;line-height:1.8;color:#697161;margin-bottom:3px}.services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cdd2c4;border-bottom:1px solid #cdd2c4}.services article{position:relative;padding:26px 27px 30px;border-right:1px solid #cdd2c4}.services article:first-child{padding-left:0}.services article:last-child{border:0}.service-number{color:#868d7c;font-size:10px}.service-symbol{font-size:48px;height:98px;padding-top:23px;color:#526d3e}.services h3{font-size:20px;letter-spacing:-.7px;font-weight:500;margin:26px 0 16px}.services p{font-size:13px;line-height:1.8;color:#6a7263;min-height:94px;margin-bottom:25px}.tag{font-size:8px;letter-spacing:1px;border:1px solid #cbd1c2;border-radius:20px;padding:6px 9px}.directions{padding-top:15px}.direction-heading h2 em{color:#80926d}.genre-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.genre{height:440px;position:relative;overflow:hidden;border-radius:3px;color:#fff;background:#273c34}.scene-art{position:absolute;inset:0;transition:transform .7s}.genre:hover .scene-art{transform:scale(1.035)}.romance .scene-art{background:radial-gradient(ellipse at 65% 34%,#f1ba7f88,transparent 27%),linear-gradient(130deg,#3c2529,#96765b 57%,#213328)}.romance .scene-art:before{content:'';position:absolute;left:17%;top:9%;width:62%;height:80%;border:20px solid #28262066;border-radius:150px 150px 0 0;box-shadow:0 0 90px #e5ae6e55}.romance .scene-art span{position:absolute;left:45%;top:40%;height:180px;width:48px;background:#332c2c;border-radius:50% 50% 10% 10%;filter:blur(2px)}.mystery .scene-art{background:linear-gradient(110deg,#0f2626,#4b6d65 50%,#152e2e)}.mystery .scene-art:before{content:'';position:absolute;left:32%;top:7%;width:35%;height:80%;border:14px solid #0f2626;box-shadow:0 0 100px #a9c1a633;background:linear-gradient(#90a89355,#192d2b)}.mystery .scene-art span{position:absolute;left:47%;top:44%;height:160px;width:30px;background:#102523;border-radius:50% 50% 0 0;filter:blur(2px)}.fantasy .scene-art{background:radial-gradient(ellipse at 65% 28%,#b0b4d499,transparent 30%),linear-gradient(160deg,#1c2439,#6e7f8c 60%,#213732)}.fantasy .scene-art:before{content:'';position:absolute;inset:20% -10% 0;background:#253a3d;clip-path:polygon(0 60%,23% 34%,35% 55%,60% 0,78% 37%,90% 20%,100% 42%,100% 100%,0 100%)}.fantasy .scene-art span{position:absolute;width:110px;height:110px;top:12%;left:55%;border:1px solid #e9ddac;border-radius:50%;box-shadow:0 0 40px #eee0ad55}.genre:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#101b14ee)}.genre-top,.genre-copy{position:absolute;z-index:1;left:25px;right:25px}.genre-top{top:24px;display:flex;justify-content:space-between;font-size:8px}.genre-top>span:last-child{font-size:18px}.genre-copy{bottom:25px}.genre-copy>span{font-size:8px;color:#cbd6b5}.genre-copy h3{font-family:Manrope,sans-serif;font-size:32px;font-weight:500;line-height:1.16;letter-spacing:-1px;margin:16px 0}.genre-copy p{color:#c3cbbf;font-size:11px;margin:0;line-height:1.6}.approach{background:#e8ecdf}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.approach h2 em{color:#81936c}.approach-grid>div>p{margin:27px 0;font-size:14px;line-height:1.8;color:#6b7462}.text-link{font-size:12px;border-bottom:1px solid #9aa88a;padding-bottom:8px}.steps{margin:0;padding:0;list-style:none}.steps li{display:flex;gap:28px;padding:25px 0;border-top:1px solid #cad1be}.steps li:first-child{padding-top:0;border:0}.steps li>span{font-size:10px;color:#7a8a6b;padding-top:5px}.steps h3{font-size:20px;font-weight:500;letter-spacing:-.4px;margin-bottom:10px}.steps p{font-size:13px;color:#6b7462;line-height:1.8;max-width:365px;margin:0}.contact{background:#18221a;color:#edf2e4;padding-bottom:65px}.contact .section-label{color:#a1af97}.contact-status{display:flex;align-items:center;gap:8px}.contact-kicker{font-size:14px;color:#a9b69e;margin-bottom:25px}.contact h2{font-size:clamp(47px,6.6vw,95px);letter-spacing:-4px;line-height:1.04}.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:60px;gap:20px}.contact-bottom p{font-size:13px;line-height:1.8;color:#aebba5;margin:0}.contact-bottom>a{font-size:clamp(18px,2.5vw,34px);letter-spacing:-.7px;border-bottom:1px solid #52634a;padding-bottom:13px}.contact-bottom>a span{color:var(--lime);margin-left:38px}footer{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:23px}footer .brand-icon{width:29px;height:29px;font-size:23px}footer>span,footer small,footer>a:last-child{font-size:10px;color:#68705f}footer>a:last-child{color:#283222}@media(min-width:1600px){.hero{min-height:850px}.hero-copy{padding-top:60px}.orb{right:10%;width:620px;height:620px}.hero-bottom{margin-top:40px}}@media(max-width:900px){header{height:78px}.hero{margin:0 12px;min-height:680px}.hero-copy{padding-top:55px}.orb{right:-110px;top:180px;opacity:.5}h1{letter-spacing:-2px;font-size:58px}.hero-top .small-label{display:none}.hero-copy{max-width:680px}.services{grid-template-columns:repeat(2,1fr)}.services article:nth-child(2){border-right:0}.services article:nth-child(3),.services article:nth-child(4){border-top:1px solid #cdd2c4}.services article:nth-child(3){padding-left:0}.services p{min-height:70px}.section-wrap{padding:65px 5%}.intro-heading,.direction-heading{gap:25px}.intro-heading>p,.direction-heading>p{max-width:250px}.genre-grid{gap:12px}.genre{height:385px}.genre-copy,.genre-top{left:16px;right:16px}.genre-copy h3{font-size:27px}.approach-grid{gap:45px}footer>span{display:none}}@media(max-width:600px){header{height:76px;padding:0 6%}.brand{font-size:25px}.brand-icon{width:30px;height:30px}nav{gap:0}nav>a:not(.nav-contact){display:none}.nav-contact{font-size:11px;padding:10px 14px}.nav-contact span{margin-left:13px}.hero{margin:0 8px;min-height:700px}.hero-top{padding:25px 6%}.eyebrow{font-size:8px;letter-spacing:1.2px}.hero-copy{padding:55px 6% 60px}.hero-kicker{font-size:12px}h1{font-size:44px;letter-spacing:-2.4px;line-height:1.12}.hero-description{font-size:13px;max-width:290px}.button{font-size:12px;gap:30px}.hero-art{background:linear-gradient(120deg,#101711,#29433b)}.orb{right:-190px;width:430px;height:430px;top:210px;opacity:.3}.silhouette{right:15%;opacity:.55}.hero-bottom{padding:22px 2%;font-size:7px;line-height:1.8;gap:22px;letter-spacing:1px}.hero-bottom a{max-width:130px}.hero-bottom a span{margin-left:5px}.ticker{font-size:17px;gap:23px;padding:19px 0}.section-wrap{padding:54px 6%}.section-label{font-size:8px;margin-bottom:34px;line-height:1.8;gap:24px}.section-label>span:last-child{max-width:150px;text-align:right;font-size:7px}.intro-heading,.direction-heading{display:block;margin-bottom:32px}h2{font-size:35px;letter-spacing:-1.7px}.intro-heading>p,.direction-heading>p{margin-top:22px;font-size:13px;max-width:330px}.services article{padding:22px 17px}.services h3{font-size:17px;margin-top:17px}.service-symbol{height:75px;font-size:39px;padding-top:15px}.services p{font-size:12px;min-height:150px;line-height:1.75}.tag{font-size:7px;letter-spacing:.5px}.directions{padding-top:5px}.genre-grid{grid-template-columns:1fr}.genre{height:370px}.genre-copy h3{font-size:34px}.genre-copy,.genre-top{left:25px;right:25px}.genre-copy p{font-size:12px}.approach-grid{grid-template-columns:1fr;gap:45px}.steps li{padding:21px 0}.steps h3{font-size:19px}.contact-status{justify-content:flex-end}.contact-status i{flex-shrink:0}.contact h2{font-size:50px;letter-spacing:-2.7px}.contact-bottom{display:block;margin-top:30px}.contact-bottom>a{display:inline-block;margin-top:28px;font-size:22px}.contact-bottom>a span{margin-left:17px}footer{flex-wrap:wrap;padding:25px 6%;gap:24px}footer .brand{width:100%}footer small{margin-right:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene-art{transition:none}}

/* Short drama: shared spacing and stable text columns. */
.hero { min-height: 640px; display: flex; flex-direction: column; }
.hero-copy { max-width: 720px; padding-top: 42px; padding-bottom: 52px; }
.hero h1 { font-size: clamp(58px, 6.2vw, 88px); letter-spacing: -.055em; line-height: 1.08; }
.hero-description { max-width: 420px; font-size: 15px; line-height: 1.75; }
.hero-bottom { margin-top: auto; }
.hero-kicker { max-width: 390px; line-height: 1.65; }
.orb { width: 460px; height: 460px; top: 112px; right: 5%; }
.intro-heading, .direction-heading { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 56px; }
.intro-heading > p, .direction-heading > p { max-width: 360px; justify-self: end; }
.services { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.services article { display: flex; flex-direction: column; min-width: 0; }
.services h3 { min-height: 50px; line-height: 1.25; }
.services p { min-height: 0; flex: 1; }
.services .tag { align-self: flex-start; white-space: nowrap; }
.approach-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 70px; }
.approach-grid > div > p { max-width: 360px; }
.steps li > div { min-width: 0; }
.contact-bottom > a { display: inline-flex; align-items: center; gap: 28px; font-size: clamp(20px,2.2vw,30px); }
.contact-bottom > a span { margin-left: 0; }
footer { flex-wrap: wrap; }

/* Inquiry dialog: short introduction and compact form, independently sized. */
body.dialog-open { overflow: hidden; }
dialog { width: min(900px, calc(100% - 48px)); max-height: calc(100dvh - 48px); padding: 0; border: 0; border-radius: 14px; background: var(--paper); color: var(--ink); box-shadow: 0 30px 100px #0005; }
dialog::backdrop { background: #101910b8; backdrop-filter: blur(7px); }
.dialog-content { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
.dialog-intro { padding: 46px 32px 36px; background: #1d2b20; color: var(--paper); }
.dialog-intro > .eyebrow { font-size: 9px; letter-spacing: 1.5px; color: var(--lime); margin-bottom: 30px; line-height: 1.6; }
.dialog-intro h2 { font-size: 37px; letter-spacing: -1.5px; line-height: 1.15; text-wrap: balance; margin-bottom: 20px; }
.dialog-intro > p { font-size: 13px; line-height: 1.8; color: #becab5; margin-bottom: 60px; }
.dialog-details { display: grid; gap: 16px; font-size: 11px; color: #c8d5bc; }
.dialog-form { padding: 42px 32px 30px; min-width: 0; }
.dialog-close { position: absolute; z-index: 2; right: 12px; top: 10px; border: 0; border-radius: 50%; background: var(--paper); color: #526448; font-size: 25px; cursor: pointer; width: 32px; height: 32px; line-height: 1; }
.dialog-close:hover { background: #e1e8d8; }
#inquiry-form label { display: flex; flex-direction: column; gap: 7px; font-size: 12px; font-weight: 500; margin-bottom: 15px; }
.form-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; }
#inquiry-form input, #inquiry-form select, #inquiry-form textarea { font: 400 13px 'DM Sans',Arial,sans-serif; width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid #cdd4c3; border-radius: 6px; background: #fafbf6; color: #20291b; line-height: 1.5; }
#inquiry-form textarea { resize: vertical; min-height: 108px; }
#inquiry-form input:focus, #inquiry-form textarea:focus, #inquiry-form select:focus { outline: 2px solid #90a66e; outline-offset: 1px; }
#inquiry-form ::placeholder { color: #87917e; }
.form-note { font-size: 10px; line-height: 1.6; color: #65735c; margin: 0 0 18px; }
.form-submit { border: 0; font-family: inherit; cursor: pointer; width: 100%; justify-content: space-between; padding: 14px 20px; }
.form-submit:disabled { opacity: .65; cursor: wait; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#inquiry-status { font-size: 12px; line-height: 1.6; margin: 12px 0 0; }
#inquiry-status:empty { display: none; }
#inquiry-status.success { color: #3c6427; }
#inquiry-status.error { color: #a0372d; }
@media (min-width: 1600px) {
  .hero { min-height: 720px; }
  .orb { width: 550px; height: 550px; right: 11%; top: 85px; }
  .hero-copy { padding-top: 50px; }
  .hero-bottom { margin-top: auto; }
}
@media (max-width: 1000px) {
  .intro-heading, .direction-heading { gap: 32px; }
  .services { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .services article:nth-child(2) { border-right: 0; }
  .services article:nth-child(3), .services article:nth-child(4) { border-top: 1px solid #cdd2c4; }
  .services article:nth-child(3) { padding-left: 0; }
  .services h3 { min-height: 0; }
  .approach-grid { gap: 40px; }
  .hero-copy { max-width: 620px; }
  .orb { right: -140px; opacity: .55; }
}
@media (max-width: 700px) {
  .hero { min-height: 600px; }
  .hero-copy { padding: 42px 6% 42px; }
  .hero h1 { font-size: clamp(45px,9vw,62px); letter-spacing: -.05em; }
  .hero-description { font-size: 14px; max-width: 355px; }
  .hero-bottom { font-size: 8px; }
  .intro-heading, .direction-heading { display: block; }
  .intro-heading > p, .direction-heading > p { margin-top: 24px; max-width: 440px; }
  .approach-grid { grid-template-columns: 1fr; gap: 40px; }
  dialog { width: min(520px,calc(100% - 24px)); max-height: calc(100dvh - 24px); }
  .dialog-content { grid-template-columns: 1fr; }
  .dialog-intro { padding: 26px 24px 22px; }
  .dialog-intro > .eyebrow { margin-bottom: 12px; padding-right: 30px; }
  .dialog-intro h2 { font-size: 28px; letter-spacing: -1px; max-width: 310px; margin-bottom: 12px; text-wrap: initial; }
  .dialog-intro > p { margin: 0; font-size: 12px; line-height: 1.65; max-width: 350px; }
  .dialog-details { display: none; }
  .dialog-form { padding: 24px; }
  .dialog-close { background: #314434; color: #e6efdc; right: 12px; top: 12px; }
  .dialog-close:hover { background: #41553c; }
}
@media (max-width: 600px) {
  .hero-kicker { max-width: 270px; font-size: 12px; }
  .hero { min-height: 580px; }
  .hero-copy { padding-top: 34px; padding-bottom: 34px; }
  .hero-description { max-width: 310px; }
  .hero .button { gap: 18px; padding: 16px 20px; }
  .hero-bottom { gap: 16px; padding: 20px 2%; }
  .hero-bottom > span, .hero-bottom > a { max-width: 150px; }
  .orb { right: -180px; top: 140px; opacity: .27; }
  .services { grid-template-columns: 1fr; }
  .services article, .services article:first-child, .services article:nth-child(3) { padding: 24px 0; border-right: 0; border-top: 1px solid #cdd2c4; }
  .services article:first-child { border-top: 0; }
  .services article:last-child { border-top: 1px solid #cdd2c4; }
  .service-symbol { height: 56px; padding-top: 10px; font-size: 34px; }
  .services h3 { font-size: 22px; margin: 20px 0 12px; }
  .services p { min-height: 0; font-size: 14px; margin-bottom: 20px; }
  .services .tag { font-size: 8px; }
  .genre-copy p { font-size: 13px; }
  .contact h2 { font-size: 45px; line-height: 1.1; }
  .contact-bottom > a { font-size: 21px; gap: 20px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  #inquiry-form input, #inquiry-form select, #inquiry-form textarea { font-size: 16px; }
  #inquiry-form textarea { min-height: 100px; }
  footer > a:last-child { overflow-wrap: anywhere; }
}

/* Three balanced values, without a clipped repeating marquee. */
.ticker { display:block; overflow:visible; white-space:normal; padding:26px 5%; font-size:clamp(14px,1.7vw,22px); line-height:1.5; letter-spacing:-.025em; }
.ticker-inner { width:100%; max-width:1100px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:24px; text-align:center; }
.ticker .star { font-size:22px; line-height:1; }
@media(max-width:600px) {
  .ticker { padding:21px 5%; font-size:11px; letter-spacing:-.02em; }
  .ticker-inner { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .ticker .star { display:none; }
  .ticker-inner>span:not(.star) { white-space:nowrap; }
}
@media(max-width:600px) { .ticker { padding-inline:4%; } .ticker-inner { gap:8px; } }
/* Original generated short drama imagery. */
.hero-art { background:#101a14; }
.hero-background { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,18,13,.88),rgba(8,18,13,.65) 34%,rgba(8,18,13,.12) 66%,rgba(8,18,13,.05)),linear-gradient(0deg,rgba(8,18,13,.5),transparent 28%); }
.hero-art .hero-background { position:absolute; inset:0; }
.genre .scene-art { background:#17231c; }
.genre .scene-art::before { display:none; }
.scene-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.genre::after { background:linear-gradient(180deg,rgba(8,16,12,.16),transparent 32%,rgba(8,16,12,.35) 60%,rgba(8,16,12,.94)); }
@media(max-width:700px) {
 .hero-background { object-position:72% center; }
 .hero-art::after { background:linear-gradient(90deg,rgba(8,18,13,.9),rgba(8,18,13,.58)),linear-gradient(0deg,rgba(8,18,13,.6),transparent); }
 .genre { height:480px; }
}
/* Collaboration options and factual studio introduction. */
.services.service-paths { grid-template-columns:repeat(3,minmax(0,1fr)); }
.service-paths h3 { min-height:0; margin-top:22px; }
.service-paths p { flex:initial; min-height:112px; }
.delivery { display:grid; gap:9px; margin:0 0 24px; font-size:12px; line-height:1.8; color:#68745d; flex:1; }
.delivery strong { color:#2e3e25; font-size:11px; font-weight:600; }
.scope-note { margin:24px 0 0; max-width:820px; color:#6b7462; font-size:12px; line-height:1.8; }
.about { background:var(--paper); }
.about-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; }
.about-grid h2 span { color:#81936c; }
.about-copy p { color:#697161; font-size:14px; line-height:1.9; margin-bottom:20px; }
.about-copy .about-lead { color:#24331e; font-size:20px; line-height:1.6; letter-spacing:-.4px; }
.about-copy p:last-child { margin:0; }
@media(min-width:601px) and (max-width:1000px) {
 .services.service-paths article:nth-child(2) { border-right:1px solid #cdd2c4; }
 .services.service-paths article:nth-child(3) { border-top:0; padding-left:27px; }
 .service-paths p { min-height:180px; }
 header nav { gap:18px; }
}
@media(max-width:700px) { .about-grid { grid-template-columns:1fr; gap:28px; } }
@media(max-width:600px) {
 .services.service-paths { grid-template-columns:1fr; }
 .service-paths p { min-height:0; }
 .delivery { font-size:13px; }
 .scope-note { font-size:12px; }
}
/* Final service-site polish. */
.service-cta { display:inline-flex; gap:18px; align-items:center; align-self:flex-start; margin-top:24px; padding-bottom:7px; border-bottom:1px solid #aab79a; font-size:12px; font-weight:500; }
.service-cta:hover { color:#536c37; border-color:#536c37; }
.faq { background:#e8ecdf; }
.faq-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; }
.faq h2 span { color:#81936c; }
.faq-grid>div>p { font-size:14px; line-height:1.8; color:#697161; margin:24px 0 0; }
.faq-list details { border-top:1px solid #c4cdb9; }
.faq-list details:last-child { border-bottom:1px solid #c4cdb9; }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:23px 0; cursor:pointer; list-style:none; font-size:16px; line-height:1.5; letter-spacing:-.3px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; flex-shrink:0; font-size:23px; line-height:1; color:#72875d; font-weight:400; }
.faq-list details[open] summary::after { content:'−'; }
.faq-list summary:focus-visible { outline:2px solid #81936c; outline-offset:4px; }
.faq-list details>p { color:#5f6c54; font-size:13px; line-height:1.9; margin:0; padding:0 22px 24px 0; }
.footer-faq { font-size:10px; color:#68705f; }
@media(max-width:700px) { .faq-grid { grid-template-columns:1fr; gap:30px; } .faq-list summary { font-size:15px; padding:20px 0; } }
@media(max-width:600px) { .service-cta { font-size:13px; margin-top:20px; } .faq-list details>p { font-size:14px; } .footer-faq { font-size:11px; } }
