/*
Theme Name: Furynight Premium
Description: Furynight neon finance, portfolio, services, store and publications theme.
Author: Furynight
Version: 2.9.0
Requires at least: 5.8
Text Domain: furynight
*/
:root{--bg:#020a15;--panel:#06182b;--panel2:#09213a;--line:#154a74;--cyan:#08eaff;--cyan2:#00b9ff;--purple:#a63cff;--white:#f5fbff;--muted:#8fa8bf;--muted2:#607b94;--shadow:0 0 28px rgba(0,190,255,.09),inset 0 1px 0 rgba(255,255,255,.025);--radius:8px;--max:1480px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 72% 15%,rgba(0,105,185,.12),transparent 27%),radial-gradient(circle at 20% 75%,rgba(103,27,180,.08),transparent 30%),linear-gradient(135deg,#020811,#061426 52%,#020813);color:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,black,transparent 92%)}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 18px));margin:auto}
.topbar{height:50px;display:flex;align-items:center;border-bottom:1px solid rgba(21,84,132,.5);position:sticky;top:0;z-index:50;background:rgba(2,10,22,.9);backdrop-filter:blur(18px)}.topbar>.container{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:6px;font-weight:800;letter-spacing:-.045em;font-size:17px;line-height:1}.brand-logo{width:42px;height:27px;object-fit:contain}.brand small{display:block;color:#cfefff;font-size:7px;letter-spacing:.08em;text-align:right;margin-top:-1px}.nav{display:flex;gap:20px;align-items:center;font-size:9px;color:#d7e6f4}.nav a{padding:17px 0 14px;position:relative;opacity:.92}.nav a:hover,.nav a.active{color:#fff}.nav a.active:after{content:"";position:absolute;height:2px;left:0;right:0;bottom:8px;background:linear-gradient(90deg,var(--cyan),#7e55ff);box-shadow:0 0 10px var(--cyan)}.header-actions{display:flex;gap:7px;align-items:center}.outline-btn,.theme-switch{border:1px solid #155b8e;background:rgba(3,19,38,.68);color:#eaf8ff;border-radius:999px;height:28px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:8px}.theme-switch{gap:5px;padding:0 8px;appearance:none;font-family:inherit;line-height:1}.ts-icon{font-size:10px;color:#55738c}.ts-icon.ts-sun{color:#ffd35c}html.soft .ts-icon.ts-sun{color:#55738c}html.soft .ts-icon.ts-moon{color:#a83cff}.outline-btn:hover{border-color:var(--cyan);box-shadow:0 0 15px rgba(0,234,255,.14)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;padding:8px 14px;font-size:9px;font-weight:800;color:#fff;background:linear-gradient(100deg,#ad00ff,#008cff);box-shadow:0 0 20px rgba(136,43,255,.25);cursor:pointer}.btn.alt{background:linear-gradient(100deg,#00dfff,#008aff);color:#001321}.btn:hover{filter:brightness(1.08)}main{padding:9px 0 20px}.eyebrow{font-size:7px;letter-spacing:.19em;color:var(--cyan);font-weight:800;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,4.2vw,58px);line-height:.98;letter-spacing:-.055em;margin:7px 0 12px}h1 span,h2 span{color:var(--cyan)}.lead{color:#b7c9da;line-height:1.45;font-size:10px;max-width:560px}
.hero{height:auto;min-height:0;border:1px solid rgba(19,82,132,.68);border-radius:7px;overflow:hidden;position:relative;background:radial-gradient(circle at 70% 43%,rgba(0,231,255,.13),transparent 23%),radial-gradient(circle at 70% 50%,rgba(145,43,255,.12),transparent 31%),linear-gradient(110deg,#041124,#061a31 52%,#031020);box-shadow:var(--shadow)}.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;min-height:0;position:relative;z-index:1}.hero-copy{padding:clamp(28px,4vw,68px) clamp(24px,4vw,55px) 25px;display:flex;flex-direction:column;justify-content:center}.hero-art{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;overflow:hidden}.hero-art:before{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(26,95,255,.22),transparent 62%);filter:blur(10px)}.hero-art img{width:100%;height:auto;mix-blend-mode:screen;filter:saturate(1.2) drop-shadow(0 0 25px rgba(0,226,255,.18));position:relative}.hero-art img.hero-portrait{mix-blend-mode:normal;filter:none;aspect-ratio:16/9;object-fit:contain;width:100%;height:auto;border-radius:0;border:0;box-shadow:none} 
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:7px}.service-card,.product-card,.article-card,.work-card,.side-card,.svc-card,.step-card{border:1px solid rgba(17,83,132,.75);background:linear-gradient(145deg,rgba(8,31,54,.94),rgba(3,16,31,.94));border-radius:7px;box-shadow:var(--shadow);transition:.2s}.service-card{display:block;padding:10px 12px;min-height:98px}.service-card:hover,.product-card:hover,.article-card:hover,.svc-card:hover{border-color:#10bde5;transform:translateY(-2px)}.card-icon{width:28px;height:28px;border-radius:6px;border:1px solid #11628f;display:grid;place-items:center;color:var(--cyan);font-size:13px;background:rgba(0,210,255,.05);margin-bottom:8px}.service-card h3{font-size:10px;margin-bottom:4px}.service-card p{font-size:7px;color:#9eb5c9;line-height:1.42;margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px;border-top:1px solid rgba(20,79,124,.5);padding:7px 5px 0}.stat strong{font-size:12px;color:var(--cyan);display:block}.stat span{font-size:7px;color:#8ca4bb}
.section-head{display:flex;justify-content:space-between;align-items:end;margin:5px 0 9px}.section-head h2{font-size:20px;letter-spacing:-.04em;margin:3px 0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pillbar{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.pill{appearance:none;font-family:inherit;line-height:1.2;border:1px solid #123f66;background:#06182a;border-radius:999px;padding:5px 9px;font-size:7px;color:#abc0d3;cursor:pointer}.pill.active{color:#00131f;background:linear-gradient(90deg,var(--cyan),#4aa6ff)}
.page-shell{border:1px solid rgba(19,82,132,.68);border-radius:7px;padding:16px;background:rgba(3,15,29,.76);box-shadow:var(--shadow)}.portfolio-layout{display:grid;grid-template-columns:145px 1fr 190px;gap:9px}.side-card{padding:9px}.side-nav{display:grid;gap:3px}.side-nav a{padding:7px;border-radius:5px;color:#a9bdd0;font-size:7px}.side-nav a.active,.side-nav a:hover{background:#0a2741;color:#fff;border:1px solid #155b8e}.timeline{display:grid;gap:5px}.work-card{padding:8px 10px;position:relative}.work-card:before{content:"";position:absolute;left:-5px;top:12px;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.work-card h3{font-size:8px;color:var(--cyan);margin-bottom:2px}.work-card .meta{font-size:6px;color:#7e96aa;margin-bottom:4px}.work-card p{font-size:6px;color:#9fb2c3;line-height:1.38;margin:0}.edu{display:grid;gap:8px}.edu h3{font-size:7px;margin-bottom:2px}.edu p{font-size:6px;color:#9fb2c3;line-height:1.35;margin:0}.download{margin-top:9px;padding:8px;border:1px solid #185f91;border-radius:6px;background:linear-gradient(145deg,#102e49,#071629)}
.store-hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:205px}.store-art{height:190px;display:grid;place-items:center;position:relative}.store-art:before{content:"";position:absolute;width:250px;height:145px;background:radial-gradient(circle,rgba(0,230,255,.24),transparent 66%);filter:blur(9px)}.laptop{width:220px;height:130px;border:2px solid #0b6f9c;border-radius:7px 7px 4px 4px;background:linear-gradient(135deg,#102f49,#030b16);transform:perspective(500px) rotateY(-12deg) rotateX(8deg);box-shadow:0 0 30px rgba(0,225,255,.22);display:grid;place-items:center;position:relative}.laptop:after{content:"";position:absolute;width:265px;height:8px;bottom:-11px;left:-23px;border-radius:50%;background:#0a2942;box-shadow:0 3px 10px rgba(0,0,0,.8)}.product-card{padding:10px}.product-card .price{font-size:13px;font-weight:900;margin:8px 0 7px}.product-card p{font-size:7px;color:#8fa6b9;line-height:1.4;margin:0}.product-card .small-btn{border:1px solid #0784bd;border-radius:999px;padding:5px 9px;font-size:7px;display:inline-block}.paypal{margin-top:9px;padding:9px;border:1px solid #144c72;border-radius:6px;display:flex;align-items:center;justify-content:space-between;background:#071a2d}.paypal b{font-size:14px;color:#fff}.paypal span{font-size:7px;color:#9bb0c1}
.pub-layout{display:grid;grid-template-columns:1fr 190px;gap:10px}.article-card{overflow:hidden}.article-img{height:63px;background:linear-gradient(135deg,#07192e,#113d5a 55%,#2c1451);display:grid;place-items:center;color:var(--cyan);font-size:20px}.article-body{padding:8px}.article-body .tag{font-size:6px;color:var(--cyan)}.article-body h3{font-size:8px;line-height:1.25;margin:4px 0}.article-body p{font-size:6px;color:#8fa7b9;line-height:1.35;margin:0}.article-body a{font-size:6px;color:#67e9ff}.video-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.video-card{height:70px;border:1px solid #15496e;border-radius:6px;background:linear-gradient(135deg,#061426,#122c42);display:flex;align-items:end;padding:7px;position:relative;overflow:hidden}.play{position:absolute;inset:0;display:grid;place-items:center;font-size:18px;color:#fff;text-shadow:0 0 15px #00eaff}.video-card span{font-size:6px;position:relative;z-index:2}.contact-card{padding:10px}.field{margin-bottom:7px}.field label{font-size:6px;color:#9eb5c9;display:block;margin-bottom:3px}.field input,.field textarea{width:100%;border:1px solid #174a6f;background:#041323;color:#fff;border-radius:5px;padding:7px;font-size:7px;outline:none}.field textarea{min-height:48px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(0,234,255,.08)}
.footer{border-top:1px solid #0e3657;padding:9px 0;color:#668197;font-size:7px;margin-top:10px}.footer-inner{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}.footer-legal{display:flex;gap:10px}.footer-legal a:hover{color:var(--cyan)}.social-row{display:flex;gap:6px}.social-icon{width:22px;height:22px;border-radius:999px;border:1px solid #155b8e;background:rgba(3,19,38,.65);display:inline-flex;align-items:center;justify-content:center;transition:.2s}.social-icon svg{width:11px;height:11px;fill:#cfe8f7}.social-icon:hover{border-color:var(--cyan);box-shadow:0 0 12px rgba(0,234,255,.25)}.contact-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.contact-info-card{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:10px;box-shadow:var(--shadow)}.contact-info-card .label{font-size:6px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2)}.contact-info-card .value{font-size:8px;font-weight:700;margin-top:4px;color:#fff}.feature-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}.feature-item{display:flex;align-items:center;gap:7px;font-size:7px;color:#cfe1ef}.feature-item .fi-ico{width:20px;height:20px;border-radius:50%;background:rgba(0,190,255,.12);border:1px solid #155b8e;display:inline-flex;align-items:center;justify-content:center;font-size:9px;color:var(--cyan);flex:none}.comp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:9px}.comp-card{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:10px}.comp-card h4{font-size:7px;color:var(--cyan);margin:0 0 5px}.comp-card .chips{display:flex;flex-wrap:wrap;gap:4px}.chip{font-size:6px;background:rgba(168,60,255,.12);border:1px solid #3a2a63;color:#dcc9ff;padding:3px 6px;border-radius:999px}.lang-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:9px}.lang-item{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:8px;text-align:center}.lang-item b{display:block;font-size:7px;margin-bottom:3px}.lang-item span{font-size:6px;color:var(--muted)}.achieve-list{list-style:none;padding:0;margin:9px 0 0;display:flex;flex-direction:column;gap:6px}.achieve-list li{font-size:7px;color:#c8d9e8;padding-left:13px;position:relative}.achieve-list li:before{content:"★";position:absolute;left:0;color:#ffd35c}.toast{position:fixed;right:15px;bottom:15px;padding:10px 13px;border:1px solid #11638d;border-radius:7px;background:#06192b;color:#dff9ff;box-shadow:0 10px 40px rgba(0,0,0,.4);display:none;z-index:100}
@media(min-width:1051px){.topbar{height:58px}.nav{font-size:10px;gap:27px}.nav a{padding:20px 0 17px}.brand{font-size:20px}.brand-logo{width:48px;height:30px}.outline-btn,.theme-switch{height:32px;font-size:9px}.hero-grid{min-height:0}.hero-copy{padding:clamp(38px,5vw,68px) 55px 30px}.hero-art img{width:100%;max-width:none}.cards4{margin-top:12px}.service-card{min-height:140px;padding:16px}.card-icon{width:34px;height:34px}.service-card h3{font-size:12px}.service-card p{font-size:8px}.stats{padding-top:11px}.stat strong{font-size:16px}.stat span{font-size:8px}.page-shell{padding:24px}.portfolio-layout{grid-template-columns:200px 1fr 255px}.work-card{padding:11px 13px}.work-card h3{font-size:10px}.work-card .meta{font-size:7px}.work-card p{font-size:7px}.side-nav a{font-size:9px}.edu h3{font-size:9px}.edu p{font-size:7px}.store-hero{min-height:285px}.store-art{height:250px}.product-card{padding:14px}.product-card p{font-size:8px}.product-card .price{font-size:17px}.pub-layout{grid-template-columns:1fr 255px}.article-img{height:85px}.article-body h3{font-size:10px}.article-body p{font-size:7px}.contact-card{padding:14px}}
@media(max-width:760px){.container{width:calc(100% - 14px)}.topbar{height:auto;min-height:50px;padding:6px 0}.topbar>.container{flex-wrap:wrap}.nav{order:3;width:100%;overflow:auto;justify-content:center;gap:18px}.nav a{padding:5px 0 7px}.nav a.active:after{bottom:0}.header-actions{margin-left:auto}.hero-grid,.store-hero,.portfolio-layout,.pub-layout{grid-template-columns:1fr}.hero-grid{min-height:auto}.hero-art{min-height:0;order:-1}.hero-copy{padding:20px 20px 15px}.hero-art img{width:100%;max-width:none}.cards4,.grid-3,.grid-4,.video-row{grid-template-columns:1fr 1fr}.portfolio-layout>.side-card:last-child{grid-column:auto}.section-head{align-items:flex-start;gap:8px;flex-direction:column}.stats{grid-template-columns:repeat(3,1fr)}.store-art{min-height:190px}.pub-layout>.contact-card{order:-1}.contact-info-grid,.comp-grid{grid-template-columns:1fr}.lang-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.cards4,.grid-3,.grid-4,.video-row{grid-template-columns:1fr}.nav{justify-content:flex-start}.hero-art{min-height:0}.hero-art img{width:100%;max-width:none}.stats{gap:6px}.store-hero{min-height:0}.page-shell{padding:11px}}
.store-hero{grid-template-columns:1.12fr .92fr .48fr;gap:8px}.store-copy{min-width:0}.store-features{display:flex;flex-direction:column;gap:10px;padding-right:5px}.article-finance{background:linear-gradient(135deg,#18283c,#5a7183 45%,#132c43),radial-gradient(circle at 30% 20%,#e9d4bd,transparent 20%)}.article-career{background:linear-gradient(135deg,#26394b,#b0a18e 48%,#1b2b3c)}.article-ai{background:radial-gradient(circle at 68% 45%,#d7a6ff 0 5%,transparent 18%),linear-gradient(135deg,#081c31,#2d1763 55%,#041525)}[class*="article-more-"]{background:linear-gradient(135deg,#07192e,#123f5b 55%,#2c1451)}.article-more-2{background:linear-gradient(135deg,#0b1f35,#274a5e,#39205a)}.article-more-3{background:linear-gradient(135deg,#111c2c,#6d4f86,#071c2e)}.article-more-4{background:linear-gradient(135deg,#06182d,#1f5b6d,#321a55)}.article-more-5{background:linear-gradient(135deg,#14253b,#59486e,#08192b)}.article-more-6{background:linear-gradient(135deg,#082039,#244f70,#311c4b)}
@media(max-width:760px){.store-hero{grid-template-columns:1fr 1fr;gap:4px}.store-features{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.store-features .feature-item{justify-content:center;flex-direction:column;text-align:center}.store-art{min-height:150px}}
.portfolio-title{align-items:flex-start}.portfolio-quote{font-size:7px;color:#b8c8d7;line-height:1.45;text-align:right;padding-top:2px}.portfolio-quote small{font-size:6px;color:#71899e}.timeline{position:relative;padding-left:7px}.timeline:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:linear-gradient(var(--cyan),#9b42ff)}.timeline .work-card:before{left:-11px}
@media(max-width:760px){.portfolio-quote{display:none}.portfolio-title{flex-direction:row;align-items:flex-start}.portfolio-title .section-head{flex-direction:row}}

/* =====================================================================
   v2.1 — fixes & additions
   ===================================================================== */
[id]{scroll-margin-top:72px}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--cyan);color:#00131f;padding:8px 14px;border-radius:6px;font-weight:700;font-size:12px}
.skip-link:focus{left:8px}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
button.btn,a.btn{font-family:inherit}.btn-block{width:100%}
.page-title{font-size:clamp(28px,4.6vw,48px)}.pub-title{font-size:28px}.store-copy h1{font-size:30px}.store-copy .lead{font-size:10px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.lead-sm{font-size:9px}.lead-md{font-size:12px}.head-note{font-size:11px;color:#b7c9da}

/* Home */
.home-services{margin-top:24px}.more-link{display:flex;justify-content:flex-end;margin-top:10px}
.social-strip{margin-top:40px;text-align:center}.social-strip h2{font-size:22px;margin-top:6px}.social-strip .social-row{justify-content:center;margin-top:16px}

/* Services page */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.svc-card{padding:16px;display:flex;flex-direction:column}
.svc-card:target{border-color:var(--cyan);box-shadow:0 0 24px rgba(0,234,255,.2)}
.svc-card .card-icon{width:34px;height:34px}
.svc-card h3{font-size:14px;margin:0 0 6px}
.svc-desc{font-size:10px;color:#9eb5c9;line-height:1.55;margin:0 0 12px}
.svc-list{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:6px}
.svc-list li{font-size:9px;color:#c8d9e8;line-height:1.45;padding-left:15px;position:relative}
.svc-list li:before{content:"✓";position:absolute;left:0;color:var(--cyan);font-weight:800}
.svc-actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.svc-actions .small-btn{border:1px solid #0784bd;border-radius:999px;padding:8px 12px;font-size:9px;display:inline-block}
.small-btn:hover{border-color:var(--cyan);box-shadow:0 0 12px rgba(0,234,255,.18)}
.svc-head{margin-top:34px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.step-card{padding:14px}.step-num{font-size:11px;font-weight:900;color:var(--cyan);letter-spacing:.14em}
.step-card h3{font-size:12px;margin:6px 0 4px}.step-card p{font-size:9px;color:#9eb5c9;line-height:1.5;margin:0}
.cta-band{margin-top:22px;padding:22px;border:1px solid #1a6fa6;border-radius:8px;background:linear-gradient(110deg,rgba(173,0,255,.18),rgba(0,140,255,.2));display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cta-band h2{font-size:18px;margin:0 0 4px}.cta-band p{margin:0;font-size:10px;color:#b7c9da}.cta-actions{display:flex;gap:8px;flex-wrap:wrap}

/* Sidebars & small text (replaces old inline styles) */
.side-title{font-size:13px}.contact-card .side-title{font-size:15px}
.side-text{font-size:9px;color:#9fb2c3;line-height:1.7}
.side-brand{margin-top:20px;text-align:center;padding:18px;border:1px solid #164e75;border-radius:10px}
.side-brand img{width:60px;height:auto;margin:0 auto 8px}.side-brand p{font-size:9px;color:#8ca5b8;margin:8px 0 0}
.download b{font-size:11px}.download p{font-size:9px;color:#9eb5c9}.download .btn{font-size:9px;padding:9px 13px}
.contact-lines{border-top:1px solid #123c5d;margin-top:17px;padding-top:15px;font-size:9px;color:#9eb5c9;line-height:1.8}
.contact-lines a,.contact-lines b{color:#fff;font-weight:700}.contact-lines a:hover{color:var(--cyan)}

/* Articles & reviews */
.product-card h3{font-size:10px;margin:0 0 4px}
@media(min-width:1051px){.product-card h3{font-size:12px}}
.article-body h3 a{font-size:inherit;color:inherit}.article-body h3 a:hover{color:var(--cyan)}
.article-body .read-more{display:inline-block;margin-top:6px}
.article-body .article-date{font-size:9px;margin-top:6px;color:#7e96aa}
.article-body .soon{display:inline-block;margin-top:6px;font-size:7px;color:#7e96aa;font-style:italic}
.article-img.has-thumb{background-size:cover;background-position:center}
.article-body .review-stars{color:#ffd35c;letter-spacing:2px;font-size:10px}
.article-body .review-text{font-size:11px;color:#c8d9e8;line-height:1.7;margin:6px 0 0}
.article-body .review-name{font-size:13px;margin-top:10px}.article-body .review-meta{font-size:9px;color:#7e96aa}
.paypal{gap:10px;flex-wrap:wrap}
.pager{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:18px}.pager-info{font-size:10px;color:var(--muted)}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.page-numbers{border:1px solid #155b8e;border-radius:999px;padding:6px 12px;font-size:10px}
.page-numbers.current{background:linear-gradient(90deg,var(--cyan),#4aa6ff);color:#00131f;border-color:transparent}

/* Contact page + form */
.contact-shell{max-width:850px;margin:auto}
.contact-social{display:flex;align-items:center;gap:14px;margin:6px 0 30px}
.contact-social .lbl{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2)}
.contact-info-card .value a:hover{color:var(--cyan)}
.fn-form{margin-top:10px}.contact-card .fn-form{margin-top:0}
.fn-form button:disabled{opacity:.6;cursor:wait}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-notice{padding:10px 12px;border-radius:6px;font-size:10px;line-height:1.5;margin:0 0 12px;border:1px solid}
.form-notice.ok{border-color:#0f9d6b;background:rgba(15,157,107,.12);color:#8ef0c8}
.form-notice.err{border-color:#c2415a;background:rgba(194,65,90,.12);color:#ffb3c1}

/* Posts, pages, 404 */
.single-post{max-width:900px;margin:auto}.single-title{margin-bottom:8px}
.single-meta{font-size:11px;color:var(--muted2);margin-bottom:16px}
.single-thumb img{width:100%;height:auto;border-radius:8px;margin-bottom:18px}
.entry{color:#b7c9da;line-height:1.8;font-size:14px;overflow-wrap:anywhere}
.entry a{color:var(--cyan);text-decoration:underline}.entry img{border-radius:6px}
.entry h2,.entry h3{margin:1.4em 0 .5em}.entry ul,.entry ol{padding-left:1.3em}
.single-nav{margin-top:26px}
.not-found{text-align:center}.not-found .lead{margin-left:auto;margin-right:auto}.not-found .hero-actions{justify-content:center}


/* Publications dynamic blog + featured video */
.publications-premium .pub-feature-video{margin-bottom:14px}.publications-premium .pub-video-featured{display:grid;grid-template-columns:1.35fr .65fr;min-height:330px}.publications-premium .pub-video-featured .pub-video-art{min-height:330px}.publications-premium .pub-video-featured .pub-video-copy{display:flex;flex-direction:column;justify-content:center;padding:28px}.publications-premium .pub-video-featured .pub-video-copy h3{font-size:26px}.publications-premium .pub-video-featured .pub-video-copy p{font-size:14px;line-height:1.7}.publications-premium .pub-feature-label{position:absolute;top:16px;left:16px;padding:6px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(2,13,24,.75);color:#8fefff;font-size:9px;font-weight:800;letter-spacing:.12em}.publications-premium .pub-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.publications-premium .pub-blog-card{overflow:hidden;border:1px solid #164d70;border-radius:12px;background:linear-gradient(145deg,#071a2a,#061523);box-shadow:0 14px 34px rgba(0,0,0,.18);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.publications-premium .pub-blog-card:hover{transform:translateY(-5px);border-color:var(--cyan);box-shadow:0 18px 42px rgba(0,234,255,.10)}.publications-premium .pub-blog-media{display:block;aspect-ratio:16/9;overflow:hidden;background:#071522}.publications-premium .pub-blog-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.publications-premium .pub-blog-card:hover .pub-blog-media img{transform:scale(1.04)}.publications-premium .pub-blog-placeholder{height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 80% 20%,rgba(0,234,255,.20),transparent 35%),linear-gradient(135deg,#071a2c,#10142d);color:#8fefff;text-align:center;font-size:11px;letter-spacing:.12em}.publications-premium .pub-blog-copy{padding:18px}.publications-premium .pub-blog-meta{display:flex;gap:7px;align-items:center;color:#7895aa;font-size:10px;margin-bottom:9px;text-transform:uppercase;letter-spacing:.06em}.publications-premium .pub-blog-copy h3{font-size:19px;line-height:1.25;margin:0 0 9px}.publications-premium .pub-blog-copy h3 a{color:var(--white);text-decoration:none}.publications-premium .pub-blog-copy h3 a:hover{color:var(--cyan)}.publications-premium .pub-blog-copy p{font-size:12px;line-height:1.65;color:#9eb5c9;margin:0 0 5px}.publications-premium .pub-blog-empty{text-align:center;padding:48px 24px;border:1px dashed #1b597c;border-radius:14px;background:rgba(5,20,33,.45)}.publications-premium .pub-blog-empty-icon{font-size:30px;color:var(--cyan);margin-bottom:8px}.publications-premium .pub-blog-empty h3{font-size:22px;margin:0 0 8px}.publications-premium .pub-blog-empty p{max-width:620px;margin:0 auto 18px;color:#9eb5c9;line-height:1.7;font-size:13px}.publications-premium .pub-blog-empty .btn{display:inline-block}

/* ---------------------------------------------------------------------
   Light theme (the sun/moon button in the header toggles html.soft).
   The hero stays a dark "neon" panel so the panther artwork keeps its glow.
   --------------------------------------------------------------------- */
html.soft{color-scheme:light;--bg:#f2f7fc;--panel:#ffffff;--panel2:#eaf3fb;--line:#bcd4e8;--cyan:#0072b5;--cyan2:#0088cc;--white:#0c2440;--muted:#4a6784;--muted2:#5b7791;--shadow:0 6px 20px rgba(24,74,120,.10)}
html.soft body{background:radial-gradient(circle at 72% 15%,rgba(0,150,230,.10),transparent 30%),radial-gradient(circle at 20% 75%,rgba(140,60,220,.07),transparent 32%),linear-gradient(135deg,#f8fbff,#e8f1f9 55%,#f5f9fd);color:var(--white)}
html.soft body:before{opacity:.55;background-image:linear-gradient(rgba(14,70,120,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(14,70,120,.05) 1px,transparent 1px)}
html.soft .topbar{background:rgba(255,255,255,.9);border-bottom-color:#c5daeb}
html.soft .brand small{color:#3d6183}
html.soft .nav{color:#274866}html.soft .nav a:hover,html.soft .nav a.active{color:#04182e}
html.soft .outline-btn,html.soft .theme-switch{background:#fff;border-color:#a9c9e2;color:#0c2a48}
html.soft .outline-btn:hover{border-color:var(--cyan);box-shadow:0 0 15px rgba(0,114,181,.15)}
html.soft .ts-icon{color:#8ba3b8}
html.soft .lead,html.soft .head-note,html.soft .cta-band p{color:#3f5d7a}
html.soft .service-card,html.soft .product-card,html.soft .article-card,html.soft .work-card,html.soft .side-card,html.soft .svc-card,html.soft .step-card{background:linear-gradient(145deg,#ffffff,#f0f6fc);border-color:#c0d6e9}
html.soft .service-card:hover,html.soft .product-card:hover,html.soft .article-card:hover,html.soft .svc-card:hover{border-color:var(--cyan)}
html.soft .page-shell{background:rgba(255,255,255,.72);border-color:#bcd4e8}
html.soft .stats{border-top-color:#c5daeb}
html.soft .card-icon{border-color:#7fb3d6;background:rgba(0,114,181,.06)}
html.soft .service-card p,html.soft .svc-desc,html.soft .step-card p,html.soft .product-card p,html.soft .article-body p,html.soft .work-card p,html.soft .edu p,html.soft .side-text,html.soft .download p,html.soft .paypal span,html.soft .field label,html.soft .contact-lines,html.soft .feature-item,html.soft .side-nav a,html.soft .stat span,html.soft .portfolio-quote{color:#4a6784}
html.soft .svc-list li,html.soft .achieve-list li,html.soft .article-body .review-text,html.soft .entry{color:#243f5c}
html.soft .work-card .meta,html.soft .article-body .review-meta,html.soft .article-body .article-date,html.soft .article-body .soon,html.soft .portfolio-quote small,html.soft .side-brand p{color:#5b7791}
html.soft .side-nav a.active,html.soft .side-nav a:hover{background:#e3f0fa;color:#0c2440;border-color:#9cc3e0}
html.soft .side-brand{border-color:#bcd4e8}
html.soft .download{background:linear-gradient(145deg,#eaf4fc,#dcebf8);border-color:#9cc3e0}
html.soft .paypal{background:#f0f7fd;border-color:#bcd4e8}html.soft .paypal b{color:#0c2440}
html.soft .pill{background:#fff;border-color:#b5d0e5;color:#35597a}html.soft .pill.active{background:linear-gradient(90deg,var(--cyan),#4aa6ff);border-color:transparent;color:#fff}
html.soft .chip{background:rgba(138,43,226,.08);border-color:#d3c2ee;color:#5b2ea0}
html.soft .field input,html.soft .field textarea{background:#fff;border-color:#b5d0e5;color:#0c2440}
html.soft .contact-info-card .value,html.soft .contact-lines a,html.soft .contact-lines b{color:#0c2440}
html.soft .contact-lines{border-top-color:#c5daeb}
html.soft .social-icon{background:#fff;border-color:#a9c9e2}html.soft .social-icon svg{fill:#274866}
html.soft .article-body a{color:#0072b5}
html.soft .article-body .review-stars{color:#d99a00}
html.soft .footer{color:#4a6784;border-top-color:#c5daeb}
html.soft .cta-band{background:linear-gradient(110deg,rgba(173,0,255,.08),rgba(0,140,255,.12));border-color:#9cc3e0}
html.soft .page-numbers{border-color:#a9c9e2}
html.soft .form-notice.ok{color:#0b6b48;background:rgba(15,157,107,.1)}
html.soft .form-notice.err{color:#a3243d;background:rgba(194,65,90,.1)}
html.soft .hero{--cyan:#08eaff;--white:#f5fbff;color:#f5fbff;border-color:#155b8e}
html.soft .hero .lead{color:#b7c9da}
html.soft .hero .outline-btn{background:rgba(3,19,38,.68);border-color:#155b8e;color:#eaf8ff}
html.soft .video-card{color:#f5fbff}

/* ---------------------------------------------------------------------
   Readable type on tablets & phones. The original 6-8px sizes were only
   legible on a large desktop screen.
   --------------------------------------------------------------------- */
@media(max-width:1050px){
  .eyebrow{font-size:10px}
  .lead{font-size:14px!important;line-height:1.55}
  .head-note{font-size:12px}
  .nav{font-size:12px}
  .outline-btn,.theme-switch{font-size:11px;height:34px}
  .btn{font-size:12px;padding:10px 16px}
  .brand small{font-size:9px}
  .service-card h3{font-size:14px}.service-card p{font-size:12px}
  .stat strong{font-size:18px}.stat span{font-size:11px}
  .pill{font-size:11px;padding:7px 12px}
  .side-nav a{font-size:12px}.side-title,.contact-card .side-title{font-size:15px}.side-text{font-size:12px}.side-brand p{font-size:11px}
  .work-card h3{font-size:14px}.work-card .meta{font-size:11px}.work-card p{font-size:12px}
  .edu h3{font-size:13px}.edu p{font-size:12px}
  .download b{font-size:13px}.download p{font-size:12px}.download .btn{font-size:12px}
  .product-card h3{font-size:14px}.product-card p{font-size:12px}.product-card .price{font-size:18px}.product-card .small-btn{font-size:11px;padding:7px 12px}
  .paypal b{font-size:16px}.paypal span{font-size:11px}
  .article-body .tag{font-size:10px}.article-body h3{font-size:14px}.article-body p{font-size:12px}.article-body a{font-size:12px}
  .article-body .article-date{font-size:11px}.article-body .soon{font-size:11px}
  .article-body .review-stars{font-size:13px}.article-body .review-text{font-size:12px}.article-body .review-meta{font-size:11px}
  .video-card span{font-size:11px}
  .field label{font-size:11px}.field input,.field textarea{font-size:14px;padding:10px}
  .footer{font-size:11px}
  .contact-info-card .label{font-size:10px}.contact-info-card .value{font-size:13px}.contact-social .lbl{font-size:10px}
  .contact-lines{font-size:12px}
  .feature-item{font-size:11px}
  .comp-card h4{font-size:13px}.chip{font-size:11px;padding:4px 9px}
  .lang-item b{font-size:13px}.lang-item span{font-size:11px}
  .achieve-list li{font-size:12px}
  .portfolio-quote{font-size:11px}.portfolio-quote small{font-size:10px}
  .svc-desc{font-size:13px}.svc-list li{font-size:13px}.svc-actions .btn{font-size:12px}.svc-actions .small-btn{font-size:11px}
  .step-card h3{font-size:14px}.step-card p{font-size:13px}.cta-band p{font-size:13px}.cta-band h2{font-size:18px}
  .form-notice{font-size:12px}.pager-info{font-size:12px}
  .footer-brand p{font-size:12px}.footer-label{font-size:11px}.footer-legal a{font-size:11px}.footer-bottom{font-size:11px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){.svc-grid{grid-template-columns:1fr}.contact-social{flex-wrap:wrap}.cta-band{padding:16px}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}

/* ---------------------------------------------------------------------
 * Animation
 * ------------------------------------------------------------------- */
@keyframes fnFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes fnFadeIn{from{opacity:0}to{opacity:1}}
@keyframes fnFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes fnGlow{0%,100%{box-shadow:0 0 45px rgba(0,190,255,.22),0 20px 55px rgba(0,0,0,.5)}50%{box-shadow:0 0 65px rgba(0,190,255,.4),0 20px 55px rgba(0,0,0,.5)}}

.hero-copy>*{opacity:0;animation:fnFadeUp .7s ease forwards}
.hero-copy>.eyebrow{animation-delay:.05s}
.hero-copy>h1{animation-delay:.15s}
.hero-copy>.lead{animation-delay:.28s}
.hero-copy>.hero-actions{animation-delay:.4s}
.hero-art{opacity:0;animation:fnFadeIn .9s ease .2s forwards}
.hero-art img.hero-portrait{animation:fnFloat 5s ease-in-out 1.1s infinite,fnGlow 4s ease-in-out 1.1s infinite}
.btn,.outline-btn,.theme-switch{transition:.2s}
.btn:hover{transform:translateY(-2px)}
.outline-btn:hover,.theme-switch:hover{transform:translateY(-1px)}

@media(max-width:760px){
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding:22px 18px 20px}
  .hero-art{order:-1;width:100%}
  .hero-art img.hero-portrait{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
  .hero-art:before{width:65%;}
}
@media(max-width:420px){
  .hero-copy{padding:18px 15px}
  .hero-actions{gap:8px}
  .hero-actions .btn,.hero-actions .outline-btn{flex:1;min-width:0}
}

@media (prefers-reduced-motion: reduce){
  .hero-copy>*,.hero-art,.hero-art img.hero-portrait{animation:none;opacity:1;transform:none}
}


/* === FURYNIGHT LIVE FX / PAGE TRANSITIONS v2.6.1 === */
body{overflow-x:hidden}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.055;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.22) 4px);mix-blend-mode:screen;animation:scanDrift 9s linear infinite}
.fx-orbs{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.fx-orbs i{position:absolute;width:30vw;height:30vw;min-width:220px;min-height:220px;border-radius:50%;filter:blur(55px);opacity:.11;mix-blend-mode:screen;animation:orbFloat 13s ease-in-out infinite alternate}
.fx-orbs i:nth-child(1){background:#00eaff;left:-9vw;top:18vh}.fx-orbs i:nth-child(2){background:#9b35ff;right:-10vw;top:38vh;animation-delay:-4s;animation-duration:17s}.fx-orbs i:nth-child(3){background:#0077ff;left:35vw;bottom:-20vw;animation-delay:-7s;animation-duration:21s}
.particle-field{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}.particle-field b{position:absolute;width:2px;height:2px;border-radius:50%;background:#8ff7ff;box-shadow:0 0 8px #00eaff;animation:particleRise linear infinite;opacity:.65}
.cursor-glow{position:fixed;width:180px;height:180px;border-radius:50%;pointer-events:none;z-index:2;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(0,234,255,.11),transparent 65%);filter:blur(5px);opacity:0;transition:opacity .25s ease}.has-cursor .cursor-glow{opacity:1}
.reveal{opacity:1;transform:none;filter:none;animation:fnSafeReveal .65s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none;filter:none}@keyframes fnSafeReveal{from{opacity:.88;transform:translateY(10px) scale(.992)}to{opacity:1;transform:none}}
.service-card,.product-card,.article-card,.work-card,.side-card,.svc-card,.step-card,.comp-card,.contact-info-card{will-change:transform}.service-card:hover,.product-card:hover,.article-card:hover,.svc-card:hover,.comp-card:hover{animation:cardPulse 1.2s ease-in-out infinite alternate}.btn,.outline-btn,.pill{position:relative;overflow:hidden}.btn:after,.outline-btn:after,.pill:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.25) 48%,transparent 68%);transform:translateX(-120%);animation:buttonShine 4.5s ease-in-out infinite}.hero-art img{animation:heroFloat 5s ease-in-out infinite}.card-icon{animation:iconGlow 2.5s ease-in-out infinite}
@keyframes scanDrift{to{background-position:0 36px}}@keyframes orbFloat{to{transform:translate3d(7vw,-5vh,0) scale(1.15)}}@keyframes particleRise{0%{transform:translate3d(0,12vh,0) scale(.7);opacity:0}15%{opacity:.7}100%{transform:translate3d(var(--dx),-112vh,0) scale(1.4);opacity:0}}@keyframes buttonShine{0%,65%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}@keyframes heroFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-7px) rotate(.4deg)}}@keyframes iconGlow{0%,100%{box-shadow:0 0 0 rgba(0,234,255,0)}50%{box-shadow:0 0 15px rgba(0,234,255,.18)}}@keyframes cardPulse{from{box-shadow:var(--shadow)}to{box-shadow:0 0 34px rgba(0,190,255,.13),inset 0 1px 0 rgba(255,255,255,.04)}}
@media (prefers-reduced-motion:reduce){
 body:after,.fx-orbs,.particle-field,.cursor-glow{display:none!important}
 .btn:after,.outline-btn:after,.pill:after,.hero-art img,.card-icon{animation:none!important}
}

/* Premium footer v2.6.0 */
.footer-premium{position:relative;overflow:hidden;margin-top:28px;padding:30px 0 14px;border-top:1px solid rgba(0,214,255,.24);background:linear-gradient(180deg,rgba(3,15,29,.96),rgba(1,8,18,.99));box-shadow:0 -18px 55px rgba(0,110,190,.08)}
.footer-premium:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 0%,rgba(0,234,255,.11),transparent 30%),radial-gradient(circle at 88% 0%,rgba(145,65,255,.10),transparent 32%);pointer-events:none}
.footer-premium .container{position:relative;z-index:1}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:28px}
.footer-brand{max-width:420px}.footer-brand p{margin:0;color:#7891a6;font-size:8px;line-height:1.65}
.footer-legal a{color:#a8bfd1;text-decoration:none;font-size:7px;transition:color .2s ease,text-shadow .2s ease}.footer-legal a:hover{color:var(--cyan);text-shadow:0 0 10px rgba(0,234,255,.35)}
.footer-social{display:flex;align-items:center;gap:8px;flex:none}.footer-label{font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:#557086;margin-right:2px}.footer-social .social-row{display:flex;gap:6px}.footer-divider{height:1px;margin:22px 0 12px;background:linear-gradient(90deg,transparent,rgba(0,214,255,.24),rgba(168,60,255,.22),transparent)}
.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;color:#526a7e;font-size:7px}.footer-bottom>span:first-child{justify-self:start}.footer-credit{justify-self:center;color:#72899c;text-align:center}.footer-credit strong{color:#d9f5ff;font-weight:700}.footer-legal{display:flex;justify-content:flex-end;gap:12px}
@media (max-width:760px){.footer-main{flex-direction:column;text-align:center;gap:18px}.footer-brand{max-width:none;margin:auto}.footer-social{justify-content:center}.footer-bottom{grid-template-columns:1fr;text-align:center;gap:8px}.footer-bottom>span:first-child,.footer-credit{justify-self:center}.footer-legal{justify-content:center}.footer-premium{padding-top:24px}}

/* ---------------------------------------------------------------------
 * v2.6.9 Light-theme live animation visibility
 * The original FX used screen blending, which is naturally very subtle
 * on a white background. These overrides keep the same motion while making
 * it visible in the light theme without overpowering content.
 * ------------------------------------------------------------------- */
html.soft body:after{
  opacity:.09;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(20,88,135,.16) 4px);
  mix-blend-mode:multiply;
}
html.soft .fx-orbs i{
  opacity:.20;
  mix-blend-mode:multiply;
  filter:blur(48px) saturate(1.25);
}
html.soft .fx-orbs i:nth-child(1){background:#00a9d8}
html.soft .fx-orbs i:nth-child(2){background:#8b45d6}
html.soft .fx-orbs i:nth-child(3){background:#3989d4}
html.soft .particle-field b{
  background:#007aa8;
  box-shadow:0 0 8px rgba(0,122,168,.55);
  opacity:.75;
}
html.soft .cursor-glow{
  background:radial-gradient(circle,rgba(0,128,190,.18),rgba(0,128,190,.05) 38%,transparent 68%);
  filter:blur(3px);
}
html.soft .article-card:hover,
html.soft .service-card:hover,
html.soft .product-card:hover,
html.soft .work-card:hover,
html.soft .svc-card:hover,
html.soft .comp-card:hover{
  animation:lightCardPulse 1.2s ease-in-out infinite alternate;
}
html.soft .btn:after,html.soft .outline-btn:after,html.soft .pill:after{
  background:linear-gradient(105deg,transparent 25%,rgba(0,120,180,.18) 48%,transparent 68%);
}
html.soft .hero-art:before{
  background:radial-gradient(circle,rgba(0,150,220,.20),transparent 62%);
}
@keyframes lightCardPulse{
  from{box-shadow:var(--shadow)}
  to{box-shadow:0 10px 34px rgba(0,105,170,.16),0 0 0 1px rgba(0,130,190,.10)}
}

/* Ownership marker: not a DRM system, but a persistent author/fingerprint
   identifier used by the theme and admin tools. */
.fn-owner-mark{font-size:8px;letter-spacing:.08em;opacity:.72}


/* v2.7.3 Publications — reference layout
   Stable three-column article cards with a right contact panel.
   The grid never depends on post count or card height, so adding posts
   simply creates another clean row. */
.pub-layout{grid-template-columns:minmax(0,1fr) 255px;gap:10px;align-items:start}
.pub-layout>section{min-width:0}
.pub-layout>.contact-card{min-width:0;align-self:stretch}
.pub-article-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
  min-width:0;
}
.pub-article-grid .article-card{
  min-width:0;
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  margin:0;
}
.pub-article-grid .article-img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  min-height:0;
  overflow:hidden;
  position:relative;
  flex:none;
  background-color:#061426;
  background-size:cover;
  background-position:center;
}
.pub-article-grid .article-img img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.pub-article-grid .article-img-fallback{display:block;width:100%;height:100%;}
.pub-article-grid .article-body{
  display:flex;
  flex:1;
  flex-direction:column;
  min-width:0;
  padding:10px;
}
.pub-article-grid .article-body h3{overflow-wrap:anywhere;word-break:normal}
.pub-article-grid .article-body p{overflow-wrap:anywhere}
.pub-article-grid .read-more{margin-top:auto;padding-top:8px;display:inline-block}
.pub-article-grid .article-date{font-size:6px;color:#71899e;margin-top:5px}
.pub-title{margin-bottom:10px}
.more-blog-block{min-width:0}
@media(min-width:1051px){
  .pub-layout{grid-template-columns:minmax(0,1fr) 255px;gap:10px}
  .pub-article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .pub-article-grid .article-img{min-height:110px}
  .pub-article-grid .article-body h3{font-size:10px}
  .pub-article-grid .article-body p{font-size:7px}
}
@media(max-width:1050px){
  .pub-layout{grid-template-columns:minmax(0,1fr) 210px}
  .pub-article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
}
@media(max-width:760px){
  .pub-layout{grid-template-columns:1fr}
  .pub-layout>.contact-card{order:-1}
  .pub-article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pub-article-grid .article-body{padding:9px}
  .pub-article-grid .article-body h3{font-size:11px}
  .pub-article-grid .article-body p{font-size:7px}
}
@media(max-width:520px){
  .pub-article-grid{grid-template-columns:1fr;gap:10px}
  .pub-article-grid .article-img{aspect-ratio:16/9}
}
@media(prefers-reduced-motion:reduce){.pub-article-grid .article-card{transition:none!important}}

/* v2.7.4 — premium Publications redesign + Elementor-safe page canvas */
.publications-premium{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(4,20,38,.92),rgba(3,13,27,.88));}
.publications-premium:before{content:"";position:absolute;inset:-25% -10% auto;height:320px;background:radial-gradient(circle at 20% 40%,rgba(0,220,255,.13),transparent 38%),radial-gradient(circle at 82% 25%,rgba(144,71,255,.14),transparent 34%);pointer-events:none;}
.pub-hero,.pub-section{position:relative;z-index:1}
.pub-hero{padding:6px 4px 24px;border-bottom:1px solid rgba(40,118,168,.28)}
.pub-hero .lead{max-width:700px}
.pub-section{padding:24px 4px 0}
.pub-section + .pub-section{margin-top:4px}
.pub-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px}
.pub-section-head h2{font-size:clamp(21px,2.2vw,29px);margin:3px 0 2px;letter-spacing:-.04em}
.pub-section-head p{margin:0;color:#8da8bd;font-size:11px}
.pub-kicker{font-size:8px;letter-spacing:.18em;color:var(--cyan);font-weight:800}
.pub-count{font-size:10px;color:#89a9bf;border:1px solid #174d72;border-radius:999px;padding:7px 10px}
.pub-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pub-video-card{border:1px solid rgba(22,91,133,.8);border-radius:12px;overflow:hidden;background:linear-gradient(145deg,rgba(8,31,52,.98),rgba(4,17,31,.98));box-shadow:0 15px 35px rgba(0,0,0,.2);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.pub-video-card:hover{transform:translateY(-4px);border-color:var(--cyan);box-shadow:0 18px 40px rgba(0,190,255,.12)}
.pub-video-art{aspect-ratio:16/9;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#07172a,#102f48)}
.pub-video-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.pub-video-card:hover .pub-video-art img{transform:scale(1.045)}
.pub-video-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,14,24,0) 55%,rgba(2,10,18,.75) 100%)}
.pub-play{width:52px;height:52px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;padding-left:3px;color:#fff;background:rgba(3,20,35,.55);backdrop-filter:blur(6px);box-shadow:0 0 28px rgba(0,220,255,.2);position:relative;z-index:2;transition:transform .25s ease,background .25s ease}
.pub-video-card:hover .pub-play{transform:scale(1.08);background:rgba(0,190,255,.35)}
.pub-video-copy{padding:13px 14px 14px}.pub-video-copy h3{font-size:14px;margin:0 0 4px}.pub-video-copy p{font-size:10px;color:#8ea8ba;margin:0 0 10px}.pub-video-copy>span{font-size:10px;color:var(--cyan)}
.pub-articles-section{padding-top:34px}
.pub-premium-card{border-radius:10px!important;box-shadow:0 12px 30px rgba(0,0,0,.18)!important}
.pub-premium-card .article-img{aspect-ratio:16/9!important}
.pub-premium-card .pub-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,10,20,.28));pointer-events:none}
.pub-premium-card .article-body{padding:12px 13px 14px}
.pub-premium-card .article-body h3{font-size:14px;line-height:1.2;margin:5px 0 6px}
.pub-premium-card .article-body p{font-size:10px;line-height:1.45}
.pub-premium-card .article-body .tag{font-size:8px}
.pub-premium-card .read-more{font-size:9px;text-transform:uppercase;letter-spacing:.06em;margin-top:11px}
.pub-premium-card .read-more span{font-size:12px}
.pub-social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:10px}
.pub-social-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:14px;border:1px solid rgba(30,99,139,.72);border-radius:10px;background:linear-gradient(145deg,rgba(9,31,51,.9),rgba(4,18,31,.94));transition:.22s ease}
.pub-social-card:hover{transform:translateY(-3px);border-color:var(--cyan)}
.pub-social-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#0c9dcc,#6554ff);color:#fff;font-weight:900;font-size:16px;box-shadow:0 7px 22px rgba(0,190,255,.18)}
.pub-social-card b{display:block;font-size:12px;color:#fff}.pub-social-card small{display:block;color:#8da8bb;font-size:9px;line-height:1.4;margin-top:3px}.pub-social-card strong{font-size:9px;color:var(--cyan);white-space:nowrap}
.pub-empty-card{max-width:420px}.pub-empty-note{font-size:11px;color:#819bad}
.fn-elementor-page{min-height:50vh}
@keyframes pubPulse{from{transform:scale(.9);opacity:.45}to{transform:scale(1.12);opacity:.9}}
html.soft .publications-premium{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,247,253,.96));border-color:#b9d1e3}
html.soft .publications-premium:before{background:radial-gradient(circle at 20% 40%,rgba(0,180,220,.12),transparent 38%),radial-gradient(circle at 82% 25%,rgba(125,70,220,.10),transparent 34%)}
html.soft .pub-section-head p,html.soft .pub-video-copy p,html.soft .pub-social-card small,html.soft .pub-empty-note{color:#55718b}
html.soft .pub-video-card,html.soft .pub-social-card{background:linear-gradient(145deg,#fff,#eef6fb);border-color:#bdd5e6;box-shadow:0 12px 28px rgba(22,74,110,.08)}
html.soft .pub-video-copy h3,html.soft .pub-social-card b{color:#0c2944}
html.soft .pub-play{background:rgba(255,255,255,.72);border-color:#9ec0d7;color:#0c2944}
html.soft .pub-video-label{color:#2c5874;border-color:#9fc0d6;background:rgba(255,255,255,.68)}
html.soft .pub-count{color:#496b84;border-color:#aac8dc}
html.soft .pub-social-card strong,html.soft .pub-video-copy>span{color:#007aa8}
@media(max-width:900px){.pub-video-grid,.pub-social-grid{grid-template-columns:1fr 1fr}.pub-section-head{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.pub-video-grid,.pub-social-grid{grid-template-columns:1fr}.pub-section{padding-top:20px}.pub-hero{padding-bottom:18px}.pub-video-copy h3{font-size:15px}.pub-premium-card .article-body h3{font-size:15px}.pub-social-card{grid-template-columns:auto 1fr}.pub-social-card strong{grid-column:2;justify-self:start}}

/* Publications v2.7.6 — article-free premium focus section */
.pub-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pub-focus-card{position:relative;min-height:235px;padding:22px;border:1px solid rgba(31,105,148,.72);border-radius:14px;overflow:hidden;background:linear-gradient(145deg,rgba(7,29,49,.98),rgba(3,15,28,.98));box-shadow:0 18px 42px rgba(0,0,0,.18);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.pub-focus-card:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-70px;top:-75px;filter:blur(8px);opacity:.55;pointer-events:none}
.pub-focus-web:before{background:radial-gradient(circle,rgba(0,210,255,.42),transparent 68%)}
.pub-focus-growth:before{background:radial-gradient(circle,rgba(102,82,255,.42),transparent 68%)}
.pub-focus-creative:before{background:radial-gradient(circle,rgba(214,105,255,.38),transparent 68%)}
.pub-focus-card:hover{transform:translateY(-5px);border-color:rgba(0,220,255,.85);box-shadow:0 22px 48px rgba(0,190,255,.1)}
.pub-focus-number{position:absolute;right:16px;top:15px;font-size:9px;letter-spacing:.12em;color:#63859b;opacity:.8}
.pub-focus-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:21px;font-weight:800;color:#fff;background:linear-gradient(135deg,#0ba7d4,#5b5cff);box-shadow:0 9px 25px rgba(0,190,255,.18);margin-bottom:25px}
.pub-focus-label{font-size:8px;letter-spacing:.16em;color:var(--cyan);font-weight:800}
.pub-focus-card h3{font-size:18px;line-height:1.22;letter-spacing:-.025em;margin:7px 0 9px;max-width:330px}
.pub-focus-card p{font-size:10px;line-height:1.55;color:#8fa9bb;max-width:360px;margin:0}
.pub-focus-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.pub-focus-tags span{font-size:8px;color:#a8c5d6;border:1px solid rgba(69,132,164,.42);background:rgba(11,53,78,.42);border-radius:999px;padding:5px 8px}
.pub-now-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding:18px 20px;border:1px solid rgba(0,200,240,.3);border-radius:13px;background:linear-gradient(100deg,rgba(7,38,60,.92),rgba(18,22,56,.86));box-shadow:0 14px 35px rgba(0,0,0,.14)}
.pub-now-card h3{font-size:16px;margin:4px 0 4px}.pub-now-card p{font-size:10px;color:#8fa9bb;margin:0;max-width:650px;line-height:1.5}
html.soft .pub-focus-card{background:linear-gradient(145deg,#fff,#eef6fb);border-color:#bdd5e6;box-shadow:0 14px 34px rgba(22,74,110,.08)}
html.soft .pub-focus-card h3{color:#0c2944}html.soft .pub-focus-card p,html.soft .pub-focus-tags span,html.soft .pub-now-card p{color:#55718b}
html.soft .pub-focus-tags span{border-color:#bfd4e2;background:#f4f9fc}html.soft .pub-now-card{background:linear-gradient(100deg,#f1fbff,#f4f2ff);border-color:#c4dce9}
@media(max-width:900px){.pub-focus-grid{grid-template-columns:1fr 1fr}.pub-focus-card:last-child{grid-column:1/-1}.pub-now-card{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.pub-focus-grid{grid-template-columns:1fr}.pub-focus-card:last-child{grid-column:auto}.pub-focus-card{min-height:auto;padding:19px}.pub-focus-card h3{font-size:17px}.pub-now-card{padding:17px}.pub-now-card .outline-btn{width:100%;text-align:center}}

/* v2.7.7 Publications showcase */
.publications-premium .pub-section-badge{display:inline-flex;align-items:center;white-space:nowrap;font-size:9px;letter-spacing:.14em;font-weight:800;color:var(--cyan);border:1px solid rgba(0,205,240,.28);background:rgba(0,170,220,.06);border-radius:999px;padding:8px 10px}
.pub-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pub-showcase-card{min-width:0;overflow:hidden;border:1px solid rgba(30,105,145,.72);border-radius:14px;background:linear-gradient(145deg,rgba(8,31,52,.98),rgba(4,17,31,.98));box-shadow:0 16px 38px rgba(0,0,0,.2);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.pub-showcase-card:hover{transform:translateY(-5px);border-color:rgba(0,220,255,.8);box-shadow:0 22px 45px rgba(0,190,255,.12)}
.pub-showcase-media{aspect-ratio:5/3;overflow:hidden;background:#081827;border-bottom:1px solid rgba(40,110,145,.35)}
.pub-showcase-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.pub-showcase-card:hover .pub-showcase-media img{transform:scale(1.035);filter:saturate(1.08)}
.pub-showcase-copy{padding:15px 15px 17px}.pub-showcase-copy>span{font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);font-weight:800}.pub-showcase-copy h3{font-size:16px;line-height:1.25;margin:7px 0 7px;color:#fff}.pub-showcase-copy p{font-size:10px;line-height:1.55;color:#8fa9bb;margin:0}
.pub-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:8px}
.pub-insight-card{position:relative;min-height:190px;padding:18px;border:1px solid rgba(30,105,145,.68);border-radius:13px;background:linear-gradient(145deg,rgba(7,29,49,.98),rgba(3,15,28,.98));box-shadow:0 14px 32px rgba(0,0,0,.16);overflow:hidden;transition:transform .22s ease,border-color .22s ease}
.pub-insight-card:after{content:"";position:absolute;width:150px;height:150px;right:-80px;top:-80px;border-radius:50%;background:radial-gradient(circle,rgba(0,220,255,.2),transparent 68%);pointer-events:none}
.pub-insight-card:hover{transform:translateY(-4px);border-color:rgba(0,220,255,.8)}
.pub-insight-number{position:absolute;right:16px;top:14px;color:#50758c;font-size:10px;letter-spacing:.12em}.pub-insight-tag{display:inline-block;color:var(--cyan);font-size:8px;letter-spacing:.13em;text-transform:uppercase;font-weight:800}.pub-insight-card h3{font-size:16px;line-height:1.25;margin:9px 35px 8px 0;color:#fff}.pub-insight-card p{font-size:10px;line-height:1.55;color:#8fa9bb;margin:0;max-width:370px}.pub-insight-link{display:inline-block;margin-top:15px;color:var(--cyan);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.pub-insight-link span{font-size:12px}
html.soft .publications-premium .pub-section-badge{color:#007da8;border-color:#b9d8e6;background:#f1fbff}html.soft .pub-showcase-card{background:linear-gradient(145deg,#fff,#eef6fb);border-color:#bdd5e6;box-shadow:0 14px 34px rgba(22,74,110,.08)}html.soft .pub-showcase-copy h3,html.soft .pub-insight-card h3{color:#0c2944}html.soft .pub-showcase-copy p,html.soft .pub-insight-card p{color:#55718b}html.soft .pub-insight-card{background:linear-gradient(145deg,#fff,#eef6fb);border-color:#bdd5e6;box-shadow:0 12px 30px rgba(22,74,110,.07)}html.soft .pub-insight-number{color:#7290a3}
@media(max-width:900px){.pub-showcase-grid,.pub-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pub-section-head{align-items:flex-start}.publications-premium .pub-section-badge{margin-top:4px}}
@media(max-width:560px){.pub-showcase-grid,.pub-insight-grid{grid-template-columns:1fr;gap:12px}.pub-showcase-copy{padding:14px}.pub-showcase-copy h3{font-size:16px}.pub-insight-card{min-height:175px;padding:17px}.pub-insight-card h3{font-size:17px}.pub-section-badge{font-size:8px}}

@media(max-width:900px){.publications-premium .pub-video-featured{grid-template-columns:1fr}.publications-premium .pub-video-featured .pub-video-art{min-height:260px}.publications-premium .pub-video-featured .pub-video-copy{padding:20px}.publications-premium .pub-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.publications-premium .pub-video-featured .pub-video-art{min-height:210px}.publications-premium .pub-video-featured .pub-video-copy h3{font-size:21px}.publications-premium .pub-blog-grid{grid-template-columns:1fr}.publications-premium .pub-blog-copy h3{font-size:18px}}


/* Publications video row refinement: 3 videos in one desktop row */
.publications-premium .pub-video-grid-all{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.publications-premium .pub-video-grid-all .pub-video-card{display:flex;flex-direction:column;min-width:0;height:100%}
.publications-premium .pub-video-grid-all .pub-video-art{aspect-ratio:16/9;min-height:0}
.publications-premium .pub-video-grid-all .pub-video-copy{display:flex;flex:1;flex-direction:column;padding:16px}
.publications-premium .pub-video-grid-all .pub-video-copy h3{font-size:17px;line-height:1.3;margin:0 0 7px}
.publications-premium .pub-video-grid-all .pub-video-copy p{font-size:11px;line-height:1.55;margin:0 0 12px}
.publications-premium .pub-video-grid-all .pub-video-copy>span{margin-top:auto}
@media(max-width:900px){.publications-premium .pub-video-grid-all{grid-template-columns:repeat(2,minmax(0,1fr))}.publications-premium .pub-video-grid-all .pub-video-copy{padding:14px}.publications-premium .pub-video-grid-all .pub-video-copy h3{font-size:16px}}
@media(max-width:560px){.publications-premium .pub-video-grid-all{grid-template-columns:1fr;gap:12px}.publications-premium .pub-video-grid-all .pub-video-copy{padding:15px}.publications-premium .pub-video-grid-all .pub-video-copy h3{font-size:17px}}

/* v2.8.0 — Senior Portfolio Accountant featured role + CV updated note */
.work-card.featured{padding:16px 18px;border-color:rgba(8,234,255,.55);background:linear-gradient(145deg,rgba(10,42,72,.96),rgba(4,20,38,.96));box-shadow:0 0 30px rgba(0,200,255,.14),inset 0 1px 0 rgba(255,255,255,.05)}
.work-card.featured:before{width:11px;height:11px;top:18px;left:-13px;box-shadow:0 0 14px var(--cyan)}
.work-card.featured h3{font-size:19px;letter-spacing:-.02em;color:#fff;margin:6px 0 3px}
.work-card.featured .meta{font-size:12px;color:#8fb3cc;margin-bottom:10px}
.work-card.featured .role-summary{font-size:13px;line-height:1.6;color:#c7d9e8;margin:0 0 12px}
.current-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#00131f;background:linear-gradient(90deg,var(--cyan),#4aa6ff);border-radius:999px;padding:4px 10px}
.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}
.kpi{border:1px solid rgba(21,91,142,.8);background:rgba(0,190,255,.06);border-radius:8px;padding:10px 8px;text-align:center}
.kpi strong{display:block;font-size:22px;line-height:1.1;color:var(--cyan);letter-spacing:-.02em}
.kpi span{display:block;font-size:10px;color:#9bb6ca;margin-top:4px;line-height:1.3}
.role-points{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:7px}
.role-points li{position:relative;padding-left:18px;font-size:12px;line-height:1.55;color:#bcd0e0}
.role-points li:before{content:"✓";position:absolute;left:0;color:var(--cyan);font-weight:800}
.role-points li b{color:#fff}
.work-card.featured .chips{display:flex;flex-wrap:wrap;gap:5px}
.work-card.featured .chip{font-size:10px;padding:3px 9px}
.download .cv-updated{font-size:9px;color:var(--cyan);margin:-4px 0 8px}
@media(max-width:1050px){.work-card.featured h3{font-size:19px}.work-card.featured .meta{font-size:12px}.work-card.featured .role-summary{font-size:14px}.role-points li{font-size:13px}.kpi strong{font-size:20px}.kpi span{font-size:11px}.work-card.featured .chip{font-size:11px}.download .cv-updated{font-size:12px}}
@media(max-width:520px){.kpi-row{grid-template-columns:1fr}.kpi{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:9px 12px}.kpi strong{font-size:18px}.kpi span{margin:0}.work-card.featured{padding:14px}}
html.soft .work-card.featured{background:linear-gradient(145deg,#ffffff,#eaf4fc);border-color:#7fb3d6;box-shadow:0 8px 24px rgba(24,74,120,.14)}
html.soft .work-card.featured h3{color:#0c2440}
html.soft .work-card.featured .meta{color:#4a6784}
html.soft .work-card.featured .role-summary,html.soft .role-points li{color:#2f4d69}
html.soft .role-points li b{color:#0c2440}
html.soft .kpi{background:#f1f8fd;border-color:#b5d0e5}
html.soft .kpi span{color:#4a6784}
html.soft .current-badge{color:#fff;background:linear-gradient(90deg,#0072b5,#4aa6ff)}

/* v2.8.0 — readable desktop type (was 6–8px on large screens) */
@media(min-width:1051px){
  .eyebrow{font-size:11px}
  .lead{font-size:15px;line-height:1.6;max-width:640px}
  .nav{font-size:13px;gap:26px}
  .outline-btn,.theme-switch{font-size:12px;height:36px}
  .btn{font-size:13px;padding:11px 20px}
  .brand small{font-size:9px}
  .service-card{min-height:150px}.service-card h3{font-size:16px;margin-bottom:6px}.service-card p{font-size:13px;line-height:1.55}
  .stat strong{font-size:24px}.stat span{font-size:12px}
  .pill{font-size:12px;padding:7px 13px}
  .side-nav a{font-size:13px;padding:9px}.side-title{font-size:15px}.side-text{font-size:12.5px;line-height:1.6}.side-brand p{font-size:11px}
  .work-card h3{font-size:15px}.work-card .meta{font-size:12px}.work-card p{font-size:13px;line-height:1.55}
  .edu h3{font-size:14px}.edu p{font-size:12.5px}
  .download b{font-size:14px}.download p{font-size:12.5px}.download .btn{font-size:12px}.download .cv-updated{font-size:12px}
  .product-card h3{font-size:16px}.product-card p{font-size:13px}.product-card .price{font-size:20px}.product-card .small-btn{font-size:12px;padding:8px 14px}
  .article-body .tag{font-size:11px}.article-body h3{font-size:15px}.article-body p{font-size:13px}.article-body a{font-size:12px}
  .pub-article-grid .article-body h3{font-size:15px}.pub-article-grid .article-body p{font-size:13px}
  .field label{font-size:12px}.field input,.field textarea{font-size:14px;padding:10px 12px}
  .contact-info-card .label{font-size:11px}.contact-info-card .value{font-size:14px}.contact-social .lbl{font-size:11px}
  .comp-card h4{font-size:14px}.chip{font-size:12px;padding:4px 10px}
  .lang-item b{font-size:14px}.lang-item span{font-size:12px}
  .achieve-list li{font-size:13px}
  .portfolio-quote{font-size:13px}.portfolio-quote small{font-size:11px}
  .feature-item{font-size:12.5px}
  .footer{font-size:12px}.footer-legal a{font-size:12px}.footer-bottom{font-size:12px}.footer-brand p{font-size:13px}.footer-label{font-size:11px}
  .work-card.featured .chip{font-size:11px}
}

/* v2.8.0 — homepage extras: current-role figures, hire bar, testimonials */
.stats-current{margin-top:10px}
.hire-bar{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-top:16px;padding:22px 24px;border:1px solid rgba(8,234,255,.45);border-radius:10px;background:radial-gradient(circle at 85% 20%,rgba(145,43,255,.16),transparent 40%),linear-gradient(135deg,rgba(8,36,64,.96),rgba(4,18,34,.96));box-shadow:0 0 30px rgba(0,190,255,.10)}
.hire-copy{flex:1 1 340px;min-width:0}
.hire-bar h2{font-size:clamp(20px,2.4vw,28px);letter-spacing:-.03em;margin:6px 0 6px}
.hire-bar p{margin:0;color:#a9c0d3;font-size:14px;line-height:1.55;max-width:620px}
.hire-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hire-actions .btn,.hire-actions .outline-btn{font-size:13px;height:40px;padding:0 18px}
.testi-section{margin-top:22px}
.testi-section h2{font-size:clamp(20px,2.2vw,28px);letter-spacing:-.03em;margin:6px 0 14px}
.testi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.testi-card{margin:0;padding:18px;border:1px solid rgba(17,83,132,.75);border-radius:10px;background:linear-gradient(145deg,rgba(8,31,54,.94),rgba(3,16,31,.94));box-shadow:var(--shadow);display:flex;flex-direction:column}
.testi-stars{color:#ffd35c;letter-spacing:.12em;font-size:15px;margin-bottom:8px}
.testi-card blockquote{margin:0 0 14px;flex:1}
.testi-card blockquote p{margin:0;font-size:14px;line-height:1.65;color:#cfe0ee}
.testi-card figcaption b{display:block;font-size:14px;color:#fff}
.testi-card figcaption span{display:block;font-size:12px;color:#8fa8bf;margin-top:2px}
.testi-hint{padding:14px 16px;border:1px dashed #1b597c;border-radius:10px;color:#9eb5c9;font-size:13px;line-height:1.55;background:rgba(5,20,33,.45)}
@media(max-width:900px){.testi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.testi-grid{grid-template-columns:1fr}.hire-bar{padding:18px}.hire-actions{width:100%}.hire-actions .btn,.hire-actions .outline-btn{flex:1 1 auto;justify-content:center}}
html.soft .hire-bar{background:radial-gradient(circle at 85% 20%,rgba(140,60,220,.10),transparent 40%),linear-gradient(135deg,#ffffff,#e8f3fb);border-color:#7fb3d6;box-shadow:0 8px 24px rgba(24,74,120,.12)}
html.soft .hire-bar h2{color:#0c2440}html.soft .hire-bar p{color:#35597a}
html.soft .testi-card{background:linear-gradient(145deg,#fff,#eef6fb);border-color:#bdd5e6}
html.soft .testi-card blockquote p{color:#2f4d69}html.soft .testi-card figcaption b{color:#0c2440}html.soft .testi-card figcaption span{color:#4a6784}
html.soft .testi-hint{background:#f1f8fd;border-color:#9cc3e0;color:#35597a}

/* v2.8.0 — case studies, contact grid, WhatsApp float */
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:9px}
.case-card{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}
.case-kpi{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.case-kpi strong{font-size:24px;letter-spacing:-.02em;color:var(--cyan)}
.case-kpi span{font-size:12px;color:var(--muted)}
.case-card h3{font-size:16px;margin:0 0 2px}
.case-role{font-size:12px;color:var(--muted2);margin-bottom:10px}
.case-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--cyan);margin:10px 0 3px}
.case-card p{font-size:13px;line-height:1.55;color:#bcd0e0;margin:0}
.case-card ul{margin:0;padding-left:17px;display:grid;gap:3px}
.case-card li{font-size:13px;line-height:1.5;color:#bcd0e0}
html.soft .case-card p,html.soft .case-card li{color:#35597a}
@media(max-width:1050px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.case-grid{grid-template-columns:1fr}}
@media(min-width:761px){.contact-info-grid{grid-template-columns:repeat(4,1fr)}}
.wa-float{position:fixed;right:18px;bottom:18px;width:52px;height:52px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;z-index:90;box-shadow:0 6px 22px rgba(0,0,0,.35);transition:transform .2s ease,box-shadow .2s ease}
.wa-float svg{width:28px;height:28px}
.wa-float:hover{transform:scale(1.08);box-shadow:0 8px 28px rgba(37,211,102,.45)}
.toast{bottom:84px}
@media(prefers-reduced-motion:reduce){.wa-float{transition:none}}

/* Journal publications: animated editorial showcase */
.publications-premium .pub-journal-section{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(35,190,185,.16);border-radius:22px;padding:clamp(20px,3vw,32px);margin:24px 0;background:radial-gradient(ellipse at 0% 0%,rgba(24,178,151,.10),transparent 42%),linear-gradient(145deg,rgba(7,23,40,.78),rgba(5,15,29,.94));box-shadow:0 20px 60px rgba(0,0,0,.16)}
.publications-premium .pub-journal-section:before{content:"";position:absolute;inset:-45% auto auto -12%;width:42%;aspect-ratio:1;border:1px solid rgba(31,202,175,.13);border-radius:50%;box-shadow:0 0 0 22px rgba(31,202,175,.025),0 0 0 46px rgba(31,202,175,.02);pointer-events:none;z-index:-1;animation:pub-orbit 18s linear infinite}
.publications-premium .pub-journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.publications-premium .pub-journal-card{min-width:0;display:grid;grid-template-columns:minmax(130px,.72fr) minmax(0,1.5fr);border:1px solid rgba(120,193,196,.22);border-radius:17px;overflow:hidden;background:linear-gradient(145deg,rgba(13,36,54,.96),rgba(7,21,36,.97));box-shadow:0 12px 30px rgba(0,0,0,.17);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;animation:pub-journal-rise .7s both}
.publications-premium .pub-journal-card:nth-child(2){animation-delay:.12s}.publications-premium .pub-journal-card:nth-child(3){animation-delay:.2s}
.publications-premium .pub-journal-card:hover{transform:translateY(-5px);border-color:rgba(63,220,185,.62);box-shadow:0 22px 45px rgba(0,0,0,.25),0 0 28px rgba(32,200,166,.08)}
.publications-premium .pub-journal-visual{position:relative;min-height:230px;overflow:hidden;background:linear-gradient(145deg,#103a3d,#091b2b);display:flex;align-items:center;justify-content:center}
.publications-premium .pub-journal-visual>a{display:block;width:100%;height:100%;position:absolute;inset:0}
.publications-premium .pub-journal-visual img{width:100%;height:100%;min-height:230px;object-fit:cover;object-position:top center;display:block;transition:transform .65s ease,filter .4s ease}
.publications-premium .pub-journal-card:hover .pub-journal-visual img{transform:scale(1.045);filter:saturate(1.08)}
.publications-premium .pub-journal-visual:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(3,14,24,.6));pointer-events:none}
.publications-premium .pub-journal-stamp{position:absolute;z-index:2;left:10px;top:10px;padding:6px 8px;border:1px solid rgba(224,194,117,.45);border-radius:99px;background:rgba(7,23,33,.82);color:#f0d69a;font-size:8px;letter-spacing:.13em;font-weight:800}
.publications-premium .pub-journal-placeholder{height:100%;min-height:230px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#9ae2d0;letter-spacing:.2em;font-size:10px}.publications-premium .pub-journal-placeholder b{font-size:42px;color:#d8bd7a}
.publications-premium .pub-journal-copy{padding:19px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.publications-premium .pub-journal-meta{display:flex;flex-wrap:wrap;gap:6px 9px;margin:0 0 12px;color:#83c7b7;font-size:9px;line-height:1.5;letter-spacing:.055em;text-transform:uppercase}
.publications-premium .pub-journal-meta span+span:before{content:"•";margin-right:8px;color:#c6a96b}
.publications-premium .pub-journal-copy h3{font-size:clamp(16px,1.5vw,21px);line-height:1.3;margin:0 0 10px;color:#f1f7f5;letter-spacing:-.025em}
.publications-premium .pub-journal-copy p{font-size:12px;line-height:1.75;color:#a9c0ca;margin:0 0 18px}
.publications-premium .pub-journal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:auto}
.publications-premium .pub-journal-primary{display:inline-flex;align-items:center;gap:9px;padding:10px 12px;border-radius:9px;background:linear-gradient(110deg,#0b9e89,#1abf9e);color:#041d25!important;text-decoration:none;font-size:11px;font-weight:800;transition:transform .25s ease,filter .25s ease}
.publications-premium .pub-journal-primary:hover{transform:translateY(-2px);filter:brightness(1.08)}
.publications-premium .pub-journal-doi{color:#e4d09c!important;text-decoration:none;font-size:10px;font-weight:700;border-bottom:1px solid rgba(228,208,156,.35);padding:6px 0}
.publications-premium .pub-journal-doi:hover{border-color:#e4d09c}
html.soft .publications-premium .pub-journal-section{background:radial-gradient(ellipse at 0% 0%,rgba(24,178,151,.08),transparent 42%),linear-gradient(145deg,#fff,#f1faf8);border-color:#c7e6dc}
html.soft .publications-premium .pub-journal-card{background:linear-gradient(145deg,#fff,#f5fbfa);border-color:#c9e2dc;box-shadow:0 12px 30px rgba(22,74,110,.08)}
html.soft .publications-premium .pub-journal-copy h3{color:#103b3a}html.soft .publications-premium .pub-journal-copy p{color:#4f6f75}html.soft .publications-premium .pub-journal-meta{color:#187c70}
@keyframes pub-journal-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pub-orbit{to{transform:rotate(360deg)}}
@media(max-width:1050px){.publications-premium .pub-journal-grid{grid-template-columns:1fr}.publications-premium .pub-journal-card{grid-template-columns:minmax(160px,.65fr) minmax(0,1.35fr)}}
@media(max-width:560px){.publications-premium .pub-journal-section{padding:16px;border-radius:16px}.publications-premium .pub-journal-card{grid-template-columns:1fr}.publications-premium .pub-journal-visual,.publications-premium .pub-journal-visual img,.publications-premium .pub-journal-placeholder{min-height:230px;max-height:280px}.publications-premium .pub-journal-visual img{object-position:top center}.publications-premium .pub-journal-copy{padding:16px}.publications-premium .pub-journal-copy h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.publications-premium .pub-journal-section:before,.publications-premium .pub-journal-card{animation:none}.publications-premium .pub-journal-card,.publications-premium .pub-journal-visual img{transition:none}}

/* Homepage research showcase — SaaS-inspired animated publication feature */
.home-research-showcase{position:relative;isolation:isolate;overflow:hidden;margin:clamp(34px,6vw,76px) 0;padding:clamp(24px,4.2vw,54px);border:1px solid rgba(69,220,185,.23);border-radius:28px;background:radial-gradient(ellipse at 6% 0%,rgba(25,206,164,.14),transparent 38%),radial-gradient(ellipse at 100% 100%,rgba(214,174,90,.10),transparent 38%),linear-gradient(140deg,#071724 0%,#0a1e2c 52%,#071421 100%);box-shadow:0 28px 90px rgba(0,0,0,.23)}
.home-research-inner{position:relative;z-index:2}.home-research-orbit{position:absolute;z-index:0;width:360px;aspect-ratio:1;border:1px solid rgba(77,222,184,.12);border-radius:50%;pointer-events:none;animation:home-research-spin 32s linear infinite}.home-research-orbit:before,.home-research-orbit:after{content:"";position:absolute;inset:24px;border:1px dashed rgba(215,180,106,.16);border-radius:50%}.home-research-orbit:after{inset:58px;border-style:solid;border-color:rgba(77,222,184,.10)}.home-research-orbit-one{right:-170px;top:-185px}.home-research-orbit-two{left:-245px;bottom:-265px;width:440px;animation-direction:reverse;animation-duration:44s}
.home-research-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:28px}.home-research-eyebrow{display:inline-flex;align-items:center;gap:9px;color:#81e1c8;font-size:10px;letter-spacing:.17em;font-weight:850}.home-research-pulse,.home-research-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#45d9ae;box-shadow:0 0 0 5px rgba(69,217,174,.12),0 0 18px rgba(69,217,174,.65);animation:home-research-pulse 2.4s ease-in-out infinite}.home-research-heading h2{max-width:720px;margin:13px 0 9px;color:#f4faf8;font-size:clamp(28px,4.2vw,48px);line-height:1.08;letter-spacing:-.045em}.home-research-heading h2 span{background:linear-gradient(100deg,#5de0bb,#e6ca8c);-webkit-background-clip:text;background-clip:text;color:transparent}.home-research-heading p{max-width:620px;margin:0;color:#a9c1ca;font-size:14px;line-height:1.75}.home-research-all{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto;padding:12px 15px;border:1px solid rgba(98,220,188,.35);border-radius:11px;color:#b8f4e4!important;text-decoration:none;font-size:12px;font-weight:800;background:rgba(24,105,91,.17);transition:transform .25s ease,background .25s ease,border-color .25s ease}.home-research-all span{font-size:16px}.home-research-all:hover{transform:translateY(-3px);background:rgba(24,150,119,.22);border-color:#5de0bb}
.home-research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.home-research-card{min-width:0;display:grid;grid-template-columns:minmax(125px,.72fr) minmax(0,1.4fr);overflow:hidden;border:1px solid rgba(125,194,194,.22);border-radius:18px;background:linear-gradient(145deg,rgba(16,42,57,.96),rgba(8,25,39,.98));box-shadow:0 16px 36px rgba(0,0,0,.2);animation:home-research-rise .75s both;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.home-research-card:nth-child(2){animation-delay:.14s}.home-research-card:hover{transform:translateY(-6px);border-color:rgba(80,225,187,.65);box-shadow:0 25px 55px rgba(0,0,0,.28),0 0 30px rgba(69,217,174,.08)}.home-research-art{position:relative;min-height:240px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#17443f,#0b1c2b)}.home-research-art img{width:100%;height:100%;min-height:240px;position:absolute;inset:0;object-fit:cover;object-position:top center;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease}.home-research-card:hover .home-research-art img{transform:scale(1.055);filter:saturate(1.08)}.home-research-art:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(3,14,24,.7));pointer-events:none}.home-research-tag{position:absolute;z-index:2;left:10px;top:10px;padding:6px 8px;border:1px solid rgba(230,202,140,.45);border-radius:99px;background:rgba(7,23,33,.86);color:#f0d69a;font-size:8px;letter-spacing:.1em;font-weight:850}.home-research-art-glow{position:absolute;z-index:1;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.11) 48%,transparent 64%);transform:translateX(-120%);transition:transform .85s ease;pointer-events:none}.home-research-card:hover .home-research-art-glow{transform:translateX(120%)}.home-research-placeholder{display:flex;flex-direction:column;align-items:center;gap:16px;color:#9ae2d0;font-size:9px;letter-spacing:.18em}.home-research-placeholder b{font-size:40px;color:#d8bd7a}.home-research-copy{padding:clamp(16px,2vw,22px);display:flex;flex-direction:column;align-items:flex-start;min-width:0}.home-research-journal{margin-bottom:10px;color:#81d9c2;font-size:9px;line-height:1.55;letter-spacing:.06em;text-transform:uppercase}.home-research-copy h3{margin:0 0 10px;color:#f4f8f7;font-size:clamp(15px,1.35vw,20px);line-height:1.35;letter-spacing:-.02em}.home-research-copy p{margin:0 0 17px;color:#a9c0ca;font-size:12px;line-height:1.75}.home-research-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:auto}.home-research-read{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:9px;background:linear-gradient(110deg,#0b9e89,#55dfb6);color:#06252b!important;text-decoration:none;font-size:11px;font-weight:850;transition:transform .25s ease,filter .25s ease}.home-research-read:hover{transform:translateY(-2px);filter:brightness(1.08)}.home-research-doi{color:#e6d09a!important;text-decoration:none;font-size:10px;font-weight:750;border-bottom:1px solid rgba(230,208,154,.4);padding:6px 0}.home-research-doi:hover{border-color:#e6d09a}.home-research-foot{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(134,190,191,.15);color:#9bb8c0;font-size:11px;line-height:1.6}.home-research-dot{width:5px;height:5px;flex-basis:5px;animation:none;box-shadow:0 0 12px rgba(69,217,174,.5)}
@keyframes home-research-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes home-research-spin{to{transform:rotate(360deg)}}@keyframes home-research-pulse{0%,100%{opacity:1;box-shadow:0 0 0 5px rgba(69,217,174,.12),0 0 18px rgba(69,217,174,.65)}50%{opacity:.65;box-shadow:0 0 0 8px rgba(69,217,174,.04),0 0 9px rgba(69,217,174,.35)}}
html.soft .home-research-showcase{background:radial-gradient(ellipse at 6% 0%,rgba(25,206,164,.09),transparent 38%),linear-gradient(140deg,#f8fffc,#edf8f5);border-color:#c8e7dc;box-shadow:0 24px 65px rgba(22,74,110,.1)}html.soft .home-research-heading h2{color:#123b3b}html.soft .home-research-heading p,html.soft .home-research-foot{color:#54767a}html.soft .home-research-card{background:linear-gradient(145deg,#fff,#f4fbf9);border-color:#c9e2dc;box-shadow:0 12px 30px rgba(22,74,110,.08)}html.soft .home-research-copy h3{color:#143d3b}html.soft .home-research-copy p{color:#4f6f75}html.soft .home-research-journal{color:#187c70}html.soft .home-research-all{color:#12695d!important}
@media(max-width:900px){.home-research-heading{align-items:flex-start;flex-direction:column}.home-research-grid{grid-template-columns:1fr}.home-research-card{grid-template-columns:minmax(150px,.58fr) minmax(0,1.42fr)}}@media(max-width:560px){.home-research-showcase{padding:19px;border-radius:20px}.home-research-card{grid-template-columns:1fr}.home-research-art,.home-research-art img,.home-research-placeholder{min-height:220px;max-height:250px}.home-research-copy{padding:17px}.home-research-heading h2{font-size:31px}.home-research-all{width:100%;justify-content:center}.home-research-foot{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.home-research-orbit,.home-research-pulse,.home-research-card{animation:none}.home-research-card,.home-research-art img,.home-research-art-glow,.home-research-all,.home-research-read{transition:none}}
