/* Quiet architectural movement. CHL homepage concept. */
.cinematic-hero{position:relative;min-height:min(820px,calc(100svh - 96px));min-height:max(680px,calc(100svh - 96px));background:radial-gradient(ellipse at 77% 33%,#193b5d 0%,#0d2c4e 29%,#071d39 69%,#06172f 100%);isolation:isolate;overflow:hidden}
.cinematic-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 66% 41%,#c6a97812 0%,transparent 47%),linear-gradient(115deg,#061b36d9 0%,#071d38c7 44%,#09294a15 100%);animation:none;z-index:1}
.cinematic-hero::after{content:'';display:block;position:absolute;inset:0;background:linear-gradient(90deg,#061b36bd 2%,#061b362a 62%,transparent),linear-gradient(0deg,#07192dd6 0%,transparent 19%);pointer-events:none;z-index:1}
.cinematic-architecture{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;opacity:.9}
.cinematic-window{position:absolute;right:2%;top:-25%;width:49%;height:147%;transform:rotate(-13deg);transform-origin:top center;background:repeating-linear-gradient(90deg,transparent 0,transparent 17%,#e1cda320 17.5%,#e1cda31b 22%,transparent 22.5%,transparent 36%),linear-gradient(90deg,transparent 5%,#c9a97824 37%,#e2cfab38 50%,transparent 84%);filter:blur(28px);animation:window-light 5s cubic-bezier(.22,1,.36,1) both}
.cinematic-shade{position:absolute;right:4%;top:-28%;width:62%;height:165%;transform:rotate(-13deg);background:repeating-linear-gradient(90deg,transparent 0,transparent 18%,#06172b91 18.6%,#06172b91 22%,transparent 22.6%,transparent 35%);filter:blur(16px);animation:window-shadow 5s cubic-bezier(.22,1,.36,1) both}
.cinematic-glow{position:absolute;right:0;top:0;width:52%;height:100%;background:radial-gradient(ellipse at 64% 38%,#c6ad7f24,transparent 64%);animation:window-glow 5s ease-out both}
.cinematic-hero .hero-content{position:relative;z-index:3;margin-left:9%;padding:100px 4% 130px 0;max-width:850px;animation:none}
.cinematic-hero .kicker{animation:cinematic-enter 1s .15s both;color:#d4b27e}
.cinematic-hero h1{font-size:clamp(86px,10vw,160px);line-height:.9;letter-spacing:-.066em;margin:35px 0 24px;text-shadow:none}
.cinematic-hero h1 .title-line{display:block;animation:cinematic-title 1.3s .35s cubic-bezier(.22,1,.36,1) both}
.cinematic-hero h1 .title-line-two{animation-delay:.66s}
.cinematic-hero h1 em{color:#d7b581;font-weight:400}
.cinematic-hero .hero-accent{width:94px;height:1px;background:#e1ba7d;margin:31px 0 26px;animation:cinematic-line 1.8s 1.05s cubic-bezier(.22,1,.36,1) both}
.cinematic-tagline{font:400 clamp(22px,2.6vw,34px)/1.2 'Playfair Display',serif;color:#f5f2eb;letter-spacing:-.015em;animation:cinematic-enter .95s 1.3s both}.cinematic-tagline em{color:#e1bd87}
.cinematic-hero .hero-content>p{font-size:15px;line-height:1.85;max-width:505px;margin:24px 0 0;color:#d2dce5;animation:cinematic-enter .9s 1.55s both}
.cinematic-hero .cta-row{margin-top:31px;animation:cinematic-enter .9s 1.85s both}
.cinematic-hero .hero-foot{z-index:4;color:#c9d0d6;animation:cinematic-enter .9s 2.15s both}
.cinematic-hero .hero-foot:before{background:linear-gradient(90deg,#be955d,#ffffff20)}
.cinematic-hero .hero-foot span:first-child{color:#e4bd88}
.home-page .why .bodycopy p,.home-page .why .bodycopy p:first-child,.home-page .why .bodycopy p:not(:first-child){font:400 16px/1.9 'DM Sans',sans-serif;color:#4c5f70;letter-spacing:0}
.home-page .why .bodycopy p{margin-bottom:23px}
.home-page .region-tags a{display:inline-flex;align-items:center;background:#fff;border:1px solid #ddd7cc;color:#5c615f;font:600 10px/1.4 'DM Sans',sans-serif;letter-spacing:.1em;padding:11px 13px;text-transform:uppercase;transition:background .2s,color .2s,border-color .2s}
.home-page .region-tags a:hover,.home-page .region-tags a:focus-visible{background:#0b2855;border-color:#0b2855;color:#fff;outline-offset:3px}
@keyframes window-light{0%{transform:rotate(-13deg) translateX(15%);opacity:0}50%{opacity:.7}100%{transform:rotate(-13deg) translateX(0);opacity:1}}
@keyframes window-shadow{0%{transform:rotate(-13deg) translateX(10%);opacity:.15}100%{transform:rotate(-13deg) translateX(0);opacity:1}}
@keyframes window-glow{0%{opacity:0;transform:scale(1.2)}100%{opacity:1;transform:scale(1)}}
@keyframes cinematic-title{0%{opacity:0;transform:translateY(28px);filter:blur(8px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes cinematic-enter{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}
@keyframes cinematic-line{0%{transform:scaleX(0);opacity:0}100%{transform:scaleX(1);opacity:1}}
@media(max-width:800px){.cinematic-hero{min-height:720px}.cinematic-hero .hero-content{margin-left:7%;padding:100px 7% 120px 0}.cinematic-hero h1{font-size:clamp(79px,12vw,116px)}.cinematic-window,.cinematic-shade{right:-25%;width:76%}}
@media(max-width:540px){.cinematic-hero{min-height:calc(100svh - 80px);min-height:max(720px,calc(100svh - 80px))}.cinematic-hero::before{background:linear-gradient(90deg,#071d39ed,#071d39c5 66%,#071d3991)}.cinematic-hero .hero-content{padding:98px 7% 125px 0}.cinematic-hero h1{font-size:clamp(68px,15vw,94px);margin:30px 0 21px}.cinematic-hero .hero-accent{margin:26px 0 20px}.cinematic-tagline{font-size:26px}.cinematic-hero .hero-content>p{font-size:14px;line-height:1.78;max-width:380px}.cinematic-hero .cta-row{gap:19px;margin-top:27px}.cinematic-window{right:-50%;width:105%;opacity:.5}.cinematic-shade{right:-45%;width:110%;opacity:.35}.cinematic-hero .hero-foot{font-size:8px;bottom:24px}}
@media(prefers-reduced-motion:reduce){.cinematic-hero .kicker,.cinematic-hero h1 .title-line,.cinematic-hero .hero-accent,.cinematic-tagline,.cinematic-hero .hero-content>p,.cinematic-hero .cta-row,.cinematic-hero .hero-foot,.cinematic-window,.cinematic-shade,.cinematic-glow{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}}
