
/*
Theme Name: Miguel Piedrahita — Analytics Portfolio
Theme URI: https://miguelpiedrahita.com/
Author: Miguel Piedrahita
Description: Tema WordPress premium, responsive y orientado a identidad digital para Miguel Piedrahita, SAP Analytics Consultant.
Version: 3.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: miguel-piedrahita
*/
:root{
--bg:#020b12;--bg2:#041824;--panel:#061e2d;--panel2:#09283a;
--text:#f4f8fb;--muted:#9db4c0;--blue:#12a9ff;--cyan:#6ed5ff;
--line:rgba(82,195,255,.18);--max:1180px;--radius:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 75% 15%,rgba(0,155,255,.12),transparent 28%),linear-gradient(180deg,var(--bg),#031722 55%,#020b12);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:50px 50px;mask-image:linear-gradient(to bottom,black,transparent 70%)}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(calc(100% - 44px),var(--max));margin:auto}
.site-header{position:fixed;left:0;right:0;top:0;z-index:100;background:rgba(2,11,18,.72);backdrop-filter:blur(18px);border-bottom:1px solid rgba(82,195,255,.12)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.mark{font-size:26px;font-weight:950;letter-spacing:-3px;color:var(--blue)}.brand strong{display:block;font-size:15px;line-height:1.2}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.menu{display:flex;gap:25px;font-size:13px;color:#d7e5eb}.menu a{position:relative;padding:29px 0}.menu a:after{content:"";position:absolute;left:0;right:0;bottom:20px;height:2px;background:var(--blue);transform:scaleX(0);transition:.25s}.menu a:hover:after,.menu a.active:after{transform:scaleX(1)}
.hero{padding-top:76px;min-height:790px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:25px}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--cyan);font-weight:800;margin-bottom:18px}.hero h1{font-size:clamp(45px,5.8vw,78px);line-height:.99;letter-spacing:-4px;margin:0 0 24px;max-width:720px}.hero h1 span{color:var(--blue)}.hero-copy{font-size:17px;color:#d4e2e9;max-width:650px}.hero-copy strong{color:white}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 19px;border-radius:10px;border:1px solid var(--blue);font-size:13px;font-weight:800;transition:.25s;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#12a9ff,#0072c8);box-shadow:0 10px 30px rgba(0,145,235,.2)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(0,145,235,.32)}.btn-ghost{border-color:rgba(174,220,241,.4);background:rgba(255,255,255,.025)}.socials{display:flex;gap:15px;color:#9dc0cf;font-size:12px}.socials a:hover{color:var(--blue)}
.hero-art{min-height:650px;position:relative;display:flex;justify-content:center;align-items:end}.glow{position:absolute;width:470px;height:470px;border-radius:50%;background:rgba(0,157,255,.15);filter:blur(80px);top:18%;right:6%}.photo-wrap{position:relative;width:min(100%,570px);height:650px;overflow:hidden;border-radius:28px 28px 0 0;border:1px solid var(--line);background:linear-gradient(180deg,rgba(4,35,52,.2),#03111a)}.photo-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(2,11,18,.65) 100%)}.portrait{width:100%;height:100%;object-fit:cover;object-position:center 15%}.quote{position:absolute;z-index:3;right:-5px;top:105px;width:160px;font-size:17px;font-weight:800;line-height:1.25}.quote:after{content:"";display:block;width:35px;height:3px;background:var(--blue);margin-top:14px}
section{padding:95px 0;border-top:1px solid rgba(82,195,255,.08)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.kicker{color:var(--cyan);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:900}.section-head h2{font-size:36px;letter-spacing:-1.5px;margin:7px 0 0;line-height:1.1}.section-head p{color:var(--muted);font-size:14px;margin:0}
.skills{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.skill{min-height:205px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(8,40,58,.94),rgba(3,22,33,.9));transition:.3s}.skill:hover{transform:translateY(-5px);border-color:rgba(82,195,255,.4);box-shadow:0 18px 50px rgba(0,0,0,.18)}.logo-text{font-size:22px;font-weight:950;color:#fff}.logo-text i{font-style:normal;color:var(--blue)}.skill h3{font-size:16px;margin:20px 0 9px}.skill p{font-size:13px;color:var(--muted);margin:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:30px 22px;border-right:1px solid rgba(82,195,255,.1)}.stat:last-child{border:0}.stat b{display:block;font-size:35px;letter-spacing:-1px;color:var(--blue)}.stat span{font-size:12px;color:var(--muted)}
.timeline{position:relative;margin-top:20px}.timeline:before{content:"";position:absolute;left:10px;top:8px;bottom:8px;width:1px;background:var(--line)}.job{position:relative;padding:0 0 36px 42px}.job:before{content:"";position:absolute;left:5px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px rgba(18,169,255,.12)}.job-head{display:flex;justify-content:space-between;gap:20px}.job h3{margin:0;font-size:19px}.job time{color:var(--cyan);font-size:12px}.job p{color:var(--muted);font-size:14px;margin:7px 0 0}.companies{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding:25px 0;margin-top:8px}.company{font-weight:900;font-size:19px;opacity:.84}
.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.project{display:grid;grid-template-columns:190px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(7,36,52,.95),rgba(3,20,30,.9));transition:.3s}.project:hover{transform:translateY(-4px);border-color:rgba(82,195,255,.38)}.project-visual{min-height:210px;background:radial-gradient(circle at 30% 25%,rgba(18,169,255,.4),transparent 20%),linear-gradient(145deg,#0b3951,#031a28);display:flex;align-items:center;justify-content:center;text-align:center;padding:15px;font-weight:950;color:#8ad9ff}.project-body{padding:23px}.project h3{margin:0 0 8px;font-size:18px}.project p{font-size:13px;color:var(--muted);margin:0}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.tag{font-size:10px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:#a9dcf5}
.certs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cert{display:flex;gap:17px;align-items:center;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(7,34,49,.75)}.sap{font-weight:950;background:#0aa4ed;padding:10px 12px;clip-path:polygon(0 0,100% 0,78% 100%,0 100%)}.cert strong{display:block;font-size:14px}.cert span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.contact-box{display:grid;grid-template-columns:1.2fr .8fr;gap:35px;padding:50px;border:1px solid var(--line);border-radius:25px;background:radial-gradient(circle at 80% 30%,rgba(18,169,255,.14),transparent 35%),linear-gradient(145deg,#062337,#03151f)}.contact-box h2{font-size:52px;letter-spacing:-3px;margin:5px 0 12px}.contact-box p{color:var(--muted);max-width:600px}.contact-list{display:grid;align-content:center;gap:12px;color:#d9e7ed;font-size:13px}.contact-list a:hover{color:var(--blue)}
.footer{padding:26px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#708d9b;font-size:11px}
.mobile-toggle{display:none;border:1px solid var(--line);background:none;color:white;border-radius:8px;padding:8px 10px}
@media(max-width:950px){.hero{grid-template-columns:1fr;padding-top:125px}.hero-art{min-height:520px}.photo-wrap{height:520px}.skills{grid-template-columns:repeat(2,1fr)}.projects{grid-template-columns:1fr}.menu{display:none}.mobile-toggle{display:block}.mobile-open .menu{display:flex;position:absolute;left:0;right:0;top:76px;padding:18px 22px;background:#03131e;flex-direction:column;gap:0;border-bottom:1px solid var(--line)}.mobile-open .menu a{padding:11px 0}.mobile-open .menu a:after{display:none}}
@media(max-width:600px){.container{width:min(calc(100% - 28px),var(--max))}.hero h1{font-size:45px;letter-spacing:-2.5px}.hero-art{min-height:390px}.photo-wrap{height:390px}.quote{display:none}.skills,.certs{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat{padding:22px 12px}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid rgba(82,195,255,.1)}.project{grid-template-columns:1fr}.project-visual{min-height:135px}.section-head{display:block}.section-head p{margin-top:8px}.contact-box{grid-template-columns:1fr;padding:30px 24px}.contact-box h2{font-size:43px}.footer{display:block}.footer span{display:block;margin:5px 0}}


/* =========================================================
   V3 — Basedash-inspired midnight editorial design system
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Inter:wght@400;500;600&display=swap');
:root{
 --bg:#000000;--bg2:#000000;--panel:#050607;--panel2:#050607;
 --text:#ffffff;--muted:#b3b3b3;--blue:#9984d8;--cyan:#9984d8;
 --line:#333333;--max:1200px;--radius:16px;
 --color-void-black:#000000;--color-carbon-card:#050607;
 --color-ghost-white:#ffffff;--color-bone-white:#e8eaee;
 --color-ash-gray:#b3b3b3;--color-steel-gray:#808080;
 --color-graphite:#333333;--color-lavender-pulse:#9984d8;
 --color-mint-signal:#3fcb7f;
 --font-inter:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --font-display:'Cormorant Garamond','EB Garamond','PT Serif',Georgia,serif;
}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
 background:#000;color:#fff;font-family:var(--font-inter);
 letter-spacing:-.03em;line-height:1.5;
}
body:before{display:none}
a{transition:color .2s ease}
.site-header{background:rgba(0,0,0,.84);backdrop-filter:blur(18px);border-bottom:0}
.nav{height:68px}
.mark{color:#fff;font-size:22px;letter-spacing:-2px}
.brand strong{font-size:15px;font-weight:500;letter-spacing:-.03em}
.brand small{font-size:11px;color:#b3b3b3;letter-spacing:-.02em}
.menu{gap:26px;color:#b3b3b3;font-size:13px;letter-spacing:-.03em}
.menu a{padding:25px 0}
.menu a:after{bottom:17px;height:1px;background:#fff}
.menu a:hover,.menu a.active{color:#fff}
.hero{
 min-height:auto;display:flex;flex-direction:column;gap:0;
 padding-top:148px;padding-bottom:54px;text-align:center;align-items:center;
}
.hero>div:first-child{width:100%;display:flex;flex-direction:column;align-items:center}
.eyebrow{
 display:inline-flex;align-items:center;gap:8px;
 border:1px solid #333;border-radius:999px;padding:5px 12px;
 color:#e8eaee;font-size:12px;letter-spacing:-.03em;text-transform:none;
 font-weight:500;margin-bottom:28px;
}
.eyebrow:before{content:"";width:7px;height:7px;background:#3fcb7f;border-radius:50%;display:inline-block}
.hero h1,.section-head h2,.contact-box h2{
 font-family:var(--font-display);font-weight:400;letter-spacing:-.015em;
}
.hero h1{font-size:clamp(48px,6vw,72px);line-height:.98;max-width:850px;margin:0 auto 24px}
.hero h1 span{color:#fff;font-style:italic;text-decoration:underline;text-decoration-color:#9984d8;text-decoration-thickness:2px;text-underline-offset:8px}
.hero-copy{font-size:18px;line-height:1.56;color:#b3b3b3;max-width:660px;margin:0 auto}
.hero-copy strong{font-weight:500;color:#e8eaee}
.actions{justify-content:center;gap:16px;margin:28px 0 24px}
.btn{border-radius:6px;padding:12px 20px;font-family:var(--font-inter);font-size:14px;font-weight:500;letter-spacing:-.03em;box-shadow:none}
.btn-primary{background:#fff;color:#000;border:1px solid #fff}
.btn-primary:hover{background:#e8eaee;color:#000;transform:translateY(-1px);box-shadow:none}
.btn-ghost{background:transparent;border:0;color:#fff;padding-left:4px;padding-right:4px}
.btn-ghost:hover{color:#b3b3b3;text-decoration:underline}
.socials{justify-content:center;gap:22px;color:#b3b3b3;font-size:13px}
.socials a:hover{color:#fff}
.hero-art{width:min(100%,1040px);min-height:0;height:auto;margin:48px auto 0;display:block;position:relative}
.glow{width:48%;height:55%;top:20%;right:26%;background:radial-gradient(ellipse,rgba(153,132,216,.22),rgba(153,132,216,.08) 42%,transparent 72%);filter:blur(45px)}
.photo-wrap{
 width:100%;height:clamp(300px,48vw,560px);border-radius:16px;
 border:1px solid #333;background:#050607;overflow:hidden;position:relative;
}
.photo-wrap:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(110deg,rgba(0,0,0,.12),transparent 42%,rgba(0,0,0,.36))}
.photo-wrap:after{background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.72) 100%)}
.portrait{object-position:center 24%;filter:saturate(.78) brightness(.82);object-fit:cover}
.quote{top:auto;right:22px;bottom:28px;width:auto;max-width:260px;text-align:right;font-family:var(--font-display);font-size:24px;font-weight:400;line-height:1.05;color:#fff}
.quote:after{margin:12px 0 0 auto;background:#9984d8}
section{padding:100px 0;border-top:1px solid #1b1b1b}
.section-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;margin-bottom:42px}
.kicker{color:#b3b3b3;font-size:12px;letter-spacing:-.02em;text-transform:uppercase;font-weight:500}
.section-head h2{font-size:clamp(38px,4.5vw,48px);line-height:1;margin:10px 0 0}
.section-head p{color:#b3b3b3;font-size:16px;max-width:640px;line-height:1.56}
.skills{gap:14px}
.skill{min-height:200px;padding:22px;background:#050607;border:1px solid #1c1c1c;border-radius:16px;box-shadow:none}
.skill:hover{transform:translateY(-3px);border-color:#555;box-shadow:none}
.logo-text{font-size:20px;color:#fff;font-weight:600}
.logo-text i{color:#9984d8;font-style:normal}
.skill h3{font-size:16px;font-weight:500;letter-spacing:-.03em;margin:18px 0 8px}
.skill p{font-size:14px;line-height:1.5;color:#b3b3b3}
.stats{border-top:1px solid #333;border-bottom:1px solid #333}
.stat{padding:28px 22px;border-color:#222}
.stat b{font-size:34px;color:#fff;font-weight:600;letter-spacing:-.04em}
.stat span{font-size:13px;color:#b3b3b3}
.timeline:before{background:#333}
.job:before{background:#3fcb7f;box-shadow:0 0 0 4px rgba(63,203,127,.10)}
.job h3{font-size:18px;font-weight:500}
.job time{color:#3fcb7f;font-size:12px}
.job p{color:#b3b3b3;font-size:14px}
.companies{justify-content:center;gap:clamp(20px,4vw,52px);border-top:1px solid #222;border-bottom:1px solid #222;margin:8px 0 42px}
.company{font-size:17px;color:#e8eaee;opacity:.8}
.projects{gap:16px}
.project{grid-template-columns:150px 1fr;background:#050607;border:1px solid #1c1c1c;border-radius:16px;box-shadow:none}
.project:hover{transform:translateY(-3px);border-color:#555}
.project-visual{background:radial-gradient(circle at 35% 28%,rgba(153,132,216,.25),transparent 34%),#050607;color:#e8eaee;border-right:1px solid #202020;font-size:15px;letter-spacing:-.03em}
.project-body{padding:20px}
.project h3{font-size:17px;font-weight:500}
.project p{font-size:14px;line-height:1.5;color:#b3b3b3}
.tag{border-color:#4a405f;color:#c8bced;border-radius:999px;padding:4px 9px}
.certs{gap:14px}
.cert{padding:20px;background:#050607;border:1px solid #222;border-radius:16px}
.sap{background:#fff;color:#000;font-size:13px}
.cert strong{font-weight:500;font-size:14px;line-height:1.4}
.cert span{color:#b3b3b3;font-size:12px}
.contact-box{
 grid-template-columns:1fr;gap:24px;text-align:center;padding:48px 28px;
 border:1px solid #252525;border-radius:16px;
 background:radial-gradient(ellipse at 50% 0%,rgba(153,132,216,.12),transparent 58%),#050607;
}
.contact-box h2{font-size:clamp(44px,5vw,56px);line-height:1;margin:10px 0 18px}
.contact-box p{color:#b3b3b3;max-width:620px;margin:0 auto 20px;font-size:16px}
.contact-box .btn{margin:0 auto}
.contact-list{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;font-size:13px;color:#b3b3b3}
.contact-list a:hover{color:#fff}
.footer{border-color:#222;color:#808080;letter-spacing:-.02em}
.mobile-toggle{border-color:#333;border-radius:6px}
@media(max-width:950px){
 .hero{padding-top:120px}
 .hero-art{margin-top:35px}
 .mobile-open .menu{background:#000;border-color:#222}
 .mobile-open .menu a{color:#b3b3b3}
}
@media(max-width:600px){
 .hero{padding-top:110px;padding-bottom:35px}
 .hero h1{font-size:48px;letter-spacing:-.02em;line-height:1}
 .hero-copy{font-size:16px}
 .hero-art{margin-top:28px}
 .photo-wrap{height:390px;border-radius:12px}
 .quote{right:15px;bottom:18px;font-size:21px}
 section{padding:76px 0}
 .section-head h2{font-size:40px}
 .skills,.certs{grid-template-columns:1fr}
 .stats{grid-template-columns:1fr 1fr}
 .stat{padding:20px 12px}
 .project{grid-template-columns:1fr}
 .project-visual{min-height:110px;border-right:0;border-bottom:1px solid #222}
 .contact-box{padding:32px 20px}
 .contact-list{flex-direction:column;align-items:center}
}
