:root{--navy:#071d35;--navy2:#0c2d4d;--blue:#124c7a;--gold:#d2ad64;--ice:#edf4f8;--white:#fff;--ink:#10263a;--muted:#637585;--line:rgba(10,39,63,.14);--radius:6px;--shadow:0 24px 70px rgba(4,24,42,.16)}


*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65;font-size:16px}

a{color:inherit;text-decoration:none}

img{max-width:100%;display:block}

.wrap{width:min(1180px,calc(100% - 40px));margin:auto}

.skip{position:absolute;left:-9999px;top:8px;background:#fff;color:#000;padding:10px;z-index:100}

.skip:focus{left:8px}

.topline{background:var(--navy);color:#dce8ef;font-size:.76rem;letter-spacing:.04em}

.topline .wrap{height:34px;display:flex;align-items:center;justify-content:space-between}

.topline a{color:#fff}

.site-header{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);z-index:50;border-bottom:1px solid rgba(7,29,53,.08)}

.nav{height:84px;display:flex;align-items:center;justify-content:space-between}

.brand img{width:205px}

.menu{display:flex;align-items:center;gap:30px;font-size:.9rem;font-weight:600}

.menu>a:not(.button){position:relative}

.menu>a:not(.button):after{content:"";position:absolute;height:2px;background:var(--gold);left:0;right:100%;bottom:-7px;transition:.25s}

.menu>a:hover:after{right:0}

.menu-button{display:none;background:none;border:0;padding:9px}

.menu-button span{display:block;width:26px;height:2px;background:var(--navy);margin:5px}

.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 27px;background:var(--gold);color:var(--navy);font-weight:800;border-radius:2px;letter-spacing:.01em;transition:.25s}

.button:hover{background:#e2c17d;transform:translateY(-2px)}

.button-small{min-height:42px;padding:0 20px}

.hero{min-height:720px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}

.hero-image{position:absolute;inset:0;background:url('hero.webp') center 38%/cover no-repeat;transform:scale(1.02)}

.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,18,33,.95) 0%,rgba(5,27,49,.84) 42%,rgba(5,27,49,.22) 72%,rgba(5,27,49,.12) 100%)}

.hero-content{position:relative;padding:96px 0 130px}

.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:800;color:#e4c582;margin:0 0 18px}

.eyebrow.dark{color:var(--blue)}

h1,h2{font-family:"Playfair Display",Georgia,serif;line-height:1.08;margin:0;letter-spacing:-.025em}

h1{font-size:clamp(3.1rem,6.2vw,6.1rem);max-width:880px}

h2{font-size:clamp(2.25rem,4.2vw,4.25rem)}

.hero-copy{max-width:640px;font-size:1.14rem;color:#dae5ec;margin:30px 0}

.hero-actions{display:flex;align-items:center;gap:30px}

.text-link{font-weight:800;border-bottom:1px solid rgba(255,255,255,.45);padding:8px 0}

.text-link span{margin-left:9px;color:var(--gold)}

.hero-card{position:absolute;right:0;bottom:0;background:var(--gold);color:var(--navy);min-width:350px;padding:28px 52px}

.hero-card strong{display:block;font-family:"Playfair Display";font-size:2rem}

.hero-card span{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}

.section{padding:120px 0}

.intro{background:#fff}

.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:start}

.intro-copy{font-size:1.06rem;color:var(--muted)}

.intro-copy p:first-child{margin-top:4px}

.dark-link{display:inline-block;color:var(--navy);border-color:var(--line);margin-top:14px}

.services{background:var(--navy);color:#fff}

.section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end;margin-bottom:55px}

.section-head>p{color:#9db0c0;margin:0 0 8px}

.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14)}

.service-grid article{position:relative;padding:42px 28px 18px;border-right:1px solid rgba(255,255,255,.14);min-height:310px}

.service-grid article:first-child{border-left:1px solid rgba(255,255,255,.14)}

