*,*::before,*::after{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--color-cream);color:var(--color-ink);font-family:var(--font-body);line-height:1.65}
:root{
  --color-primary:#3E6B4A;
  --color-primary-light:#8FB996;
  --color-accent:#C1553B;
  --color-dark:#2E3B32;
  --color-darker:#1B2A21;
  --color-cream:#F5F1E6;
  --color-gold:#E8B64C;
  --color-line:#D9D6CE;
  --color-white:#FFFFFF;
  --color-ink:#1A1A1A;
  --font-display:Impact,"Arial Black","PingFang SC","Microsoft YaHei",sans-serif;
  --font-body:"Inter","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --header-min-height:64px;
  --container-max:1240px;
  --shadow-hard:6px 6px 0 rgba(26,26,26,.9);
  --shadow-soft:0 18px 40px rgba(0,0,0,.18)
}
h1,h2,h3,h4{margin:0 0 .5em;font-family:var(--font-display);font-style:italic;line-height:1.08;letter-spacing:.01em}
h1{font-size:clamp(2.5rem,6vw,4.25rem)}
h2{font-size:clamp(1.75rem,3.6vw,2.75rem)}
h3{font-size:clamp(1.15rem,2vw,1.5rem)}
p{margin:0 0 1em}
a{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
a:hover{color:var(--color-dark)}
img,svg{display:block;max-width:100%;height:auto}
address{font-style:normal}
::selection{background:var(--color-accent);color:var(--color-white)}
:focus-visible{outline:3px solid var(--color-gold);outline-offset:3px}
#main-content{scroll-margin-top:calc(var(--header-min-height) + 24px)}
#main-content:focus{outline:none}

.container{max-width:var(--container-max);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.section{padding-block:clamp(48px,8vw,96px)}
.section--dark{background:var(--color-dark);color:var(--color-cream)}
.section--dark .section__lead{color:rgba(245,241,230,.82)}
.section__head{max-width:760px;margin-bottom:clamp(20px,4vw,40px)}
.section__kicker{display:inline-block;margin-bottom:10px;padding-inline-start:12px;border-left:6px solid var(--color-accent);font-size:.8rem;letter-spacing:.22em;font-weight:800;color:var(--color-accent);text-transform:uppercase}
.section__title{margin:0}
.section__lead{margin-top:14px;font-size:1.05rem}

.u-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.is-hidden{display:none!important}

.grid{display:grid;gap:24px}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;border:2px solid var(--color-ink);background:var(--color-cream);color:var(--color-ink);font-family:var(--font-body);font-size:.95rem;font-weight:700;line-height:1;text-decoration:none;box-shadow:4px 4px 0 var(--color-ink);cursor:pointer;transition:transform .16s,box-shadow .16s,background .16s,color .16s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--color-ink);color:var(--color-ink)}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-ink)}
.btn--primary{background:var(--color-primary);color:var(--color-white);border-color:var(--color-dark)}
.btn--accent{background:var(--color-accent);color:var(--color-white);border-color:var(--color-dark)}
.btn--ghost{background:transparent;box-shadow:none}
.btn--ghost:hover{background:var(--color-cream);box-shadow:4px 4px 0 var(--color-ink);transform:none}

.tag{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;background:var(--color-dark);color:var(--color-gold);font-size:.72rem;font-weight:800;letter-spacing:.08em}
.tag--primary{background:var(--color-primary);color:var(--color-white)}
.tag--accent{background:var(--color-accent);color:var(--color-white)}

.card{background:var(--color-white);border:2px solid var(--color-ink);box-shadow:var(--shadow-hard);padding:20px;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:8px 10px 0 rgba(26,26,26,.9)}

