:root {
  --color-primary: #193A8C;
  --color-primary-dark: #102663;
  --color-accent: #D32F2F;
  --color-action: #2563EB;
  --color-action-hover: #1D4ED8;
  --color-text-main: #111827;
  --color-text-muted: #6B7280;
  --color-border: #E5E7EB;
  --color-bg: #F9FAFB;
  --color-surface: #FFFFFF;
  --header-height: clamp(64px, 9vw, 96px);
  --simple-header-height: 76px;

  --border-soft: rgba(15, 23, 42, 0.10);
  --surface-veil: rgba(255, 255, 255, 0.86);
  --surface-veil-strong: rgba(255, 255, 255, 0.92);
  --easing-out: cubic-bezier(0.16, 1, 0.3, 1);
  --easing-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --dur-fast: 140ms;
  --dur-med: 220ms;

  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
  --shadow-lg: 
    0 10px 15px -3px rgba(0, 0, 0, 0.05), 
    0 4px 6px -2px rgba(0, 0, 0, 0.02),
    0 20px 25px -5px rgba(0, 0, 0, 0.05);

  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-full: 9999px;

  --spacing-unit: 4px;

  /* Typography */
  --font-sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-serif: "Noto Serif SC", "Noto Serif JP", "Songti SC", serif;
  
  /* Texture */
  --texture-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
}

body {
  background-color: var(--color-bg);
  color: var(--color-text-main);
  font-family: var(--font-sans);
  background-image: linear-gradient(rgba(255,255,255,0.94), rgba(255,255,255,0.94)), url('../../../logo/jimeng-2026-01-07-4425-将logo转换为毛笔书法风格，字体呈现传统毛笔书法的笔触效果，笔画有浓淡变化和飞....png');
  background-repeat: repeat;
  background-size: 1080px auto;
  background-attachment: fixed;
  background-position: center top;
  padding-top: var(--header-height);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.home{
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.65;
}
body.simple-shell{padding-top:var(--simple-header-height);background-image:none;background-attachment:scroll;background-repeat:initial;background-size:initial;background-position:initial;position:relative;isolation:isolate}
body.simple-shell{min-height:100vh;min-height:100dvh;box-sizing:border-box;display:flex;flex-direction:column}
body.simple-shell *,
body.simple-shell *::before,
body.simple-shell *::after{box-sizing:border-box}
body.simple-shell main.container{flex:1;display:flex;flex-direction:column;width:100%;max-width:980px;box-sizing:border-box;overflow-x:clip}
body.simple-shell header:not(#site-header) + main.container{padding-bottom:0}
body.simple-shell #site-footer{margin-top:auto}
body.simple-shell .btn-primary{background:var(--color-action);border-color:var(--color-action);color:#fff}
body.simple-shell .btn-primary:hover{background:var(--color-action-hover);border-color:var(--color-action-hover)}
.simple-shell .btn{
  border-color: rgba(229,231,235,.92);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.86));
  box-shadow: 0 1px 2px rgba(16,24,40,.06);
  transition: transform var(--dur-fast) var(--easing-out), box-shadow var(--dur-fast) var(--easing-out), border-color var(--dur-fast) var(--easing-out), background var(--dur-fast) var(--easing-out);
}
.simple-shell .btn:hover{
  transform: translateY(-1px);
  border-color: rgba(209,213,219,.95);
  box-shadow: 0 8px 18px rgba(16,24,40,.08);
}
.simple-shell .btn:active{transform: translateY(0)}
.simple-shell .btn-primary{
  background: linear-gradient(135deg, var(--color-action), #1E40AF);
  border-color: rgba(37,99,235,.55);
  box-shadow: 0 10px 22px rgba(37,99,235,.16);
}
.simple-shell .btn-primary:hover{
  background: linear-gradient(135deg, var(--color-action-hover), #1E3A8A);
  border-color: rgba(29,78,216,.62);
  box-shadow: 0 14px 28px rgba(37,99,235,.20);
}
.simple-shell .input,
.simple-shell .select{
  border-color: rgba(229,231,235,.92);
  background: rgba(255,255,255,.92);
  box-shadow: 0 1px 2px rgba(16,24,40,.04);
  transition: border-color var(--dur-fast) var(--easing-out), box-shadow var(--dur-fast) var(--easing-out), background var(--dur-fast) var(--easing-out);
}
.simple-shell .input:focus-visible,
.simple-shell .select:focus-visible{
  border-color: rgba(37,99,235,.45);
  box-shadow: 0 0 0 3px rgba(37,99,235,.16), 0 10px 22px rgba(16,24,40,.08);
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.intro-lock{overflow:hidden;height:100%}

body.intro-header-hide header#site-header{opacity:0 !important;transform:translate3d(0,-14px,0) !important;pointer-events:none}

body.intro-active header#site-header{
  opacity: 1;
  transform: translate3d(0,0,0);
  background: rgba(11,16,32,.54);
  border-bottom: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 12px 34px rgba(0,0,0,.18);
  backdrop-filter: blur(14px);
  transition: opacity 860ms var(--easing-out), transform 860ms var(--easing-out), background 320ms var(--easing-out), box-shadow 320ms var(--easing-out), border-color 320ms var(--easing-out);
}
body.intro-active header#site-header::after{opacity:1}
body.intro-active header#site-header.scrolled{
  background: rgba(11,16,32,.64);
  box-shadow: 0 16px 42px rgba(0,0,0,.22);
}
body.intro-active header#site-header .logo-link::after{background: rgba(255,255,255,.18)}
body.intro-active header#site-header .logo{filter: drop-shadow(0 14px 30px rgba(0,0,0,.26))}
body.intro-active header#site-header .nav-link{color: rgba(255,255,255,.86)}
body.intro-active header#site-header .nav-caret{opacity:.6}
body.intro-active header#site-header .nav-link:hover{background: rgba(255,255,255,.10);color:#fff}
body.intro-active header#site-header .nav-link[aria-current="page"]{background: rgba(255,255,255,.12);color:#fff}
body.intro-active header#site-header .nav-primary{
  color: #fff !important;
  background: rgba(211,47,47,.20);
  border-color: rgba(211,47,47,.82);
  box-shadow: none;
}
body.intro-active header#site-header .nav-primary:hover{
  color: #fff !important;
  background: rgba(211,47,47,.30);
  border-color: rgba(239,68,68,.88);
  box-shadow: none;
}
body.intro-active header#site-header .submenu{
  background: rgba(11, 16, 32, 0.86);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 22px 66px rgba(0,0,0,.32);
}
body.intro-active header#site-header .submenu a{color: rgba(255,255,255,.88)}
body.intro-active header#site-header .submenu a:hover{background: rgba(255,255,255,.08);color:#fff}
body.intro-active header#site-header .nav-toggle{color:#fff}

.intro-stage{
  height:auto;
  min-height:100svh;
  margin-top:calc(-1 * var(--header-height));
  box-sizing:border-box;
}
.intro-sticky{
  position:relative;
  top:auto;
  height:auto;
  min-height:100svh;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#0b1020;
  color:#fff;
  isolation:isolate;
  padding:calc(var(--header-height) + clamp(36px, 5vw, 64px)) clamp(18px, 4vw, 56px) clamp(86px, 8vw, 112px);
}
.intro-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transition: opacity 980ms var(--easing-out);
  z-index:-3;
  pointer-events:none;
}
.intro-video-ambient{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  filter:blur(18px) saturate(1.15) brightness(.62);
  transform:scale(1.16);
  transition: opacity 980ms var(--easing-out);
  z-index:-4;
  pointer-events:none;
}
.intro-stage.video-playing .intro-video{opacity:.92}
.intro-stage.video-playing .intro-video-ambient{opacity:.52}
.intro-stage.video-playing .intro-bg{opacity:.18}
.intro-stage.video-fadeout .intro-video{opacity:0}
.intro-stage.video-fadeout .intro-video-ambient{opacity:0}
.intro-stage.video-fadeout .intro-bg{opacity:1}
.intro-stage.autoplay-fallback .intro-video{opacity:.24}
.intro-stage.autoplay-fallback .intro-bg{opacity:.78}
.intro-stage.video-playing .intro-brand{opacity:0;transform:translate3d(0,10px,0)}
.intro-stage.video-playing .intro-scroll{opacity:0 !important}
.intro-stage.video-playing .intro-ctas{opacity:0;pointer-events:none}
.intro-bg{
  position:absolute;
  inset:-30%;
  background:
    radial-gradient(circle at 18% 20%, rgba(37,99,235,.45), transparent 52%),
    radial-gradient(circle at 88% 28%, rgba(211,47,47,.32), transparent 56%),
    radial-gradient(circle at 55% 88%, rgba(255,255,255,.14), transparent 60%),
    linear-gradient(135deg, rgba(10,18,44,.95), rgba(6,10,22,.95));
  filter:saturate(1.2) contrast(1.05);
  animation:introFloat 9.5s var(--easing-standard) infinite;
  transition: opacity 980ms var(--easing-out);
  z-index:-2;
}
.intro-stage.is-animating .intro-bg{animation:none}
.intro-stage.motion-enhanced .intro-bg{
  animation:none;
  transform-origin:center center;
  will-change:transform, opacity;
}
.intro-sticky::after{
  content:'';
  position:absolute;
  inset:0;
  background-image: var(--texture-noise);
  opacity:.28;
  mix-blend-mode: overlay;
  pointer-events:none;
  z-index:-1;
}
.intro-brand{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap: clamp(18px, 3.6vw, 28px);
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}
.intro-stage.is-animating:not(.brand-ready) .intro-brand{opacity:0;transform:translate3d(0,10px,0)}
.intro-stage:not(.is-animating) .intro-brand,
.intro-stage.no-motion .intro-brand{opacity:1;transform:none}
.intro-stage.brand-ready .intro-brand{opacity:1;transform:translate3d(0,0,0);transition:opacity 1800ms var(--easing-out), transform 1800ms var(--easing-out)}
.intro-stage.motion-enhanced .intro-brand,
.intro-stage.motion-enhanced .intro-brand-mark,
.intro-stage.motion-enhanced .intro-brand-logo,
.intro-stage.motion-enhanced .intro-brand-copy,
.intro-stage.motion-enhanced .intro-brand-divider,
.intro-stage.motion-enhanced .intro-brand-tagline,
.intro-stage.motion-enhanced .intro-brand-subtitle,
.intro-stage.motion-enhanced .intro-brand-tagline-en,
.intro-stage.motion-enhanced .intro-lead-action,
.intro-stage.motion-enhanced .intro-cta,
.intro-stage.motion-enhanced .intro-scroll{
  transition:none;
  will-change:transform, opacity, filter;
}
.intro-brand-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  transform-origin: bottom left;
  will-change: transform;
  border-radius: 30px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.intro-brand-mark:focus{outline:none}
