:root {
  --paper:#fffdf9;
  --cream:#f7f4ee;
  --white:#fff;
  --orange:#e76e32;
  --orange-dark:#b84516;
  --peach:#fff0e4;
  --peach-deep:#f5d7bd;
  --ink:#352b26;
  --muted:#8b7e73;
  --line:#e9e1d7;
  --green:#637d5c;
  --font-body:'Microsoft YaHei','PingFang SC',sans-serif;
  --font-display:'Chakra Petch','Microsoft YaHei',sans-serif;
  --radius:18px
}
* {
  box-sizing:border-box
}
[hidden] {
  display:none!important
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:var(--font-body);
  font-size:14px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased
}
button,input,select {
  font:inherit
}
button,a,input,select,summary {
  -webkit-tap-highlight-color:transparent
}
button,a {
  touch-action:manipulation
}
button {
  cursor:pointer
}
a {
  color:inherit;
  text-decoration:none
}
button:disabled {
  opacity:.55;
  cursor:wait
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline:3px solid #e99a63;
  outline-offset:4px
}
.site-header {
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:0 clamp(24px,4vw,72px);
  border-bottom:1px solid var(--line);
  background:var(--paper);
  position:relative;
  z-index:10
}
.site-brand {
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0
}
.brand-block {
  width:39px;
  height:39px;
  background:var(--orange);
  border-radius:9px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:6px;
  padding:8px;
  box-shadow:0 4px 0 #b85424,0 5px 8px #e76e321a;
  transform:rotate(-7deg)
}
.brand-block i {
  border-radius:50%;
  background:#ffb17e;
  box-shadow:inset 0 1px 1px #ffd8bd,0 2px 1px #c65c26
}
.brand-name {
  font-weight:800;
  font-size:25px;
  letter-spacing:2px;
  line-height:1.1
}
.brand-name>span {
  display:block;
  font-family:var(--font-display);
  font-size:9px;
  letter-spacing:2.1px;
  margin-top:6px;
  font-weight:600;
  color:var(--muted)
}
.site-nav {
  display:flex;
  align-items:center;
  gap:35px;
  align-self:stretch
}
.site-nav a {
  display:flex;
  align-items:center;
  font-size:13px;
  color:var(--muted);
  position:relative
}
.site-nav a:hover,.site-nav a[aria-current] {
  color:var(--orange-dark)
}
.site-nav a[aria-current]:after {
  content:'';
  position:absolute;
  bottom:0;
  left:25%;
  width:50%;
  height:3px;
  background:var(--orange);
  border-radius:4px 4px 0 0
}
.site-account {
  display:flex;
  align-items:center;
  gap:23px
}
.account-login {
  border:0;
  background:none;
  color:var(--ink);
  font-size:13px;
  padding:8px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  border:1px solid transparent;
  border-radius:11px;
  padding:15px 25px;
  font-weight:600;
  transition:transform .18s,box-shadow .18s,background .18s
}
.button-orange {
  background:var(--orange);
  color:white;
  box-shadow:0 4px 0 #bd5422
}
.button-orange:hover {
  background:#dc6129;
  transform:translateY(-2px);
  box-shadow:0 6px 0 #bd5422
}
.button-orange:active {
  transform:translateY(3px);
  box-shadow:0 1px 0 #bd5422
}
.button-small {
  padding:9px 18px;
  font-size:12px
}
.button-light {
  background:white;
  border-color:var(--line);
  box-shadow:0 3px 0 #e9e1d7
}
.eyebrow {
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:11px;
  font-weight:600;
  color:var(--orange-dark)
}
.site-toast {
  position:fixed;
  bottom:28px;
  left:50%;
  transform:translate(-50%,20px);
  z-index:1000;
  border-radius:13px;
  padding:13px 22px;
  background:var(--ink);
  color:white;
  box-shadow:0 8px 28px #352b2626;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s,transform .2s;
  max-width:calc(100vw - 40px);
  font-size:13px
}
.site-toast.is-visible {
  opacity:1;
  transform:translate(-50%,0)
}
.site-footer {
  border-top:1px solid var(--line);
  padding:27px clamp(24px,4vw,72px);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:var(--muted);
  font-size:11px
}
.site-footer a:hover {
  color:var(--orange-dark)
}
.site-footer-links {
  display:flex;
  gap:24px
}
.stud-row {
  display:flex;
  gap:12px
}
.stud-row i {
  display:block;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#f9e6d5;
  box-shadow:inset 0 2px 2px #fff8f0,0 2px 1px #d9bca3
}
.muted {
  color:var(--muted)
}
@keyframes brick-enter {
  from {
    opacity:0;
    transform:translateY(16px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
@media(max-width:700px) {
  .site-header {
    height:74px;
    padding:0 20px;
    gap:15px
  }
  .brand-name {
    font-size:22px
  }
  .brand-block {
    width:33px;
    height:33px;
    padding:7px;
    gap:4px
  }
  .brand-name>span {
    font-size:7px
  }
  .site-nav {
    display:none
  }
  .site-account {
    gap:10px
  }
  .site-footer {
    flex-direction:column;
    gap:8px
  }
  .button {
    padding:13px 20px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
}
