/* =========================================================
   B5 International Exim — main stylesheet
   Navy & gold premium system · Cinzel / Manrope / Cormorant
   ========================================================= */
@font-face{font-family:"Cinzel";src:url(../fonts/cinzel.woff) format("woff");font-weight:400 900;font-display:swap}
@font-face{font-family:"Manrope";src:url(../fonts/manrope.woff) format("woff");font-weight:200 800;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/cormorant-italic.woff) format("woff");font-weight:300 700;font-style:italic;font-display:swap}

:root{
	--n-950:#040D1C;--n-900:#06142B;--n-850:#081A33;--n-800:#0A1F3F;--n-700:#10305C;--n-600:#1B4478;--steel:#3E6A9E;
	--g-700:#8E6A22;--g-600:#B48D3C;--g:#C8A24A;--g-400:#DDBB68;--g-300:#EBD497;--g-100:#F7EDD2;
	--ivory:#FBF8F0;--ivory-2:#F4EEDF;--sand:#EADFC4;--ink:#0B1424;--body:#3A4A63;--muted:#6A778C;--line:#E8DFCB;
	--wa:#25D366;--wa-d:#128C7E;--ok:#1F9D6B;--err:#C2413B;
	--f-d:"Cinzel","Trajan Pro",Georgia,serif;--f-b:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--f-a:"Cormorant Garamond",Georgia,serif;
	--r-s:10px;--r:18px;--r-l:28px;--wrap:1240px;
	--sh-1:0 10px 30px -14px rgba(8,26,51,.28);--sh-2:0 34px 70px -28px rgba(8,26,51,.45);--sh-g:0 14px 40px -12px rgba(200,162,74,.55);
	--ease:cubic-bezier(.22,1,.36,1);--ease-b:cubic-bezier(.34,1.56,.64,1);
	--gold:linear-gradient(135deg,#F6E3A6 0%,#D9B65E 30%,#A97F2C 62%,#EBD08A 100%);
	--navy:linear-gradient(160deg,#10305C 0%,#081A33 55%,#040D1C 100%);
	--head-h:118px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;font-family:var(--f-b);font-size:16.5px;line-height:1.7;color:var(--body);background:var(--ivory);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:var(--n-600);text-decoration:none;transition:color .25s}
a:hover{color:var(--g-700)}
h1,h2,h3,h4{font-family:var(--f-d);color:var(--ink);line-height:1.18;margin:0 0 .5em;font-weight:700;letter-spacing:.01em}
p{margin:0 0 1em}
button{font:inherit;cursor:pointer}
::selection{background:var(--g-300);color:var(--n-900)}
.wrap{width:min(var(--wrap),100% - 40px);margin-inline:auto}
.narrow{max-width:820px}
.center{text-align:center}.center-x{justify-content:center}.mt{margin-top:48px}
.skip{position:absolute;left:-999px;top:8px;z-index:10000;background:var(--g);color:var(--n-900);padding:10px 16px;border-radius:8px}
.skip:focus{left:8px}
.ic{width:1.15em;height:1.15em;flex:none;fill:currentColor;--duo:var(--g)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
:focus-visible{outline:2px solid var(--g);outline-offset:3px}
[hidden]{display:none!important}

/* ---------- Typography helpers ---------- */
.kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-b);font-size:12.5px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--g-700);margin:0 0 14px}
.kicker::before{content:"";width:28px;height:2px;background:var(--gold);border-radius:2px}
.sec-head--center .kicker::after{content:"";width:28px;height:2px;background:var(--gold);border-radius:2px}
.sec-title{font-size:clamp(28px,3.6vw,46px);margin-bottom:16px}
.lead{font-size:18px;color:var(--body)}
.lead--light{color:#C8D3E6}
.gold-text{background:var(--gold);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 6s linear infinite}
@keyframes shimmer{to{background-position:200% center}}
.sec-head{max-width:760px;margin:0 auto 56px}
.sec-head--center{text-align:center}
.sec-head--left{margin-left:0;text-align:left}
.sec-head .sec-text{font-size:17.5px;color:var(--muted);margin:0}
.sec-head.is-light .sec-title{color:#fff}
.sec-head.is-light .sec-text{color:#AFBCD2}
.sec-head.is-light .kicker{color:var(--g-300)}
.rich{font-size:17px}
.rich h2,.rich h3{margin-top:1.4em}
.rich h3{font-size:22px}
.rich ul{padding-left:0;list-style:none}
.rich li{position:relative;padding-left:30px;margin:.55em 0}
.rich li::before{content:"";position:absolute;left:0;top:.45em;width:18px;height:18px;border-radius:50%;background:var(--gold);box-shadow:inset 0 0 0 5px var(--ivory)}
.rich a{text-decoration:underline;text-decoration-color:var(--g);text-underline-offset:3px}
.rich img{border-radius:var(--r)}
.rich blockquote{margin:1.5em 0;padding:18px 24px;border-left:3px solid var(--g);background:var(--ivory-2);border-radius:0 var(--r) var(--r) 0;font-family:var(--f-a);font-style:italic;font-size:22px;color:var(--n-800)}

/* ---------- Buttons ---------- */
.btn{--bg:var(--n-800);--fg:#fff;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;border:0;background:var(--bg);color:var(--fg);font-weight:800;font-size:15px;letter-spacing:.02em;line-height:1.2;overflow:hidden;isolation:isolate;transition:transform .35s var(--ease),box-shadow .35s var(--ease),color .3s;white-space:nowrap}
.btn>span{display:inline-flex;align-items:center;gap:10px;position:relative;z-index:2}
.btn .ic{width:19px;height:19px}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--ease);z-index:1}
.btn:hover::after{transform:translateX(120%)}
.btn:hover{color:var(--fg);transform:translateY(-2px)}
.btn--gold{--fg:var(--n-900);background:var(--gold);background-size:160% 160%;box-shadow:var(--sh-g)}
.btn--gold:hover{background-position:100% 0;box-shadow:0 20px 44px -12px rgba(200,162,74,.75)}
.btn--navy{--bg:var(--n-800);box-shadow:var(--sh-1)}
.btn--navy:hover{--bg:var(--n-700)}
.btn--glass{--bg:rgba(255,255,255,.08);--fg:#fff;border:1px solid rgba(235,212,151,.45);backdrop-filter:blur(10px)}
.btn--glass:hover{--bg:rgba(235,212,151,.16)}
.btn--wa{--bg:var(--wa);--fg:#06301A;box-shadow:0 14px 34px -14px rgba(37,211,102,.7)}
.btn--wa:hover{--bg:#2BE070}
.btn--sm{padding:10px 18px;font-size:13.5px}
.btn--sm .ic{width:16px;height:16px}
.btn--lg{padding:17px 32px;font-size:15.5px}
.btn--block{width:100%}
.btn[disabled]{opacity:.6;pointer-events:none}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(200,162,74,.4);background:rgba(255,255,255,.06);color:inherit;transition:.3s var(--ease)}
.icon-btn .ic{width:20px;height:20px}
.icon-btn:hover{background:var(--g);color:var(--n-900);border-color:var(--g);transform:rotate(-8deg) scale(1.06)}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14.5px;color:var(--n-700)}
.link-arrow .ic{transition:transform .3s var(--ease)}
.link-arrow:hover .ic{transform:translateX(5px)}
.badge{position:absolute;top:14px;left:14px;z-index:2;padding:6px 12px;border-radius:999px;background:rgba(6,20,43,.82);backdrop-filter:blur(8px);color:var(--g-300);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(235,212,151,.35)}
.badge--lg{top:20px;left:20px;font-size:12.5px;padding:8px 16px}
.pill{display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 12px;border-radius:999px;background:rgba(235,212,151,.1);border:1px solid rgba(235,212,151,.35);color:var(--g-300);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:26px}
.pill__dot{width:9px;height:9px;border-radius:50%;background:var(--g);box-shadow:0 0 0 0 rgba(200,162,74,.7);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(200,162,74,0)}100%{box-shadow:0 0 0 0 rgba(200,162,74,0)}}

/* ---------- Reveal animations ---------- */
.js [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0ms)}
.js [data-reveal].is-in{opacity:1;transform:none}
[data-split] .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
[data-split] .w>span{display:inline-block;transform:translateY(105%) rotate(4deg);transition:transform 1.1s var(--ease);transition-delay:calc(var(--i)*55ms)}
[data-split].is-in .w>span{transform:none}
.gold-text[data-split] .w>span{background:var(--gold);background-size:400% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 6s linear infinite}
.gold-text[data-split]{background:none;color:inherit;animation:none}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}.js [data-reveal]{opacity:1;transform:none}[data-split] .w>span{transform:none}}

/* ---------- Scroll progress ---------- */
.scroll-prog{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;pointer-events:none}
.scroll-prog span{display:block;height:100%;width:100%;background:var(--gold);transform-origin:0 50%;transform:scaleX(0)}