.intro-brand-mark:focus-visible .intro-brand-logo{
  outline: 3px solid rgba(255,255,255,.82);
  outline-offset: 7px;
}
.intro-brand-divider{
  width: 1px;
  height: clamp(72px, 12vw, 140px);
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0));
  opacity: .0;
  transform: scaleY(.72);
  transform-origin: center;
  transition: opacity 980ms var(--easing-out), transform 1600ms var(--easing-out);
  transition-delay: 320ms;
}
.intro-brand-logo{
  width: clamp(96px, 18vw, 190px);
  height:auto;
  border-radius: 28px;
  background: rgba(255,255,255,.96);
  padding: 14px;
  box-shadow: 0 22px 80px rgba(0,0,0,.28);
  opacity: 0;
  transform: translate3d(-34px,0,0);
  transition: transform 1900ms var(--easing-out), opacity 1900ms var(--easing-out);
}
.intro-stage:not(.is-animating) .intro-brand-logo,
.intro-stage.no-motion .intro-brand-logo{
  opacity:1;
  transform:none;
}
.intro-brand-copy{
  display:flex;
  flex-direction:column;
  gap: 10px;
  transform: translate3d(0,0,0);
  will-change: opacity, filter;
  transform: translate3d(34px,0,0);
  transition: transform 1900ms var(--easing-out);
  transition-delay: 240ms;
}
.intro-brand-tagline{
  font-size: clamp(22px, 3.8vw, 40px);
  font-weight: 900;
  letter-spacing: .1px;
  line-height: 1.12;
  white-space: normal;
  max-width: min(720px, 72vw);
  font-family: var(--font-serif);
  text-shadow: 0 16px 40px rgba(0,0,0,.30);
}
.intro-tagline-brand,
.intro-tagline-main,
.intro-service-list,
.intro-service-copy,
.intro-service-punctuation{
  display:inline;
}
.intro-brand-subtitle{
  max-width: min(720px, 70vw);
  color: rgba(255,255,255,.86);
  font-size: clamp(13px, 1.35vw, 15px);
  font-weight: 650;
  line-height: 1.58;
  letter-spacing: .02em;
  text-shadow: 0 12px 30px rgba(0,0,0,.28);
}
.intro-brand-tagline-en{
  font-size: clamp(10px, 1.25vw, 13px);
  letter-spacing: .14em;
  font-weight: 800;
  opacity: .78;
  text-transform: uppercase;
  text-shadow: 0 14px 34px rgba(0,0,0,.30);
}
.intro-lead-action{
  align-self:flex-start;
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:6px;
}
.intro-lead-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  min-height:48px;
  padding:0 22px;
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  background:var(--color-accent);
  box-shadow:none;
  font-size:14px;
  font-weight:900;
  letter-spacing:.04em;
  white-space:nowrap;
  transition:transform 180ms var(--easing-out), background 180ms var(--easing-out), border-color 180ms var(--easing-out);
}
.intro-lead-cta::after{
  content:'›';
  margin-left:12px;
  font-family:var(--font-sans);
  font-size:20px;
  font-weight:700;
  line-height:1;
  transform:translateY(-1px);
}
.intro-lead-cta:hover{
  transform:translateY(-2px);
  background:#B91C1C;
  border-color:rgba(255,255,255,.28);
}
.intro-lead-cta:active{transform:translateY(0)}
.intro-lead-cta:focus-visible{
  outline:3px solid rgba(255,255,255,.38);
  outline-offset:4px;
}
.intro-lead-note{
  color:rgba(255,255,255,.68);
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
}
@media (min-width: 980px){
  .intro-brand-tagline{
    max-width: 960px;
    white-space: nowrap;
  }
}
.intro-stage.brand-ready .intro-brand-logo{
  opacity: 1;
  transform: translate3d(0,0,0);
}
@media (hover:hover){
  .intro-stage.brand-ready .intro-brand-mark:hover .intro-brand-logo{
    transform: translate3d(0,-3px,0);
    box-shadow: 0 28px 90px rgba(0,0,0,.34);
  }
}
.intro-stage.brand-ready .intro-brand-mark:active .intro-brand-logo{
  transform: translate3d(0,0,0) scale(.985);
}
.intro-stage.brand-ready .intro-brand-copy{
  transform: translate3d(0,0,0);
}
.intro-stage:not(.is-animating) .intro-brand-copy,
.intro-stage.no-motion .intro-brand-copy{
  transform:none;
}
.intro-stage.brand-ready .intro-brand-divider{
  opacity: .82;
  transform: scaleY(1);
}
.intro-stage:not(.is-animating) .intro-brand-divider,
.intro-stage.no-motion .intro-brand-divider{
  opacity:.82;
  transform:scaleY(1);
}
.intro-scroll{
  position:absolute;
  left:50%;
  bottom: clamp(18px, 4.2vw, 32px);
  transform: translateX(-50%);
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  opacity:1;
}
.intro-scroll-label{font-size:12px;letter-spacing:.28em;opacity:.72}
.intro-scroll-line{
  width:1px;
  height: clamp(28px, 6vw, 44px);
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.75), rgba(255,255,255,0));
  animation:introLine 1.35s var(--easing-standard) infinite;
}
.intro-ctas{
  position:absolute;
  left:clamp(20px, 2.4vw, 34px);
  right:clamp(20px, 2.4vw, 34px);
  bottom: calc(clamp(18px, 4.2vw, 32px) + 60px);
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  pointer-events:none;
}
.intro-cta{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 44px;
  padding: 0;
  color: rgba(255,255,255,.82);
  text-decoration:none;
  letter-spacing: .04em;
  font-weight: 800;
  font-size: 14px;
  background: transparent;
  border: 0;
  box-shadow: none;
  opacity:0;
  transform: translate3d(0,8px,0);
  transition: opacity 620ms var(--easing-out), transform 860ms var(--easing-out), color 220ms var(--easing-out);
  pointer-events:auto;
}
.intro-cta::before{
  content:'';
  position:absolute;
  top:50%;
  width:2px;
  height:24px;
  background: rgba(211,47,47,.92);
  transform: translate3d(0,-50%,0);
  transition: height 220ms var(--easing-out), background 220ms var(--easing-out);
}
.intro-cta::after{
  display:none;
}
.intro-cta:hover{color:#fff}
.intro-cta:hover::before{
  height:30px;
  background: rgba(255,255,255,.92);
}
.intro-cta:focus-visible{outline:2px solid var(--cta-accent, rgba(239, 68, 68, .92));outline-offset:4px}
.intro-cta-left{
  padding-left: 18px;
}
.intro-cta-left::before{
  left:0;
  background: var(--color-action);
}
.intro-cta-right{
  padding-right: 18px;
}
.intro-cta-right::before{
  right:0;
}
.intro-stage.brand-ready .intro-cta{opacity:1;transform: translate3d(0,0,0)}
.intro-stage:not(.is-animating) .intro-cta,
.intro-stage.no-motion .intro-cta{
  opacity:1;
  transform:none;
}
.intro-stage.brand-ready .intro-cta-left{transition-delay: 760ms}
.intro-stage.brand-ready .intro-cta-right{transition-delay: 760ms}
@keyframes introLine{
  0%{transform:translateY(-6px);opacity:.2}
  50%{transform:translateY(6px);opacity:1}
  100%{transform:translateY(-6px);opacity:.2}
}
@keyframes introFloat{
  0%{transform:translate3d(0,0,0) scale(1.06)}
  50%{transform:translate3d(-2%, 2%,0) scale(1.09)}
  100%{transform:translate3d(0,0,0) scale(1.06)}
}
@media (max-width:640px){
  .intro-stage{
    height:auto;
    min-height:100svh;
  }
  .intro-sticky{
    height:auto;
    min-height:100svh;
    padding:
      max(calc(var(--header-height) + 24px), env(safe-area-inset-top))
      0
      max(24px, env(safe-area-inset-bottom));
  }
  .intro-video{
    inset:auto;
    left:50%;
    top:42%;
    width:100vw;
    height:auto;
    max-height:56vh;
    transform:translate3d(-50%,-50%,0);
    object-fit:contain;
    object-position:center center;
    filter:drop-shadow(0 18px 42px rgba(0,0,0,.34));
  }
  .intro-video-ambient{
    inset:-8%;
    width:auto;
    height:auto;
    min-width:116%;
    min-height:116%;
    object-fit:cover;
    filter:blur(16px) saturate(1.26) brightness(.72);
    transform:scale(1.18);
  }
  .intro-stage.video-playing .intro-video{opacity:.98}
  .intro-stage.video-playing .intro-video-ambient{opacity:.82}
  .intro-bg{
    inset:-16%;
    opacity:.52;
  }
  .intro-brand{
    flex-direction:column;
    align-items:center;
    gap:12px;
    padding:0 20px;
    width:100%;
    max-width:390px;
    box-sizing:border-box;
    text-align:center;
  }
  .intro-brand-divider{
    display:block;
    width:72px;
    height:1px;
    opacity:.62;
  }
  .intro-brand-logo{width:92px}
  .intro-brand-copy{
    gap:8px;
    align-items:center;
    width:100%;
    max-width:342px;
    transform:none;
  }
  .intro-stage.brand-ready .intro-brand-copy{
    transform:none;
  }
  .intro-brand-tagline{
    white-space:normal;
    width:100%;
    max-width:100%;
    font-size:clamp(20px, 5.8vw, 28px);
    line-height:1.16;
    text-align:center;
    overflow-wrap:anywhere;
  }
  .intro-tagline-brand,
  .intro-tagline-main{
    display:block;
  }
  .intro-tagline-brand{
    margin-bottom:4px;
    font-size:.86em;
    letter-spacing:.08em;
  }
  .intro-tagline-separator{
    display:none;
  }
  .intro-brand-subtitle{
    width:100%;
    max-width:100%;
    font-size:clamp(12px, 3.25vw, 13px);
    line-height:1.48;
    text-align:center;
    overflow-wrap:anywhere;
  }
  .intro-service-list,
  .intro-service-copy{
    display:block;
  }
  .intro-service-list{
    font-weight:850;
    letter-spacing:.05em;
    white-space:nowrap;
  }
  .intro-service-punctuation{
    display:none;
  }
  .intro-service-copy{
    margin-top:4px;
    color:rgba(255,255,255,.78);
    font-weight:600;
  }
  .intro-brand-tagline-en{
    width:100%;
    max-width:300px;
    font-size:10px;
    line-height:1.5;
    letter-spacing:.11em;
    text-align:center;
  }
  .intro-lead-action{
    align-self:center;
    flex-direction:column;
    gap:7px;
    margin-top:4px;
  }
  .intro-lead-cta{
    min-height:44px;
    padding:0 20px;
    font-size:13px;
  }
  .intro-lead-cta::after{
    margin-left:10px;
  }
  .intro-lead-note{
    font-size:11px;
  }
  .intro-scroll{bottom:max(16px, env(safe-area-inset-bottom))}
  .intro-ctas{
    left:18px;
    right:18px;
    bottom:70px;
  }
  .intro-cta{
    height:40px;
    font-size:13px;
  }
  .intro-cta-left{padding-left:16px}
  .intro-cta-right{padding-right:16px}
  .intro-cta::before{
    height:22px;
  }
}
@media (max-width:420px){
  .intro-video{
    top:40%;
    max-height:52vh;
  }
  .intro-video-ambient{opacity:.78}
  .intro-brand-logo{
    width:84px;
    padding:12px;
    border-radius:24px;
  }
  .intro-brand{
    max-width:340px;
    padding:0 14px;
  }
  .intro-brand-copy{
    max-width:312px;
  }
  .intro-brand-tagline{
    font-size:clamp(18px, 5.55vw, 24px);
  }
  .intro-brand-subtitle{
    font-size:11.5px;
    line-height:1.45;
  }
  .intro-brand-tagline-en{
    font-size:9.5px;
    letter-spacing:.08em;
  }
  .intro-lead-action{
    gap:6px;
  }
  .intro-lead-cta{
    min-height:40px;
    padding:0 17px;
    font-size:12px;
  }
  .intro-lead-note{
    font-size:10.5px;
  }
  .intro-ctas{bottom:64px}
  .intro-cta{
    height:38px;
    font-size:12px;
  }
}
@media (prefers-reduced-motion: reduce){
  .intro-stage{
    display:block;
    height:auto;
    min-height:100svh;
  }
  .intro-sticky{
    position:relative;
    min-height:100svh;
    height:auto;
    padding:
      max(calc(var(--header-height) + 36px), env(safe-area-inset-top))
      clamp(18px, 4vw, 44px)
      max(86px, env(safe-area-inset-bottom));
  }
  .intro-bg,
  .intro-scroll-line{
    animation:none;
  }
  .intro-brand,
  .intro-brand-logo,
  .intro-brand-copy,
  .intro-brand-divider,
  .intro-cta{
    transition:none;
  }
  .intro-scroll{
    display:none;
  }
}

body.simple-shell::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-color: var(--color-bg);
  background-image:
    linear-gradient(rgba(249,250,251,0.78), rgba(249,250,251,0.78)),
    var(--shell-bg-image, none);
  background-size: cover;
  background-position: center 35%;
  background-repeat: no-repeat;
  background-attachment: fixed;
  opacity: var(--shell-bg-opacity, 0.28);
  filter: saturate(1.08) contrast(1.04);
}
body.simple-shell::after{
  content:'';
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image: var(--texture-noise);
  opacity: var(--shell-noise-opacity, 0.22);
  mix-blend-mode: multiply;
}

body.simple-shell[data-page="products"],
body.simple-shell[data-page="jp"],
body.simple-shell[data-page="scholarship"],
body.simple-shell[data-page="support"],
body.simple-shell[data-page="support-detail"],
body.simple-shell[data-page="news"],
body.simple-shell[data-page="newsroom"]{
  --shell-bg-image: none;
  --shell-bg-opacity: 0.12;
  --shell-noise-opacity: 0.12;
}

.simple-header{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 120;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
  box-shadow: 0 10px 28px rgba(16,24,40,.06);
  border-bottom: 1px solid rgba(229,231,235,.78);
  height: var(--simple-header-height);
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

@media (max-width:640px){
  :root{--simple-header-height:56px}
}

/* Header & Nav */
header#site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  border-bottom: none;
  box-shadow: var(--shadow-sm);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-height);
  padding: 0 clamp(12px, 3vw, 24px);
  max-width: 100%;
}
header#site-header::after{
  content:'';
  position:absolute;
  left:0; right:0; bottom:0;
  height: 3px;
  background: var(--color-accent);
}
header#site-header.scrolled{
  background: rgba(255,255,255,0.95);
  box-shadow: var(--shadow-md);
}
.nav-toggle{display:none}
.nav-overlay{display:none}

.logo-link {
  display: flex;
  align-items: center;
  align-self: center;
  margin-left: clamp(2px, 1.6vw, 10px);
  padding-right: clamp(10px, 2.2vw, 16px);
  margin-right: clamp(10px, 2.2vw, 16px);
  position: relative;
}
.logo-link::after{
  content:'';
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height: clamp(42px, 6vw, 64px);
  background:#D1D5DB;
}

.logo {
  height: clamp(28px, 4.6vw, 40px);
  width: auto;
}
body.simple-shell .logo{height:32px;width:auto}
@media (max-width:640px){
  body.simple-shell .logo{height:28px}
}
@media (max-width:640px){
  body.simple-shell main.container{
    max-width:100%;
    padding-left:12px;
    padding-right:12px;
  }
  body.simple-shell .simple-header,
  body.simple-shell .site-footer-inner,
  body.simple-shell .section-band,
  body.simple-shell .toolbar,
  body.simple-shell .list-row,
  body.simple-shell .page-grid,
  body.simple-shell .page-main{
    max-width:100%;
  }
  body.simple-shell .btn,
  body.simple-shell .input,
  body.simple-shell .select{
    min-height:44px;
    font-size:16px;
  }
  body.simple-shell .tag{
    min-height:44px;
    padding:10px 13px;
  }
  body.simple-shell .breadcrumb a,
  body.simple-shell .side-nav a{
    display:inline-flex;
    align-items:center;
    min-height:40px;
  }
  body.simple-shell .simple-header a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
  body.simple-shell .list-row{
    min-height:44px;
  }
  body.simple-shell .simple-copyright a{
    display:inline-flex;
    align-items:center;
    min-height:32px;
  }
}