.service-grid .num{color:#7d91a3;font-size:.75rem}

.service-grid .icon{font-size:2rem;color:var(--gold);margin:40px 0 22px}

.service-grid h3{font-size:1.22rem;margin:0 0 12px}

.service-grid p{font-size:.9rem;color:#aebdca}

.technology{background:var(--navy2);color:#fff;overflow:hidden}

.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}

.tech-grid>div:last-child>p:not(.eyebrow):not(.note){color:#b7c7d2;font-size:1.04rem}

.tech-visual{min-height:520px;display:grid;place-items:center}

.rings{width:420px;height:420px;border:1px solid rgba(210,173,100,.42);border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle,rgba(210,173,100,.13),transparent 60%)}

.rings:before,.rings:after,.rings span{content:"";position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%}

.rings:before{inset:45px}

.rings:after{inset:90px}

.rings span:nth-child(1){inset:-55px}

.rings span:nth-child(2){width:12px;height:12px;background:var(--gold);border:0;left:44px;top:62px;box-shadow:300px 240px 0 #fff,55px 325px 0 rgba(210,173,100,.8)}

.rings b{font-family:"Playfair Display";font-size:5rem;line-height:1;color:#fff;z-index:1}

.rings small{text-align:center;color:#d5dfe6;z-index:1;text-transform:uppercase;letter-spacing:.12em}

.check-list{list-style:none;padding:0;margin:35px 0}

.check-list li{padding:14px 0 14px 35px;border-bottom:1px solid rgba(255,255,255,.12);position:relative}

.check-list li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:800}

.check-list b,.check-list span{display:block}

.check-list span{font-size:.84rem;color:#9fb2c0}

.note{font-size:.78rem;color:#e4c582}

.locations{background:var(--ice)}

.section-head.light>p{color:var(--muted)}

.location-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

.location-grid article{background:#fff;padding:32px 28px;min-height:290px;display:flex;flex-direction:column;border-top:3px solid var(--navy);box-shadow:0 12px 35px rgba(7,29,53,.06)}

.location-grid article>span{color:var(--gold);font-weight:800;font-size:.78rem}

.location-grid h3{font-family:"Playfair Display";font-size:1.8rem;margin:24px 0 10px}

.location-grid p{color:var(--muted);font-size:.9rem;min-height:55px}

.location-grid article>a:not(.map){font-weight:700}

.location-grid .map{margin-top:auto;font-weight:800;font-size:.78rem;color:var(--blue);text-transform:uppercase;letter-spacing:.06em}

.location-grid .soon{background:var(--navy);color:#fff;border-top-color:var(--gold)}

.location-grid .soon p{color:#b6c5cf}

.location-grid .soon strong{margin-top:auto;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}

.contact{background:#fff}

.contact-card{background:var(--blue);color:#fff;padding:70px 75px;display:grid;grid-template-columns:1.35fr .65fr;gap:65px;align-items:center;box-shadow:var(--shadow)}

.contact-card h2{font-size:clamp(2.1rem,4vw,3.8rem)}

.contact-card p:not(.eyebrow){color:#d5e3ec}

.contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:18px}

.light-button{background:#fff;color:var(--blue)}

.mail{text-align:center;border-bottom:1px solid rgba(255,255,255,.35);padding:10px;font-weight:700}

footer{background:#041426;color:#fff;padding:75px 0 25px}

.footer-grid{display:grid;grid-template-columns:1.7fr .65fr .8fr;gap:70px}

.footer-grid img{width:190px;filter:brightness(0) invert(1);margin-bottom:25px}

.footer-grid p{color:#92a7b6;max-width:340px}

.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}

.footer-grid b{color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}

.footer-grid a{color:#c1ced7;font-size:.9rem}

.copyright{margin-top:65px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;color:#78909f;font-size:.78rem}


@media(max-width:950px){.menu-button{display:block}

.menu{position:absolute;top:118px;left:0;right:0;background:#fff;padding:24px 30px;display:none;flex-direction:column;align-items:stretch;gap:18px;border-top:1px solid var(--line);box-shadow:var(--shadow)}

.menu.open{display:flex}

.hero{min-height:650px}

.hero-overlay{background:linear-gradient(90deg,rgba(3,18,33,.94),rgba(3,18,33,.55))}

.hero-card{min-width:280px;padding:20px 32px}

.intro-grid,.tech-grid,.contact-card{grid-template-columns:1fr;gap:50px}

.section-head{grid-template-columns:1fr;gap:20px}

.service-grid,.location-grid{grid-template-columns:repeat(2,1fr)}

.tech-visual{min-height:430px}

.footer-grid{grid-template-columns:1.5fr 1fr 1fr}

}


@media(max-width:620px){.wrap{width:min(100% - 28px,1180px)}

.topline .wrap{justify-content:center}

.topline span{display:none}

.nav{height:72px}

.brand img{width:170px}

.menu{top:106px}

.hero{min-height:700px;align-items:flex-start}

.hero-image{background-position:63% center}

.hero-overlay{background:linear-gradient(90deg,rgba(3,18,33,.97),rgba(3,18,33,.58))}

.hero-content{padding:100px 0 150px}

h1{font-size:3.1rem}

.hero-copy{font-size:1rem}

.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}

.hero-card{min-width:0;left:0;right:auto;padding:18px 26px}

.section{padding:82px 0}

.intro-grid{gap:38px}

.service-grid,.location-grid{grid-template-columns:1fr}

.service-grid article{border-left:1px solid rgba(255,255,255,.14);min-height:250px}

.rings{width:285px;height:285px}

.rings span:nth-child(1){inset:-28px}

.rings b{font-size:3.5rem}

.tech-visual{min-height:335px}

.contact-card{width:100%;padding:50px 26px}

.footer-grid{grid-template-columns:1fr;gap:38px}

.copyright{flex-direction:column;gap:8px}

}


@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}

.button{transition:none}

}



/* Modern editorial refresh */
.site-header{background:rgba(255,255,255,.84);backdrop-filter:blur(22px) saturate(150%)}


.hero{min-height:760px;border-radius:0 0 38px 38px}

.hero-card{right:38px;bottom:38px;background:rgba(255,255,255,.14);color:#fff;min-width:330px;padding:22px 28px;display:flex;align-items:center;gap:18px;border:1px solid rgba(255,255,255,.24);border-radius:18px;backdrop-filter:blur(18px)}

.hero-card span:not(.pulse){color:#dbe8ef}

.pulse{width:13px;height:13px;border-radius:50%;background:#59d5ea;box-shadow:0 0 0 7px rgba(89,213,234,.15);flex:0 0 auto}

.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}

.quick-grid div{padding:28px 20px;display:flex;gap:13px;align-items:center;border-right:1px solid var(--line)}

.quick-grid div:first-child{border-left:1px solid var(--line)}

.quick-grid b{color:var(--gold);font-size:.72rem}

.quick-grid span{font-size:.82rem;font-weight:800}

.service-grid article,.location-grid article{transition:transform .25s,box-shadow .25s,background .25s}

.service-grid article:hover{transform:translateY(-7px);background:rgba(255,255,255,.05)}

.location-grid article{border-radius:0 0 18px 18px}

.location-grid article:hover{transform:translateY(-7px);box-shadow:0 25px 55px rgba(7,29,53,.12)}

.blog-home{padding-bottom:110px}

.blog-home .section-head>div>p{color:var(--muted)}

.article-grid{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:20px}

.article-card{display:flex;flex-direction:column;background:#f4f8fa;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .25s,box-shadow .25s}

.article-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}

.article-visual{height:220px;position:relative;overflow:hidden}

.featured .article-visual{height:290px}

.article-visual:before,.article-visual:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.24)}

.article-visual:before{width:210px;height:210px;right:-20px;top:25px}

.article-visual:after{width:120px;height:120px;right:25px;top:70px}

.article-visual span{position:absolute;z-index:2;left:20px;top:20px;padding:7px 12px;border-radius:50px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

.visual-eye{background:radial-gradient(circle at 75% 50%,#53d7e8 0 5%,transparent 19%),linear-gradient(135deg,#061a2e,#12608e)}

.visual-frames{background:linear-gradient(145deg,#d8b66f,#8b6128)}

.visual-screen{background:linear-gradient(145deg,#082f52,#2a80ae)}

.article-body{padding:24px;display:flex;flex-direction:column;flex:1}

.article-body small{color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.07em}

.article-body h3{font-family:"Playfair Display";font-size:1.55rem;line-height:1.16;margin:13px 0}

.featured .article-body h3{font-size:2rem}

.article-body p{color:var(--muted);font-size:.9rem}

.article-body b{margin-top:auto;padding-top:18px;color:var(--blue);font-size:.8rem}

.contact-card{border-radius:24px}


@media(max-width:950px){.quick-grid{grid-template-columns:repeat(2,1fr)}

.article-grid{grid-template-columns:1fr 1fr}

.article-card.featured{grid-column:1/-1}

.hero-card{right:20px}

}


@media(max-width:620px){.hero{border-radius:0 0 24px 24px}

.hero-card{left:14px;right:14px;bottom:18px;min-width:0}

.quick-grid,.article-grid{grid-template-columns:1fr}

.article-card.featured{grid-column:auto}

.quick-grid div{border-left:1px solid var(--line)}

.blog-home{padding-bottom:80px}

}



/* Brand visibility and motion */
.site-header .brand img{filter:brightness(0);opacity:.94}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}

.reveal.is-visible{opacity:1;transform:none}

.hero-content>*{opacity:0;animation:heroIn .8s cubic-bezier(.2,.8,.2,1) forwards}

.hero-content>*:nth-child(2){animation-delay:.12s}

.hero-content>*:nth-child(3){animation-delay:.24s}

.hero-content>*:nth-child(4){animation-delay:.36s}

.hero-image{animation:slowZoom 16s ease-in-out infinite alternate}

.rings{animation:floatRing 6s ease-in-out infinite}

.article-card:nth-child(2){transition-delay:.06s}

.article-card:nth-child(3){transition-delay:.12s}

@keyframes heroIn{to{opacity:1;transform:none}

from{opacity:0;transform:translateY(28px)}

}

@keyframes slowZoom{from{transform:scale(1.02)}

to{transform:scale(1.09)}

}

@keyframes floatRing{0%,100%{transform:translateY(0)}

50%{transform:translateY(-14px)}

}

@media(prefers-reduced-motion:reduce){.reveal,.hero-content>*,.hero-image,.rings{animation:none!important;transition:none!important;opacity:1;transform:none}

}

.hero-slider{position:absolute;inset:0}
.hero-slider .hero-image{opacity:0;transition:opacity 1s ease;animation:none}
.hero-slider .hero-image.active{opacity:1;animation:slowZoom 16s ease-in-out infinite alternate}
.slide-1{background-image:url('hero.webp')}
.slide-2{background-image:url('slide-2.jpg');background-position:center}
.slide-3{background-image:url('slide-3.jpg');background-position:center 60%}
.slide-controls{position:absolute;z-index:4;left:max(20px,calc((100% - 1180px)/2));bottom:35px;display:flex;align-items:center;gap:14px}
.slide-controls button{width:42px;height:42px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff18;color:#fff;cursor:pointer}
.slide-controls span{display:flex;gap:7px}
.slide-controls i{display:block;width:8px;height:8px;border-radius:8px;background:#ffffff70;cursor:pointer;transition:.25s}
.slide-controls i.active{width:28px;background:var(--gold)}
.closure-strip{background:#d8b468;color:#071d35}.closure-strip .wrap{font-size:.86rem}.closure-alert{min-height:52px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:7px 0}.closure-strip b{text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.closure-details{display:flex;flex-wrap:wrap;gap:4px 18px}.closure-entry{display:flex;gap:5px;align-items:baseline}.closure-entry strong{font-weight:900}.closure-strip a{font-weight:800;white-space:nowrap}.hours-box{display:flex;flex-direction:column;margin:16px 0 10px;padding-top:12px;border-top:1px solid var(--line)}.hours-box b{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--blue)}.hours-box small{color:var(--muted);margin-top:2px}.closed-note{background:#fff0ed;color:#9f2d20;border-left:3px solid #d54837;padding:8px 10px;margin:5px 0 12px;font-size:.75rem;font-weight:800}.location-grid article{min-height:390px}@media(max-width:800px){.closure-alert{grid-template-columns:1fr;align-items:flex-start;gap:4px}.closure-strip b{white-space:normal}.closure-details{flex-direction:column;gap:2px}.closure-entry{align-items:flex-start}.closure-strip a{margin-top:2px}}@media(max-width:620px){.closure-strip .wrap{padding:6px 0}}
.brand-strip{background:#fff;border-bottom:1px solid var(--line);overflow:hidden;padding:24px 0}.brand-head{margin-bottom:16px}.brand-head span{display:block;text-align:center;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.7rem;font-weight:800}.brand-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.brand-track{display:flex;align-items:center;width:max-content;animation:brand-scroll 30s linear infinite}.brand-logo{width:210px;height:68px;display:flex;align-items:center;justify-content:center;padding:10px 30px;flex:0 0 auto}.brand-logo img{max-width:160px;max-height:46px;object-fit:contain;filter:grayscale(1);opacity:.8}.brand-logo b{font-family:'Playfair Display',serif;text-align:center}.brand-track:hover{animation-play-state:paused}@keyframes brand-scroll{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.brand-track{animation:none;flex-wrap:wrap;width:100%;justify-content:center}.brand-logo[aria-hidden="true"]{display:none}}
