@import url('./motion-v10.css');
@import url('./services-v13.css?v=14');
@import url('./reviews-v15.css');
@import url('./reviews-v16.css');
/* V7 — edge-to-edge film hero, clear middle, dark top/bottom. */
body:has(.hero)>.header{position:fixed;inset:0 0 auto;z-index:40;height:94px;padding-inline:5%;color:#fff;background:linear-gradient(180deg,rgba(8,7,10,.72),rgba(8,7,10,.2) 65%,transparent);border:0;box-shadow:none;backdrop-filter:none;transition:background .25s,color .25s}
body:has(.hero)>.header .brand,body:has(.hero)>.header nav,body:has(.hero)>.header .menu-toggle{color:#fff}
body:has(.hero)>.header nav a:after{background:currentColor}
body:has(.hero)>.header .header-book{color:#211d25;background:#faf7ff;border-color:#faf7ff}
body:has(.hero)>.header .header-book:hover{background:#ded0ee}
body:has(.hero)>.header.is-scrolled{color:#252329;background:rgba(250,249,246,.98);box-shadow:0 1px 0 #dedbe1;backdrop-filter:blur(16px)}
body:has(.hero)>.header.is-scrolled .brand,body:has(.hero)>.header.is-scrolled nav,body:has(.hero)>.header.is-scrolled .menu-toggle{color:#252329}
body:has(.hero)>.header.is-scrolled .header-book{background:#252329;border-color:#252329;color:#fff}
.hero{display:block;isolation:isolate;position:relative;width:100%;height:100svh;min-height:720px;max-height:1100px;padding:0;overflow:hidden;background:#151318}
.hero .film-stage{position:absolute;inset:0;z-index:0;isolation:isolate;width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:#151318}
.hero-media-backdrop{position:absolute;inset:0 auto 0 0;width:64%;height:100%;object-fit:cover;object-position:48% 38%;z-index:0}
.hero-media-side{position:absolute;inset:0 0 0 auto;width:24%;height:100%;object-fit:cover;object-position:55% 45%;z-index:1}
.hero .film-stage .hero-video{position:absolute;inset:0 16% 0 auto;z-index:2;width:auto;max-width:none;height:100%;aspect-ratio:9/16;object-fit:contain;background:#151318;border-radius:0}
.hero .film-stage:after{z-index:3;background:linear-gradient(90deg,rgba(9,7,12,.85) 0%,rgba(9,7,12,.67) 25%,rgba(9,7,12,.26) 49%,transparent 70%),linear-gradient(180deg,rgba(4,3,6,.65) 0%,rgba(4,3,6,.14) 18%,transparent 34%,transparent 55%,rgba(4,3,6,.4) 76%,rgba(4,3,6,.85) 100%)}
.hero .hero-content{position:absolute;z-index:4;left:6%;bottom:150px;width:52%;max-width:790px;padding:0;grid-row:auto;text-align:left}
.hero-content h1{font-size:clamp(66px,6.4vw,112px);line-height:1.03;letter-spacing:-.06em;text-shadow:0 2px 28px #0002}
.hero-content h1 em{color:#e2d1f8}
.hero .hero-content>.eyebrow{font-size:12px;letter-spacing:1.8px;line-height:1.6;margin-bottom:23px;color:#f7f1ff;text-shadow:0 2px 10px #0006}
.hero .hero-content>p:not(.eyebrow){font-size:19px;color:#f6f2f8;line-height:1.75;margin:25px 0 30px;max-width:550px;text-shadow:0 1px 12px #0006}
.hero .hero-content .btn{font-size:16px;min-height:54px;padding:15px 25px;box-shadow:0 8px 30px #0002}
.hero .hero-bottom{z-index:5;left:6%;right:auto;bottom:35px;width:45%;font-size:11px;letter-spacing:1px;padding-top:20px;border-color:#ffffff45;color:#faf7ff;gap:25px}
.hero .hero-bottom>a{white-space:nowrap}
.hero .film-stage-bar{top:125px;left:auto;right:5%;width:185px;z-index:5;font-size:11px;letter-spacing:1.1px;color:white;text-shadow:0 2px 10px #000}
.hero .film-stage-controls{z-index:5;left:auto;right:5%;bottom:28px;gap:10px}
.hero .film-stage-controls button{height:46px;width:46px;border-color:#ffffff80;background:#0e0c1380;backdrop-filter:blur(10px)}
.hero .film-dots{z-index:5;left:auto;right:5%;bottom:88px;width:260px;gap:7px}
.hero-in-view .mobile-book{display:none}
@media(min-width:1650px){.hero .hero-content{left:max(6%,calc((100vw - 1500px)/2));width:48%}.hero .hero-bottom{left:max(6%,calc((100vw - 1500px)/2));width:40%}}
@media(max-width:1100px){.hero{min-height:690px}.hero .hero-content{left:5%;width:57%;bottom:140px}.hero-content h1{font-size:72px}.hero .hero-content>p:not(.eyebrow){font-size:18px;max-width:490px}.hero .film-stage .hero-video{right:9%}.hero-media-side{width:19%}.hero .hero-bottom{left:5%;width:52%;font-size:10px}.hero .film-stage-bar{width:165px;top:115px}}
@media(max-width:1000px){body:has(.hero)>.header{height:84px}body:has(.hero)>.header nav.open{background:rgba(19,16,23,.98);border-color:#ffffff25;color:white;top:84px;backdrop-filter:blur(20px)}body:has(.hero)>.header.is-scrolled nav.open{background:#faf9f6;color:#252329}.hero{min-height:670px}.hero-content h1{font-size:64px}.hero .hero-content{width:60%;bottom:145px}.hero .film-stage:after{background:linear-gradient(90deg,#09070cd9,#09070c80 35%,transparent 78%),linear-gradient(180deg,#04030699,transparent 30%,transparent 52%,#040306d9)}.hero .film-stage .hero-video{right:3%}.hero .film-stage-bar{right:5%;width:150px}.hero .film-dots{width:210px}}
@media(min-width:701px) and (max-width:1000px) and (orientation:portrait){.hero-media-backdrop,.hero-media-side{display:none}.hero .film-stage .hero-video{inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.hero .film-stage:after{background:linear-gradient(180deg,#040306b8,transparent 28%,transparent 45%,#04030655 65%,#040306ed 100%)}.hero .hero-content{width:75%;max-width:600px}}
@media(max-width:700px){body:has(.hero)>.header{height:78px;padding:0 5%;background:linear-gradient(180deg,rgba(5,4,7,.78),rgba(5,4,7,.27) 75%,transparent)}body:has(.hero)>.header nav.open{top:78px}body:has(.hero)>.header .brand b{font-size:26px}body:has(.hero)>.header .brand small{font-size:9px;color:#faf5ff}body:has(.hero)>.header.is-scrolled .brand small{color:#252329}
.hero{height:100svh;min-height:660px;max-height:none;padding:0;display:block}
.hero .film-stage{inset:0;width:100%;height:100%;margin:0;border-radius:0;grid-row:auto}
.hero-media-backdrop,.hero-media-side{display:none}
.hero .film-stage .hero-video{inset:0;width:100%;height:100%;max-width:100%;aspect-ratio:auto;object-fit:cover;object-position:center center}
.hero .film-stage:after{background:linear-gradient(180deg,rgba(4,3,6,.72) 0%,rgba(4,3,6,.22) 15%,transparent 28%,transparent 46%,rgba(4,3,6,.24) 58%,rgba(4,3,6,.72) 75%,rgba(4,3,6,.96) 100%)}
.hero .hero-content{left:6%;right:6%;bottom:129px;width:auto;max-width:560px;grid-row:auto;padding:0;text-shadow:0 2px 15px #0003}
.hero-content h1{font-size:clamp(47px,12vw,66px);line-height:1.04;letter-spacing:-.055em}
.hero .hero-content>.eyebrow{font-size:10px;letter-spacing:1.25px;line-height:1.5;margin-bottom:14px}
.hero .hero-content>p:not(.eyebrow){font-size:16px;line-height:1.65;margin:17px 0 21px;max-width:390px;color:#fbf8ff}
.hero .hero-content .btn{font-size:15px;min-height:49px;padding:13px 21px}
.hero .hero-bottom{left:6%;right:auto;bottom:23px;width:calc(100% - 200px);border:0;padding:0;font-size:9px;line-height:1.6;letter-spacing:.4px;display:block;text-shadow:0 2px 9px black}
.hero .hero-bottom>a{display:none}
.hero .film-stage-bar{top:101px;left:6%;right:6%;width:auto;font-size:9px;letter-spacing:1px}
.hero .film-stage-controls{right:6%;left:auto;bottom:17px;gap:8px}
.hero .film-stage-controls button{width:42px;height:42px;font-size:18px;background:#09070c8c}
.hero .film-dots{left:6%;right:6%;bottom:82px;width:auto;gap:7px}
}
@media(max-width:370px){body:has(.hero)>.header .brand b{font-size:23px}body:has(.hero)>.header .brand small{font-size:8px}.hero-content h1{font-size:46px}.hero .hero-content>p:not(.eyebrow){font-size:15px}.hero .hero-content{bottom:126px}.hero .hero-bottom{font-size:8px;width:calc(100% - 185px)}.hero .film-stage-controls button{width:40px;height:40px}}
@media(max-height:740px) and (max-width:700px){.hero{min-height:620px}.hero .hero-content{bottom:112px}.hero-content h1{font-size:46px}.hero .hero-content>p:not(.eyebrow){font-size:15px;margin:13px 0 16px}.hero .hero-content>.eyebrow{margin-bottom:10px}.hero .film-dots{bottom:72px}.hero .hero-bottom{bottom:19px}.hero .film-stage-controls{bottom:13px}}

/* Desktop: separate editorial copy and two adjacent media panels. */
.typewriter-word{display:none}
@media(min-width:1001px){
body:has(.hero)>.header{color:#252329;background:#faf9f6;border-bottom:1px solid #dedbe1}
body:has(.hero)>.header .brand,body:has(.hero)>.header nav,body:has(.hero)>.header .menu-toggle{color:#252329}
body:has(.hero)>.header .header-book{color:#fff;background:#252329;border-color:#252329}
body:has(.hero)>.header .header-book:hover{background:#51435e}
.hero{background:radial-gradient(ellipse at 10% 48%,#ede5f3 0%,#faf9f6 48%);color:#252329;min-height:740px}
.hero .film-stage{inset:114px 24px 24px auto;width:calc(54% - 24px);height:calc(100% - 138px);background:transparent;overflow:visible}
.hero-media-backdrop{display:none}
.hero-media-side{inset:0 0 0 auto;width:calc(50% - 7px);height:100%;object-position:50% 45%;border:6px solid #fff;border-radius:18px;box-shadow:0 0 0 1px #d6cddb,0 14px 35px #352a3f12}
.hero .film-stage .hero-video{inset:0 auto 0 0;width:calc(50% - 7px);max-width:50%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;border:6px solid #fff;border-radius:18px;box-shadow:0 0 0 1px #d6cddb,0 14px 35px #352a3f12}
.hero .film-stage:after{display:none}
.hero .hero-content{left:6%;right:auto;top:52%;bottom:auto;width:34%;max-width:660px;padding:0;transform:translateY(-45%);animation:none;text-shadow:none}
.hero-content h1{font-size:clamp(64px,5.1vw,98px);line-height:1.08;letter-spacing:-.06em;text-shadow:none}
.hero-content h1 em{color:#79618d}
.typewriter{position:relative;display:inline-block;white-space:nowrap}
.typewriter-base{opacity:0}
.typewriter-word{display:block;position:absolute;top:0;left:0;white-space:nowrap;overflow:hidden;box-sizing:content-box;width:0;border-right:2px solid #79618d;animation:hero-type 9s steps(7,end) infinite,hero-caret 1s step-end infinite}
.hero .hero-content>.eyebrow{color:#5d5268;text-shadow:none;font-size:12px;letter-spacing:1.3px;margin-bottom:25px}
.hero .hero-content>p:not(.eyebrow){color:#625b69;font-size:clamp(17px,1.1vw,20px);line-height:1.8;text-shadow:none;margin:28px 0 32px;max-width:540px}
.hero .hero-content .btn{background:#252329;border-color:#252329;color:#fff;box-shadow:none;min-height:56px;padding:16px 25px}
.hero .hero-content .btn:hover{background:#51435e}
.hero .hero-bottom{left:6%;right:auto;bottom:35px;width:34%;color:#635b69;border-color:#d9d3dd;font-size:10px;letter-spacing:.5px;gap:20px;padding-top:20px}
.hero .film-stage-bar{top:28px;left:28px;right:auto;width:calc(50% - 63px);font-size:10px;text-shadow:0 1px 6px #000,0 1px 12px #000}
.hero .film-stage-controls{left:26px;right:auto;bottom:25px;gap:10px}
.hero .film-dots{left:26px;right:auto;bottom:86px;width:calc(50% - 59px);filter:drop-shadow(0 1px 4px #000)}
}
@keyframes hero-type{0%,8%{width:0}38%,85%{width:100%}100%{width:0}}
@keyframes hero-caret{50%{border-color:transparent}}
@media(prefers-reduced-motion:reduce){.typewriter-base{opacity:1}.typewriter-word,.typewriter:after{display:none}}