body.simple-shell .header-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width: 0;
}
body.simple-shell .simple-header .title{
  font-size: 18px;
  line-height: 1.2;
  white-space: nowrap;
}
body.simple-shell .simple-header .header-left .title{display:none}
@media (max-width:640px){
  body.simple-shell .simple-header .title{font-size:16px}
}
body.simple-shell .simple-header .header-links{
  margin: 0;
  padding: 0;
  flex: 1;
  justify-content: flex-end;
  gap: clamp(8px, 1.6vw, 12px);
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
body.simple-shell .simple-header .site-nav{display:none}
body.simple-shell .simple-header .header-links::-webkit-scrollbar{display:none}
body.simple-shell .simple-header .header-links .page-link{
  border: 0;
  background: transparent;
  padding: 9px 12px;
  font-size: 15px;
}
body.simple-shell .simple-header .header-links .page-link:hover{
  background: rgba(37, 99, 235, 0.06);
  color: var(--color-action);
}
body.simple-shell .simple-header .header-links .page-link[aria-current="page"],
body.simple-shell .simple-header .header-links .page-link.is-active{
  background: rgba(37, 99, 235, 0.10);
  color: var(--color-action);
}

body.simple-shell .page-hero{
  padding: 12px 0 6px;
  margin-top: 12px;
}
body.simple-shell .page-hero::after{
  content:none;
}
body.simple-shell .page-hero-title{font-size:22px;font-weight:800;letter-spacing:.2px}
body.simple-shell .page-hero-sub{margin-top:6px;color:var(--color-text-muted);font-size:13px}

@media (prefers-reduced-motion: no-preference){
  body.simple-shell .breadcrumb{animation:fadeUp .46s var(--easing-out) both}
  body.simple-shell .section-band{animation:fadeUp .50s var(--easing-out) both;animation-delay:40ms}
  body.simple-shell .toolbar{animation:fadeUp .50s var(--easing-out) both;animation-delay:80ms}
  body.simple-shell .page-grid,
  body.simple-shell .product-detail,
  body.simple-shell .jp-detail-wrap{animation:fadeUp .56s var(--easing-out) both;animation-delay:120ms}
  body.simple-shell.jp-asahi[data-page="jp"] .asahi-hero-img{animation:fadeUp .50s var(--easing-out) both;animation-delay:40ms}
  body.simple-shell.jp-asahi[data-page="jp"] .asahi-course{animation:fadeUp .56s var(--easing-out) both;animation-delay:80ms}
  body.simple-shell.jp-asahi[data-page="jp"] .asahi-campus{animation:fadeUp .56s var(--easing-out) both;animation-delay:120ms}
  body.simple-shell.highschool[data-page="highschool"] .sunny-band{animation:fadeUp .56s var(--easing-out) both;animation-delay:40ms}
  body.simple-shell.highschool[data-page="highschool"] .sunny-band + .sunny-band{animation-delay:120ms}
}
@media (prefers-reduced-motion: reduce){
  body.simple-shell .btn,
  body.simple-shell .tag,
  body.simple-shell .list-row{transition:none}
  body.simple-shell .list-row:hover{transform:none}
}

body.simple-shell .breadcrumb{
  display:flex;
  gap:8px;
  align-items:center;
  font-size:12px;
  color: var(--color-text-muted);
  margin-top: 6px;
  flex-wrap: wrap;
}
body.simple-shell .breadcrumb a{color: var(--color-action);text-decoration:none}
body.simple-shell .breadcrumb a:hover{text-decoration:underline}
body.simple-shell .breadcrumb-sep{opacity:.6}

body.simple-shell .section-band{
  position: relative;
  margin-top: 10px;
  padding: clamp(12px, 2.2vw, 16px) clamp(12px, 2.2vw, 16px);
  border-radius: clamp(12px, 2.2vw, 14px);
  background: linear-gradient(135deg, var(--surface-veil-strong), rgba(255,255,255,.74));
  border: 1px solid rgba(229,231,235,.86);
  box-shadow: 0 12px 32px rgba(16,24,40,.06);
  overflow:hidden;
}
body.simple-shell .section-band::after{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    var(--texture-noise),
    radial-gradient(circle at 28% 18%, rgba(25,58,140,.08), transparent 48%),
    radial-gradient(circle at 92% 10%, rgba(211,47,47,.06), transparent 54%);
  opacity:.52;
  pointer-events:none;
}
body.simple-shell .band-inner{position:relative;z-index:1}
body.simple-shell .band-title{font-weight:900;font-size:clamp(18px, 3.2vw, 22px);letter-spacing:.2px}
body.simple-shell .band-lead{margin-top:6px;color:var(--color-text-muted);font-size:13px;line-height:1.7}
body.simple-shell .band-actions{margin-top:clamp(8px, 1.8vw, 10px);display:flex;gap:clamp(6px, 1.4vw, 8px);flex-wrap:wrap}

body.simple-shell .tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius: 9999px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(229,231,235,.9);
  color: var(--color-text-main);
  text-decoration:none;
  font-size: 12px;
  line-height: 1;
  transition: transform var(--dur-fast) var(--easing-out), box-shadow var(--dur-fast) var(--easing-out), border-color var(--dur-fast) var(--easing-out), background var(--dur-fast) var(--easing-out);
}
body.simple-shell .tag:hover{border-color:#d1d5db;transform:translateY(-1px);box-shadow: 0 10px 22px rgba(16,24,40,.08);background: rgba(255,255,255,.96)}
body.simple-shell .tag-accent{border-color: rgba(211,47,47,.35)}
body.simple-shell .tag-muted{color: var(--color-text-muted)}
body.simple-shell .tag.is-active, body.simple-shell .tag[aria-current="true"]{
  background: rgba(255,255,255,.9);
  border-color: rgba(234, 88, 12, 0.65);
  color: #EA580C;
  box-shadow: 0 0 0 2px rgba(234, 88, 12, 0.14);
}
@media (max-width:640px){
  body.simple-shell .tag{
    min-height:44px;
    padding:10px 13px;
  }
  body.simple-shell .page-aside a,
  body.simple-shell .aside-list a{
    display:inline-flex;
    align-items:center;
    min-height:40px;
  }
  body.simple-shell .simple-copyright a{
    display:inline-flex;
    align-items:center;
    min-height:32px;
  }
}

body.simple-shell .notice{
  margin-top: 12px;
  border-radius: clamp(12px, 2.2vw, 14px);
  padding: clamp(10px, 2vw, 12px) clamp(10px, 2vw, 12px);
  border: 1px solid rgba(229,231,235,.9);
  background: rgba(255,255,255,.86);
}
body.simple-shell .notice-warn{border-color: rgba(245,158,11,.45);background: rgba(255,251,235,.92)}
body.simple-shell .notice-info{border-color: rgba(59,130,246,.35);background: rgba(239,246,255,.92)}
body.simple-shell .notice-title{font-weight:900;font-size:13px;letter-spacing:.2px}
body.simple-shell .notice-text{margin-top:6px;color:var(--color-text-muted);font-size:12px;line-height:1.7}

body.simple-shell .toolbar{
  margin-top: 10px;
  padding: clamp(10px, 2vw, 12px) clamp(10px, 2vw, 12px);
  border-radius: clamp(12px, 2.2vw, 14px);
  background: var(--surface-veil);
  border: 1px solid rgba(229,231,235,.86);
  box-shadow: 0 10px 26px rgba(16,24,40,.06);
}
body.simple-shell .toolbar .input{
  padding: clamp(6px, 1.6vw, 10px) clamp(8px, 2.0vw, 14px);
  font-size: clamp(13px, 2.0vw, 14px);
}
body.simple-shell .toolbar .select{
  padding: clamp(5px, 1.4vw, 6px) 28px clamp(5px, 1.4vw, 6px) clamp(9px, 2.0vw, 10px);
  font-size: clamp(12px, 1.8vw, 13px);
}
body.simple-shell[data-page="scholarship"] .toolbar .grid{
  grid-template-columns: minmax(0, 520px);
  justify-content: start;
  transform: none;
}
@media (max-width:640px){
  body.simple-shell[data-page="scholarship"] .toolbar .grid{
    grid-template-columns: 1fr;
    justify-content: stretch;
    transform: none;
  }
}

body.simple-shell .list{
  margin-top: 10px;
  border-top: 1px solid rgba(229,231,235,.9);
}
body.simple-shell .list-row{
  display:flex;
  gap: clamp(10px, 2vw, 12px);
  align-items:flex-start;
  padding: clamp(10px, 1.8vw, 12px) 4px;
  border-bottom: 1px solid rgba(229,231,235,.9);
  text-decoration:none;
  color: inherit;
  position: relative;
  transition: background var(--dur-fast) var(--easing-out), transform var(--dur-fast) var(--easing-out);
}
body.simple-shell .list-row::before{
  content:'';
  position:absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 2px;
  border-radius: 9999px;
  background: linear-gradient(180deg, rgba(37,99,235,.65), rgba(211,47,47,.40));
  opacity: 0;
  transform: translateX(-2px);
  transition: opacity var(--dur-fast) var(--easing-out), transform var(--dur-fast) var(--easing-out);
}
body.simple-shell .list-row[data-href]{cursor:pointer}
body.simple-shell .list-row:hover{background: rgba(249,250,251,.72);transform: translateY(-1px)}
body.simple-shell .list-row:hover::before{opacity:0;transform: translateX(-2px)}
body.simple-shell .list-row:focus-visible{outline:none;background: rgba(37,99,235,0.06);box-shadow: 0 0 0 2px rgba(37,99,235,.22);border-radius: clamp(10px, 2vw, 12px)}
body.simple-shell .list-row:focus-visible::before{opacity:1;transform: translateX(0)}
body.simple-shell .list-main{min-width:0;flex:1}
body.simple-shell .list-title{font-weight:800;font-size:clamp(14px, 2.1vw, 16px);line-height:1.35}
body.simple-shell .list-sub{margin-top:6px;color:var(--color-text-muted);font-size:12px;line-height:1.6}
body.simple-shell .list-meta{flex:none;min-width:110px;text-align:right;color:var(--color-text-muted);font-size:12px}
body.simple-shell .list-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:140px;text-align:right}
body.simple-shell .list-meta .favorite-star{font-size:18px;line-height:1;padding:0}
body.simple-shell .list-meta .favorite-star.active{color:#EA580C}
@media (max-width: 640px){
  body.simple-shell .list-row{flex-direction:column}
  body.simple-shell .list-meta{text-align:left;min-width:0;justify-content:flex-start}
  body.simple-shell .list-title,
  body.simple-shell .list-sub{
    overflow-wrap:anywhere;
  }
  body.simple-shell .list-meta .favorite-star{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:40px;
    min-height:40px;
    padding:6px;
    border-radius:10px;
  }
}

body.simple-shell .side-nav{
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(229,231,235,.9);
  border-radius: clamp(12px, 2.2vw, 14px);
  padding: clamp(10px, 2vw, 12px) clamp(10px, 2vw, 12px);
}
body.simple-shell .side-nav-title{font-weight:900;font-size:13px;letter-spacing:.2px}
body.simple-shell .side-nav a{display:block;padding:10px 8px;border-radius:10px;color:var(--color-text-main);text-decoration:none}
body.simple-shell .side-nav a:hover{background: rgba(249,250,251,.9)}
body.simple-shell .side-nav a.is-active, body.simple-shell .side-nav a[aria-current="true"]{
  background: transparent;
  color: #EA580C;
  box-shadow: inset 0 0 0 2px rgba(234, 88, 12, 0.60);
}

body.simple-shell .stepper{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body.simple-shell .step{padding:clamp(9px, 1.8vw, 10px) clamp(9px, 1.8vw, 10px);border-radius:clamp(12px, 2.2vw, 14px);background: rgba(255,255,255,.86);border:1px solid rgba(229,231,235,.9)}
body.simple-shell .step-no{font-weight:900;color: var(--color-accent);font-size:12px}
body.simple-shell .step-title{margin-top:6px;font-weight:900;font-size:13px}
body.simple-shell .step-text{margin-top:6px;color:var(--color-text-muted);font-size:12px;line-height:1.7}
@media (max-width:980px){
  body.simple-shell .stepper{grid-template-columns:1fr}
}

body.simple-shell .page-grid{
  display:grid;
  grid-template-columns: minmax(0,1fr) 320px;
  gap: 18px;
  align-items:start;
  margin-top: 14px;
}
body.simple-shell .page-main{min-width:0}
body.simple-shell .page-aside{position:sticky;top:calc(var(--simple-header-height) + 20px)}
body.simple-shell .aside-card{
  background: var(--surface-veil);
  border: 1px solid rgba(229,231,235,.86);
  border-radius: clamp(12px, 2.2vw, 14px);
  padding: clamp(12px, 2.2vw, 14px);
  box-shadow: 0 12px 28px rgba(16,24,40,.06);
}
body.simple-shell .aside-card + .aside-card{margin-top:12px}
body.simple-shell .aside-title{font-weight:800;font-size:13px;margin-bottom:10px;letter-spacing:.2px}
body.simple-shell .aside-list{list-style:none;padding:0;margin:0}
body.simple-shell .aside-list li{margin:8px 0}
body.simple-shell .aside-list a{color:var(--color-action);text-decoration:none}
body.simple-shell .aside-list a:hover{text-decoration:underline}
body.simple-shell .aside-note{color:var(--color-text-muted);font-size:12px;line-height:1.6}

@media (max-width: 980px){
  body.simple-shell .page-grid{grid-template-columns: 1fr}
  body.simple-shell .page-aside{position:static;top:auto}
}

.topbar {
  background: #fff;
  border-bottom: 1px solid var(--color-border);
  padding: 4px 16px;
  font-size: 12px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.topbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.topbar .input {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  padding: 4px 12px;
  font-size: 12px;
  width: 140px;
  transition: all 0.2s;
}

.topbar .input:focus {
  border-color: var(--color-action);
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);
  outline: none;
}

.font-controls {
  display: flex;
  background: #F3F4F6;
  border-radius: var(--radius-sm);
  padding: 2px;
  gap: 2px;
}

.font-controls .btn {
  border: none;
  background: transparent;
  padding: 2px 8px;
  font-size: 12px;
  color: var(--color-text-muted);
  border-radius: var(--radius-sm);
}

.font-controls .btn:hover, .font-controls .btn.active {
  background: #fff;
  color: var(--color-text-main);
  box-shadow: var(--shadow-sm);
}

/* Navigation */
.nav-list {
  display: flex;
  gap: clamp(10px, 2vw, 16px);
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
}
.header-search{
  position: relative;
  width: min(320px, 28vw);
  margin-left: 10px;
}
.header-search-input{
  width: 100%;
  height: 36px;
  border: 1px solid transparent;
  border-radius: 9999px;
  background: rgba(255,255,255,0.75);
  padding: 0 16px 0 36px;
  font-size: 13px;
  color: var(--color-text-main);
  outline: none;
  backdrop-filter: blur(8px);
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  transition: all .25s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='rgba(107,114,128,0.6)' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z' /%3E%3C/svg%3E");
  background-size: 16px;
  background-position: 12px center;
  background-repeat: no-repeat;
}
.header-search-input::placeholder{
  color: rgba(107,114,128,0.7);
}
.header-search-input:hover{
  background-color: rgba(255,255,255,0.9);
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
.header-search-input:focus{
  background-color: #fff;
  border-color: rgba(37,99,235,0.3);
  box-shadow: 0 4px 20px rgba(37,99,235,0.08);
  width: 100%;
}
.header-search-result{
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(17,24,39,.06);
  border-radius: 12px;
  box-shadow: 0 12px 32px -4px rgba(0,0,0,.1);
  padding: 6px;
  max-height: 360px;
  overflow: auto;
  opacity: 0;
  transform: translateY(-4px);
  animation: dropdownIn 0.2s ease forwards;
}
.header-search-item{
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-decoration: none;
  color: var(--color-text-main);
  border-radius: 8px;
  padding: 8px 12px;
  transition: background .15s;
}
.header-search-item:hover{ background: rgba(37,99,235,.04); }
.header-search-title{ font-size: 13px; font-weight: 600; color: #1f2937; }
.header-search-sub{ font-size: 11px; color: #6b7280; }
.header-search-empty{ color: #9ca3af; font-size: 13px; padding: 12px; text-align: center; }
.header-search.home-search-under-tagline{
  position: relative;
  width: clamp(200px, 24vw, 260px);
  margin: 10px 0 0 auto;
  z-index: 4;
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: clamp(6px, 1.2vw, 8px) clamp(8px, 1.8vw, 12px);
  color: var(--color-text-main);
  text-decoration: none;
  font-family: var(--font-sans);
  font-size: clamp(14px, 1.55vw, 16px);
  font-weight: 500;
  letter-spacing: 0.2px;
  border-radius: var(--radius-full);
  transition: all 0.2s;
  white-space: nowrap;
}

.nav-caret {
  font-size: 10px;
  opacity: 0.5;
  transition: transform 0.2s;
}

.nav-item:hover .nav-caret {
  transform: rotate(180deg);
}

.nav-link:hover {
  background: rgba(37, 99, 235, 0.05);
  color: var(--color-action);
}
.nav-link[aria-current="page"]{
  background: rgba(37, 99, 235, 0.10);
  color: var(--color-action);
}
.nav-link:focus-visible, .page-link:focus-visible, .btn:focus-visible, .btn-more:focus-visible, .hero-btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 2px rgba(37,99,235,.25);
  border-radius: var(--radius-full);
}
.video-card:focus-visible, .poster-card:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(37,99,235,.25);
}

.nav-primary {
  padding: clamp(7px, 1.2vw, 9px) clamp(14px, 2vw, 18px);
  color: var(--color-accent) !important;
  border:1px solid rgba(211,47,47,.28);
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  font-weight: 800;
}

.nav-primary:hover {
  background: rgba(211,47,47,.08);
  color: #B91C1C !important;
  border-color: rgba(185,28,28,.42);
  box-shadow: none;
  text-decoration: none;
}

.page-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding: 8px 0 10px;
  margin: 0 0 10px;
}
.page-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 8px 12px;
  color: var(--color-text-main);
  text-decoration:none;
  font-weight: 600;
  border-radius: var(--radius-full);
  border: 1px solid rgba(229,231,235,.9);
  background: rgba(255,255,255,.75);
  transition: all .2s;
  white-space: nowrap;
}
.page-link:hover{
  background: rgba(37, 99, 235, 0.06);
  border-color: rgba(37, 99, 235, 0.22);
  color: var(--color-action);
}
.page-link[aria-current="page"], .page-link.is-active{
  background: rgba(37, 99, 235, 0.10);
  border-color: rgba(37, 99, 235, 0.28);
  color: var(--color-action);
}

.nav-item {
  position: relative;
}

.submenu {
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  min-width: 200px;
  padding: 8px 0;
  display: none;
  z-index: 60;
  opacity: 0;
  transform: translateY(-8px);
  transform-origin: top center;
  transition: all 0.2s ease;
  pointer-events: none;
  will-change: transform, opacity;
}

.nav-item:hover .submenu {
  display: block;
  animation: dropdownIn .18s ease-out both;
  pointer-events: auto;
}
header#site-header.menu-open .submenu{
  position: static;
  display: block;
  opacity: 1;
  transform: none;
  pointer-events: auto;
  border: 0;
  box-shadow: none;
  background: transparent;
  padding: 6px 0 0;
  margin: 0;
}
header#site-header.menu-open .submenu a{
  padding: 10px 12px 10px 22px;
  border-radius: 10px;
}
body.intro-active header#site-header.menu-open .submenu a{
  color: rgba(255,255,255,.88);
}
body.intro-active header#site-header.menu-open .submenu a:hover{
  background: rgba(255,255,255,.08);
  color: #fff;
}