/* ---------- Header ---------- */
.site-head{position:fixed;top:0;left:0;right:0;z-index:100;--lg-t1:#fff;--lg-tag:var(--g-300);color:#fff;transition:transform .5s var(--ease)}
.topbar{background:rgba(4,13,28,.55);border-bottom:1px solid rgba(235,212,151,.14);font-size:13px;transition:margin .4s var(--ease),opacity .3s}
.topbar__in{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px}
.topbar__note{display:flex;align-items:center;gap:8px;margin:0;color:#C9D4E6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar__note .ic{color:var(--g)}
.topbar__links{display:flex;align-items:center;gap:18px;list-style:none;margin:0;padding:0}
.topbar__links a{display:inline-flex;align-items:center;gap:7px;color:#E5ECF7}
.topbar__links a:hover{color:var(--g-300)}
.topbar__links .ic{color:var(--g)}
.topbar__soc a .ic{color:#E5ECF7;width:14px;height:14px}
.topbar__soc a:hover .ic{color:var(--g)}
.navbar{transition:background .4s var(--ease),box-shadow .4s,backdrop-filter .4s}
.navbar__in{display:flex;align-items:center;gap:24px;min-height:78px}
/* header uses the same .wrap width as the page content */
.navbar__in{gap:18px}
.brand{display:block;flex:none;line-height:0}
.brand .b5-logo{height:68px;width:auto;transition:height .4s var(--ease)}
.brand .b5-logo-img{max-height:60px;width:auto}
.brand__light{display:none}
.mainnav{margin-left:auto;min-width:0}
.b5-nav>li{flex:none}
.navbar__act{flex:none}
.brand{flex:none}
.b5-nav{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.b5-nav>li{position:relative}
.b5-nav>li>a{position:relative;display:flex;align-items:center;gap:5px;white-space:nowrap;padding:12px 11px;color:inherit;font-weight:700;font-size:14.5px;letter-spacing:.02em}
.b5-nav>li>a::after{content:"";position:absolute;left:11px;right:11px;bottom:5px;height:2px;border-radius:2px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.b5-nav>li:hover>a::after,.b5-nav>li.current-menu-item>a::after,.b5-nav>li.current_page_item>a::after{transform:scaleX(1);transform-origin:left}
.b5-nav>li>a:hover{color:var(--g-300)}
.b5-nav .caret{width:12px;height:12px;transition:transform .3s}
.b5-nav>li:hover .caret{transform:rotate(180deg)}
.b5-nav .sub-menu{position:absolute;top:100%;left:0;min-width:220px;list-style:none;margin:0;padding:10px;background:#fff;border-radius:14px;box-shadow:var(--sh-2);opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s var(--ease)}
.b5-nav li:hover>.sub-menu{opacity:1;visibility:visible;transform:none}
.b5-nav .sub-menu a{display:block;padding:9px 12px;border-radius:8px;color:var(--ink);font-weight:600;font-size:14px}
.b5-nav .sub-menu a:hover{background:var(--ivory-2)}
.mainnav{align-self:stretch;display:flex;align-items:stretch}
.b5-nav{height:100%;align-items:stretch!important}
.b5-nav>li{display:flex;align-items:center}
.has-mega{position:static!important}
.mega{position:absolute;left:0;right:0;top:100%;padding-top:10px;margin-top:-10px;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .3s var(--ease),transform .4s var(--ease),visibility 0s linear .35s;pointer-events:none}
.has-mega:hover .mega,.has-mega:focus-within .mega,.has-mega.is-open .mega{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .3s var(--ease),transform .4s var(--ease),visibility 0s}
.has-mega.is-closing .mega{transition-delay:.25s}
.mega__in{width:min(var(--wrap),100% - 40px);margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:26px;padding:26px;background:#fff;border-radius:22px;box-shadow:var(--sh-2);border:1px solid var(--line);color:var(--body)}
.mega__intro{padding:24px;border-radius:16px;background:var(--navy);color:#C8D3E6;position:relative;overflow:hidden}
.mega__intro::after{content:"";position:absolute;right:-60px;bottom:-60px;width:200px;height:200px;border-radius:50%;border:1px solid rgba(235,212,151,.25);box-shadow:0 0 0 30px rgba(235,212,151,.05)}
.mega__intro h3{color:#fff;font-size:22px}
.mega__intro .kicker{color:var(--g-300)}
.mega__intro p{font-size:14px}
.mega__intro .link-arrow{color:var(--g-300)}
.mega__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:4px 12px}
.mega--products .mega__in{grid-template-columns:260px 1fr}
.mega--products .mega__grid{grid-template-columns:repeat(3,1fr);gap:2px 8px}
.mega--products .mega__grid a{padding:8px 10px;gap:10px;align-items:center}
.mega--products .mega__ic{width:36px;height:36px;border-radius:10px}
.mega--products .mega__grid strong{font-size:13.5px}
.mega--products .mega__grid small{font-size:11.5px}
.mega__grid a{display:flex;gap:14px;align-items:flex-start;padding:12px;border-radius:12px;color:var(--ink);transition:background .25s,transform .25s}
.mega__grid a:hover{background:var(--ivory-2);transform:translateX(4px)}
.mega__grid strong{display:block;font-size:14.5px;line-height:1.3}
.mega__grid small{display:block;color:var(--muted);font-size:12.5px;line-height:1.45;margin-top:2px}
.mega__ic{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--ivory-2);color:var(--n-700);border:1px solid var(--line)}
.mega__ic .ic{width:22px;height:22px}
.navbar__act{display:flex;align-items:center;gap:12px}
.navbar__act .icon-btn{color:#fff}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid rgba(200,162,74,.45);background:transparent;position:relative}
.burger span{position:absolute;left:13px;right:13px;height:2px;border-radius:2px;background:currentColor;transition:.3s var(--ease)}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:22px;right:18px}.burger span:nth-child(3){top:28px}
.site-head.is-stuck{--lg-t1:#0E2A52;--lg-tag:#2A3F5E;color:var(--ink)}
.site-head.is-stuck .topbar{margin-top:-41px;opacity:0}
.site-head.is-stuck .navbar{background:rgba(251,248,240,.88);backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px);box-shadow:0 10px 40px -18px rgba(8,26,51,.35);border-bottom:1px solid rgba(200,162,74,.25)}
.site-head.is-stuck .brand .b5-logo{height:62px}
.site-head.is-stuck .navbar__act .icon-btn{color:var(--n-800)}
.site-head.is-stuck .b5-nav>li>a:hover{color:var(--g-700)}
.site-head.is-stuck .brand__dark{display:none}.site-head.is-stuck .brand__light{display:block}
.site-head.is-hidden{transform:translateY(-100%)}
body:not(.has-dark-hero) .site-head{--lg-t1:#0E2A52}

/* Drawer */
.drawer{position:fixed;inset:0;z-index:300;visibility:hidden;overflow:hidden;--lg-t1:#fff;--lg-tag:var(--g-300)}
.drawer.is-open{visibility:visible}
.drawer__scrim{position:absolute;inset:0;background:rgba(4,13,28,.6);backdrop-filter:blur(4px);opacity:0;transition:opacity .4s}
.drawer.is-open .drawer__scrim{opacity:1}
.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(420px,92vw);background:var(--navy);color:#fff;padding:22px 24px 30px;overflow-y:auto;transform:translateX(100%);transition:transform .55s var(--ease);z-index:2;display:flex;flex-direction:column;gap:22px;border-left:1px solid rgba(235,212,151,.2)}
.drawer.is-open .drawer__panel{transform:none}
.drawer__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.drawer__head .b5-logo{height:46px;width:auto}
.drawer__nav{list-style:none;margin:0;padding:0}
.drawer__nav li{border-bottom:1px solid rgba(255,255,255,.08);opacity:0;transform:translateX(30px);transition:.5s var(--ease)}
.drawer.is-open .drawer__nav li{opacity:1;transform:none}
.drawer__nav li:nth-child(1){transition-delay:.1s}.drawer__nav li:nth-child(2){transition-delay:.15s}.drawer__nav li:nth-child(3){transition-delay:.2s}.drawer__nav li:nth-child(4){transition-delay:.25s}.drawer__nav li:nth-child(5){transition-delay:.3s}.drawer__nav li:nth-child(6){transition-delay:.35s}.drawer__nav li:nth-child(7){transition-delay:.4s}.drawer__nav li:nth-child(8){transition-delay:.45s}
.drawer__nav a{display:block;padding:15px 4px;color:#fff;font-family:var(--f-d);font-size:20px;font-weight:600}
.drawer__nav .current-menu-item a,.drawer__nav a:hover{color:var(--g-300)}
.drawer__cta{display:grid;gap:10px}
.drawer__contact{list-style:none;margin:auto 0 0;padding:0;display:grid;gap:12px;font-size:14px}
.drawer__contact a,.drawer__contact span{display:flex;gap:10px;color:#C8D3E6;align-items:flex-start}
.drawer__contact .ic{color:var(--g);margin-top:4px}

/* ---------- Sections ---------- */
.sec{position:relative;padding:clamp(72px,9vw,120px) 0}
.sec--ivory{background:var(--ivory-2)}
.sec--navy{background:var(--navy);color:#C8D3E6;overflow:hidden}
.sec--navy h2,.sec--navy h3{color:#fff}
.sec-bg-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(235,212,151,.14) 1px,transparent 1.5px);background-size:26px 26px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);pointer-events:none}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;background:var(--n-900);color:#fff;overflow:hidden;padding:calc(var(--head-h) + 40px) 0 90px}
.hero__bg{position:absolute;inset:0;pointer-events:none}
.hero__stars{position:absolute;inset:0;width:100%;height:100%}
.glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55}
.glow.g1{width:620px;height:620px;right:-120px;top:10%;background:radial-gradient(circle,#1B4478 0%,transparent 70%)}
.glow.g2{width:520px;height:520px;left:-160px;bottom:-120px;background:radial-gradient(circle,rgba(200,162,74,.35) 0%,transparent 70%)}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(235,212,151,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(235,212,151,.05) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent)}
.hero__in{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.hero__title{font-size:clamp(36px,4.7vw,68px);color:#fff;line-height:1.06;margin-bottom:26px;letter-spacing:.005em}
.hero__title .line{display:block}
.hero__text{font-size:clamp(16.5px,1.4vw,19px);color:#BFCBE0;max-width:560px;margin-bottom:36px}
.hero__btns{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:40px}
.hero__trust{display:flex;flex-wrap:wrap;gap:12px 26px;list-style:none;margin:0;padding:0;font-size:14px;color:#AFBCD2;font-weight:600}
.hero__trust li{display:flex;align-items:center;gap:8px}
.hero__trust .ic{color:var(--g);width:20px;height:20px}
.hero__visual{position:relative;aspect-ratio:1;max-width:620px;width:100%;justify-self:end}
.globe-wrap{position:absolute;inset:0}
.globe{position:absolute;inset:6%;width:88%;height:88%;cursor:grab;touch-action:pan-y}
.globe:active{cursor:grabbing}
.globe-ring{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(235,212,151,.22);animation:spin 60s linear infinite}
.globe-ring.r2{inset:-6%;border-style:solid;border-color:rgba(235,212,151,.08);animation-duration:90s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.float-card{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border-radius:16px;background:rgba(10,31,63,.62);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(235,212,151,.28);box-shadow:0 20px 50px -20px rgba(0,0,0,.6);animation:bob 6s ease-in-out infinite}
.float-card small{display:block;font-size:11px;color:var(--g-300);letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.float-card strong{display:block;font-size:14.5px;color:#fff;font-weight:700}
.fc__ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--gold);color:var(--n-900)}
.fc__ic .ic{width:22px;height:22px;--duo:var(--n-900)}
.fc1{top:12%;left:-4%}.fc2{bottom:16%;left:-8%;animation-delay:-2s}.fc3{top:42%;right:-6%;animation-delay:-4s}
@keyframes bob{50%{transform:translateY(-14px)}}
.hero__scroll{position:absolute;left:50%;bottom:26px;width:28px;height:46px;border:2px solid rgba(235,212,151,.5);border-radius:20px;transform:translateX(-50%)}
.hero__scroll span{position:absolute;left:50%;top:8px;width:4px;height:9px;border-radius:2px;background:var(--g);transform:translateX(-50%);animation:wheel 1.8s infinite}
@keyframes wheel{0%{opacity:0;top:6px}30%{opacity:1}100%{opacity:0;top:24px}}

/* Ticker */
.ticker{background:var(--gold);color:var(--n-900);overflow:hidden;padding:16px 0;position:relative;z-index:2;box-shadow:0 10px 40px -15px rgba(200,162,74,.6)}
.ticker__track{display:flex;width:max-content;animation:marquee 40s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker span{display:inline-flex;align-items:center;gap:16px;padding:0 26px;font-family:var(--f-d);font-weight:700;font-size:18px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.ticker .ic{--duo:var(--n-900);width:18px;height:18px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Intro ---------- */
.intro__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}
.orb{position:relative;aspect-ratio:1;max-width:520px;margin:0 auto;display:grid;place-items:center}
.orb__ring{position:absolute;border-radius:50%;border:1px solid rgba(200,162,74,.35)}
.orb__ring.r1{inset:0;border-style:dashed;animation:spin 50s linear infinite}
.orb__ring.r2{inset:9%;background:radial-gradient(circle at 35% 30%,#fff 0%,var(--ivory-2) 60%,var(--sand) 100%);box-shadow:var(--sh-2),inset 0 0 0 10px rgba(255,255,255,.6)}
.orb__ring.r3{inset:-5%;border-color:rgba(16,48,92,.12);animation:spin 80s linear infinite reverse}
.orb__ring.r3::before,.orb__ring.r1::before{content:"";position:absolute;top:50%;left:-6px;width:12px;height:12px;border-radius:50%;background:var(--g);box-shadow:0 0 18px var(--g)}
.orb__emblem{position:relative;width:76%;filter:drop-shadow(0 30px 40px rgba(8,26,51,.3))}
.orb__emblem .b5-emblem{width:100%;height:auto;filter:drop-shadow(0 26px 30px rgba(8,26,51,.28));animation:float3d 8s ease-in-out infinite}
@keyframes float3d{0%,100%{transform:perspective(800px) rotateY(-10deg) rotateX(4deg)}50%{transform:perspective(800px) rotateY(10deg) rotateX(-4deg) translateY(-8px)}}
.orb__chip{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:#fff;box-shadow:var(--sh-1);font-weight:800;color:var(--n-800);font-size:14px;border:1px solid var(--line);animation:bob 5s ease-in-out infinite}
.orb__chip .ic{color:var(--g-700)}
.orb__chip.c1{top:10%;left:2%}.orb__chip.c2{bottom:12%;right:0;animation-delay:-1.6s}.orb__chip.c3{top:48%;left:-6%;animation-delay:-3.2s}
.vm{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0 34px}
.vm__card{padding:22px;border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1);transition:transform .4s var(--ease)}
.vm__card:hover{transform:translateY(-4px)}
.vm__card h3{font-size:17px;margin:12px 0 6px}
.vm__card p{font-size:14.5px;margin:0;color:var(--muted)}
.vm__ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--navy);color:var(--g-300)}
.vm__ic .ic{width:24px;height:24px}
.stats{list-style:none;margin:80px 0 0;padding:34px 20px;display:grid;grid-template-columns:repeat(4,1fr);border-radius:var(--r-l);background:var(--navy);box-shadow:var(--sh-2);position:relative;overflow:hidden}
.stats::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 0%,rgba(200,162,74,.25),transparent 40%),radial-gradient(circle at 90% 100%,rgba(62,106,158,.4),transparent 45%)}
.stat{position:relative;text-align:center;padding:8px 14px;color:#AFBCD2;font-size:14px;font-weight:600;letter-spacing:.04em}
.stat+.stat{border-left:1px solid rgba(235,212,151,.18)}
.stat strong{display:block;font-family:var(--f-d);font-size:clamp(36px,4vw,54px);line-height:1.1;color:#fff}
.stat em{font-style:normal;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Service cards ---------- */
.s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.s-card{position:relative;padding:34px 30px 30px;border-radius:var(--r-l);background:#fff;border:1px solid var(--line);overflow:hidden;transition:box-shadow .5s var(--ease),transform .5s var(--ease),border-color .4s;transform-style:preserve-3d}
.s-card::before{content:"";position:absolute;inset:0;background:var(--navy);opacity:0;transition:opacity .5s var(--ease)}
.s-card>*{position:relative}
.s-card:hover{box-shadow:var(--sh-2);border-color:transparent}
.s-card:hover::before{opacity:1}
.s-card:hover .s-card__title a,.s-card:hover .s-card__title{color:#fff}
.s-card:hover .s-card__text{color:#B7C4DA}
.s-card:hover .link-arrow{color:var(--g-300)}
.s-card__num{position:absolute;top:22px;right:26px;font-family:var(--f-d);font-size:48px;font-weight:800;color:transparent;-webkit-text-stroke:1px rgba(200,162,74,.4);line-height:1}
.s-card__ic{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:var(--ivory-2);color:var(--n-700);margin-bottom:24px;border:1px solid var(--line);transition:.5s var(--ease)}
.s-card__ic .ic{width:32px;height:32px}
.s-card:hover .s-card__ic{background:var(--gold);color:var(--n-900);border-color:transparent;transform:rotate(-8deg) scale(1.06);--duo:var(--n-900)}
.s-card__title{font-size:21px;margin-bottom:10px}
.s-card__title a{color:var(--ink);transition:color .4s}
.s-card__text{color:var(--muted);font-size:15.5px;transition:color .4s}
.s-card__shine{position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(235,212,151,.18),transparent 40%);opacity:0;transition:opacity .4s;pointer-events:none}
.s-card:hover .s-card__shine{opacity:1}

/* ---------- Category tiles ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.cat-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:260px;border-radius:var(--r-l);overflow:hidden;color:#fff;isolation:isolate;border:1px solid rgba(235,212,151,.18);transition:transform .6s var(--ease),box-shadow .6s;transform-style:preserve-3d}
.cat-tile.is-wide{grid-column:span 2;min-height:300px}
.cat-tile__media{position:absolute;inset:0;z-index:-2}
.cat-tile__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.cat-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,20,43,.05) 20%,rgba(6,20,43,.92) 100%)}
.cat-tile:hover{box-shadow:0 30px 60px -20px rgba(0,0,0,.6);color:#fff}
.cat-tile:hover .cat-tile__media img{transform:scale(1.08)}
.cat-tile__body{padding:24px;display:grid;gap:4px}
.cat-tile__ic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(235,212,151,.14);border:1px solid rgba(235,212,151,.35);color:var(--g-300);margin-bottom:10px;backdrop-filter:blur(6px)}
.cat-tile__ic .ic{width:24px;height:24px}
.cat-tile strong{font-family:var(--f-d);font-size:20px;line-height:1.25}
.cat-tile.is-wide strong{font-size:26px}
.cat-tile small{color:var(--g-300);font-weight:700;letter-spacing:.06em;font-size:13px}
.cat-tile__go{position:absolute;top:20px;right:20px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--n-900);transform:scale(.6) rotate(-45deg);opacity:0;transition:.5s var(--ease-b)}
.cat-tile:hover .cat-tile__go{opacity:1;transform:none}

/* Placeholder art */
.ph-art{position:relative;width:100%;height:100%;min-height:200px;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#1B4478 0%,#0A1F3F 45%,#06142B 100%);overflow:hidden}
.ph-art::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(235,212,151,.2) 1px,transparent 1.6px);background-size:18px 18px;mask-image:radial-gradient(circle,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(circle,#000 20%,transparent 70%)}
.ph-art__ring{position:absolute;width:62%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(235,212,151,.35);animation:spin 40s linear infinite}
.ph-art__ring::before{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--g);box-shadow:0 0 14px var(--g)}
.ph-art__ring.r2{width:84%;border-style:dashed;border-color:rgba(235,212,151,.15);animation-direction:reverse;animation-duration:70s}
.ph-art__ic{position:relative;width:34%;height:34%;max-width:120px;max-height:120px;color:var(--g-300);--duo:var(--g);--duo-o:.35;filter:drop-shadow(0 10px 30px rgba(200,162,74,.35));transition:transform .8s var(--ease)}
.ph-art__lbl{position:absolute;bottom:18px;font-family:var(--f-d);color:var(--g-300);font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.cat-tile .ph-art,.p-card .ph-art{position:absolute;inset:0}
.cat-tile .ph-art{place-items:start center;padding-top:7%}
.cat-tile .ph-art__ring{width:auto;height:70%;top:-8%}
.cat-tile .ph-art__ring.r2{height:96%;top:-20%}
.cat-tile .ph-art__ic{width:auto;height:22%;aspect-ratio:1;margin-top:6%}
.cat-tile.is-wide .ph-art{place-items:center;padding:0 0 0 30%}
.cat-tile.is-wide .ph-art__ring{top:auto;height:70%}
.cat-tile.is-wide .ph-art__ring.r2{height:94%}
.cat-tile.is-wide .ph-art__ic{margin:0;height:28%}
.cat-tile.no-img .cat-tile__ic{display:none}
.cat-tile.span-2{grid-column:span 2}.cat-tile.span-3{grid-column:span 3}.cat-tile.span-4{grid-column:span 4}
.cat-tile:hover .ph-art__ic,.p-card:hover .ph-art__ic{transform:scale(1.12) rotate(-6deg)}

/* ---------- Product cards ---------- */
.p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.p-grid--4{grid-template-columns:repeat(4,1fr)}
.p-card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:var(--r-l);overflow:hidden;border:1px solid var(--line);box-shadow:0 2px 0 rgba(8,26,51,.02);transition:transform .6s var(--ease),box-shadow .6s var(--ease),opacity .4s;transform-style:preserve-3d}
.p-card:hover{box-shadow:var(--sh-2)}
.p-card.is-hidden{display:none}
.p-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--n-800)}
.p-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.p-card:hover .p-card__media img{transform:scale(1.07)}
.p-card__body{display:flex;flex-direction:column;flex:1;padding:22px 22px 22px}
.p-card__cat{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--g-700);margin-bottom:8px}
.p-card__title{font-size:19px;margin-bottom:8px}
.p-card__title a{color:var(--ink)}
.p-card__title a:hover{color:var(--n-600)}
.p-card__ex{font-size:14.5px;color:var(--muted);margin-bottom:14px}
.p-card__meta{list-style:none;margin:0 0 18px;padding:12px 0 0;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--body);font-weight:600}
.p-card__meta li{display:flex;align-items:center;gap:6px}
.p-card__meta .ic{color:var(--g-700)}
.p-card__act{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}
.p-card__act .btn{padding:11px 12px}
.row-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.row-head .sec-head{margin-bottom:34px}
.slider-nav{display:flex;gap:10px;margin-bottom:40px}
.slider-nav .icon-btn{color:var(--n-800);border-color:var(--line);background:#fff}
.p-slider{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3*24px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 30px;scrollbar-width:none}
.p-slider::-webkit-scrollbar{display:none}
.p-slider>*{scroll-snap-align:start}

/* Filter */
.filter{position:sticky;top:84px;z-index:20;padding:16px;margin-bottom:36px;background:rgba(251,248,240,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh-1)}
.filter__chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.chip{display:inline-flex;align-items:center;gap:8px;flex:none;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700;font-size:13.5px;transition:.3s var(--ease)}
.chip .ic{color:var(--g-700)}
.chip em{font-style:normal;font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--ivory-2);color:var(--muted)}
.chip:hover{border-color:var(--g)}
.chip.is-on{background:var(--n-800);border-color:var(--n-800);color:#fff}
.chip.is-on .ic{color:var(--g-300)}
.chip.is-on em{background:var(--g);color:var(--n-900)}
.filter__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
.search-box{display:flex;align-items:center;gap:10px;flex:1;max-width:420px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted)}
.search-box input{flex:1;border:0;background:none;padding:12px 0;font:inherit;color:var(--ink);outline:none}
.filter__count{margin:0;font-weight:700;color:var(--muted);font-size:14px}
.filter__count strong{color:var(--n-800)}
.cat-desc{font-size:17px;max-width:780px;margin:-10px 0 30px}
.empty{text-align:center;padding:60px 20px;border-radius:var(--r-l);border:1px dashed var(--g);background:#fff}
.empty>.ic{width:48px;height:48px;margin:0 auto 14px;color:var(--g-700)}
.source-note{display:flex;align-items:center;gap:24px;margin-top:50px;padding:28px 32px;border-radius:var(--r-l);background:var(--ivory-2);border:1px solid var(--line)}
.source-note h3{font-size:20px;margin-bottom:4px}
.source-note p{margin:0;color:var(--muted)}
.source-note>div{flex:1}
.source-note__ic{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:var(--gold);color:var(--n-900);flex:none;--duo:var(--n-900)}
.source-note__ic .ic{width:30px;height:30px}

/* ---------- Process ---------- */
.process-wrap{position:relative}
.process__line{position:absolute;top:44px;left:6%;width:88%;height:40px;fill:none;overflow:visible}
.process__line path{stroke:var(--g);stroke-width:2;stroke-dasharray:6 8;vector-effect:non-scaling-stroke}
.process{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.step{text-align:center;padding:0 6px}
.step__ic{position:relative;display:grid;place-items:center;width:92px;height:92px;margin:0 auto 22px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1);color:var(--n-700);transition:.5s var(--ease)}
.step__ic::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px dashed rgba(200,162,74,.5);animation:spin 30s linear infinite}
.step__ic .ic{width:38px;height:38px}
.step__ic em{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gold);color:var(--n-900);font-style:normal;font-weight:800;font-size:13px;box-shadow:var(--sh-g)}
.step:hover .step__ic{background:var(--navy);color:var(--g-300);transform:translateY(-6px)}
.step h3{font-size:17px;margin-bottom:6px}
.step p{font-size:14.5px;color:var(--muted);margin:0}

/* ---------- World map ---------- */
.worldmap{position:relative;max-width:1100px;margin:0 auto 46px;aspect-ratio:1000/430}
.worldmap canvas{width:100%;height:100%}
.worldmap__legend{position:absolute;left:0;bottom:-8px;display:flex;align-items:center;gap:10px;font-size:13px;color:#8FA0BC}
.worldmap__legend i{display:inline-block;width:10px;height:10px;border-radius:50%}
.worldmap__legend i.o{background:var(--g);box-shadow:0 0 10px var(--g)}
.worldmap__legend i.m{background:#7EB2F0;margin-left:10px}
.markets{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.markets li{flex:0 1 calc(25% - 11px);min-width:220px}
.markets li{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(235,212,151,.15);transition:.4s var(--ease)}
.markets li:hover{background:rgba(235,212,151,.08);border-color:rgba(235,212,151,.4);transform:translateY(-3px)}
.markets strong{display:block;color:#fff;font-family:var(--f-d);font-size:16px}
.markets small{color:#8FA0BC;font-size:13.5px}
.markets__dot{flex:none;width:12px;height:12px;margin-top:6px;border-radius:50%;background:var(--g);box-shadow:0 0 0 5px rgba(200,162,74,.15)}

/* ---------- Why ---------- */
.why__grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:60px;align-items:start}
.why__head{position:sticky;top:120px}
.why__cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.why__cards--3{grid-template-columns:repeat(3,1fr)}
.w-card{padding:30px 26px;border-radius:var(--r-l);background:#fff;border:1px solid var(--line);transition:transform .6s var(--ease),box-shadow .6s;transform-style:preserve-3d}
.w-card:hover{box-shadow:var(--sh-2)}
.w-card__ic{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--ivory-2);color:var(--n-700);margin-bottom:18px;box-shadow:inset 0 0 0 1px var(--line);transition:.5s var(--ease)}
.w-card__ic .ic{width:28px;height:28px}
.w-card:hover .w-card__ic{background:var(--gold);color:var(--n-900);--duo:var(--n-900)}
.w-card h3{font-size:18px;margin-bottom:8px}
.w-card p{font-size:15px;color:var(--muted);margin:0}
.quote{margin:30px 0 0;padding:28px 30px;border-radius:var(--r-l);background:var(--navy);color:#fff;position:relative;overflow:hidden}
.quote .ic{width:40px;height:40px;color:var(--g);margin-bottom:10px}
.quote p{font-family:var(--f-a);font-style:italic;font-size:25px;line-height:1.35;margin:0;color:#F3EBD6}

/* ---------- FAQ & enquiry ---------- */
.faq-enq__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:start}
.faq{display:grid;gap:12px}
.faq__item{border-radius:18px;background:#fff;border:1px solid var(--line);overflow:hidden;transition:box-shadow .4s,border-color .4s}
.faq__item[open]{box-shadow:var(--sh-1);border-color:rgba(200,162,74,.5)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;cursor:pointer;list-style:none;font-weight:800;color:var(--ink);font-size:16px}
.faq__item summary::-webkit-details-marker{display:none}
.faq__pm{position:relative;flex:none;width:30px;height:30px;border-radius:50%;background:var(--ivory-2);transition:.4s var(--ease)}
.faq__pm::before,.faq__pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--n-800);border-radius:2px;transform:translate(-50%,-50%);transition:.4s var(--ease)}
.faq__pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item[open] .faq__pm{background:var(--gold);transform:rotate(180deg)}
.faq__item[open] .faq__pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq__a{padding:0 22px 20px;color:var(--muted);font-size:15.5px}
.faq__a p{margin:0}
.enq-card{position:relative;padding:38px;border-radius:30px;background:#fff;box-shadow:var(--sh-2);border:1px solid var(--line);overflow:hidden}
.enq-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--gold)}
.enq-card__title{font-size:28px;margin-bottom:24px}

/* Form */
.enq-form{--fb:#fff}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.f-full{grid-column:1/-1}
.f-field{position:relative}
.f-field input,.f-field select,.f-field textarea{width:100%;padding:22px 16px 8px;border-radius:14px;border:1.5px solid var(--line);background:var(--fb);font:inherit;font-size:15px;color:var(--ink);outline:none;transition:border-color .3s,box-shadow .3s;appearance:none;-webkit-appearance:none}
.f-field textarea{resize:vertical;min-height:96px}
.f-field label{position:absolute;left:17px;top:15px;font-size:14.5px;color:var(--muted);pointer-events:none;transition:.25s var(--ease);font-weight:600}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{border-color:var(--g);box-shadow:0 0 0 4px rgba(200,162,74,.16)}
.f-field input:focus+label,.f-field input:not(:placeholder-shown)+label,.f-field textarea:focus+label,.f-field textarea:not(:placeholder-shown)+label,.f-select label{top:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--g-700)}
.f-select select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B48D3C' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
.f-field.is-err input,.f-field.is-err textarea{border-color:var(--err);box-shadow:0 0 0 4px rgba(194,65,59,.12)}
.captcha{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin:16px 0}
.captcha__img{position:relative;display:flex;align-items:center;gap:8px}
.captcha__img img{width:170px;height:56px;border-radius:12px;border:1.5px solid var(--line);background:linear-gradient(90deg,var(--ivory-2),#fff,var(--ivory-2));background-size:200% 100%;object-fit:cover;animation:shimmer 1.4s linear infinite;color:transparent}
.captcha__img img[src]{animation:none}
.captcha__re{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--n-700);transition:transform .5s var(--ease)}
.captcha__re:hover{transform:rotate(180deg);border-color:var(--g)}
.captcha__in input{text-transform:uppercase;letter-spacing:.3em;font-weight:800}
.f-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted);cursor:pointer;margin:4px 0 18px}
.f-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--n-800);flex:none}
.f-actions{display:flex;flex-wrap:wrap;gap:12px}
.f-actions .btn{flex:1 1 210px}
.f-status{margin:14px 0 0;font-weight:700;font-size:14.5px;min-height:1px}
.f-status.is-ok{color:var(--ok)}
.f-status.is-err{color:var(--err)}
.enq-form.is-busy .btn[type=submit]{opacity:.7;pointer-events:none}
.enq-form.is-busy [data-magnetic]:not([data-via-wa]) span::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}
.enq-done{text-align:center;padding:30px 10px}
.enq-done__ic{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 18px;border-radius:50%;background:var(--gold);color:var(--n-900);animation:pop .7s var(--ease-b);--duo:var(--n-900)}
.enq-done__ic .ic{width:42px;height:42px}
@keyframes pop{0%{transform:scale(0)}100%{transform:scale(1)}}
.enq-done h3{font-size:24px}

/* ---------- Page hero ---------- */
.page-hero{position:relative;padding:calc(var(--head-h) + 70px) 0 90px;background:var(--navy);color:#fff;overflow:hidden}
.page-hero__bg{position:absolute;inset:0}
.page-hero__bg canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.6}
.page-hero__in{position:relative}
.page-hero__title{color:#fff;font-size:clamp(34px,4.8vw,64px);max-width:980px;margin-bottom:16px}
.page-hero__text{font-size:18px;color:#BFCBE0;max-width:720px;margin:0}
.page-hero .kicker{color:var(--g-300)}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:60px;background:var(--ivory);clip-path:ellipse(70% 100% at 50% 100%)}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;color:#9FB0CB;margin-bottom:24px;font-weight:600}
.crumbs a{display:inline-flex;align-items:center;gap:6px;color:#C8D3E6}
.crumbs a:hover{color:var(--g-300)}
.crumbs .ic{color:var(--g)}
.crumbs .sep{color:var(--g)}

/* ---------- About ---------- */
.about-story__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.about-story__visual{position:sticky;top:120px}
.frame{position:relative;border-radius:34px;overflow:hidden;aspect-ratio:4/5;background:radial-gradient(circle at 40% 30%,#fff,var(--ivory-2) 60%,var(--sand));box-shadow:var(--sh-2);border:1px solid var(--line)}
.frame>img{width:100%;height:100%;object-fit:cover}
.frame__art{position:absolute;inset:0;display:grid;place-items:center}
.frame__art .b5-emblem{width:72%;animation:float3d 9s ease-in-out infinite;filter:drop-shadow(0 30px 40px rgba(8,26,51,.25))}
.frame::before{content:"";position:absolute;inset:18px;border-radius:24px;border:1px solid rgba(200,162,74,.45);z-index:1;pointer-events:none}
.frame__badge{position:absolute;bottom:28px;right:28px;z-index:2;padding:16px 22px;border-radius:18px;background:var(--navy);color:#fff;text-align:center;box-shadow:var(--sh-2)}
.frame__badge strong{display:block;font-family:var(--f-d);font-size:24px;color:var(--g-300)}
.frame__badge span{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#C8D3E6}
.vm-big{display:grid;grid-template-columns:1fr 1fr;gap:26px;position:relative}
.vm-big__card{position:relative;padding:44px 40px;border-radius:30px;background:rgba(255,255,255,.04);border:1px solid rgba(235,212,151,.22);overflow:hidden;transform-style:preserve-3d;transition:transform .6s var(--ease)}
.vm-big__card::after{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(200,162,74,.25),transparent 70%)}
.vm-big__ic{display:grid;place-items:center;width:66px;height:66px;border-radius:20px;background:var(--gold);color:var(--n-900);margin-bottom:22px;--duo:var(--n-900)}
.vm-big__ic .ic{width:32px;height:32px}
.vm-big__card .kicker{color:var(--g-300)}
.vm-big__txt{font-family:var(--f-a);font-style:italic;font-size:clamp(22px,2.2vw,28px);line-height:1.4;color:#F3EBD6;margin:0}
.philosophy__in{text-align:center;max-width:980px}
.philosophy .kicker::after{content:"";width:28px;height:2px;background:var(--gold)}
.philosophy__q{font-family:var(--f-d);font-size:clamp(26px,3.4vw,44px);line-height:1.3;color:var(--n-800);margin:10px 0 22px}
.philosophy__t{font-size:18px;color:var(--muted);max-width:720px;margin:0 auto}
.values{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.value{position:relative;padding:28px 22px;border-radius:var(--r-l);background:#fff;border:1px solid var(--line);transition:transform .6s var(--ease),box-shadow .6s;overflow:hidden;transform-style:preserve-3d}
.value:hover{box-shadow:var(--sh-2)}
.value__n{position:absolute;top:16px;right:18px;font-family:var(--f-d);font-weight:800;font-size:34px;color:transparent;-webkit-text-stroke:1px rgba(200,162,74,.5)}
.value__ic{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--navy);color:var(--g-300);margin-bottom:18px}
.value__ic .ic{width:26px;height:26px}
.value h3{font-size:17px;margin-bottom:8px}
.value p{font-size:14.5px;color:var(--muted);margin:0}
.commit__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.closing{font-family:var(--f-d);font-size:20px;margin-top:20px}
.company-card{border-radius:30px;background:#fff;color:var(--body);overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);transform-style:preserve-3d;transition:transform .6s var(--ease);--lg-t1:#0E2A52;--lg-tag:#2A3F5E}
.company-card__head{padding:26px 30px;background:var(--ivory);border-bottom:3px solid var(--g)}
.company-card__head .b5-logo{height:70px;width:auto}
.company-card dl{margin:0;padding:12px 30px 26px}
.company-card dl>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line)}
.company-card dl>div:last-child{border:0}
.company-card dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--g-700);font-weight:800}
.company-card dd{margin:0;color:var(--ink);font-weight:600;font-size:15px}

/* Modes */
.modes{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.mode{padding:30px 26px;border-radius:var(--r-l);background:#fff;border:1px solid var(--line);transition:transform .6s var(--ease),box-shadow .6s;transform-style:preserve-3d}
.mode:hover{box-shadow:var(--sh-2)}
.mode__ic{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:var(--gold);color:var(--n-900);margin-bottom:18px;--duo:var(--n-900)}
.mode__ic .ic{width:30px;height:30px}
.mode h3{font-size:18px}
.mode p{font-size:15px;color:var(--muted);margin:0}

/* ---------- Contact ---------- */
.c-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:-150px;position:relative;z-index:3;margin-bottom:60px}
.c-card{display:flex;flex-direction:column;gap:4px;padding:26px 24px;border-radius:24px;background:#fff;box-shadow:var(--sh-2);border:1px solid var(--line);color:var(--ink);transition:transform .6s var(--ease);transform-style:preserve-3d}
.c-card small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-700);font-weight:800;margin-top:12px}
.c-card strong{font-size:16px;word-break:break-word}
.c-card__ic{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--navy);color:var(--g-300)}
.c-card__ic .ic{width:26px;height:26px}
.c-card__ic.is-wa{background:var(--wa);color:#fff;--duo:#fff}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:start}
.contact-side{display:grid;gap:22px;position:sticky;top:110px}
.addr-card{position:relative;padding:32px;border-radius:28px;background:var(--navy);color:#C8D3E6;overflow:hidden}
.addr-card__emb{position:absolute;right:-40px;top:-40px;width:200px;opacity:.14}
.addr-card h3{color:#fff;font-size:22px}
.addr-card p{display:flex;gap:10px;align-items:flex-start}
.addr-card p .ic{color:var(--g);margin-top:5px}
.addr-card a{color:#E5ECF7}
.map{border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-1);aspect-ratio:4/3;background:var(--ivory-2)}
.map iframe{width:100%;height:100%;border:0;filter:saturate(.8) contrast(1.05)}

/* ---------- Product single ---------- */
.ps__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start}
.ps__gallery{position:sticky;top:110px}
.ps__main{position:relative;aspect-ratio:1;border-radius:30px;overflow:hidden;background:var(--n-800);box-shadow:var(--sh-2)}
.ps__main img{width:100%;height:100%;object-fit:cover;transition:opacity .4s}
.ps__main .ph-art{position:absolute;inset:0}
.ps__thumbs{display:flex;gap:10px;margin-top:14px;overflow-x:auto}
.ps__thumbs button{flex:none;width:80px;height:80px;padding:0;border-radius:14px;overflow:hidden;border:2px solid transparent;background:none;opacity:.7;transition:.3s}
.ps__thumbs button.is-on,.ps__thumbs button:hover{border-color:var(--g);opacity:1}
.ps__thumbs img{width:100%;height:100%;object-fit:cover}
.ps__title{font-size:clamp(28px,3.4vw,44px)}
.ps__facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}
.ps__facts>div{padding:16px 18px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.ps__facts dt{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--g-700);font-weight:800;margin-bottom:4px}
.ps__facts dd{margin:0;font-weight:700;color:var(--ink);font-size:15px}
.ps__act{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.ps__assure{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;font-weight:700;color:var(--body)}
.ps__assure li{display:flex;align-items:center;gap:8px}
.ps__assure .ic{color:var(--g-700);width:20px;height:20px}
.ps__detail{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;margin-top:70px}
.specs{padding:30px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1)}
.specs h3{display:flex;align-items:center;gap:10px;font-size:20px}
.specs h3 .ic{color:var(--g-700)}
.specs table{width:100%;border-collapse:collapse;font-size:15px}
.specs th,.specs td{text-align:left;padding:13px 4px;border-bottom:1px dashed var(--line);vertical-align:top}
.specs th{color:var(--muted);font-weight:700;width:42%}
.specs td{color:var(--ink);font-weight:700}
.specs__note{font-size:13px;color:var(--muted);margin:16px 0 0}

/* ---------- Service single ---------- */
.svc__grid{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
.svc__img{border-radius:28px;overflow:hidden;margin-bottom:30px}
.svc__badge{display:flex;align-items:center;gap:18px;padding:20px;border-radius:24px;background:#fff;border:1px solid var(--line);margin-bottom:30px;box-shadow:var(--sh-1)}
.svc__badge .s-card__ic{margin:0}
.svc__badge small{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-700);font-weight:800}
.svc__badge strong{font-family:var(--f-d);font-size:22px;color:var(--ink)}
.svc__cta{margin-top:40px;padding:30px;border-radius:26px;background:var(--ivory-2);border:1px solid var(--line)}
.svc__cta h3{font-size:22px}
.svc__side{position:sticky;top:110px;display:grid;gap:20px}
.side-card{padding:26px;border-radius:26px;background:#fff;border:1px solid var(--line)}
.side-card h3{font-size:18px}
.side-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.side-list a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;color:var(--ink);font-weight:700;font-size:14.5px;transition:.3s}
.side-list .ic{color:var(--g-700)}
.side-list a:hover{background:var(--ivory-2);transform:translateX(4px)}
.side-list .is-on a{background:var(--n-800);color:#fff}
.side-list .is-on .ic{color:var(--g-300)}
.side-card--navy{background:var(--navy);color:#C8D3E6;text-align:center;border:0}
.side-card--navy .b5-emblem{width:90px;margin:0 auto 12px}
.side-card--navy h3{color:#fff}

/* ---------- Blog ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post-card{border-radius:var(--r-l);overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .6s var(--ease),box-shadow .6s;transform-style:preserve-3d}
.post-card:hover{box-shadow:var(--sh-2)}
.post-card__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.post-card:hover .post-card__media img{transform:scale(1.06)}
.post-card__media .ph-art{position:absolute;inset:0}
.post-card__body{padding:22px}
.post-card__meta{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--g-700);font-weight:700;margin-bottom:8px}
.post-card__title{font-size:19px}
.post-card__title a{color:var(--ink)}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:14px;margin-bottom:24px}
.post-meta .ic{color:var(--g-700)}
.share{display:flex;align-items:center;gap:10px;margin:40px 0;padding:18px 0;border-block:1px solid var(--line);font-weight:800}
.share a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ivory-2);color:var(--n-800)}
.share a:hover{background:var(--g)}
.post-navigation .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.post-navigation a{display:block;padding:18px;border-radius:16px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700}
.post-navigation small{display:block;color:var(--g-700);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.post-navigation .nav-next{text-align:right}
.pager .nav-links{display:flex;justify-content:center;gap:8px;margin-top:50px}
.pager .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;padding:0 10px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:800}
.pager .page-numbers.current,.pager .page-numbers:hover{background:var(--n-800);color:#fff;border-color:var(--n-800)}
.empty.is-static h3{font-size:24px}
.comments{margin-top:40px}
.comment-form input:not([type=submit]):not([type=checkbox]),.comment-form textarea{width:100%;padding:14px;border-radius:12px;border:1.5px solid var(--line);font:inherit}
.comment-form .submit{background:var(--gold);border:0;padding:14px 26px;border-radius:999px;font-weight:800;color:var(--n-900)}

/* ---------- 404 ---------- */
.nf{position:relative;min-height:100vh;display:grid;place-items:center;background:var(--navy);color:#C8D3E6;text-align:center;padding:160px 0 100px;overflow:hidden}
.nf__bg canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.7}
.nf__in{position:relative}
.nf__emb{width:150px;margin:0 auto 20px;animation:float3d 7s ease-in-out infinite}
.nf__title{color:#fff;font-size:clamp(32px,5vw,60px)}
.nf .kicker{color:var(--g-300)}

/* ---------- CTA band ---------- */
.cta-band{position:relative;z-index:2;padding:0;margin:0;--cta-split:50%;background:linear-gradient(180deg,transparent var(--cta-split),var(--n-950) var(--cta-split))}
.cta-band::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--cta-split);background:var(--cta-top,transparent);z-index:-1}
.cta-band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--n-950)}
.cta-band__in{display:flex;align-items:center;gap:30px;padding:46px 50px;border-radius:34px;background:var(--navy);box-shadow:0 40px 80px -30px rgba(0,0,0,.55);position:relative;overflow:hidden;border:1px solid rgba(235,212,151,.25)}
.cta-band__in::before{content:"";position:absolute;inset:0;background:radial-gradient(600px circle at 0% 0%,rgba(200,162,74,.25),transparent 50%),radial-gradient(500px circle at 100% 100%,rgba(62,106,158,.4),transparent 50%)}
.cta-band__in>*{position:relative}
.cta-band__emblem{flex:none;width:110px}
.cta-band__emblem .b5-emblem{animation:float3d 8s ease-in-out infinite}
.cta-band__txt{flex:1}
.cta-band__txt h2{color:#fff;font-size:clamp(24px,2.6vw,34px);margin-bottom:6px}
.cta-band__txt p{color:#BFCBE0;margin:0}
.cta-band__act{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Footer ---------- */
.site-foot{position:relative;background:var(--n-950);color:#9FB0CB;padding-top:90px;overflow:hidden;--lg-t1:#fff;--lg-tag:var(--g-300)}
.page-template-page-contact .site-foot{padding-top:90px}
.site-foot__map{position:absolute;inset:0;opacity:.35;pointer-events:none}
.site-foot__map canvas{width:100%;height:100%}
.site-foot__grid{position:relative;display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1.2fr 1.4fr;gap:40px;padding-bottom:60px}
.f-logo .b5-logo,.f-logo .b5-logo-img{height:72px;width:auto;margin-bottom:20px}
.f-col p{font-size:14.5px}
.f-title{font-family:var(--f-d);color:#fff;font-size:17px;margin:6px 0 22px;position:relative;padding-bottom:12px}
.f-title::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;background:var(--gold)}
.f-links{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14.5px}
.f-links a{color:#9FB0CB;display:inline-flex;align-items:center;transition:.3s}
.f-links a::before{content:"";width:0;height:1px;background:var(--g);transition:width .3s,margin .3s}
.f-links a:hover{color:var(--g-300)}
.f-links a:hover::before{width:12px;margin-right:8px}
.f-contact{list-style:none;margin:0;padding:0;display:grid;gap:14px;font-size:14.5px}
.f-contact li{display:flex;gap:12px;align-items:flex-start}
.f-contact .ic{color:var(--g);margin-top:4px}
.f-contact a{color:#C8D3E6}
.soc{display:flex;gap:10px;list-style:none;margin:20px 0;padding:0}
.soc a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(235,212,151,.3);color:#E5ECF7;transition:.35s var(--ease)}
.soc a:hover{background:var(--g);color:var(--n-900);transform:translateY(-3px)}
.soc .ic{width:16px;height:16px}
.f-gst{display:flex;align-items:center;gap:8px;font-size:13px!important;color:#8FA0BC}
.f-gst strong{color:var(--g-300);letter-spacing:.06em}
.f-gst .ic{color:var(--g)}
.site-foot__bar{position:relative;border-top:1px solid rgba(235,212,151,.14);font-size:13.5px}
.site-foot__bar-in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;padding:22px 0}
.f-copy{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin:0}
.f-copy .sep{width:1px;height:16px;background:rgba(235,212,151,.25)}
.site-foot__bar p{margin:0}
.f-legal{display:flex;flex-wrap:wrap;gap:20px;list-style:none;margin:0;padding:0}
.f-legal a{color:#9FB0CB}
.f-legal a:hover{color:var(--g-300)}
.credit{display:inline-flex;align-items:center;gap:7px;color:#8FA0BC;font-size:13px;font-weight:600}
.credit:hover{color:var(--g-300)}
.credit img{height:20px;width:auto;display:inline-block}
.credit .heart{display:inline-block;animation:beat 1.4s infinite}
@keyframes beat{0%,100%{transform:scale(1)}20%{transform:scale(1.25)}40%{transform:scale(1)}}

/* ---------- Floating buttons ---------- */
.wa-float{position:fixed;left:22px;bottom:22px;z-index:90;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--wa);color:#fff;box-shadow:0 14px 34px -8px rgba(37,211,102,.7);transition:transform .4s var(--ease-b)}
.wa-float .ic{width:30px;height:30px;position:relative}
.wa-float:hover{color:#fff;transform:scale(1.1) rotate(-8deg)}
.wa-float__pulse{position:absolute;inset:0;border-radius:50%;background:var(--wa);animation:waPulse 2.2s infinite}
@keyframes waPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.8);opacity:0}}
.wa-float__tip{position:absolute;left:72px;white-space:nowrap;padding:8px 14px;border-radius:10px;background:#fff;color:var(--ink);font-weight:800;font-size:13px;box-shadow:var(--sh-1);opacity:0;transform:translateX(-10px);transition:.35s var(--ease);pointer-events:none}
.wa-float:hover .wa-float__tip{opacity:1;transform:none}
.to-top{position:fixed;right:22px;bottom:22px;z-index:90;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:0;background:var(--n-800);color:var(--g-300);box-shadow:var(--sh-2);opacity:0;transform:translateY(20px) scale(.8);transition:.45s var(--ease);pointer-events:none}
.to-top.is-on{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--g);color:var(--n-900)}
.to-top>.ic{width:22px;height:22px;position:relative;z-index:1}
.to-top__ring{position:absolute;inset:0;width:100%;height:100%;max-width:none;transform:rotate(-90deg);overflow:visible;pointer-events:none}
.to-top__ring circle{fill:none;stroke-width:2.5;transition:stroke .3s}
.to-top__ring .trk{stroke:rgba(235,212,151,.18)}
.to-top__ring .bar{stroke:var(--g);stroke-dasharray:138.23;stroke-dashoffset:var(--p,138.23);stroke-linecap:round}
.to-top:hover .to-top__ring .bar{stroke:var(--n-900)}
.to-top:hover .to-top__ring .trk{stroke:rgba(6,20,43,.2)}

/* ---------- Modal ---------- */
.modal{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:20px;visibility:hidden;overflow:hidden}
.modal.is-open{visibility:visible}
.modal__scrim{position:absolute;inset:0;background:rgba(4,13,28,.7);backdrop-filter:blur(6px);opacity:0;transition:opacity .4s}
.modal.is-open .modal__scrim{opacity:1}
.modal__box{position:relative;display:grid;grid-template-columns:340px minmax(0,1fr);grid-template-rows:minmax(0,1fr);width:min(1040px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 50px 100px -30px rgba(0,0,0,.6);transform:translateY(40px) scale(.96);opacity:0;transition:.55s var(--ease)}
.modal.is-open .modal__box{transform:none;opacity:1}
.modal__x{position:absolute;top:16px;right:16px;z-index:3;color:var(--n-800);background:var(--ivory-2);border-color:var(--line)}
.modal__side{padding:38px 32px;background:var(--navy);color:#C8D3E6;overflow-y:auto;position:relative;min-height:0;overscroll-behavior:contain}
.modal__side h2{color:#fff;font-size:26px}
.modal__side .kicker{color:var(--g-300)}
.modal__emb{width:90px;margin-bottom:20px}
.modal__for{padding:10px 14px;border-radius:12px;background:rgba(235,212,151,.12);border:1px solid rgba(235,212,151,.3);color:#fff;font-size:14px}
.modal__for strong{color:var(--g-300)}
.modal__info{list-style:none;margin:26px 0 0;padding:20px 0 0;border-top:1px solid rgba(235,212,151,.2);display:grid;gap:14px;font-size:14px}
.modal__info li{display:flex;gap:10px;align-items:flex-start}
.modal__info .ic{color:var(--g);margin-top:4px}
.modal__info a{color:#E5ECF7}
.modal__main{padding:38px 36px;overflow-y:auto;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
html.modal-open{overflow:hidden}

/* Toast */
.toast{position:fixed;left:50%;bottom:28px;z-index:500;transform:translate(-50%,30px);padding:14px 22px;border-radius:14px;background:var(--n-800);color:#fff;font-weight:700;box-shadow:var(--sh-2);opacity:0;pointer-events:none;transition:.45s var(--ease);border-left:4px solid var(--g);max-width:calc(100vw - 40px)}
.toast.is-on{opacity:1;transform:translate(-50%,0)}
.toast.is-err{border-left-color:var(--err)}

/* =========================================================
   PRELOADER — Marvel-style "assembling" studio intro (live, no video)
   ========================================================= */
.b5-pre{position:fixed;inset:0;z-index:9999;overflow:hidden;background:#000;color:#fff;animation:preFailsafe 0s 15s forwards}
@keyframes preFailsafe{to{visibility:hidden;opacity:0;pointer-events:none}}
/* Act 1 — flipping comic panels */
.mv-flip{position:absolute;inset:0;perspective:1600px;z-index:1}
.mv-panel{position:absolute;inset:-2%;display:grid;place-items:center;overflow:hidden;transform-origin:0% 50%;backface-visibility:hidden;opacity:0;will-change:transform}
.mv-panel--navy{background:radial-gradient(ellipse at 30% 30%,#1D4C88 0%,#0A1F3F 55%,#030B18 100%)}
.mv-panel--gold{background:radial-gradient(ellipse at 70% 30%,#FBE7AC 0%,#D9B65E 40%,#8E6A22 100%);color:#0A1F3F}
.mv-panel--steel{background:linear-gradient(135deg,#B9C6D8 0%,#6E83A3 45%,#22385C 100%);color:#06142B}
.mv-panel--ink{background:radial-gradient(ellipse at 50% 40%,#16263F 0%,#04070D 100%)}
.mv-panel__dots{position:absolute;inset:0;background-image:radial-gradient(currentColor 1.4px,transparent 1.8px);background-size:14px 14px;opacity:.13;mix-blend-mode:overlay;-webkit-mask:linear-gradient(120deg,#000 10%,transparent 70%);mask:linear-gradient(120deg,#000 10%,transparent 70%)}
.mv-panel__ic{position:absolute;right:-6vw;top:50%;width:62vh;height:62vh;transform:translateY(-50%) rotate(-12deg);fill:currentColor;--duo:currentColor;--duo-o:.25;opacity:.22}
.mv-panel--navy .mv-panel__ic,.mv-panel--ink .mv-panel__ic{color:#C8A24A;opacity:.35}
.mv-panel__word{position:relative;font-family:var(--f-d);font-weight:900;font-size:clamp(46px,13vw,200px);line-height:.9;letter-spacing:.02em;text-align:center;padding:0 4vw;transform:skewX(-6deg)}
.mv-panel--navy .mv-panel__word,.mv-panel--ink .mv-panel__word{background:linear-gradient(180deg,#fff 30%,#E3C77A);-webkit-background-clip:text;background-clip:text;color:transparent}
.mv-panel__num{position:absolute;left:4vw;bottom:14vh;font-family:var(--f-d);font-size:clamp(14px,1.6vw,22px);letter-spacing:.3em;opacity:.6}
.mv-panel__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),transparent 60%);opacity:var(--sh,0)}
/* World */
.mv-world{position:absolute;inset:0;z-index:2;opacity:0}
.mv-dust{position:absolute;inset:0;width:100%;height:100%}
.mv-gl{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;display:block}
.mv-glow{position:absolute;left:50%;top:44%;width:120vmax;height:120vmax;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(27,68,120,.6) 0%,rgba(10,31,63,.35) 22%,transparent 55%);opacity:0}
.mv-rays{position:absolute;left:50%;top:40%;width:170vmax;height:170vmax;transform:translate(-50%,-50%) scale(.4);opacity:0;mix-blend-mode:screen;pointer-events:none}
.mv-rays span{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(243,213,138,.18) 0deg 1.4deg,transparent 1.4deg 9deg);-webkit-mask:radial-gradient(circle,#000 0%,rgba(0,0,0,.6) 18%,transparent 52%);mask:radial-gradient(circle,#000 0%,rgba(0,0,0,.6) 18%,transparent 52%);animation:spin 70s linear infinite}
.mv-rays span+span{background:repeating-conic-gradient(from 4deg,rgba(126,178,240,.1) 0deg 2.2deg,transparent 2.2deg 13deg);animation-duration:110s;animation-direction:reverse}
.mv-cam{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(16px,3vh,32px);perspective:1200px}
.mv-emb{position:relative;width:min(440px,74vw);aspect-ratio:800/603}
.mv-shards{position:absolute;left:-60%;top:-60%;width:220%;height:220%;max-width:none;pointer-events:none}
.mv-emb__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;filter:drop-shadow(0 30px 50px rgba(0,0,0,.75)) drop-shadow(0 0 40px rgba(200,162,74,.25))}
.mv-emb__shine{position:absolute;inset:0;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.95) 50%,transparent 60%);background-size:300% 100%;background-position:130% 0;mix-blend-mode:overlay;pointer-events:none}
.mv-trail{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;mix-blend-mode:screen}
.mv-trail__line{stroke:#F6DE98;stroke-width:6;stroke-linecap:round;stroke-dasharray:26 100;stroke-dashoffset:26;opacity:0;filter:drop-shadow(0 0 10px #E3C77A)}
.mv-flare{position:absolute;left:97.5%;top:22%;width:0;height:0;pointer-events:none;mix-blend-mode:screen}
.mv-flare b{position:absolute;left:50%;top:50%;width:260vw;height:3px;transform:translate(-50%,-50%) scaleX(0);background:linear-gradient(90deg,transparent,rgba(126,178,240,.25) 30%,rgba(190,220,255,.9) 48%,#fff 50%,rgba(190,220,255,.9) 52%,rgba(126,178,240,.25) 70%,transparent);opacity:0}
.mv-flare i{position:absolute;left:50%;top:50%;width:220px;height:220px;transform:translate(-50%,-50%) scale(0);border-radius:50%;background:radial-gradient(circle,#fff 0%,rgba(255,240,200,.9) 8%,rgba(243,213,138,.35) 25%,transparent 62%);opacity:0}
.mv-shock{position:absolute;left:50%;top:50%;width:40%;aspect-ratio:1;border-radius:50%;border:3px solid rgba(246,222,152,.9);box-shadow:0 0 40px rgba(243,213,138,.8),inset 0 0 30px rgba(243,213,138,.5);transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none}
.mv-shock.s2{border-color:rgba(126,178,240,.7);border-width:2px}
.mv-title{text-align:center;perspective:900px}
.mv-name{margin:0;font-family:var(--f-d);font-weight:800;font-size:clamp(22px,4.4vw,52px);line-height:1.05;letter-spacing:.07em;white-space:nowrap;transform-style:preserve-3d}
.mv-name span{display:inline-block;opacity:0;background:linear-gradient(180deg,#FFFFFF 0%,#F7EBC8 45%,#D9B65E 100%);-webkit-background-clip:text;background-clip:text;color:transparent;will-change:transform}
.mv-exim{display:flex;align-items:center;justify-content:center;gap:16px;margin:10px 0 0;font-family:var(--f-d);font-weight:700;font-size:clamp(13px,1.9vw,21px);letter-spacing:.7em;padding-left:.7em;color:var(--g-300);opacity:0}
.mv-exim i{display:block;height:1px;width:clamp(40px,11vw,130px);background:linear-gradient(90deg,transparent,var(--g));transform:scaleX(0);transform-origin:100% 50%}
.mv-exim i:last-child{transform-origin:0 50%;background:linear-gradient(270deg,transparent,var(--g))}
.mv-tag{margin:14px 0 0;font-size:clamp(9.5px,1.2vw,12.5px);font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:#93A3BD;opacity:0;padding:0 16px}
/* film treatment */
.mv-white{position:absolute;inset:0;background:#fff;opacity:0;z-index:6;pointer-events:none}
.mv-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,transparent 35%,rgba(0,0,0,.75) 100%);pointer-events:none;z-index:3}
.mv-grain{position:absolute;inset:-50%;opacity:.07;pointer-events:none;z-index:3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:mvGrain .5s steps(4) infinite}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes mvGrain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(1%,3%)}}
.mv-bar{position:absolute;left:0;right:0;height:11vh;background:#000;z-index:7;transition:transform 1.1s cubic-bezier(.7,0,.2,1)}
.mv-bar.t{top:0}.mv-bar.b{bottom:0}
.mv-load{position:absolute;left:50%;bottom:calc(11vh - 1px);width:min(220px,40vw);height:1px;transform:translateX(-50%);background:rgba(235,212,151,.12);z-index:8;overflow:hidden}
.mv-load b{position:absolute;inset:0;background:var(--gold);transform-origin:0;transform:scaleX(var(--p,0));transition:transform .25s linear}
.mv-skip{position:absolute;right:clamp(16px,3vw,40px);bottom:calc(11vh + 18px);z-index:9;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid rgba(235,212,151,.35);background:rgba(0,0,0,.4);color:#C9D4E6;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;backdrop-filter:blur(6px)}
.mv-skip:hover{border-color:var(--g);color:var(--g-300)}
/* exit */
.b5-pre.is-done{background:transparent;pointer-events:none}
.b5-pre.is-done .mv-bar.t{transform:translateY(-100%)}
.b5-pre.is-done .mv-bar.b{transform:translateY(100%)}
.b5-pre.is-done .mv-cam{transition:transform 1s cubic-bezier(.7,0,.3,1),opacity .5s ease,filter .6s ease;transform:scale(1.7);opacity:0;filter:blur(8px) brightness(1.6)}
.b5-pre.is-done .mv-flip,.b5-pre.is-done .mv-dust,.b5-pre.is-done .mv-rays,.b5-pre.is-done .mv-glow,.b5-pre.is-done .mv-vignette,.b5-pre.is-done .mv-grain,.b5-pre.is-done .mv-load,.b5-pre.is-done .mv-skip{transition:opacity .7s ease;opacity:0!important}
.b5-pre.is-gone{display:none}
@media (max-width:760px){.mv-bar{height:8vh}.mv-load{bottom:calc(8vh - 1px)}.mv-skip{bottom:calc(8vh + 14px)}.mv-name{font-size:clamp(17px,5.6vw,34px);letter-spacing:.05em}.mv-panel__word{font-size:clamp(34px,11vw,64px);white-space:normal;word-spacing:100vw;line-height:1.02;padding:0 6vw}.mv-exim{letter-spacing:.5em;padding-left:.5em}.mv-tag{letter-spacing:.16em;font-size:9.5px}.mv-panel__ic{width:46vh;height:46vh;right:-20vw}}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width:1360px){
	.b5-nav>li>a{padding:12px 9px;font-size:14px}
	.b5-nav>li>a::after{left:9px;right:9px}
	.brand .b5-logo{height:64px}
	.navbar__act .icon-btn.hide-sm{display:none}
}
@media (max-width:1180px){
	.mainnav{display:none}
	.burger{display:block;margin-left:4px}
	.navbar__act{margin-left:auto}
}
@media (max-width:1200px){
	.site-foot__grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr;}
	.f-col--contact{grid-column:1/-1}
	.values{grid-template-columns:repeat(3,1fr)}
	.p-slider{grid-auto-columns:calc((100% - 2*24px)/3)}
}
@media (max-width:1080px){
	:root{--head-h:104px}
	.hero__in{grid-template-columns:1fr;text-align:center}
	.hero__copy{order:2}
	.hero__text{margin-inline:auto}
	.hero__btns,.hero__trust{justify-content:center}
	.hero__visual{order:1;justify-self:center;max-width:460px;margin-top:-10px}
	.hero{padding-top:calc(var(--head-h) + 20px)}
	.pill{margin-inline:auto}
	.intro__grid,.about-story__grid,.why__grid,.faq-enq__grid,.commit__grid,.contact-grid,.ps__grid,.ps__detail,.svc__grid{grid-template-columns:1fr}
	.why__head,.about-story__visual,.ps__gallery,.contact-side,.svc__side{position:static}
	.s-grid,.p-grid,.post-grid{grid-template-columns:repeat(2,1fr)}
	.p-grid--4{grid-template-columns:repeat(2,1fr)}
	.cat-grid{grid-template-columns:repeat(2,1fr)}
	.cat-tile.is-wide{grid-row:auto;min-height:320px}
	.cat-tile.span-2,.cat-tile.span-3,.cat-tile.span-4{grid-column:auto}
	.process{grid-template-columns:repeat(3,1fr);row-gap:40px}
	.process__line{display:none}
	.modes,.c-cards{grid-template-columns:repeat(2,1fr)}
	.cta-band__in{flex-direction:column;text-align:center}
	.cta-band__act{justify-content:center}
	.modal__box{grid-template-columns:1fr}
	.modal__side{display:none}
	.modal__main::before{content:"Request a Quote";display:block;margin:-6px 56px 22px 0;font-family:var(--f-d);font-weight:700;font-size:20px;line-height:1.3;color:var(--ink)}
	.modal__box{position:relative}
	.vm-big{grid-template-columns:1fr}
	.orb{max-width:420px}
}
@media (max-width:760px){
	body{font-size:16px}
	.topbar__note{display:none}
	.topbar__in{justify-content:center}
	.hide-sm{display:none!important}
	.brand .b5-logo{height:48px}
	.site-head.is-stuck .brand .b5-logo{height:44px}
	.navbar__in{min-height:66px;gap:10px}
	.s-grid,.p-grid,.p-grid--4,.post-grid,.cat-grid,.why__cards,.why__cards--3,.values,.modes,.c-cards,.vm{grid-template-columns:1fr}
	.cat-tile.is-wide{grid-column:auto}
	.stats{grid-template-columns:1fr 1fr;row-gap:24px}
	.stat:nth-child(3){border-left:0}
	.process{grid-template-columns:1fr 1fr}
	.f-grid{grid-template-columns:1fr}
	.captcha{grid-template-columns:1fr}
	.enq-card{padding:26px 20px}
	.modal{padding:0;align-items:end}
	.modal__box{border-radius:26px 26px 0 0;max-height:92vh;max-height:92dvh}
	.modal__main{padding:28px 20px calc(24px + env(safe-area-inset-bottom))}
	.p-slider{grid-auto-columns:82%}
	.row-head{flex-direction:column;align-items:flex-start}
	.slider-nav{display:none}
	.site-foot__grid{grid-template-columns:1fr 1fr;gap:30px}
	.f-col--brand,.f-col--contact{grid-column:1/-1}
	.site-foot__bar-in{flex-direction:column;text-align:center}
	.f-copy{justify-content:center}
	.cta-band__in{padding:34px 22px}
	.site-foot{padding-top:70px}
	.source-note{flex-direction:column;text-align:center}
	.ps__facts{grid-template-columns:1fr}
	.filter{top:72px;padding:12px}
	.filter__bar{flex-direction:column;align-items:stretch}
	.search-box{max-width:none}
	.c-cards{margin-top:-110px}
	.float-card{transform:scale(.82)}
	.fc2{display:none}
	.fc1{left:0}.fc2{left:-2%}.fc3{right:0}
	.wa-float{width:54px;height:54px;left:16px;bottom:16px}
	.to-top{right:16px;bottom:16px;width:48px;height:48px}
	.hero__scroll{display:none}
	.company-card dl>div{grid-template-columns:1fr;gap:2px}
}
@media (max-width:420px){
	.hide-xs{display:none!important}
	.process{grid-template-columns:1fr}
	.hero__btns .btn{width:100%}
}
/* stock photography (layered over icon art; icon art shows if the photo can't load) */
.stock-img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover;z-index:1}
.ps__main .stock-img,.p-card__media .stock-img{z-index:1}
.p-card__media .badge{z-index:2}
.cat-tile__media .stock-img{filter:saturate(1.05)}
.d-pcard__img img{object-fit:cover}

/* ---------- Hidden scrollbars: everything still scrolls, the bars just aren't drawn ---------- */
html,body,*{scrollbar-width:none;-ms-overflow-style:none}
::-webkit-scrollbar{display:none;width:0;height:0;background:transparent}

/* ---------- Compact enquiry popup (fits without scrolling) ---------- */
.f-field label{right:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.f-field select{text-overflow:ellipsis;padding-right:34px}
.modal__box{width:min(980px,100%)}
@media (min-width:1081px){
	.modal__box{grid-template-columns:290px minmax(0,1fr)}
	.modal__side{padding:30px 26px;display:flex;flex-direction:column}
	.modal__emb{width:62px;margin-bottom:14px}
	.modal__side h2{font-size:22px;margin-bottom:8px}
	.modal__side p{font-size:14px;line-height:1.6;margin-bottom:10px}
	.modal__info{margin-top:auto;padding-top:16px;gap:10px;font-size:13px}
}
.modal__main{padding:28px 30px 24px}
.enq-form.is-compact .f-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.enq-form.is-compact .f-full{grid-column:auto}
.enq-form.is-compact .f-field:has(textarea){grid-column:1/-1}
.enq-form.is-compact .f-field input,.enq-form.is-compact .f-field select,.enq-form.is-compact .f-field textarea{padding:19px 13px 6px;border-radius:12px;font-size:14px}
.enq-form.is-compact .f-field label{left:14px;top:13px;font-size:13.5px}
.enq-form.is-compact .f-field input:focus+label,.enq-form.is-compact .f-field input:not(:placeholder-shown)+label,.enq-form.is-compact .f-field textarea:focus+label,.enq-form.is-compact .f-field textarea:not(:placeholder-shown)+label,.enq-form.is-compact .f-select label{top:5px;font-size:10px}
.enq-form.is-compact .f-field textarea{min-height:70px;height:70px;resize:none}
.enq-form.is-compact .captcha{grid-template-columns:auto minmax(0,1fr);gap:10px;margin:10px 0}
.enq-form.is-compact .captcha__img img{width:132px;height:44px;border-radius:10px}
.enq-form.is-compact .captcha__re{width:34px;height:34px}
.enq-form.is-compact .f-check{font-size:12.5px;margin:2px 0 12px;line-height:1.45}
.enq-form.is-compact .f-actions{gap:10px}
.enq-form.is-compact .f-actions .btn{flex:1 1 150px;padding:13px 18px;font-size:14.5px}
@media (max-width:900px){
	.enq-form.is-compact .f-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.enq-form.is-compact .f-full{grid-column:1/-1}
}
@media (max-width:760px){
	.modal__main{padding:22px 16px calc(18px + env(safe-area-inset-bottom))}
	.modal__main::before{margin:-2px 52px 14px 0;font-size:18px}
	.modal__x{top:12px;right:12px}
	.enq-form.is-compact .f-grid{gap:8px}
	.enq-form.is-compact .f-field textarea{min-height:64px;height:64px}
	.enq-form.is-compact .captcha{grid-template-columns:auto minmax(0,1fr)}
	.enq-form.is-compact .captcha__img img{width:112px;height:42px}
	.enq-form.is-compact .f-actions .btn{flex:1 1 130px;padding:12px 10px;font-size:14px}
	.enq-form.is-compact .f-actions .btn .ic{width:16px;height:16px}
}
@media (min-width:1081px){.modal__main::before{content:"Your enquiry details";display:block;margin:2px 56px 16px 0;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--g-700)}}
@media (max-width:400px){.enq-form.is-compact .f-actions .btn{padding:12px 8px;font-size:13.5px;letter-spacing:0}.enq-form.is-compact .f-actions .btn span{gap:6px}}
.wa-pre{font-style:normal}
@media (max-width:400px){.enq-form.is-compact .wa-pre{display:none}}
/* Product specs on the card (products live on their category page) */
.p-card{scroll-margin-top:130px}
.p-card__specs{margin:0 0 14px;display:grid;gap:6px;font-size:13px}
.p-card__specs div{display:grid;grid-template-columns:minmax(80px,38%) 1fr;gap:10px;padding:6px 10px;border-radius:8px;background:var(--ivory-2)}
.p-card__specs dt{color:var(--muted);font-weight:700}
.p-card__specs dd{margin:0;color:var(--ink);font-weight:600}
.p-card:target{box-shadow:0 0 0 3px var(--g),var(--sh-2)}
.p-card__media{cursor:default}

/* ---------- Drawer & desktop sub-menus ---------- */
.drawer__nav .sub-menu{list-style:none;margin:-6px 0 10px;padding:0 0 0 16px;border-left:2px solid rgba(235,212,151,.3)}
.drawer__nav .sub-menu li{border:0}
.drawer__nav .sub-menu a{padding:8px 4px;font-family:var(--f-b);font-size:16px;color:#C8D3E6}
.drawer__nav .caret{display:none}
.b5-nav>li.menu-item-has-children>a{gap:5px}
.b5-nav .sub-menu{top:calc(100% - 14px);z-index:30}

/* ---------- Highlight numbers: any count ---------- */
@media (min-width:761px){.stats{grid-template-columns:repeat(var(--n,4),minmax(0,1fr))}}
@media (max-width:760px){
	.stats[style*="--n:3"]{grid-template-columns:repeat(3,minmax(0,1fr));padding:26px 6px;row-gap:0}
	.stats[style*="--n:3"] .stat{padding:6px 6px;font-size:11.5px;letter-spacing:.02em}
	.stats[style*="--n:3"] .stat strong{font-size:clamp(26px,8vw,36px)}
	.stats[style*="--n:3"] .stat+.stat{border-left:1px solid rgba(235,212,151,.18);border-top:0}
}

/* ---------- Certificates ---------- */
.cert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.cert{display:grid;grid-template-columns:minmax(0,1fr);border-radius:var(--r-l);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1,0 20px 40px -24px rgba(6,20,43,.25));overflow:hidden}
.cert__doc{position:relative;display:block;padding:34px 34px 0;border:0;background:radial-gradient(circle at 30% 0%,#1D4C88,#0A1F3F 60%,#06142B);cursor:zoom-in;overflow:hidden;height:380px}
.cert__doc::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,transparent,rgba(6,20,43,.55))}
.cert__paper{display:block;margin:0 auto;width:min(360px,86%);border-radius:6px 6px 0 0;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);transform:perspective(900px) rotateX(8deg) translateY(10px);transform-origin:50% 0;transition:transform .7s var(--ease)}
.cert__paper img{display:block;width:100%;height:auto}
.cert__doc:hover .cert__paper{transform:perspective(900px) rotateX(0) translateY(0) scale(1.02)}
.cert__zoom{position:absolute;z-index:2;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:30px;background:rgba(255,255,255,.92);color:var(--ink);font-size:13px;font-weight:800}
.cert__zoom .ic{width:16px;height:16px}
.cert__body{padding:26px 30px 30px}
.cert__badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:30px;background:rgba(200,162,74,.14);color:var(--g-700);font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.cert__badge .ic{width:15px;height:15px}
.cert__title{font-size:22px;margin:14px 0 14px}
.cert__meta{margin:0;display:grid;gap:8px}
.cert__meta div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:10px 14px;border-radius:10px;background:var(--ivory-2);font-size:14px}
.cert__meta dt{color:var(--muted);font-weight:700}
.cert__meta dd{margin:0;color:var(--ink);font-weight:700;word-break:break-word}
.cert-grid--compact .cert__doc{height:300px}
.cert-note{margin-top:40px;display:flex;align-items:center;gap:22px;padding:26px 30px;border-radius:var(--r-l);background:var(--ivory-2);border:1px solid var(--line)}
.cert-note__ic{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--navy);color:var(--g-300)}
.cert-note__ic .ic{width:28px;height:28px}
.cert-note h3{font-size:19px;margin:0 0 4px}
.cert-note p{margin:0;font-size:14.5px;color:var(--muted)}
.cert-note .btn{flex:none;margin-left:auto}
.cert-extra{margin-top:40px}
.cert-lb{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:24px;background:rgba(4,13,28,.88);backdrop-filter:blur(6px)}
.cert-lb[hidden]{display:none}
.cert-lb__fig{margin:0;max-width:min(900px,100%);max-height:100%;overflow:auto;border-radius:10px;background:#fff;box-shadow:0 40px 90px -20px rgba(0,0,0,.7)}
.cert-lb__fig img{display:block;width:100%;height:auto}
.cert-lb__fig figcaption{padding:12px 16px;font-weight:700;color:var(--ink);font-size:14px}
.cert-lb__x{position:fixed;top:16px;right:16px;z-index:2;background:#fff}
.trust-certs{margin-top:60px}
@media (max-width:900px){
	.cert-grid{grid-template-columns:1fr}
	.cert-note{flex-direction:column;align-items:flex-start}
	.cert-note .btn{margin-left:0}
}
@media (max-width:520px){
	.cert__doc{height:300px;padding:24px 20px 0}
	.cert__body{padding:20px}
	.cert__meta div{grid-template-columns:1fr;gap:2px}
}
.center-cta{text-align:center;margin:40px 0 0}

/* v1.3.0 — never show an empty icon box */
.cat-tile__ic:empty,.mega__ic:empty,[class$="__ic"]:empty{display:none}
.c-card--phones strong a{display:block;color:inherit;line-height:1.5}
.c-card--phones strong a:hover{color:var(--gold,#C9A44C)}
.f-phones{display:flex;flex-direction:column;gap:2px}
.c-card--mail strong{font-size:clamp(13px,1.05vw,15px);white-space:nowrap}
.img-credit{position:absolute;right:8px;bottom:8px;z-index:2;max-width:calc(100% - 16px);padding:3px 8px;border-radius:6px;background:rgba(6,20,43,.62);color:#fff;font-size:10.5px;line-height:1.3;text-decoration:none;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.img-credit:hover{opacity:1;color:#fff}

/* v1.5.1 — phone menu sub-menus (accordion) */
.drawer__nav li.has-sub{position:relative}
.drawer__nav li.has-sub>a{padding-right:56px}
.drawer__tog{position:absolute;top:8px;right:0;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(235,212,151,.25);border-radius:12px;background:rgba(255,255,255,.04);color:var(--g-300);cursor:pointer;transition:background .3s,transform .3s}
.drawer__tog .ic{width:18px;height:18px;transition:transform .35s var(--ease)}
.drawer__nav li.is-sub-open>.drawer__tog{background:rgba(235,212,151,.14)}
.drawer__nav li.is-sub-open>.drawer__tog .ic{transform:rotate(180deg)}
.drawer__nav li.has-sub>.sub-menu{display:block;overflow:hidden;max-height:0;opacity:0;margin:0;transition:max-height .45s var(--ease),opacity .3s,margin .3s}
.drawer__nav li.is-sub-open>.sub-menu{max-height:900px;opacity:1;margin:-4px 0 12px}
.drawer__nav .sub-menu li{opacity:1;transform:none}

/* v1.5.2 — all three phone numbers in the top bar on every screen */
.topbar__ph+.topbar__ph{position:relative}
.topbar__ph+.topbar__ph::before{content:"";position:absolute;left:-10px;top:50%;width:1px;height:12px;margin-top:-6px;background:rgba(235,212,151,.3)}
@media (max-width:1180px){.topbar__note{display:none}.topbar__in{justify-content:center}}
@media (max-width:760px){
	.topbar__links{gap:0 16px;flex-wrap:nowrap;justify-content:center}
	.topbar__links a{font-size:12px;gap:5px;white-space:nowrap}
	.topbar__links .topbar__ph:first-child .ic{width:13px;height:13px}
	.topbar__ph+.topbar__ph::before{left:-8px}
	.topbar__soc{display:none}
}
@media (max-width:370px){.topbar__links{gap:0 12px}.topbar__links a{font-size:11px}.topbar__ph+.topbar__ph::before{left:-6px}.topbar__links .topbar__ph:first-child .ic{display:none}}

/* v1.5.2 — clean, centred close button on the enquiry popup */
.modal__x{width:40px;height:40px;padding:0;display:grid;place-items:center;border-radius:50%;border:0;background:var(--navy);color:#fff;box-shadow:0 8px 20px -8px rgba(4,13,28,.55);cursor:pointer;line-height:0}
.modal__x .ic{width:18px;height:18px;margin:0;display:block;color:#fff;--duo:#fff;--duo-o:0}
.modal__x:hover{background:var(--g-700,#9c7a2c);transform:rotate(90deg)}
@media (max-width:760px){.modal__x{top:14px;right:14px;width:38px;height:38px}.modal__main::before{margin-right:50px!important}}

/* v1.5.4 — menu (burger) icon always visible, including phones in dark mode */
:root{color-scheme:only light}
.burger{color:#fff;-webkit-appearance:none;appearance:none;padding:0;cursor:pointer;background:rgba(255,255,255,.06)}
.burger span{background:#fff;background:currentColor}
.site-head.is-stuck .burger{color:var(--n-800,#0E2A52);background:rgba(14,42,82,.04)}
