*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --navy:#1a2a4a;
  --navy-dark:#0f1a30;
  --navy-soft:#2a3d63;
  --gold:#c9973f;
  --gold-light:#e8c87a;
  --gold-pale:#f5e6c8;
  --ink:#1c1c2a;
  --ink-soft:#4a4a5a;
  --paper:#fafaf7;
  --paper-warm:#f4f1ea;
  --line:rgba(26,42,74,0.08);
  --line-strong:rgba(26,42,74,0.18);
  --shadow-sm:rgba(26,42,74,0.05);
  --shadow-md:rgba(26,42,74,0.10);
  --shadow-lg:rgba(26,42,74,0.16);
  --shadow-gold:rgba(201,151,63,0.22);
  --font-serif:'Georgia','Noto Serif SC','Songti SC','SimSun','Times New Roman',serif;
  --font-sans:'Segoe UI','PingFang SC','Microsoft YaHei','Helvetica Neue',sans-serif;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-serif);
  background:var(--paper);
  color:var(--ink);
  line-height:1.85;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-size:16px;
}
::-webkit-scrollbar{width:9px;}
::-webkit-scrollbar-track{background:var(--paper);}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--gold),var(--navy));border-radius:5px;}
::-webkit-scrollbar-thumb:hover{background:var(--navy-dark);}
.top-ornament{
  height:4px;
  background:linear-gradient(90deg,var(--navy-dark),var(--gold),var(--gold-light),var(--gold),var(--navy-dark));
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
}
.navbar{
  position:fixed;
  top:4px;
  left:0;
  right:0;
  z-index:999;
  background:rgba(250,250,247,0.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
  padding:0 2rem;
  height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  box-shadow:0 2px 18px var(--shadow-sm);
  transition:box-shadow 0.4s ease,background 0.4s ease;
}
.navbar.scrolled{box-shadow:0 6px 30px var(--shadow-md);background:rgba(250,250,247,0.98);}
.navbar .logo{
  font-size:1.2rem;
  font-weight:700;
  color:var(--navy);
  letter-spacing:2px;
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  user-select:none;
}
.navbar .logo i{color:var(--gold);font-size:1rem;transition:transform 0.5s ease;}
.navbar .logo:hover i{transform:rotate(-10deg) scale(1.1);}
.navbar .logo span{color:var(--gold);font-weight:400;margin:0 1px;}
.nav-links{display:flex;gap:1.6rem;list-style:none;font-size:0.88rem;font-family:var(--font-sans);letter-spacing:1px;}
.nav-links a{
  text-decoration:none;
  color:var(--ink-soft);
  transition:color 0.3s ease;
  position:relative;
  font-weight:500;
  padding:4px 0;
  display:inline-flex;
  align-items:center;
}
.nav-links a i{font-size:0.7rem;color:var(--gold);margin-right:5px;}
.nav-links a::after{
  content:'';
  position:absolute;
  bottom:-2px;
  left:50%;
  width:0;
  height:2px;
  background:linear-gradient(90deg,var(--gold),var(--navy));
  transition:all 0.35s cubic-bezier(0.25,0.46,0.45,0.94);
  transform:translateX(-50%);
  border-radius:2px;
}
.nav-links a:hover{color:var(--navy);}
.nav-links a:hover::after{width:100%;}
.nav-toggle{
  display:none;
  font-size:1.25rem;
  color:var(--navy);
  cursor:pointer;
  background:none;
  border:none;
  padding:6px 10px;
  border-radius:8px;
  transition:background 0.3s;
}
.nav-toggle:hover{background:rgba(201,151,63,0.12);}
.hero{
  margin-top:70px;
  position:relative;
  min-height:86vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(165deg,#0a1226 0%,#15203f 35%,#1f2f55 70%,#2a3d63 100%);
  overflow:hidden;
  padding:2rem;
  isolation:isolate;
}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 20% 30%,rgba(201,151,63,0.10) 0%,transparent 55%),
    radial-gradient(ellipse at 80% 75%,rgba(232,200,122,0.06) 0%,transparent 55%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 400'%3E%3Cpath d='M0 400 L0 300 Q150 220 300 280 Q450 340 600 260 Q750 180 900 240 Q1050 300 1200 220 L1200 400 Z' fill='rgba(232,200,122,0.03)'/%3E%3Cpath d='M0 400 L0 340 Q200 290 400 340 Q600 390 800 320 Q1000 250 1200 320 L1200 400 Z' fill='rgba(232,200,122,0.02)'/%3E%3C/svg%3E") no-repeat bottom/100% 55%;
  pointer-events:none;
  z-index:0;
}
.hero::after{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:700px;
  height:700px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(201,151,63,0.07) 0%,transparent 65%);
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}
.hero-cover{
  position:absolute;
  inset:0;
  background:url('../img/gaosan-aiqing-hero-cover.jpg') center/cover no-repeat;
  opacity:0.18;
  z-index:0;
  filter:grayscale(0.2) contrast(1.05);
}
.hero-content{
  position:relative;
  z-index:3;
  text-align:center;
  color:#fff;
  max-width:920px;
  padding:2rem;
  animation:heroFadeIn 1.2s ease-out both;
}
@keyframes heroFadeIn{
  0%{opacity:0;transform:translateY(28px);}
  100%{opacity:1;transform:translateY(0);}
}
.hero-content .eyebrow{
  font-size:0.78rem;
  letter-spacing:8px;
  color:var(--gold-light);
  text-transform:uppercase;
  margin-bottom:0.7rem;
  opacity:0.78;
  font-weight:300;
  font-family:var(--font-sans);
  animation:heroFadeIn 1s ease-out 0.3s both;
}
.hero-content h1{
  font-size:clamp(2.6rem,7.5vw,4.8rem);
  font-weight:700;
  letter-spacing:3px;
  line-height:1.18;
  text-shadow:0 4px 40px rgba(0,0,0,0.55),0 0 70px rgba(201,151,63,0.18);
  background:linear-gradient(175deg,#fdf5e0 0%,#f0d48a 35%,var(--gold) 65%,#a8762a 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:0.4rem;
  animation:heroFadeIn 1s ease-out 0.15s both;
}
.hero-content .hero-en{
  font-size:1rem;
  letter-spacing:6px;
  color:rgba(232,200,122,0.85);
  margin-bottom:1.4rem;
  font-weight:300;
  font-family:var(--font-sans);
  animation:heroFadeIn 1s ease-out 0.4s both;
}
.hero-content .hero-quote{
  font-size:1.08rem;
  max-width:680px;
  margin:1rem auto 1.6rem;
  color:rgba(245,235,210,0.85);
  line-height:2;
  font-style:italic;
  letter-spacing:1.5px;
  animation:heroFadeIn 1s ease-out 0.55s both;
}
.hero-content .hero-quote em{color:var(--gold-light);font-style:normal;font-weight:600;}
.hero-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:1rem 2.4rem;
  margin-top:1.6rem;
  animation:heroFadeIn 1s ease-out 0.7s both;
}
.hero-badges .badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(245,235,210,0.88);
  font-size:0.88rem;
  font-family:var(--font-sans);
  letter-spacing:1px;
  transition:color 0.3s;
}
.hero-badges .badge:hover{color:#fff;}
.hero-badges .badge i{color:var(--gold);font-size:1rem;width:18px;text-align:center;}
.hero-badges .badge strong{color:#fff;font-weight:600;font-size:1rem;}
.btn-scroll{
  margin-top:2.6rem;
  display:inline-block;
  padding:0.85rem 2.8rem;
  border:1.5px solid var(--gold);
  color:var(--gold-light);
  background:rgba(201,151,63,0.08);
  border-radius:50px;
  font-size:0.9rem;
  letter-spacing:4px;
  cursor:pointer;
  transition:all 0.45s cubic-bezier(0.25,0.46,0.45,0.94);
  text-decoration:none;
  font-family:var(--font-sans);
  animation:heroFadeIn 1s ease-out 0.85s both;
  backdrop-filter:blur(4px);
}
.btn-scroll:hover{
  background:var(--gold);
  color:#0a1226;
  box-shadow:0 0 36px rgba(201,151,63,0.4);
  transform:translateY(-3px);
  letter-spacing:6px;
}
section{
  padding:4.5rem 2rem;
  max-width:1200px;
  margin:0 auto;
  position:relative;
}
.section-title{
  text-align:center;
  font-size:clamp(1.7rem,3.8vw,2.3rem);
  font-weight:700;
  color:var(--navy);
  margin-bottom:0.4rem;
  letter-spacing:3px;
  position:relative;
  display:inline-block;
  width:100%;
  line-height:1.4;
}
.section-title .gold{color:var(--gold);}
.section-title::before,.section-title::after{
  content:'';
  position:absolute;
  top:50%;
  width:60px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--line-strong));
}
.section-title::before{left:calc(50% - 200px);}
.section-title::after{right:calc(50% - 200px);background:linear-gradient(270deg,transparent,var(--line-strong));}
.section-divider{
  width:80px;
  height:3px;
  background:linear-gradient(90deg,var(--gold),var(--navy),var(--gold));
  margin:0.7rem auto 1.8rem;
  border-radius:4px;
  position:relative;
}
.section-divider::after{
  content:'◆';
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  font-size:0.7rem;
  color:var(--gold);
  background:var(--paper);
  padding:0 6px;
  line-height:1;
}
.section-subtitle{
  text-align:center;
  color:var(--ink-soft);
  font-style:italic;
  margin-bottom:2.6rem;
  font-size:1rem;
  letter-spacing:2px;
  font-weight:400;
  opacity:0.78;
  font-family:var(--font-sans);
}
.intro-grid{
  background:#fff;
  border-radius:18px;
  padding:2.4rem 2rem;
  box-shadow:0 8px 38px var(--shadow-sm);
  border:1px solid var(--line);
  margin-bottom:2rem;
  transition:box-shadow 0.4s;
}
.intro-grid:hover{box-shadow:0 12px 50px var(--shadow-md);}
.intro-grid .row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1.4rem;
}
.intro-grid .item{text-align:center;padding:0.6rem 0.4rem;border-right:1px solid var(--line);transition:transform 0.3s;}
.intro-grid .item:last-child{border-right:none;}
.intro-grid .item:hover{transform:translateY(-3px);}
.intro-grid .item .label{
  font-size:0.74rem;
  color:#8a8a9a;
  letter-spacing:3px;
  text-transform:uppercase;
  font-weight:400;
  font-family:var(--font-sans);
  margin-bottom:4px;
}
.intro-grid .item .value{font-size:1rem;font-weight:600;color:var(--navy);margin-top:4px;letter-spacing:0.5px;}
.intro-grid .item .value i{color:var(--gold);margin-right:6px;font-size:0.9rem;}
.story-wrap{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:3rem;
  align-items:center;
  background:#fff;
  border-radius:18px;
  padding:2.8rem;
  box-shadow:0 8px 40px var(--shadow-sm);
  border:1px solid var(--line);
}
.story-text p{
  font-size:1.04rem;
  line-height:2.1;
  color:var(--ink-soft);
  text-indent:2em;
  margin-bottom:1.05rem;
  letter-spacing:0.4px;
}
.story-text p:last-child{margin-bottom:0;}
.story-text p:first-child::first-letter{
  font-size:2.4rem;
  color:var(--navy);
  font-weight:700;
  float:left;
  margin-right:0.15em;
  margin-top:0.1em;
  line-height:0.9;
  font-family:var(--font-serif);
}
.story-text .accent{color:var(--navy);font-weight:600;background:linear-gradient(180deg,transparent 55%,rgba(201,151,63,0.20) 55%);padding:0 2px;}
.story-text .warn{
  display:inline-block;
  padding:0.05em 0.5em;
  margin:0 2px;
  background:rgba(201,151,63,0.15);
  border-radius:4px;
  color:var(--navy);
  font-weight:600;
}
.story-image{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,0.18);
  aspect-ratio:4/5;
  background:linear-gradient(145deg,#1a2a4a 0%,#2a3d63 60%,#15203f 100%);
  transition:transform 0.5s ease,box-shadow 0.5s ease;
}
.story-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 0.6s ease;
}
.story-image:hover{transform:translateY(-4px);box-shadow:0 18px 52px rgba(0,0,0,0.25);}
.story-image:hover img{transform:scale(1.04);}
.story-image::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at center,rgba(201,151,63,0.10) 0%,transparent 70%);
  pointer-events:none;
  z-index:1;
}
.story-image .overlay{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:1.6rem 1.4rem;
  background:linear-gradient(transparent,rgba(10,18,38,0.85));
  color:#f5e6d0;
  font-size:0.86rem;
  letter-spacing:2.5px;
  text-align:center;
  font-family:var(--font-sans);
  z-index:2;
  transition:padding 0.4s;
}
.story-image:hover .overlay{padding-bottom:2rem;}
.story-image .overlay i{color:var(--gold);margin-right:6px;}
.line-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.8rem;
}
.line-card{
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 5px 22px var(--shadow-sm);
  transition:all 0.45s cubic-bezier(0.25,0.46,0.45,0.94);
  border:1px solid var(--line);
  position:relative;
  display:flex;
  flex-direction:column;
}
.line-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:0;
  transition:opacity 0.4s;
  z-index:3;
}
.line-card:hover{transform:translateY(-8px);box-shadow:0 16px 44px var(--shadow-lg);border-color:rgba(201,151,63,0.35);}
.line-card:hover::before{opacity:1;}
.line-card .line-image{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#15203f;
}
.line-card .line-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s ease;}
.line-card:hover .line-image img{transform:scale(1.05);}
.line-card .line-image::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(10,18,38,0.45) 100%);
  pointer-events:none;
}
.line-card .line-num{
  position:absolute;
  top:14px;
  left:14px;
  background:rgba(10,18,38,0.78);
  color:var(--gold-light);
  font-family:var(--font-sans);
  font-size:0.74rem;
  letter-spacing:2px;
  padding:4px 10px;
  border-radius:14px;
  z-index:2;
  backdrop-filter:blur(4px);
}
.line-card .line-body{padding:1.6rem 1.4rem 1.5rem;flex:1;display:flex;flex-direction:column;}
.line-card .line-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:linear-gradient(135deg,rgba(201,151,63,0.18),rgba(26,42,74,0.10));
  color:var(--gold);
  font-size:1.15rem;
  margin-bottom:0.7rem;
}
.line-card .line-title{font-weight:700;color:var(--navy);font-size:1.12rem;letter-spacing:1px;margin-bottom:0.25rem;}
.line-card .line-sub{font-size:0.78rem;color:var(--gold);font-family:var(--font-sans);letter-spacing:2px;margin-bottom:0.7rem;font-weight:500;}
.line-card .line-desc{font-size:0.94rem;color:var(--ink-soft);line-height:1.85;opacity:0.88;letter-spacing:0.3px;}
.line-card .line-desc em{font-style:normal;color:var(--navy);font-weight:600;}
.theme-wrap{
  background:linear-gradient(150deg,#0a1226 0%,#15203f 40%,#1f2f55 100%);
  border-radius:18px;
  padding:3.2rem 2.8rem;
  color:#fff;
  position:relative;
  overflow:hidden;
  box-shadow:0 10px 44px rgba(10,18,38,0.25);
}
.theme-wrap::before{
  content:'\201C';
  position:absolute;
  top:-12px;
  left:18px;
  font-size:11rem;
  color:rgba(201,151,63,0.08);
  font-family:Georgia,serif;
  pointer-events:none;
}
.theme-wrap::after{
  content:'';
  position:absolute;
  bottom:-50px;
  right:-50px;
  width:200px;
  height:200px;
  background:radial-gradient(circle,rgba(201,151,63,0.05) 0%,transparent 70%);
  border-radius:50%;
  pointer-events:none;
}
.theme-item{text-align:center;padding:1rem 0;border-bottom:1px solid rgba(201,151,63,0.10);position:relative;z-index:1;}
.theme-item:last-child{border-bottom:none;}
.theme-item .text{font-size:1.18rem;font-style:italic;letter-spacing:1.8px;color:#f5e6d0;line-height:2;font-weight:300;}
.theme-item .text em{color:var(--gold-light);font-weight:500;font-style:normal;}
.theme-item .source{font-size:0.84rem;color:rgba(201,151,63,0.55);margin-top:5px;letter-spacing:4px;font-family:var(--font-sans);}
.tech-wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.8rem;
  background:#fff;
  border-radius:18px;
  padding:2.8rem;
  box-shadow:0 8px 40px var(--shadow-sm);
  border:1px solid var(--line);
  align-items:center;
}
.tech-info h3{font-size:1.7rem;font-weight:700;color:var(--navy);letter-spacing:2px;margin-bottom:0.4rem;line-height:1.4;}
.tech-info .tech-sub{color:var(--gold);font-size:0.92rem;margin-bottom:1.1rem;letter-spacing:1px;font-family:var(--font-sans);font-weight:500;}
.tech-info ul{list-style:none;padding:0;}
.tech-info ul li{
  position:relative;
  padding:0.7rem 0 0.7rem 1.8rem;
  font-size:0.96rem;
  line-height:1.85;
  color:var(--ink-soft);
  border-bottom:1px dashed var(--line);
}
.tech-info ul li:last-child{border-bottom:none;}
.tech-info ul li::before{
  content:'';
  position:absolute;
  left:0;
  top:1.15rem;
  width:9px;
  height:9px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--navy));
}
.tech-info ul li strong{color:var(--navy);font-weight:600;}
.tech-cover{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  aspect-ratio:4/3;
  box-shadow:0 10px 36px rgba(0,0,0,0.18);
  background:#15203f;
}
.tech-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s;}
.tech-cover:hover img{transform:scale(1.04);}
.tech-cover .tech-tag{
  position:absolute;
  top:14px;
  left:14px;
  background:rgba(10,18,38,0.82);
  color:var(--gold-light);
  padding:5px 12px;
  border-radius:14px;
  font-size:0.78rem;
  letter-spacing:2px;
  font-family:var(--font-sans);
  backdrop-filter:blur(4px);
  z-index:2;
}
.tech-cover .tech-caption{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:1.4rem 1.2rem;
  background:linear-gradient(transparent,rgba(10,18,38,0.88));
  color:#f5e6d0;
  font-size:0.86rem;
  letter-spacing:2px;
  text-align:center;
  font-family:var(--font-sans);
  z-index:2;
}
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem;}
.review-card{
  background:#fff;
  border-radius:16px;
  padding:1.8rem 1.5rem;
  box-shadow:0 5px 20px var(--shadow-sm);
  border:1px solid var(--line);
  transition:all 0.4s;
  position:relative;
}
.review-card::before{
  content:'\201C';
  font-size:3rem;
  color:rgba(201,151,63,0.18);
  position:absolute;
  top:6px;
  left:14px;
  font-family:Georgia,serif;
  line-height:1;
}
.review-card:hover{border-color:rgba(201,151,63,0.30);box-shadow:0 12px 34px var(--shadow-md);transform:translateY(-4px);}
.review-card .review-text{font-size:0.95rem;line-height:1.95;color:var(--ink-soft);font-style:italic;margin-bottom:0.9rem;padding-left:0.4rem;letter-spacing:0.3px;}
.review-card .review-text strong{color:var(--navy);font-style:normal;}
.review-card .review-author{display:flex;align-items:center;gap:10px;color:var(--ink-soft);font-size:0.86rem;font-family:var(--font-sans);font-weight:500;padding-left:0.4rem;}
.review-card .review-author i{color:var(--gold);font-size:1.15rem;}
.review-card .review-stars{color:var(--gold);letter-spacing:3px;font-size:0.8rem;margin-top:6px;padding-left:0.4rem;}
.warning-card{
  background:linear-gradient(135deg,#fff 0%,#faf3e0 100%);
  border:1px solid rgba(201,151,63,0.30);
  border-radius:16px;
  padding:2rem 2.2rem;
  box-shadow:0 8px 30px rgba(201,151,63,0.08);
  display:flex;
  gap:1.4rem;
  align-items:flex-start;
}
.warning-card .warning-icon{
  flex-shrink:0;
  width:48px;
  height:48px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--gold),#a8762a);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.4rem;
  box-shadow:0 4px 16px var(--shadow-gold);
}
.warning-card h4{color:var(--navy);font-size:1.05rem;letter-spacing:1.5px;margin-bottom:0.5rem;font-weight:700;}
.warning-card p{color:var(--ink-soft);font-size:0.94rem;line-height:1.85;letter-spacing:0.3px;}
.warning-card p strong{color:var(--navy);font-weight:600;}
.rating-wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:2.6rem 4.5rem;
  background:#fff;
  border-radius:18px;
  padding:2.8rem 2rem;
  box-shadow:0 8px 38px var(--shadow-sm);
  border:1px solid var(--line);
}
.rating-score{display:flex;align-items:baseline;gap:4px;}
.rating-score .number{font-size:3.8rem;font-weight:700;color:var(--navy);line-height:1;letter-spacing:-2px;text-shadow:0 2px 16px rgba(26,42,74,0.15);}
.rating-score .total{font-size:1.15rem;color:#9a9aa8;font-weight:400;}
.rating-stars{display:flex;gap:4px;color:var(--gold);font-size:1.6rem;transition:all 0.3s;}
.rating-stars:hover{transform:scale(1.04);}
.rating-meta{text-align:center;}
.rating-meta .label{font-size:0.78rem;color:#9a9aa8;letter-spacing:3px;font-family:var(--font-sans);margin-bottom:2px;}
.rating-meta .value{font-size:1.05rem;font-weight:600;color:var(--ink);letter-spacing:1px;}
.rating-meta .value i{margin-right:4px;}
.faq-list{margin-top:0.5rem;}
.faq-item{
  background:#fff;
  border-radius:14px;
  padding:1.4rem 1.6rem;
  box-shadow:0 4px 18px var(--shadow-sm);
  border:1px solid var(--line);
  margin-bottom:1rem;
  transition:all 0.3s;
}
.faq-item:hover{border-color:rgba(201,151,63,0.30);box-shadow:0 8px 24px var(--shadow-md);}
.faq-item summary{
  cursor:pointer;
  font-weight:600;
  color:var(--navy);
  font-size:1.02rem;
  letter-spacing:0.5px;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  outline:none;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:'\f078';
  font-family:'Font Awesome 6 Free';
  font-weight:900;
  color:var(--gold);
  font-size:0.85rem;
  transition:transform 0.3s;
}
.faq-item[open] summary::after{transform:rotate(180deg);}
.faq-item .faq-answer{
  margin-top:0.9rem;
  padding-top:0.9rem;
  border-top:1px dashed var(--line);
  color:var(--ink-soft);
  font-size:0.95rem;
  line-height:1.9;
  letter-spacing:0.3px;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.2rem;
}
.gallery-item{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  aspect-ratio:4/3;
  background:#15203f;
  box-shadow:0 6px 22px var(--shadow-sm);
  transition:transform 0.5s ease,box-shadow 0.5s ease;
  cursor:pointer;
}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s ease;}
.gallery-item:hover{transform:translateY(-5px);box-shadow:0 14px 36px var(--shadow-lg);}
.gallery-item:hover img{transform:scale(1.07);}
.gallery-item::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(10,18,38,0.65) 100%);
  pointer-events:none;
}
.gallery-item .gallery-cap{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:1rem;
  color:#f5e6d0;
  font-size:0.82rem;
  letter-spacing:2px;
  font-family:var(--font-sans);
  text-align:center;
  z-index:2;
}
.gallery-item .gallery-cap i{color:var(--gold);margin-right:5px;font-size:0.78rem;}
.footer{
  background:#0a1226;
  color:rgba(245,235,210,0.5);
  text-align:center;
  padding:2.6rem 1rem 2.2rem;
  border-top:3px solid var(--gold);
  margin-top:2.5rem;
}
.footer .footer-inner{max-width:1200px;margin:0 auto;}
.footer .footer-inner p{font-size:0.88rem;letter-spacing:2.5px;line-height:1.9;}
.footer .footer-inner .heart{color:#d05858;animation:heartbeat 1.8s ease-in-out infinite;display:inline-block;}
@keyframes heartbeat{
  0%,100%{transform:scale(1);}
  25%{transform:scale(1.15);}
  50%{transform:scale(1);}
  75%{transform:scale(1.1);}
}
.footer .footer-inner .gold-text{color:var(--gold);}
.footer .footer-inner .links{margin-top:0.8rem;font-size:0.78rem;opacity:0.55;letter-spacing:2px;}
.footer .footer-inner .links a{color:rgba(245,235,210,0.6);text-decoration:none;margin:0 8px;transition:color 0.3s;}
.footer .footer-inner .links a:hover{color:var(--gold-light);}
@media(max-width:992px){
  .story-wrap{grid-template-columns:1fr;gap:2rem;padding:2rem;}
  .story-image{order:-1;aspect-ratio:16/10;max-height:340px;}
  .tech-wrap{grid-template-columns:1fr;gap:2rem;padding:2rem;}
  .tech-cover{aspect-ratio:16/9;}
  .section-title::before,.section-title::after{width:35px;}
  .section-title::before{left:calc(50% - 140px);}
  .section-title::after{right:calc(50% - 140px);}
}
@media(max-width:768px){
  .navbar{padding:0 1.2rem;height:58px;}
  .navbar .logo{font-size:1rem;letter-spacing:1px;}
  .nav-links{
    display:none;
    flex-direction:column;
    position:absolute;
    top:62px;
    left:0;
    right:0;
    background:rgba(250,250,247,0.98);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    padding:1rem 1.6rem;
    gap:0.4rem;
    border-bottom:1px solid var(--line-strong);
    box-shadow:0 8px 28px var(--shadow-md);
    border-radius:0 0 14px 14px;
    max-height:72vh;
    overflow-y:auto;
  }
  .nav-links.open{display:flex;animation:slideDown 0.35s ease-out both;}
  @keyframes slideDown{0%{opacity:0;transform:translateY(-12px);}100%{opacity:1;transform:translateY(0);}}
  .nav-links a{padding:9px 4px;font-size:0.95rem;display:flex;border-bottom:1px solid var(--line);}
  .nav-links a:last-child{border-bottom:none;}
  .nav-links a::after{display:none;}
  .nav-toggle{display:block;}
  .hero{min-height:72vh;padding:1.2rem;}
  .hero-content{padding:1rem;}
  .hero-content h1{letter-spacing:2px;}
  .hero-content .hero-quote{font-size:0.96rem;letter-spacing:0.5px;}
  .hero-badges{gap:0.6rem 1.1rem;font-size:0.82rem;}
  .hero-badges .badge{font-size:0.8rem;}
  section{padding:2.8rem 1.2rem;}
  .section-title{font-size:1.45rem;letter-spacing:2px;}
  .section-title::before,.section-title::after{display:none;}
  .intro-grid{padding:1.4rem 1rem;}
  .intro-grid .row{grid-template-columns:repeat(2,1fr);gap:0.7rem;}
  .intro-grid .item{border-right:none;border-bottom:1px solid var(--line);padding:0.45rem;}
  .intro-grid .item:nth-last-child(-n+2){border-bottom:none;}
  .line-grid{grid-template-columns:1fr;gap:1.2rem;}
  .theme-wrap{padding:2.2rem 1.2rem;}
  .theme-item .text{font-size:1rem;letter-spacing:1px;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:0.8rem;}
  .rating-wrap{gap:1.5rem 2rem;padding:2rem 1rem;}
  .rating-score .number{font-size:2.8rem;}
  .rating-stars{font-size:1.3rem;}
  .review-grid{grid-template-columns:1fr;gap:1.1rem;}
  .warning-card{flex-direction:column;padding:1.5rem 1.2rem;gap:0.9rem;}
  .story-wrap{padding:1.5rem;}
  .story-text p{font-size:0.95rem;line-height:1.95;}
  .story-text p:first-child::first-letter{font-size:2rem;}
  .tech-wrap{padding:1.5rem;}
  .tech-info h3{font-size:1.4rem;}
  .tech-info ul li{font-size:0.9rem;}
  .faq-item{padding:1.2rem 1.2rem;}
  .faq-item summary{font-size:0.95rem;}
}
@media(max-width:480px){
  .hero{min-height:68vh;}
  .hero-content h1{font-size:2.1rem;letter-spacing:1.5px;}
  .hero-content .eyebrow{letter-spacing:4px;font-size:0.68rem;}
  .hero-content .hero-quote{font-size:0.88rem;}
  .btn-scroll{padding:0.7rem 1.8rem;font-size:0.82rem;letter-spacing:2px;margin-top:1.8rem;}
  .intro-grid .row{grid-template-columns:1fr 1fr;gap:0.5rem;padding:0.9rem 0.6rem;}
  .intro-grid .item .value{font-size:0.9rem;}
  .intro-grid .item .label{font-size:0.7rem;letter-spacing:1px;}
  .gallery-grid{grid-template-columns:1fr 1fr;gap:0.6rem;}
  .theme-item .text{font-size:0.92rem;}
  .theme-item .source{font-size:0.74rem;letter-spacing:2px;}
  .rating-wrap{flex-direction:column;gap:1.2rem;text-align:center;}
  .rating-score .number{font-size:2.5rem;}
  .line-card .line-body{padding:1.3rem 1.1rem 1.2rem;}
  .line-card .line-title{font-size:1rem;}
  .line-card .line-desc{font-size:0.86rem;}
}
