
:root{--ease:cubic-bezier(0.22,1,0.36,1);--navy:#0B1D38;--navy2:#071427;--card:#0C1F3C;--ink:#07080B;--gold:#D6B35E;--gold2:#A9853A;--goldhi:#EFD58E;--text:#F4EFE4;--muted:#BAC3D1;--line:rgba(214,179,94,.24);--body:'Geist',ui-sans-serif,system-ui,sans-serif;--serif:'Playfair Display',Georgia,serif;--pad:clamp(20px,4vw,40px)}
body.dys{--body:'Lexend',ui-sans-serif,system-ui,sans-serif;--serif:'Lexend',ui-sans-serif,system-ui,sans-serif;word-spacing:.08em;letter-spacing:.01em}
*,*::before,*::after{box-sizing:border-box}
html{font-size:18px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--navy);color:var(--text);font-family:var(--body);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--gold);text-decoration:none;transition:color .3s var(--ease)}a:hover{color:var(--goldhi)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.12;margin:0;letter-spacing:-.01em;text-wrap:balance}
p{margin:0;text-wrap:pretty}
button{font-family:var(--body)}
:focus-visible{outline:2px solid var(--goldhi);outline-offset:3px;border-radius:6px}
.ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.wrap{max-width:1320px;margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:30px;height:1px;background:currentColor}
.u{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s var(--ease),color .3s var(--ease);padding-bottom:2px}
.u:hover,.u:focus-visible{background-size:100% 1px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:999px;background:var(--gold);color:#0A0B0E;font-weight:600;font-size:.95rem;border:1px solid var(--gold);cursor:pointer;white-space:nowrap;transition:background .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}
.btn:hover{background:var(--goldhi);color:#0A0B0E;box-shadow:0 12px 32px rgba(214,179,94,.28);transform:translateY(-1px)}
.btn .ic{width:18px;height:18px}
.arr{transition:transform .3s var(--ease)}.btn:hover .arr,a:hover>.arr{transform:translateX(4px)}
.btn-line{background:transparent;color:var(--gold)}.btn-line:hover{background:rgba(214,179,94,.12);color:var(--goldhi)}
/* header */
.hdr{position:sticky;top:0;z-index:900;height:78px}
.hdr::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(7,20,39,.72);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid var(--line);transition:background .4s var(--ease)}
.hdr.sc::before{background:rgba(7,20,39,.94)}
.hdr-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;color:var(--text);min-width:0}
.brand:hover{color:var(--text)}
.brand img{width:46px;height:46px;border-radius:50%;flex-shrink:0}
.bname{display:flex;flex-direction:column;line-height:1.1;white-space:nowrap}
.bname b{font-family:var(--serif);font-weight:500;font-size:1.22rem}
.bname small{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:4px}
@media(max-width:440px){.bname{display:none}}
.nav{display:none;gap:clamp(14px,2.2vw,34px);flex:1;justify-content:center}
.nav a{color:var(--text);font-size:.92rem}
.nav a[aria-current="page"]{color:var(--gold)}
.right{display:none;align-items:center;gap:4px;flex-shrink:0}
@media(min-width:769px){.nav{display:flex}.right{display:flex}}
@media(min-width:769px) and (max-width:1120px){.bname{display:none}.nav a{font-size:.86rem}.right .btn{padding:0 16px}}
.ib{width:44px;height:44px;border:0;background:transparent;border-radius:50%;color:var(--text);display:grid;place-items:center;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease)}
.ib:hover,.ib[aria-expanded="true"]{background:rgba(157,178,150,.16);color:var(--goldhi)}
.burger{display:none;width:48px;height:48px;border:0;background:transparent;color:var(--text);border-radius:50%;place-items:center;cursor:pointer;flex-shrink:0}
.burger .ic{width:26px;height:26px}
@media(max-width:768px){.burger{display:grid}}
.right .btn{margin-left:10px;min-height:46px}
.cdd{position:relative}
.cdd-menu{position:absolute;top:calc(100% + 12px);right:-8px;min-width:250px;background:#08162C;border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 24px 60px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
.cdd.open .cdd-menu,.cdd:focus-within .cdd-menu{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:10px;color:var(--text);min-height:48px}
.row:hover{background:rgba(214,179,94,.1);color:var(--goldhi)}
.row .ic{color:var(--gold)}
.row span small{display:block;color:var(--muted);font-size:.78rem;line-height:1.3}
/* overlays */
#ns-scrim{position:fixed;inset:0;z-index:945;background:rgba(3,8,16,.6);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility 0s .4s}
#ns-scrim.on{opacity:1;visibility:visible;transition:opacity .4s var(--ease)}
#ns-search{position:fixed;left:0;right:0;top:0;z-index:960;background:#071427;border-bottom:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.45);transform:translateY(-105%);visibility:hidden;transition:transform .5s var(--ease),visibility 0s .5s;padding:26px 0 30px}
#ns-search.open{transform:none;visibility:visible;transition:transform .5s var(--ease)}
.sbar{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--gold);padding-bottom:10px}
.sbar input{flex:1;min-width:0;background:transparent;border:0;color:var(--text);font:400 clamp(1.3rem,2.6vw,2rem) var(--serif);padding:8px 0;outline:none}
.sbar input::placeholder{color:#8994A6}
.mic.rec{color:#0A0B0E;background:var(--gold)}
.mic:disabled{opacity:.4;cursor:not-allowed}
.res{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 20px;max-height:52vh;overflow:auto}
.res a{display:flex;flex-direction:column;padding:10px 12px;border-radius:10px;color:var(--text)}
.res a:hover{background:rgba(214,179,94,.08)}
.res a small{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.res .none{color:var(--muted);padding:10px 12px}
#ns-settings{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);z-index:970;background:#071427;border-left:1px solid var(--line);transform:translateX(105%);visibility:hidden;transition:transform .5s var(--ease),visibility 0s .5s;overflow-y:auto;padding:26px 30px 40px}
#ns-settings.open{transform:none;visibility:visible;transition:transform .5s var(--ease)}
.ph{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.ph h2{font-size:1.5rem}
.grp{margin-top:26px}
.grp>small{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.sw{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;background:none;border:0;border-bottom:1px solid rgba(214,179,94,.14);color:var(--text);font-size:1rem;padding:14px 0;cursor:pointer;text-align:left;min-height:52px}
.sw i{width:48px;height:28px;border-radius:99px;background:rgba(255,255,255,.16);position:relative;flex-shrink:0;transition:background .3s var(--ease)}
.sw i::after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .3s var(--ease)}
.sw[aria-checked="true"] i{background:var(--gold)}
.sw[aria-checked="true"] i::after{transform:translateX(20px);background:#0A0B0E}
.ctl{display:flex;flex-direction:column;gap:8px;padding:12px 0}
.ctl label{font-size:.9rem;color:var(--muted)}
.ctl select,.fld input,.fld select,.fld textarea{font:inherit;font-size:1rem;color:var(--text);background:rgba(255,255,255,.04);border:1px solid rgba(214,179,94,.3);border-radius:12px;padding:12px 14px;min-height:50px;width:100%;transition:border-color .3s var(--ease),background .3s var(--ease)}
.ctl select:focus,.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--gold);background:rgba(255,255,255,.07);outline:none}
select option{background:#071427;color:var(--text)}
input[type=range]{width:100%;accent-color:var(--gold);min-height:32px}
.hint{font-size:.82rem;color:var(--muted);line-height:1.5}
#ns-drawer{position:fixed;inset:0;z-index:955;background:#050E1C;display:none;overflow-y:auto;-webkit-overflow-scrolling:touch}
#ns-drawer.open{display:block;animation:fadein .35s var(--ease)}
.dr-in{max-width:440px;margin:0 auto;padding:16px 24px 56px;display:flex;flex-direction:column;gap:26px;color:var(--text)}
.dr-top{display:flex;align-items:center;justify-content:space-between;height:52px}
.dr-top img{width:44px;height:44px;border-radius:50%}
.dr-nav{display:flex;flex-direction:column}
.dr-nav a{font-family:var(--serif);font-size:1.9rem;color:var(--text);padding:10px 0;border-bottom:1px solid rgba(214,179,94,.12)}
.dr-nav a[aria-current="page"]{color:var(--gold)}
.dr-in .btn{width:100%}
.dr-in .sbar input{font-size:1.2rem}
.dr-in .res{grid-template-columns:1fr;max-height:none}
@keyframes fadein{from{opacity:0}to{opacity:1}}
#ns-pt{position:fixed;inset:0;z-index:980;background:var(--navy2);opacity:0;pointer-events:none;transition:opacity .34s var(--ease);display:grid;place-items:center}
#ns-pt.on{opacity:1;pointer-events:auto}
#ns-pt img{width:54px;height:54px;border-radius:50%;opacity:.9}
#ns-loader{animation:ldsafe 0s 2.6s forwards;position:fixed;inset:0;z-index:10000;background:var(--navy2);display:grid;place-items:center;transition:opacity .5s var(--ease),visibility 0s .5s}
#ns-loader.done{opacity:0;visibility:hidden}
.ld{position:relative;width:110px;height:110px;display:grid;place-items:center}
.ld img{width:70px;height:70px;border-radius:50%;animation:stamp 1.1s var(--ease) infinite}
.ld i{position:absolute;inset:0;border:1px solid var(--gold);border-radius:50%;animation:ring 1.1s var(--ease) infinite}
@keyframes stamp{0%{transform:translateY(-16px) scale(1.18);opacity:.3}45%,70%{transform:none;opacity:1}100%{transform:none;opacity:1}}
@keyframes ring{0%,40%{transform:scale(.6);opacity:0}55%{opacity:.9}100%{transform:scale(1.25);opacity:0}}
#ns-glow{position:fixed;inset:0;pointer-events:none;z-index:9990;overflow:hidden}
.tg{position:absolute;left:0;top:0;width:200px;height:200px;margin:-100px 0 0 -100px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.22) 0%,rgba(255,215,0,.1) 38%,rgba(255,215,0,0) 70%);filter:blur(6px);opacity:0;transition:opacity .45s var(--ease);pointer-events:none}
.tg.on{opacity:1;transition-duration:.18s}
#ns-note{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:930;width:min(640px,calc(100% - 32px));background:#08162C;border:1px solid var(--line);border-radius:14px;padding:14px 16px 14px 20px;display:flex;gap:14px;align-items:center;box-shadow:0 20px 50px rgba(0,0,0,.45);font-size:.9rem}
#ns-note[hidden]{display:none}
/* pages */
.page{display:none}.page.active{display:block}
.hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(520px,72vh,760px);overflow:hidden;isolation:isolate;padding:150px 0 clamp(60px,8vw,100px);margin:0}
.hero.lg{min-height:clamp(640px,94vh,1000px)}
.hero-bg{position:absolute;left:0;right:0;top:-10%;bottom:-10%;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;animation:kb 28s var(--ease) infinite alternate;transform-origin:60% 40%}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
.hero-ov{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,20,39,.66) 0%,rgba(7,20,39,.56) 42%,rgba(11,29,56,.95) 100%)}
.hero h1{font-size:clamp(2.5rem,6.2vw,5.4rem);max-width:15ch}
.hero .lead{font-size:clamp(1.05rem,1.5vw,1.28rem);color:#E1E6EE;max-width:44ch;margin-top:26px}
.hero-c{display:flex;flex-direction:column;gap:0;width:100%}
.hero-c .eyebrow{margin-bottom:26px}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:40px}
.cta-row .tag{color:var(--muted);font-size:.95rem;max-width:30ch}
.soc{display:flex;gap:10px;align-items:center}
.soc a{width:44px;height:44px;border-radius:50%;border:1px solid rgba(214,179,94,.4);display:grid;place-items:center;color:var(--gold);transition:box-shadow .35s var(--ease),background .35s var(--ease),color .35s var(--ease)}
.soc a:hover{background:rgba(214,179,94,.12);box-shadow:0 0 0 4px rgba(214,179,94,.12),0 0 24px rgba(214,179,94,.3);color:var(--goldhi)}
.soc .ic{width:19px;height:19px}
.hero-side{position:absolute;right:var(--pad);bottom:clamp(60px,8vw,100px);writing-mode:vertical-rl;transform:rotate(180deg);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);display:flex;gap:18px;align-items:center}
.hero-side::after{content:"";width:1px;height:60px;background:var(--gold)}
@media(max-width:1200px){.hero-side{display:none}}
.sec{padding:clamp(84px,11vw,150px) 0;position:relative}
.sec.alt{background:var(--navy2)}
.h2{font-size:clamp(2rem,4.2vw,3.3rem)}
html.js .rv{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0) * 90ms)}
html.js .rv.in{opacity:1;transform:none}
html.js .wipe{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s var(--ease)}
html.js .wipe.in{clip-path:inset(0 0 0 0)}
.img-fail{background:linear-gradient(135deg,#13305A,#0A1A33)}
/* about (home) */
.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,110px);align-items:start}
.bleed-l{margin-left:calc(-1 * (max(0px,(100vw - 1320px) / 2) + var(--pad)))}
.bleed-r{margin-right:calc(-1 * (max(0px,(100vw - 1320px) / 2) + var(--pad)))}
.fig{margin:0;position:relative}
.fig .ph-w{overflow:hidden;aspect-ratio:4/5}
.fig img{width:100%;height:100%;object-fit:cover}
.fig figcaption{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:.95rem;margin:18px 0 0 calc(max(0px,(100vw - 1320px) / 2) + var(--pad) + 36%);max-width:24ch}
.about-t{padding-top:clamp(0px,4vw,60px)}
.about-t .h2{margin:22px 0 34px;max-width:18ch}
.about-t p.big{font-size:1.06rem;color:#DCE1EA;line-height:1.8;column-gap:48px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);margin-top:54px;gap:0 18px}
.stat{padding-top:24px}
.stat b{font-family:var(--serif);font-size:clamp(2rem,3.4vw,2.9rem);color:var(--gold);font-weight:500;display:block;line-height:1;font-variant-numeric:tabular-nums}
.stat span{display:block;font-size:.85rem;color:var(--muted);margin-top:10px;line-height:1.4}
@media(max-width:900px){.about{grid-template-columns:1fr}.bleed-l{margin-right:calc(-1 * var(--pad))}.fig .ph-w{aspect-ratio:16/11}.fig figcaption{margin-left:var(--pad)}}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}}
/* service cards */
.svc-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:60px;align-items:start}
.svc-grid>.rv:nth-child(3n+2){margin-top:70px}
.svc-grid>.rv:nth-child(3n+3){margin-top:28px}
@media(max-width:1000px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-grid>.rv:nth-child(n){margin-top:0}.svc-grid>.rv:nth-child(even){margin-top:56px}}
@media(max-width:640px){.svc-grid{grid-template-columns:1fr}.svc-grid>.rv:nth-child(n){margin-top:0}}
.svc{display:flex;flex-direction:column;height:100%;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;color:var(--text);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.svc:hover{color:var(--text);transform:translateY(-8px);border-color:rgba(214,179,94,.7);box-shadow:0 34px 70px -18px rgba(0,0,0,.7),0 0 0 1px rgba(214,179,94,.35),0 0 44px rgba(214,179,94,.16)}
.svc-ph{position:relative;aspect-ratio:4/3;overflow:hidden}
.svc-ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.svc:hover .svc-ph img{transform:scale(1.06)}
.svc-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,31,60,0) 30%,rgba(12,31,60,.62) 68%,#0C1F3C 100%)}
.svc-ph .num{position:absolute;top:18px;left:20px;z-index:1;font-size:.75rem;letter-spacing:.2em;color:var(--text);background:rgba(7,20,39,.55);border:1px solid rgba(214,179,94,.4);border-radius:99px;padding:5px 12px}
.svc-ph h3{position:absolute;left:24px;right:24px;bottom:16px;z-index:1;font-size:1.42rem}
.svc-b{padding:10px 24px 26px;display:flex;flex-direction:column;gap:20px;flex:1}
.svc-b p{color:var(--muted);font-size:1rem}
.more{margin-top:auto;color:var(--gold);display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:.95rem}
.more .ic{width:18px;height:18px}
.svc:hover .more .arr{transform:translateX(4px)}
/* service detail */
.sd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,100px);align-items:center;padding:clamp(70px,9vw,120px) 0;border-top:1px solid var(--line)}
.sd:first-child{border-top:0}
.sd-img{overflow:hidden;aspect-ratio:5/6}
.sd-img img{width:100%;height:100%;object-fit:cover}
.sd .bleed-l{border-radius:0 6px 6px 0}.sd .bleed-r{border-radius:6px 0 0 6px}
.sd.rev .sd-img{order:2}
.sd-t .lbl{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.sd-t h2{font-size:clamp(1.9rem,3.4vw,2.8rem);margin:18px 0 24px}
.sd-t p{color:#DCE1EA}
.bl{list-style:none;padding:0;margin:28px 0;display:grid;gap:12px}
.bl li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start}
.bl li svg{width:16px;height:16px;margin-top:6px;color:var(--gold);fill:currentColor}
.sd-cta{display:flex;flex-direction:column;gap:18px;align-items:flex-start;border-top:1px solid var(--line);padding-top:24px}
.sd-cta p{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--text)}
@media(max-width:900px){.sd{grid-template-columns:1fr}.sd.rev .sd-img{order:0}.sd-img{aspect-ratio:16/11}.sd .bleed-l,.sd .bleed-r{margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad));border-radius:0}}
/* testimonials */
.tsec{overflow:hidden}
.t-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.t-head .h2{margin-top:18px}
.t-ctrl{display:flex;align-items:center;gap:12px}
.t-count{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.9rem;letter-spacing:.12em;margin-right:8px}
.t-count b{color:var(--gold);font-weight:500}
.cbtn{width:54px;height:54px;border-radius:50%;border:1px solid rgba(214,179,94,.45);background:transparent;color:var(--gold);display:grid;place-items:center;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease)}
.cbtn:hover{background:var(--gold);color:#0A0B0E}
.t-stage{position:relative;height:clamp(440px,42vw,520px);perspective:1600px;margin-top:40px;outline:none}
.t-track{position:absolute;inset:0;transform-style:preserve-3d}
.t-card{--cw:min(680px,76vw);--ar:1.62;position:absolute;top:50%;left:50%;width:var(--cw);height:calc(var(--cw) / var(--ar));margin:calc(var(--cw) / var(--ar) / -2) 0 0 calc(var(--cw) / -2);padding:clamp(28px,4vw,48px) clamp(28px,4.4vw,56px);display:flex;flex-direction:column;justify-content:space-between;gap:18px;background:linear-gradient(155deg,rgba(24,49,90,.96),rgba(9,22,44,.94));border:1px solid rgba(214,179,94,.3);border-radius:20px;box-shadow:0 44px 80px -24px rgba(0,0,0,.7);overflow:hidden;transition:transform 1.1s cubic-bezier(0.22,1,0.36,1),opacity 1.1s cubic-bezier(0.22,1,0.36,1),border-color .6s var(--ease);backface-visibility:hidden;cursor:pointer}
.t-card.act{cursor:default;border-color:rgba(214,179,94,.55)}
.t-card::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,rgba(255,236,180,.1) 50%,transparent 62%);transform:translateX(-120%);opacity:0;pointer-events:none}
.t-card.act::after{opacity:1;animation:sweep 6.5s var(--ease) 1.2s infinite}
@keyframes sweep{0%{transform:translateX(-120%)}35%,100%{transform:translateX(120%)}}
.qm{position:absolute;top:-34px;right:34px;font-family:'Playfair Display',Georgia,serif;font-size:11rem;line-height:1;color:var(--gold);opacity:.13;pointer-events:none}
.t-card.act .qm{animation:qfloat 7s ease-in-out infinite alternate}
@keyframes qfloat{from{transform:translateY(0)}to{transform:translateY(12px)}}
.stars{display:flex;gap:4px;color:var(--gold)}
.stars svg{width:18px;height:18px;fill:currentColor}
.t-card blockquote{margin:0;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(1.05rem,1.8vw,1.45rem);line-height:1.5;color:var(--text);position:relative}
body.dys .t-card blockquote{font-family:var(--serif);font-style:normal}
.au{display:flex;align-items:center;gap:14px}
.au img,.au .ini{width:48px;height:48px;border-radius:50%;border:2px solid var(--gold);object-fit:cover;flex-shrink:0}
.au .ini{display:grid;place-items:center;background:var(--gold);color:#0A0B0E;font-weight:600;font-size:.85rem;letter-spacing:.05em}
.au b{display:block;font-weight:600;font-size:.98rem}
.au small{color:var(--muted);font-size:.85rem}
.t-floor{position:absolute;left:12%;right:12%;bottom:-40px;height:140px;background:radial-gradient(ellipse at center,rgba(214,179,94,.26) 0%,rgba(214,179,94,.08) 42%,rgba(214,179,94,0) 70%);filter:blur(10px);pointer-events:none}
.t-dots{display:flex;justify-content:center;gap:4px;margin-top:40px}
.t-dots button{width:36px;height:36px;border:0;background:none;display:grid;place-items:center;cursor:pointer;padding:0}
.t-dots button span{width:10px;height:10px;border-radius:99px;background:rgba(255,255,255,.24);transition:width .5s var(--ease),background .5s var(--ease)}
.t-dots button[aria-selected="true"] span{width:30px;background:var(--gold)}
@media(max-width:640px){.t-card{--cw:90vw;--ar:1.12;padding:26px 24px}.t-stage{height:calc(90vw / 1.12 + 60px)}.qm{font-size:8rem;top:-24px;right:20px}.t-card blockquote{font-size:1rem}}
.rvw-grid{columns:3 320px;column-gap:28px}
.rvw-grid>.rv{break-inside:avoid;margin-bottom:28px}
.rvw{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:22px;padding:34px 32px;border-radius:20px;background:linear-gradient(155deg,rgba(24,49,90,.96),rgba(9,22,44,.94));border:1px solid rgba(214,179,94,.28);box-shadow:0 24px 50px -24px rgba(0,0,0,.6);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.rvw:hover{transform:translateY(-6px);box-shadow:0 34px 70px -22px rgba(0,0,0,.75);border-color:var(--gold2)}
.rvw .qm{font-size:8rem;top:-26px;right:24px}
.rvw blockquote{margin:0;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.2rem;line-height:1.55}
body.dys .rvw blockquote{font-family:var(--serif);font-style:normal}
.rvw-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:40px;padding-top:34px}
.rvw-cta p{font-family:var(--serif);font-style:italic;font-size:1.3rem}
@media(prefers-reduced-motion:reduce){.rvw:hover{transform:none}}
/* contact */
.ct{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,110px);align-items:start}
.ct-info h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:18px 0 22px}
.ct-info .rows{display:grid;gap:4px;margin:28px 0;border-top:1px solid var(--line);padding-top:16px}
.ct-info .row{padding-left:0}
.ct-info dl{margin:26px 0 0;display:grid;gap:18px}
.ct-info dt{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.ct-info dd{margin:4px 0 0;color:#DCE1EA}
.form{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:clamp(24px,4vw,44px)}
.fld{display:flex;flex-direction:column;gap:8px}
.fld.full{grid-column:1 / -1}
.fld label{font-size:.88rem;color:var(--muted);letter-spacing:.03em}
.fld textarea{min-height:150px;resize:vertical}
.form .btn{justify-self:start}
.form-note{grid-column:1 / -1;font-size:.85rem;color:var(--muted)}
.fld .err{font-size:.8rem;color:#F2A38A;min-height:0}
.fld input[aria-invalid="true"]{border-color:#F2A38A}
.form-ok{display:none;grid-column:1 / -1;flex-direction:column;gap:18px;align-items:flex-start}
.form.sent>*:not(.form-ok){display:none}
.form.sent .form-ok{display:flex}
.form-ok h3{font-size:1.8rem}
.form-ok p{color:#DCE1EA}
.form-ok .acts{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:900px){.ct{grid-template-columns:1fr}}
@media(max-width:560px){.form{grid-template-columns:1fr}.form .btn{width:100%}}
.map{position:relative;height:clamp(360px,44vw,520px);border-top:1px solid var(--line)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.7) contrast(1.05)}
.map .pin{position:absolute;left:var(--pad);bottom:28px;background:#071427;border:1px solid var(--line);border-radius:14px;padding:16px 20px;max-width:320px;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.map .pin b{font-family:var(--serif);font-weight:500;font-size:1.2rem;display:block}
.map .pin span{color:var(--muted);font-size:.9rem}
/* footer */
.ftr{background:var(--ink);border-top:1px solid var(--line);padding:clamp(70px,8vw,100px) 0 34px}
.ftr-top{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:48px}
.ftr-logo{width:min(420px,100%);height:auto;margin-bottom:24px}
.ftr h4{font-family:var(--body);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:500}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ftr ul a{color:var(--text)}
.ftr p{color:var(--muted);font-size:.95rem}
.ftr-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid rgba(214,179,94,.14);margin-top:60px;padding-top:26px;color:#8C96A8;font-size:.82rem}
@media(max-width:900px){.ftr-top{grid-template-columns:1fr 1fr}.ftr-top>div:first-child{grid-column:1 / -1}}
@media(max-width:520px){.ftr-top{grid-template-columns:1fr}}
.intro-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;padding-bottom:20px}
@media(max-width:800px){.intro-strip{grid-template-columns:1fr}}

/* ===== LUXE LAYER ===== */
.hero h1{font-weight:400;letter-spacing:-.025em}
.gx,.stat b{background:linear-gradient(100deg,#A9853A 0%,#EFD58E 30%,#D6B35E 50%,#FFF1C9 62%,#A9853A 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gshift 9s linear infinite}
.gx{font-style:italic}
.gx .wi{background:inherit;background-size:inherit;-webkit-background-clip:text;background-clip:text;color:transparent;animation:inherit}
@keyframes gshift{to{background-position:-220% 0}}
.split.rv{opacity:1;transform:none}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .1em;margin-bottom:-.1em}
html.js .wi{display:inline-block;transform:translate3d(0,108%,0) rotate(4deg);transform-origin:0 100%;transition:transform 1.15s var(--ease);transition-delay:calc(var(--i) * 55ms + 80ms)}
html.js .split.in .wi{transform:none}
.eyebrow.rv::before{width:0;transition:width 1.1s var(--ease) .35s}
.eyebrow.rv.in::before{width:30px}
/* ambient */
#amb{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
#amb i{position:absolute;border-radius:50%;will-change:transform}
#amb .b1{width:70vmax;height:70vmax;left:-25vmax;top:-20vmax;background:radial-gradient(circle,rgba(214,179,94,.13),rgba(214,179,94,0) 62%);animation:dr1 42s ease-in-out infinite alternate}
#amb .b2{width:80vmax;height:80vmax;right:-30vmax;top:10vh;background:radial-gradient(circle,rgba(70,120,210,.16),rgba(70,120,210,0) 60%);animation:dr2 50s ease-in-out infinite alternate}
#amb .b3{width:50vmax;height:50vmax;left:20vw;bottom:-25vmax;background:radial-gradient(circle,rgba(239,213,142,.08),rgba(239,213,142,0) 60%);animation:dr3 36s ease-in-out infinite alternate}
@keyframes dr1{to{transform:translate3d(18vw,22vh,0) scale(1.15)}}
@keyframes dr2{to{transform:translate3d(-22vw,-12vh,0) scale(.9)}}
@keyframes dr3{to{transform:translate3d(-15vw,-20vh,0) scale(1.2)}}
#amb .grid{position:absolute;inset:-120px;background-image:linear-gradient(rgba(214,179,94,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(214,179,94,.045) 1px,transparent 1px);background-size:120px 120px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent 75%);animation:gridmv 40s linear infinite}
@keyframes gridmv{to{transform:translate3d(120px,120px,0)}}
#amb .spot{position:absolute;left:0;top:0;width:700px;height:700px;margin:-350px 0 0 -350px;border-radius:50%;background:radial-gradient(circle,rgba(214,179,94,.09),rgba(214,179,94,0) 60%);opacity:0;transition:opacity .8s var(--ease)}
#amb .spot.on{opacity:1}
#amb .motes b{position:absolute;bottom:-12px;width:var(--s,3px);height:var(--s,3px);border-radius:50%;background:#EFD58E;box-shadow:0 0 10px 2px rgba(239,213,142,.45);opacity:0;animation:mote var(--t,28s) linear var(--d,0s) infinite}
@keyframes mote{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:.75}50%{transform:translate3d(40px,-55vh,0)}88%{opacity:.4}100%{transform:translate3d(-24px,-112vh,0);opacity:0}}
#grain{position:fixed;inset:0;z-index:9989;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
#ns-prog{position:fixed;top:0;left:0;right:0;height:2px;z-index:950;background:linear-gradient(90deg,var(--gold2),var(--goldhi),var(--gold));transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
.sec.alt{background:linear-gradient(180deg,rgba(7,20,39,0),rgba(7,20,39,.78) 14%,rgba(7,20,39,.78) 86%,rgba(7,20,39,0))}
.ftr{background:rgba(5,7,11,.88)}
.hdr{transition:height .45s var(--ease)}.hdr.sc{height:66px}
/* cursor */
#ns-cur{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid rgba(214,179,94,.55);border-radius:50%;pointer-events:none;z-index:9995;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),background .4s var(--ease),border-color .4s var(--ease),opacity .3s}
#ns-cur.big{width:66px;height:66px;margin:-33px 0 0 -33px;background:rgba(214,179,94,.07);border-color:rgba(239,213,142,.85)}
#ns-cur.hide{opacity:0}
/* buttons: magnetic + light + shine */
.btn{position:relative;overflow:hidden;isolation:isolate;transform:translate3d(var(--mx,0px),var(--my,0px),0);transition:transform .5s var(--ease),background .35s var(--ease),box-shadow .45s var(--ease),color .35s var(--ease),letter-spacing .45s var(--ease)}
.btn:hover{transform:translate3d(var(--mx,0px),calc(var(--my,0px) - 2px),0);letter-spacing:.015em;box-shadow:0 14px 36px rgba(214,179,94,.3),0 0 0 4px rgba(214,179,94,.1)}
.btn:active{transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(.965);transition-duration:.12s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(140px circle at var(--sx,50%) var(--sy,50%),rgba(255,255,255,.55),rgba(255,255,255,0) 65%);opacity:0;transition:opacity .4s var(--ease)}
.btn-line::before{background:radial-gradient(140px circle at var(--sx,50%) var(--sy,50%),rgba(214,179,94,.28),rgba(214,179,94,0) 65%)}
.btn:hover::before{opacity:1}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:0;width:60%;z-index:-1;background:linear-gradient(105deg,rgba(255,255,255,0),rgba(255,255,255,.45),rgba(255,255,255,0));transform:translateX(-160%) skewX(-18deg)}
.btn:hover::after{transform:translateX(260%) skewX(-18deg);transition:transform .95s var(--ease)}
.ib,.cbtn,.soc a,.burger{transform:translate3d(var(--mx,0px),var(--my,0px),0);transition:transform .5s var(--ease),background .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease)}
.ib .ic,.cbtn .ic,.soc a .ic,.burger .ic{transition:transform .5s var(--ease)}
.ib:hover .ic{transform:rotate(-10deg) scale(1.12)}
.cbtn:hover{transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(1.07)}
#t-next:hover .ic{transform:translateX(3px)}#t-prev:hover .ic{transform:translateX(-3px)}
.soc a:hover .ic{transform:rotate(8deg) scale(1.1)}
.burger:hover .ic{transform:scaleX(.86)}
.ib:active,.cbtn:active,.soc a:active{transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(.9);transition-duration:.12s}
.nav a{display:inline-block;transition:color .3s var(--ease),transform .4s var(--ease),background-size .45s var(--ease)}.nav a:hover{transform:translateY(-2px)}
.row{transition:background .3s var(--ease),color .3s var(--ease),transform .4s var(--ease)}.row:hover{transform:translateX(5px)}
.row .ic{transition:transform .45s var(--ease)}.row:hover .ic{transform:scale(1.15) rotate(-6deg)}
.res a{transition:background .3s var(--ease),transform .4s var(--ease)}.res a:hover{transform:translateX(4px)}
.t-dots button:hover span{background:rgba(214,179,94,.6);transform:scaleY(1.3)}
.t-dots button span{transition:width .5s var(--ease),background .5s var(--ease),transform .3s var(--ease)}
.sw:hover i{box-shadow:0 0 0 4px rgba(214,179,94,.14)}
.more{transition:letter-spacing .45s var(--ease),color .3s}.svc:hover .more{letter-spacing:.03em;color:var(--goldhi)}
.u:hover{color:var(--goldhi)}
/* cards: 3D tilt + glare */
.svc,.rvw{position:relative;transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translate3d(0,0,0);transition:transform .6s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}
.svc:hover{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translate3d(0,-8px,0)}
.rvw:hover{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translate3d(0,-6px,0)}
.svc::before,.rvw::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,0%),rgba(239,213,142,.15),rgba(239,213,142,0) 45%);opacity:0;transition:opacity .45s var(--ease)}
.svc:hover::before,.rvw:hover::before{opacity:1}
/* images: blur-up reveal */
.svc-ph,.sd-img,.ph-w{background:linear-gradient(110deg,#0C1F3C 35%,#18365F 50%,#0C1F3C 65%);background-size:260% 100%;animation:shim 1.6s linear infinite}
.svc-ph.ready,.sd-img.ready,.ph-w.ready{animation:none;background:#0C1F3C}
@keyframes shim{from{background-position:130% 0}to{background-position:-130% 0}}
html.js img.lz{opacity:0;transform:scale(1.16);filter:blur(16px) saturate(.5);transition:opacity 1s var(--ease),transform 1.9s var(--ease),filter 1.3s var(--ease)}
html.js img.lz.ld{opacity:1;transform:scale(1);filter:blur(0) saturate(1)}
html.js .hero-bg{clip-path:inset(7% 5% 7% 5% round 28px);opacity:0;transition:clip-path 1.7s var(--ease),opacity 1.1s var(--ease)}
html.js .hero-bg.on{clip-path:inset(0% 0% 0% 0% round 0px);opacity:1}
.hero-ov{display:none!important}
.hero{align-items:center;padding:170px 0 clamp(80px,10vw,130px)}
.hero-c h1{color:#fff;text-shadow:0 2px 3px rgba(0,0,0,.85),0 4px 18px rgba(0,0,0,.7),0 0 48px rgba(0,0,0,.55)}
.hero-c .lead,.hero-c .tag{color:#fff!important;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.95),0 2px 10px rgba(0,0,0,.8),0 0 26px rgba(0,0,0,.6)}
.hero-c .eyebrow{color:#F6E2A6!important;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.8)}
.hero-c .eyebrow::before{box-shadow:0 0 6px rgba(0,0,0,.8)}
.hero-c .gx{filter:drop-shadow(0 2px 2px rgba(0,0,0,.85)) drop-shadow(0 4px 14px rgba(0,0,0,.6))}
.hero-c .btn{box-shadow:0 8px 26px rgba(0,0,0,.5)}
.hero-c .btn-line{color:#fff;border-color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8)}
.hero-c .soc a{box-shadow:0 6px 20px rgba(0,0,0,.45);color:#fff}
.hero-side{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 18px rgba(0,0,0,.7)}
.ctab{padding:clamp(70px,9vw,130px) 0;background:var(--navy2);border-top:1px solid var(--line)}
.ctab-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:#0B1D38;border:1px solid rgba(214,179,94,.4);border-radius:4px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.7)}
.ctab-t{padding:clamp(34px,5vw,72px);display:flex;flex-direction:column;gap:22px;position:relative}
.ctab-t::before{content:"";position:absolute;left:clamp(34px,5vw,72px);top:0;width:64px;height:2px;background:var(--gold)}
.ctab .eyebrow{color:var(--goldhi)}
.ctab .h2{margin:0;color:#F7F2E7;font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.08;max-width:14ch}
.ctab-lead{color:#E3E8EF;font-size:1.08rem;line-height:1.7;max-width:42ch}
.ctab-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px}
.ctab .btn-line{border:1px solid rgba(214,179,94,.6);color:#F7F2E7}
.ctab-meta{list-style:none;margin:14px 0 0;padding:22px 0 0;border-top:1px solid rgba(214,179,94,.22);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ctab-meta b{display:block;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}
.ctab-meta span{display:block;margin-top:6px;color:#E3E8EF;font-size:.95rem}
.ctab-img{position:relative;min-height:340px}
.ctab-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:42% 50%}
.ctab-img::after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.55);pointer-events:none}
@media(max-width:900px){.ctab-card{grid-template-columns:1fr}.ctab-img{order:-1;min-height:0;aspect-ratio:16/8}}
@media(max-width:520px){.ctab-meta{grid-template-columns:1fr}}
.hero-bg img{filter:brightness(.74) contrast(1.06) saturate(1.05)}
.hero-c h1{text-shadow:0 1px 2px rgba(0,0,0,.9),0 3px 12px rgba(0,0,0,.75),0 0 40px rgba(0,0,0,.6)}
.hero-c .lead,.hero-c .tag{font-size:max(1.05rem,1em)}
.svc-ph::after{background:linear-gradient(180deg,rgba(12,31,60,0) 25%,rgba(12,31,60,.8) 64%,#0C1F3C 94%)}
.svc-ph h3{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85),0 2px 12px rgba(0,0,0,.6)}
.svc-ph .num{background:#071427!important}
.sd-img{position:relative}
.sd-img::after{content:"";position:absolute;inset:14px;border:1px solid rgba(239,213,142,.28);pointer-events:none;border-radius:4px;transition:inset .8s var(--ease),border-color .8s var(--ease)}
.sd:hover .sd-img::after{inset:22px;border-color:rgba(239,213,142,.5)}
.sd-img img{transition:transform 1.6s var(--ease)}.sd:hover .sd-img img{transform:scale(1.04)}
/* seal */
.seal{position:absolute;right:var(--pad);bottom:clamp(60px,8vw,100px);width:clamp(130px,12vw,176px);aspect-ratio:1;display:grid;place-items:center;z-index:2}
.seal svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 32s linear infinite;fill:var(--goldhi)}
.seal text{font:500 11.5px var(--body);letter-spacing:3.4px}
.seal img{width:44%;border-radius:50%;box-shadow:0 0 0 1px rgba(214,179,94,.5),0 10px 40px rgba(0,0,0,.5);transition:transform .8s var(--ease)}
.seal:hover img{transform:rotate(-14deg) scale(1.06)}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.seal{display:none}}
/* marquee */
.mq{position:relative;overflow:hidden;border-top:1px solid rgba(214,179,94,.45);border-bottom:1px solid rgba(214,179,94,.45);padding:13px 0;background:#071427}
.mq-t{display:flex;width:max-content;align-items:center;gap:clamp(26px,3vw,44px);will-change:transform}
.mq-t span{font-family:var(--body);font-size:.74rem;font-weight:500;line-height:1;white-space:nowrap;letter-spacing:.34em;text-transform:uppercase;color:#E9DDBE}
.mq-t span:nth-child(4n+1){color:var(--goldhi)}
.mq-t span:nth-child(4n+3){color:#E9DDBE;-webkit-text-stroke:0}
.mq-t i{width:5px;height:5px;background:var(--gold);transform:rotate(45deg);flex-shrink:0;opacity:.9}
#page-home .hero-c{align-items:flex-end;text-align:right}
#page-home .hero-c>*{max-width:600px}
#page-home .hero-c .eyebrow{flex-direction:row-reverse}
#page-home .hero h1{font-size:clamp(2.4rem,4.8vw,4.4rem);max-width:12ch}
#page-home .hero .lead{max-width:40ch}
#page-home .cta-row{justify-content:flex-end}
#page-home .cta-row .tag{text-align:right}
#page-home .seal{right:auto;left:var(--pad);bottom:clamp(40px,6vw,80px)}
@media(max-width:760px){#page-home .hero-c{align-items:flex-start;text-align:left}#page-home .hero-c .eyebrow{flex-direction:row}#page-home .cta-row{justify-content:flex-start}#page-home .cta-row .tag{text-align:left}}
@media(prefers-reduced-motion:reduce){#amb,#ns-cur{display:none}.hero-bg{clip-path:none;opacity:1}img.lz{opacity:1;transform:none;filter:none}.wi{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv,.wipe{opacity:1!important;transform:none!important;clip-path:none!important}.hero-bg{transform:none!important}.svc:hover,.btn:hover{transform:none!important}.svc:hover .svc-ph img,.gal figure:hover img{transform:none!important}}

.hdr-nav{height:100%;display:block}
.sd{scroll-margin-top:90px}
.skip{position:absolute;left:12px;top:-60px;z-index:10001;background:var(--gold);color:#0A0B0E;padding:10px 16px;border-radius:8px;font-weight:600}.skip:focus{top:12px;color:#0A0B0E}

.hdr{position:fixed!important;top:0;left:0;right:0;width:100%}

/* home hero — natural */
#page-home .hero-bg img{filter:brightness(.9) contrast(1.02) saturate(.95)}
#page-home .hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 90% at 100% 55%,rgba(7,20,39,.62) 0%,rgba(7,20,39,.34) 38%,rgba(7,20,39,0) 68%)}
#page-home .hero-c h1{text-shadow:0 1px 1px rgba(0,0,0,.35),0 6px 30px rgba(0,0,0,.35);letter-spacing:-.02em;line-height:1.02}
#page-home .hero-c .gx{filter:none;display:inline-block;padding-right:.08em}
#page-home .hero-c .lead{text-shadow:0 1px 2px rgba(0,0,0,.45),0 0 18px rgba(0,0,0,.3);font-weight:400;max-width:36ch;margin-top:22px;margin-left:auto}
#page-home .hero-c .eyebrow{text-shadow:0 1px 2px rgba(0,0,0,.5)}
#page-home .cta-row{flex-direction:column;align-items:flex-end;gap:14px;margin-top:34px}
#page-home .cta-row .tag{text-shadow:0 1px 2px rgba(0,0,0,.5);font-size:.92rem;font-weight:400;max-width:34ch;color:#EEF1F5!important}
#page-home .hero-c .soc{display:none}
#page-home .hero-c .btn{box-shadow:0 10px 30px -8px rgba(0,0,0,.45)}
@media(max-width:760px){#page-home .hero::after{background:linear-gradient(180deg,rgba(7,20,39,0) 20%,rgba(7,20,39,.55) 100%)}#page-home .cta-row{align-items:flex-start}#page-home .hero-c .lead{margin-left:0}}

.ndd{position:relative;display:flex;align-items:center}
.ndd>a{display:inline-flex;align-items:center;gap:4px}
.ndd .chev{width:14px;height:14px;transition:transform .3s var(--ease)}
.ndd-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,6px);min-width:250px;background:#08162C;border:1px solid rgba(214,179,94,.35);border-radius:14px;padding:8px;box-shadow:0 24px 60px rgba(0,0,0,.5);display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s .25s;z-index:950}
.ndd-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.ndd-menu a{padding:11px 14px;border-radius:9px;color:var(--text);font-size:.92rem;white-space:nowrap}
.ndd-menu a:hover,.ndd-menu a:focus-visible{background:rgba(214,179,94,.12);color:var(--goldhi)}
.ndd-menu a.all{color:var(--gold);border-top:1px solid rgba(214,179,94,.2);margin-top:4px;border-radius:0 0 9px 9px}
.ndd:hover .ndd-menu,.ndd:focus-within .ndd-menu{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .25s var(--ease),transform .25s var(--ease)}
.ndd:hover .chev,.ndd:focus-within .chev{transform:rotate(180deg)}
.dr-sub{display:flex;flex-direction:column;padding:6px 0 10px 14px;border-left:1px solid rgba(214,179,94,.3);margin:4px 0 8px}
.dr-sub a{font-family:var(--body);font-size:1.02rem;color:#DCE1EA;padding:9px 0;min-height:44px;display:flex;align-items:center}
.dr-sub a:hover{color:var(--goldhi)}

/* service pages */
.facts-sec{padding:clamp(50px,6vw,80px) 0 0}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:4px;margin:0;background:#0B1D38}
.facts>div{padding:26px 24px;border-left:1px solid var(--line)}.facts>div:first-child{border-left:0}
.facts dt{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}
.facts dd{margin:10px 0 0;color:#E9EDF3;font-size:1rem;line-height:1.5}
@media(max-width:900px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts>div:nth-child(3){border-left:0}.facts>div:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:520px){.facts{grid-template-columns:1fr}.facts>div{border-left:0!important}.facts>div+div{border-top:1px solid var(--line)}}
.steps{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:s}
.steps li{position:relative;background:#0C1F3C;border:1px solid var(--line);border-radius:4px;padding:34px 28px 30px}
.steps li::after{content:"";position:absolute;left:28px;top:0;width:44px;height:2px;background:var(--gold)}
.steps .n{font-family:var(--serif);font-size:2.4rem;line-height:1;color:var(--gold)}
.steps h3{font-size:1.3rem;margin:18px 0 10px;color:#F7F2E7}
.steps p{color:#D3D9E3;line-height:1.7}
@media(max-width:900px){.steps{grid-template-columns:1fr}}
.two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(34px,6vw,90px);align-items:start}
@media(max-width:900px){.two{grid-template-columns:1fr}}
.ready{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ready li{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--line);color:#E9EDF3;font-size:1.05rem;line-height:1.6}
.ready svg{width:22px;height:22px;flex-shrink:0;margin-top:2px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;min-height:44px;font-family:var(--serif);font-size:1.2rem;color:#F7F2E7}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--goldhi)}
.faq summary i{position:relative;width:16px;height:16px;flex-shrink:0}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2px;background:var(--gold);transition:transform .3s var(--ease)}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq details p{color:#D3D9E3;line-height:1.75;padding:0 36px 24px 0;max-width:62ch}
.faq details p a{color:var(--goldhi);text-decoration:underline;text-underline-offset:3px}
.rel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:40px}
.rel-c{display:flex;flex-direction:column;background:#0C1F3C;border:1px solid var(--line);border-radius:4px;overflow:hidden;color:#F7F2E7;transition:transform .35s var(--ease),border-color .35s var(--ease)}
.rel-c:hover{transform:translateY(-4px);border-color:rgba(214,179,94,.7);color:var(--goldhi)}
.rel-i{aspect-ratio:3/2;overflow:hidden;display:block}.rel-i img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.rel-c:hover .rel-i img{transform:scale(1.05)}
.rel-t{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 20px;font-family:var(--serif);font-size:1.12rem}
.rel-t .ic{width:18px;height:18px;color:var(--gold)}
@media(max-width:1000px){.rel{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.rel{grid-template-columns:1fr}}

@keyframes ldsafe{to{opacity:0;visibility:hidden}}
html:not(.js) #ns-loader,html:not(.js) #ns-pt{display:none}

/* svx */
.svx{padding:clamp(80px,10vw,140px) 0;position:relative}
.svx.alt{background:var(--navy2)}
.svx-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.svx-top.rev .svx-fig{order:2}
.svx-fig{margin:0;position:relative;aspect-ratio:4/3.4;border-radius:4px;overflow:hidden;box-shadow:0 40px 80px -36px rgba(0,0,0,.8);background:#0C1F3C}
.svx-fig img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.svx-fig:hover img{transform:scale(1.045)}
.svx-fig::after{content:"";position:absolute;inset:14px;border:1px solid rgba(239,213,142,.45);pointer-events:none;transition:inset .8s var(--ease)}
.svx-fig:hover::after{inset:20px}
.svx-fig figcaption{position:absolute;left:28px;bottom:28px;z-index:1}
.svx-fig figcaption span{display:inline-block;background:#071427;color:var(--goldhi);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600;padding:9px 14px;border:1px solid rgba(214,179,94,.45)}
.svx-copy{display:flex;flex-direction:column;gap:0}
.svx-copy .h2{margin:18px 0 24px;font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.12;max-width:18ch;color:#F7F2E7}
.svx-p{color:#D8DEE7;font-size:1.06rem;line-height:1.8;max-width:56ch}
.svx-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.svx-feats{list-style:none;margin:clamp(56px,7vw,90px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.fcard{position:relative;overflow:hidden;background:linear-gradient(160deg,#10284C,#0B1D38);border:1px solid var(--line);border-radius:4px;padding:30px 26px 34px;transition:transform .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}
.svx.alt .fcard{background:linear-gradient(160deg,#0E2445,#0A1A33)}
.fcard:hover{transform:translateY(-6px);border-color:rgba(214,179,94,.6);box-shadow:0 26px 50px -24px rgba(0,0,0,.75),0 0 0 1px rgba(214,179,94,.15)}
.fcard .fi{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(214,179,94,.45);color:var(--gold);transition:transform .6s var(--ease),background .4s var(--ease),color .4s var(--ease)}
.fcard .fi svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fcard:hover .fi{transform:rotate(-12deg) scale(1.08);background:var(--gold);color:#0A0B0E}
.fcard .fn{position:absolute;top:24px;right:24px;font-family:var(--serif);font-size:1.05rem;color:rgba(214,179,94,.55);transition:color .4s var(--ease),transform .5s var(--ease)}
.fcard:hover .fn{color:var(--goldhi);transform:translateY(-2px)}
.fcard p{margin-top:22px;color:#E3E8EF;line-height:1.65;font-size:.98rem}
.fbar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:linear-gradient(90deg,var(--gold2),var(--goldhi),var(--gold2));transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.fcard:hover .fbar,.fcard:focus-within .fbar{transform:scaleX(1)}
html.js .fcard.rv.in .fbar{animation:fbarIn 1.2s var(--ease) calc(var(--d,0) * 120ms + .4s) both}
@keyframes fbarIn{0%{transform:scaleX(0)}55%{transform:scaleX(1);transform-origin:left}56%{transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
.svx-note{margin-top:34px;text-align:center;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:#E9DDBE}
.steps li.fcard{padding:34px 28px 36px}.steps li.fcard::after{display:none}
.steps li.fcard .n{display:inline-block;transition:transform .5s var(--ease),color .4s var(--ease)}.steps li.fcard:hover .n{transform:translateX(6px);color:var(--goldhi)}
.fcell{position:relative;transition:background .45s var(--ease)}.fcell::after{content:"";position:absolute;left:24px;right:24px;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.fcell:hover{background:rgba(214,179,94,.06)}.fcell:hover::after{transform:scaleX(1)}
.rline{transition:padding-left .45s var(--ease),color .3s var(--ease)}.rline svg{transition:transform .45s var(--ease)}.rline:hover{padding-left:10px;color:#fff}.rline:hover svg{transform:scale(1.2)}
.faq details{transition:background .4s var(--ease)}.faq details:hover{background:rgba(214,179,94,.04)}
.rel-c{position:relative}.rel-c::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}.rel-c:hover::after{transform:scaleX(1)}.rel-c .arr{transition:transform .4s var(--ease)}.rel-c:hover .arr{transform:translateX(5px)}
@media(max-width:1100px){.svx-feats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.svx-top{grid-template-columns:1fr}.svx-top.rev .svx-fig{order:0}.svx-fig{aspect-ratio:16/11}.svx-copy .h2{max-width:none}}
@media(max-width:560px){.svx-feats{grid-template-columns:1fr}.svx-cta .btn{width:100%}.svx-fig figcaption{left:22px;bottom:22px}}
@media(hover:none){.fcard:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.fcard:hover,.fcard:hover .fi{transform:none}.fbar{display:none}}
