/* Loaded last on every page: one type scale, header width, title spacing. */
:root{--fs-hero:clamp(36px,4.4vw,60px);--fs-h1:clamp(30px,3.1vw,44px);--fs-h2:clamp(24px,2.3vw,34px);--fs-h3:clamp(18px,1.5vw,22px);--fs-body:16px;--fs-small:14px}
h2{font-size:var(--fs-h2);line-height:1.15;letter-spacing:-.025em}
.hero h1{font-size:var(--fs-hero)!important;line-height:1.04}
.jr-mast h1,.hb-head h1,.sub-hero h1,.plp-top h1,.cp-head h1,.dy-h h1,.ja-h h1,.ar-h h1,.post-h h1,.pg-h h1,.wr-top h1{font-size:var(--fs-h1)!important;line-height:1.1;letter-spacing:-.03em}
.jr-lead-t h2{font-size:clamp(24px,2.5vw,34px)!important}
.fc .hello .mr{font-size:clamp(28px,3.6vw,48px)!important}.fc .hello-en{font-size:clamp(22px,2.4vw,32px)!important}
.card h3{font-size:clamp(18px,1.6vw,22px)}
/* header: about 20% wider; room for 8 links */
.hdr{max-width:1344px}.hdr.solid{max-width:min(1290px,calc(100vw - 32px))}
.hdr nav a{padding:9px 12px;font-size:14px}

/* breathing room between the floating header and each page title */
.plp,.pdp,.cpp,.jr,.ja,.blogp,.postp,.pgp{padding-top:156px!important}
.wrp{padding-top:156px}body.adm .wrp{padding-top:36px}
@media (max-width:640px){.plp,.pdp,.cpp,.jr,.ja,.blogp,.postp,.pgp{padding-top:112px!important}}