.media{position:relative;display:block;overflow:hidden;border:2px solid var(--color-ink);background:linear-gradient(135deg,var(--color-darker),var(--color-primary))}
.media--16x9{aspect-ratio:16/9}
.media--4x3{aspect-ratio:4/3}
.media--3x2{aspect-ratio:3/2}
.media--1x1{aspect-ratio:1/1}
.media::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.media--placeholder::after{content:attr(data-label);display:flex;align-items:center;justify-content:center;color:rgba(245,241,230,.4);background:rgba(27,42,33,.42);background-image:none;font-family:var(--font-display);font-style:italic;font-size:clamp(1.4rem,4vw,2.8rem);letter-spacing:.12em;transform:rotate(-5deg);white-space:nowrap}
.media__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.breadcrumb{padding-block:18px}
.breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.breadcrumb__item{display:flex;align-items:center;gap:6px}
.breadcrumb__item+.breadcrumb__item::before{content:"/";color:var(--color-line);font-weight:700}
.breadcrumb__link{color:var(--color-accent);text-decoration:none;font-weight:600}
.breadcrumb__link:hover{text-decoration:underline}
.breadcrumb__current{color:var(--color-dark);font-weight:600}

.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-block:18px 24px}
.filter-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-cream);border:2px solid var(--color-ink);color:var(--color-ink);font-family:var(--font-body);font-size:.85rem;font-weight:700;line-height:1;box-shadow:3px 3px 0 var(--color-ink);cursor:pointer;transition:transform .15s,background .15s,color .15s}
.filter-btn:hover{transform:translate(-1px,-1px)}
.filter-btn[aria-pressed="true"]{background:var(--color-accent);color:var(--color-white);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--color-ink)}

.site-header{position:sticky;top:0;z-index:50;background:rgba(27,42,33,.92);box-shadow:0 4px 18px rgba(0,0,0,.22)}
@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){
  .site-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:linear-gradient(100deg,var(--color-accent) 0 30%,var(--color-gold) 30% 45%,var(--color-primary-light) 45% 100%);clip-path:polygon(0 100%,100% 100%,96% 0,4% 35%);z-index:2}
.site-header__inner{display:flex;align-items:center;gap:20px;max-width:var(--container-max);margin-inline:auto;padding-inline:clamp(16px,4vw,40px);min-height:var(--header-min-height)}
.scroll-progress{position:absolute;top:0;left:0;right:0;height:4px;z-index:4;background:rgba(255,255,255,.14);transform:scaleX(0);transform-origin:0 50%}

.skip-link{position:fixed;top:-100px;left:50%;transform:translateX(-50%);z-index:120;background:var(--color-accent);color:var(--color-white);padding:10px 22px;font-weight:700;text-decoration:none;font-size:.9rem;box-shadow:4px 4px 0 rgba(0,0,0,.3);transition:top .2s ease}
.skip-link:focus{top:16px;color:var(--color-white)}

.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.brand__mark{position:relative;display:inline-block;width:38px;height:38px;background:var(--color-accent);clip-path:polygon(0 0,78% 0,100% 100%,20% 100%)}
.brand__core{position:absolute;top:50%;left:50%;width:14px;height:14px;background:var(--color-cream);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transform:translate(-50%,-50%);transition:transform .25s}
.brand:hover .brand__core{transform:translate(-50%,-50%) rotate(90deg)}
.brand__name{font-family:var(--font-display);font-style:italic;font-size:1.4rem;line-height:1;color:var(--color-cream);letter-spacing:.02em}
.brand__name em{font-style:normal;color:var(--color-gold)}
.brand--footer .brand__mark{width:34px;height:34px}
.brand--footer .brand__name{font-size:1.25rem}

.site-nav{margin-left:auto}
.site-nav__list{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none}
.site-nav__item{margin:0}
.site-nav__link{display:inline-flex;align-items:baseline;gap:8px;padding:10px 12px;color:rgba(245,241,230,.86);text-decoration:none;font-weight:600;font-size:.92rem;line-height:1.2;background:transparent;border:0;transition:background .18s,color .18s,box-shadow .18s}
.site-nav__link:hover{background:rgba(255,255,255,.08);color:var(--color-white)}
.site-nav__link[aria-current="page"]{background:var(--color-accent);color:var(--color-white);box-shadow:3px 3px 0 rgba(0,0,0,.28)}
.site-nav__num{font-size:.66rem;font-weight:800;letter-spacing:.08em;color:var(--color-gold)}
.site-nav__link[aria-current="page"] .site-nav__num{color:rgba(255,255,255,.85)}

