/*
Theme Name: Madi-Szabo Enterprise V43 WP2
Theme URI: https://madiszabo.com/
Author: Gergely Madi-Szabo
Description: Final V43 portfolio. Dedicated WordPress front page; existing HOME content remains untouched.
Version: 2.1.0 Hardened
Text Domain: madiszabo-enterprise-v43-wp2
*/

:root{--ink:#102b3b;--blue:#235d7b;--blue2:#327fa3;--accent:#54b7d3;--ice:#eaf5f8;--paper:#f8fbfc;--white:#fff;--muted:#607986;--line:#d7e6eb;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{text-decoration:none;color:inherit}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}
.header{position:fixed;inset:0 0 auto;z-index:99;background:rgba(248,251,252,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(16,43,59,.08)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:850;letter-spacing:.12em}.brand i{font-style:normal;color:var(--accent)}
.menu{display:flex;gap:28px;font-size:13px;font-weight:650;color:#47636f}.menu a:hover{color:var(--blue2)}
.hero{min-height:760px;padding:155px 0 95px;background:linear-gradient(120deg,#f8fbfc 0%,#edf7fa 53%,#dceff4 100%);overflow:hidden;position:relative}
.hero:after{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-170px;top:70px;border:1px solid rgba(50,127,163,.14);box-shadow:0 0 0 70px rgba(50,127,163,.035),0 0 0 145px rgba(50,127,163,.025)}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center;position:relative;z-index:2}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:var(--blue2);font-weight:800}
h1{font-size:clamp(50px,7.2vw,88px);line-height:.96;letter-spacing:-.052em;margin:20px 0 27px;max-width:850px}h1 span{color:var(--blue2)}
.hero p{font-size:19px;color:var(--muted);max-width:720px}.roleline{margin-top:25px;font-weight:750;color:var(--blue);letter-spacing:.015em}
.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}.btn{padding:13px 20px;border-radius:6px;border:1px solid var(--blue);font-weight:750;font-size:14px}.btn.primary{background:var(--blue);color:white}.btn.ghost{background:rgba(255,255,255,.5)}
.visual{height:430px;position:relative}.orb{position:absolute;border-radius:50%;border:1px solid rgba(35,93,123,.22)}.o1{width:350px;height:350px;right:10px;top:20px}.o2{width:250px;height:250px;right:60px;top:70px}.o3{width:150px;height:150px;right:110px;top:120px;background:linear-gradient(145deg,var(--blue),var(--accent));border:0;box-shadow:0 30px 70px rgba(35,93,123,.2)}
.vlabel{position:absolute;background:rgba(255,255,255,.86);border:1px solid var(--line);padding:12px 15px;border-radius:7px;box-shadow:0 14px 40px rgba(16,43,59,.07);font-size:13px;font-weight:750}.v1{right:245px;top:85px}.v2{right:0;top:280px}.v3{right:260px;top:315px}
section{padding:105px 0}.section-tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue2);font-weight:850;margin-bottom:15px}.title{font-size:clamp(36px,5vw,57px);line-height:1.05;letter-spacing:-.035em;margin:0;max-width:850px}.intro{font-size:19px;color:var(--muted);max-width:760px;margin:22px 0 0}
.solve{background:white}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pillar{padding:42px 34px;border-right:1px solid var(--line)}.pillar:last-child{border-right:0}.pillar .n{font-size:11px;color:var(--accent);font-weight:850;letter-spacing:.15em}.pillar h3{font-size:25px;line-height:1.12;margin:15px 0}.pillar p{color:var(--muted);margin:0}
.identity{background:var(--blue);color:white}.identity .section-tag{color:#91d9e9}.identity .intro{color:#c8dbe4}.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.cap-list{margin-top:10px;border-top:1px solid rgba(255,255,255,.17)}.cap{padding:19px 0;border-bottom:1px solid rgba(255,255,255,.17);display:flex;justify-content:space-between;gap:20px}.cap span:last-child{color:#bdd2dc;font-size:14px;text-align:right}
.leadership{background:var(--ice)}.lead-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center}.statement{font-size:clamp(30px,4vw,49px);line-height:1.14;letter-spacing:-.03em;margin:0}.lead-copy p{color:var(--muted);font-size:18px}.micro{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.chip{background:white;border:1px solid var(--line);padding:8px 11px;border-radius:999px;font-size:12px;font-weight:700;color:#47636f}
.work{background:white}.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px}.case{min-height:285px;padding:28px;border:1px solid var(--line);background:linear-gradient(155deg,#fff,#f0f7f9);display:flex;flex-direction:column;justify-content:space-between}.case .small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue2);font-weight:850}.case h3{font-size:25px;line-height:1.15;margin:14px 0}.case p{color:var(--muted)}.case .foot{font-size:12px;font-weight:750;color:var(--blue)}
.approach{background:#f0f7f9}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:55px}.step{padding:25px 0;border-top:2px solid var(--blue2)}.step strong{display:block;font-size:18px;margin-bottom:8px}.step span{color:var(--muted);font-size:14px}
.contact{background:linear-gradient(120deg,#153f58,#235d7b);color:white}.contact .section-tag{color:#94ddeb}.contact .intro{color:#d1e1e8}.contact .btn{border-color:white}.contact .btn.primary{background:white;color:var(--blue)}
footer{background:#0f3043;color:#bcd0d9;padding:30px 0;font-size:13px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.hero-grid,.identity-grid,.lead-grid{grid-template-columns:1fr}.visual{height:330px}.pillars,.cases{grid-template-columns:1fr}.pillar{border-right:0;border-bottom:1px solid var(--line)}.steps{grid-template-columns:1fr 1fr}.menu{display:none}}
@media(max-width:560px){.wrap{width:min(var(--max),calc(100% - 28px))}.hero{padding-top:125px}.visual{display:none}.steps{grid-template-columns:1fr}section{padding:80px 0}h1{font-size:51px}}

.credibility{padding:0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cred-top{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}
.cred-top strong{font-size:12px;letter-spacing:.16em;color:var(--blue);white-space:nowrap}.cred-top span{font-size:14px;color:var(--muted)}
.cred-orgs{min-height:76px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}.cred-orgs span{font-size:12px;color:var(--muted);margin-right:auto}.cred-orgs strong{font-size:14px;color:#365868}
.principles{background:#fff}.principle-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}.principle-row span{border:1px solid var(--line);background:var(--paper);padding:10px 14px;border-radius:4px;font-size:13px;font-weight:750;color:#47636f}
@media(max-width:760px){.cred-top{align-items:flex-start;flex-direction:column;justify-content:center;padding:18px 0}.cred-orgs{padding:18px 0;gap:16px}.cred-orgs span{width:100%;margin-right:0}}

.experience-scale{background:#fff;padding:100px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.experience-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:82px;align-items:center}
.experience-copy .title{max-width:760px}.experience-lead{font-size:18px;color:var(--muted);max-width:760px;margin:22px 0}
.journey{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:34px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;font-weight:800;color:var(--blue)}
.journey b{color:var(--accent);font-weight:500}.industry-line{margin-top:26px;font-size:14px;font-weight:750;color:#47636f}
.company-line{display:flex;align-items:center;flex-wrap:wrap;gap:17px;margin-top:20px}.company-line small{width:100%;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.company-line strong{font-size:13px;color:var(--blue)}
.portrait-wrap{position:relative;margin:0;max-width:420px;justify-self:end}.portrait-wrap img{display:block;width:100%;height:auto;position:relative;z-index:2;border-radius:4px;filter:saturate(.82) contrast(1.02);box-shadow:0 24px 65px rgba(16,43,59,.13)}
.portrait-accent{position:absolute;z-index:1;width:86%;height:90%;right:-22px;bottom:-22px;background:linear-gradient(145deg,#d9eef3,#7ec6da);border-radius:4px}.portrait-wrap figcaption{position:relative;z-index:3;margin-top:20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:right}
@media(max-width:900px){.experience-grid{grid-template-columns:1fr;gap:55px}.portrait-wrap{justify-self:start;max-width:390px}}

.hero h1{font-size:clamp(48px,6.4vw,78px);max-width:900px}
.hero h1 span{font-size:.52em;line-height:1.08;letter-spacing:-.035em;margin-top:17px;max-width:760px}

.hero-topline{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;margin-bottom:20px}
.hero-topline .eyebrow{margin:0;white-space:nowrap}
.hero-name{font-size:16px;font-weight:750;letter-spacing:.01em;color:var(--blue);white-space:nowrap;text-align:right;margin-left:auto}
.hero-statement{font-size:clamp(50px,7.2vw,88px)!important;line-height:.96!important;letter-spacing:-.052em!important;margin:20px 0 27px!important;max-width:850px!important}
@media(max-width:760px){.hero-topline{gap:14px}.hero-topline .eyebrow{font-size:10px;white-space:normal}.hero-name{font-size:13px}}

/* V7 layout */
.hero{padding:125px 0 85px;min-height:760px}
.hero>.wrap{position:relative;z-index:2}
.hero-topline{margin-bottom:34px}
.hero-name{font-size:14px}
.hero-grid-v7{grid-template-columns:.84fr 1.16fr;gap:78px;align-items:center}
.hero-person{display:flex;align-items:center;justify-content:flex-start}
.hero-photo-panel{position:relative;width:min(100%,430px);min-height:455px;border:1px solid rgba(50,127,163,.22);border-radius:10px;background:linear-gradient(145deg,#e9f5f8,#cfe8ef);overflow:hidden}
.hero-photo-panel img{position:absolute;z-index:3;left:0;right:0;bottom:0;width:100%;height:auto;display:block;mix-blend-mode:multiply}
.hero-photo-accent{position:absolute;inset:12% -18% -25% 22%;border-radius:50%;background:radial-gradient(circle,rgba(84,183,211,.40),rgba(50,127,163,.08) 55%,transparent 70%)}
.hero-orbit{position:absolute;width:330px;height:330px;border:1px solid rgba(35,93,123,.16);border-radius:50%;right:-150px;top:15px;box-shadow:0 0 0 55px rgba(50,127,163,.025),0 0 0 110px rgba(50,127,163,.018)}
.hero-copy-v7 .hero-statement{font-size:clamp(44px,5.4vw,70px)!important;line-height:1.01!important;margin:0 0 27px!important}
.hero-copy-v7 p{max-width:700px}
.experience-scale{padding:88px 0}
.experience-copy-wide{width:100%}
.experience-columns{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:start;margin-top:24px}
.experience-columns .journey{margin-top:0}
@media(max-width:900px){
  .hero-grid-v7,.experience-columns{grid-template-columns:1fr}
  .hero-person{order:1}.hero-copy-v7{order:2}
  .hero-photo-panel{max-width:400px}
}

.hero-experience-copy .hero-statement{font-size:clamp(42px,5vw,66px)!important}
.hero-experience-copy p{font-size:16px;max-width:760px}
.hero-experience-copy .journey{margin-top:25px}
.hero-experience-copy .company-line{margin-top:16px}
.experience-scale .actions .btn.ghost{background:#fff}

/* V9: approved header sizing */
.hero-name{
  font-size:28px !important;
  line-height:1 !important;
  font-weight:750 !important;
  letter-spacing:-.02em !important;
  white-space:nowrap !important;
  text-align:right !important;
  margin-left:auto !important;
}
@media(max-width:900px){.hero-name{font-size:22px !important}}
@media(max-width:650px){.hero-name{font-size:17px !important}}

/* V10 — dark enterprise-tech style inspired by the approved visual mockup */
:root{
 --ink:#f4f8fb;--blue:#4f8fff;--blue2:#2f79f6;--accent:#35a7ff;
 --ice:#07172b;--paper:#020d1c;--white:#07172b;--muted:#c0cfdd;
 --line:rgba(102,158,219,.28);--max:1180px
}
html{background:#020b18}
body{color:var(--ink);background:
 radial-gradient(circle at 88% 8%,rgba(23,94,182,.18),transparent 27%),
 linear-gradient(180deg,#020b18 0%,#031326 46%,#020b18 100%)}
.header{background:rgba(2,11,24,.90);border-bottom:1px solid rgba(132,169,205,.22)}
.brand{color:#eaf4ff}.menu{color:#d7e4ef}.menu a:hover{color:#65a6ff}
.hero{background:
 radial-gradient(circle at 16% 44%,rgba(25,108,222,.15),transparent 30%),
 linear-gradient(135deg,#020b18 0%,#03152a 62%,#041a34 100%);
 border-bottom:1px solid rgba(93,151,211,.18)}
.hero:after{border-color:rgba(62,139,242,.22);box-shadow:0 0 0 70px rgba(37,118,226,.035),0 0 0 145px rgba(37,118,226,.025)}
.eyebrow{color:#f0f6fb}.hero-name{color:#5797ff!important}
.hero p,.intro,.experience-lead,.lead-copy p,.case p,.step span{color:var(--muted)}
.roleline{color:#4f91ff}
.btn{border-color:#4389ed;color:#fff}.btn.primary{background:linear-gradient(135deg,#1266e8,#2f82ff);border-color:#2f82ff}.btn.ghost{background:rgba(2,14,31,.72)}
.hero-photo-panel{background:linear-gradient(145deg,#063263,#0a4b91);border-color:rgba(69,145,242,.42);box-shadow:0 25px 70px rgba(0,0,0,.34)}
.hero-photo-panel img{mix-blend-mode:normal;filter:saturate(.88) contrast(1.04)}
.hero-photo-accent{background:radial-gradient(circle,rgba(55,139,255,.35),rgba(9,67,133,.10) 58%,transparent 72%)}
.hero-orbit{border-color:rgba(64,143,255,.26);box-shadow:0 0 0 55px rgba(44,123,237,.03),0 0 0 110px rgba(44,123,237,.02)}
.journey{border-color:rgba(105,158,216,.30);color:#c9ddf0}.journey b{color:#559cff}
.industry-line{color:#d3e0eb}.company-line small{color:#5ea1ff}.company-line strong{color:#fff}
.experience-scale,.solve,.principles{background:#041327;border-color:rgba(102,158,219,.22)}
.experience-scale .wrap,.experience-copy-wide{position:relative}
.experience-scale .experience-copy-wide{padding:38px;border:1px solid rgba(68,139,227,.30);border-radius:14px;background:linear-gradient(135deg,rgba(6,31,60,.92),rgba(3,18,37,.92));box-shadow:0 24px 65px rgba(0,0,0,.20)}
.section-tag{color:#559cff}
.title,.statement{color:#f7fbff}
.pillars{border-color:rgba(105,158,216,.25)}.pillar{border-color:rgba(105,158,216,.25)}
.pillar .n{color:#559cff}.pillar p{color:#b9cad8}
.identity{background:linear-gradient(135deg,#06284a,#073865);color:#fff}
.identity .section-tag{color:#6db1ff}.identity .intro{color:#c8d9e7}.cap{border-color:rgba(255,255,255,.18)}
.leadership,.approach{background:#071a31}
.chip,.principle-row span{background:#06172b;border-color:rgba(97,157,220,.28);color:#d2dfeb}
.work{background:#020e1e}.case{border-color:rgba(80,147,220,.28);background:linear-gradient(155deg,#061a32,#031326);box-shadow:0 18px 50px rgba(0,0,0,.16)}
.case .small,.case .foot{color:#559cff}
.step{border-top-color:#4b91f6}
.contact{background:linear-gradient(120deg,#03172d,#073866)}
footer{background:#010813;color:#9eb2c4}
@media(max-width:760px){.experience-scale .experience-copy-wide{padding:25px}}

/* V10.1 fixes: visible secondary CTA + uncropped portrait */
.experience-scale .btn.ghost,
.hero .btn.ghost,
.contact .btn:not(.primary){
  color:#ffffff !important;
  border-color:rgba(118,174,244,.72) !important;
  background:rgba(20,74,139,.28) !important;
}
.experience-scale .btn.ghost:hover,
.hero .btn.ghost:hover,
.contact .btn:not(.primary):hover{
  background:rgba(47,130,255,.22) !important;
  border-color:#5ba0ff !important;
}

/* Keep the complete supplied portrait visible instead of cropping its top */
.hero-photo-panel{
  min-height:455px !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.hero-photo-panel img{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  z-index:3 !important;
}
@media(max-width:900px){
  .hero-photo-panel{min-height:420px !important}
}

/* V10.2 requested button consistency */
.experience-scale .actions .btn.primary,
.hero .actions .btn.primary{
  background:linear-gradient(135deg,#1266e8,#2f82ff) !important;
  border-color:#2f82ff !important;
  color:#fff !important;
  box-shadow:none !important;
}
.experience-scale .actions .btn.primary:hover,
.hero .actions .btn.primary:hover{
  background:linear-gradient(135deg,#1c70ed,#3c8cff) !important;
}
/* Contact buttons: email and LinkedIn intentionally share the same treatment */
.contact a[href^="mailto:"],
.contact a[href*="linkedin"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(118,174,244,.72) !important;
  background:rgba(20,74,139,.28) !important;
  color:#fff !important;
  border-radius:3px;
  text-decoration:none;
}
.contact a[href^="mailto:"]:hover,
.contact a[href*="linkedin"]:hover{
  background:rgba(47,130,255,.22) !important;
  border-color:#5ba0ff !important;
}

/* V11 bilingual switch */
.hero-right{display:flex;align-items:center;gap:18px;margin-left:auto}
.lang-switch{display:flex;align-items:center;gap:7px;font-size:12px;color:#7ea8d8}
.lang-btn{appearance:none;border:0;background:transparent;color:#7ea8d8;font:inherit;font-weight:800;letter-spacing:.08em;cursor:pointer;padding:3px 1px}
.lang-btn:hover,.lang-btn.active{color:#fff}
.lang-btn.active{border-bottom:2px solid #4f91ff}
@media(max-width:760px){.hero-right{gap:10px}.lang-switch{font-size:11px}}

/* V13: language selector at end of fixed menu */
.menu .nav-lang{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:10px;
  padding-left:18px;
  border-left:1px solid rgba(126,168,216,.34);
  white-space:nowrap;
}
.menu .nav-lang .lang-btn{font-size:11px}
@media(max-width:900px){
  .menu{display:flex;gap:16px}
}
@media(max-width:760px){
  .menu a{display:none}
  .menu .nav-lang{display:flex;margin-left:0;padding-left:12px}
}

/* V22 — exact V15 + theme switch + one Vienna/Budapest map that swaps by theme */

.menu .theme-switch{
  display:flex;align-items:center;gap:6px;margin-left:10px;padding-left:16px;
  border-left:1px solid rgba(126,168,216,.34);white-space:nowrap;
}
.theme-btn{
  width:27px;height:27px;border-radius:50%;
  border:1px solid rgba(105,158,216,.42);
  background:transparent;color:#8faed0;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;padding:0;
}
.theme-btn:hover,.theme-btn.active{color:#fff;border-color:#5b9eff;background:#1767cf}

.contact-grid{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:54px;
  align-items:center;
}
.contact-copy{min-width:0}
.contact-map-panel{
  min-width:0;
  overflow:hidden;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.contact-map-panel img{
  display:block;
  width:100%;
  height:auto;
  border:0;
  outline:0;
}

/* Light palette */
html[data-theme="light"] body{color:#122235;background:#f7fbff}
html[data-theme="light"] .header{background:rgba(255,255,255,.95);border-bottom-color:#d8e4ef}
html[data-theme="light"] .menu a{color:#24364a}
html[data-theme="light"] .menu a:hover{color:#176de0}
html[data-theme="light"] .brand,
html[data-theme="light"] .brand span,
html[data-theme="light"] .brand strong{color:#176de0!important}
html[data-theme="light"] .lang-btn{color:#55718f!important}
html[data-theme="light"] .lang-btn.active{color:#176de0!important;border-bottom-color:#176de0!important}
html[data-theme="light"] .lang-switch > span{color:#9aadc1!important}

html[data-theme="light"] .hero{
  background:
    radial-gradient(circle at 16% 44%,rgba(40,122,230,.08),transparent 30%),
    linear-gradient(135deg,#fff 0%,#f4f8fd 62%,#edf5ff 100%);
  border-bottom-color:#d9e5f1;
}
html[data-theme="light"] .hero p,
html[data-theme="light"] .intro,
html[data-theme="light"] .experience-lead,
html[data-theme="light"] .lead-copy p,
html[data-theme="light"] .case p,
html[data-theme="light"] .step span{color:#536579}
html[data-theme="light"] .eyebrow,
html[data-theme="light"] .title,
html[data-theme="light"] .statement{color:#102236}
html[data-theme="light"] .hero-name,
html[data-theme="light"] .roleline,
html[data-theme="light"] .section-tag,
html[data-theme="light"] .pillar .n,
html[data-theme="light"] .case .small,
html[data-theme="light"] .case .foot{color:#176de0!important}

html[data-theme="light"] .experience-scale,
html[data-theme="light"] .solve,
html[data-theme="light"] .principles,
html[data-theme="light"] .leadership,
html[data-theme="light"] .approach{background:#f7fbff}
html[data-theme="light"] .experience-scale .experience-copy-wide,
html[data-theme="light"] .case,
html[data-theme="light"] .chip,
html[data-theme="light"] .principle-row span{
  background:#fff;border-color:#d8e4f0;color:#24364a;box-shadow:none;
}
html[data-theme="light"] .identity{
  background:linear-gradient(135deg,#eaf4ff,#dcecff);
  color:#102236;
}
html[data-theme="light"] .identity .intro{color:#536579}
html[data-theme="light"] .work{background:#f1f6fb}
html[data-theme="light"] .contact{
  background:linear-gradient(120deg,#f7fbff,#eef6ff);
  color:#102236;
}
html[data-theme="light"] .contact .title,
html[data-theme="light"] .contact p{color:#102236}
html[data-theme="light"] footer{background:#eaf1f8;color:#536579}
html[data-theme="light"] .journey,
html[data-theme="light"] .pillars,
html[data-theme="light"] .pillar{border-color:#d3e0ec}
html[data-theme="light"] .industry-line{color:#34475b}
html[data-theme="light"] .company-line strong{color:#142235}
html[data-theme="light"] .btn.ghost{color:#176de0!important;background:#fff!important;border-color:#78aef1!important}
html[data-theme="light"] .theme-btn{color:#61768d;border-color:#b9ccdf}
html[data-theme="light"] .theme-btn.active{color:#fff;background:#176de0;border-color:#176de0}

@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .contact-map-panel{margin-top:12px}
}
@media(max-width:760px){
  .menu .theme-switch{margin-left:4px;padding-left:10px}
}

/* V23: softer dark-map integration with Contact background */
.contact-map-panel{
  position:relative;
}
.contact-map-panel::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:
    linear-gradient(to right,
      rgba(4,23,42,.98) 0%,
      rgba(4,23,42,.56) 4%,
      rgba(4,23,42,0) 12%,
      rgba(4,23,42,0) 88%,
      rgba(4,23,42,.56) 96%,
      rgba(4,23,42,.98) 100%),
    linear-gradient(to bottom,
      rgba(4,23,42,.88) 0%,
      rgba(4,23,42,0) 10%,
      rgba(4,23,42,0) 88%,
      rgba(4,23,42,.88) 100%);
}
html[data-theme="light"] .contact-map-panel::after{
  content:none;
}

/* V24: seamless dark map blending */
.contact-map-panel{
  background:transparent!important;
  overflow:hidden!important;
}
.contact-map-panel #network-map{
  display:block;
  width:100%;
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, #000 15%, #000 85%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, #000 15%, #000 82%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to right, transparent 0%, #000 15%, #000 85%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, #000 15%, #000 82%, transparent 100%);
  mask-composite: intersect;
}
.contact-map-panel::after{
  background:
    radial-gradient(ellipse at center,
      transparent 54%,
      rgba(4,23,42,.18) 68%,
      rgba(4,23,42,.62) 84%,
      rgba(4,23,42,1) 100%)!important;
}
html[data-theme="light"] .contact-map-panel #network-map{
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
html[data-theme="light"] .contact-map-panel::after{
  content:none!important;
}

/* V25: narrow edge feathering; keep the entire map and captions crisp */
.contact-map-panel #network-map{
  -webkit-mask-image:none!important;
  mask-image:none!important;
  opacity:1!important;
}

/* Replace broad vignette with a thin, soft edge blend only */
.contact-map-panel::after{
  content:""!important;
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:
    linear-gradient(to right,
      rgba(4,23,42,.94) 0%,
      rgba(4,23,42,.38) 2.2%,
      rgba(4,23,42,0) 5.2%,
      rgba(4,23,42,0) 94.8%,
      rgba(4,23,42,.38) 97.8%,
      rgba(4,23,42,.94) 100%),
    linear-gradient(to bottom,
      rgba(4,23,42,.90) 0%,
      rgba(4,23,42,.28) 2.0%,
      rgba(4,23,42,0) 4.8%,
      rgba(4,23,42,0) 95.2%,
      rgba(4,23,42,.28) 98.0%,
      rgba(4,23,42,.90) 100%)!important;
}

/* Add a very subtle background-color bridge around the panel edges */
.contact-map-panel{
  background:#04172a!important;
  padding:0!important;
}

/* Light mode stays exactly as before */
html[data-theme="light"] .contact-map-panel::after{
  content:none!important;
}
html[data-theme="light"] .contact-map-panel{
  background:transparent!important;
}

/* V26: light-theme text contrast fixes only */

/* Architecture journey labels and arrows */
html[data-theme="light"] .journey,
html[data-theme="light"] .journey *,
html[data-theme="light"] .journey span,
html[data-theme="light"] .journey strong{
  color:#55718f!important;
}
html[data-theme="light"] .journey .arrow,
html[data-theme="light"] .journey b{
  color:#2879dc!important;
}

/* Identity / CIAM capability matrix: right-side descriptions */
html[data-theme="light"] .identity .matrix,
html[data-theme="light"] .identity .matrix td,
html[data-theme="light"] .identity .matrix span,
html[data-theme="light"] .identity .matrix p,
html[data-theme="light"] .identity .capability-row,
html[data-theme="light"] .identity .capability-row span{
  color:#58748e!important;
}

/* Keep capability names clearly stronger */
html[data-theme="light"] .identity .matrix strong,
html[data-theme="light"] .identity .capability-row strong,
html[data-theme="light"] .identity h3{
  color:#172b42!important;
}

/* V28: richer dark-section depth — inspired by the Let's Talk gradient */

/* Enterprise Experience at Scale */
html:not([data-theme="light"]) .experience-scale{
  background:
    radial-gradient(ellipse at 78% 18%, rgba(24,105,190,.16) 0%, rgba(24,105,190,.06) 28%, transparent 57%),
    linear-gradient(135deg, #061526 0%, #08213a 50%, #0a3154 100%)!important;
}

/* Architecture Principles */
html:not([data-theme="light"]) .principles{
  background:
    radial-gradient(ellipse at 16% 80%, rgba(27,116,205,.14) 0%, rgba(27,116,205,.05) 30%, transparent 58%),
    linear-gradient(135deg, #07182a 0%, #09243e 52%, #0b3558 100%)!important;
}

/* Slightly lift cards/rows inside these sections without changing content */
html:not([data-theme="light"]) .experience-scale .experience-copy-wide{
  background:rgba(5,20,37,.48)!important;
  border-color:rgba(65,139,220,.22)!important;
}
html:not([data-theme="light"]) .principles .principle-row span{
  background:rgba(5,20,37,.42)!important;
  border-color:rgba(65,139,220,.20)!important;
}

/* Preserve the current V27 light theme exactly */
html[data-theme="light"] .experience-scale,
html[data-theme="light"] .principles{
  background:#f7fbff!important;
}

/* V29: Enterprise Experience content blends into the section background */
html:not([data-theme="light"]) .experience-scale .experience-copy-wide{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* Keep the light theme flat here as well, using the section's own background */
html[data-theme="light"] .experience-scale .experience-copy-wide{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* V30: light-theme identity capability descriptions — explicit contrast fix */
html[data-theme="light"] .identity .cap span:last-child,
html[data-theme="light"] .identity .cap > span:last-child,
html[data-theme="light"] .identity .cap-list .cap span,
html[data-theme="light"] .identity .cap-list .cap span:last-child{
  color:#4f6b84!important;
  opacity:1!important;
}

/* Keep the capability names stronger than descriptions */
html[data-theme="light"] .identity .cap strong{
  color:#172b42!important;
  opacity:1!important;
}

/* Divider lines remain subtle but visible */
html[data-theme="light"] .identity .cap-list,
html[data-theme="light"] .identity .cap{
  border-color:#cfddea!important;
}

/* V32 — explicit two-group principles layout, outline only */
.principles .principle-groups{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:28px!important;
  margin-top:34px!important;
}
.principles .principle-group{
  display:block!important;
}
.principles .principle-group-title{
  display:block!important;
  margin:0 0 12px 0!important;
  color:#5aa0ff!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.principles .principle-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.principles .principle-tags span{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  min-height:0!important;
  padding:7px 12px!important;
  margin:0!important;
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  border:1px solid rgba(91,158,255,.28)!important;
  border-radius:3px!important;
  box-shadow:none!important;
  color:#dce9f7!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.25!important;
}

/* Light: transparent/no fill, thin outline, readable text */
html[data-theme="light"] .principles .principle-group-title{
  color:#176de0!important;
}
html[data-theme="light"] .principles .principle-tags span{
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  border:1px solid #b8cde1!important;
  box-shadow:none!important;
  color:#263d55!important;
}

/* V33 — same transparent-background principle applied to Selected Work + Leadership */

/* 1) Selected Work / case cards:
   no separate white/dark card fill; retain only a subtle structural outline */
.case{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:1px solid rgba(91,158,255,.20)!important;
}
html[data-theme="light"] .case{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:1px solid #c7d8e8!important;
}

/* 2) Leadership capability pills:
   transparent fill, thin outline only */
.leadership .chip,
.leadership .chips .chip,
.leadership .chips span{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:1px solid rgba(91,158,255,.24)!important;
}
html[data-theme="light"] .leadership .chip,
html[data-theme="light"] .leadership .chips .chip,
html[data-theme="light"] .leadership .chips span{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:1px solid #c1d4e6!important;
  color:#263d55!important;
}

/* V34 — slightly stronger leadership outlines, still transparent */
.leadership .chip,
.leadership .chips .chip,
.leadership .chips span{
  border-width:1.25px!important;
  border-color:rgba(91,158,255,.42)!important;
}
html[data-theme="light"] .leadership .chip,
html[data-theme="light"] .leadership .chips .chip,
html[data-theme="light"] .leadership .chips span{
  border-width:1.25px!important;
  border-color:#9fbfdd!important;
}

/* V35 — unified outline system for all small tag/pill elements */

/* Dark mode: same 1.25px enterprise-blue outline everywhere */
.principles .principle-tags span,
.leadership .chip,
.leadership .chips .chip,
.leadership .chips span{
  background:transparent!important;
  box-shadow:none!important;
  border-width:1.25px!important;
  border-style:solid!important;
  border-color:rgba(91,158,255,.42)!important;
}

/* Light mode: same equivalent outline treatment */
html[data-theme="light"] .principles .principle-tags span,
html[data-theme="light"] .leadership .chip,
html[data-theme="light"] .leadership .chips .chip,
html[data-theme="light"] .leadership .chips span{
  background:transparent!important;
  box-shadow:none!important;
  border-width:1.25px!important;
  border-style:solid!important;
  border-color:#9fbfdd!important;
}

/* Large Selected Work cards intentionally remain 1px structural outlines */
.case{
  border-width:1px!important;
}

/* V38 — light Leadership paragraph contrast, matching the site's readable secondary text */
html[data-theme="light"] .leadership .lead-copy p,
html[data-theme="light"] .leadership p{
  color:#536579!important;
  opacity:1!important;
}

/* V39 — light-mode 01/02/03 descriptive text:
   match Leadership body-copy contrast */
html[data-theme="light"] .pillar p{
  color:#536579!important;
  opacity:1!important;
}

/* V42 — only requested change: organization experience label color */
.org-experience-label{
  color:#5aa0ff!important;
}
html[data-theme="light"] .org-experience-label{
  color:#176de0!important;
}

/* V43 — only requested change: match Enterprise Experience at Scale emphasis */
.org-experience-label{
  font-weight:700!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-size:11px!important;
}