/* header v2.9: 10% shorter, 9 links, Login button, WhatsApp as an icon */
.hdr{max-width:1210px}.hdr.solid{max-width:min(1160px,calc(100vw - 32px))}
.hdr nav{gap:0}.hdr nav a{padding:8px 10px;font-size:13.5px;white-space:nowrap}
.hdr .right{gap:6px}
.hdr-login{display:inline-flex;align-items:center;gap:7px;height:46px;padding:0 18px;border-radius:14px;background:var(--ink);color:#fff;font-weight:600;font-size:14.5px;white-space:nowrap}
.hdr-login .ico{width:18px;height:18px}.hdr-login:hover{background:#163B63}
.hdr:not(.solid) .hdr-login{background:#fff;color:var(--ink)}
.ibtn.wa-i{color:#1A7F33}.hdr:not(.solid) .ibtn.wa-i{color:#86E494}.ibtn.wa-i .ico{width:21px;height:21px}

@media (max-width:640px){.hdr-login span{display:none}.hdr-login{padding:0 12px;height:42px}}
.hdr .hdr-login{background:var(--ink)!important;color:#fff!important;opacity:1!important;border:0}
.hdr:not(.solid) .hdr-login{background:#fff!important;color:var(--ink)!important}
.hdr .hdr-login svg{stroke:currentColor}

/* header: full links on laptops and desktops, hamburger only on tablets and phones */
.hdr .menu-btn{display:none}
@media (max-width:1240px){.hdr nav a{padding:8px 7px;font-size:13px}.hdr-login{padding:0 14px}}
@media (max-width:1080px){.hdr nav{display:none!important}.hdr .menu-btn{display:grid!important}}

/* modern baseline for every device */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,svg,video,iframe{max-width:100%}img{height:auto}
button,a,input,select,label,summary{touch-action:manipulation}
:focus-visible{outline:2px solid #2D5FA8;outline-offset:2px}
@media (max-width:640px){input,select,textarea{font-size:16px!important}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.lang button{min-height:24px;min-width:32px}
.strip .l>*,.strip .r>a{white-space:nowrap}
@media (max-width:1020px){.strip .l span.hide-s,.strip .r a[href*="refer"]{display:none}}
/* blog cards block (blog-strip.js) */
.bs-h{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px}.bs-h h2{margin:0;color:var(--ink)}
.bs-g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bs-g a{display:grid;gap:6px;height:100%;background:#fff;border:1px solid var(--rule);border-radius:20px;padding:10px 10px 16px;color:var(--ink);transition:transform .3s,box-shadow .3s}
.bs-g a:hover{transform:translateY(-4px);box-shadow:0 22px 40px -28px rgba(11,42,74,.45)}
.bs-im{display:block;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#EEEAE2}.bs-im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.bs-g a:hover .bs-im img{transform:scale(1.04)}
.bs-c{font-size:12px;font-weight:600;color:#E8891D;padding:4px 6px 0}.bs-g b{font-size:16.5px;line-height:1.35;padding:0 6px}.bs-d{font-size:14px;color:var(--mute);line-height:1.5;padding:0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:900px){.bs-g{grid-auto-flow:column;grid-auto-columns:78%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}.bs-g li{scroll-snap-align:start}.bs-g::-webkit-scrollbar{display:none}}
.pd-bs{padding-top:8px;padding-bottom:48px}
/* phone and tablet menu: header drop-down (site.js). Opens with clip-path + transform only, so it stays smooth. */
.hdd{display:none}
@media (max-width:1080px){
 .hdr{position:relative;transition:background .3s,border-radius .25s,box-shadow .3s,color .3s}
 .hdr .hdd{display:block;position:absolute;left:-1px;right:-1px;top:calc(100% - 1px);background:#F6F3EC;border:1px solid rgba(11,42,74,.10);border-top:0;border-radius:0 0 22px 22px;box-shadow:0 40px 70px -30px rgba(11,42,74,.55);
   clip-path:inset(0 0 100% 0 round 0 0 22px 22px);visibility:hidden;transition:clip-path .38s cubic-bezier(.4,0,.2,1),visibility 0s .38s;will-change:clip-path}
 .hdr.drop{background:#F6F3EC!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:var(--ink)!important;border-color:rgba(11,42,74,.10)!important;border-radius:20px 20px 0 0!important;box-shadow:none!important}
 .hdr.drop .hdd{clip-path:inset(0 0 0 0 round 0 0 22px 22px);visibility:visible;transition:clip-path .5s cubic-bezier(.16,1,.3,1),visibility 0s}
 .hdd-in{overflow-y:auto;overscroll-behavior:contain;max-height:calc(100dvh - 104px);padding:0 10px 12px;-webkit-overflow-scrolling:touch}
 .hdd .mp-pn{border-top:1px solid rgba(11,42,74,.08);padding:10px 0 2px;display:grid;gap:8px}
 .hdd .mp-pn>*{opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s}
 .hdr.drop .hdd .mp-pn>*{opacity:1;transform:none;transition:opacity .35s,transform .45s cubic-bezier(.16,1,.3,1)}
 .hdr.drop .hdd .mp-pn>:nth-child(2){transition-delay:.04s}.hdr.drop .hdd .mp-pn>:nth-child(3){transition-delay:.08s}.hdr.drop .hdd .mp-pn>:nth-child(4){transition-delay:.12s}
 .hdd .mp-me{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:var(--ink);color:#fff}
 .hdd .mp-me i{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;flex:none}
 .hdd .mp-me svg,.hdd nav i svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .hdd .mp-me div{display:grid;flex:1}.hdd .mp-me b{font-size:14.5px}.hdd .mp-me div span{font-size:12px;opacity:.8}
 .hdd .mp-me .go{background:#fff;color:var(--ink);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}
 /* saved and compare: quiet text links, not buttons */
 .hdd .mp-cnt{display:flex;gap:18px;padding:2px 6px}
 .hdd .mp-cnt button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font:500 13px Poppins,sans-serif;color:#5B6675;min-height:32px}
 .hdd .mp-cnt button:focus-visible{outline:2px solid #2D5FA8;outline-offset:2px;border-radius:6px}
 .hdd .mp-cnt span{font-size:11.5px;font-weight:600;color:var(--ink);background:#E9E4DA;border-radius:99px;padding:1px 7px}
 .hdr .hdd nav{display:grid!important;grid-template-columns:1fr 1fr;gap:6px;position:static;background:none;padding:0;height:auto}
 .hdd nav a{display:flex;align-items:center;gap:10px;min-height:50px;padding:6px 10px;border-radius:14px;background:#fff;border:1px solid transparent;font-weight:600;font-size:14.5px;color:var(--ink);transition:border-color .2s,background .2s}
 .hdd nav a:active{background:#FBEEDD}.hdd nav a[aria-current=page]{border-color:var(--ink)}
 .hdd nav i{width:30px;height:30px;border-radius:9px;background:#F6F3EC;display:grid;place-items:center;flex:none;color:var(--ink)}
 .hdd .mp-bt{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .hdd .mp-bt a{display:flex!important;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:14px;font-weight:600;font-size:15px}
 .hdd .mp-bt a svg{width:18px;height:18px}
 .hdd .mp-bt .c{background:#fff;border:1px solid var(--rule);color:var(--ink)}.hdd .mp-bt .w{background:#1A7F33;color:#fff}
 .hdr.drop .menu-btn{background:#0B2A4A!important;color:#fff!important}
 .hdd-scrim{position:fixed;inset:0;z-index:29;background:rgba(7,28,51,.35);opacity:0;pointer-events:none;transition:opacity .35s}
 .hdd-scrim.on{opacity:1;pointer-events:auto}
}
@media (prefers-reduced-motion:reduce){.hdr .hdd,.hdd .mp-pn>*{transition:none!important}}
@media (max-width:1080px){.hdr .hdd .mp-pn{opacity:1!important;transform:none!important;visibility:visible!important;position:static!important}}
@media (max-width:1080px){.hdr .hdd .mp-pn{background:none;border-radius:0;padding:10px 0 2px;max-width:none;margin:0;display:grid;gap:8px}.hdd nav a:after,.hdd nav a::after{display:none!important}.hdd .mp-me .go{height:auto;line-height:1.2;align-self:center;flex:none}}
@media (max-width:1080px){.hdr .hdd nav{margin:0!important;padding:0!important}.hdd .mp-me .go{padding:8px 14px!important;height:auto!important;width:auto!important;min-height:0!important;display:inline-flex!important;align-items:center}}
/* homepage zero-brokerage story on phones: stamp sits on the card's top corner, card clears the bottom dock */
@media (max-width:640px){.za .stamp{top:-18px!important;bottom:auto!important;right:8px!important}.za .stage{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}.za .tag .ph{max-height:96px}}
/* one spacing scale for every page (8px grid). Section gap, card gap, card padding, heading gap. */
:root{--s1:8px;--s2:12px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;--sec:clamp(56px,6.5vw,88px);--card-gap:var(--s4);--card-pad:clamp(20px,2.8vw,32px)}
.pgp .wrap>section,.pgp .wrap>ul,.ca>section,.cb>section{margin-top:var(--sec)!important}
.pgp .wrap>section:first-child,.ca>section:first-child,.cb>section:first-child,.pgp .wrap>.ln-hero,.pgp .wrap>.ln-prev+section{margin-top:0!important}
.pgp .wrap>.pg-sec+.pg-sec{margin-top:var(--card-gap)!important}
.pgp .wrap>.ln-stats{margin-top:var(--s5)!important}
.pgp .wrap>.ln-disc,.pgp .wrap>p:last-child{margin-top:var(--s4)}
.pg-sec{padding:var(--card-pad)}
.pgp h2{margin-bottom:var(--s2)}
.pgp .pg-h{margin-bottom:var(--s5)}
@media (max-width:720px){:root{--sec:52px;--card-gap:16px}}
.jr-qf{max-width:100%;box-sizing:border-box}.jr-qf input{min-width:0}
.pgp .ln-cta h2,.pgp .ln-cta h2 *{color:#fff!important}
/* v3.18 layout stability: reserve room for content drawn by script so the footer does not jump (CLS) */
.plist:empty,#pd:empty,#cmpPage:empty,#blogList:empty,#jrHub:empty{min-height:100vh}
.jbr{min-height:100vh}
[data-blogs]:not(.bs){min-height:440px}
.skip{position:fixed;left:16px;top:-80px;z-index:1000;padding:12px 18px;border-radius:12px;background:#0B2A4A;color:#fff;font-weight:600;transition:top .2s}
.skip:focus{top:16px;outline:3px solid #E8891D;outline-offset:2px}
/* v3.18 readability floor: no visible text under 12px (WCAG-friendly, mobile guidance) */
.tk-tag small,.cmd [data-slot] span,.fbtn span,.fbtn b,.pop-mm span,.gal-tag small,.enq small,.cp-price small,.pd-bar div span,.gate-f span,.g-tabs button em,.pop-opts.row .po.pill em,.fs summary b,.fo em,.fmm span,.ptop-f b,.jr-draft,.cx-gh,.sd-badge span,.jb-tl span,.cz-ft small,.cz-gh,.hdd .mp-cnt span,.ln-axis,.ln-who .ln-mono,.ln-chip .ln-mono,.ln-gs,.ca-paper .cert span{font-size:12px!important}
/* small text links get a 24px+ hit area */
.fq-f,.jb .link,.cn-va .link,.tk-addr a,.crumb a{display:inline-block;min-height:24px;padding:2px 0}
/* metric-matched fallback so the swap to Poppins does not move text (CLS); values as used by next/font for Poppins over Arial */
@font-face{font-family:"Poppins Fallback";src:local("Arial");ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}
body{font-family:Poppins,"Poppins Fallback",system-ui,sans-serif}
/* job role page: keep room for the role while it loads */
.jbr-g[hidden]{display:block!important;visibility:hidden;min-height:1100px}
