@font-face{font-family:'Montserrat';src:url('fonts/montserrat-latin-300-normal.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Montserrat';src:url('fonts/montserrat-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Montserrat';src:url('fonts/montserrat-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Montserrat';src:url('fonts/montserrat-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Montserrat';src:url('fonts/montserrat-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Noto Sans SC';src:url('fonts/noto-sans-sc-chinese-simplified-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+4E00-9FFF,U+3000-303F,U+FF00-FFEF;}
@font-face{font-family:'Noto Sans SC';src:url('fonts/noto-sans-sc-chinese-simplified-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+4E00-9FFF,U+3000-303F,U+FF00-FFEF;}

:root{
  --ink:#111111;
  --ink-soft:#5B5B58;
  --paper:#FFFFFF;
  --paper-alt:#F3F3F1;
  --line:#E4E4E1;
  --gold:#A8905C;
  --gold-text:#867349;
  --sans:'Montserrat',-apple-system,'Segoe UI',sans-serif;
  --sans-zh:'Noto Sans SC','Montserrat',-apple-system,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --maxw:1360px;
  --margin:64px;
}
@media (max-width:900px){:root{--margin:32px;}}
@media (max-width:560px){:root{--margin:20px;}}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--sans);font-weight:600;margin:0;line-height:1.05;letter-spacing:-0.01em;}
p{margin:0;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--margin);}

.eyebrow{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);
}
.eyebrow.gold{color:var(--gold-text);}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

.skip-link{
  position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);
  padding:12px 20px;z-index:1000;font-family:var(--mono);font-size:.8rem;
  text-transform:uppercase;letter-spacing:.08em;
}
.skip-link:focus{left:0;}

/* header */
header{
  position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px var(--margin);max-width:var(--maxw);margin:0 auto;
}
.logo-link{display:flex;align-items:center;}
.logo-link img{height:40px;width:auto;}
@media (max-width:560px){.logo-link img{height:32px;}}

nav.primary-nav{display:flex;align-items:center;gap:26px;}
nav.primary-nav a{
  font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;
  position:relative;padding:4px 0;
}
nav.primary-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--ink);
  transform:scaleX(0);transform-origin:left;transition:transform .3s ease;
}
nav.primary-nav a:hover::after,nav.primary-nav a.active::after{transform:scaleX(1);}
nav.primary-nav a.active{color:var(--ink);}

.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.menu-toggle span{display:block;width:22px;height:1px;background:var(--ink);margin:5px 0;transition:transform .25s ease,opacity .25s ease;}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

@media (max-width:900px){
  .menu-toggle{display:block;}
  nav.primary-nav{
    position:fixed;inset:0 0 0 auto;width:min(320px,80vw);height:100vh;background:var(--paper);
    border-left:1px solid var(--line);flex-direction:column;align-items:flex-start;justify-content:center;
    gap:30px;padding:32px;transform:translateX(100%);transition:transform .35s ease;
  }
  nav.primary-nav.is-open{transform:translateX(0);}
  nav.primary-nav a{font-size:1rem;}
}

/* footer */
footer{background:var(--ink);color:var(--paper);padding:56px 0 28px;}
.footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.14);}
.footer-brand{display:flex;flex-direction:column;gap:10px;}
.footer-brand img{height:26px;width:auto;filter:brightness(0) invert(1);}
.footer-brand span{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:rgba(255,255,255,.55);text-transform:uppercase;}
.footer-nav{display:flex;gap:56px;flex-wrap:wrap;}
.footer-col h4{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:14px;font-weight:400;}
.footer-col ul{display:flex;flex-direction:column;gap:10px;}
.footer-col a{font-size:.9rem;color:rgba(255,255,255,.85);}
.footer-col a:hover{color:var(--gold);}
.footer-bottom{padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:var(--mono);font-size:.72rem;color:rgba(255,255,255,.45);}

section{padding:96px 0;}
@media (max-width:900px){section{padding:64px 0;}}
@media (max-width:560px){section{padding:48px 0;}}
.section-line{border-top:1px solid var(--line);}

/* language switch */
.lang-switch{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;margin-left:8px;}
.lang-switch a{color:var(--ink-soft);padding:2px 4px;}
.lang-switch a.active{color:var(--ink);border-bottom:1px solid var(--ink);}
.lang-switch span{color:var(--line);}
@media (max-width:900px){.lang-switch{margin:6px 0 0;font-size:.9rem;}}

/* differentiator (home) */
.diff{border-top:1px solid var(--line);}
.diff-head{max-width:56ch;margin-bottom:48px;}
.diff-head h2{font-size:clamp(1.6rem,3.4vw,2.3rem);}
.diff-head p{font-family:var(--sans);font-weight:300;font-size:1.05rem;color:var(--ink-soft);margin-top:18px;line-height:1.65;}
.diff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media (max-width:900px){.diff-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.diff-grid{grid-template-columns:1fr;}}
.diff-item{background:var(--paper);padding:26px 22px;}
.diff-item .k{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-text);}
.diff-item p{font-size:.92rem;color:var(--ink-soft);margin-top:8px;line-height:1.5;font-family:var(--sans);font-weight:300;}

/* experiencia page */
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:8px;}
@media (max-width:800px){.exp-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.exp-grid{grid-template-columns:1fr;}}
.exp-item{background:var(--paper);padding:44px 30px;display:flex;flex-direction:column;justify-content:center;min-height:140px;}
.exp-item .name{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600;letter-spacing:-.01em;}
.exp-item .tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px;}
.exp-statement{font-family:var(--sans);font-weight:300;font-size:1.15rem;line-height:1.7;color:var(--ink-soft);max-width:60ch;margin-top:36px;}

/* blog */
.empty-state{border:1px dashed var(--line);padding:64px 32px;text-align:center;max-width:640px;margin:0 auto;}
.empty-state .k{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-text);}
.empty-state p{font-family:var(--sans);font-weight:300;color:var(--ink-soft);margin-top:14px;font-size:1.02rem;line-height:1.6;}

/* zh (Simplified Chinese) type overrides */
html[lang="zh-Hans"] body{font-family:var(--sans-zh),var(--sans);}
html[lang="zh-Hans"] h1,html[lang="zh-Hans"] h2,html[lang="zh-Hans"] h3{font-family:var(--sans-zh),var(--sans);font-weight:600;letter-spacing:0;}
html[lang="zh-Hans"] .eyebrow,html[lang="zh-Hans"] nav.primary-nav a,html[lang="zh-Hans"] .footer-col h4{letter-spacing:.04em;}
