/* mkaportfolio.com · Mager Kamel Aquino · stage 1 (CV, Art, Ideas) */
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:100 900;src:url(../assets/fonts/inter-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:100 900;src:url(../assets/fonts/inter-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --bg:#fff; --ink:#141414; --ink-2:#5b5c5f; --ink-3:#8e9094; --line:rgba(25,25,25,.09);
  --cobalt:rgb(30,60,120); --soft:#f1f2f4;
  /* soft elevation, OpenAI-style: hairline edge + wide, faint, diffuse shadow */
  --card-line:rgba(20,20,20,.07);
  --shadow:0 1px 2px rgba(16,24,40,.04),0 6px 16px rgba(16,24,40,.05),0 24px 60px rgba(16,24,40,.09);
  --shadow-hi:0 1px 2px rgba(16,24,40,.05),0 10px 24px rgba(16,24,40,.07),0 32px 72px rgba(16,24,40,.10);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px;
  --w:720px;
  /* one type scale for the whole site: label, meta, body, lead, title-s, title-m, title-l */
  --t-label:12px; --t-meta:14px; --t-body:16px; --t-lead:17px; --t-s:19px; --t-m:24px; --t-l:30px;
  --font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh}
h1,h2,h3{text-wrap:balance}p,li{text-wrap:pretty}
a{color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--s5)}