.site-header__meta{display:flex;align-items:center;gap:10px}
.live-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;background:var(--color-dark);border:1px solid var(--color-primary-light);color:var(--color-gold);font-size:.72rem;font-weight:800;letter-spacing:.12em;line-height:1}
.live-chip__dot{width:7px;height:7px;border-radius:50%;background:var(--color-accent);animation:live-pulse 1.5s ease-out infinite}
@keyframes live-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}100%{opacity:1;transform:scale(1)}}
.live-chip__label{text-transform:uppercase}

.nav-toggle{position:relative;display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:var(--color-accent);border:2px solid var(--color-ink);box-shadow:3px 3px 0 rgba(0,0,0,.3);cursor:pointer}
.nav-toggle__bar{display:block;height:3px;width:100%;background:var(--color-white);transition:transform .2s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media(max-width:960px){
  .nav-toggle{display:inline-flex}
  .live-chip{display:none}
  .site-nav{position:absolute;top:100%;left:0;right:0;margin-left:0;display:none;padding:12px clamp(16px,4vw,40px) 20px;background:rgba(27,42,33,.98);border-bottom:4px solid var(--color-accent);box-shadow:0 10px 24px rgba(0,0,0,.3)}
  .site-nav[data-open]{display:block}
  .site-nav__list{flex-direction:column;align-items:stretch;gap:6px}
  .site-nav__link{align-items:center;justify-content:space-between;padding:12px 14px;background:rgba(255,255,255,.05)}
  .site-nav__link:hover{background:rgba(255,255,255,.12)}
}

.site-footer{background:var(--color-darker);color:rgba(245,241,230,.8)}
.site-footer::before{content:"";display:block;height:6px;background:repeating-linear-gradient(115deg,var(--color-primary) 0 18px,var(--color-accent) 18px 36px,var(--color-darker) 36px 48px)}
.site-footer__inner{display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:clamp(24px,4vw,56px);max-width:var(--container-max);margin-inline:auto;padding:clamp(36px,6vw,72px) clamp(16px,4vw,40px) 32px}
.site-footer__title{margin:0 0 14px;font-size:1rem;letter-spacing:.08em;color:var(--color-gold);padding-bottom:6px;position:relative}
.site-footer__title::after{content:"";display:block;width:36px;height:4px;margin-top:8px;background:var(--color-accent);clip-path:polygon(0 0,100% 0,90% 100%,10% 100%)}
.site-footer__statement{margin:14px 0 0;font-size:.93rem;line-height:1.8;max-width:34em}
.site-footer__nav .site-footer__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;padding:0;list-style:none}
.site-footer__list a{display:inline-flex;align-items:center;gap:6px;color:rgba(245,241,230,.75);text-decoration:none;font-size:.92rem;transition:color .18s}
.site-footer__list a::before{content:"›";color:var(--color-accent);font-weight:800}
.site-footer__list a:hover{color:var(--color-gold)}
.site-footer__address{display:grid;gap:8px;font-size:.92rem;line-height:1.6}
.site-footer__note{margin:14px 0 0;font-size:.8rem;color:rgba(245,241,230,.5);line-height:1.6}
.site-footer__bottom{border-top:1px solid rgba(245,241,230,.12);background:rgba(0,0,0,.2)}
.site-footer__bottom-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;max-width:var(--container-max);margin-inline:auto;padding:16px clamp(16px,4vw,40px);font-size:.8rem;color:rgba(245,241,230,.55)}
.site-footer__legal{display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0;list-style:none;font-size:.8rem}
.site-footer__legal a{color:rgba(245,241,230,.7);text-decoration:none}
.site-footer__legal a:hover{color:var(--color-gold)}
.site-footer__icp{letter-spacing:.04em}
@media(max-width:860px){
  .site-footer__inner{grid-template-columns:1fr;gap:32px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .live-chip__dot{animation:none}
}