.submenu li {
  list-style: none;
}

.submenu a {
  display: block;
  padding: 8px 16px;
  color: var(--color-text-main);
  text-decoration: none;
  font-size: clamp(12px, 1.5vw, 14px);
  transition: all 0.2s;
}

.submenu a:hover {
  background: rgba(37, 99, 235, 0.06);
  color: var(--color-action);
}
@keyframes dropdownIn {
  from { opacity: 0; transform: translateY(-8px) scaleY(0.98); }
  to   { opacity: 1; transform: translateY(0) scaleY(1); }
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

/* Home Hero */
.home-hero-wrap,
.core-services{
  width:100vw;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  box-sizing:border-box;
}
.home-hero-wrap *,
.home-hero-wrap *::before,
.home-hero-wrap *::after,
.core-services *,
.core-services *::before,
.core-services *::after{
  box-sizing:border-box;
}
.home-hero-wrap{
  background:#0B1224;
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.hero {
  position: relative;
  margin:0;
  background: #0B1224;
  width:100%;
  height:clamp(500px, 42vw, 680px);
  min-height:0;
  border-radius:0;
  overflow:hidden;
}
.home-hero-shade{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(8,19,46,.16) 0%, rgba(8,19,46,.04) 42%, rgba(8,19,46,.36) 100%),
    linear-gradient(90deg, rgba(8,19,46,.22) 0%, rgba(8,19,46,.04) 44%, rgba(8,19,46,.20) 100%);
}
.hero-scroll-core{
  position:absolute;
  left:50%;
  bottom:24px;
  z-index:8;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  width:auto;
  padding:0;
  color:rgba(255,255,255,.82);
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:transparent;
  border:0;
  transform:translateX(-50%);
  cursor:pointer;
}
.hero-scroll-core i{
  width:1px;
  height:36px;
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,0));
}
.hero-scroll-core:hover{
  color:#fff;
}

