/* =========================================================
   VGTME — VG Transport Mieux-Être Inc.
   Master theme stylesheet (converted from the static HTML).
   Brand: gold + black · Fonts: Space Grotesk / Nunito Sans
   ========================================================= */
@font-face{font-family:'VGBrand';src:url('../fonts/DejaVuSans-ExtraLight-webfont.woff') format('woff');font-weight:200 400;font-style:normal;font-display:swap}

:root{
  --gold:#C8962E; --gold-light:#E6BE5C; --gold-deep:#A97A1E; --gold-soft:#F6EBCF;
  --black:#0B0B0C; --ink:#15151A; --ink-2:#1E1E24;
  --dark-blue:#1A2A3A;
  --grey:#6C6C75; --grey-light:#A6A6B0; --line:#ECECEF;
  --bg:#FFFFFF; --bg-soft:#F4F2EC; --bg-grey:#F3F3F3;
  --radius:14px; --radius-lg:22px;
  --shadow:0 26px 60px -26px rgba(11,11,12,.30);
  --shadow-gold:0 16px 40px -16px rgba(200,150,46,.6);
  --container:1200px; --t:.35s cubic-bezier(.4,0,.2,1);
  --ff-head:'Space Grotesk',sans-serif; --ff-body:'Nunito Sans',sans-serif; --ff-script:'Dancing Script',cursive;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}

/* Brand scrollbar — golden-yellow thumb on a black track */
html{scrollbar-width:thin;scrollbar-color:var(--gold) var(--black)}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--black)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--gold),var(--gold-deep));border:2px solid var(--black);border-radius:50px}
::-webkit-scrollbar-thumb:hover{background:var(--gold-light)}
::-webkit-scrollbar-corner{background:var(--black)}
body{font-family:var(--ff-body);color:var(--ink);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:var(--ff-head);line-height:1.12;font-weight:700}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
ul{list-style:none}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}
.hwrap{width:100%;padding:0 48px}
.gold{color:var(--gold)}
.script{font-family:var(--ff-script);font-weight:700;color:var(--gold);font-size:1.7em;line-height:1}

.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--ff-head);font-weight:600;font-size:.9rem;
  padding:15px 32px;border-radius:50px;cursor:pointer;border:none;transition:var(--t);white-space:nowrap;letter-spacing:.02em}
