/* Current services, October 2026. Keeps the original cinematic identity. */
:root { --rc-copy: #d0cec8; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:9999; padding:14px 20px; color:#070707; background:#e8c96a; }
.skip-link:focus { top:12px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:2px solid #e8c96a; outline-offset:5px; }
#main-content { display:block; }
#nav { background:rgba(7,7,7,.94); gap:24px; }
#nav .nav-links { gap:clamp(14px,1.7vw,28px)!important; }
#nav .nav-links a { font-size:12px!important; letter-spacing:.055em; color:#d0cec8; display:inline-flex; min-height:44px; align-items:center; }
#nav .nav-links a:hover { color:#e8c96a; }
#nav .nav-cta { font-size:12px!important; min-height:44px; align-items:center; display:inline-flex; white-space:nowrap; letter-spacing:.07em!important; }
.mobile-nav { display:none; }
.footer-logo { max-width:310px; line-height:1.4; }
footer { flex-wrap:wrap; gap:28px; }
footer .footer-links { flex-wrap:wrap; gap:12px 22px; max-width:720px; }
footer .footer-links a { font-size:12px; min-height:32px; display:inline-flex; align-items:center; }
.rc-section { padding:96px 0; border-top:1px solid rgba(201,168,76,.16); }
.rc-section h2 { font-family:var(--display); font-size:clamp(44px,5.3vw,76px); line-height:1.02; letter-spacing:.015em; max-width:900px; }
.rc-section .section-label, .rc-page-hero .section-label { font-size:12px; line-height:1.6; letter-spacing:.13em; margin-bottom:22px; }
.rc-section p, .rc-section li { color:var(--rc-copy); font-size:17px; line-height:1.8; }
.rc-section p + p { margin-top:20px; }
.rc-section .rc-lead, .rc-page-hero .rc-lead { font-family:var(--body); font-size:clamp(18px,1.6vw,21px); font-weight:400; line-height:1.7; max-width:790px; margin:24px 0 36px; color:var(--rc-copy); }
.rc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:40px; }
.rc-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; padding:36px; border:1px solid rgba(201,168,76,.23); background:linear-gradient(145deg,#1b1914,#101010 72%); transition:transform .25s,border-color .25s; }
.rc-card:hover { transform:translateY(-4px); border-color:#c9a84c; }
.rc-number { color:#d6b85f; font-family:var(--mono); font-size:13px; margin-bottom:36px; }
.rc-card h3, .rc-panel h3, .rc-split h3 { font-family:var(--display); font-size:clamp(29px,2.8vw,39px); font-weight:400; line-height:1.15; letter-spacing:.025em; margin-bottom:18px; }
.rc-card p { margin-bottom:28px; }
.rc-link { display:inline-flex; gap:12px; align-items:center; min-height:44px; color:#e8c96a; text-decoration:none; font-size:15px; line-height:1.5; font-weight:600; margin-top:auto; }
.rc-link:hover { text-decoration:underline; }
.rc-split { display:grid; grid-template-columns:1.15fr 1fr; gap:54px; align-items:center; }
.rc-panel { padding:38px; border:1px solid rgba(201,168,76,.35); background:linear-gradient(130deg,rgba(201,168,76,.1),rgba(10,10,10,.94)); }
.rc-intelligence { background:radial-gradient(ellipse at 0% 0%,rgba(201,168,76,.13),transparent 65%),#0d0d0d; position:relative; }
.rc-intelligence::before { content:''; position:absolute; top:0; left:8%; width:40%; height:1px; background:linear-gradient(90deg,transparent,#e8c96a,transparent); }
.rc-pill { display:inline-block; padding:9px 16px; border:1px solid #a58b47; border-radius:30px; color:#e8c96a; background:#19160e; font-family:var(--mono); font-size:13px; margin-bottom:28px; }
.rc-list { padding-left:22px; margin:24px 0; }
.rc-list li { margin:12px 0; padding-left:6px; }
.rc-section .rc-fine { font-size:14px; line-height:1.7; color:#bcb8ac; border-top:1px solid #51472e; padding-top:22px; }
.rc-page-hero { padding:174px 0 72px; background:radial-gradient(ellipse at 85% 0%,rgba(201,168,76,.16),transparent 60%); }
.rc-page-hero h1 { font-family:var(--display); font-size:clamp(58px,7vw,100px); line-height:1.02; max-width:1060px; letter-spacing:.015em; }
.rc-faq { max-width:900px; border-top:1px solid #55482b; }
.rc-faq details { border-bottom:1px solid #55482b; padding:24px 0; }
.rc-faq summary { cursor:pointer; font-size:19px; line-height:1.5; color:#f0ede8; }
.rc-faq p { margin-top:20px; }
.rc-home #hero .living-copy h1 { font-size:clamp(56px,7.6vw,116px)!important; line-height:1.02; }
.rc-home #hero .hero-sub { font-size:clamp(17px,1.45vw,20px)!important; line-height:1.75; max-width:620px; }
.rc-home #hero .hero-eyebrow { font-size:12px!important; line-height:1.6; max-width:600px; }
.rc-home .eco-reveal-copy { opacity:1; transform:none; }
.rc-home .living-hotspot { pointer-events:none; }
/* Content remains readable if animation scripts fail or motion is reduced. */
.reveal, .cinema-block { opacity:1!important; }
.rc-section .btn-primary, .rc-section .btn-ghost { font-size:13px; line-height:1.5; letter-spacing:.045em; min-height:48px; }
@media (max-width:1100px) {
  #nav { padding:16px 24px!important; gap:16px; }
  #nav .nav-links { display:none!important; }
  #nav .nav-cta { margin-left:auto; padding:10px 16px!important; }
  .mobile-nav { display:block; position:relative; }
  .mobile-nav summary { list-style:none; cursor:pointer; display:flex; align-items:center; min-height:44px; padding:8px 14px; border:1px solid #6c5c34; color:#e8c96a; font-size:14px; }
  .mobile-nav summary::-webkit-details-marker { display:none; }
  .mobile-nav summary::after { content:'+'; margin-left:12px; font-size:20px; }
  .mobile-nav[open] summary::after { content:'−'; }
  .mobile-nav ul { position:absolute; top:54px; right:0; width:260px; padding:12px; list-style:none; background:#111; border:1px solid #6c5c34; box-shadow:0 22px 50px #0009; max-height:calc(100svh - 100px); overflow-y:auto; }
  .mobile-nav a { color:#f0ede8; text-decoration:none; display:block; padding:13px 14px; font-size:16px; line-height:1.5; }
  .mobile-nav a:hover { background:#242016; color:#e8c96a; }
  .rc-split { gap:30px; }
}
@media (max-width:760px) {
  .rc-section { padding:64px 0; }
  .rc-section .section-inner, .rc-page-hero .section-inner { padding-left:24px; padding-right:24px; }
  .rc-grid, .rc-split { grid-template-columns:1fr; }
  .rc-card, .rc-panel { padding:26px; }
  .rc-number { margin-bottom:22px; }
  .rc-section h2 { font-size:clamp(38px,10vw,58px); }
  .rc-page-hero { padding:140px 0 48px; }
  .rc-page-hero h1 { font-size:clamp(45px,11.5vw,68px); overflow-wrap:break-word; }
  .rc-section .hero-actions { display:flex; flex-direction:column; align-items:stretch; gap:14px; }
  .rc-section .hero-actions a { text-align:center; justify-content:center; }
  .rc-home #hero .living-copy h1 { font-size:clamp(48px,12.5vw,76px)!important; }
  .rc-home #hero .hero-sub { max-width:100%; }
  .rc-home #hero .hero-eyebrow { font-size:11px!important; letter-spacing:.06em; }
  .rc-home .studio-status { display:none; }
  footer .footer-links { justify-content:center; }
}
@media (max-width:400px) {
  #nav { padding:12px 16px!important; gap:10px; }
  #nav .nav-logo { font-size:19px!important; letter-spacing:.12em; }
  #nav .nav-cta { padding:9px 11px!important; font-size:11px!important; }
  .mobile-nav summary { padding:8px 10px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none!important; transition:none!important; }
  .reveal, .cinema-block { transform:none!important; }
}

/* Keep site navigation above the page atmosphere and sticky journey controls.
   The legacy body > * background rule otherwise resets nav to relative/z-index:1. */
#nav {
  position:fixed;
  top:0;
  right:0;
  left:0;
  z-index:1000;
  overflow:visible;
  isolation:isolate;
}
@media (max-width:1100px) {
  #nav .mobile-nav { position:relative; z-index:1; }
  #nav .mobile-nav ul {
    position:fixed;
    top:84px;
    right:16px;
    left:auto;
    width:min(320px, calc(100vw - 32px));
    max-height:calc(100vh - 100px);
    max-height:calc(100dvh - 100px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    z-index:2;
    background:#111;
    box-shadow:0 18px 48px rgba(0,0,0,.8);
  }
  #nav .mobile-nav a { overflow-wrap:anywhere; }
}
@media (max-width:400px) {
  #nav .mobile-nav ul { top:76px; max-height:calc(100vh - 92px); max-height:calc(100dvh - 92px); }
}

/* Ember & Oak: landscape footage without the source file's baked-in black padding. */
video.ember-landscape, .journey-work-card > video.ember-landscape {
  display:block;
  width:100%;
  height:auto!important;
  aspect-ratio:30 / 17;
  object-fit:contain;
  background:#070707;
}

/* Explicit project credits distinguish the song from the video production. */
.client-credits { display:grid; grid-template-columns:1fr 1fr; gap:16px 20px; margin:24px 0; padding:20px 0; border-top:1px solid #51472e; border-bottom:1px solid #51472e; }
.client-credits dt { color:#d6b85f; font-size:11px; line-height:1.6; text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.client-credits dd { color:#f0ede8; font-size:15px; line-height:1.6; margin:0; }
@media (max-width:500px) { .client-credits { grid-template-columns:1fr; } }

.campaign-card iframe.terrell-video { display:block; width:100%; height:auto; aspect-ratio:16 / 9; border:0; margin:20px 0; }

/* Reliable original-project previews use bundled artwork instead of remote thumbnails. */
.indika-page [data-video] { height:auto!important; aspect-ratio:16 / 9; }
.indika-page [data-video] .reel-info { padding:18px!important; }
.indika-page [data-video] .reel-title { font-size:clamp(18px,2.5vw,28px)!important; }
.indika-page [data-video] .reel-category { font-size:10px; }
.reel-item.playing .reel-embed { pointer-events:auto!important; }
.reel-play { appearance:none; color:inherit; }
@media (max-width:500px) {
 .indika-page [data-video] .reel-info { padding:12px!important; }
 .indika-page [data-video] .reel-category { display:none; }
 .indika-page [data-video] .reel-play { width:56px!important; height:56px!important; }
}
