@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--navy:#091626;--navy2:#102438;--gold:#cba64b;--cream:#f6f3ec;--ink:#182736;--muted:#aab6c4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream)}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}.topbar{padding:11px 6%;display:flex;justify-content:space-between;background:#06101d;color:#adb8c4;font-size:11px;letter-spacing:.07em}.topbar a{color:var(--gold)}header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 6%;background:var(--navy);color:#e5e9ef;border-bottom:1px solid #ffffff12;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:var(--gold);font-family:'Playfair Display',Georgia,serif;font-size:25px;white-space:nowrap}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:.26em;color:#eee;line-height:2}.crest{width:44px;height:53px;border:1px solid var(--gold);border-radius:40% 40% 48% 48%;display:flex;flex-direction:column;align-items:center;font-size:19px;line-height:1.2}.crest b{font-size:19px}nav{display:flex;align-items:center;gap:30px;font-size:13px}nav a:hover,nav button:hover{color:var(--gold)}nav button{background:none;color:inherit;border:0;padding:12px 0}.dropdown{position:relative}#serviceMenu{position:absolute;top:44px;left:-24px;width:250px;padding:13px;background:#102237;border:1px solid #cba64b55;box-shadow:0 16px 40px #0005}#serviceMenu a{display:block;padding:10px 14px}#serviceMenu a:hover{background:#ffffff08}.button{background:var(--gold);color:#091626;padding:18px 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:13px;font-weight:700;border:1px solid var(--gold);transition:.2s}.button:hover{background:#dfbd69;transform:translateY(-2px)}.header-cta{padding:14px 21px}#menuToggle{display:none}.hero{background:var(--navy);color:white;min-height:720px;padding:78px 6% 0;position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr 1fr;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:88px 88px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--gold);display:flex;align-items:center;gap:14px;margin:0 0 26px}.eyebrow:before{content:'';width:35px;height:1px;background:var(--gold)}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;margin:0}h1{font-size:clamp(48px,5.7vw,86px);line-height:1.08;letter-spacing:-.04em}em{font-weight:500;color:var(--gold)}.intro{font-size:15px;color:var(--muted);line-height:1.9;max-width:465px;margin:28px 0 29px}.hero-actions{display:flex;align-items:center;gap:30px}.text-link{font-size:12px;border-bottom:1px solid #cba64b70;padding-bottom:8px;color:#e4e7ec;display:inline-block}.text-link span{margin-left:10px}.hero-note{font-size:10px;letter-spacing:.05em;color:#7f91a3;display:flex;align-items:center;gap:10px;margin-top:30px}.hero-note span{width:5px;height:5px;background:var(--gold);border-radius:50%}.hero-art{position:relative;min-height:450px;align-self:center;display:flex;justify-content:center;align-items:center}.orbit{position:absolute;border:1px solid #cba64b40;border-radius:50%;width:360px;height:360px}.o2{width:410px;height:410px;border-color:#cba64b15}.o3{width:460px;height:460px;border-color:#cba64b0c}.hero-art:before{content:'';width:320px;height:370px;border:1px solid #cba64b40;position:absolute;transform:rotate(-15deg);background:linear-gradient(145deg,#cba64b08,transparent)}.art-monogram{font:200px 'Playfair Display',serif;color:var(--gold);letter-spacing:-.19em;padding-right:34px;text-shadow:4px 4px 0 #06101d;position:relative;top:-25px}.art-monogram span{position:relative;top:35px}.art-caption{position:absolute;bottom:42px;font-size:9px;text-align:center;letter-spacing:.3em;line-height:2;color:#cba64bcc}.art-caption span{color:#8293a4}.art-star{position:absolute;right:25px;top:30px;color:var(--gold);font-size:34px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;font-size:9px;color:#8595a7;letter-spacing:.16em;padding:28px 0;margin-top:45px;border-top:1px solid #ffffff12}.promise{background:var(--gold);display:flex;justify-content:center;align-items:center;gap:8%;padding:25px 6%;font-family:'Playfair Display',serif;font-size:20px}.promise b{font-size:16px;font-weight:400;color:#796026}.section{padding:100px 6%;scroll-margin-top:20px}h2{font-size:clamp(36px,4vw,57px);line-height:1.18;letter-spacing:-.025em}.about{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-bottom:1px solid #192b3615}.about-copy .lead{font-size:22px;line-height:1.5;margin:0 0 20px}.about-copy p:not(.lead){font-size:14px;line-height:1.9;color:#63707a;margin-bottom:24px}.dark{color:var(--ink)}.services{background:#fffdfa}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:50px}.section-heading>p{font-size:13px;color:#74818a;line-height:1.9}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dcded9;border-left:1px solid #dcded9}.service-grid article{position:relative;padding:32px;border-bottom:1px solid #dcded9;border-right:1px solid #dcded9;transition:background .25s;scroll-margin-top:125px}.service-grid article:hover{background:var(--cream)}.number{font-size:10px;letter-spacing:.1em;color:#98a0a4}.service-symbol{display:block;font-size:35px;color:#b18d36;margin:26px 0 20px}h3{font-size:25px}.service-grid p{font-size:13px;line-height:1.9;color:#6f7a83;min-height:75px}.detail-link{background:none;border:0;border-bottom:1px solid #d4bc7f;padding:12px 0 8px;width:100%;display:flex;justify-content:space-between;text-align:left;font-size:11px;color:var(--ink)}.detail-link span{color:#a3802b}.process{background:var(--navy2);color:white}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7%;margin-top:60px}.steps>div{border-top:1px solid #cba64b70;padding-top:26px}.steps span{font-size:9px;color:var(--gold);letter-spacing:.15em}.steps h3{font-size:24px;margin-top:18px}.steps p{color:#a7b4c1;font-size:13px;line-height:1.8}.careers{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:center}.careers>div>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#677781}.contact{background:var(--navy);color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:12%;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:90px 90px}.contact>div>p:not(.eyebrow){max-width:450px;color:#aab6c4;font-size:14px;line-height:1.9}.phone{display:block;font-family:'Playfair Display',serif;font-size:28px;color:var(--gold);margin:35px 0 12px}.contact small{display:block;font-size:10px;color:#8393a5;line-height:1.7}.contact-panel{border:1px solid #cba64b55;background:#0e1e30;padding:36px}.panel-label{color:var(--gold);font-size:9px;letter-spacing:.2em}.contact-panel h3{font-size:32px;margin:20px 0 28px}.contact-panel label{font-size:11px;display:block;color:#b7c1ce;margin-bottom:10px}select{width:100%;background:#0a1727;border:1px solid #536172;color:white;padding:15px;font-size:12px}.contact-panel p{font-size:12px;line-height:1.8;color:#aab6c4}.contact-panel .button{width:100%;margin:10px 0 14px}footer{background:#06101d;color:#8797a9;padding:50px 6% 25px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px}.footer-links{display:flex;gap:25px;font-size:12px}footer>p{font-size:11px}.footer-bottom{flex-basis:100%;border-top:1px solid #ffffff10;padding-top:23px;display:flex;justify-content:space-between;font-size:9px}dialog{background:var(--cream);color:var(--ink);border:1px solid var(--gold);padding:48px;max-width:620px;width:calc(100% - 32px)}dialog::backdrop{background:#03101bce;backdrop-filter:blur(5px)}dialog h2{font-size:38px}dialog>p:not(.eyebrow),dialog li{font-size:14px;line-height:1.9;color:#5c6c77}dialog ul{padding-left:20px;margin:22px 0 30px}.close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:28px;color:var(--ink)}@media(min-width:1500px){.hero,.section,header,footer,.topbar{padding-left:max(6%,calc((100vw - 1320px)/2));padding-right:max(6%,calc((100vw - 1320px)/2))}}@media(max-width:1050px){nav{gap:17px}.header-cta{display:none}.hero-art{transform:scale(.8)}.hero-actions{gap:20px}.service-grid article{padding:25px}}@media(max-width:760px){.topbar{font-size:9px;padding:10px 5%}.topbar>span{max-width:220px}header{padding:16px 5%;gap:10px}.brand{font-size:22px}.crest{width:37px;height:46px}#menuToggle{display:flex;gap:15px;align-items:center;border:1px solid #cba64b55;background:none;color:var(--gold);padding:10px 14px;font-size:11px}nav{display:none;position:absolute;top:100%;left:0;width:100%;padding:20px 5%;background:#0e2033;flex-direction:column;align-items:stretch;gap:0;max-height:75vh;overflow:auto}nav.open{display:flex}nav>a,nav button{padding:12px 0;font-size:14px}#serviceMenu{position:static;width:100%;box-shadow:none;margin:5px 0 10px}.hero{padding:50px 5% 0;min-height:auto;grid-template-columns:1fr}.hero h1{font-size:52px}.intro{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-art{min-height:300px;transform:scale(.65);margin:-25px 0 -35px}.hero-bottom{margin-top:20px;font-size:8px;letter-spacing:.08em;gap:10px}.promise{padding:23px 5%;gap:15px;font-size:13px;text-align:center}.promise b{font-size:10px}.section{padding:65px 5%}.about,.careers,.contact{grid-template-columns:1fr;gap:35px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{padding:24px 18px}.service-grid h3{font-size:23px}.service-grid p{min-height:120px}.detail-link{font-size:10px;gap:8px}.steps{grid-template-columns:1fr;gap:25px;margin-top:35px}.steps p{margin-bottom:0}.contact-panel{padding:28px}.footer-bottom{flex-direction:column;gap:12px}footer{padding:40px 5% 25px}.footer-links{gap:18px}dialog{padding:38px 25px}dialog h2{font-size:30px}}@media(max-width:400px){.service-grid{grid-template-columns:1fr}.service-grid p{min-height:0}.hero h1{font-size:46px}.promise{font-size:11px;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Header words arrive in sequence; the mobile menu replays on opening. */
@keyframes headerWordsIn{from{opacity:0;transform:translateY(10px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
#navigation>a,#navigation>.dropdown{animation:headerWordsIn .65s cubic-bezier(.2,.7,.2,1) both;animation-delay:.12s}
#navigation>:nth-child(2){animation-delay:.24s}
#navigation>:nth-child(3){animation-delay:.36s}
#navigation>:nth-child(4){animation-delay:.48s}
#navigation>:nth-child(5){animation-delay:.60s}
#navigation>a,#servicesToggle{position:relative;transition:color .2s ease}
#navigation>a:after,#servicesToggle:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
#servicesToggle:after{bottom:4px}
#navigation>a:hover:after,#navigation>a:focus-visible:after,#servicesToggle:hover:after,#servicesToggle:focus-visible:after,#servicesToggle[aria-expanded=true]:after{transform:scaleX(1)}
@media(max-width:760px){#navigation:not(.open)>a,#navigation:not(.open)>.dropdown{animation:none}#navigation>a:after{bottom:5px}}
@media(prefers-reduced-motion:reduce){#navigation>a,#navigation>.dropdown{animation:none!important}#navigation>a:after,#servicesToggle:after{transition:none}}

.page-hero{background:var(--navy);color:white;padding:45px 6% 80px;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:88px 88px}.page-hero h1{font-size:clamp(42px,5.5vw,78px)}.page-hero .intro{max-width:620px}.breadcrumb{color:#8091a4;font-size:10px;margin:0 0 45px}.breadcrumb a:hover{color:var(--gold)}.next-step,.service-overview{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.next-step{border-top:1px solid #d9dcd4}.next-step p:not(.eyebrow),.service-overview .lead{font-size:16px;line-height:1.9;color:#65747f}.light-steps p{color:#65747f}.light-steps span{color:#9c7927}.topic-list>div{display:flex;align-items:center;gap:30px;padding:28px 0;border-top:1px solid #d9dcd4}.topic-list span{color:#b18d36;font-size:12px}.topic-list h3{font-size:26px}.questions p{padding:20px 0;margin:0;border-bottom:1px solid #d9dcd4;font-size:16px;line-height:1.7}.questions .button{margin-top:28px}.related{padding-top:30px}.related>div{display:flex;flex-wrap:wrap;gap:24px}nav a[aria-current=page]{color:var(--gold)}@media(max-width:760px){.page-hero{padding:30px 5% 55px}.page-hero h1{font-size:43px}.next-step,.service-overview{grid-template-columns:1fr;gap:28px}.topic-list h3{font-size:22px}.topic-list>div{gap:20px}}
/* Headline lines rise into place one by one as their section comes into view. */
@keyframes headlineReveal{from{opacity:0;transform:translateY(24px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes eyebrowReveal{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:translateX(0)}}
.heading-line{display:block}
.animated-heading .heading-line{opacity:0}
.heading-visible .heading-line{animation:headlineReveal .95s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.12s + var(--line-index)*.25s)}
.hero .heading-visible .heading-line{animation-delay:calc(.28s + var(--line-index)*.32s)}
.animated-eyebrow{animation:eyebrowReveal .7s ease-out both}
@media(prefers-reduced-motion:reduce){.animated-heading .heading-line{opacity:1;animation:none!important;transform:none;filter:none}.animated-eyebrow{animation:none!important}}
/* Ambient gold light and quiet emblem movement carry the brand through each page. */
@keyframes goldLightDrift{0%,100%{transform:translate3d(-6%,-4%,0) scale(1);opacity:.6}50%{transform:translate3d(7%,8%,0) scale(1.12);opacity:.9}}
@keyframes emblemFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes orbitBreathe{0%,100%{opacity:.55;scale:1}50%{opacity:1;scale:1.035}}
@keyframes starTurn{0%,100%{transform:rotate(0deg);opacity:.55}50%{transform:rotate(35deg);opacity:1}}
@keyframes crestLight{0%,100%{box-shadow:0 0 0 #cba64b00}50%{box-shadow:0 0 18px #cba64b20}}
.hero,.page-hero{isolation:isolate;position:relative;overflow:hidden}
.hero:before,.page-hero:before{content:'';position:absolute;z-index:-1;pointer-events:none;width:65%;height:120%;right:-8%;top:-10%;background:radial-gradient(ellipse at center,#cba64b19 0%,#cba64b07 35%,transparent 65%);animation:goldLightDrift 16s ease-in-out infinite}
.art-monogram{animation:emblemFloat 7s ease-in-out infinite}
.orbit{animation:orbitBreathe 9s ease-in-out infinite}
.o2{animation-delay:-3s}.o3{animation-delay:-6s}
.art-star{animation:starTurn 12s ease-in-out infinite}
header .crest{animation:crestLight 8s ease-in-out infinite}
.hero-copy .intro{animation:headlineReveal 1s ease-out .9s both}
.hero-actions{animation:headlineReveal 1s ease-out 1.15s both}
.hero-note{animation:eyebrowReveal .8s ease-out 1.4s both}
.button{position:relative;overflow:hidden}
.button:after{content:'';position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(90deg,transparent,#fff4,transparent);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none}
.button:hover:after,.button:focus-visible:after{left:125%}
.service-grid article .service-symbol{transition:transform .35s ease}
.service-grid article:hover .service-symbol{transform:translateY(-4px)}
.motion-control{background:none;border:0;border-bottom:1px solid #cba64b55;color:#b3a275;font-size:10px;letter-spacing:.04em;padding:2px 0;white-space:nowrap}
.topbar{gap:18px}.topbar>a{margin-left:auto}
.motion-paused .hero:before,.motion-paused .page-hero:before,.motion-paused .art-monogram,.motion-paused .orbit,.motion-paused .art-star,.motion-paused header .crest{animation-play-state:paused}
@media(max-width:760px){.topbar>span{max-width:150px;font-size:8px}.topbar{gap:12px}.motion-control{font-size:8px}.hero:before,.page-hero:before{width:100%;right:-20%}}
@media(prefers-reduced-motion:reduce){.hero:before,.page-hero:before,.art-monogram,.orbit,.art-star,header .crest,.hero-copy .intro,.hero-actions,.hero-note{animation:none!important}.button:after{display:none}.service-grid article:hover .service-symbol{transform:none}}
/* One-time lion film covers only the hero; navigation remains available. */
.lion-intro{position:absolute;inset:0;z-index:5;background:#091626;opacity:1;transition:opacity .7s ease;pointer-events:auto}
.lion-intro[hidden]{display:none}
.lion-intro video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.lion-intro:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#09162655,transparent 35%)}
.intro-skip{position:absolute;z-index:2;right:25px;bottom:25px;color:white;background:#091626c9;border:1px solid #cba64b88;padding:12px 18px;font-size:12px}
.intro-finished{opacity:0;pointer-events:none}
.intro-replay{background:none;border:0;color:var(--gold);font-size:10px;letter-spacing:.03em;padding:0;cursor:pointer}
.intro-replay:disabled{opacity:.4;cursor:default}
.hero.intro-playing .heading-line,.hero.intro-playing .intro,.hero.intro-playing .hero-actions,.hero.intro-playing .hero-note,.hero.intro-playing .animated-eyebrow{animation-play-state:paused}
@media(max-width:760px){.hero-bottom{flex-wrap:wrap;row-gap:15px}.intro-replay{order:3;flex-basis:100%;text-align:left}.lion-intro video{object-fit:contain}.intro-skip{right:18px;bottom:18px}}
@media(prefers-reduced-motion:reduce){.lion-intro{transition:none}}
.animated-brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.lion-logo{position:relative;display:block;padding:0;width:68px;height:68px;flex-shrink:0;overflow:hidden;border:1px solid #cba64b55;border-radius:50%;background:#091626;color:var(--gold)}
.lion-logo video{display:block;width:100%;height:100%;object-fit:contain}
.logo-play-cue{position:absolute;right:2px;bottom:3px;background:#091626d9;border-radius:50%;width:20px;height:20px;line-height:20px;font-size:14px}
.logo-playing .logo-play-cue,.logo-complete .logo-play-cue{display:none}
.lion-logo:disabled{cursor:default;opacity:1}
.lion-logo[hidden]{display:none}
@media(max-width:1050px){.lion-logo{width:56px;height:56px}}
@media(max-width:760px){.lion-logo{width:48px;height:48px}.animated-brand{gap:9px}.wordmark{font-size:20px}.wordmark small{font-size:8px}}
.hero-lion-logo{position:relative;z-index:2;width:320px;height:320px;padding:0;background:#091626;border:1px solid #cba64b55;border-radius:50%;overflow:hidden;cursor:pointer;box-shadow:0 0 70px #cba64b0d}
.hero-lion-logo video{display:block;width:100%;height:100%;object-fit:contain}
.hero-lion-logo .logo-play-cue{width:34px;height:34px;line-height:34px;font-size:22px;right:42px;bottom:34px;color:var(--gold)}
.hero-lion-logo:disabled{cursor:default;opacity:1}
.hero-lion-logo[hidden]{display:none}
/* Close crop keeps the lion's head inside a smaller, softly blended circle. */
.hero-art:before{display:none}
.hero-lion-logo{width:250px;height:250px;background:transparent;border:0;box-shadow:none;overflow:visible}
.hero-lion-logo video{border-radius:50%;object-fit:cover;object-position:50% 44%;clip-path:circle(49% at 50% 50%);transform:scale(1.12);mix-blend-mode:screen;mask-image:radial-gradient(circle,#000 57%,#000d 66%,transparent 72%)}
.hero-lion-logo .logo-play-cue{display:block;right:calc(50% - 80px);bottom:-48px;width:160px;height:auto;padding:9px 12px;font:11px 'DM Sans',sans-serif;background:#091626;border:1px solid #cba64b70;border-radius:0;color:var(--gold)}
.hero-lion-logo .logo-play-cue:after{content:' Play roar';font-size:11px}
.hero-lion-logo.logo-playing .logo-play-cue{display:none}
.hero-lion-logo.logo-complete .logo-play-cue:after{content:' Replay roar'}
.lion-logo{border:0;background:transparent}
.lion-logo video{object-fit:cover;object-position:50% 44%;transform:scale(1.12);mix-blend-mode:screen;mask-image:radial-gradient(circle,#000 58%,transparent 72%)}
.logo-complete .logo-play-cue{display:block}
/* Give service pages the same visible lion, rather than sound from a tiny header. */
.page-hero:has(.service-lion){padding-right:38%;min-height:480px}
.service-lion{position:absolute;right:8%;top:50%;transform:translateY(-50%);width:250px;height:250px}
.service-lion .hero-lion-logo video{mix-blend-mode:normal;mask-image:none;clip-path:circle(48%);background:var(--navy)}
.lion-logo video{mix-blend-mode:normal;mask-image:none;transform:none;object-fit:cover;border-radius:50%;opacity:1;visibility:visible}
.lion-logo{isolation:isolate;background:var(--navy)}
@media(max-width:760px){.page-hero:has(.service-lion){padding-right:5%;padding-bottom:80px}.service-lion{position:relative;right:auto;top:auto;transform:none;margin:38px auto 0}}
