.film-intro {
  position: fixed;
  inset: 0;
  z-index: 50;
  overflow: hidden;
  background: #020805 url('assets/hero-intro-start.jpg') center center / cover no-repeat;
  opacity: 1;
  transition: opacity .75s ease, visibility .75s ease;
}
.film-intro.is-done { opacity: 0; visibility: hidden; pointer-events: none; }
.film-intro video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.film-intro::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(1,10,6,.28), transparent 58%); }
.film-intro-brand { position: absolute; z-index: 1; top: clamp(24px, 5vh, 58px); left: clamp(24px, 5vw, 78px); color: #f2e2ca; font: 500 clamp(24px, 2.8vw, 42px) 'Cormorant Garamond', serif; letter-spacing: .12em; text-shadow: 0 2px 12px #000; }
.film-intro-brand span { color: #edc77e; margin-right: .3em; }
.film-intro-brand small { display: block; margin-left: 1.6em; color: #edc77e; font: 600 clamp(9px, .9vw, 12px) 'DM Sans', sans-serif; letter-spacing: .45em; }
.film-skip { position: absolute; z-index: 1; right: clamp(22px, 5vw, 76px); bottom: clamp(25px, 6vh, 72px); padding: 12px 19px; border: 1px solid #edc77e; border-radius: 2px; background: rgba(1, 12, 7, .7); color: #f2e2ca; font-size: 14px; }
.film-skip:hover, .film-skip:focus-visible { background: #ce9b4c; color: #091009; }
body.intro-active { overflow: hidden; }
.hero { position: relative; isolation: isolate; background: #031009 url('assets/botanical-frame.png') center center / cover no-repeat; }
.hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at center, rgba(1, 10, 6, .28), rgba(1, 10, 6, .06) 55%, rgba(1, 10, 6, .18)); }
@media (max-width: 920px) {
  .hero { background-position: 62% top; }
  .hero::before { background: rgba(1, 10, 6, .68); }
}
@media (max-width: 650px) {
  .film-intro video { object-position: 64% center; }
  .film-intro { background-position: 64% center; }
  .film-intro-brand { top: 7vh; }
  .hero { background-position: 64% top; }
}
@media (prefers-reduced-motion: reduce) {
  .film-intro { display: none; }
  .film-intro, .film-intro video { transition: none; }
}

/* RAVAN home: a still editorial composition until a genuine loop is supplied. */
.ir-home .ravan-hero{position:relative;isolation:isolate;min-height:clamp(660px,calc(100svh - 125px),950px);display:flex;align-items:center;overflow:hidden;background:#06120c;color:#f7ead7}
.ir-home .ravan-hero-media,.ir-home .ravan-hero-media::after{position:absolute;inset:0}
.ir-home .ravan-hero-media{z-index:-1;overflow:hidden}
.ir-home .ravan-hero-poster,.ir-home .ravan-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.ir-home .ravan-hero-poster{display:block}
.ir-home .ravan-hero-video{opacity:0;transition:opacity .45s ease}
.ir-home .ravan-hero-video.is-ready{opacity:1}
.ir-home .ravan-hero-media::after{content:"";pointer-events:none;background:linear-gradient(90deg,#06120cf5 0%,#06120cd8 23%,#06120c83 48%,#06120c10 78%),linear-gradient(0deg,#06120c8c,transparent 22%)}
.ir-home .ravan-hero-content{width:min(100% - 12vw,1350px);margin:0 auto;padding:95px 0 110px;position:relative;z-index:1}
.ir-home .ravan-hero-content>*{max-width:720px}
.ir-home .ravan-eyebrow{font-size:11px;letter-spacing:.24em;font-weight:700;color:#e3bd79;margin:0 0 16px}
.ir-home .ravan-hero h1{font:500 clamp(85px,12vw,174px)/.82 'Cormorant Garamond',serif;letter-spacing:.015em;margin:0 0 35px;color:#f8ead3;text-shadow:0 5px 28px #020805a8}
.ir-home .ravan-title-rule{display:block;width:95px;height:2px;background:linear-gradient(90deg,#e5bc72,transparent);margin-top:30px}
.ir-home .ravan-slogan{font:500 clamp(31px,3.5vw,55px)/1.06 'Cormorant Garamond',serif;letter-spacing:-.024em;margin:0 0 18px;text-wrap:balance;text-shadow:0 3px 18px #020805}
.ir-home .ravan-description{font-size:14px;line-height:1.6;color:#e3d3bb;letter-spacing:.055em;margin:0 0 37px}
.ir-home .ravan-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-bottom:48px}
.ir-home .ravan-action{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-width:215px;min-height:54px;padding:14px 18px;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.035em;border:1px solid #d9ad67;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.ir-home .ravan-action span{font-size:19px;line-height:1}
.ir-home .ravan-action-primary{background:#d8ad69;color:#10140d}
.ir-home .ravan-action-primary:hover,.ir-home .ravan-action-primary:focus-visible{background:#f2d293;border-color:#f2d293}
.ir-home .ravan-action-secondary{background:#08170ebe;color:#f7ead7}
.ir-home .ravan-action-secondary:hover,.ir-home .ravan-action-secondary:focus-visible{background:#d8ad69;color:#10140d}
.ir-home .ravan-action:focus-visible{outline:3px solid #fff;outline-offset:4px}
.ir-home .ravan-hero-signature{font-size:10px;letter-spacing:.24em;color:#e3bd79;margin:0}
@media(max-width:700px){
  .ir-home .ravan-hero{min-height:max(710px,calc(100svh - 107px));align-items:flex-end}
  .ir-home .ravan-hero-poster,.ir-home .ravan-hero-video{object-position:100% 32%}
  .ir-home .ravan-hero-media::after{background:linear-gradient(0deg,#06120cff 1%,#06120ce5 28%,#06120c5b 58%,#06120c18 80%),linear-gradient(90deg,#06120c35,transparent 70%)}
  .ir-home .ravan-hero-content{width:calc(100% - 44px);padding:325px 0 47px}
  .ir-home .ravan-eyebrow{font-size:9px;margin-bottom:11px}
  .ir-home .ravan-hero h1{font-size:clamp(68px,19vw,96px);margin-bottom:20px}
  .ir-home .ravan-title-rule{margin-top:20px;width:70px}
  .ir-home .ravan-slogan{font-size:clamp(31px,8vw,43px);margin-bottom:10px}
  .ir-home .ravan-description{font-size:12px;margin-bottom:22px}
  .ir-home .ravan-hero-actions{gap:9px;margin-bottom:25px}
  .ir-home .ravan-action{min-height:48px;min-width:0;width:100%;font-size:12px}
  .ir-home .ravan-hero-signature{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .ir-home .ravan-hero-video{display:none!important}
  .ir-home .ravan-action{transition:none}
}