/* Core Services */
.core-services{
  padding:clamp(24px, 3vw, 44px) clamp(16px, 4vw, 56px) clamp(46px, 5vw, 72px);
  background:
    linear-gradient(180deg, #fff 0%, #F8FAFC 100%),
    radial-gradient(circle at 8% 12%, rgba(25,58,140,.08), transparent 30%),
    radial-gradient(circle at 92% 0%, rgba(211,47,47,.07), transparent 28%);
  border-bottom:1px solid rgba(15,23,42,.08);
  overflow:hidden;
}
.core-services-inner{
  max-width:1440px;
  margin:0 auto;
}
.core-services-head{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(0, 1fr);
  gap:clamp(22px, 3vw, 48px);
  align-items:end;
  margin-bottom:clamp(20px, 2.4vw, 32px);
}
.core-services-kicker{
  grid-column:1;
  width:max-content;
  color:var(--color-primary);
  font-size:13px;
  font-weight:900;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.core-services-head h2{
  grid-column:1;
  margin:12px 0 0;
  color:#0F172A;
  font-family:var(--font-serif);
  font-size:clamp(34px, 3.2vw, 50px);
  font-weight:900;
  line-height:1.08;
  letter-spacing:0;
}
.core-services-head p{
  grid-column:2;
  grid-row:1 / span 2;
  max-width:680px;
  margin:0;
  color:#475569;
  font-size:clamp(15px, 1.2vw, 18px);
  font-weight:650;
  line-height:1.9;
}
.business-map{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(270px, 1fr) minmax(240px, 340px) minmax(270px, 1fr);
  grid-template-rows:auto auto;
  gap:clamp(18px, 2.4vw, 34px);
  padding:clamp(18px, 2.4vw, 34px) 0 clamp(26px, 3.2vw, 48px);
  background:
    radial-gradient(circle at 50% 42%, rgba(25,58,140,.13), transparent 31%),
    radial-gradient(circle at 87% 20%, rgba(211,47,47,.08), transparent 28%),
    radial-gradient(circle at 10% 70%, rgba(25,58,140,.06), transparent 24%);
  overflow:hidden;
}
.business-map::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg, rgba(15,23,42,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15,23,42,.045) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(circle at 50% 50%, #000 0%, rgba(0,0,0,.74) 38%, transparent 72%);
  opacity:.55;
}
.business-center,
.business-node{
  position:relative;
  z-index:1;
}
.business-center{
  grid-column:2;
  grid-row:1;
  place-self:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:min(100%, 300px);
  aspect-ratio:1;
  padding:34px;
  text-align:center;
  color:#0F172A;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.93) 56%, rgba(241,245,249,.88) 100%);
  border:1px solid rgba(25,58,140,.18);
  border-radius:50%;
  box-shadow:0 24px 70px rgba(15,23,42,.13);
  backdrop-filter:blur(12px);
}
.business-center::before,
.business-center::after{
  content:'';
  position:absolute;
  border-radius:inherit;
  pointer-events:none;
}
.business-center::before{
  inset:-12px;
  border:1px solid rgba(25,58,140,.18);
  border-radius:50%;
}
.business-center::after{
  inset:14px;
  border:1px solid rgba(211,47,47,.14);
  border-radius:50%;
}
.business-center-mark{
  position:relative;
  z-index:1;
  display:block;
  width:174px;
  height:174px;
  padding:18px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:50%;
  box-shadow:0 16px 34px rgba(15,23,42,.10);
}
.business-center-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.business-node{
  --node-line:var(--color-primary);
  display:grid;
  grid-template-columns:150px minmax(0, 1fr);
  gap:18px;
  align-items:center;
  width:min(100%, 460px);
  min-width:0;
  padding:0;
  color:#0F172A;
  text-decoration:none;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  transition:transform var(--dur-med) var(--easing-out), border-color var(--dur-med) var(--easing-out), box-shadow var(--dur-med) var(--easing-out);
}
.business-node-blue{--node-line:var(--color-primary)}
.business-node-red{--node-line:var(--color-accent)}
.business-node-language{
  grid-column:1;
  grid-row:1;
  place-self:center end;
}
.business-node-study{
  grid-column:3;
  grid-row:1;
  place-self:center start;
}
.business-node-highschool{
  grid-column:1 / -1;
  grid-row:2;
  place-self:start center;
  width:min(100%, 640px);
  grid-template-columns:150px minmax(0, 1fr);
}
.business-node:hover{
  transform:translateY(-4px);
}
.business-node:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--node-line) 24%, transparent);
}
.business-node-media{
  position:relative;
  display:block;
  width:150px;
  aspect-ratio:1;
  border:6px solid #fff;
  border-radius:50%;
  overflow:hidden;
  background:#E2E8F0;
  box-shadow:0 20px 46px rgba(15,23,42,.14);
}
.business-node-media::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42), inset 0 -28px 40px rgba(15,23,42,.20);
  pointer-events:none;
}
.business-node-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
  transition:transform var(--dur-slow) var(--easing-out);
}
.business-node:hover .business-node-media img{
  transform:scale(1.05);
}
.business-node-body{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:18px 0 16px 18px;
  border-left:2px solid color-mix(in srgb, var(--node-line) 38%, rgba(148,163,184,.28));
}
.business-node-index{
  color:var(--node-line);
  font-size:11px;
  font-weight:950;
  line-height:1;
  letter-spacing:.08em;
}
.business-node-title{
  margin-top:10px;
  color:#0F172A;
  font-family:var(--font-serif);
  font-size:30px;
  font-weight:900;
  line-height:1.08;
  letter-spacing:0;
}
.business-node-copy{
  margin-top:9px;
  color:#475569;
  font-size:14.5px;
  font-weight:650;
  line-height:1.68;
}
.business-node-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:14px;
}
.business-node-tags span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:3px 8px;
  color:#334155;
  font-size:12px;
  font-weight:850;
  line-height:1.2;
  background:rgba(255,255,255,.78);
  border:1px solid color-mix(in srgb, var(--node-line) 18%, rgba(148,163,184,.18));
  border-radius:999px;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.business-node-cta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  margin-top:auto;
  padding-top:15px;
  color:var(--node-line);
  font-size:13px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
}
.business-node-cta b{
  font-size:20px;
  line-height:1;
  transition:transform var(--dur-fast) var(--easing-out);
}
.business-node:hover .business-node-cta b{
  transform:translateX(3px);
}
.business-map.business-motion-ready .business-center,
.business-map.business-motion-ready .business-node{
  opacity:0;
}
.core-service-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border-top:1px solid rgba(15,23,42,.12);
  border-bottom:1px solid rgba(15,23,42,.12);
}
.core-service-card{
  --service-line:var(--color-primary);
  position:relative;
  display:grid;
  grid-template-columns:76px minmax(220px, 300px) minmax(0, 1fr);
  grid-template-areas:"index media body";
  gap:clamp(20px, 3vw, 42px);
  align-items:center;
  min-width:0;
  min-height:0;
  padding:clamp(24px, 2.4vw, 34px) clamp(0px, 1vw, 10px);
  color:#111827;
  text-decoration:none;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(15,23,42,.10);
  border-radius:0;
  overflow:hidden;
  box-shadow:none;
  transition:background var(--dur-med) var(--easing-out), border-color var(--dur-med) var(--easing-out), padding-left var(--dur-med) var(--easing-out);
}
.core-service-card:last-child{
  border-bottom:0;
}
.core-service-card::before{
  content:'';
  position:absolute;
  left:0;
  top:clamp(24px, 2.4vw, 34px);
  bottom:clamp(24px, 2.4vw, 34px);
  width:3px;
  background:var(--service-line);
  border-radius:0 999px 999px 0;
  opacity:.85;
}
.core-service-card:hover{
  padding-left:clamp(8px, 1vw, 14px);
  border-color:rgba(15,23,42,.16);
  background:linear-gradient(90deg, color-mix(in srgb, var(--service-line) 7%, transparent), transparent 46%);
}
.core-service-card:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--service-line) 20%, transparent) inset;
}
.core-service-red{--service-line:var(--color-accent)}
.core-service-blue{--service-line:var(--color-primary)}
.core-service-index{
  grid-area:index;
  position:relative;
  z-index:1;
  display:block;
  width:auto;
  height:auto;
  color:var(--service-line);
  font-family:var(--font-serif);
  font-size:clamp(34px, 3.2vw, 52px);
  font-weight:900;
  line-height:1;
  background:transparent;
  border:0;
  border-radius:0;
  backdrop-filter:none;
  font-variant-numeric:tabular-nums;
}
.core-service-media{
  grid-area:media;
  position:relative;
  display:block;
  height:168px;
  background:#E2E8F0;
  border-radius:6px;
  overflow:hidden;
}
.core-service-media::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(15,23,42,.04), rgba(15,23,42,.22));
}
.core-service-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
  transition:transform var(--dur-slow) var(--easing-out);
}
.core-service-card:hover .core-service-media img{
  transform:scale(1.045);
}
.core-service-body{
  grid-area:body;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:0;
}
.core-service-fit{
  color:var(--service-line);
  font-size:12px;
  font-weight:900;
  line-height:1.55;
}
.core-service-title{
  margin-top:8px;
  color:#0F172A;
  font-family:var(--font-serif);
  font-size:clamp(28px, 2.5vw, 38px);
  font-weight:900;
  line-height:1.12;
  letter-spacing:0;
}
.core-service-copy{
  margin-top:10px;
  color:#475569;
  font-size:15px;
  font-weight:650;
  line-height:1.75;
}
.core-service-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
  padding-top:0;
  border-top:0;
}
.core-service-points span{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px 4px 22px;
  color:#334155;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  background:rgba(248,250,252,.86);
  border:1px solid rgba(148,163,184,.18);
  border-radius:5px;
}
.core-service-points span::before{
  content:'';
  position:absolute;
  left:10px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--service-line);
  transform:translateY(-50%);
}
.core-service-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  min-height:34px;
  margin-top:18px;
  padding-top:0;
  color:var(--service-line);
  font-size:14px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.core-service-cta b{
  font-size:20px;
  line-height:1;
  transition:transform var(--dur-fast) var(--easing-out);
}
.core-service-card:hover .core-service-cta b{
  transform:translateX(3px);
}
.core-smart-strip{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px 18px;
  width:min(980px, 100%);
  margin:clamp(22px, 2.8vw, 34px) auto 0;
  padding:18px 0 0;
  color:#1E293B;
  text-decoration:none;
  background:transparent;
  border:0;
  border-top:1px solid rgba(25,58,140,.16);
  border-radius:0;
  box-shadow:none;
}
.core-smart-strip::before{
  content:'AI';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  color:#fff;
  font-size:12px;
  font-weight:950;
  line-height:1;
  letter-spacing:.03em;
  background:linear-gradient(135deg, var(--color-primary), #2F5BC4 58%, var(--color-accent));
  border-radius:50%;
  box-shadow:0 12px 26px rgba(25,58,140,.18);
}
.core-smart-strip span{
  color:#0F172A;
  font-size:14px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.core-smart-strip strong{
  min-width:0;
  color:#475569;
  font-size:14px;
  font-weight:800;
  line-height:1.4;
  white-space:normal;
}
.core-smart-strip em{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--color-primary);
  font-size:13px;
  font-style:normal;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
  border-bottom:1px solid color-mix(in srgb, var(--color-primary) 36%, transparent);
  transition:color var(--dur-fast) var(--easing-out), border-color var(--dur-fast) var(--easing-out);
}
.core-smart-strip em b{
  font-size:18px;
  line-height:1;
  transition:transform var(--dur-fast) var(--easing-out);
}
.core-smart-strip:hover em{
  color:var(--color-accent);
  border-color:color-mix(in srgb, var(--color-accent) 44%, transparent);
}
.core-smart-strip:hover em b{
  transform:translateX(3px);
}

/* Sakura Animation */
.sakura-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 5;
  overflow: hidden;
}

.sakura {
  position: absolute;
  background: #ffd7e6;
  border-radius: 100% 0 100% 0;
  opacity: 0.7;
  animation: fall linear infinite;
}

@keyframes fall {
  0% { transform: translate(0, -10px) rotate(0deg); opacity: 0.7; }
  100% { transform: translate(100px, 500px) rotate(360deg); opacity: 0; }
}

.hero-track{position:relative;height:100%;overflow:hidden}
.hero-slide {position:absolute;inset:0;background-size:cover;background-position:center}

.hero-slide::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 40%);
}

.home-hero .hero-slide::after{
  background:
    linear-gradient(180deg, rgba(7,15,33,.10) 0%, transparent 42%, rgba(7,15,33,.22) 100%),
    linear-gradient(90deg, rgba(7,15,33,.14) 0%, transparent 44%, rgba(7,15,33,.14) 100%);
}

.hero-slide.no-img {
  background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);
}

.hero-slide.no-img::after {
  display: none;
}

@keyframes slideInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes slideOutLeft{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.slide-in-right{animation:slideInRight .9s ease both}
.slide-out-left{animation:slideOutLeft .9s ease both}
@keyframes slideInLeft{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes slideOutRight{from{transform:translateX(0)}to{transform:translateX(100%)}}
.slide-in-left{animation:slideInLeft .9s ease both}
.slide-out-right{animation:slideOutRight .9s ease both}
.hero-controls{position:absolute;inset:0;z-index:6}
.hero-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  background:transparent !important;border:none !important;box-shadow:none;color:rgba(255,255,255,.85);
  font-size:32px;line-height:1;padding:0 6px;width:auto;height:auto;outline:none;
  text-shadow:0 0 8px rgba(0,0,0,.25)
}
.hero-btn:hover{color:#fff}
#hero-prev{left:12px}
#hero-next{right:12px}
@keyframes fadeLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.fade-in-left{animation:fadeLeft .8s ease both}
.fade-in-right{animation:fadeRight .8s ease both}
.hero-caption{display:none}

.hero-caption span {
  color: var(--color-text-main);
  font-size: 24px;
  font-weight: 700;
  display: block;
}

.hero-caption a {
  text-decoration: none;
}

.sections-wrap {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  background: #fff url('../../大本钟改.png') no-repeat center 10%;
  background-size: cover;
  border-radius: 12px;
  padding: clamp(14px, 2.6vw, 24px) 0 clamp(18px, 3vw, 32px);
  margin-top: 0;
  margin-bottom: 0;
}
.sections-wrap::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(17,24,39,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(17,24,39,.06) 1px, transparent 1px);
  background-size: 88px 88px;
  opacity: .55;
  pointer-events:none;
  border-radius:12px;
  z-index:0;
}
.sections-wrap::after{
  content:'';
  position:absolute;
  inset:0;
  background: rgba(255,255,255,.75);
  pointer-events:none;
  border-radius:12px;
  z-index:1;
}
.sections-wrap > .section { position: relative; z-index: 2; }
.sections-wrap > .section + .section{
  border-top: 1px solid rgba(17,24,39,.10);
}
/* Override site default borders inside unified wrap */
.sections-wrap .section{ background: transparent; border: 0; border-radius: 0; margin: 0; }
.sections-wrap .section .section-body{ border-top: 0; }
.sections-wrap .section .section-header{ background: transparent; }

/* Entry Sections (Detailed Search) */
.entry-section {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  background: transparent;
  border-radius: 0;
  padding: 24px 0 24px;
  border-top: 0;
  margin-bottom: 0;
  position: relative;
}
.entry-section::before, .video-section::before, .poster-section::before {
  content: none;
  background: none;
}
.entry-section .container, .video-section .section-body, .poster-section .section-body {
  position: relative;
  z-index: 1;
}
.entry-section .section-header,
.video-section .section-header,
.poster-section .section-header,
.dark-section .section-header,
.white-section .section-header,
.light-section .section-header {
  position: relative;
  z-index: 1;
}

.entry-section .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}
.entry-section .section-body{ padding: 8px 16px 16px; margin-top: 24px; }

.entry-section .section-header,
.video-section .section-header,
.poster-section .section-header,
.dark-section .section-header,
.white-section .section-header,
.light-section .section-header {
  text-align: left;
  margin-bottom: 0;
  cursor: default;
  padding: 24px 24px 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.section-header .entry-title-large{cursor: default}

.entry-title-large { display: inline-block; }

/* Dual Title */
.dual-title { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 6px; }
/* Animations */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

.reveal-on-scroll{
  opacity: 0;
  transform: translate3d(var(--reveal-x, 0), var(--reveal-y, 18px), 0) rotate(var(--reveal-rot, 0deg)) scale(var(--reveal-scale, 1));
  filter: blur(var(--reveal-blur, 0));
  will-change: opacity, transform, filter;
  transition:
    opacity var(--reveal-dur, 900ms) var(--reveal-ease, var(--easing-out)) var(--reveal-delay, 0ms),
    transform var(--reveal-dur, 900ms) var(--reveal-ease, var(--easing-out)) var(--reveal-delay, 0ms),
    filter var(--reveal-dur, 900ms) var(--reveal-ease, var(--easing-out)) var(--reveal-delay, 0ms);
}
.reveal-on-scroll.revealed{
  opacity: 1;
  transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
  filter: blur(0);
}
.reveal-slide-left{--reveal-x:-28px;--reveal-y:0;--reveal-blur:0}
.reveal-slide-right{--reveal-x:28px;--reveal-y:0;--reveal-blur:0}
.reveal-zoom{--reveal-y:14px;--reveal-scale:.965;--reveal-blur:10px}
.reveal-fade{--reveal-y:0;--reveal-blur:0}
.reveal-rise{--reveal-y:26px;--reveal-blur:0;--reveal-dur:780ms}
.reveal-pop{--reveal-y:10px;--reveal-scale:.94;--reveal-blur:0;--reveal-dur:640ms;--reveal-ease:cubic-bezier(.2,.9,.2,1)}
.reveal-tilt-left{--reveal-x:-18px;--reveal-y:16px;--reveal-rot:-1.6deg;--reveal-blur:0;--reveal-dur:760ms}
.reveal-tilt-right{--reveal-x:18px;--reveal-y:16px;--reveal-rot:1.6deg;--reveal-blur:0;--reveal-dur:760ms}
.reveal-blur{--reveal-blur:10px}
.reveal-soft{--reveal-dur: 1100ms}

.reveal-wipe{position:relative;overflow:hidden}
.reveal-wipe::after{
  content:'';
  position:absolute;
  inset:-2px;
  background: var(--wipe-bg, rgba(255,255,255,.92));
  transform: translate3d(0,0,0);
  transition: transform var(--reveal-dur, 900ms) var(--reveal-ease, var(--easing-out)) var(--reveal-delay, 0ms);
  pointer-events:none;
}
.reveal-wipe.revealed::after{transform: translate3d(102%,0,0)}

.reveal-line{position:relative}
.reveal-line::before{
  content:'';
  position:absolute;
  left:24px;
  right:24px;
  bottom:-10px;
  height:1px;
  background: linear-gradient(90deg, rgba(17,24,39,.18), rgba(17,24,39,.06), rgba(17,24,39,0));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--reveal-dur, 900ms) var(--reveal-ease, var(--easing-out)) var(--reveal-delay, 0ms);
  pointer-events:none;
}
.reveal-line.revealed::before{transform: scaleX(1)}
.dark-section .reveal-line::before{
  background: linear-gradient(90deg, rgba(255,255,255,.25), rgba(255,255,255,.10), rgba(255,255,255,0));
}