/* header + section player */
.top{position:sticky;top:0;z-index:10;background:var(--bg);padding-top:env(safe-area-inset-top)}
.who{display:flex;align-items:center;height:52px}
.who .nm{font-size:17px;font-weight:700;letter-spacing:-.01em;text-decoration:none}
.secs{display:flex;gap:4px;margin:2px 0 var(--s3);padding:4px;border-radius:18px;background:var(--soft)}
.secs a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:9px 0 8px;border-radius:14px;color:var(--ink-2);text-decoration:none;transition:background .15s,color .15s}
.secs b{font-size:16px;font-weight:700;line-height:1.1}
.secs small{font-size:9.5px;font-weight:600;letter-spacing:.14em;opacity:.75}
.secs a.on{background:#111;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18)}
main{padding:var(--s5) 0 var(--s6)}
section[hidden]{display:none}
h1.pt{font-size:var(--t-l);line-height:1.15;font-weight:700;letter-spacing:-.025em;margin:0 0 var(--s3)}
.lead{font-size:var(--t-lead);line-height:1.55;color:var(--ink-2);margin:0 0 var(--s6);max-width:34em}

/* footer links (end of every section) */
.foot{margin:var(--s7) 0 var(--s4);padding-top:var(--s5);border-top:1px solid var(--line)}
.foot h3{font-size:var(--t-label);font-weight:600;letter-spacing:.08em;color:var(--ink-3);margin:0 0 var(--s3)}
.foot a{display:flex;align-items:center;gap:var(--s3);height:52px;border:1px solid var(--line);border-radius:14px;padding:0 var(--s4);margin-bottom:var(--s2);text-decoration:none;font-weight:600;font-size:var(--t-body)}
.foot a svg{width:22px;height:22px;flex:none}.foot a span{flex:1}.foot a small{color:var(--ink-3);font-weight:500;font-size:var(--t-meta)}

/* CV */
.cv .jd{font-size:var(--t-body);line-height:1.6;margin:var(--s2) 0 0}
@media (min-width:760px){.cv .jd{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}}
.cvh h1{font-size:var(--t-l);line-height:1.15;font-weight:700;letter-spacing:-.025em;margin:0 0 var(--s1)}.cvh .hl{font-size:var(--t-lead);font-weight:600;color:var(--cobalt);margin-bottom:2px}
.cvs{border:1px solid var(--line);border-radius:18px;padding:var(--s5) var(--s4);margin-top:var(--s4)}
.cvs h2{font-size:var(--t-s);font-weight:700;letter-spacing:-.015em;margin:0 0 var(--s3)}
.cm{font-size:var(--t-meta);color:var(--ink-3);line-height:1.45}
.cs{font-size:var(--t-meta);color:var(--ink-2);line-height:1.45}
.rt,.ct{font-size:var(--t-body);font-weight:600;line-height:1.35;letter-spacing:-.005em}
.co{display:flex;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--line)}.cvs h2+.co{border-top:0;padding-top:var(--s1)}
.co>img{width:44px;height:44px;border-radius:8px;flex:none}
.cb{flex:1;min-width:0}.tl2{margin-top:var(--s2)}
.rl{position:relative;padding:0 0 var(--s3) 18px}
.rl:before{content:"";position:absolute;left:3px;top:6px;width:7px;height:7px;border-radius:50%;background:#b4b8bf}
.rl:after{content:"";position:absolute;left:6px;top:17px;bottom:2px;width:1.5px;background:#e4e6ea}.rl:last-child:after{display:none}
.tsk{margin-top:var(--s4);border:1px solid var(--line);border-radius:12px;padding:var(--s3)}.tsk b{font-size:var(--t-body);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s2)}.chips span{font-size:var(--t-meta);font-weight:500;padding:5px 10px;border-radius:14px;background:var(--soft);color:var(--ink-2)}
.as{display:flex;align-items:center;gap:8px;font-size:var(--t-meta);color:var(--ink-2);margin-top:6px}.as img{width:22px;height:22px;border-radius:5px}
.lg{padding:var(--s2) 0;border-top:1px solid var(--line)}.cvs h2+.lg{border-top:0;padding-top:0}

/* Art: pure black */
body.dark{background:#000;color:#fff}
body.dark .top{background:#000}
body.dark .secs{background:#1a1a1a}body.dark .secs a{color:#9a9a9a}body.dark .secs a.on{background:#fff;color:#000;box-shadow:none}
body.dark .lead{color:#a8a8a8}
body.dark .foot{border-color:#222}body.dark .foot h3{color:#777}body.dark .foot a{border-color:#262626}
.ag{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:0 calc(-1*var(--s5))}
@media (min-width:760px){.ag{grid-template-columns:repeat(4,1fr);margin:0}}
.at{aspect-ratio:1/1;overflow:hidden;background:#111;cursor:pointer;border:0;padding:0}
.at img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}.at:hover img{opacity:.85}
.ax{scroll-margin-top:150px;grid-column:1/-1;background:#000;padding:var(--s4) var(--s5) var(--s6);border-top:1px solid #222;border-bottom:1px solid #222}
.ax h2{font-size:var(--t-m);line-height:1.2;font-weight:700;letter-spacing:-.02em;margin:0 0 var(--s1)}.ax .ad{color:#7d7d7d;font-size:var(--t-meta);margin-bottom:var(--s4)}
.ax p{color:#d6d6d6;font-size:var(--t-body);line-height:1.6;margin:0 0 var(--s3);max-width:38em}
.ax .ai{display:inline-block;font-size:var(--t-label);font-weight:600;letter-spacing:.08em;color:#000;background:#fff;border-radius:8px;padding:3px 7px;margin-bottom:8px}
.am img{width:100%;margin-top:6px;background:#0b0b0b}
.vy{position:relative;margin-top:6px;aspect-ratio:16/9;background:#0b0b0b;cursor:pointer}
.vy img{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}
.vy .pl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92)}
.vy .pl:after{content:"";position:absolute;left:26px;top:20px;border-left:18px solid #000;border-top:12px solid transparent;border-bottom:12px solid transparent}
.vy b{position:absolute;left:10px;top:10px;font-size:var(--t-label);font-weight:600;letter-spacing:.08em;background:rgba(0,0,0,.6);padding:3px 7px;border-radius:8px}
.vy iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ax .cl{display:block;margin:var(--s4) auto 0;background:none;border:1px solid #333;color:#bbb;font:inherit;font-size:var(--t-meta);padding:9px 18px;border-radius:16px;cursor:pointer}

/* Ideas */
.ic2{display:block;border:1px solid var(--line);border-radius:18px;padding:var(--s5) var(--s4);margin-bottom:var(--s3);text-decoration:none}
.ic2:hover{border-color:rgba(25,25,25,.22)}
.ic2 .h{display:flex;align-items:center}
.ic2 .h b{flex:1;font-size:var(--t-s);letter-spacing:-.015em;white-space:nowrap;margin-right:var(--s2)}
.ic2 p{margin:var(--s3) 0 0;font-size:var(--t-body);line-height:1.55;color:var(--ink-2)}
.ic{font-size:19px;line-height:1}
.kick{display:block;font-size:var(--t-meta);font-weight:600;color:var(--cobalt);margin-top:var(--s1);line-height:1.4;text-wrap:pretty}
.st{font-size:11px;font-weight:600;letter-spacing:.06em;padding:4px 9px;border-radius:10px;white-space:nowrap}
.st.live{background:#e6f4ea;color:#1e6b35}.st.work{background:#eef2fb;color:var(--cobalt)}.st.build{background:var(--soft);color:var(--ink-2)}
.dn{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.1}
.dn .ds{font-weight:500;white-space:nowrap;font-size:10px;color:var(--ink-2);margin-top:2px}
.ip .back{display:inline-block;font-size:var(--t-meta);color:var(--ink-2);text-decoration:none;margin-bottom:var(--s3)}
.ip h1{display:flex;align-items:center;font-size:var(--t-l);line-height:1.15;font-weight:700;letter-spacing:-.025em;margin:var(--s3) 0 var(--s2)}
.ip .kick{font-size:var(--t-lead);margin-bottom:var(--s2)}
.ip h2{font-size:var(--t-label);font-weight:600;letter-spacing:.08em;color:var(--ink-3);margin:var(--s6) 0 var(--s3)}
.ip p,.ip li{font-size:var(--t-body);line-height:1.6;max-width:38em}.ip li{margin-bottom:var(--s2)}
.ip ul{padding-left:18px}
.bar{height:6px;border-radius:3px;background:#eef0f3;overflow:hidden;margin-top:var(--s2)}.bar i{display:block;height:100%;background:var(--cobalt)}
.ip .note{margin-top:var(--s6);font-size:var(--t-meta);color:var(--ink-2);text-align:center;border:1px dashed var(--line);border-radius:14px;padding:var(--s3)}

/* larger screens: bigger titles */
@media (min-width:760px){:root{--t-l:40px;--t-m:28px}}

/* elevated surfaces: cards float on white with a soft shadow */
.ic2,.cvs,.foot a{background:#fff;border-color:var(--card-line);box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s}
.ic2{margin-bottom:var(--s4)}.cvs{margin-top:var(--s5)}
@media (hover:hover){.ic2:hover,.foot a:hover{box-shadow:var(--shadow-hi);transform:translateY(-1px);border-color:var(--card-line)}}
.secs{box-shadow:inset 0 0 0 1px rgba(20,20,20,.04)}
.secs a.on{box-shadow:0 1px 2px rgba(0,0,0,.12),0 6px 16px rgba(0,0,0,.14)}
body.dark .foot a{background:#000;box-shadow:none}
