@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#0b1220;--ink:#172235;--muted:#6c7788;--line:#e8edf2;--green:#55d6a2;--paper:#f7f9fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,a,select,input{font:inherit}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:82px;padding:0 max(calc((100vw - 1180px)/2),5.5%);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #eff2f5;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:19px;letter-spacing:-.8px}.brand-mark{height:39px;width:39px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:17px;letter-spacing:-2px}.brand-mark span{color:var(--green)}.brand-accent{color:#16996e}.brand small{display:block;font:700 8px 'DM Sans',Arial;letter-spacing:1.6px;color:#8993a1;margin-top:1px}.desktop-nav{display:flex;gap:34px;margin-left:50px}.desktop-nav a{font-size:13px;color:#586477;font-weight:600}.desktop-nav a:hover{color:#14966b}.header-actions{display:flex;align-items:center;gap:9px}.currency-wrap select,.language-wrap select{border:1px solid var(--line);border-radius:9px;padding:9px 25px 9px 9px;background:#fff;color:#28364b;font-weight:700;font-size:11px;outline:none;max-width:145px}.mobile-menu{display:none;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;cursor:pointer}
.hero{min-height:530px;background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:76px max(calc((100vw - 1180px)/2),5.5%);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 50%,rgba(49,113,108,.24),transparent 33%);pointer-events:none}.hero-glow{position:absolute;width:440px;height:440px;border-radius:50%;background:#3bbf91;filter:blur(150px);opacity:.13;right:12%;top:8%}.hero-content,.hero-visual{position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#80e0bc;display:flex;align-items:center;gap:10px}.pulse{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px #55d6a21c}.hero h1{font:800 clamp(42px,5.1vw,65px)/1.08 Manrope,Arial,sans-serif;letter-spacing:-3px;margin:22px 0 18px}.hero h1 em,.section-heading h2 em,.about-box h2 em{font-style:normal;color:var(--green)}.hero-content>p{color:#aeb9c9;font-size:15px;line-height:1.8;max-width:500px;margin:0}.hero-actions{display:flex;gap:13px;margin-top:29px}.btn{border:0;border-radius:9px;padding:13px 18px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:22px;cursor:pointer}.btn-primary{background:var(--green);color:#082017}.btn-quiet{color:#dce5ef;border:1px solid #ffffff30;background:transparent}.hero-trust{display:flex;align-items:center;gap:10px;color:#8999ab;font-size:10px;margin-top:28px}.hero-trust span:first-child{color:var(--green);font-weight:900}.hero-trust i{height:3px;width:3px;border-radius:50%;background:#627083;margin:0 4px}.hero-visual{min-height:320px;display:flex;align-items:center;justify-content:center}.visual-card-main{width:min(100%,430px);border:1px solid #ffffff21;background:linear-gradient(145deg,#1b2b42,#111c2e);border-radius:20px;padding:25px 28px 17px;box-shadow:0 30px 80px #0005;transform:rotate(1.5deg)}.visual-top{display:flex;justify-content:space-between;color:#aab8c9;font-size:11px;font-weight:600}.dots{letter-spacing:3px}.visual-number{font:800 36px Manrope,Arial,sans-serif;margin-top:24px;letter-spacing:-1.5px}.visual-number span{margin-left:4px}.visual-gain{color:var(--green);font-size:11px;margin-top:4px}.visual-card-main svg{width:100%;height:130px;margin-top:17px}.visual-bottom{display:flex;justify-content:space-between;color:#77889c;font-size:8px;letter-spacing:1.4px}.floating-chip{position:absolute;background:#fff;color:#26374a;border-radius:10px;padding:12px 15px;box-shadow:0 12px 40px #0003;font-size:11px;font-weight:800}.chip-one{right:-2%;top:25%;color:#159b6f}.chip-two{left:2%;bottom:15%;color:#5b6a7e}
.stats-strip{max-width:1180px;margin:auto;padding:25px 0;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.stats-strip div{display:flex;align-items:center;justify-content:center;gap:12px;border-right:1px solid var(--line)}.stats-strip div:last-child{border:0}.stats-strip strong{font:800 22px Manrope,Arial;color:#17263a}.stats-strip span{font-size:11px;color:#7a8594}.section{max-width:1180px;margin:auto}.calculators-section{padding:88px 0 96px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.dark-eyebrow{color:#16966e}.section-heading h2,.about-box h2{font:800 37px/1.2 Manrope,Arial;letter-spacing:-1.7px;margin:12px 0 0;color:#172337}.section-heading h2 em{color:#14966b}.section-heading>p{font-size:12px;line-height:1.7;color:#798494;max-width:330px;margin:0 0 4px}.category-tabs{display:flex;gap:8px;margin:32px 0 20px;flex-wrap:wrap}.category-tab{border:1px solid var(--line);background:#fff;color:#667386;border-radius:8px;padding:10px 15px;font-size:11px;font-weight:700;cursor:pointer}.category-tab.active,.category-tab:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.calculator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.calc-card{text-align:left;position:relative;border:1px solid var(--line);background:#fff;border-radius:15px;padding:23px 22px 25px;min-height:220px;cursor:pointer;transition:.2s;display:flex;flex-direction:column;align-items:flex-start}.calc-card:hover{transform:translateY(-4px);border-color:#b8dfd0;box-shadow:0 15px 35px #142a3d0b}.calc-icon{height:39px;width:39px;border-radius:11px;display:grid;place-items:center;font-size:21px;margin-bottom:17px}.purple{background:#f0edff;color:#7762d8}.green{background:#e7f8f0;color:#15996b}.orange{background:#fff2e7;color:#d77a32}.blue{background:#e9f3ff;color:#397fca}.pink{background:#fff0f3;color:#d75d79}.teal{background:#e6f7f6;color:#1c9690}.calc-category{font-size:8px;font-weight:800;letter-spacing:1.4px;color:#8b96a5}.calc-card strong{font:800 15px Manrope,Arial;color:#1a293d;margin:8px 0}.calc-card>span:nth-of-type(3){font-size:11px;line-height:1.65;color:#7a8696;max-width:90%}.card-arrow{position:absolute;right:21px;bottom:20px;color:#15996b;font-size:18px}
.how-section{background:#f7f9fb;padding:75px max(calc((100vw - 1180px)/2),5.5%) 83px}.centered{justify-content:center;text-align:center}.centered .eyebrow{justify-content:center}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.step{position:relative;padding:0 25px;text-align:center}.step>span{position:absolute;right:10px;top:-8px;font:800 12px Manrope;color:#b5c1cc}.step-icon{height:54px;width:54px;margin:0 auto 17px;border-radius:16px;background:#e4f6ee;color:#14966b;display:grid;place-items:center;font-size:24px}.step h3{font:800 14px Manrope,Arial;margin:0 0 9px}.step p{font-size:11px;line-height:1.7;color:#7a8695;margin:0}.about-section{max-width:1180px;margin:auto;padding:80px 0}.about-box{background:var(--navy);color:#fff;border-radius:20px;padding:45px 55px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.about-box h2{color:#fff;font-size:34px}.about-box p{color:#aab7c7;font-size:12px;line-height:1.9;margin:0}.disclaimer{max-width:1180px;margin:0 auto 60px;padding:17px 20px;background:#f7f9fb;border:1px solid #edf1f4;border-radius:10px;display:flex;gap:12px;align-items:flex-start}.disclaimer span{color:#14966b;font-size:16px}.disclaimer p{font-size:10px;line-height:1.7;color:#758193;margin:0}.site-footer{border-top:1px solid var(--line);min-height:100px;padding:25px max(calc((100vw - 1180px)/2),5.5%);display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font-size:15px}.footer-brand .brand-mark{height:32px;width:32px;font-size:14px}.site-footer>span,.site-footer>div a{font-size:10px;color:#8a95a3}.site-footer>div{display:flex;gap:18px}
.modal-backdrop{display:none;position:fixed;inset:0;background:#07101dcc;z-index:50;padding:25px;overflow-y:auto;align-items:center;justify-content:center}.modal-backdrop.open{display:flex}.calculator-modal{position:relative;background:#fff;border-radius:20px;width:min(850px,100%);padding:32px;box-shadow:0 25px 90px #0005;max-height:calc(100vh - 50px);overflow-y:auto}.modal-close{position:absolute;right:20px;top:17px;border:0;background:#f1f4f6;width:34px;height:34px;border-radius:50%;font-size:22px;color:#5c6878;cursor:pointer}.modal-kicker{font-size:9px;font-weight:800;letter-spacing:1.5px;color:#15966d}.calculator-modal h2{font:800 26px Manrope,Arial;letter-spacing:-1px;margin:8px 40px 5px 0}.modal-description{font-size:11px;color:#7a8694;margin:0 0 25px}.modal-body{display:grid;grid-template-columns:1fr 1fr;gap:25px}.calculator-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;font-weight:700;color:#526074}.field input,.field select{width:100%;padding:12px 11px;border:1px solid #dfe6ec;border-radius:8px;background:#fff;color:#1e2b3d;font-size:12px;outline:none}.field input:focus,.field select:focus{border-color:#35b98a;box-shadow:0 0 0 3px #35b98a1c}.calculate-btn{grid-column:1/-1;background:var(--navy);color:#fff;border:0;border-radius:8px;padding:13px;font-weight:800;font-size:11px;cursor:pointer}.result-panel{background:#f3faf6;border:1px solid #e0f1e8;border-radius:14px;padding:21px;min-height:230px}.result-label{font-size:9px;letter-spacing:1.5px;font-weight:800;color:#718b7d}.result-main{font:800 31px Manrope,Arial;color:#117a56;letter-spacing:-1px;margin:12px 0 3px;overflow-wrap:anywhere}.result-caption{font-size:10px;color:#728176}.result-breakdown{border-top:1px solid #dcece2;margin-top:18px;padding-top:13px;display:grid;gap:10px}.breakdown-row{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#67766c}.breakdown-row strong{color:#263b30;text-align:right}.result-note{font-size:9px;line-height:1.6;color:#839188;margin-top:14px}.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);margin-top:22px;padding-top:17px;color:#8a95a3;font-size:9px}.btn-outline{background:#fff;border:1px solid #dfe6ec;color:#536174;padding:9px 12px}
[dir="rtl"] body{text-align:right}[dir="rtl"] .hero,[dir="rtl"] .section-heading,[dir="rtl"] .about-box{direction:rtl}[dir="rtl"] .hero-trust,[dir="rtl"] .hero-actions{flex-direction:row-reverse}[dir="rtl"] .calc-card{text-align:right}[dir="rtl"] .card-arrow{right:auto;left:21px}
@media(max-width:1250px){.site-header,.hero,.site-footer{padding-left:5%;padding-right:5%}.section,.stats-strip,.about-section,.disclaimer{margin-left:5%;margin-right:5%}.how-section{padding-left:5%;padding-right:5%}}
@media(max-width:760px){.site-header{height:70px}.desktop-nav{display:none}.mobile-menu{display:block}.hero{padding-top:58px;padding-bottom:50px;grid-template-columns:1fr;gap:30px}.hero h1{font-size:48px}.hero-visual{min-height:270px}.visual-card-main{width:90%}.chip-one{right:0}.chip-two{left:0}.stats-strip{padding:20px 0}.stats-strip div{flex-direction:column;gap:4px;text-align:center}.stats-strip strong{font-size:19px}.stats-strip span{font-size:9px}.calculators-section{padding:65px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:10px}.section-heading h2{font-size:30px}.calculator-grid{grid-template-columns:1fr 1fr;gap:10px}.calc-card{padding:17px 15px;min-height:215px}.calc-card strong{font-size:13px}.calc-card>span:nth-of-type(3){font-size:10px}.steps-grid{grid-template-columns:1fr;gap:30px}.step{max-width:360px;margin:auto}.about-box{padding:30px 25px;grid-template-columns:1fr;gap:20px}.about-box h2{font-size:29px}.site-footer{flex-wrap:wrap;padding-top:25px;padding-bottom:25px}.site-footer>span{order:3;width:100%}.modal-backdrop{padding:10px;align-items:flex-start}.calculator-modal{padding:25px 19px;margin:10px 0;max-height:none}.modal-body{grid-template-columns:1fr}.calculator-form{grid-template-columns:1fr 1fr}.modal-footer{align-items:flex-start;flex-direction:column}.result-main{font-size:28px}}
@media(max-width:480px){.calculator-grid{grid-template-columns:1fr}.calc-card{min-height:190px}.currency-wrap select,.language-wrap select{max-width:100px;padding:9px 4px}.brand{font-size:16px}.brand-mark{width:34px;height:34px}.hero h1{font-size:42px}.hero-trust{flex-wrap:wrap}.category-tab{padding:9px 10px;font-size:10px}}

/* Slider + exact-value input controls */
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.field-value{font-size:10px;font-weight:800;color:#15966b;font-variant-numeric:tabular-nums}
.slider-field .number-input{padding:10px 11px}
.range-input{width:100%;height:6px;margin:8px 0 2px;accent-color:#15996b;cursor:pointer;touch-action:pan-y}
.range-input:focus-visible{outline:2px solid #15996b;outline-offset:4px}
@media(max-width:480px){.range-input{height:8px;margin:10px 0 4px}.field-value{font-size:11px}}

/* Modern motion layer — subtle, accessible and performance-conscious */
:root{scroll-behavior:smooth}
body{overflow-x:hidden}
.site-header{transition:box-shadow .28s ease,background .28s ease,backdrop-filter .28s ease}
.site-header.is-scrolled{box-shadow:0 8px 28px rgba(7,18,32,.08);background:rgba(255,255,255,.92);backdrop-filter:blur(14px)}
.hero{isolation:isolate}
.hero:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(85,214,162,.10);border-radius:50%;right:-130px;top:-170px;z-index:-1;box-shadow:0 0 0 45px rgba(85,214,162,.025),0 0 0 90px rgba(85,214,162,.018);animation:orbitGlow 16s linear infinite}
.hero-glow{animation:glowPulse 7s ease-in-out infinite alternate}
.visual-card-main{animation:cardFloat 7s ease-in-out infinite;transform-origin:center}
.chip-one{animation:chipFloat 5s ease-in-out infinite}
.chip-two{animation:chipFloat 6s ease-in-out infinite reverse}
.visual-card-main svg path:last-child{stroke-dasharray:700;stroke-dashoffset:700;animation:drawLine 2.1s .35s cubic-bezier(.22,.7,.2,1) forwards}
.visual-card-main svg path:first-of-type{opacity:0;animation:fadeUp .9s 1.2s ease forwards}
.btn{transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.btn:hover{transform:translateY(-3px)}
.btn-primary:hover{box-shadow:0 10px 28px rgba(85,214,162,.25);background:#6be2b3}
.btn-quiet:hover{border-color:#55d6a2;background:rgba(255,255,255,.06)}
.calc-card{overflow:hidden}
.calc-card:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(85,214,162,.09) 50%,transparent 75%);transform:translateX(-130%);transition:transform .7s ease;pointer-events:none}
.calc-card:hover:before{transform:translateX(130%)}
.calc-icon{transition:transform .3s cubic-bezier(.2,.8,.2,1),border-radius .3s ease}
.calc-card:hover .calc-icon{transform:translateY(-4px) rotate(-7deg);border-radius:14px}
.category-tab{transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.category-tab:hover{transform:translateY(-2px)}
.step-icon{transition:transform .3s ease,box-shadow .3s ease}
.step:hover .step-icon{transform:translateY(-5px) scale(1.05);box-shadow:0 12px 25px rgba(21,153,107,.13)}
.reveal-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal-ready .reveal-delay-1{transition-delay:.08s}
.reveal-ready .reveal-delay-2{transition-delay:.16s}
.reveal-ready .reveal-delay-3{transition-delay:.24s}
.hero-content>*{animation:heroEnter .75s both}
.hero-content .eyebrow{animation-delay:.05s}
.hero-content h1{animation-delay:.14s}
.hero-content>p{animation-delay:.23s}
.hero-content .hero-actions{animation-delay:.32s}
.hero-content .hero-trust{animation-delay:.4s}
.hero-visual{animation:heroVisualEnter 1s .15s both}
@keyframes heroEnter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroVisualEnter{from{opacity:0;transform:translateX(24px) scale(.97)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes cardFloat{0%,100%{translate:0 0;rotate:1.5deg}50%{translate:0 -10px;rotate:.3deg}}
@keyframes chipFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes glowPulse{from{opacity:.10;transform:scale(.9)}to{opacity:.22;transform:scale(1.12)}}
@keyframes orbitGlow{to{transform:rotate(360deg)}}
@keyframes drawLine{to{stroke-dashoffset:0}}
@keyframes fadeUp{to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-ready .reveal{opacity:1;transform:none}}

/* Currency converter */
.fx-section{background:#f7f9fb;padding:64px max(calc((100vw - 1180px)/2),5.5%) 68px}
.fx-shell{max-width:1180px;margin:0 auto}
.fx-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.fx-heading h2{font:800 36px/1.2 Manrope,Arial;letter-spacing:-1.6px;margin:10px 0;color:#172337}
.fx-heading h2 em{font-style:normal;color:#14966b}
.fx-heading p{font-size:12px;color:#7a8695;line-height:1.7;margin:0;max-width:480px}
.fx-live-badge{display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid #dceee5;background:#effaf4;border-radius:30px;color:#18845f;font-size:10px;white-space:nowrap}
.fx-live-badge span,.fx-status-dot{height:7px;width:7px;border-radius:50%;background:#22b77d;box-shadow:0 0 0 4px #22b77d1b}
.fx-card{background:#fff;border:1px solid #e7edf1;border-radius:18px;padding:26px;box-shadow:0 16px 45px rgba(20,43,61,.055)}
.fx-input-grid{display:grid;grid-template-columns:1fr 48px 1fr;gap:18px;align-items:end}
.fx-field label{display:block;font-size:10px;font-weight:800;color:#647184;margin-bottom:9px}
.fx-value-wrap{display:flex;border:1px solid #dfe6ec;border-radius:11px;overflow:hidden;min-width:0;background:#fff;transition:border-color .2s,box-shadow .2s}
.fx-value-wrap:focus-within{border-color:#39bd8d;box-shadow:0 0 0 3px #39bd8d1a}
.fx-value-wrap input{min-width:0;width:100%;border:0;outline:0;padding:15px 13px;font:700 20px Manrope,Arial;color:#17263a;background:transparent}
.fx-value-wrap input[readonly]{color:#12845e;background:#f4fbf7}
.fx-value-wrap select{max-width:48%;border:0;border-left:1px solid #e7edf1;background:#f9fbfc;padding:0 10px;color:#334257;font-size:11px;font-weight:800;outline:0}
.fx-swap{height:44px;width:44px;border:1px solid #dfe8e3;border-radius:13px;background:#effaf4;color:#12845e;font-size:25px;cursor:pointer;transition:transform .25s,background .2s}
.fx-swap:hover{transform:rotate(180deg);background:#dff7eb}
.fx-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px}
.fx-rate-info{display:flex;align-items:center;gap:9px;font-size:11px;color:#667486}
.fx-rate-info.loading .fx-status-dot{background:#e3a72e;box-shadow:0 0 0 4px #e3a72e1c;animation:glowPulse 1s infinite alternate}
.fx-rate-info.error .fx-status-dot{background:#dc5d5d;box-shadow:0 0 0 4px #dc5d5d1c}
.fx-convert-btn{min-width:160px}
.fx-meta{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #edf1f3;margin-top:20px;padding-top:14px;font-size:9px;color:#8b96a4}
.fx-disclaimer{font-size:10px;line-height:1.7;color:#8792a0;margin:13px 2px 0}
@media(max-width:760px){.fx-section{padding:52px 5%}.fx-heading{align-items:flex-start;flex-direction:column}.fx-heading h2{font-size:30px}.fx-input-grid{grid-template-columns:1fr;gap:12px}.fx-swap{justify-self:center;transform:rotate(90deg)}.fx-swap:hover{transform:rotate(270deg)}.fx-value-wrap input{font-size:18px}.fx-bottom-row{align-items:stretch;flex-direction:column}.fx-convert-btn{width:100%}.fx-meta{flex-direction:column}}


/* Multi-page content system */
.page-hero{background:#0b1220;color:#fff;padding:76px max(6vw,24px) 68px;position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#55d6a222,transparent 68%);right:-100px;top:-180px;pointer-events:none}
.page-hero-inner,.content-wrap{max-width:1120px;margin:0 auto;position:relative;z-index:1}
.breadcrumb{font-size:13px;color:#aebbc9;margin-bottom:22px}.breadcrumb a{color:#55d6a2;text-decoration:none}
.page-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.08;letter-spacing:-1.8px;max-width:850px;margin:0 0 18px}
.page-hero h1 em{color:#55d6a2;font-style:normal}.page-hero p{color:#c4ced8;line-height:1.75;font-size:17px;max-width:760px;margin:0}
.content-wrap{padding:54px 24px 76px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:42px;align-items:start}
.article-content{min-width:0;color:#263445}.article-content h2{font-size:27px;letter-spacing:-.6px;color:#111c2d;margin:38px 0 12px}.article-content h2:first-child{margin-top:0}
.article-content h3{font-size:19px;color:#142238;margin:25px 0 8px}.article-content p,.article-content li{font-size:16px;line-height:1.8;color:#526071}.article-content ul,.article-content ol{padding-left:22px}
.article-content a{color:#087f5b;text-underline-offset:3px}.note-panel{background:#effaf5;border:1px solid #d5f1e4;border-radius:14px;padding:18px 20px;margin:24px 0;color:#355b4b;line-height:1.7}
.side-panel{background:#f6f8fa;border:1px solid #e6ebef;border-radius:16px;padding:22px;position:sticky;top:100px}.side-panel h3{margin:0 0 12px;color:#152236}.side-panel a{display:block;padding:9px 0;color:#536174;text-decoration:none;border-bottom:1px solid #e5eaf0;font-size:14px}.side-panel a:last-child{border:0}
.tool-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}.tool-tile{background:#fff;border:1px solid #e5ebef;border-radius:16px;padding:22px;text-decoration:none;transition:.2s;display:block}.tool-tile:hover{transform:translateY(-4px);border-color:#8bdcba;box-shadow:0 12px 28px #0b12200d}.tool-tile small{color:#0c9568;font-weight:700;letter-spacing:1px}.tool-tile h3{color:#172438;margin:10px 0 8px;font-size:19px}.tool-tile p{color:#647184;line-height:1.6;font-size:14px;margin:0}
.cta-band{background:#0b1220;color:white;border-radius:20px;padding:30px;margin:34px 0}.cta-band h2{color:#fff!important;margin:0 0 10px!important}.cta-band p{color:#c6d0dc!important;margin:0 0 18px}.cta-band .btn{display:inline-flex}
.faq-item{border-bottom:1px solid #e6ebef;padding:18px 0}.faq-item h3{margin:0 0 8px}.faq-item p{margin:0}
.form-card{background:#f7f9fb;border:1px solid #e7edf1;border-radius:18px;padding:24px;max-width:680px}.form-card label{display:block;font-weight:650;font-size:14px;margin:14px 0 7px;color:#29394d}.form-card input,.form-card textarea{width:100%;padding:13px 14px;border:1px solid #d9e1e7;border-radius:9px;font:inherit;background:white}.form-card textarea{min-height:140px;resize:vertical}
.form-card button{margin-top:16px;border:0;cursor:pointer}.form-hint{font-size:13px;color:#68788a}
.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:14px}.site-footer .footer-links a{white-space:nowrap}
@media(max-width:800px){.content-grid{grid-template-columns:1fr}.side-panel{position:static}.tool-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.page-hero{padding-top:56px}}
@media(max-width:540px){.tool-directory{grid-template-columns:1fr}.content-wrap{padding:38px 20px 56px}.page-hero{padding-left:20px;padding-right:20px}.site-footer{gap:18px;align-items:flex-start;flex-direction:column}}


/* ==========================================================
   INVESTCALC 2026 EXPERIENCE LAYER
   CSS-first motion, bento surfaces, accessible interactions
   ========================================================== */
:root {
  --ic-ink: #101c2e;
  --ic-muted: #68778a;
  --ic-mint: #55d6a2;
  --ic-line: rgba(18, 35, 54, .09);
  --ic-shadow: 0 18px 55px rgba(13, 29, 47, .09);
}
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
.site-header {
  position: sticky; top: 0; z-index: 100;
  backdrop-filter: saturate(160%) blur(16px);
  -webkit-backdrop-filter: saturate(160%) blur(16px);
  background: rgba(255,255,255,.88);
  border-bottom: 1px solid rgba(20,38,57,.07);
  transition: box-shadow .25s ease, background .25s ease;
}
.site-header.is-scrolled { box-shadow: 0 8px 30px rgba(9,25,42,.08); background: rgba(255,255,255,.96); }
.brand { transition: transform .25s ease; }
.brand:hover { transform: translateY(-1px); }
.desktop-nav a { position: relative; transition: color .2s ease; }
.desktop-nav a::after {
  content:""; position:absolute; left:0; right:100%; bottom:-7px; height:2px;
  background:var(--ic-mint); transition:right .25s ease;
}
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right:0; }
.hero { isolation:isolate; }
.hero::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image: radial-gradient(rgba(255,255,255,.12) .7px, transparent .7px);
  background-size: 23px 23px; opacity:.18;
  mask-image:linear-gradient(to bottom,black,transparent 82%);
}
.hero h1 { text-wrap:balance; }
.hero-content > * { animation: icRise .72s cubic-bezier(.2,.75,.25,1) both; }
.hero-content > :nth-child(2) { animation-delay:.08s; }
.hero-content > :nth-child(3) { animation-delay:.16s; }
.hero-content > :nth-child(4) { animation-delay:.24s; }
.hero-content > :nth-child(5) { animation-delay:.32s; }
.visual-card-main { box-shadow: 0 28px 90px rgba(0,0,0,.25); }
.calc-card, .tool-tile, .step, .fx-card, .side-panel, .form-card {
  transition: transform .28s cubic-bezier(.2,.75,.25,1), box-shadow .28s ease, border-color .28s ease;
}
.calc-card:hover, .tool-tile:hover { transform: translateY(-6px); box-shadow:var(--ic-shadow); }
.calc-card:focus-visible, .tool-tile:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:3px solid rgba(31,170,121,.42); outline-offset:3px;
}
.btn { transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(12,110,79,.18); }
.fx-card { box-shadow:0 24px 65px rgba(20,43,61,.07); }
.fx-swap:active, .btn:active { transform:scale(.97); }
.page-hero { isolation:isolate; }
.page-hero h1 { animation:icRise .65s .04s both; text-wrap:balance; }
.page-hero p { animation:icRise .65s .13s both; }
.content-wrap { animation:icFade .55s ease both; }
.article-content h2 { text-wrap:balance; }
.faq-item { transition:background .2s ease, padding .2s ease; }
.faq-item:hover { background:#f8fbf9; padding-left:12px; padding-right:12px; }
.cta-band { position:relative; overflow:hidden; }
.cta-band::after {
  content:""; position:absolute; width:240px; height:240px; right:-100px; top:-140px;
  border-radius:50%; border:1px solid rgba(85,214,162,.2);
  box-shadow:0 0 0 22px rgba(85,214,162,.035),0 0 0 46px rgba(85,214,162,.025);
  pointer-events:none;
}
.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease, transform .65s cubic-bezier(.2,.75,.25,1); }
.reveal.is-visible { opacity:1; transform:none; }
@keyframes icRise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@keyframes icFade { from { opacity:0; } to { opacity:1; } }
@media (max-width:760px) {
  .site-header { backdrop-filter:blur(12px); }
  .hero::before { opacity:.10; }
  .calc-card:hover, .tool-tile:hover { transform:translateY(-2px); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
  .reveal { opacity:1; transform:none; }
}
/* Keep content visible if IntersectionObserver is unavailable */
@supports not (animation-timeline: view()) {
  .reveal { opacity:1; transform:none; }
}


/* Country/language preference controls */
.ic-locale-controls{display:flex;align-items:center;gap:7px;margin-right:10px}
.ic-locale-controls select{max-width:112px;padding:8px 9px;border:1px solid #e2e8ed;border-radius:9px;background:#fff;color:#253449;font:600 12px inherit;cursor:pointer}
.ic-locale-controls select:focus{outline:2px solid rgba(31,170,121,.45);outline-offset:2px}
.ic-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.ic-locale-controls{margin-right:0}.ic-locale-controls select{max-width:92px;padding:7px 6px}}
@media(max-width:620px){.ic-locale-controls{gap:4px}.ic-locale-controls select{max-width:80px;font-size:11px}.header-actions{gap:6px}}


/* InvestCalc currency converter — focused visual treatment */
#fxTool.fx-card {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
  padding: clamp(20px, 4vw, 32px);
  margin: 26px 0 34px;
  border: 1px solid rgba(95, 125, 170, .18);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(79, 124, 255, .12), transparent 36%),
    linear-gradient(145deg, #fff 0%, #f7f9ff 100%);
  box-shadow: 0 22px 60px rgba(21, 42, 84, .09), 0 2px 8px rgba(21, 42, 84, .04);
  animation: fxCardEnter .65s cubic-bezier(.2,.75,.25,1) both;
}
#fxTool.fx-card > label { align-self: end; color: #34415b; font-size: .88rem; font-weight: 650; }
#fxTool.fx-card > input,
#fxTool.fx-card > select {
  width: 100%; min-width: 0; min-height: 52px;
  border: 1px solid #dce3f0; border-radius: 13px;
  padding: 0 14px; color: #17233b; background: rgba(255,255,255,.94);
  font: inherit; outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
#fxTool.fx-card > input:focus,
#fxTool.fx-card > select:focus {
  border-color: #6385f5; box-shadow: 0 0 0 4px rgba(99,133,245,.14);
}
#fxTool.fx-card > input:hover,
#fxTool.fx-card > select:hover { border-color: #aab9d7; }
#fxTool.fx-card > button { grid-column: 1 / -1; justify-self: start; min-height: 50px; margin-top: 5px; }
#fxTool.fx-card > button:disabled { opacity: .72; cursor: wait; transform: none; }
#fxTool .fx-result {
  grid-column: 1 / -1; min-height: 78px; margin: 4px 0 0; padding: 20px;
  border: 1px solid rgba(67, 103, 194, .16); border-radius: 16px;
  background: linear-gradient(120deg, #edf3ff, #f6f8ff);
  color: #1a2d56; font-size: clamp(1.1rem, 2.5vw, 1.55rem);
  font-weight: 750; line-height: 1.4; overflow-wrap: anywhere;
  transition: background .25s ease, transform .25s ease;
}
#fxTool .fx-result.is-updating { animation: fxPulse .8s ease-in-out infinite alternate; }
#fxTool .form-hint { grid-column: 1 / -1; margin: 0; color: #71809a; font-size: .82rem; line-height: 1.6; }
#fxTool .fx-result.is-error { color: #9d3030; background: #fff1f0; border-color: #f2ceca; }
@keyframes fxCardEnter { from { opacity: 0; transform: translateY(18px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes fxPulse { from { opacity: .65; transform: scale(.995); } to { opacity: 1; transform: scale(1); } }
@media (max-width: 600px) {
  #fxTool.fx-card { grid-template-columns: 1fr; gap: 9px; padding: 19px; border-radius: 19px; }
  #fxTool.fx-card > label { margin-top: 5px; }
  #fxTool.fx-card > button { width: 100%; justify-self: stretch; }
}
@media (prefers-reduced-motion: reduce) {
  #fxTool.fx-card, #fxTool .fx-result.is-updating { animation: none !important; }
  #fxTool.fx-card > input, #fxTool.fx-card > select, #fxTool .fx-result { transition: none !important; }
}

/* InvestCalc global markets + research experience */
.home-market-section{padding:64px max(calc((100vw - 1180px)/2),5.5%);background:#f7f9fb}.market-section-head{max-width:1180px;margin:0 auto 22px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.market-section-head h2{font:800 34px/1.2 Manrope,Arial;letter-spacing:-1.4px;color:#172337;margin:10px 0}.market-section-head h2 em{font-style:normal;color:#14966b}.market-section-head p{font-size:12px;line-height:1.7;color:#748194;margin:0;max-width:560px}.market-ticker-frame{max-width:1180px;margin:auto;background:#fff;border:1px solid #e6edf1;border-radius:14px;overflow:hidden;min-height:74px;padding:10px 12px}.market-home-note{max-width:1180px;margin:12px auto 0;font-size:10px;color:#7c8998;line-height:1.6}.market-home-note a{color:#13885f}.home-discover-section{max-width:1180px;margin:auto;padding:75px 0}.discover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}.discover-card{position:relative;display:block;text-decoration:none;background:#fff;border:1px solid #e5ebef;border-radius:16px;padding:24px;min-height:220px;transition:.2s}.discover-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #142a3d0c;border-color:#a5dec6}.discover-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e9f8f1;color:#11895f;font-size:22px;margin-bottom:16px}.discover-card small,.research-tag{font-size:9px;letter-spacing:1.2px;font-weight:800;color:#11895f}.discover-card h3{font:800 18px Manrope,Arial;color:#172337;margin:9px 0}.discover-card p{font-size:12px;line-height:1.7;color:#738093}.discover-card b{font-size:11px;color:#12865e}.market-page-wrap{padding-top:35px}.market-disclosure{display:flex;gap:12px;align-items:flex-start;background:#fff8e9;border:1px solid #f0dfb9;border-radius:13px;padding:17px 19px;color:#6c5729;font-size:13px;line-height:1.65;margin-bottom:38px}.market-disclosure strong{white-space:nowrap;color:#513d14}.market-block{margin:0 0 48px}.market-block-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:17px}.market-block-head h2,.research-toolbar h2{font:800 27px Manrope,Arial;letter-spacing:-.8px;color:#162439;margin:7px 0}.market-block-head p,.research-toolbar p{font-size:13px;color:#738093;margin:0}.market-pill{display:inline-flex;align-items:center;border:1px solid #dcebe3;background:#f0faf5;color:#14865f;padding:8px 12px;border-radius:30px;font-size:10px;font-weight:800;white-space:nowrap}.market-widget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.tv-panel{background:#fff;border:1px solid #e5ebef;border-radius:15px;padding:12px;min-width:0;overflow:hidden}.tv-panel-title{font-size:10px;font-weight:800;letter-spacing:1px;color:#667486;padding:7px 8px 13px}.tv-panel .tradingview-widget-container{width:100%;min-width:0}.tv-panel .tradingview-widget-container__widget{width:100%}.tv-market-overview,.tv-screener{padding:14px}.market-source-note{background:#f5f8fa;border:1px solid #e6edf1;border-radius:15px;padding:22px;margin-top:36px}.market-source-note h3{margin:0 0 9px;color:#162439}.market-source-note p{font-size:12px;line-height:1.75;color:#667486}.market-source-note a{color:#0e875e}.market-kicker{font-size:10px;letter-spacing:2px;font-weight:800;color:#75dcb5;margin-bottom:15px}.research-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 55px}.research-principles>div{border:1px solid #e6edf1;border-radius:15px;padding:22px;background:#fff}.research-principles b{color:#15966a;font:800 12px Manrope}.research-principles h3{margin:13px 0 7px;color:#172438;font-size:16px}.research-principles p{font-size:12px;line-height:1.7;color:#748194;margin:0}.research-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.research-card{display:flex;flex-direction:column;min-height:230px;padding:23px;border:1px solid #e5ebef;border-radius:16px;text-decoration:none;background:#fff;transition:.2s}.research-card:hover{transform:translateY(-4px);border-color:#a5dec6;box-shadow:0 14px 30px #142a3d0c}.research-card h3{font:800 18px/1.35 Manrope,Arial;color:#172438;margin:13px 0 8px}.research-card p{font-size:12px;line-height:1.7;color:#748194}.research-link{margin-top:auto;font-size:11px;font-weight:800;color:#12865e}.research-policy{background:#f5f8fa;border:1px solid #e6edf1;border-radius:15px;padding:23px;margin-top:35px}.research-policy h3{margin:0 0 10px;color:#172438}.research-policy p{font-size:13px;line-height:1.75;color:#647184}.research-policy a{color:#0d865d}.article-meta-line{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.article-meta-line span{font-size:10px;color:#607083;background:#f1f5f7;border-radius:30px;padding:7px 10px}.article-content .note-panel{font-size:14px}.fx-card#fxTool{max-width:760px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;align-items:end}.fx-card#fxTool>label{margin:0 0 4px}.fx-card#fxTool>input,.fx-card#fxTool>select{width:100%;min-width:0;height:48px;border:1px solid #dce4ea;border-radius:10px;background:#fff;padding:0 13px;font:600 14px Manrope,Arial;color:#203148}.fx-card#fxTool>button,.fx-card#fxTool>.fx-result,.fx-card#fxTool>.form-hint{grid-column:1/-1}.fx-card#fxTool>button{width:100%;margin-top:12px}.fx-card#fxTool .fx-result{margin-top:10px;min-height:56px}.fx-card#fxTool .form-hint{margin:0}.tradingview-widget-copyright{font-size:10px!important;color:#7b8794!important;text-align:center;padding-top:5px}.tradingview-widget-copyright a{color:#667486!important}
@media(max-width:800px){.market-widget-grid,.research-grid,.research-principles,.discover-grid{grid-template-columns:1fr 1fr}.market-section-head,.research-toolbar{align-items:flex-start;flex-direction:column}.market-section-head h2{font-size:29px}.market-disclosure{flex-direction:column;gap:4px}.home-discover-section{padding:58px 5%}.market-page-wrap{padding-left:20px;padding-right:20px}}
@media(max-width:540px){.market-widget-grid,.research-grid,.research-principles,.discover-grid{grid-template-columns:1fr}.market-section-head .btn{width:100%}.market-section-head{padding:0 0}.home-market-section{padding:50px 5%}.market-block-head{align-items:flex-start;flex-direction:column}.fx-card#fxTool{grid-template-columns:1fr}.fx-card#fxTool>button,.fx-card#fxTool>.fx-result,.fx-card#fxTool>.form-hint{grid-column:1}.market-home-note{font-size:9px}}

/* Balanced field groups on the dedicated converter page */
.fx-card#fxTool .fx-field-block{min-width:0;display:flex;flex-direction:column;gap:8px}.fx-card#fxTool .fx-field-block label{display:block;margin:0;font-size:12px;font-weight:800;color:#58677a}.fx-card#fxTool .fx-field-block input,.fx-card#fxTool .fx-field-block select{width:100%;height:50px;min-width:0;border:1px solid #dce4ea;border-radius:10px;background:#fff;padding:0 13px;font:600 14px Manrope,Arial;color:#203148;outline:none}.fx-card#fxTool .fx-field-block input:focus,.fx-card#fxTool .fx-field-block select:focus{border-color:#39bd8d;box-shadow:0 0 0 3px #39bd8d1a}


/* Stock average calculator: show before/after average cost side by side. */
.average-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 14px}
.average-comparison[hidden]{display:none}
.average-compare-card{min-width:0;padding:15px 16px;border:1px solid #dce9e2;border-radius:14px;background:#f7faf8;display:flex;flex-direction:column;gap:8px}
.average-compare-card span{font-size:12px;color:#64756d;line-height:1.4}
.average-compare-card strong{font-size:clamp(18px,2vw,25px);color:#263b32;overflow-wrap:anywhere}
.average-compare-card.is-new{background:#edf8f2;border-color:#b9dfca}
.average-compare-card.is-new strong{color:#087b53}
@media(max-width:560px){.average-comparison{grid-template-columns:1fr;gap:8px}.average-compare-card{padding:12px 14px}}


/* Detailed investment and loan projection tables inside calculator results. */
.result-details{margin:20px 0 8px;padding-top:16px;border-top:1px solid #e2ebe6}
.result-details[hidden]{display:none}
.result-details-title{font-size:13px;font-weight:750;color:#234337;margin-bottom:10px}
.result-table-wrap{width:100%;overflow-x:auto;border:1px solid #e3ebe6;border-radius:12px}
.result-table{width:100%;border-collapse:collapse;font-size:12px;min-width:520px}
.result-table th,.result-table td{padding:10px 11px;text-align:right;border-bottom:1px solid #edf1ee;white-space:nowrap}
.result-table th:first-child,.result-table td:first-child{text-align:left}
.result-table th{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#6d7e75;background:#f6f9f7}
.result-table td{color:#34483e}
.result-table tbody tr:last-child td{border-bottom:0}
.result-details-note{font-size:11px;line-height:1.5;color:#7b8981;margin:9px 0 0}


/* InvestCalc planning features */
.planning-value-section{padding-top:42px;padding-bottom:54px}
.planning-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.planning-value-card{padding:20px;border:1px solid #e4ece7;border-radius:16px;background:#fff;min-width:0}
.planning-value-card>span{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:9px;background:#edf7f1;color:#087b53;font-size:11px;font-weight:800}
.planning-value-card h3{font-size:16px;margin:14px 0 7px;color:#1e342a}
.planning-value-card p{font-size:13px;line-height:1.6;color:#718078;margin:0}
@media(max-width:850px){.planning-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.planning-value-grid{grid-template-columns:1fr}}


/* InvestCalc premium motion system: restrained, accessible and responsive. */
:root{scroll-behavior:smooth;scroll-padding-top:90px}
.reading-progress{position:fixed;z-index:9999;top:0;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#0d8b5b,#8ed7ae);pointer-events:none}
.motion-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.25,1);transition-delay:var(--reveal-delay,0ms)}
.motion-reveal.motion-visible{opacity:1;transform:translateY(0)}
.calc-card,.tool-tile,.planning-value-card,.retirement-hub-card,.market-card,.fx-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.calc-card:hover,.tool-tile:hover,.planning-value-card:hover,.retirement-hub-card:hover,.market-card:hover,.fx-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(18,55,39,.10);border-color:#b8ddc8}
.back-to-top{position:fixed;right:22px;bottom:22px;z-index:999;width:44px;height:44px;border:0;border-radius:50%;background:#087b53;color:#fff;font-size:22px;box-shadow:0 8px 24px rgba(8,123,83,.25);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.editorial-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.95fr);align-items:center;gap:24px;padding:26px;margin:8px 0 30px;border:1px solid #dcebe2;border-radius:22px;background:radial-gradient(circle at 90% 5%,rgba(130,211,168,.22),transparent 35%),linear-gradient(135deg,#f5faf7,#fff);overflow:hidden}
.editorial-visual h2{font-size:clamp(22px,3vw,31px);line-height:1.15;margin:10px 0;color:#173b2b}
.editorial-visual p{font-size:14px;color:#65786e;line-height:1.6;margin:0 0 15px}
.editorial-visual svg{width:100%;height:auto;overflow:visible;animation:visualFloat 7s ease-in-out infinite}
.editorial-visual small{grid-column:1/-1;color:#84938b;font-size:10px}
.visual-eyebrow{font-size:10px;letter-spacing:.15em;font-weight:800;color:#14845b}
.visual-pill-row{display:flex;flex-wrap:wrap;gap:7px}
.visual-pill-row span{padding:6px 9px;border-radius:999px;background:#e8f4ed;color:#35644c;font-size:10px;font-weight:700}
.finance-visual{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:20px 0 28px;padding:28px;border-radius:22px;color:white;background:linear-gradient(120deg,#103b2b,#087b53 65%,#37a979);overflow:hidden}
.visual-copy{max-width:420px;display:grid;gap:10px}
.visual-copy span{font-size:10px;letter-spacing:.15em;font-weight:800;color:#bdebd0}
.visual-copy strong{font-size:clamp(22px,3vw,34px);line-height:1.12}
.visual-copy small{color:#d6eee0}
.visual-bars{height:135px;display:flex;align-items:end;gap:9px;min-width:150px}
.visual-bars i{display:block;width:20px;height:var(--bar);border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#b9f0d0,#4ab987);animation:barRise 1.1s cubic-bezier(.2,.8,.2,1) both;transform-origin:bottom}
.retirement-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:26px}
.retirement-hub-card{display:block;padding:25px;border:1px solid #e0ebe4;border-radius:18px;background:linear-gradient(145deg,#fff,#f7fbf8);text-decoration:none}
.retirement-hub-card>span{font-size:10px;letter-spacing:.12em;color:#16835a;font-weight:800}
.retirement-hub-card h2{font-size:22px;color:#1d3b2d;margin:12px 0 8px}
.retirement-hub-card p{font-size:14px;line-height:1.6;color:#718078}
.retirement-hub-card b{font-size:13px;color:#087b53}
@keyframes visualFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes barRise{from{transform:scaleY(.1);opacity:.35}to{transform:scaleY(1);opacity:1}}
@media(max-width:700px){.editorial-visual{grid-template-columns:1fr;padding:20px}.editorial-visual svg{max-width:440px}.finance-visual{align-items:flex-start;flex-direction:column}.visual-bars{height:90px}.retirement-hub-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.motion-reveal{opacity:1;transform:none;transition:none}.editorial-visual svg,.visual-bars i{animation:none!important}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

.projection-chart{margin:14px 0 18px;padding:15px 16px 10px;border:1px solid #e2ece6;border-radius:14px;background:linear-gradient(180deg,#fbfdfb,#fff)}
.projection-chart-head,.projection-chart-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.projection-chart-head strong{font-size:12px;color:#2a4939}
.projection-chart-head span,.projection-chart-foot{font-size:10px;color:#84938b}
.projection-chart svg{display:block;width:100%;height:auto;margin-top:8px;overflow:visible}
.projection-chart polyline{stroke-dasharray:700;stroke-dashoffset:700;animation:drawProjection 1.4s ease forwards}
.projection-chart circle{animation:pointIn .45s ease both}
@keyframes drawProjection{to{stroke-dashoffset:0}}
@keyframes pointIn{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}



/* EPF / VPF calculator only: wider layout and a reachable mobile close control.
   Other calculators retain their original modal size, layout and close-button behavior. */
@media(min-width:701px){
  .calculator-modal.epf-only-modal{width:min(1680px,97vw);max-width:none;padding:clamp(22px,2.4vw,38px);max-height:96vh;border-radius:22px}
  .calculator-modal.epf-only-modal .modal-body{grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);gap:clamp(18px,2vw,32px);align-items:start}
  .calculator-modal.epf-only-modal .calculator-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .calculator-modal.epf-only-modal .field{min-width:0}
  .calculator-modal.epf-only-modal .field label{line-height:1.35;min-height:27px}
  .calculator-modal.epf-only-modal .field input,.calculator-modal.epf-only-modal .field select{min-width:0}
}
@media(min-width:701px) and (max-width:1150px){
  .calculator-modal.epf-only-modal{width:97vw}
  .calculator-modal.epf-only-modal .modal-body{grid-template-columns:minmax(0,1fr)}
  .calculator-modal.epf-only-modal .calculator-form{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .modal-backdrop.epf-only-backdrop{padding:0;align-items:flex-start;overflow-y:auto;overscroll-behavior:contain;min-height:100vh;min-height:100dvh}
  .calculator-modal.epf-only-modal{position:relative;box-sizing:border-box;width:100%;max-width:none;min-height:0;height:auto;max-height:none;margin:0;padding:64px 16px 28px;border-radius:0;overflow:visible}
  .calculator-modal.epf-only-modal .modal-body{grid-template-columns:minmax(0,1fr)}
  .calculator-modal.epf-only-modal .calculator-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calculator-modal.epf-only-modal .modal-close{position:fixed;z-index:60;top:max(12px,env(safe-area-inset-top));right:14px;width:42px;height:42px;font-size:26px;box-shadow:0 2px 12px #0002}
  .calculator-modal.epf-only-modal h2{margin-top:0;padding-right:48px;line-height:1.2;overflow-wrap:anywhere}
  .calculator-modal.epf-only-modal .modal-description{line-height:1.5}
}
@media(max-width:420px){
  .calculator-modal.epf-only-modal .calculator-form{grid-template-columns:minmax(0,1fr)}
}

/* International blog layout support */
html[dir="rtl"] .site-header, html[dir="rtl"] .header-actions, html[dir="rtl"] .desktop-nav { direction: rtl; }
html[dir="rtl"] .page-hero-inner, html[dir="rtl"] .content-wrap { direction: rtl; text-align: right; }
html[dir="rtl"] .research-card, html[dir="rtl"] .research-principles > div { direction: rtl; text-align: right; }
html[dir="rtl"] .breadcrumb { direction: rtl; }
@media (max-width: 760px) {
  .site-header .header-actions { gap: 7px; }
  .site-header .language-wrap select, .site-header .currency-wrap select { max-width: 112px; }
}


/* Calculator modal usability fix: keep the close control visible while scrolling
   and constrain tall calculator dialogs to the viewport. EPF retains its
   separately scoped layout rules. */
.calculator-modal:not(.epf-only-modal) {
  box-sizing: border-box;
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.calculator-modal:not(.epf-only-modal) .modal-close {
  position: sticky;
  float: right;
  top: 0;
  z-index: 75;
  margin-top: -5px;
  margin-right: -5px;
  margin-bottom: -34px;
  flex: 0 0 auto;
  box-shadow: 0 2px 10px #00000014;
}
@media (max-width: 760px) {
  .modal-backdrop:not(.epf-only-backdrop) {
    box-sizing: border-box;
    padding: 10px;
    align-items: flex-start;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .calculator-modal:not(.epf-only-modal) {
    width: 100%;
    max-width: 100%;
    max-height: calc(100vh - 20px);
    max-height: calc(100dvh - 20px);
    margin: 0;
    padding: 24px 18px 22px;
    overflow-y: auto;
  }
  .calculator-modal:not(.epf-only-modal) .modal-close {
    top: 0;
    margin-top: -7px;
    margin-right: -5px;
  }
}
/* Country / language / currency controls */
.ic-locale-controls{display:flex;align-items:center;gap:6px;margin-right:8px;flex-wrap:nowrap}
.ic-locale-controls select{max-width:124px;padding:8px 22px 8px 8px;border:1px solid #e2e8ed;border-radius:9px;background:#fff;color:#253449;font:600 11px inherit;cursor:pointer;min-width:0}
.ic-locale-controls select:focus{outline:2px solid rgba(31,170,121,.45);outline-offset:2px}
.ic-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.blog-region-filter{display:flex;align-items:center;gap:10px;color:#566477;font-size:13px;font-weight:700}
.blog-region-filter select{border:1px solid #dfe7e3;border-radius:9px;padding:10px 30px 10px 12px;background:#fff;color:#24364a;font-weight:700}
.blog-empty-state{padding:24px;text-align:center;color:#667085;background:#f7faf8;border-radius:14px}
.research-card[hidden],.blog-empty-state[hidden]{display:none!important}
@media(max-width:900px){.ic-locale-controls{gap:4px;margin:0}.ic-locale-controls select{max-width:100px;padding:7px 5px;font-size:10px}}
@media(max-width:620px){.ic-locale-controls{gap:3px}.ic-locale-controls select{max-width:78px;padding:7px 3px;font-size:9px}.blog-region-filter{width:100%;margin-top:14px;justify-content:space-between}.blog-region-filter select{max-width:58%}}


/* Universal floating close control for every calculator modal */
.calculator-modal .modal-close {
  position: fixed !important;
  top: 50% !important;
  right: max(14px, calc((100vw - 1680px) / 2 - 22px)) !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  z-index: 1100 !important;
  width: 46px !important;
  height: 46px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(15, 35, 55, .12) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #243447 !important;
  font-size: 28px !important;
  line-height: 1 !important;
  box-shadow: 0 5px 22px rgba(0, 0, 0, .20) !important;
  cursor: pointer !important;
  transform-origin: center !important;
  animation: calculatorCloseFloatIn .42s cubic-bezier(.2,.8,.2,1) both,
             calculatorClosePulse 3.2s ease-in-out .5s infinite !important;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease !important;
}
.calculator-modal .modal-close:hover {
  background: #eef7f3 !important;
  color: #087a55 !important;
  box-shadow: 0 8px 26px rgba(0, 0, 0, .25) !important;
}
@keyframes calculatorCloseFloatIn {
  from { opacity: 0; translate: 18px 0; }
  to   { opacity: 1; translate: 0 0; }
}
@keyframes calculatorClosePulse {
  0%, 100% { scale: 1; }
  50%      { scale: 1.045; }
}
@media (prefers-reduced-motion: reduce) {
  .calculator-modal .modal-close {
    animation: none !important;
    transition: none !important;
  }
}
@media (max-width: 700px) {
  .calculator-modal .modal-close {
    right: 10px !important;
    width: 42px !important;
    height: 42px !important;
    font-size: 25px !important;
  }
}
@media (max-width: 420px) {
  .calculator-modal .modal-close {
    right: 7px !important;
    width: 38px !important;
    height: 38px !important;
  }
}


/* Modal auto-fit + close button attached to the modal edge (all calculators) */
.modal-backdrop {
  box-sizing: border-box;
  padding: clamp(12px, 2vw, 25px) !important;
  align-items: center;
  justify-content: center;
}
.calculator-modal {
  box-sizing: border-box;
  width: min(850px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100vh - 32px) !important;
  max-height: calc(100dvh - 32px) !important;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.calculator-modal .modal-close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
  z-index: 20 !important;
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(15, 35, 55, .10) !important;
  border-radius: 50% !important;
  background: #f1f4f6 !important;
  color: #344256 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  box-shadow: 0 3px 12px rgba(0,0,0,.10) !important;
  animation: modalCloseSoftIn .28s ease-out both !important;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease, scale .18s ease !important;
}
.calculator-modal .modal-close:hover {
  background: #e4f5ed !important;
  color: #087a55 !important;
  scale: 1.06 !important;
  box-shadow: 0 5px 16px rgba(0,0,0,.15) !important;
}
@keyframes modalCloseSoftIn {
  from { opacity: 0; scale: .86; }
  to { opacity: 1; scale: 1; }
}
@media (max-width: 700px) {
  .modal-backdrop {
    padding: 10px !important;
    align-items: center !important;
  }
  .calculator-modal {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    padding: 24px 18px !important;
    border-radius: 16px !important;
  }
  .calculator-modal .modal-close {
    top: 12px !important;
    right: 12px !important;
    width: 36px !important;
    height: 36px !important;
  }
  .calculator-modal h2 {
    padding-right: 42px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .calculator-modal .modal-close {
    animation: none !important;
    transition: none !important;
  }
}


/* EPF/VPF modal: keep heading and close control inside the visible dialog.
   Tall content scrolls within the dialog instead of pushing the title above the viewport. */
@media (min-width: 701px) {
  .modal-backdrop.epf-only-backdrop {
    box-sizing: border-box;
    padding: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    overflow-y: auto !important;
  }
  .calculator-modal.epf-only-modal {
    box-sizing: border-box !important;
    width: min(1480px, calc(100vw - 36px)) !important;
    max-width: calc(100vw - 36px) !important;
    max-height: calc(100vh - 36px) !important;
    max-height: calc(100dvh - 36px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: auto !important;
    padding: 30px clamp(22px, 2.2vw, 34px) 26px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    border-radius: 20px !important;
  }
  .calculator-modal.epf-only-modal h2 {
    margin-top: 0 !important;
    padding-right: 54px !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere;
  }
  .calculator-modal.epf-only-modal .modal-kicker {
    padding-right: 54px;
  }
  .calculator-modal.epf-only-modal .modal-close {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    z-index: 30 !important;
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #f1f4f6 !important;
    color: #344256 !important;
    font-size: 25px !important;
    line-height: 1 !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.14) !important;
  }
  .calculator-modal.epf-only-modal .modal-body {
    align-items: start !important;
  }
  .calculator-modal.epf-only-modal .result-panel {
    min-width: 0;
  }
}
@media (max-width: 700px) {
  .modal-backdrop.epf-only-backdrop {
    padding: 10px !important;
    align-items: flex-start !important;
  }
  .calculator-modal.epf-only-modal {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100vh - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    margin: auto 0 !important;
    padding: 62px 16px 24px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border-radius: 16px !important;
  }
  .calculator-modal.epf-only-modal .modal-close {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 30 !important;
  }
  .calculator-modal.epf-only-modal h2 {
    margin-top: 0 !important;
    padding-right: 48px !important;
  }
}


/* Calculator focus mode: hide site header while a calculator is open.
   Restore automatically when the modal closes. */
body.calculator-active .site-header,
body.calculator-active header.site-header,
body.calculator-active .topbar,
body.calculator-active .announcement-bar {
  display: none !important;
}
body.calculator-active {
  overflow: hidden !important;
}
.calculator-modal .modal-close {
  position: fixed !important;
  top: 18px !important;
  right: 20px !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
  z-index: 1200 !important;
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(15,35,55,.12) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #243447 !important;
  font-size: 27px !important;
  line-height: 1 !important;
  box-shadow: 0 5px 20px rgba(0,0,0,.20) !important;
  animation: modalCloseSoftIn .28s ease-out both !important;
}
.calculator-modal .modal-close:hover {
  background: #e4f5ed !important;
  color: #087a55 !important;
  scale: 1.06 !important;
}
@media (max-width: 700px) {
  .calculator-modal .modal-close {
    top: 12px !important;
    right: 12px !important;
    width: 40px !important;
    height: 40px !important;
    font-size: 24px !important;
  }
}


/* Final modal controls polish: close button sits inside the modal's top-right corner. */
.calculator-modal {
  position: relative !important;
}
.calculator-modal .modal-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
  z-index: 40 !important;
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(16, 38, 56, .10) !important;
  border-radius: 50% !important;
  background: #f5f8fa !important;
  color: #26364a !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  box-shadow: 0 3px 12px rgba(13, 31, 48, .10) !important;
  transform-origin: center !important;
  animation: modalClosePop .48s cubic-bezier(.18,.9,.28,1.35) both !important;
  transition: background .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}
.calculator-modal .modal-close:hover {
  background: #e8f7ef !important;
  color: #07865d !important;
  transform: rotate(90deg) scale(1.08) !important;
  box-shadow: 0 7px 20px rgba(8, 134, 93, .20) !important;
}
.calculator-modal .modal-close:active {
  transform: rotate(90deg) scale(.94) !important;
}
@keyframes modalClosePop {
  0% { opacity: 0; transform: scale(.55) rotate(-45deg); }
  72% { opacity: 1; transform: scale(1.12) rotate(8deg); }
  100% { opacity: 1; transform: scale(1) rotate(0); }
}

/* Clear but restrained focus feedback on whichever input/select is active. */
.calculator-modal .field input,
.calculator-modal .field select {
  transition: border-color .22s ease, box-shadow .22s ease, background-color .22s ease, transform .22s ease !important;
}
.calculator-modal .field:focus-within label {
  color: #07865d !important;
  transition: color .2s ease, transform .2s ease !important;
  transform: translateX(2px);
}
.calculator-modal .field input:focus,
.calculator-modal .field select:focus {
  border-color: #159b70 !important;
  background-color: #fbfffd !important;
  box-shadow: 0 0 0 3px rgba(21, 155, 112, .14), 0 5px 16px rgba(21, 155, 112, .10) !important;
  transform: translateY(-1px);
  animation: fieldFocusGlow .48s ease-out both;
}
@keyframes fieldFocusGlow {
  0% { box-shadow: 0 0 0 0 rgba(21,155,112,0), 0 0 0 rgba(21,155,112,0); }
  55% { box-shadow: 0 0 0 5px rgba(21,155,112,.16), 0 5px 16px rgba(21,155,112,.12); }
  100% { box-shadow: 0 0 0 3px rgba(21,155,112,.14), 0 5px 16px rgba(21,155,112,.10); }
}
.calculator-modal .field input[type="range"] {
  accent-color: #159b70;
}
.calculator-modal .field input[type="range"]:focus-visible {
  outline: 3px solid rgba(21,155,112,.20);
  outline-offset: 4px;
}
@media (max-width: 700px) {
  .calculator-modal .modal-close {
    top: 14px !important;
    right: 14px !important;
    width: 38px !important;
    height: 38px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .calculator-modal .modal-close,
  .calculator-modal .field input,
  .calculator-modal .field select,
  .calculator-modal .field:focus-within label {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}


/* Global header alignment: keep navigation, locale selectors and CTA on one clean row. */
.site-header {
  box-sizing: border-box !important;
  width: 100%;
  min-width: 0;
  padding-left: clamp(20px, 4.5vw, 72px) !important;
  padding-right: clamp(20px, 4.5vw, 72px) !important;
  gap: clamp(16px, 2vw, 30px);
}
.site-header > .brand {
  flex: 0 0 auto;
  white-space: nowrap;
}
.site-header .desktop-nav {
  flex: 1 1 auto;
  min-width: 0;
  margin-left: clamp(14px, 2vw, 28px) !important;
  gap: clamp(13px, 1.65vw, 24px) !important;
  justify-content: center;
  white-space: nowrap;
}
.site-header .desktop-nav a {
  white-space: nowrap;
  flex: 0 0 auto;
}
.site-header .header-actions {
  flex: 0 0 auto;
  min-width: 0;
  gap: 8px !important;
  white-space: nowrap;
}
.site-header .ic-locale-controls {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0 2px 0 0 !important;
  gap: 7px !important;
}
.site-header .ic-locale-controls select {
  width: clamp(88px, 8.5vw, 124px);
  max-width: 124px !important;
  min-width: 0;
  padding: 9px 22px 9px 9px !important;
  font-size: 12px !important;
}
.site-header .header-actions > .btn,
.site-header .header-actions > a.btn {
  flex: 0 0 auto;
  min-width: max-content;
  white-space: nowrap !important;
  word-break: keep-all !important;
  writing-mode: horizontal-tb !important;
  padding: 12px 17px !important;
  line-height: 1.2 !important;
}
@media (max-width: 1240px) and (min-width: 761px) {
  .site-header {
    padding-left: 22px !important;
    padding-right: 22px !important;
    gap: 12px;
  }
  .site-header .desktop-nav {
    margin-left: 8px !important;
    gap: 12px !important;
  }
  .site-header .desktop-nav a { font-size: 12px; }
  .site-header .ic-locale-controls { gap: 4px !important; }
  .site-header .ic-locale-controls select {
    width: 92px;
    padding: 8px 17px 8px 7px !important;
    font-size: 11px !important;
  }
  .site-header .header-actions > .btn,
  .site-header .header-actions > a.btn {
    padding: 10px 12px !important;
    font-size: 11px !important;
  }
}
@media (max-width: 900px) and (min-width: 761px) {
  .site-header .desktop-nav { gap: 9px !important; }
  .site-header .desktop-nav a { font-size: 11px; }
  .site-header .ic-locale-controls select { width: 78px; }
}
@media (max-width: 760px) {
  .site-header {
    padding-left: 16px !important;
    padding-right: 16px !important;
    gap: 10px;
  }
  .site-header .desktop-nav { display: none; }
  .site-header .header-actions {
    margin-left: auto;
    flex-wrap: nowrap;
  }
  .site-header .header-actions > .btn,
  .site-header .header-actions > a.btn {
    display: none;
  }
}


/* Currency converter field alignment: numeric amount right, currency choices left. */
#fxTool .fx-field-block input#fxAmountPage,
#fxTool .fx-field-block input[type="number"] {
  text-align: right !important;
  font-variant-numeric: tabular-nums lining-nums;
  padding-right: 16px !important;
}
#fxTool .fx-field-block select,
#fxTool .fx-field-block select#fxFromPage,
#fxTool .fx-field-block select#fxToPage {
  text-align: left !important;
  direction: ltr;
  padding-left: 14px !important;
  padding-right: 34px !important;
}
#fxTool .fx-field-block label {
  text-align: left !important;
}
#fxTool.fx-card {
  align-items: start;
}


/* Mobile calculator layout: keep every slider fully inside the modal. */
@media (max-width: 700px) {
  .calculator-modal,
  .calculator-modal .modal-body,
  .calculator-modal .calculator-form,
  .calculator-modal .field {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .calculator-modal .modal-body {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: 18px !important;
  }
  .calculator-modal .calculator-form {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: 16px !important;
  }
  .calculator-modal .field,
  .calculator-modal .field.full {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    overflow: visible !important;
  }
  .calculator-modal .field input:not([type="range"]),
  .calculator-modal .field select,
  .calculator-modal .field input[type="range"],
  .calculator-modal .range-input {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .calculator-modal .field input[type="range"],
  .calculator-modal .range-input {
    height: 24px !important;
    margin: 8px 0 4px !important;
    padding: 0 !important;
    accent-color: #159b70;
    touch-action: pan-y;
  }
  .calculator-modal .field-label-row {
    min-width: 0 !important;
    width: 100% !important;
    align-items: baseline !important;
  }
  .calculator-modal .field-label-row label {
    min-width: 0 !important;
    overflow-wrap: anywhere;
  }
  .calculator-modal .field-value {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .calculator-modal .calculate-btn {
    width: 100% !important;
    min-width: 0 !important;
  }
  .calculator-modal .result-panel {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}
/* Slightly wider phones can use two columns only when there is enough room. */
@media (min-width: 560px) and (max-width: 700px) {
  .calculator-modal .calculator-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .calculator-modal .field.full,
  .calculator-modal .calculate-btn {
    grid-column: 1 / -1 !important;
  }
}


/* Currency converter: From stays in the left column; Amount moves to the right. */
#fxTool.fx-card {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: start !important;
}
#fxTool .fx-field-block:nth-child(1) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
#fxTool .fx-field-block:nth-child(2) {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
#fxTool .fx-field-block:nth-child(3) {
  grid-column: 1 !important;
  grid-row: 2 !important;
}
#fxTool .fx-field-block input#fxAmountPage {
  text-align: right !important;
  direction: ltr !important;
  font-variant-numeric: tabular-nums lining-nums !important;
}
#fxTool .fx-field-block select#fxFromPage,
#fxTool .fx-field-block select#fxToPage {
  text-align: left !important;
  direction: ltr !important;
}
@media (max-width: 600px) {
  #fxTool.fx-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #fxTool .fx-field-block:nth-child(1),
  #fxTool .fx-field-block:nth-child(2),
  #fxTool .fx-field-block:nth-child(3) {
    grid-column: 1 !important;
  }
  #fxTool .fx-field-block:nth-child(2) { grid-row: 1 !important; }
  #fxTool .fx-field-block:nth-child(1) { grid-row: 2 !important; }
  #fxTool .fx-field-block:nth-child(3) { grid-row: 3 !important; }
}


/* Amount input: keep the existing From/Amount/To field positions unchanged.
   Align only the entered numeric value to the left inside the Amount box. */
#fxTool input#fxAmountPage {
  text-align: left !important;
  direction: ltr !important;
  padding-left: 14px !important;
  padding-right: 13px !important;
}


/* Keep the Google translation helper invisible; language is controlled by InvestCalc selectors. */
#google_translate_element,
.goog-te-banner-frame,
.goog-te-gadget,
.goog-te-menu-frame,
.skiptranslate {
  position: absolute !important;
  left: -10000px !important;
  top: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
body { top: 0 !important; }
html[lang="ur"], html[lang="ar"] { direction: rtl; }
html[lang="ur"] body, html[lang="ar"] body { text-align: start; }


/* Final converter amount alignment override: left-align digits inside the Amount input.
   This intentionally changes only text alignment, not field position or grid order. */
#fxTool .fx-field-block input#fxAmountPage {
  text-align: left !important;
  direction: ltr !important;
  padding-left: 14px !important;
  padding-right: 30px !important;
}


/* Currency converter swap control */
#fxTool .fx-swap-row {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: -4px 0 2px;
}
#fxTool .fx-swap-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 7px 14px;
  border: 1px solid #cfe5da;
  border-radius: 999px;
  background: #f0faf5;
  color: #087a55;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
#fxTool .fx-swap-btn span:first-child { font-size: 19px; line-height: 1; }
#fxTool .fx-swap-btn:hover {
  background: #e2f6eb;
  box-shadow: 0 4px 14px rgba(8,122,85,.12);
  transform: translateY(-1px);
}
#fxTool .fx-swap-btn.is-swapping span:first-child {
  animation: fxSwapSpin .38s ease;
}
@keyframes fxSwapSpin { to { transform: rotate(180deg); } }


/* InvestCalc motion layer: lightweight CSS 3D, scroll depth and tactile interaction. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: ic-page-out .18s ease both; }
::view-transition-new(root) { animation: ic-page-in .32s cubic-bezier(.2,.75,.25,1) both; }
@keyframes ic-page-out { to { opacity:0; transform:translateY(-7px) scale(.995); } }
@keyframes ic-page-in { from { opacity:0; transform:translateY(12px) scale(.992); } to { opacity:1; transform:none; } }
.hero { perspective:1200px; }
.hero-visual { transform:translate3d(0,var(--scroll-lift,0px),0); transition:transform .12s linear; transform-style:preserve-3d; }
.hero-visual::before,.hero-visual::after { content:"";position:absolute;pointer-events:none;border-radius:50%;transform-style:preserve-3d; }
.hero-visual::before { width:290px;height:290px;border:1px solid rgba(85,214,162,.24);box-shadow:inset 0 0 38px rgba(85,214,162,.08),0 0 50px rgba(85,214,162,.08);transform:rotateX(68deg) rotateZ(-22deg);animation:ic-orbit 18s linear infinite; }
.hero-visual::after { width:225px;height:225px;border:1px dashed rgba(255,255,255,.13);transform:rotateY(68deg) rotateZ(25deg);animation:ic-orbit-reverse 24s linear infinite; }
.visual-card-main { position:relative;z-index:1;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(1.5deg) translateZ(24px);transform-style:preserve-3d;transition:transform .22s ease,box-shadow .22s ease; }
.visual-card-main::after { content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),rgba(255,255,255,.13),transparent 38%);opacity:.8; }
.ic-tilt { transform-style:preserve-3d;will-change:transform;transition:transform .24s cubic-bezier(.2,.75,.25,1),box-shadow .24s ease,border-color .24s ease; }
.calc-card.ic-tilt,.tool-tile.ic-tilt,.planning-value-card.ic-tilt,.retirement-hub-card.ic-tilt,.market-card.ic-tilt,.fx-card.ic-tilt,.discover-card.ic-tilt,.editorial-visual.ic-tilt { transform:perspective(850px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(0); }
.calc-card.ic-tilt:hover,.tool-tile.ic-tilt:hover,.planning-value-card.ic-tilt:hover,.retirement-hub-card.ic-tilt:hover,.market-card.ic-tilt:hover,.fx-card.ic-tilt:hover,.discover-card.ic-tilt:hover,.editorial-visual.ic-tilt:hover { transform:perspective(850px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px) translateZ(7px); }
.ic-tilt::after { content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),rgba(85,214,162,.14),transparent 42%);transition:opacity .2s ease; }
.ic-tilt:hover::after { opacity:1; }
.ic-pressed { filter:brightness(.985);transform:scale(.985)!important; }
.motion-reveal { opacity:0;transform:translateY(22px) scale(.99);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.25,1);transition-delay:var(--reveal-delay,0ms); }
.motion-reveal.motion-visible { opacity:1;transform:translateY(0) scale(1); }
.reading-progress { position:fixed;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,#55d6a2,#1b9b72);transform:scaleX(0);transform-origin:left center;z-index:1000;pointer-events:none; }
.back-to-top { position:fixed;right:22px;bottom:22px;width:44px;height:44px;border:1px solid #dce9e2;border-radius:50%;background:rgba(255,255,255,.94);color:#087a55;font-size:21px;box-shadow:0 10px 30px rgba(11,34,28,.13);z-index:40;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;cursor:pointer;backdrop-filter:blur(12px); }
.back-to-top.is-visible { opacity:1;visibility:visible;transform:translateY(0); }
@keyframes ic-orbit { to { transform:rotateX(68deg) rotateZ(338deg); } }
@keyframes ic-orbit-reverse { to { transform:rotateY(68deg) rotateZ(-335deg); } }
@media(max-width:760px) { .hero-visual { transform:none!important; } .hero-visual::before { width:230px;height:230px; } .hero-visual::after { width:180px;height:180px; } .visual-card-main { transform:rotate(0)!important; } .back-to-top { right:14px;bottom:14px; } }
@media(hover:none),(pointer:coarse) { .ic-tilt,.calc-card.ic-tilt,.tool-tile.ic-tilt,.planning-value-card.ic-tilt,.retirement-hub-card.ic-tilt,.market-card.ic-tilt,.fx-card.ic-tilt,.discover-card.ic-tilt,.editorial-visual.ic-tilt { transform:none; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; } .motion-reveal { opacity:1;transform:none; } .hero-visual { transform:none!important; } }

/* === INVESTCALC 2036 SPATIAL & HOLOGRAPHIC UPGRADE === */
.ic-hero-canvas-3d {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.88;
}
.hero > *:not(.ic-hero-canvas-3d):not(.hero-glow) {
  position: relative;
  z-index: 2;
}
/* VisionOS Spatial Depth & Glowing Spotlight Borders */
.ic-spotlight-card {
  position: relative;
  overflow: hidden;
  transform-style: preserve-3d;
}
.ic-spotlight-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1.5px;
  background: radial-gradient(320px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(85, 214, 162, 0.65), rgba(57, 127, 202, 0.22) 45%, transparent 75%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.28s ease;
  pointer-events: none;
  z-index: 3;
}
.ic-spotlight-card:hover::before {
  opacity: 1;
}
.calc-card .calc-icon,
.step .step-icon {
  transition: transform 0.32s cubic-bezier(0.2, 0.85, 0.3, 1), box-shadow 0.32s ease;
}
.calc-card:hover .calc-icon {
  transform: translateZ(26px) scale(1.1) translateY(-2px);
  box-shadow: 0 10px 24px rgba(21, 153, 107, 0.22);
}
.calc-card .card-arrow {
  transition: transform 0.28s cubic-bezier(0.2, 0.85, 0.3, 1), color 0.2s ease;
}
.calc-card:hover .card-arrow {
  transform: translate(4px, -4px) scale(1.18);
  color: #0d7f59;
}
[dir="rtl"] .calc-card:hover .card-arrow {
  transform: translate(-4px, -4px) scale(1.18);
}
/* Magnetic Buttons */
.ic-magnetic {
  transform: translate3d(var(--mag-x, 0px), var(--mag-y, 0px), 0);
  transition: transform 0.18s cubic-bezier(0.2, 0.8, 0.25, 1), box-shadow 0.25s ease, background 0.25s ease;
}
/* 3D Holographic Modal Unfold Animation */
.modal-backdrop.open {
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  animation: icBackdropFade 0.26s ease out;
}
.modal-backdrop.open .calculator-modal {
  animation: icModal3DUnfold 0.38s cubic-bezier(0.18, 0.88, 0.28, 1.04) both;
  transform-origin: center top;
  border: 1px solid rgba(85, 214, 162, 0.28);
  box-shadow: 0 32px 110px rgba(7, 16, 29, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.7) inset;
}
@keyframes icModal3DUnfold {
  0% {
    opacity: 0;
    transform: perspective(1100px) rotateX(-11deg) translateY(26px) scale(0.94);
  }
  100% {
    opacity: 1;
    transform: perspective(1100px) rotateX(0deg) translateY(0) scale(1);
  }
}
/* Liquid Matrix Shimmer Wave on Language Switch */
.ic-locale-morph main {
  animation: icLocaleWave 0.48s cubic-bezier(0.22, 0.75, 0.25, 1);
}
@keyframes icLocaleWave {
  0% { filter: blur(0px); transform: scale(1); }
  35% { filter: blur(3px) hue-rotate(12deg); transform: scale(0.994); opacity: 0.86; }
  100% { filter: blur(0px); transform: scale(1); opacity: 1; }
}
/* Time-Travel Wealth Scrubber inside Calculator Modal */
.ic-time-scrubber {
  margin: 12px 0 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: linear-gradient(135deg, #0d192b 0%, #132a3e 100%);
  color: #fff;
  box-shadow: 0 10px 26px rgba(11, 24, 40, 0.16);
  border: 1px solid rgba(85, 214, 162, 0.28);
}
.ic-scrub-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 11px;
}
.ic-scrub-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.1px;
  color: #55d6a2;
  background: rgba(85, 214, 162, 0.14);
  padding: 3px 8px;
  border-radius: 999px;
}
.ic-scrub-val {
  font-family: Manrope, Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.ic-scrub-range {
  width: 100%;
  height: 6px;
  accent-color: #55d6a2;
  cursor: pointer;
  margin: 4px 0 8px;
}
.ic-scrub-meta {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  color: #a9bdd3;
}
.ic-scrub-meta b {
  color: #e6f9f0;
  font-variant-numeric: tabular-nums;
}
.result-table tbody tr.ic-row-active {
  background: rgba(21, 153, 107, 0.14) !important;
  font-weight: 700;
}
.ic-chart-node {
  transition: r 0.2s ease, fill 0.2s ease;
  cursor: pointer;
}
/* Floating Sound Toggle Button */
.ic-sound-toggle {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 42px;
  height: 42px;
  border: 1px solid #dce9e2;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #087a55;
  font-size: 17px;
  box-shadow: 0 10px 28px rgba(11, 34, 28, 0.12);
  z-index: 40;
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition: transform 0.25s ease, bottom 0.25s ease, background 0.2s ease, border-color 0.2s ease;
}
.ic-sound-toggle.is-shifted {
  bottom: 74px;
}
.ic-sound-toggle.is-active {
  background: #0d192b;
  color: #55d6a2;
  border-color: rgba(85, 214, 162, 0.45);
}
@media (max-width: 760px) {
  .ic-sound-toggle {
    right: 14px;
    bottom: 14px;
    width: 38px;
    height: 38px;
    font-size: 15px;
  }
  .ic-sound-toggle.is-shifted {
    bottom: 64px;
  }
}


/* === INVESTCALC 2036 FUTURISTIC GLOBAL MARKET & CRUDE OIL COMMAND HUB === */
.ic-quantum-market-hub {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 12%, rgba(85, 214, 162, 0.14), transparent 34%),
    radial-gradient(circle at 86% 24%, rgba(57, 127, 202, 0.12), transparent 38%),
    linear-gradient(180deg, #07101e 0%, #0b1628 52%, #0e1c30 100%) !important;
  color: #e8f1fb;
  border-top: 1px solid rgba(85, 214, 162, 0.22);
  border-bottom: 1px solid rgba(85, 214, 162, 0.22);
}
.ic-quantum-market-hub .market-section-head h2 {
  color: #ffffff;
}
.ic-quantum-market-hub .market-section-head p {
  color: #a6b7cc;
}
.ic-quantum-market-hub .dark-eyebrow {
  color: #55d6a2;
}
.ic-quantum-market-hub .market-home-note {
  color: #93a7bf;
}
.ic-quantum-market-hub .market-home-note a {
  color: #55d6a2;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ic-hud-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(85, 214, 162, 0.14);
  border: 1px solid rgba(85, 214, 162, 0.35);
  color: #7ef3c4;
  font-size: 9px;
  letter-spacing: 1.2px;
}
.ic-live-radar-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #55d6a2;
  box-shadow: 0 0 0 4px rgba(85, 214, 162, 0.22), 0 0 12px #55d6a2;
  animation: icRadarPulse 1.8s infinite ease-in-out;
}
@keyframes icRadarPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.25); opacity: 0.65; }
}
.ic-market-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.ic-cmd-trigger {
  border: 1px solid rgba(85, 214, 162, 0.38) !important;
  background: rgba(13, 27, 46, 0.78) !important;
  color: #d7ecff !important;
  gap: 10px !important;
  padding: 11px 15px !important;
  backdrop-filter: blur(10px);
}
.ic-cmd-trigger span:first-child {
  padding: 2px 6px;
  border-radius: 6px;
  background: rgba(85, 214, 162, 0.18);
  color: #55d6a2;
  font-size: 10px;
  font-weight: 800;
}
.ic-neon-ticker-shell {
  background: rgba(9, 20, 36, 0.88) !important;
  border: 1px solid rgba(85, 214, 162, 0.30) !important;
  border-radius: 16px !important;
  padding: 10px 14px 8px !important;
  box-shadow: 0 20px 55px rgba(2, 8, 18, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
}
.ic-ticker-badge-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 2px 4px 8px;
  margin-bottom: 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 10px;
  color: #9cb2c9;
}
.ic-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 800;
  letter-spacing: 1.1px;
  color: #55d6a2;
  background: rgba(85, 214, 162, 0.12);
  border: 1px solid rgba(85, 214, 162, 0.3);
  padding: 4px 10px;
  border-radius: 999px;
}
.ic-pulse-led {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #55d6a2;
  box-shadow: 0 0 8px #55d6a2;
  display: inline-block;
}
.ic-country-sync-pill {
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(57, 127, 202, 0.16);
  border: 1px solid rgba(99, 167, 245, 0.32);
  color: #b7dcff;
  font-weight: 700;
}
.ic-futuristic-board-shell {
  max-width: 1180px;
  margin: 18px auto 0;
  padding: 20px;
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(13, 26, 44, 0.94), rgba(8, 17, 31, 0.96));
  border: 1px solid rgba(85, 214, 162, 0.25);
  box-shadow: 0 28px 75px rgba(3, 10, 22, 0.42);
  color: #eaf3fc;
}
.ic-board-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.ic-region-tabs {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}
.ic-region-tab {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: #b5c6da;
  border-radius: 10px;
  padding: 9px 13px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.22s ease;
}
.ic-region-tab:hover {
  border-color: rgba(85, 214, 162, 0.48);
  color: #ffffff;
  transform: translateY(-1px);
}
.ic-region-tab.active {
  background: linear-gradient(135deg, #55d6a2 0%, #20a473 100%);
  color: #061c14;
  border-color: #55d6a2;
  box-shadow: 0 8px 22px rgba(85, 214, 162, 0.28);
}
.ic-board-controls {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}
.ic-view-switch {
  display: inline-flex;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 3px;
}
.ic-view-btn {
  border: 0;
  background: transparent;
  color: #9fb3c8;
  font-size: 11px;
  font-weight: 700;
  padding: 6px 11px;
  border-radius: 7px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.ic-view-btn.active {
  background: rgba(85, 214, 162, 0.2);
  color: #6bf1bc;
}
.ic-api-config-btn {
  border: 1px solid rgba(99, 179, 255, 0.38);
  background: rgba(25, 58, 96, 0.45);
  color: #a9d4ff;
  border-radius: 9px;
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}
.ic-api-config-btn:hover {
  background: rgba(38, 86, 138, 0.68);
  color: #ffffff;
  border-color: #7cc0ff;
}
.ic-market-search {
  min-width: 240px;
  padding: 9px 13px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(7, 16, 30, 0.82);
  color: #ffffff;
  font-size: 12px;
  outline: none;
}
.ic-market-search:focus {
  border-color: #55d6a2;
  box-shadow: 0 0 0 3px rgba(85, 214, 162, 0.2);
}

/* 3D Holographic Glass Market Cards */
.ic-glass-market-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
  gap: 14px;
}
.ic-glass-quote-card {
  position: relative;
  border-radius: 16px;
  padding: 16px 16px 14px;
  background:
    radial-gradient(circle at 100% 0%, rgba(85, 214, 162, 0.10), transparent 45%),
    linear-gradient(155deg, rgba(22, 38, 62, 0.88), rgba(12, 23, 39, 0.94));
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.26);
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: transform 0.26s cubic-bezier(0.2, 0.8, 0.25, 1), border-color 0.25s ease, box-shadow 0.25s ease;
  overflow: hidden;
}
.ic-glass-quote-card:hover {
  transform: translateY(-5px) scale(1.01);
  border-color: rgba(85, 214, 162, 0.55);
  box-shadow: 0 20px 44px rgba(6, 18, 34, 0.52), 0 0 24px rgba(85, 214, 162, 0.14);
}
.ic-glass-quote-card.is-down {
  background:
    radial-gradient(circle at 100% 0%, rgba(244, 91, 105, 0.11), transparent 45%),
    linear-gradient(155deg, rgba(26, 34, 54, 0.88), rgba(14, 21, 36, 0.94));
}
.ic-glass-quote-card.is-down:hover {
  border-color: rgba(244, 91, 105, 0.52);
}
.ic-gq-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.ic-gq-identity {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.ic-gq-flag {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.07);
  display: grid;
  place-items: center;
  font-size: 16px;
  flex: 0 0 auto;
}
.ic-gq-titles {
  min-width: 0;
}
.ic-gq-titles strong {
  display: block;
  font: 800 13px/1.2 Manrope, Arial, sans-serif;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ic-gq-titles small {
  display: block;
  font-size: 10px;
  color: #8fa5be;
  letter-spacing: 0.4px;
  margin-top: 2px;
}
.ic-gq-session {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.8px;
  padding: 3px 7px;
  border-radius: 999px;
  white-space: nowrap;
}
.ic-gq-session.is-open {
  background: rgba(85, 214, 162, 0.16);
  color: #55d6a2;
  border: 1px solid rgba(85, 214, 162, 0.35);
}
.ic-gq-session.is-closed {
  background: rgba(255, 255, 255, 0.07);
  color: #98abc1;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.ic-gq-mid {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-top: 2px;
}
.ic-gq-price {
  font: 800 22px/1.1 Manrope, Arial, sans-serif;
  color: #ffffff;
  letter-spacing: -0.7px;
  font-variant-numeric: tabular-nums;
  transition: color 0.3s ease;
}
.ic-gq-price.flash-up {
  color: #55d6a2;
}
.ic-gq-price.flash-down {
  color: #ff6b7b;
}
.ic-gq-delta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ic-gq-delta.up {
  background: rgba(85, 214, 162, 0.16);
  color: #55d6a2;
}
.ic-gq-delta.down {
  background: rgba(244, 91, 105, 0.16);
  color: #ff7585;
}
.ic-gq-spark {
  width: 100%;
  height: 36px;
  display: block;
}
.ic-gq-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  font-size: 10px;
  color: #889eb8;
}
.ic-gq-foot a {
  color: #65e4b3;
  font-weight: 700;
  text-decoration: none;
}
.ic-gq-foot a:hover {
  text-decoration: underline;
}
.ic-tv-quotes-panel,
.ic-dark-tv-panel {
  background: #0a1526 !important;
  border: 1px solid rgba(85, 214, 162, 0.25) !important;
  border-radius: 16px !important;
  padding: 12px !important;
}

/* Crude Oil & Macro Shock Simulator */
.ic-macro-simulator-card {
  margin-top: 20px;
  padding: 20px 22px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(16, 34, 56, 0.92) 0%, rgba(10, 22, 38, 0.95) 100%);
  border: 1px solid rgba(85, 214, 162, 0.30);
}
.ic-macro-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.ic-macro-head h3 {
  font: 800 18px/1.25 Manrope, Arial, sans-serif;
  color: #ffffff;
  margin: 8px 0 4px;
}
.ic-macro-head p {
  font-size: 12px;
  color: #9cb2c9;
  margin: 0;
  max-width: 640px;
}
.ic-macro-oil-readout {
  background: rgba(85, 214, 162, 0.12);
  border: 1px solid rgba(85, 214, 162, 0.35);
  border-radius: 12px;
  padding: 10px 14px;
  text-align: right;
}
.ic-macro-oil-readout span {
  display: block;
  font-size: 10px;
  color: #9cb2c9;
}
.ic-macro-oil-readout strong {
  font: 800 18px Manrope, Arial, sans-serif;
  color: #55d6a2;
}
.ic-macro-controls {
  margin: 14px 0;
}
.ic-macro-scale {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  color: #889eb8;
  margin-top: 4px;
}
.ic-macro-impact-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.ic-macro-metric {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 12px 14px;
}
.ic-macro-metric span {
  display: block;
  font-size: 10px;
  color: #94aac2;
}
.ic-macro-metric strong {
  display: block;
  font: 800 15px Manrope, Arial, sans-serif;
  color: #ffffff;
  margin: 5px 0 3px;
}
.ic-macro-metric small {
  font-size: 10px;
  color: #7c93ad;
}
.ic-macro-metric small a {
  color: #55d6a2;
  font-weight: 700;
}

/* Global Exchange World Clock Strip on Markets Page */
.ic-hero-clock-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 26px;
}
.ic-clock-chip {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 10px 12px;
  backdrop-filter: blur(10px);
}
.ic-clock-chip span {
  display: block;
  font-size: 10px;
  color: #b4c5d8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ic-clock-chip strong {
  display: inline-block;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 800;
  color: #55d6a2;
}
.ic-clock-chip.is-closed strong {
  color: #9fb2c7;
}

/* Command Palette & Live API Configuration Modal */
.ic-cmd-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(5, 12, 24, 0.78);
  backdrop-filter: blur(14px);
  z-index: 2000;
  align-items: flex-start;
  justify-content: center;
  padding: 8vh 16px 24px;
}
.ic-cmd-backdrop.is-open {
  display: flex;
}
.ic-cmd-dialog {
  width: min(680px, 100%);
  background: #0c1829;
  border: 1px solid rgba(85, 214, 162, 0.38);
  border-radius: 18px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.65);
  color: #eaf3fc;
  overflow: hidden;
}
.ic-cmd-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.ic-cmd-input {
  width: 100%;
  border: 0;
  background: transparent;
  color: #ffffff;
  font-size: 15px;
  outline: none;
}
.ic-cmd-close {
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: #bcd0e6;
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 11px;
  cursor: pointer;
}
.ic-cmd-list {
  max-height: 360px;
  overflow-y: auto;
  padding: 10px;
  display: grid;
  gap: 6px;
}
.ic-cmd-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid transparent;
  color: #e4effb;
  text-decoration: none;
  font-size: 12px;
  cursor: pointer;
}
.ic-cmd-item:hover {
  background: rgba(85, 214, 162, 0.12);
  border-color: rgba(85, 214, 162, 0.35);
}
.ic-api-box {
  padding: 18px;
  font-size: 12px;
  line-height: 1.6;
  color: #b7c8dc;
}
.ic-api-box input {
  width: 100%;
  padding: 10px 12px;
  margin: 6px 0 12px;
  border-radius: 9px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: #07101d;
  color: #fff;
  font-size: 12px;
}
.ic-api-code {
  background: #060d18;
  border: 1px solid rgba(85, 214, 162, 0.25);
  border-radius: 10px;
  padding: 10px 12px;
  font-family: monospace;
  font-size: 11px;
  color: #7bf1c3;
  overflow-x: auto;
  white-space: pre;
  margin: 8px 0 12px;
}

@media (max-width: 960px) {
  .ic-macro-impact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ic-hero-clock-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .ic-macro-impact-grid,
  .ic-hero-clock-strip {
    grid-template-columns: 1fr;
  }
  .ic-futuristic-board-shell {
    padding: 14px;
  }
  .ic-market-search {
    width: 100%;
    min-width: 0;
  }
}


/* === INVESTCALC 2036 FUTURISTIC BLOG STUDIO, 10-BLOG ENGINE & VIRAL SHARE === */
.ic-blog-studio-wrap {
  margin: 0 0 42px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 12% 15%, rgba(85, 214, 162, 0.14), transparent 38%),
    radial-gradient(circle at 88% 20%, rgba(57, 127, 202, 0.14), transparent 40%),
    linear-gradient(145deg, #091526 0%, #0e2038 100%);
  border: 1px solid rgba(85, 214, 162, 0.34);
  box-shadow: 0 26px 70px rgba(5, 14, 28, 0.28);
  color: #eaf3fc;
  padding: 26px;
  overflow: hidden;
}
.ic-studio-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.ic-studio-top h2 {
  font: 800 26px/1.2 Manrope, Arial, sans-serif;
  color: #ffffff;
  margin: 8px 0 6px;
  letter-spacing: -0.7px;
}
.ic-studio-top p {
  font-size: 13px;
  color: #a4b8cf;
  margin: 0;
  max-width: 650px;
}
.ic-studio-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ic-studio-btn {
  border: 1px solid rgba(85, 214, 162, 0.45);
  background: rgba(85, 214, 162, 0.14);
  color: #6bf2be;
  border-radius: 11px;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.22s ease;
}
.ic-studio-btn:hover,
.ic-studio-btn.is-active {
  background: #55d6a2;
  color: #062016;
  box-shadow: 0 10px 25px rgba(85, 214, 162, 0.28);
}
.ic-studio-btn.secondary {
  border-color: rgba(110, 178, 255, 0.42);
  background: rgba(45, 102, 168, 0.25);
  color: #b5daff;
}
.ic-studio-btn.secondary:hover,
.ic-studio-btn.secondary.is-active {
  background: #67b0ff;
  color: #06182c;
}
.ic-studio-panel {
  background: rgba(7, 16, 30, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 22px;
  margin-top: 16px;
}
.ic-studio-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}
.ic-studio-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ic-studio-field.full {
  grid-column: 1 / -1;
}
.ic-studio-field label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.6px;
  color: #8ce8c3;
}
.ic-studio-field input,
.ic-studio-field select,
.ic-studio-field textarea {
  width: 100%;
  padding: 11px 13px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: #0b182b;
  color: #ffffff;
  font-size: 13px;
  outline: none;
}
.ic-studio-field input:focus,
.ic-studio-field select:focus,
.ic-studio-field textarea:focus {
  border-color: #55d6a2;
  box-shadow: 0 0 0 3px rgba(85, 214, 162, 0.2);
}
.ic-studio-field textarea {
  min-height: 110px;
  resize: vertical;
  line-height: 1.6;
}
.ic-studio-img-preview {
  width: 100%;
  height: 150px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px dashed rgba(85, 214, 162, 0.4);
  background: #071120;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
}
.ic-studio-img-preview img,
.ic-studio-img-preview svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ic-card-visual-thumb {
  width: 100%;
  height: 136px;
  border-radius: 11px;
  overflow: hidden;
  margin-bottom: 13px;
  background: linear-gradient(135deg, #0b182c, #123149);
  position: relative;
  border: 1px solid rgba(21, 153, 107, 0.16);
}
.ic-card-visual-thumb img,
.ic-card-visual-thumb svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ic-card-visual-badge {
  position: absolute;
  top: 9px;
  right: 9px;
  background: rgba(8, 20, 36, 0.84);
  color: #55d6a2;
  border: 1px solid rgba(85, 214, 162, 0.38);
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 9px;
  font-weight: 800;
  backdrop-filter: blur(8px);
}
.ic-card-foot-bar {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #edf2f5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.ic-viral-share-strip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.ic-share-mini-btn {
  border: 1px solid #dce7e1;
  background: #f5faf7;
  color: #137a56;
  border-radius: 7px;
  padding: 4px 8px;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.18s ease;
}
.ic-share-mini-btn:hover {
  background: #14966b;
  color: #ffffff;
  border-color: #14966b;
}

/* Reader Modal for Dynamic & Country-Wise Blog Posts */
.ic-blog-reader-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(6, 14, 26, 0.82);
  backdrop-filter: blur(16px);
  z-index: 2200;
  padding: 24px 16px;
  overflow-y: auto;
  align-items: center;
  justify-content: center;
}
.ic-blog-reader-backdrop.is-open {
  display: flex;
}
.ic-blog-reader-modal {
  width: min(860px, 100%);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  background: #ffffff;
  color: #182638;
  border-radius: 22px;
  padding: 32px;
  box-shadow: 0 32px 100px rgba(0, 0, 0, 0.55);
  position: relative;
}
.ic-reader-hero-img {
  width: 100%;
  height: 230px;
  border-radius: 16px;
  overflow: hidden;
  margin: 16px 0 22px;
  background: #0c1b30;
}
.ic-reader-hero-img img,
.ic-reader-hero-img svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ic-country-pill-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 22px;
}
.ic-country-quick-pill {
  border: 1px solid #dbe6e0;
  background: #ffffff;
  color: #27384c;
  border-radius: 999px;
  padding: 7px 13px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}
.ic-country-quick-pill:hover,
.ic-country-quick-pill.active {
  background: #0b1220;
  color: #55d6a2;
  border-color: #0b1220;
}
.ic-calc-viral-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  padding: 10px 12px;
  border-radius: 11px;
  background: #e6f6ee;
  border: 1px solid #c5e7d6;
  font-size: 11px;
  color: #145940;
}
.ic-calc-viral-btns {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.ic-calc-viral-btns button {
  border: 1px solid #15966b;
  background: #ffffff;
  color: #0d7a55;
  border-radius: 7px;
  padding: 5px 10px;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.ic-calc-viral-btns button:hover {
  background: #15966b;
  color: #ffffff;
}
@media (max-width: 720px) {
  .ic-studio-form-grid {
    grid-template-columns: 1fr;
  }
  .ic-blog-studio-wrap {
    padding: 18px;
  }
  .ic-blog-reader-modal {
    padding: 22px 16px;
  }
}

/* Live market quote states */
.ic-gq-session.is-unavailable{color:#ffb4a8;border-color:rgba(255,100,100,.35)}
.ic-gq-session.is-provider{color:#8be7c1;border-color:rgba(85,214,162,.35)}
.ic-gq-delta.is-positive{color:#43d6a0}.ic-gq-delta.is-negative{color:#ff8c8c}
.market-api-updated{font-size:.78rem;opacity:.72;margin:.4rem 0 1rem}

/* Mobile header fix: keep hamburger on-screen; locale selects go to a second row */
@media (max-width:760px){
  .site-header{height:auto!important;min-height:70px;flex-wrap:wrap;row-gap:6px;padding-top:8px!important;padding-bottom:8px!important}
  .site-header .header-actions{display:contents}
  .site-header .brand{order:1}
  .site-header .mobile-menu{order:2;margin-left:auto}
  .site-header .ic-locale-controls{order:3;flex:0 0 100%;width:100%;gap:6px!important;margin:0!important}
  .site-header .ic-locale-controls label{flex:1 1 0;min-width:0}
  .site-header .ic-locale-controls select{width:100%!important;max-width:none!important}
  .desktop-nav.mobile-open{top:100%!important}
}


/* InvestCalc header fit: keep the existing visual design while preventing
   navigation, locale selectors and CTA controls from overlapping. */
@media (min-width: 1001px) {
  .site-header { gap: 12px !important; padding-left: clamp(16px, 2.8vw, 42px) !important; padding-right: clamp(16px, 2.8vw, 42px) !important; }
  .site-header > .brand { flex: 0 0 auto !important; }
  .site-header .desktop-nav { flex: 1 1 auto !important; min-width: max-content !important; margin-left: 8px !important; gap: clamp(10px, 1.25vw, 18px) !important; }
  .site-header .header-actions { flex: 0 0 auto !important; gap: 7px !important; }
  .site-header .ic-locale-controls { flex: 0 0 auto !important; gap: 5px !important; }
  .site-header .ic-locale-controls select { width: clamp(82px, 7vw, 98px) !important; max-width: 98px !important; padding: 8px 18px 8px 7px !important; font-size: 11px !important; }
  .site-header .header-actions > a.btn { padding: 10px 12px !important; font-size: 11px !important; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .site-header { padding-left: 18px !important; padding-right: 18px !important; gap: 10px !important; }
  .site-header .desktop-nav { display: none !important; }
  .site-header .mobile-menu { display: block !important; }
  .site-header .header-actions { margin-left: auto !important; gap: 7px !important; }
  .site-header .ic-locale-controls { gap: 5px !important; }
  .site-header .ic-locale-controls select { width: 82px !important; max-width: 82px !important; }
}
.site-header .header-actions > a.btn { flex: 0 0 auto !important; white-space: nowrap !important; }


/* Single-column content treatment for core tool and guide landing pages. */
.content-grid--unified { grid-template-columns: minmax(0, 1fr) !important; }
.content-grid--unified > .article-content { width: 100%; max-width: 100%; }
.explore-inline { margin: 34px 0 0; padding: 22px 0 0; border-top: 1px solid #e6ebef; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.explore-inline h2 { flex: 0 0 100%; margin: 0 0 4px !important; font-size: 20px !important; }
.explore-inline a { display: inline-flex; align-items: center; padding: 9px 13px; border: 1px solid #e1e9e5; border-radius: 999px; background: #f7fbf9; color: #087f5b; text-decoration: none; font-size: 13px; font-weight: 650; }
.explore-inline a:hover { border-color: #8bdcba; background: #effaf5; }
.article-featured-image { margin: 0 0 26px; overflow: hidden; border-radius: 18px; background: #eef2f5; }
.article-featured-image img { display: block; width: 100%; max-height: 390px; aspect-ratio: 16 / 7; object-fit: cover; }
@media (max-width: 800px) { .content-grid--unified { grid-template-columns: minmax(0,1fr) !important; } .article-featured-image img { aspect-ratio: 16 / 9; } }


/* Blog visuals: responsive editorial thumbnails and featured article images. */
.research-card-image { display:block; width:calc(100% + 44px); max-width:none; height:168px; object-fit:cover; margin:-22px -22px 18px; border-radius:15px 15px 0 0; }
.article-featured-image figcaption { padding:10px 14px; color:#718096; font-size:12px; line-height:1.45; background:#f7f9fb; }
@media (max-width: 1000px) and (min-width: 761px) {
  .site-header .desktop-nav.mobile-open { display:flex !important; position:absolute; top:100%; left:0; right:0; z-index:30; flex-direction:column; align-items:flex-start; gap:14px; padding:18px 24px; margin:0 !important; background:#fff; border-top:1px solid #edf0f3; box-shadow:0 12px 24px rgba(11,18,32,.10); }
}
@media (max-width: 600px) { .research-card-image { height:190px; } }


/* Desktop calculator modal layout: keep input and result columns balanced.
   EPF/VPF is intentionally excluded and keeps its dedicated layout unchanged. */
@media (min-width: 821px) {
  .calculator-modal:not(.epf-only-modal) {
    width: min(1280px, calc(100vw - 40px));
    max-width: 1280px;
    padding: clamp(24px, 2.6vw, 36px);
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    overflow-x: hidden;
    overflow-y: auto;
  }
  .calculator-modal:not(.epf-only-modal),
  .calculator-modal:not(.epf-only-modal) * {
    min-width: 0;
    box-sizing: border-box;
  }
  .calculator-modal:not(.epf-only-modal) .modal-body {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(0, 1fr);
    gap: clamp(22px, 2.6vw, 34px);
    align-items: start;
    width: 100%;
  }
  .calculator-modal:not(.epf-only-modal) .calculator-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;
    align-content: start;
    width: 100%;
  }
  .calculator-modal:not(.epf-only-modal) .field,
  .calculator-modal:not(.epf-only-modal) .field.full {
    min-width: 0;
  }
  .calculator-modal:not(.epf-only-modal) .field label {
    line-height: 1.4;
    overflow-wrap: normal;
  }
  .calculator-modal:not(.epf-only-modal) .field input,
  .calculator-modal:not(.epf-only-modal) .field select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .calculator-modal:not(.epf-only-modal) .field-label-row {
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
  }
  .calculator-modal:not(.epf-only-modal) .field-label-row label {
    min-width: 0;
  }
  .calculator-modal:not(.epf-only-modal) .field-value {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .calculator-modal:not(.epf-only-modal) .result-panel {
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }
  .calculator-modal:not(.epf-only-modal) .result-main {
    font-size: clamp(27px, 2.6vw, 36px);
    line-height: 1.18;
    overflow-wrap: anywhere;
  }
  .calculator-modal:not(.epf-only-modal) .result-details,
  .calculator-modal:not(.epf-only-modal) .projection-chart,
  .calculator-modal:not(.epf-only-modal) .result-table-wrap {
    min-width: 0;
    max-width: 100%;
  }
  .calculator-modal:not(.epf-only-modal) .projection-chart svg {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  .calculator-modal:not(.epf-only-modal) .result-table-wrap {
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }
  .calculator-modal:not(.epf-only-modal) .ic-time-scrubber {
    width: 100%;
    max-width: 100%;
  }
  .calculator-modal:not(.epf-only-modal) .ic-scrub-head,
  .calculator-modal:not(.epf-only-modal) .ic-scrub-meta {
    flex-wrap: wrap;
  }
}
@media (min-width: 821px) and (max-width: 1000px) {
  .calculator-modal:not(.epf-only-modal) .modal-body {
    grid-template-columns: minmax(300px, 1fr) minmax(0, 1fr);
    gap: 18px;
  }
  .calculator-modal:not(.epf-only-modal) .calculator-form {
    gap: 15px 12px;
  }
}
@media (max-width: 820px) {
  .calculator-modal:not(.epf-only-modal) .modal-body {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  .calculator-modal:not(.epf-only-modal) .calculator-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .calculator-modal:not(.epf-only-modal) .calculator-form {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .calculator-modal:not(.epf-only-modal) .result-panel {
    padding: 18px 15px;
  }
  .calculator-modal:not(.epf-only-modal) .result-main {
    font-size: 27px;
  }
}