.btn svg{width:17px;height:17px}
.btn-gold{background:var(--gold);color:#fff;box-shadow:var(--shadow-gold)}
.btn-gold:hover{background:var(--gold-deep);transform:translateY(-3px)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--gold);transform:translateY(-3px)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:var(--gold);color:#fff;transform:translateY(-3px)}
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5)}
.btn-outline:hover{background:var(--gold);border-color:var(--gold);color:#fff}

.eyebrow{display:inline-block;font-family:var(--ff-head);font-weight:700;font-size:.82rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin-bottom:12px;position:relative;padding-left:34px}
.eyebrow::before{content:"";position:absolute;left:0;top:50%;width:26px;height:2px;background:var(--gold)}
.sec-title{font-size:clamp(1.9rem,3.6vw,2.8rem);color:var(--ink);margin-bottom:14px;letter-spacing:-.01em;font-weight:700}
.sec-sub{color:var(--grey);max-width:640px;font-size:1.02rem}
.center{text-align:center}.center .eyebrow{padding-left:0}.center .eyebrow::before{display:none}.center .sec-sub{margin:0 auto}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
.pad{padding:110px 0}

/* =========================================================
   1. HEADER (full-width overlay + sticky white)
   ========================================================= */
.hero-shell{position:relative}
.site-header{position:absolute;top:0;left:0;right:0;z-index:60;color:#fff;transition:var(--t)}
.header-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.brand{display:flex;align-items:center;gap:12px}
.brand .mark{width:auto;height:72px;flex:none;background-color: transparent !important;}
.brand .word{font-family:'VGBrand',var(--ff-head);font-weight:400;font-size:1.6rem;letter-spacing:.05em;line-height:1;color:#fff}
.brand .word b{color:var(--gold)}
.brand .tag{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gold-light)}
.infostack{display:flex;align-items:center;justify-content:flex-end}
.info-rotator{position:relative;min-width:360px;height:50px}
.info-widget{position:absolute;right:0;top:50%;transform:translateY(calc(-50% + 8px));display:flex;align-items:center;gap:13px;opacity:0;transition:opacity .6s ease,transform .6s ease;pointer-events:none;white-space:nowrap}
.info-widget.active{opacity:1;transform:translateY(-50%);pointer-events:auto}
.info-widget .ii{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;flex:none}
.info-widget .ii svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.9}
.info-widget .lbl{font-family:var(--ff-head);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);font-weight:600;margin-right:.5rem}
.info-widget .val{font-size:1rem;font-weight:700;color:#fff}
.hdr-socials{display:flex;gap:9px}
.hdr-socials a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;transition:var(--t)}
.hdr-socials a:hover{background:var(--gold)}
.hdr-socials svg{width:15px;height:15px;fill:#fff}
.header-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px}
.nav-actions{display:flex;align-items:center;gap:16px}
.icon-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;transition:var(--t)}
.icon-btn:hover{background:var(--gold);border-color:var(--gold)}
.icon-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.btn-dma{position:relative;display:inline-flex;align-items:center;gap:9px;font-family:var(--ff-head);font-weight:700;font-size:.82rem;padding:8px 22px;border-radius:50px;background:transparent;border:1.5px solid var(--gold);color:#fff;transition:var(--t);cursor:pointer;white-space:nowrap}
.btn-dma:hover{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-2px)}
.site-header.stuck .btn-dma{color:var(--ink)}
.site-header.stuck .btn-dma:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
.btn-dma .new-badge{position:absolute;top:-9px;right:-6px;background:#1FA463;color:#fff;font-family:var(--ff-head);font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:50px;line-height:1;animation:badge-pulse 1.8s ease-in-out infinite}
.btn-dma .coming-soon{position:absolute;top:-9px;right:-6px;background:var(--gold);color:#fff;font-family:var(--ff-head);font-size:.56rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:50px;line-height:1;animation:badge-pulse 1.8s ease-in-out infinite}
.btn-login{display:inline-flex;align-items:center;font-family:var(--ff-head);font-weight:700;font-size:.82rem;padding:8px 22px;border-radius:50px;background:transparent;border:1.5px solid rgba(255,255,255,.55);color:#fff;transition:var(--t);white-space:nowrap}
.btn-login:hover{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-2px)}
.site-header.stuck .btn-login{color:var(--ink);border-color:var(--line)}
.site-header.stuck .btn-login:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
@keyframes badge-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(31,164,99,.55)}50%{transform:scale(1.1);box-shadow:0 0 0 6px rgba(31,164,99,0)}}
.lang-toggle{display:flex;border:1px solid rgba(255,255,255,.4);border-radius:50px;overflow:hidden;}
.lang-toggle button{background:transparent;color:#fff;border:none;cursor:pointer;font-family:var(--ff-head);font-weight:700;font-size:.74rem;padding:8px 15px;transition:var(--t)}
.lang-toggle button.active{background:var(--gold);color:#fff}
/* Polylang language switcher (rendered as a <ul> of <li><a>) */
.lang-toggle ul{display:flex;list-style:none;margin:0;padding:0}
.lang-toggle li{list-style:none}   /* not `ul li` — holds even if the wrapper is ever dropped again */
.lang-toggle li a{display:block;color:#fff;text-decoration:none;font-family:var(--ff-head);font-weight:700;font-size:.74rem;letter-spacing:.02em;text-transform:uppercase;padding:8px 15px;transition:var(--t)}
.lang-toggle li.current-lang a{background:var(--gold);color:#fff}
.site-header.stuck .lang-toggle li a{color:var(--ink)}
.site-header.stuck .lang-toggle li.current-lang a{color:#fff}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.burger span{width:27px;height:2.6px;background:#fff;border-radius:2px;transition:var(--t)}
.site-header.stuck{position:fixed;background:#fff;box-shadow:0 10px 36px -16px rgba(0,0,0,.22);color:var(--ink);animation:dropin .45s ease}
@keyframes dropin{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.site-header.stuck .header-top{display:none}
.site-header.stuck .header-nav{min-height:84px}
.site-header.stuck .brand .word{color:var(--ink)}
.site-header.stuck .icon-btn{border-color:var(--line);color:var(--ink)}
.site-header.stuck .icon-btn:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
.site-header.stuck .lang-toggle{border-color:var(--line)}
.site-header.stuck .lang-toggle button{color:var(--ink)}
.site-header.stuck .lang-toggle button.active{color:#fff}
.site-header.stuck .burger span{background:var(--ink)}
.nav-brand{display:none}
.site-header.stuck .nav-brand{display:flex}
.nav-brand .mark-b{display:none}
.site-header.stuck .nav-brand .mark-w{display:none}
.site-header.stuck .nav-brand .mark-b{display:block}

/* Mega-menu full-width panel alignment.
   Anchor the panel to .header-nav (the menu row) so its left edge lines up with
   the start of the navigation ("Home") and it drops just below the header.
   .header-nav spans the content width and the full header height in BOTH header
   states (transparent overlay at the top, and the fixed white "stuck" bar), so
   the panel no longer resolves against an inconsistent ancestor and shifts. */
/* Anchor the full-width panel to the MENU LIST (.bbtm-nav), so its left edge
   starts at the first menu item ("Home") in BOTH header states — the
   transparent top bar (menu at left) AND the stuck white bar (logo present,
   menu centered). The list is stretched to the full bar height so the panel
   still drops just below the header. transform is forced vertical-only with
   !important so the module's translateX(-50%) centering can't shift it. */
.site-header .header-nav .bbtm-nav{position:relative;align-self:stretch}
.site-header .bbtm-nav>li.bbtm-parent--full{position:static}
.site-header .bbtm-panel--full{left:0;right:auto;width:min(var(--bbtm-panel-max,1160px),calc(100vw - 96px));max-width:none;transform:translateY(8px)!important}
.site-header .bbtm-parent--full.bbtm-open>.bbtm-panel--full,
.site-header .bbtm-parent--full:hover>.bbtm-panel--full{transform:translateY(0)!important}
/* Stuck (white, scrolled) bar: the menu is centered, so center the panel on it
   instead of starting at Home. left:50% of the centered menu list = viewport
   centre; translateX(-50%) then centres the panel. */
.site-header.stuck .bbtm-panel--full{left:50%;right:auto;transform:translateX(-50%) translateY(8px)!important}
.site-header.stuck .bbtm-parent--full.bbtm-open>.bbtm-panel--full,
.site-header.stuck .bbtm-parent--full:hover>.bbtm-panel--full{transform:translateX(-50%) translateY(0)!important}

/* =========================================================
   2. HERO (slider)
   ========================================================= */
.hero{position:relative;height:100vh;min-height:640px;max-height:920px;overflow:hidden;background:var(--black)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;z-index:1}
.slide .bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.12);transition:transform 7s ease}
.slide.active{opacity:1;z-index:2}.slide.active .bg{transform:scale(1)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,9,.42) 0%,rgba(8,8,9,0) 20%),linear-gradient(90deg,rgba(8,8,9,.5) 0%,rgba(8,8,9,.18) 45%,rgba(8,8,9,0) 80%)}
.slide .inner{position:relative;z-index:3;height:100%;display:flex;align-items:center;padding-top:120px}
.hero-content{max-width:720px;color:#fff}
.hero-content .script{display:block;margin-bottom:14px;opacity:0;transform:translateY(20px);transition:.7s .2s}
.hero-content h1{font-family:var(--ff-head);font-size:clamp(2.5rem,6vw,5rem);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:1.02;margin-bottom:24px;opacity:0;transform:translateY(28px);transition:.7s .35s}
.hero-content p{font-size:1.14rem;color:#d8d8de;max-width:560px;margin-bottom:36px;opacity:0;transform:translateY(28px);transition:.7s .5s}
.hero-content .cta{display:flex;gap:16px;flex-wrap:wrap;opacity:0;transform:translateY(28px);transition:.7s .65s}
.slide.active .script,.slide.active h1,.slide.active p,.slide.active .cta{opacity:1;transform:none}
.hero-dots{position:absolute;left:0;right:0;bottom:42px;z-index:6}
.hero-dots .container{display:flex;gap:12px}
.hero-dots button{width:40px;height:4px;border-radius:4px;border:none;background:rgba(255,255,255,.3);cursor:pointer;transition:var(--t);padding:0}
.hero-dots button.active{background:var(--gold);width:56px}
.hero-arrows{position:absolute;right:40px;top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;gap:12px}
.hero-arrows button{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;display:grid;place-items:center;transition:var(--t)}
.hero-arrows button:hover{background:var(--gold);border-color:var(--gold)}
.hero-arrows svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}

/* =========================================================
   3. PAGE BANNER (interior pages)
   ========================================================= */
.banner{position:relative;min-height:564px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(8,8,9,.82),rgba(8,8,9,.4)),var(--ink);background-size:cover;background-position:center}
.banner .inner{width:100%;padding:200px 0 80px}
.crumb{font-family:var(--ff-head);font-weight:600;font-size:.82rem;letter-spacing:.06em;color:var(--gold-light);margin-bottom:18px}
.crumb a:hover{color:#fff}
.banner h1{font-family:var(--ff-head);font-size:clamp(2.3rem,5vw,3.6rem);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:14px}
.banner p{font-size:1.1rem;color:#dcdce2;max-width:560px}

/* =========================================================
   4. HOME — zone band
   ========================================================= */
.zone-band{background:var(--bg-soft);position:relative;z-index:20;border-bottom:1px solid var(--line)}
.zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.zone{padding:60px 0;color:var(--ink);display:flex;align-items:flex-start;gap:20px}
.zone .zi{flex:none;width:84px;height:84px}
.zone .zi svg{width:92px;height:92px;stroke:var(--gold);fill:var(--gold-soft);stroke-width:1.3;transition:var(--t)}
.zone:hover .zi svg{stroke:var(--gold-deep);fill:var(--bg);transition:var(--t)}
.zone .zc h3{font-size:1.4rem;margin-bottom:10px;color:var(--ink)}
.zone .zc p{color:var(--grey);font-size:.95rem;transition:var(--t)}

/* HOME — services slider */
.services{background:var(--bg)}
.services-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:46px;flex-wrap:wrap}
.svc-arrows{display:flex;gap:12px}
.svc-arrows button{width:54px;height:54px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:var(--t)}
.svc-arrows button:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.svc-arrows svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.svc-viewport{overflow:hidden}
.svc-track{display:flex;gap:26px;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.svc{position:relative;border-radius:var(--radius-lg);overflow:hidden;height:430px;flex:0 0 auto;box-shadow:0 14px 36px -22px rgba(0,0,0,.4)}
.svc .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s ease}
.svc:hover .img{transform:scale(1.1)}
.svc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,12,0) 28%,rgba(11,11,12,.55) 58%,rgba(11,11,12,.96) 100%);transition:var(--t)}
.svc:hover::after{background:linear-gradient(180deg,rgba(200,150,46,.14) 0%,rgba(11,11,12,.6) 55%,rgba(11,11,12,.97) 100%)}
.svc .body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:32px 30px;color:#fff;transition:var(--t)}
.svc .cat{display:inline-block;font-family:var(--ff-head);font-weight:700;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:6px 13px;border-radius:50px;margin-bottom:14px}
.svc h3{font-size:1.32rem;margin-bottom:8px;color:#fff}
.svc p{font-size:.9rem;color:#cfcfd6;max-height:0;opacity:0;overflow:hidden;transition:var(--t)}
.svc:hover p{max-height:140px;opacity:1;margin-top:6px}
.svc .more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:var(--ff-head);font-weight:700;font-size:.82rem;color:var(--gold-light)}
.svc .more svg{width:30px;height:30px;border-radius:50%;background:var(--gold);color:#fff;padding:7px;stroke:#fff;fill:none;stroke-width:2.4;transition:var(--t)}
.svc:hover .more svg{transform:rotate(-45deg)}
.svc-dots{display:flex;gap:10px;justify-content:center;margin-top:36px}
.svc-dots button{width:11px;height:11px;border-radius:50%;border:none;background:#d8d3c6;cursor:pointer;transition:var(--t);padding:0}
.svc-dots button.active{background:var(--gold);transform:scale(1.3)}

/* HOME — why choose us */
.why{background:var(--bg-grey)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.why-visual{position:relative;min-height:600px;background-size:cover;background-position:center}
.why-visual .exp{position:absolute;right:0;bottom:0;background:var(--gold);color:#fff;padding:22px 28px;text-align:center;z-index:3}
.why-visual .exp .n{font-family:var(--ff-head);font-weight:700;font-size:2.4rem;line-height:1}
.why-visual .exp .t{font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.why-content{display:flex;align-items:center;padding:90px 6vw}
.why-text{max-width:620px}
.why-text p.intro{color:var(--grey);margin-bottom:30px}
.why-meters{display:flex;gap:40px;margin:34px 0;flex-wrap:wrap}
.meter{display:flex;align-items:center;gap:16px}
.meter .ring{position:relative;width:104px;height:104px;flex:none}
.meter .ring svg{width:104px;height:104px;transform:rotate(-90deg)}
.meter .bgr{fill:none;stroke:#e3ddce;stroke-width:7}
.meter .fgr{fill:none;stroke:var(--gold);stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset 1.7s cubic-bezier(.2,.8,.2,1)}
.meter .pct{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--ff-head);font-weight:700;font-size:1.18rem;color:var(--ink)}
.meter .ml{font-family:var(--ff-head);font-weight:700;font-size:1.02rem;line-height:1.3;color:var(--ink);max-width:130px}

/* HOME / shared — counters & stats */
.counts{background:var(--gold-soft);color:var(--ink);padding:80px 0;position:relative;overflow:hidden;border-top:1px solid rgba(200,150,46,.25);border-bottom:1px solid rgba(200,150,46,.25)}
.counts::before{content:"";position:absolute;inset:0;background:radial-gradient(680px 320px at 50% 0,rgba(200,150,46,.18),transparent 70%)}
.counts-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.count .ci{width:60px;height:60px;margin:0 auto 14px;border-radius:50%;background:#fff;border:1px solid rgba(200,150,46,.45);display:grid;place-items:center}
.count .ci svg{width:28px;height:28px;stroke:var(--gold-deep);fill:none;stroke-width:1.8}
.count .num{font-family:var(--ff-head);font-weight:700;font-size:clamp(2.2rem,4vw,3rem);color:var(--gold-deep)}
.count .lbl{color:var(--grey);font-size:.92rem;margin-top:2px}
.stats{background:var(--gold-soft);border-top:1px solid rgba(200,150,46,.25);border-bottom:1px solid rgba(200,150,46,.25)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.stat .num{font-family:var(--ff-head);font-weight:700;font-size:clamp(2.2rem,4vw,3rem);color:var(--gold-deep)}
.stat .lbl{color:var(--grey);font-size:.92rem;margin-top:2px}

/* HOME — testimonials */
.testi{background:var(--ink);color:#fff;overflow:hidden;position:relative}
.testi::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 340px at 85% 15%,rgba(200,150,46,.16),transparent 70%)}
.testi .container{position:relative;z-index:1}
.testi-grid{display:grid;grid-template-columns:.82fr 1.25fr;align-items:center}
.testi-left{padding-right:50px}
.testi-left .eyebrow{color:var(--gold);padding-left:26px}
.testi-left .eyebrow::before{width:13px;height:13px;background:var(--gold);top:50%;transform:translateY(-50%)}
.testi-left h2{color:#fff;font-size:clamp(2rem,3.4vw,2.9rem);margin-bottom:34px;letter-spacing:-.01em}
.testi-arrows{display:flex;gap:20px}
.testi-arrows button{background:none;border:none;color:rgba(255,255,255,.45);cursor:pointer;display:grid;place-items:center;transition:var(--t);padding:4px}
.testi-arrows button:hover{color:var(--gold)}
.testi-arrows svg{width:40px;height:26px;stroke:currentColor;fill:none;stroke-width:1.5}
.testi-right{border-left:1px solid rgba(255,255,255,.14);padding-left:62px;position:relative;min-height:300px}
.quote-mark{font-family:var(--ff-head);font-weight:700;font-size:4.6rem;color:var(--gold);line-height:.6;height:42px}
.t-slide{display:none}.t-slide.active{display:block;animation:fade .6s ease}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.t-slide blockquote{font-family:var(--ff-head);font-weight:500;font-size:clamp(1.12rem,1.9vw,1.5rem);line-height:1.55;color:#fff;margin-bottom:22px}
.t-stars{display:flex;gap:5px;margin-bottom:26px}
.t-stars svg{width:20px;height:20px;fill:var(--gold)}
.t-author{display:flex;align-items:center;gap:16px}
.t-author img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.t-author .name{font-family:var(--ff-head);font-weight:700;font-size:1.05rem;color:#fff;display:block}
.t-author .role{font-size:.76rem;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.t-dots{position:absolute;right:0;bottom:6px;display:flex;gap:9px}
.t-dots button{width:11px;height:11px;border-radius:50%;border:none;background:rgba(255,255,255,.3);cursor:pointer;transition:var(--t);padding:0}
.t-dots button.active{background:var(--gold)}
.t-stars svg.empty{fill:rgba(255,255,255,.22)}

/* Testimonials page grid */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px}
.tcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px 30px;display:flex;flex-direction:column;transition:var(--t)}
.tcard:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.tcard .tq-mark{font-family:var(--ff-head);font-weight:700;font-size:3rem;line-height:.7;color:var(--gold);height:30px}
.tcard-stars{display:flex;gap:4px;margin:6px 0 16px}
.tcard-stars svg{width:18px;height:18px;fill:var(--gold)}
.tcard-stars svg.empty{fill:var(--line)}
.tcard blockquote{font-family:var(--ff-head);font-weight:500;font-size:1.02rem;line-height:1.5;color:var(--ink);margin:0 0 20px;flex:1}
.tcard-foot{border-top:1px solid var(--line);padding-top:16px}
.tcard-name{display:block;font-family:var(--ff-head);font-weight:700;font-size:.95rem;color:var(--ink)}
.tcard-svc{display:block;font-size:.78rem;color:var(--gold);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-top:3px}
@media(max-width:992px){.tgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tgrid{grid-template-columns:1fr}}

/* shared — CTA banner */
.cta-band{padding:90px 0}
.cta-inner{background:linear-gradient(120deg,var(--gold) 0%,var(--gold-deep) 100%);border-radius:var(--radius-lg);padding:56px 60px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta-inner::after{content:"";position:absolute;right:-60px;top:-60px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.12)}
.cta-inner .ct{position:relative;z-index:2;max-width:640px}
.cta-inner .script{color:#fff}
.cta-inner h2{color:#fff;font-size:clamp(1.7rem,3.2vw,2.5rem)}
.cta-inner p{color:rgba(255,255,255,.92);margin-top:8px}
.cta-inner .actions{display:flex;gap:14px;position:relative;z-index:2;flex-wrap:wrap}
.cta-inner .btn-dark{background:var(--ink);color:#fff}.cta-inner .btn-dark:hover{background:#000}
.cta-inner .btn-outline{border-color:rgba(255,255,255,.8);color:#fff}.cta-inner .btn-outline:hover{background:#fff;color:var(--ink)}
/* centered CTA variant (interior pages) */
.cta-inner.cta-center{text-align:center;display:block}
.cta-inner.cta-center h2{margin-bottom:10px}
.cta-inner.cta-center p{margin:0 auto 26px;max-width:600px}

/* HOME — news */
.news{background:var(--bg-soft)}
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:52px;align-items:stretch}
.np-side{display:flex;flex-direction:column;gap:30px}
.np-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 16px 40px -28px rgba(0,0,0,.32);transition:var(--t)}
.np-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.np-img{background-size:cover;background-position:center;position:relative}
.np-badge{background:var(--gold);color:#fff;font-family:var(--ff-head);font-weight:700;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;border-radius:6px}
.np-body h3{line-height:1.3;margin-bottom:16px}
.np-body h3 a:hover{color:var(--gold)}
.rm{font-family:var(--ff-head);font-weight:700;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);display:inline-flex;gap:9px;align-items:center}
.rm svg{width:18px;height:14px;stroke:currentColor;fill:none;stroke-width:2;transition:var(--t)}
.np-card:hover .rm{color:var(--gold)}.np-card:hover .rm svg{transform:translateX(5px)}
.np-feat{display:flex;flex-direction:column}
.np-feat .np-img{height:330px}
.np-feat .np-badge{position:absolute;left:24px;bottom:-18px;box-shadow:var(--shadow-gold)}
.np-feat .np-body{padding:36px 30px 30px}
.np-feat .np-body h3{font-size:1.5rem}
.np-row{display:grid;grid-template-columns:1fr 42%}
.np-row .np-body{padding:28px 26px;display:flex;flex-direction:column;justify-content:center}
.np-row .np-badge{align-self:flex-start;margin-bottom:14px}
.np-row .np-body h3{font-size:1.14rem}
.np-row .np-img{min-height:215px}

/* =========================================================
   5. ABOUT page
   ========================================================= */
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-intro .imgwrap{position:relative}
.about-intro img{border-radius:var(--radius-lg);width:100%;height:480px;object-fit:cover;box-shadow:var(--shadow)}
.about-intro .badge{position:absolute;right:0;bottom:0;background:var(--gold);color:#fff;padding:22px 28px;text-align:center}
.about-intro .badge .n{font-family:var(--ff-head);font-weight:700;font-size:2.4rem;line-height:1}
.about-intro .badge .t{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:36px}
.mv{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius);padding:30px 32px}
.mv .mi{width:54px;height:54px;border-radius:14px;background:var(--gold-soft);display:grid;place-items:center;margin-bottom:18px}
.mv .mi svg{width:26px;height:26px;stroke:var(--gold-deep);fill:none;stroke-width:1.9}
.mv h3{font-size:1.25rem;margin-bottom:8px}
.mv p{color:var(--grey);font-size:.96rem}
/* Core areas of expertise — checklist grid */
.exp-grid{list-style:none;margin:46px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px 30px}
.exp-grid li{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;font-family:var(--ff-head);font-weight:600;font-size:1rem;color:var(--ink);box-shadow:var(--shadow);transition:var(--t)}
.exp-grid li:hover{border-color:transparent;transform:translateY(-3px);box-shadow:0 22px 44px -24px rgba(11,11,12,.4)}
.exp-check{flex:none;width:34px;height:34px;border-radius:50%;background:var(--gold-soft);display:grid;place-items:center}
.exp-check svg{width:18px;height:18px;stroke:var(--gold-deep);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.exp-grid li:hover .exp-check{background:var(--gold)}
.exp-grid li:hover .exp-check svg{stroke:#fff}
.why-sec{background:var(--ink);color:#fff}
.why-sec .eyebrow{color:var(--gold-light)}.why-sec .sec-title{color:#fff}
.why-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:52px}
.wc{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:34px 28px;transition:var(--t)}
.wc:hover{background:var(--gold);transform:translateY(-8px)}
.wc .wn{font-family:var(--ff-head);font-weight:700;font-size:2.2rem;color:var(--gold);opacity:.6;line-height:1;margin-bottom:16px;transition:var(--t)}
.wc:hover .wn{color:#fff;opacity:.9}
.wc h3{font-size:1.14rem;margin-bottom:10px;color:#fff}
.wc p{color:var(--grey-light);font-size:.92rem;transition:var(--t)}
.wc:hover p{color:rgba(255,255,255,.95)}

/* =========================================================
   6. CONTACT page
   ========================================================= */
.cinfo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px}
.cinfo{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:38px 32px;text-align:center;transition:var(--t)}
.cinfo:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.cinfo .ci{width:66px;height:66px;margin:0 auto 22px;border-radius:50%;background:var(--gold-soft);display:grid;place-items:center;transition:var(--t)}
.cinfo:hover .ci{background:var(--gold)}
.cinfo .ci svg{width:28px;height:28px;stroke:var(--gold-deep);fill:none;stroke-width:1.9;transition:var(--t)}
.cinfo:hover .ci svg{stroke:#fff}
.cinfo h3{font-size:1.15rem;margin-bottom:12px}
.cinfo p,.cinfo a{color:var(--grey);font-size:.96rem;display:block;line-height:1.7}
.cinfo a:hover{color:var(--gold)}
.contact-main{background:var(--bg-soft)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:stretch}
.cmap{border-radius:var(--radius-lg);overflow:hidden;min-height:420px;border:1px solid var(--line);box-shadow:var(--shadow)}
.cmap iframe{width:100%;height:100%;min-height:420px;border:0;display:block}
/* Law 25 click-to-load placeholder shown until the visitor loads the map */
.cmap-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;width:100%;height:100%;min-height:420px;padding:32px;background:var(--bg-soft)}
.cmap-consent svg{width:44px;height:44px;fill:none;stroke:var(--gold);stroke-width:1.6}
.cmap-consent .cmap-addr{color:var(--ink);font-weight:600;line-height:1.7}
.cmap-consent .cmap-note{color:var(--grey);font-size:.85rem;max-width:340px;line-height:1.6}
.cform{background:#fff;border-radius:var(--radius-lg);padding:42px 40px;box-shadow:var(--shadow)}
.cform .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{margin-bottom:18px}
.field label{display:block;font-family:var(--ff-head);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:13px 15px;font-family:var(--ff-body);font-size:.95rem;color:var(--ink);transition:var(--t)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:#fff}
.field textarea{min-height:130px;resize:vertical}
.cform .btn{width:100%;justify-content:center;margin-top:6px}
.form-msg{margin-top:14px;font-size:.92rem;font-weight:600}
.form-msg.ok{color:#1FA463}.form-msg.err{color:#d8412f}

/* =========================================================
   7. SERVICES page (archive + single)
   ========================================================= */
.services-list{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:40px 34px;transition:var(--t);position:relative;overflow:hidden;scroll-margin-top:120px}
.svc-card::before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:var(--gold);transition:var(--t)}
.svc-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.svc-card:hover::before{width:100%}
.svc-card .si{width:66px;height:66px;border-radius:18px;background:linear-gradient(135deg,var(--gold),var(--gold-light));display:grid;place-items:center;margin-bottom:24px;box-shadow:var(--shadow-gold)}
.svc-card .si svg{width:30px;height:30px;stroke:#fff;fill:none;stroke-width:1.7}
.svc-card h3{font-size:1.22rem;margin-bottom:10px}
.svc-card p{color:var(--grey);font-size:.94rem;margin-bottom:16px}
.svc-card .more{font-family:var(--ff-head);font-weight:700;font-size:.84rem;color:var(--gold);display:inline-flex;align-items:center;gap:7px}
.svc-card .more svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;transition:var(--t)}
.svc-card:hover .more svg{transform:translateX(4px)}
/* Service detail pages: overview prose, check-list and card sub-lists */
.prose{/*max-width:880px;*/margin-top:24px}
.prose p{color:var(--grey);font-size:1.02rem;line-height:1.85;margin-bottom:1.1em}
.check-list{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 28px}
.check-list li{position:relative;padding-left:30px;color:var(--ink);font-weight:600;font-family:var(--ff-head);font-size:.96rem}
.check-list li::before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:var(--gold-soft)}
.check-list li::after{content:"";position:absolute;left:6px;top:7px;width:8px;height:5px;border-left:2px solid var(--gold-deep);border-bottom:2px solid var(--gold-deep);transform:rotate(-45deg)}
.svc-card ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.svc-card ul li{position:relative;padding-left:22px;color:var(--grey);font-size:.9rem}
.svc-card ul li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.proc{background:var(--bg-soft)}

/* =========================================================
   7b. "How we work" — 6-step diagonal staircase (ref: Exporto)
   ========================================================= */
/* Each step drops down and to the right. The vertical step (--stepY) is larger
   than a card's height, so cards never overlap — each card is fully visible
   with its number node directly above it. Hover lifts the focused card, flips
   it dark and swaps the short teaser for the full description.
   --pitchX = horizontal step, --stepY = vertical step, --gap = node-to-card. */
.howwork{background:var(--bg-soft);position:relative;overflow:hidden}
.stair{--pitchX:142px;--stepY:258px;--gap:58px;--cardW:332px;--cardH:120px;--node:52px;
  position:relative;margin:34px auto 0;width:calc(5*var(--pitchX) + var(--cardW));
  height:calc(5*var(--stepY) + var(--gap) + var(--cardH) + 10px)}
.st-step{position:absolute;width:var(--cardW)}
.st-node{position:absolute;z-index:40;width:var(--node);height:var(--node);border-radius:50%;
  left:calc(var(--i) * var(--pitchX));top:calc(var(--i) * var(--stepY));
  background:#fff;border:2px solid var(--gold);color:var(--gold-deep);font-family:var(--ff-head);font-weight:700;
  font-size:1rem;display:grid;place-items:center;box-shadow:0 8px 20px -8px rgba(200,150,46,.6);transition:var(--t)}
.st-card{position:absolute;z-index:calc(10 + var(--i));width:var(--cardW);min-height:var(--cardH);
  left:calc(var(--i) * var(--pitchX));top:calc(var(--i) * var(--stepY) + var(--gap));
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);transition:var(--t)}
.st-card h3{font-family:var(--ff-head);font-size:1.05rem;margin:0 0 7px;transition:color var(--t)}
.st-card p{font-size:.92rem;line-height:1.55;margin:0}
.st-card .hw-short{color:var(--grey)}
.st-card .hw-full{display:none;color:rgba(255,255,255,.9);font-size:.9rem;line-height:1.55}
/* connector: stub from node down to its card + L-dashes to the next node (behind cards) */
.st-node::after{content:"";position:absolute;left:calc(50% - 1px);top:var(--node);height:calc(var(--gap) - var(--node) + 6px);border-left:2px dashed var(--gold-light)}
.st-link{position:absolute;z-index:5;left:calc(var(--i) * var(--pitchX) + var(--node)/2);top:calc(var(--i) * var(--stepY) + var(--node)/2);
  width:var(--pitchX);height:var(--stepY);border-top:2px dashed var(--gold-light);border-right:2px dashed var(--gold-light);border-top-right-radius:14px}
/* hover */
.st-step:hover .st-card,.st-step:focus-within .st-card{z-index:60;background:var(--dark-blue);border-color:transparent;transform:translateY(-4px);box-shadow:0 26px 54px -22px rgba(11,11,12,.5)}
.st-step:hover .st-node,.st-step:focus-within .st-node{z-index:61;background:var(--gold);color:#fff;border-color:var(--gold)}
.st-step:hover .st-card h3,.st-step:focus-within .st-card h3{color:#fff}
.st-step:hover .st-card .hw-short,.st-step:focus-within .st-card .hw-short{display:none}
.st-step:hover .st-card .hw-full,.st-step:focus-within .st-card .hw-full{display:block}
/* start / finish caps */
.st-cap{position:absolute;z-index:30;display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-head);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}
.st-cap svg{width:22px;height:22px;stroke:var(--gold-deep);fill:none;stroke-width:1.8}
.st-cap--start{left:0;top:-30px}
.st-cap--finish{right:0;bottom:-30px}
@media(max-width:880px){
  .stair{width:100%;height:auto;display:flex;flex-direction:column;gap:14px}
  .st-step{position:static;width:100%;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
  .st-node{position:static;left:auto;top:auto}
  .st-card{position:static;left:auto;top:auto;width:100%;min-height:0}
  .st-node::after,.st-link,.st-cap{display:none}
  .st-card .hw-short{display:none}
  .st-card .hw-full{display:block;color:var(--grey);margin-top:6px}
}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:54px}
.pstep{text-align:center;position:relative;padding:0 6px}
.pstep .pico{width:90px;height:90px;margin:0 auto 22px;border-radius:50%;background:#fff;border:2px solid var(--gold-soft);display:grid;place-items:center;position:relative;transition:var(--t)}
.pstep .pico svg{width:34px;height:34px;stroke:var(--gold-deep);fill:none;stroke-width:1.7;transition:var(--t)}
.pstep:hover .pico{background:var(--gold);border-color:var(--gold)}
.pstep:hover .pico svg{stroke:#fff}
.pstep .pnum{position:absolute;top:0;right:50%;margin-right:-58px;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--ff-head);font-weight:700;font-size:.8rem;display:grid;place-items:center}
.pstep h3{font-size:1.14rem;margin-bottom:8px}
.pstep p{color:var(--grey);font-size:.92rem}
/* single service body (2-column layout uses .single-main .s-body) */
.single-service .s-body{font-size:1.04rem;color:var(--ink)}
.single-service .s-body h2,.single-service .s-body h3{margin:28px 0 12px}
.single-service .s-body p{margin-bottom:16px;color:#3a3a42}

/* =========================================================
   8. TEAM / FAQ / CAREERS (kept from source for parity)
   ========================================================= */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:52px}
.tmember{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:var(--t)}
.tmember:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.tmember .photo{height:280px;background-size:cover;background-position:center;position:relative}
.tmember .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(11,11,12,.5));opacity:0;transition:var(--t)}
.tmember:hover .photo::after{opacity:1}
.tsocials{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:10px;z-index:2;opacity:0;transform:translateY(10px);transition:var(--t)}
.tmember:hover .tsocials{opacity:1;transform:none}
.tsocials a{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;transition:var(--t)}
.tsocials a:hover{background:var(--gold)}
.tsocials svg{width:15px;height:15px;fill:var(--ink);transition:var(--t)}
.tsocials a:hover svg{fill:#fff}
.tmember .tbody{padding:24px 26px;text-align:center}
.tmember h3{font-size:1.18rem;margin-bottom:4px}
.tmember .role{font-family:var(--ff-head);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}
/* Leadership team (team-v2): name + role + biography cards, no photos */
.lead-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:52px}
.lead-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px 34px;transition:var(--t)}
.lead-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.lead-head{display:flex;align-items:center;gap:18px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.lead-mono{flex:none;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#fff;display:grid;place-items:center;font-family:var(--ff-head);font-weight:700;font-size:1.18rem;letter-spacing:.02em;box-shadow:var(--shadow-gold)}
.lead-head h3{font-size:1.2rem;margin:0 0 3px}
.lead-role{font-family:var(--ff-head);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}
.lead-bio p{color:var(--grey);font-size:.95rem;line-height:1.75;margin:0 0 .9em}
.lead-bio p:last-child{margin-bottom:0}
.faq-wrap{max-width:860px;margin:48px auto 0}
.faq{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;overflow:hidden;transition:var(--t)}
.faq.open{border-color:var(--gold);box-shadow:var(--shadow)}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;background:none;border:none;cursor:pointer;text-align:left;padding:24px 28px;font-family:var(--ff-head);font-weight:700;font-size:1.06rem;color:var(--ink)}
.faq-ic{flex:none;width:30px;height:30px;border-radius:50%;background:var(--gold-soft);display:grid;place-items:center;position:relative;transition:var(--t)}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;background:var(--gold-deep);border-radius:2px}
.faq-ic::before{width:13px;height:2.4px}
.faq-ic::after{width:2.4px;height:13px;transition:var(--t)}
.faq.open .faq-ic{background:var(--gold)}
.faq.open .faq-ic::before,.faq.open .faq-ic::after{background:#fff}
.faq.open .faq-ic::after{transform:scaleY(0)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-a p{padding:0 28px 26px;color:var(--grey);font-size:.98rem}
.faq.open .faq-a{max-height:340px}

/* =========================================================
   9. FOOTER
   ========================================================= */
.feature-strip{background:var(--gold);color:var(--ink)}
.feature-strip .container{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:30px;padding-bottom:30px}
.feat{display:flex;align-items:center;gap:14px}
.feat svg{width:34px;height:34px;stroke:var(--ink);fill:none;stroke-width:1.8;flex:none}
.feat span{font-family:var(--ff-head);font-weight:700;font-size:.96rem}
.feat+.feat{border-left:1px solid rgba(0,0,0,.12);padding-left:24px}
.footer{background:var(--dark-blue);color:#a8a8b0;padding:80px 0 0}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:46px;padding-bottom:54px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer .brand .word{color:#fff}
.f-about p{font-size:.92rem;margin:20px 0;max-width:320px}
.footer h4{color:#fff;font-size:1.04rem;margin-bottom:22px;font-weight:700}
.f-links a{display:block;font-size:.92rem;padding:8px 0;transition:var(--t)}
.f-links a:hover{color:var(--gold);padding-left:7px}
.f-help li{display:flex;gap:13px;align-items:flex-start;font-size:.92rem;margin-bottom:16px}
.f-help svg{width:19px;height:19px;stroke:var(--gold);fill:none;stroke-width:1.8;flex:none;margin-top:3px}
.f-help .k{font-family:var(--ff-head);font-weight:700;color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:1px}
.footer .hdr-socials{margin-top:22px}.footer .hdr-socials a{background:rgba(255,255,255,.06)}
.newsletter{margin-top:6px}.newsletter p{font-size:.88rem;margin-bottom:12px}
.newsletter form{display:flex;gap:8px}
.newsletter input{flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:13px 15px;color:#fff;font-size:.9rem}
.newsletter input::placeholder{color:#8a8a92}
.newsletter button{background:var(--gold);border:none;border-radius:10px;padding:0 20px;color:#fff;cursor:pointer;font-weight:700;font-family:var(--ff-head);transition:var(--t)}
.newsletter button:hover{background:var(--gold-deep)}
.copyright{display:flex;justify-content:space-between;align-items:center;padding:26px 0;font-size:.98rem;color:var(--grey);flex-wrap:wrap;gap:10px}
.copyright>span:nth-child(2){flex:1;text-align:center}
.copyright a:hover{color:var(--gold)}
.totop{position:fixed;right:24px;bottom:24px;width:50px;height:50px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;cursor:pointer;border:none;box-shadow:var(--shadow-gold);opacity:0;pointer-events:none;transition:var(--t);z-index:999}
.totop.show{opacity:1;pointer-events:auto}
.totop svg{width:21px;height:21px;stroke:#fff;fill:none;stroke-width:2.6}

/* =========================================================
   10. PAGE LOADER
   ========================================================= */
.page-loader{position:fixed;inset:0;z-index:99999;background:var(--bg);display:grid;place-items:center;transition:opacity .6s ease,visibility .6s ease}
.page-loader.hidden{opacity:0;visibility:hidden}
.pl-inner{display:flex;flex-direction:column;align-items:center;gap:18px}
.lt-truck{width:270px;height:auto;overflow:visible;animation:lt-bob .8s ease-in-out infinite}
.lt-body{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lt-win{fill:rgba(200,150,46,.18);stroke:var(--gold);stroke-width:1.4}
.lt-light{fill:var(--gold)}
.lt-road{stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-dasharray:7 9;opacity:.65;animation:lt-road .5s linear infinite}
.lt-wheel{fill:none;stroke:var(--gold-deep);stroke-width:1.5;stroke-linecap:round;transform-box:fill-box;transform-origin:center;animation:lt-spin .9s linear infinite}
.lt-streak{stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;opacity:0}
.lt-streak.s1{animation:lt-streak .9s ease-in-out infinite}
.lt-streak.s2{animation:lt-streak .9s ease-in-out .15s infinite}
.lt-streak.s3{animation:lt-streak .9s ease-in-out .3s infinite}
.pl-text{font-family:var(--ff-head);font-weight:700;letter-spacing:.34em;text-transform:uppercase;font-size:.78rem;color:var(--gold)}
.pl-text b{color:var(--ink)}
@keyframes lt-spin{to{transform:rotate(360deg)}}
@keyframes lt-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
@keyframes lt-road{to{stroke-dashoffset:-32}}
@keyframes lt-streak{0%{opacity:0;transform:translateX(9px)}40%{opacity:.9}100%{opacity:0;transform:translateX(-13px)}}

/* =========================================================
   8b. CAREERS page
   ========================================================= */
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.intro-grid img{border-radius:var(--radius-lg);width:100%;height:420px;object-fit:cover;box-shadow:var(--shadow)}
.benefits{background:var(--bg-soft)}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px}
.bcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 30px;transition:var(--t)}
.bcard:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.bcard .bi{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,var(--gold),var(--gold-light));display:grid;place-items:center;margin-bottom:20px;box-shadow:var(--shadow-gold)}
.bcard .bi svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:1.8}
.bcard h3{font-size:1.14rem;margin-bottom:8px}
.bcard p{color:var(--grey);font-size:.93rem}
.role-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;margin-top:40px}
.role-head{background:var(--ink);color:#fff;padding:34px 40px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.role-head h3{font-size:1.5rem;margin-bottom:8px}
.role-tags{display:flex;gap:10px;flex-wrap:wrap}
.role-tags span{font-family:var(--ff-head);font-weight:600;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;background:rgba(200,150,46,.18);color:var(--gold-light);border:1px solid rgba(200,150,46,.4);padding:6px 13px;border-radius:50px}
.role-body{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:40px}
.role-body h4{font-size:1.05rem;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.role-body h4 svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:2}
.role-body ul{margin:0}
.role-body li{display:flex;gap:11px;align-items:flex-start;font-size:.95rem;color:var(--grey);margin-bottom:13px}
.role-body li svg{width:17px;height:17px;flex:none;margin-top:4px;stroke:var(--gold);fill:none;stroke-width:2.4}
.role-foot{padding:0 40px 40px}
.apply{background:linear-gradient(120deg,var(--gold),var(--gold-deep));color:#fff}
.apply .container{text-align:center}
.apply .script{color:#fff}
.apply h2{color:#fff;font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:12px}
.apply p{color:rgba(255,255,255,.92);max-width:620px;margin:0 auto 28px}
.apply .btn-dark{background:var(--ink)}.apply .btn-dark:hover{background:#000}
/* highlighted "openings" tag */
.role-tags .tag-count{background:var(--gold);color:#fff;border-color:var(--gold)}
/* documents-to-submit block (inside the role card) */
.role-docs{padding:28px 40px 6px;border-top:1px solid var(--line)}
.role-docs h4{font-size:1.05rem;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.role-docs h4 svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:2}
.role-docs ul{margin:0}
.role-docs li{display:flex;gap:11px;align-items:flex-start;font-size:.95rem;color:var(--grey);margin-bottom:11px}
.role-docs li svg{width:17px;height:17px;flex:none;margin-top:4px;stroke:var(--gold);fill:none;stroke-width:2.4}
.role-docs-note{font-size:.88rem;color:var(--grey-light);margin-top:6px}
/* app store badges */
.app-badges{display:flex;gap:14px;flex-wrap:wrap}
.apply .app-badges{justify-content:center;margin-top:6px}
.app-badge{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:12px;padding:11px 22px;transition:var(--t)}
.app-badge:hover{background:#000;transform:translateY(-3px)}
.app-badge .ab-ico{width:24px;height:24px;fill:#fff;flex:none}
.app-badge .ab-txt{display:flex;flex-direction:column;line-height:1.12;text-align:left}
.app-badge .ab-txt small{font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;opacity:.82}
.app-badge .ab-txt b{font-family:var(--ff-head);font-weight:700;font-size:1rem}

/* =========================================================
   8c. NEWS / BLOG listing (content section ref: Transp)
   ========================================================= */
.news-intro{text-align:center;max-width:760px;margin:0 auto}
.news-intro .sec-sub{margin:0 auto}
.cat-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}
.cat-chips a{display:inline-block;padding:11px 24px;border-radius:50px;background:var(--bg-soft);color:var(--ink);font-family:var(--ff-head);font-weight:600;font-size:.86rem;border:1px solid transparent;transition:var(--t)}
.cat-chips a:hover,.cat-chips a.active{background:var(--gold);color:#fff}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:54px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:var(--t)}
.post-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.post-thumb{position:relative;display:block;height:230px;overflow:hidden}
.post-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.post-card:hover .post-thumb img{transform:scale(1.07)}
.post-cat{position:absolute;left:16px;top:16px;background:var(--gold);color:#fff;font-family:var(--ff-head);font-weight:700;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 13px;border-radius:6px;z-index:2}
.post-card-body{padding:26px 26px 24px;display:flex;flex-direction:column;flex:1}
.post-card-body h3{font-size:1.18rem;line-height:1.3;margin-bottom:12px}
.post-card-body h3 a:hover{color:var(--gold)}
.post-excerpt{color:var(--grey);font-size:.94rem;margin-bottom:18px;flex:1}
.post-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:auto}
.post-more{font-family:var(--ff-head);font-weight:700;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:7px}
.post-more svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;transition:var(--t)}
.post-card:hover .post-more svg{transform:translate(2px,-2px)}
.post-date{font-size:.84rem;color:var(--grey-light);font-family:var(--ff-head);font-weight:600;white-space:nowrap}
.no-posts{text-align:center;padding:40px 0}

/* gold diagonal promo band */
.promo-band{margin-top:60px;position:relative;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(120deg,var(--gold) 0%,var(--gold-light) 100%);display:flex;align-items:center;min-height:170px}
.promo-band .pb-text{padding:36px 46px;position:relative;z-index:2;max-width:62%}
.promo-band h3{font-size:clamp(1.4rem,2.6vw,2rem);color:var(--ink);line-height:1.16;margin-bottom:8px}
.promo-band p{color:rgba(11,11,12,.7);font-size:.96rem}
.promo-band .pb-img{position:absolute;right:0;top:0;bottom:0;width:46%;background-size:cover;background-position:center;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%)}

/* =========================================================
   8d. SINGLE POST (2-column: article + sidebar; ref: Exporto)
   ========================================================= */
.single-grid{display:grid;grid-template-columns:1fr 350px;gap:50px;align-items:start}
.single-main{min-width:0}
.single-sidebar{position:sticky;top:110px;display:flex;flex-direction:column;gap:28px}

/* featured image w/ corner category badge */
.post-feature{position:relative;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:30px;box-shadow:var(--shadow)}
.post-feature img{width:100%;height:auto;display:block}
.post-feature .post-cat{position:absolute;right:0;bottom:0;left:auto;top:auto;border-radius:10px 0 0 0;padding:10px 22px}

/* meta strip */
.post-meta{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-bottom:22px;color:var(--grey);font-family:var(--ff-head);font-weight:600;font-size:.86rem}
.post-meta .pm-cat{background:var(--gold-soft);color:var(--gold-deep);padding:5px 13px;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;font-size:.74rem}
.post-meta svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:2;vertical-align:middle;margin-right:6px}

/* article body */
.single-main .s-body{font-size:1.04rem;color:var(--ink)}
.single-main .s-body p{margin-bottom:18px;color:#3a3a42}
.single-main .s-body h2,.single-main .s-body h3{margin:30px 0 12px}
.single-main .s-body img{border-radius:var(--radius);height:auto}
.single-main .s-body ul,.single-main .s-body ol{margin:0 0 18px 2px;color:#3a3a42}
.single-main .s-body ul li{list-style:none;position:relative;padding-left:28px;margin-bottom:10px}
.single-main .s-body ul li::before{content:"";position:absolute;left:0;top:8px;width:12px;height:12px;border-radius:50%;border:3px solid var(--gold)}
.single-main .s-body blockquote{border-left:4px solid var(--gold);background:var(--bg-soft);padding:24px 28px;margin:28px 0;border-radius:0 12px 12px 0}
.single-main .s-body blockquote p{font-family:var(--ff-head);font-size:1.3rem;line-height:1.4;color:var(--ink);font-style:normal;margin:0}
.single-main .s-body blockquote cite{display:block;margin-top:14px;font-style:normal;font-family:var(--ff-head);font-weight:700;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gold)}
/* drop-cap on the first paragraph */
.s-body.has-dropcap > p:first-of-type::first-letter{float:left;font-family:var(--ff-head);font-weight:700;font-size:3.2rem;line-height:.78;background:var(--gold);color:#fff;padding:14px 16px;margin:6px 16px 2px 0;border-radius:12px}

.post-tags{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0;align-items:center}
.post-tags a{background:var(--bg-soft);color:var(--grey);font-size:.82rem;padding:6px 14px;border-radius:50px;transition:var(--t)}
.post-tags a:hover{background:var(--gold);color:#fff}

/* prev / next nav (row 1) + back-to-blog bar (row 2) — ref: Exporto */
.post-nav{display:grid;grid-template-columns:1fr 1fr;margin:38px 0 0;border-top:1px solid var(--line);padding:26px 0 30px}
.post-nav .pn-prev{padding-right:34px;border-right:1px solid var(--line)}
.post-nav .pn-next{padding-left:34px;text-align:right}
.post-nav .pn-label{display:block;font-family:var(--ff-head);font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-light);margin-bottom:10px}
.post-nav a{font-family:var(--ff-head);font-weight:700;font-size:1.12rem;line-height:1.25;color:var(--ink);transition:var(--t)}
.post-nav a:hover{color:var(--gold)}
.post-back-bar{margin:0 0 6px}
.back-blog{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--bg-soft);border-radius:12px;padding:22px;font-family:var(--ff-head);font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);transition:var(--t)}
.back-blog:hover{background:var(--gold);color:#fff}
.back-blog .bb-ico{width:18px;height:18px;flex:none;fill:var(--gold);transition:var(--t)}
.back-blog:hover .bb-ico{fill:#fff}
@media(max-width:560px){
  .post-nav{grid-template-columns:1fr;gap:22px}
  .post-nav .pn-prev{padding-right:0;border-right:none;border-bottom:1px solid var(--line);padding-bottom:18px}
  .post-nav .pn-next{padding-left:0;text-align:left}
}

/* sidebar widgets */
.swidget{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 24px}
.swidget-title{font-size:1.12rem;margin-bottom:18px;position:relative;padding-bottom:12px}
.swidget-title::after{content:"";position:absolute;left:0;bottom:0;width:42px;height:3px;background:var(--gold);border-radius:3px}
.swidget .search-form{display:flex;gap:8px}
.swidget .search-form input[type=search],.swidget .search-form input.search-field{flex:1;min-width:0;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:var(--ff-body);font-size:.92rem;color:var(--ink)}
.swidget .search-form button,.swidget .search-form input[type=submit]{background:var(--gold);border:none;border-radius:10px;color:#fff;padding:0 16px;cursor:pointer;font-weight:700}
.scat-list li{border-bottom:1px solid var(--line)}
.scat-list li:last-child{border-bottom:none}
.scat-list a{display:flex;justify-content:space-between;padding:11px 0;color:var(--ink);font-family:var(--ff-head);font-weight:600;font-size:.92rem;transition:var(--t)}
.scat-list a:hover{color:var(--gold);padding-left:6px}
.scat-list a span{color:var(--grey-light)}
.spost{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.spost:last-child{border-bottom:none;padding-bottom:0}
.spost:first-child{padding-top:0}
.spost .sp-thumb{width:74px;height:64px;border-radius:10px;object-fit:cover;flex:none}
.spost .sp-cat{font-family:var(--ff-head);font-weight:700;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.spost h4{font-size:.92rem;line-height:1.3;margin:3px 0 4px}
.spost h4 a:hover{color:var(--gold)}
.spost .sp-date{font-size:.76rem;color:var(--grey-light)}
.stags{display:flex;flex-wrap:wrap;gap:9px}
.stags a{background:var(--bg-soft);color:var(--grey);font-size:.8rem;padding:7px 14px;border-radius:50px;transition:var(--t)}
.stags a:hover{background:var(--gold);color:#fff}
.shelp{background:var(--dark-blue);color:#fff;text-align:center;border-color:transparent}
.shelp .swidget-title{color:#fff}
.shelp .swidget-title::after{left:50%;transform:translateX(-50%)}
.shelp p{color:#b9c2cc;font-size:.9rem;margin-bottom:14px}
.shelp .sh-phone{font-family:var(--ff-head);font-weight:700;font-size:1.4rem;color:var(--gold-light);display:block;margin-bottom:16px}

/* services list widget (single service sidebar) — icon on the left */
.sservices-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.sservices-list a{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;font-family:var(--ff-head);font-weight:600;font-size:.94rem;color:var(--ink);transition:var(--t)}
.sservices-list .svc-ico{width:44px;height:44px;border-radius:11px;background:var(--bg-soft);display:grid;place-items:center;flex:none;transition:var(--t)}
.sservices-list .svc-ico svg{width:22px;height:22px;stroke:var(--gold-deep);fill:none;stroke-width:1.8;transition:var(--t)}
.sservices-list .svc-name{line-height:1.25}
.sservices-list a:hover{background:var(--bg-soft);color:var(--gold-deep)}
.sservices-list a:hover .svc-ico{background:#fff}
.sservices-list a:hover .svc-ico svg{stroke:var(--gold-deep)}
.sservices-list li.is-current a{background:var(--bg-soft);color:var(--gold-deep)}
.sservices-list li.is-current .svc-ico{background:#fff}
.sservices-list li.is-current .svc-ico svg{stroke:var(--gold-deep)}

.related-posts{margin-top:70px;border-top:1px solid var(--line);padding-top:54px}

/* =========================================================
   8e. COMMENTS
   ========================================================= */
.comments-area{margin-top:50px;border-top:1px solid var(--line);padding-top:44px}
.comments-title,.comment-reply-title{font-family:var(--ff-head);font-size:1.5rem;font-weight:700;color:var(--ink);margin-bottom:26px}
.comment-list{list-style:none;margin:0 0 44px;padding:0}
.comment-list ol.children{list-style:none;margin:22px 0 0 38px;padding:0}
.vgt-comment{margin-bottom:22px}
.comment-body{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 26px}
.comment-avatar img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.comment-content{flex:1;min-width:0}
.comment-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.comment-author{font-family:var(--ff-head);font-size:1.04rem;font-weight:700;margin:0}
.comment-author a{color:var(--ink)}.comment-author a:hover{color:var(--gold)}
.comment-date{font-size:.8rem;color:var(--grey-light);font-family:var(--ff-head);font-weight:600}
.comment-text{color:var(--grey);font-size:.96rem}
.comment-text p{margin-bottom:10px}
.comment-awaiting{display:inline-block;margin-bottom:8px;color:var(--caption-color);font-size:.84rem;font-style:italic}
.comment-reply{display:inline-block;margin-top:12px}
.comment-reply a{font-family:var(--ff-head);font-weight:700;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.comment-reply a:hover{color:var(--gold-deep)}

/* comment form */
.comment-respond{background:var(--bg-soft);border-radius:var(--radius-lg);padding:36px 34px;margin-top:10px}
.comment-notes{color:var(--grey);font-size:.9rem;margin-bottom:22px}
.comment-notes .required{color:var(--caption-color)}
.comment-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.comment-form .comment-form-comment,
.comment-form .comment-form-url,
.comment-form .comment-form-cookies-consent,
.comment-form .form-submit,
.comment-form .comment-notes{grid-column:1 / -1}
.comment-form label{display:block;font-family:var(--ff-head);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;color:var(--ink)}
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;font-family:var(--ff-body);font-size:.95rem;color:var(--ink);transition:var(--t)}
.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--gold)}
.comment-form textarea{min-height:150px;resize:vertical}
.comment-form-cookies-consent{display:flex;align-items:center;gap:10px}
.comment-form-cookies-consent label{margin:0;text-transform:none;letter-spacing:0;font-weight:400;font-family:var(--ff-body);font-size:.9rem;color:var(--grey)}
.comment-form-cookies-consent input{width:auto;flex:none}
.comment-form .form-submit{margin:0}
.comment-form .form-submit .submit{cursor:pointer}
.no-comments{color:var(--grey);font-style:italic;margin-bottom:24px}

@media(max-width:992px){
  .single-grid{grid-template-columns:1fr;gap:40px}
  .single-sidebar{position:static}
}
@media(max-width:560px){
  .comment-form{grid-template-columns:1fr}
  .comment-body{flex-direction:column;gap:14px}
}

/* WordPress blog pagination (home.php) */
.blog-pagination{margin-top:40px;display:flex;justify-content:center}
.blog-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;margin:0 4px;border-radius:10px;border:1px solid var(--line);font-family:var(--ff-head);font-weight:700;color:var(--ink);transition:var(--t)}
.blog-pagination .page-numbers.current,.blog-pagination .page-numbers:hover{background:var(--gold);border-color:var(--gold);color:#fff}

/* =========================================================
   11. RESPONSIVE
   ========================================================= */
@media(max-width:1100px){.infostack{gap:18px}.info-widget .lbl{display:none}.hwrap{padding:0 28px}}
@media(max-width:992px){
  .header-top{display:none}
  .header-nav{min-height:78px}
  .nav-brand{display:flex}
  .nav-actions{gap:12px}
  .banner{min-height:auto}
  .banner .inner{padding:130px 0 60px}
  .why-grid{grid-template-columns:1fr}
  .why-visual{min-height:340px}
  .why-content{padding:60px 24px}
  .zone-grid{grid-template-columns:1fr}
  .zone+.zone{border-left:none;border-top:1px solid var(--line)}
  .news-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .counts-grid{grid-template-columns:repeat(2,1fr);gap:38px}
  .why-visual .v2{display:none}
  .testi-grid{grid-template-columns:1fr;gap:32px}
  .testi-left{padding-right:0}
  .testi-right{border-left:none;padding-left:0}
  .t-dots{position:static;margin-top:24px}
  .cinfo-grid,.why-cards,.team-grid,.services-list,.proc-grid,.bgrid,.post-grid{grid-template-columns:repeat(2,1fr)}
  .promo-band .pb-text{max-width:none}
  .pstep .pnum{margin-right:-46px}
  .contact-grid,.about-intro,.mv-grid,.role-body,.intro-grid{grid-template-columns:1fr;gap:36px}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:36px}
}
@media(max-width:768px){
  .hwrap{padding:0 18px}
  .brand .mark{height:56px}
  .brand .word{font-size:1.4rem}
  .btn-login{display:none}
  .hero-arrows{display:none}
  .feat+.feat{border-left:none;padding-left:0}
  .feature-strip .container{grid-template-columns:1fr 1fr}
  .cta-inner{padding:42px 30px}
  .cform .row{grid-template-columns:1fr}
}
@media(max-width:560px){
  .news-grid,.counts-grid,.feature-strip .container,.footer-top{grid-template-columns:1fr}
  .np-row{grid-template-columns:1fr}.np-row .np-img{min-height:200px}
  .cinfo-grid,.why-cards,.team-grid,.services-list,.proc-grid,.stats-grid,.bgrid,.post-grid,.exp-grid,.lead-grid{grid-template-columns:1fr}
  .promo-band .pb-img{display:none}
  .pad{padding:74px 0}
  .nav-actions{gap:8px}
  .btn-dma{padding:7px 15px;font-size:.74rem}
  .lang-toggle button{padding:6px 10px;font-size:.68rem}
  .brand .mark{height:48px}
  .brand .word{font-size:1.2rem}
}
@media(max-width:380px){
  .brand .word{display:none}
}

/* Privacy & Terms Pages */
.note{background:#fbf4e2;border-left:4px solid #C8962E;padding:12px 16px;font-size:.92rem;border-radius:4px}

/* =========================================================
 * PORTED FROM THE APPROVED BUILD'S PAGE-LEVEL <style> BLOCKS
 * 18 August 2026
 *
 * pages.css is NOT the only stylesheet the approved build uses. 17 of its 25
 * HTML files also carry an inline <style> block, and the theme was never built
 * from any of them — vgtme.css was converted from pages.css alone. Everything
 * below existed ONLY inside those inline blocks.
 *
 * This is the complete outstanding set for the 21 approved pages: 16 classes
 * used by fleet.html and one used by index.html. Nothing else is missing.
 * (`.pullq` appears in eleven service pages' inline CSS and in ZERO markup —
 * dead in the build, deliberately not ported.)
 *
 * It lives here rather than in vgt-sections.css because that file is scoped to
 * `.vgt-sections` and only enqueues when vgt_has_sections() is true — neither
 * the fleet page nor the home page would ever load it.
 *
 * Neither page exists in WordPress yet (section 8, items 4 and 8), so none of
 * this is live. It is staged so those two items are not blocked on CSS
 * archaeology.
 *
 * Copied VERBATIM, including three rules that are broken in the approved build.
 * See the note above the spec table.
 * ======================================================= */

/* ---- fleet.html : vehicle detail, spec table, class cards, stats ---- */
/*
 * THREE RULES BELOW ARE DEFECTIVE IN THE APPROVED BUILD — a missing comma turns
 * each selector list into one impossible compound selector, so they match
 * nothing and the styling never applies:
 *
 *   .spec-table th.spec-table td                    -> intended `th, td`
 *   .spec-table tr:last-child th.spec-table tr:...  -> intended `th, td`
 *   .v-thumbs img:hover.v-thumbs img.active         -> intended `:hover, .active`
 *
 * The visible effect in the approved build: spec-table cells get no padding or
 * bottom border, and thumbnails never highlight on hover or when active. They
 * are ported AS-IS so this theme matches the page the client signed off on.
 * Adding the commas is a one-character fix each, but it CHANGES the design and
 * is the client's call — raise it before touching them.
 */
.vehicle{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start;margin-bottom:90px}
.vehicle:last-child{margin-bottom:0}
.vehicle.flip .v-media{order:2}
.v-media{position:relative}
.v-hero{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);background:var(--bg-grey)}
.v-hero img{width:100%;height:340px;object-fit:cover;transition:transform .6s cubic-bezier(.4,0.2,1)}
.v-hero:hover img{transform:scale(1.04)}
.v-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.v-thumbs img{width:100%;height:96px;object-fit:cover;border-radius:10px;cursor:pointer;opacity:.75;transition:var(--t);border:2px solid transparent}
.v-thumbs img:hover.v-thumbs img.active{opacity:1;border-color:var(--gold)}
.v-new{position:absolute;top:16px;left:16px;z-index:3;background:var(--gold);color:#fff;font-family:var(--ff-head);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:8px 16px;border-radius:50px;box-shadow:var(--shadow-gold)}
.v-kicker{display:inline-block;font-family:var(--ff-head);font-weight:700;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.v-body h3{font-size:clamp(1.5rem,2.6vw,2rem);color:var(--ink);margin-bottom:14px;letter-spacing:-.01em}
.v-body p{color:var(--grey);font-size:1rem;margin-bottom:16px}
.spec-table{width:100%;border-collapse:collapse;margin:24px 0 22px;font-size:.93rem}
.spec-table th.spec-table td{text-align:left;padding:11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.spec-table th{font-family:var(--ff-head);font-weight:600;color:var(--ink);width:44%;white-space:nowrap;padding-right:16px;text-align:left;}
.spec-table td{color:var(--grey)}
.spec-note{margin:-6px 0 22px;font-size:.86rem;line-height:1.6;color:var(--grey);border-left:3px solid var(--gold-soft);padding-left:14px}
.spec-table tr:last-child th.spec-table tr:last-child td{border-bottom:none}
.tag-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
.vtag{font-family:var(--ff-head);font-size:.78rem;font-weight:600;color:var(--gold-deep);background:var(--gold-soft);padding:7px 15px;border-radius:50px}
.fleet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
@media(max-width:1080px){
  .fleet-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .fleet-grid{grid-template-columns:1fr}
}
.fcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 30px;transition:var(--t)}
.fcard:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.fcard .fi{width:54px;height:54px;border-radius:14px;background:var(--gold-soft);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.fcard .fi svg{width:26px;height:26px;fill:none;stroke:var(--gold-deep);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fcard h3{font-size:1.14rem;color:var(--ink);margin-bottom:10px}
.fcard p{color:var(--grey);font-size:.94rem;margin-bottom:14px}
.fcard ul{margin:0;padding:0;list-style:none}
.fcard ul li{position:relative;padding-left:20px;color:var(--grey);font-size:.9rem;margin-bottom:7px;line-height:1.5}
.fcard ul li:last-child{margin-bottom:0}
.fcard ul li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.fstats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px;padding:44px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fstat{text-align:center}
.fstat b{display:block;font-family:var(--ff-head);font-size:clamp(1.7rem,3vw,2.4rem);color:var(--gold);line-height:1.1;margin-bottom:6px}
.fstat span{color:var(--grey);font-size:.9rem;font-weight:600}
@media(max-width:900px){
  .vehicle{grid-template-columns:1fr;gap:30px;margin-bottom:64px}
  .vehicle.flip .v-media{order:0}
  .v-hero img{height:270px}
  .fstats{grid-template-columns:1fr 1fr;gap:32px 20px}
}
@media(max-width:680px){
  .v-thumbs img{height:74px}
  .spec-table th{width:50%;white-space:normal}
}

/* ---- index.html : the gold home-page CTA band ---- */
.cta-home{background: linear-gradient(120deg, var(--gold) 0%, var(--gold-deep) 100%); border-radius: var(--radius-lg); padding: 56px 60px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap}
.cta-home::after{content: ""; position: absolute; right: -60px; top: -60px; width: 300px; height: 300px; border-radius: 50%; background: rgba(255, 255, 255, .12)}
.cta-home .ct{position: relative; z-index: 2; max-width: 640px}
.cta-home .script{color: #fff}
.cta-home h2{color: #fff; font-size: clamp(1.7rem, 3.2vw, 2.5rem)}
.cta-home p{color: rgba(255, 255, 255, .92); margin-top: 8px}
.cta-home .actions{display: flex; gap: 14px; position: relative; z-index: 2; flex-wrap: wrap}
.cta-home .btn-dark{background: var(--ink); color: #fff}
.cta-home .btn-dark:hover{background: #000}
.cta-home .btn-outline{border-color: rgba(255, 255, 255, .8); color: #fff}
.cta-home .btn-outline:hover{background: #fff; color: var(--ink)}
@media(max-width:768px){
  .cta-home{padding: 42px 30px}
}