.reveal-stagger .stagger-item{
  opacity:0;
  transform: translate3d(0, 10px, 0);
  transition:
    opacity 620ms var(--reveal-ease, var(--easing-out)),
    transform 620ms var(--reveal-ease, var(--easing-out));
}
.revealed.reveal-stagger .stagger-item{
  opacity:1;
  transform: translate3d(0,0,0);
}
.revealed.reveal-stagger .stagger-item:nth-child(1){transition-delay: calc(var(--reveal-delay, 0ms) + 60ms)}
.revealed.reveal-stagger .stagger-item:nth-child(2){transition-delay: calc(var(--reveal-delay, 0ms) + 120ms)}
.revealed.reveal-stagger .stagger-item:nth-child(3){transition-delay: calc(var(--reveal-delay, 0ms) + 180ms)}
.revealed.reveal-stagger .stagger-item:nth-child(4){transition-delay: calc(var(--reveal-delay, 0ms) + 240ms)}
.revealed.reveal-stagger .stagger-item:nth-child(5){transition-delay: calc(var(--reveal-delay, 0ms) + 300ms)}
.revealed.reveal-stagger .stagger-item:nth-child(6){transition-delay: calc(var(--reveal-delay, 0ms) + 360ms)}
@media (prefers-reduced-motion: reduce){
  .reveal-on-scroll{
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
  .reveal-wipe::after,
  .reveal-line::before{display:none !important}
  .reveal-stagger .stagger-item{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

.section-tagline { 
  text-align: right; 
  margin-right: 24px; 
  animation: float 6s ease-in-out infinite;
}
.section-tagline .tag-jp { 
  color: var(--color-accent); 
  font-family: var(--font-serif);
  font-size: 28px; 
  font-weight: 800; 
  letter-spacing: .3px; 
  margin-right: 24px; 
}
.section-tagline .tag-cn { 
  color: var(--color-primary); 
  font-family: var(--font-serif);
  font-size: 18px; 
  font-weight: 800; 
  margin-top: 8px; 
}

/* Dual Title */
.dual-title { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.dual-title, .dual-title .title-en, .dual-title .title-cn { transition: none; }
.entry-section, .video-section, .poster-section { transition: none; }
.entry-section:hover, .video-section:hover, .poster-section:hover { background: transparent; }
.entry-section:focus, .video-section:focus, .poster-section:focus,
.entry-section:active, .video-section:active, .poster-section:active { background: transparent; }
.entry-section .section-header,
.video-section .section-header,
.poster-section .section-header,
.dark-section .section-header,
.white-section .section-header,
.light-section .section-header{ background: transparent; }
.entry-section .section-header:hover,
.video-section .section-header:hover,
.poster-section .section-header:hover,
.dark-section .section-header:hover,
.white-section .section-header:hover,
.light-section .section-header:hover{ background: transparent; }

.dual-title .title-en { 
  color: var(--color-accent); 
  font-family: var(--font-serif);
  font-size: 36px; 
  font-weight: 800; 
  letter-spacing: .9px; 
}
.dual-title .title-cn { 
  color: var(--color-primary); 
  font-family: var(--font-serif);
  font-size: 30px; 
  font-weight: 800; 
  letter-spacing: .2px; 
  margin-left: 112px; 
}

.video-section {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  background: transparent;
  border-radius: 0;
  padding: 24px 0 24px;
  border-top: 0;
  margin-bottom: 0;
}
.video-section .section-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 16px 16px;
  margin-top: 24px;
}
.video-section .section-header { margin-bottom: 24px; }
.video-section .section-header { margin-bottom: 32px; }
.video-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.video-grid { gap: 16px; }
.video-card { position: relative; border: none; border-radius: var(--radius-lg); overflow: hidden; background: #000; box-shadow: none; background-size: cover; background-position: center; }
.video-card{cursor:pointer;transition:transform .15s ease, box-shadow .15s ease}
.video-card:hover{transform:translateY(-2px);box-shadow: var(--shadow-lg)}
.video-card .thumb { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.35)); display: flex; align-items: center; justify-content: center; }
.video-card .title { position: absolute; left: 12px; bottom: 12px; color: #fff; font-weight: 600; font-size: 14px; text-shadow: 0 1px 2px rgba(0,0,0,.4); }
.video-card .play { width: 56px; height: 56px; border-radius: 9999px; background: rgba(255,255,255,.8); display: flex; align-items: center; justify-content: center; color: #111; box-shadow: var(--shadow-lg); }
.video-card:hover .play { background: #fff; }
.video-card .placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #9CA3AF; background: #111; }
.video-card .placeholder span { background: rgba(255,255,255,.06); color: #e5e7eb; padding: 6px 10px; border-radius: 8px; font-size: 12px; }
.video-card .aspect { width: 100%; aspect-ratio: 16 / 9; display: block; }
.video-card .duration { position: absolute; right: 12px; bottom: 12px; background: rgba(0,0,0,.55); color: #fff; font-size: 12px; padding: 2px 6px; border-radius: 6px; }
.section-footer { display: flex; justify-content: flex-end; margin-top: 0; }
.poster-section {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  background: transparent;
  border-radius: 0;
  padding: 24px 0 0;
  border-top: 0;
  margin-bottom: 0;
}
.dark-section, .white-section, .light-section {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  border: 0;
  border-radius: 0;
  padding: 24px 0 24px;
  margin-top: 0;
  margin-bottom: 0;
}
.dark-section { margin-top: calc(var(--header-height) + 96px); }
.dark-section { background: #F3F4F6; color: var(--color-text-main); }
.white-section { background: #ffffff; color: var(--color-text-main); }
.light-section { background: #2D2D2D; color: #fff; }
.dark-section .dual-title .title-cn { color: var(--color-primary); }
.light-section .dual-title .title-cn { color: #ffffff; }
.dark-section .section-body,
.white-section .section-body,
.light-section .section-body{
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 16px 16px;
  margin-top: 0;
  border-top: 0;
}
.dark-section .section-header,
.white-section .section-header,
.light-section .section-header{ padding: 24px 24px 0; margin-bottom: 0; }
.dark-section .section-content,
.white-section .section-content,
.light-section .section-content{ min-height: 160px; }

/* 极简画廊卡片 */
.gallery-showcase {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding-top: 10px;
}
.gallery-card {
  position: relative;
  aspect-ratio: 3/4;
  cursor: pointer;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(17,24,39,.08);
  box-shadow: 0 10px 30px -10px rgba(0,0,0,0.08);
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.4s ease;
  group: gallery-card;
}
.gallery-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px -12px rgba(0,0,0,0.15);
  border-color: rgba(240,139,58,.3);
  z-index: 2;
}
.gallery-card-inner {
  width: 100%;
  height: 100%;
  position: relative;
}
.gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
  opacity: 1;
}
/* 长图特殊处理：默认显示顶部 */
.gallery-card img.img-top {
  object-position: top center;
}
.gallery-card:hover img {
  transform: scale(1.05);
}
.gallery-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(17,24,39,0.85) 0%, rgba(17,24,39,0.3) 40%, rgba(0,0,0,0) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  opacity: 1;
  transition: opacity 0.3s ease;
}
.gallery-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gallery-icon svg { width: 24px; height: 24px; }
.gallery-card:hover .gallery-icon {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.gallery-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6px;
  transform: translateY(0);
  transition: transform 0.3s ease;
}
.gallery-sub {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.7);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transform: translateY(0);
  transition: transform 0.3s ease 0.05s;
}
.gallery-card:hover .gallery-title,
.gallery-card:hover .gallery-sub {
  transform: translateY(-4px);
}

/* Lightbox */
.lightbox-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(255,255,255,0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75vh 0.5vw;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(12px);
}
.lightbox-modal.active {
  opacity: 1;
  pointer-events: auto;
}
.lightbox-content {
  position: relative;
  width: min(50vw, 600px);
  max-width: none;
  max-height: 99vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lightbox-body {
  position: relative;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  max-height: calc(100vh - 80px);
  border-radius: 12px;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.05);
  scrollbar-width: none;
  background: #fff;
}
.lightbox-body::-webkit-scrollbar { display: none; }
.lightbox-body img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.lightbox-close {
  position: fixed;
  top: 20px;
  right: 20px;
  background: rgba(255,255,255,0.9);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0,0,0,0.05);
  color: #4b5563;
  font-size: 28px;
  cursor: pointer;
  transition: all 0.2s;
  line-height: 1;
  z-index: 10000;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.lightbox-close:hover { 
  color: #c73e4a; 
  background: #fff;
  transform: scale(1.05);
}
.lightbox-caption {
  margin-top: 16px;
  margin-bottom: 16px;
  color: #111827;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  text-shadow: 0 1px 2px rgba(255,255,255,0.8);
}

@media (max-width: 768px) {
  .gallery-showcase {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    padding: 0;
  }
  .gallery-showcase::-webkit-scrollbar { display: none; }
  .registration-action {
    text-align: center !important;
    padding-right: 0 !important;
  }
  .registration-action .btn-more:hover {
    background: rgba(37,99,235,.05) !important;
    border-color: rgba(37,99,235,.4) !important;
    color: #1D4ED8 !important;
  }
  .gallery-card { aspect-ratio: 3/4; scroll-snap-align: none; }
  .gallery-card img.img-top { object-position: top center; }
  .gallery-title { font-size: 13px; }
  .gallery-sub { font-size: 11px; }
  .gallery-icon { opacity: 1; background: rgba(0,0,0,0.3); }
  .lightbox-modal { padding: 0; }
  .lightbox-content { width: 92vw; max-height: 100vh; }
  .lightbox-body { max-height: calc(100vh - 60px); border-radius: 8px; }
  .lightbox-caption { margin-top: 10px; font-size: 14px; }
  .lightbox-close { top: 12px; right: 12px; font-size: 24px; width: 36px; height: 36px; }
}

.home-news{min-height:auto}
.home-news-grid{display:grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
.home-news-left{display:flex;flex-direction:column;gap:12px;padding-top:10px}
.home-news-right{display:block}
.home-news-hero{
  display:block;position:relative;width:100%;height:100%;min-height:360px;
  border-radius:16px;overflow:hidden;text-decoration:none;
  box-shadow:var(--shadow-lg);transition:transform .2s ease, box-shadow .2s ease;
}
.home-news-hero:hover{transform:translateY(-2px);box-shadow:0 20px 40px -4px rgba(0,0,0,.12)}
.home-news-hero img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.home-news-hero:hover img{transform:scale(1.03)}
.home-news-hero-overlay{
  position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.4) 40%, rgba(0,0,0,0) 100%);
  display:flex;flex-direction:column;justify-content:flex-end;padding:18px 18px 14px;
}
.home-news-hero-tag{
  align-self:flex-start;background:var(--color-accent);color:#fff;font-size:12px;font-weight:700;
  padding:4px 10px;border-radius:6px;margin-bottom:8px;text-transform:uppercase;
}
.home-news-hero-title{
  color:#fff;font-size:16px;font-weight:800;line-height:1.35;margin-bottom:6px;text-shadow:0 2px 4px rgba(0,0,0,.3);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.home-news-hero-date{color:rgba(255,255,255,.8);font-size:12px;font-weight:500}

.home-news-list{
  display:flex;
  flex-direction:column;
  gap:0;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(229,231,235,.75);
  border-radius: 16px;
  padding: 14px 16px 10px;
  box-shadow: 0 18px 38px -26px rgba(15,23,42,.35);
  min-height: 320px;
}
.home-news-item{
  display:flex;flex-direction:column;gap:6px;padding:12px 0;
  text-decoration:none;border-bottom:1px solid rgba(229,231,235,.6);
  transition:background .15s ease
}
.home-news-item:first-child{padding-top:0}
.home-news-item:last-child{padding-bottom:6px}
.home-news-item:last-child{border-bottom:0}
.home-news-item:hover .home-news-title{color:var(--color-action)}
.home-news-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-text-muted)}
.home-news-meta .tag{background:rgba(243,244,246,.8);padding:2px 8px;border-radius:4px;font-size:11px}
.home-news-title{font-size:14px;font-weight:700;color:var(--color-text-main);line-height:1.4;transition:color .15s ease}


.home-news-marquee, .home-news-marquee-track, .home-news-slide, .home-news-slide-caption { display: none }

@media (max-width: 900px) {
  .home-news-grid{grid-template-columns:1fr;gap:20px}
  .home-news-left{order:2}
  .home-news-right{order:1;height:280px}
  .home-news-hero{min-height:280px}
  .home-news-list{min-height:240px}
}
@media (max-width: 640px) {
  .home-news-right{height:220px}
  .home-news-hero{min-height:220px}
  .home-news-hero-title{font-size:15px;-webkit-line-clamp:2}
  .home-news-title{font-size:13px}
  .home-news-list{min-height:190px}
}
.poster-section .section-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 16px 16px;
  margin-top: 24px;
}
.poster-grid { column-count: 4; column-gap: 16px; }
.poster-card { break-inside: avoid; position: relative; border: none; border-radius: var(--radius-lg); overflow: hidden; background: #fff; box-shadow: none; margin-bottom: 24px; }
.poster-card{cursor:pointer;transition:transform .15s ease, box-shadow .15s ease}
.poster-card:hover{transform:translateY(-2px);box-shadow: var(--shadow-lg)}
.poster-card .aspect { display: none; }
.poster-card.reveal-wipe::after,
.poster-card.reveal-wipe.revealed::after,
.poster-card.reveal-wipe:hover::after { content: none; display: none; }
.poster-card.reveal-on-scroll.revealed:hover {
  opacity: 1;
  transform: translate3d(0,-2px,0) rotate(0deg) scale(1);
  filter: blur(0);
}
.poster-card img { width: 100%; height: auto; display: block; opacity: 1; visibility: visible; }
.poster-card .title { position: absolute; left: 12px; bottom: 12px; color: #fff; font-weight: 600; font-size: 14px; text-shadow: 0 1px 2px rgba(0,0,0,.5); }
.poster-modal { position: fixed; inset: 0; background: rgba(0,0,0,.6); display: none; align-items: center; justify-content: center; z-index: 200; }
.poster-modal.open { display: flex; }
.poster-dialog { width: min(900px, 92vw); background: #000; border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-lg); position: relative; }
.poster-dialog { max-width: 92vw; max-height: 92vh; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.poster-dialog img { width: 100%; height: auto; max-height: 92vh; display: block; object-fit: contain; }
.poster-close { position: absolute; top: 8px; right: 8px; background: rgba(255,255,255,.8); border: none; border-radius: 9999px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.poster-close:hover { background: #fff; }

.video-modal { position: fixed; inset: 0; background: rgba(0,0,0,.6); display: none; align-items: center; justify-content: center; z-index: 200; }
.video-modal.open { display: flex; }
.video-dialog { width: min(900px, 92vw); background: #000; border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-lg); position: relative; }
.video-dialog video { width: 100%; height: auto; max-height: 80vh; display: block; }
.video-close { position: absolute; top: 8px; right: 8px; background: rgba(255,255,255,.8); border: none; border-radius: 9999px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; }
.video-close:hover { background: #fff; }

@media (max-width: 900px) {
  .video-grid { grid-template-columns: repeat(2, 1fr); }
  .poster-grid { column-count: 2; }
  .dual-title .title-cn { margin-left: 80px; }
}
@media (max-width: 640px) {
  body.home *,
  body.home *::before,
  body.home *::after{
    box-sizing:border-box;
  }
  body.home .container,
  body.home main.container,
  body.home .important-banner .container{
    max-width:100%;
    box-sizing:border-box;
  }
  body.home main.container{
    overflow-x:clip;
  }
  body.home .intro-bg{
    inset:-18% 0;
  }
  body.home .important-item{
    min-width:0;
    padding-right:0;
  }
  body.home .banner-close{
    flex:0 0 32px;
    width:32px;
    min-height:32px;
  }
  .video-grid { grid-template-columns: repeat(2, 1fr); }
  .poster-grid { column-count: 2; }
  .dual-title .title-cn { margin-left: 0; }
  .section-tagline { margin-right: 12px; animation: none; /* Disable float on mobile to save battery */ }
  .section-tagline .tag-jp { font-size: 20px; margin-right: 12px; }
  .section-tagline .tag-cn { font-size: 14px; margin-top: 4px; }

  body.home .video-grid{gap:10px}
  body.home .video-card .play{width:40px;height:40px}
  body.home .video-card .title{
    left:8px;
    right:48px;
    bottom:8px;
    font-size:11px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    background: transparent;
    padding: 0;
    border-radius: 0;
  }
  body.home .video-card .duration{right:8px;bottom:8px;font-size:10px;padding:2px 6px}

  body.home .poster-grid{column-gap:10px}
  body.home .poster-card{margin-bottom:10px;border-radius:12px;aspect-ratio:1/1}
  body.home .poster-card img{width:100%;height:100%;object-fit:cover}
  body.home .poster-card .title{
    left:8px;
    right:8px;
    bottom:8px;
    font-size:11px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    background: transparent;
    padding: 0;
    border-radius: 0;
  }
}

@media (prefers-reduced-motion: reduce){
  * { animation: none !important; transition: none !important }
  .sakura-container, .sakura { display: none !important }
}

.entry-sections {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  align-items: stretch;
}

.entry-panel {
  background: #fff;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: var(--radius-lg);
  padding: 24px;
  transition: all 0.2s ease;
  position: relative;
  height: auto;
  min-height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.entry-panel:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

@media (max-width: 640px){
}

.entry-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: none;
}
.title-group { display: flex; align-items: center; gap: 10px; }

.entry-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F3F4F6;
  color: var(--color-text-muted);
}

.theme-scholar .entry-icon { background: #ECFDF5; color: #059669; }
.theme-support .entry-icon { background: #EFF6FF; color: #2563EB; }
.theme-life .entry-icon { background: #FFF7ED; color: #EA580C; }
.theme-brand .entry-icon { background: #F5F3FF; color: #7C3AED; }
.theme-scholar .entry-title { color: #059669; }
.theme-support .entry-title { color: #2563EB; }
.theme-life .entry-title { color: #EA580C; }
.theme-brand .entry-title { color: #7C3AED; }
/* Card background optimization by theme */
.entry-panel.theme-scholar { background: #fff; }
.entry-panel.theme-support { background: #fff; }
.entry-panel.theme-life { background: #fff; }
.entry-panel.theme-brand { background: #fff; }

/* Geometric patterns by theme (subtle, random-like positions) */
.entry-panel { position: relative; overflow: hidden; }
.entry-panel::before { content: none }
/* slight variation by card index to enhance randomness */
.entry-panel:nth-child(2)::before{ transform: translateY(-2px) }
.entry-panel:nth-child(3)::before{ transform: translateX(2px) }
.entry-panel:nth-child(4)::before{ transform: translate(-2px,1px) }

.entry-title {
  font-size: 20px;
  font-weight: 800;
  color: var(--color-accent);
  line-height: 1.25;
}

.entry-summary{
  color:#64748B;
  font-size:13px;
  font-weight:600;
  line-height:1.55;
  margin:-4px 0 14px;
}

.entry-list {
  flex: 1;
  margin: 0 0 20px 0;
  padding: 0;
  list-style: none;
}

.entry-list li {
  padding: 8px 0;
  border-bottom: 1px solid #F3F4F6;
}

.entry-list li:last-child {
  border-bottom: none;
}

.entry-list a {
  text-decoration: none;
  color: var(--color-text-muted);
  font-size: 14px;
  transition: color 0.2s;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.entry-list a span:first-child { color: var(--color-text_main); }
.entry-list a:hover span:first-child { color: var(--color_action); }
/* Body text follows theme color */
.theme-scholar .entry-list a span:first-child { color: #059669; }
.theme-support .entry-list a span:first-child { color: #2563EB; }
.theme-life .entry-list a span:first-child { color: #EA580C; }
.theme-brand .entry-list a span:first-child { color: #7C3AED; }
.theme-scholar .entry-list a:hover span:first-child { color: #037657; }
.theme-support .entry-list a:hover span:first-child { color: #1D4ED8; }
.theme-life .entry-list a:hover span:first-child { color: #C2410C; }
.theme-brand .entry-list a:hover span:first-child { color: #6D28D9; }
.theme-scholar .entry-list .arrow { color: #059669; }
.theme-support .entry-list .arrow { color: #2563EB; }
.theme-life .entry-list .arrow { color: #EA580C; }
.theme-brand .entry-list .arrow { color: #7C3AED; }

.entry-list a:hover {
  color: var(--color-action);
}

.entry-list .arrow {
  opacity: 0;
  transform: translateX(-4px);
  transition: all 0.2s;
}

.entry-list a:hover .arrow {
  opacity: 1;
  transform: translateX(0);
}

.btn-more {
  align-self: flex-end;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-action);
  padding: 6px 16px;
  background: transparent;
  border: 1px solid var(--color-action);
  border-radius: var(--radius-full);
  text-decoration: none;
  transition: all 0.2s;
}

.btn-more:hover {
  background: var(--color-action);
  color: #fff;
}
/* Theme-following for '更多' */
.theme-scholar .btn-more{ color:#059669; border-color:#059669; }
.theme-scholar .btn-more:hover{ background:#059669; color:#fff; }
.theme-support .btn-more{ color:#2563EB; border-color:#2563EB; }
.theme-support .btn-more:hover{ background:#2563EB; color:#fff; }
.theme-life .btn-more{ color:#EA580C; border-color:#EA580C; }
.theme-life .btn-more:hover{ background:#EA580C; color:#fff; }
.theme-brand .btn-more{ color:#7C3AED; border-color:#7C3AED; }
.theme-brand .btn-more:hover{ background:#7C3AED; color:#fff; }

/* Important Banner */
.important-banner {
  --notice-x: clamp(14px, 3vw, 44px);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(243,244,246,.98));
  border-top: 1px solid rgba(229,231,235,.68);
  border-bottom: 1px solid rgba(229,231,235,.78);
  box-sizing:border-box;
  padding: 0 var(--notice-x);
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: none;
}

.important-banner .container {
  width:100%;
  max-width: none;
  padding: 0;
  margin:0;
}
.important-panel{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 32px;
  align-items:center;
  gap:12px;
  min-height:44px;
  padding:0;
  border:0;
  border-left:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.important-panel-empty{
  border-left-color:rgba(107,114,128,.45);
}
.important-items{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  align-items:center;
  min-width:0;
  gap:0;
}
.important-item{
  display:flex;
  align-items:center;
  min-width:0;
  gap:8px;
  line-height:1.35;
  cursor:pointer;
}
.important-item:first-child{
  padding-right:24px;
}
.important-item:not(:first-child){
  opacity:.88;
  padding-left:24px;
}
.important-item + .important-item{
  margin-left:0;
  border-left:1px solid rgba(209,213,219,.78);
}
.important-title{
  flex:0 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#374151;
  font-size:13.5px;
  font-weight:650;
  letter-spacing:0;
}
.important-item:hover .important-title{
  color:var(--color-primary);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.important-item .badge-date{
  flex:0 0 auto;
  min-width:max-content;
  color:#9CA3AF;
  font-size:11px;
  font-weight:600;
  margin-left:2px;
}
.important-item:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(37,99,235,.16);
  border-radius:6px;
}
.badge-important,.badge-info{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:42px;
  height:20px;
  padding:0 8px;
  border-radius:4px;
  font-size:11px;
  font-weight:800;
  line-height:1;
}
.banner-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  background:transparent;
  border:none;
  border-radius:4px;
  color:#9CA3AF;
  font-size:17px;
  line-height:1;
  padding:0;
  cursor:pointer;
}
.banner-close:hover{
  color:#374151;
  background:rgba(229,231,235,.68);
}
.badge-info{
  background:rgba(37,99,235,.10);
  color:var(--color-action);
}

.badge-important {
  background:rgba(211,47,47,.10);
  color:var(--color-accent);
}

/* Responsive */
@media (max-width: 900px) {
  .hero{
    height:clamp(460px, 68vw, 560px);
  }
  .home-hero-content{
    bottom:86px;
  }
  .home-hero-content h1{
    font-size:clamp(38px, 7vw, 58px);
  }
  .core-services{
    padding:28px 18px 48px;
  }
  .core-services-head{
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:24px;
  }
  .core-services-kicker,
  .core-services-head h2,
  .core-services-head p{
    grid-column:auto;
    grid-row:auto;
  }
  .core-services-head p{
    max-width:760px;
  }
  .business-map{
    grid-template-columns:minmax(0, 1fr) minmax(220px, 300px) minmax(0, 1fr);
    grid-template-rows:auto auto;
    gap:18px;
    min-height:0;
    padding:28px 18px;
  }
  .business-center{
    width:250px;
    padding:28px;
  }
  .business-center-mark{
    width:142px;
    height:142px;
  }
  .business-node{
    grid-template-columns:128px minmax(0, 1fr);
    gap:14px;
  }
  .business-node-highschool{
    width:min(100%, 600px);
    grid-template-columns:128px minmax(0, 1fr);
  }
  .business-node-media{
    width:128px;
  }
  .business-node-title{
    font-size:25px;
  }
  .business-node-copy{
    font-size:13px;
    line-height:1.62;
  }
  .business-node-tags{
    gap:6px;
    margin-top:12px;
  }
  .business-node-tags span{
    min-height:23px;
    font-size:11.5px;
  }
  .core-service-grid{
    grid-template-columns:1fr;
  }
  .core-service-card{
    grid-template-columns:60px minmax(170px, 240px) minmax(0, 1fr);
    gap:18px;
    min-height:0;
  }
  .entry-sections {
    grid-template-columns: repeat(2, 1fr);
  }
  .important-banner{
    --notice-x:12px;
    padding:0;
  }
  .important-banner .container{
    max-width:none;
  }
  body.home .important-banner .container{
    max-width:none;
  }
  .important-panel{
    align-items:flex-start;
    padding:8px 0;
    grid-template-columns:minmax(0, 1fr) 30px;
  }
  .important-items{
    flex-direction:column;
    display:flex;
    align-items:stretch;
    gap:7px;
  }
  .important-item:first-child,
  .important-item:not(:first-child){
    padding-left:0;
    padding-right:0;
  }
  .important-item + .important-item{
    margin-left:0;
    padding-left:0;
    border-left:0;
  }
  .important-title{
    font-size:12.5px;
  }
}

@media (max-width: 640px) {
  .hero{
    height:500px;
  }
  .home-hero-shade{
    background:
      linear-gradient(180deg, rgba(8,19,46,.50) 0%, rgba(8,19,46,.30) 38%, rgba(8,19,46,.78) 100%),
      linear-gradient(90deg, rgba(8,19,46,.34), rgba(8,19,46,.10));
  }
  .home-hero-content{
    left:18px;
    right:18px;
    bottom:78px;
    width:auto;
  }
  .home-hero-kicker{
    font-size:11px;
  }
  .home-hero-kicker::before{
    width:22px;
  }
  .home-hero-content h1{
    margin:14px 0 12px;
    font-size:34px;
    line-height:1.12;
  }
  .home-hero-content p{
    font-size:14px;
    line-height:1.7;
  }
  .home-hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:18px;
  }
  .home-hero-primary,
  .home-hero-secondary{
    min-height:42px;
    padding:0 10px;
    font-size:13px;
    white-space:nowrap;
  }
  .hero-scroll-core{
    bottom:18px;
    font-size:10px;
  }
  .hero-scroll-core i{
    height:28px;
  }
  .core-services{
    padding:22px 12px 42px;
  }
  .core-services-head{
    gap:10px;
    margin-bottom:20px;
  }
  .core-services-kicker{
    font-size:11px;
  }
  .core-services-head h2{
    margin-top:8px;
    font-size:32px;
    line-height:1.12;
  }
  .core-services-head p{
    font-size:14px;
    line-height:1.72;
  }
  .business-map{
    display:flex;
    flex-direction:column;
    gap:18px;
    min-height:0;
    padding:12px 12px 18px;
  }
  .business-map::before{
    inset:0;
    width:auto;
    left:0;
    right:0;
    background:
      radial-gradient(circle at 50% 8%, rgba(25,58,140,.10), transparent 34%),
      radial-gradient(circle at 90% 42%, rgba(211,47,47,.07), transparent 30%);
    background-size:auto;
    mask-image:none;
    opacity:1;
  }
  .business-center{
    order:0;
    align-self:center;
    width:min(190px, 62vw);
    min-height:0;
    align-items:center;
    padding:22px;
    text-align:center;
    border-radius:50%;
  }
  .business-center::before{
    inset:-8px;
  }
  .business-center::after{
    inset:10px;
  }
  .business-center-mark{
    position:relative;
    left:auto;
    top:auto;
    width:104px;
    height:104px;
    padding:10px;
    border-radius:50%;
  }
  .business-node{
    grid-template-columns:86px minmax(0, 1fr);
    width:100%;
    padding:4px 0;
    gap:12px;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .business-node:hover{
    transform:none;
  }
  .business-node-media{
    width:86px;
    border-width:4px;
  }
  .business-node-body{
    padding:8px 0 8px 12px;
    border-left:2px solid color-mix(in srgb, var(--node-line) 38%, rgba(148,163,184,.28));
  }
  .business-node-index{
    font-size:10.5px;
  }
  .business-node-title{
    margin-top:7px;
    font-size:24px;
  }
  .business-node-copy{
    margin-top:7px;
    font-size:13px;
    line-height:1.55;
  }
  .business-node-tags{
    gap:5px;
    margin-top:10px;
  }
  .business-node-tags span{
    min-height:22px;
    padding:3px 6px;
    font-size:11px;
  }
  .business-node-cta{
    padding-top:12px;
    font-size:12.5px;
  }
  .core-smart-strip{
    justify-content:flex-start;
    gap:9px 12px;
    margin-top:22px;
    padding-top:16px;
  }
  .core-smart-strip::before{
    width:30px;
    height:30px;
    font-size:11px;
  }
  .core-smart-strip span{
    font-size:13px;
  }
  .core-smart-strip strong{
    flex-basis:100%;
    padding-left:42px;
    font-size:12.5px;
  }
  .core-smart-strip em{
    margin-left:42px;
    font-size:12.5px;
  }
  .core-service-grid{
    grid-template-columns:1fr;
  }
  .core-service-card{
    grid-template-columns:46px minmax(0, 1fr);
    grid-template-areas:
      "media media"
      "index body";
    gap:14px 12px;
    min-height:0;
    padding:22px 0;
  }
  .core-service-card:hover{
    padding-left:0;
  }
  .core-service-card::before{
    top:174px;
    bottom:22px;
  }
  .core-service-index{
    align-self:start;
    padding:4px 0 0 8px;
    font-size:28px;
  }
  .core-service-media{
    height:138px;
  }
  .core-service-body{
    padding:0;
  }
  .core-service-fit{
    font-size:11.5px;
  }
  .core-service-title{
    font-size:30px;
  }
  .core-service-copy{
    font-size:14px;
    line-height:1.62;
  }
  .core-service-points{
    gap:7px;
    margin-top:16px;
    padding-top:0;
  }
  .core-service-points span{
    min-height:25px;
    padding:3px 8px 3px 20px;
    font-size:12px;
  }
  .core-service-points span::before{
    left:9px;
  }
  .core-service-cta{
    padding-top:0;
    font-size:13px;
  }
  .entry-sections {
    grid-template-columns: repeat(2, 1fr);
  }
  .important-banner{
    --notice-x:10px;
    padding:0;
  }
  .important-banner .container{
    max-width:none;
  }
  body.home .important-banner .container{
    max-width:none;
  }
  .important-panel{
    min-height:0;
    grid-template-columns:minmax(0, 1fr) 28px;
    border-radius:0;
    gap:8px;
    padding:8px 0;
  }
  .important-item{
    gap:7px;
  }
  .badge-important,
  .badge-info{
    min-width:36px;
    height:19px;
    font-size:11px;
    border-radius:4px;
  }
  .important-title{
    font-size:12px;
  }
  .important-item .badge-date{
    display:none;
  }
  .banner-close{
    width:28px;
    height:28px;
    font-size:16px;
  }
  body.home .important-banner .banner-close{
    flex:0 0 28px;
    width:28px;
    height:28px;
  }

  .sections-wrap{padding:16px 0 20px;margin-top:0;border-radius:10px}

  .entry-section .section-body,
  .video-section .section-body,
  .poster-section .section-body{padding:6px 12px 12px;margin-top:14px}

  .entry-section .section-header,
  .video-section .section-header,
  .poster-section .section-header{padding:18px 12px 0;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:12px}
  .dark-section .section-header,
  .white-section .section-header,
  .light-section .section-header{padding:18px 12px 0;flex-direction:column;align-items:flex-start;gap:10px}

  .section-tagline{text-align:right;margin-right:12px}
  .dual-title{min-width:0}
  .dual-title .title-en{font-size:24px;letter-spacing:.6px}
  .dual-title .title-cn{font-size:20px;line-height:1.05}
  .section-tagline{flex:none}
  .section-tagline .tag-jp{font-size:16px;margin-right:0}
  .section-tagline .tag-cn{font-size:12px;margin-top:2px}

  .entry-panel{padding:14px;border-radius:14px}
  .entry-icon{width:32px;height:32px}
  .entry-title{font-size:16px}
  .entry-head{gap:10px;margin-bottom:10px;padding-bottom:10px}
  .entry-list{margin:0 0 12px 0}
  .entry-list li{padding:6px 0}
  .entry-list a{font-size:12px;gap:10px}
  .entry-list a span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .btn-more{display:inline-flex;align-items:center;justify-content:center;padding:6px 16px;font-size:13px;font-weight:600;color:var(--color-action);background:#fff;border:1px solid rgba(37,99,235,.25);border-radius:9999px;text-decoration:none;transition:all .2s;box-shadow:0 1px 2px rgba(0,0,0,.05)}
  .btn-more:hover{background:rgba(37,99,235,.05);border-color:rgba(37,99,235,.4);color:var(--color-action-hover)}

  .header-search{display:none}
  .nav-list { display: none; }
  .site-nav{position:static}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:#111;font-size:24px}
  .nav-toggle{padding:4px 8px;border-radius:8px;transition:background .2s,color .2s,box-shadow .2s;min-width:44px;min-height:44px;margin-left:auto}
  .nav-toggle:hover{background:rgba(0,0,0,.06)}
  .nav-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(37,99,235,.25)}
  header#site-header.menu-open .nav-toggle{background:rgba(37,99,235,.12);color:var(--color-action);box-shadow:0 2px 8px rgba(0,0,0,.08)}
  header.simple-header.menu-open .nav-toggle{background:rgba(37,99,235,.12);color:var(--color-action);box-shadow:0 2px 8px rgba(0,0,0,.08)}
  header#site-header.menu-open .nav-overlay{display:none}
  header#site-header.menu-open .nav-list{
    display:block;position:absolute;top:calc(100% + 2px);right:12px;left:auto;
    width:240px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:12px;
    box-shadow:0 18px 44px rgba(16,24,40,.16);padding:8px;z-index:130;transform-origin: top right;animation: dropdownIn .2s ease-out both
  }
  header#site-header.menu-open .nav-list .nav-link{padding:10px 12px}
  header#site-header.menu-open .nav-list .nav-item{padding:0;margin:0}
  body.intro-active header#site-header.menu-open .nav-list{
    background: rgba(11, 16, 32, 0.92);
    border-color: rgba(255,255,255,.14);
    box-shadow: 0 22px 66px rgba(0,0,0,.34);
    backdrop-filter: blur(14px);
  }
  body.intro-active header#site-header.menu-open .nav-list .nav-link{color: rgba(255,255,255,.90)}
  body.intro-active header#site-header.menu-open .nav-list .nav-link:hover{background: rgba(255,255,255,.10);color:#fff}
  body.intro-active header#site-header.menu-open .nav-list .nav-primary{
    color:#fff !important;
    background: rgba(211,47,47,.20);
    border-color: rgba(211,47,47,.82);
  }
  body.intro-active header#site-header.menu-open .nav-list .nav-primary:hover{
    color:#fff !important;
    background: rgba(211,47,47,.30);
    border-color: rgba(239,68,68,.88);
  }
  body.simple-shell .simple-header .header-links{display:none}
  body.simple-shell .simple-header .site-nav{display:block}
  header.simple-header .header-links{display:none}
  header.simple-header .site-nav{display:block}
  header.simple-header.menu-open .nav-overlay{display:none}
  header.simple-header.menu-open .nav-list{
    display:block;position:absolute;top:calc(100% + 2px);right:12px;left:auto;
    width:240px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:12px;
    box-shadow:0 18px 44px rgba(16,24,40,.16);padding:8px;z-index:130;transform-origin: top right;animation: dropdownIn .2s ease-out both
  }
  header.simple-header.menu-open .nav-list .nav-link{padding:10px 12px}
  body.intro-active header.simple-header.menu-open .nav-list{
    background: rgba(11, 16, 32, 0.92);
    border-color: rgba(255,255,255,.14);
    box-shadow: 0 22px 66px rgba(0,0,0,.34);
    backdrop-filter: blur(14px);
  }
  body.intro-active header.simple-header.menu-open .nav-list .nav-link{color: rgba(255,255,255,.90)}
  body.intro-active header.simple-header.menu-open .nav-list .nav-link:hover{background: rgba(255,255,255,.10);color:#fff}
}

/* Footer */
.site-footer-inner {
  background: #111827;
  color: #fff;
  padding: 40px 0;
  margin-top: 40px;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.site-footer-inner .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 32px;
  margin-bottom: 32px;
}
.footer-title {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 16px;
  color: #fff;
}
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-links li {
  margin-bottom: 8px;
}
.footer-links a {
  color: #9CA3AF;
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s;
}
.footer-links a:hover {
  color: #fff;
}
.footer-bottom {
  border-top: 1px solid #374151;
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #6B7280;
  font-size: 12px;
}
.footer-bottom a {
  color: inherit;
  text-decoration: none;
}
.footer-bottom a:hover {
  color: #fff;
}
@media (max-width: 768px) {
  .site-footer-inner {
    width: 100%;
    left: 0;
    transform: none;
    margin-top: 24px;
    padding: 28px 0;
  }
  .site-footer-inner .container {
    padding: 0 16px;
  }
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 20px;
  }
  .footer-col {
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(55, 65, 81, 0.5);
  }
  .footer-col:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }
  .footer-title {
    margin-bottom: 10px;
    font-size: 15px;
  }
  .footer-links a {
    font-size: 14px;
    line-height: 1.9;
  }
}
@media (max-width: 640px) {
  .footer-bottom {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
}
