:root{
  --ink:#0b0b0b;
  --paper:#ffffff;
  --muted:#666666;
  --line:#eaeaea;
  --maxw:1200px;
}

*{box-sizing:border-box}
html:focus-within{scroll-behavior:smooth}
html,body{height:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol", sans-serif;
  line-height:1.6;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

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

a{color:#000; text-underline-offset:2px;}
a:hover{opacity:.8}

img{max-width:100%; height:auto;}

.xc-header{
  position:sticky; top:0; z-index:50;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.xc-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  min-height:64px;
}
.brand{display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:inherit;}
.brand-text{font-weight:700; letter-spacing:.2px;}
.burger{display:none; background:transparent; border:0; padding:10px; cursor:pointer;}
.burger span{display:block; width:20px; height:2px; background:#000; margin:4px 0;}

.nav .menu{display:flex; list-style:none; gap:24px; margin:0; padding:0;}
.nav .menu a{text-decoration:none; color:#000; font-weight:500;}

@media (max-width: 900px){
  .burger{display:inline-block;}
  .nav{position:absolute; inset-inline:0; top:64px; background:#fff; border-top:1px solid var(--line); display:none;}
  .nav.open{display:block;}
  .nav .menu{flex-direction:column; padding:12px 18px; gap:12px;}
}

.site-content{padding-block: min(6vw, 56px);}

.xc-footer{
  border-top:1px solid var(--line);
  background:#fff;
  color:#000;
}
.xc-footer .wrap{
  display:flex; gap:24px; align-items:center; justify-content:space-between;
  padding-block:24px;
}
.footer-menu{display:flex; gap:18px; list-style:none; margin:0; padding:0;}
.footer-menu a{text-decoration:none; color:#000;}
