/* ============================================================
   DERUILITE — premium industrial theme
   deep navy × champagne gold × metal
   ============================================================ */
:root{
  --navy:#0a1624;
  --navy-2:#0e1f33;
  --navy-3:#132a44;
  --gold:#c9995c;
  --gold-2:#e2b87e;
  --gold-dim:rgba(201,153,92,.35);
  --ink:#141c26;
  --ink-soft:#5b6875;
  --line:#e6e9ec;
  --paper:#ffffff;
  --paper-2:#f5f6f7;
  --serif:Georgia,"Times New Roman",serif;
  --radius:4px;
  --shadow:0 14px 40px rgba(10,22,36,.10);
  --shadow-lg:0 30px 70px rgba(10,22,36,.22);
  --maxw:1240px;
  --pad:clamp(72px,10vw,130px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);background:var(--paper);line-height:1.75;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(var(--maxw),91%);margin-inline:auto}

/* ============ Scroll progress ============ */
.scroll-progress{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:300;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
  transform:scaleX(0);transform-origin:left;pointer-events:none;
}

/* ============ Shimmer text ============ */
.shimmer{
  background:linear-gradient(110deg,var(--gold-2) 35%,#fff2dc 50%,var(--gold-2) 65%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:shimmer 4.5s ease-in-out infinite;
}
@keyframes shimmer{0%{background-position:120% 0}100%{background-position:-120% 0}}

/* ============ Header ============ */
.site-header{
  position:fixed;inset:0 0 auto;z-index:100;
  border-top:3px solid var(--gold);
  background:linear-gradient(rgba(10,22,36,.92),rgba(10,22,36,.85));
  backdrop-filter:blur(14px) saturate(160%);
  transition:.35s;
}
.site-header.scrolled{background:rgba(8,17,28,.96);box-shadow:0 8px 30px rgba(0,0,0,.35)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:flex;align-items:center;gap:14px;color:#fff}
.brand-logo{
  width:44px;height:44px;object-fit:contain;
  background:#fff;padding:5px;border-radius:4px;
  box-shadow:0 4px 14px rgba(0,0,0,.3);
}
.brand-text{display:flex;flex-direction:column;line-height:1.2}
.brand-text strong{font-family:var(--serif);font-size:21px;letter-spacing:4px;color:#fff}
.brand-text em{font-size:11.5px;font-style:normal;color:var(--gold-2);letter-spacing:3.5px}

.main-nav{display:flex;align-items:center;gap:2px}
.main-nav a{
  position:relative;padding:10px 17px;font-size:15px;color:rgba(255,255,255,.82);
  letter-spacing:1px;transition:.25s;
}
.main-nav a::after{
  content:"";position:absolute;left:17px;right:17px;bottom:4px;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.3s;
}
.main-nav a:hover{color:#fff}
.main-nav a:hover::after{transform:scaleX(1)}
.main-nav .nav-cta{
  margin-left:16px;border:1px solid var(--gold);color:var(--gold-2);
  padding:9px 22px;letter-spacing:2px;
}
.main-nav .nav-cta::after{display:none}
.main-nav .nav-cta:hover{background:var(--gold);color:var(--navy)}

.nav-toggle{display:none;flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{width:26px;height:1.5px;background:#fff;transition:.3s}

/* ============ Buttons ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:15px 34px;font-size:14.5px;font-weight:600;letter-spacing:3px;
  cursor:pointer;border:1px solid transparent;transition:.3s;white-space:nowrap;
}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-2);box-shadow:0 14px 34px rgba(201,153,92,.35);transform:translateY(-2px)}
.btn-line{border-color:rgba(255,255,255,.4);color:#fff}
.btn-line:hover{border-color:var(--gold);color:var(--gold-2)}
.btn-block{width:100%}

/* ============ Hero ============ */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--navy)}
.hero-bg{position:absolute;inset:0;
  background:
    radial-gradient(900px 600px at 78% 30%,rgba(201,153,92,.10),transparent 60%),
    radial-gradient(1100px 700px at 15% 85%,rgba(18,115,196,.12),transparent 65%),
    linear-gradient(160deg,#0a1624 0%,#0e1f33 60%,#0a1a2e 100%);
}
.hero-bg::before{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cpath d='M0 89.5h90M89.5 0v90' stroke='%23ffffff' stroke-opacity='.035' fill='none'/%3E%3C/svg%3E");
}
.hero-bg::after{ /* diagonal gold hairline */
  content:"";position:absolute;top:-10%;bottom:-10%;left:58%;width:1px;
  background:linear-gradient(transparent,var(--gold-dim) 30%,var(--gold-dim) 70%,transparent);
  transform:rotate(16deg);
}
.hero-ghost{
  position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);
  font-family:var(--serif);font-size:clamp(90px,17vw,260px);letter-spacing:.06em;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.045);
  user-select:none;pointer-events:none;white-space:nowrap;
}

.hero-grid{
  position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;
  align-items:center;min-height:88vh;padding:150px 0 90px;
}
.hero-eyebrow{
  display:flex;align-items:center;gap:16px;
  font-size:13.5px;letter-spacing:6px;color:var(--gold-2);margin-bottom:30px;
}
.hero-eyebrow i{display:block;width:56px;height:1px;background:var(--gold)}
.hero-title{
  font-size:clamp(36px,4.6vw,64px);line-height:1.22;font-weight:800;letter-spacing:2px;
}
.hero-title .gold{
  color:var(--gold-2);position:relative;
}
.hero-title .gold::after{
  content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--gold-dim);
}
.hero-sub{
  margin:28px 0 42px;font-size:16.5px;color:rgba(255,255,255,.72);
  max-width:540px;line-height:2;
}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap}
.hero-certs{
  list-style:none;display:flex;gap:28px;margin-top:52px;flex-wrap:wrap;
}
.hero-certs li{
  position:relative;font-size:13px;letter-spacing:2px;color:rgba(255,255,255,.55);
  padding-left:18px;
}
.hero-certs li::before{
  content:"";position:absolute;left:0;top:50%;width:7px;height:7px;
  border:1px solid var(--gold);transform:translateY(-50%) rotate(45deg);
}

/* — product stage — */
.hero-stage{position:relative;height:560px;display:flex;align-items:center;justify-content:center}
.stage-spot{
  position:absolute;width:min(430px,80%);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 50% 38%,#f7f8f9 0%,#e8ebee 55%,#d5dade 100%);
  box-shadow:0 60px 120px rgba(0,0,0,.5),inset 0 -30px 60px rgba(10,22,36,.12);
}
.stage-ring{
  position:absolute;width:min(520px,94%);aspect-ratio:1;border-radius:50%;
  border:1px dashed rgba(201,153,92,.4);
  animation:spin 60s linear infinite;
}
.stage-ring-2{width:min(600px,108%);border-color:rgba(255,255,255,.08);animation-duration:90s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.stage-pick{
  position:relative;height:min(500px,92%);width:auto;
  filter:drop-shadow(0 40px 50px rgba(0,0,0,.55));
  animation:float 7s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}

.stage-chip{
  position:absolute;background:rgba(14,31,51,.78);border:1px solid rgba(201,153,92,.35);
  backdrop-filter:blur(8px);padding:12px 18px;line-height:1.45;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
}
.stage-chip b{display:block;font-size:15px;color:var(--gold-2);letter-spacing:1px}
.stage-chip span{font-size:12px;color:rgba(255,255,255,.6);letter-spacing:1px}
.chip-1{top:12%;left:2%}
.chip-2{bottom:20%;left:-2%}
.chip-3{top:32%;right:0}

/* — stats strip — */
.hero-stats{position:relative;border-top:1px solid rgba(255,255,255,.1)}
.stats-row{display:grid;grid-template-columns:repeat(5,1fr)}
.stat{
  padding:30px 12px;text-align:center;position:relative;
}
.stat + .stat::before{
  content:"";position:absolute;left:0;top:28%;bottom:28%;width:1px;
  background:rgba(255,255,255,.1);
}
.stat b{
  display:block;font-family:var(--serif);font-weight:400;
  font-size:clamp(26px,2.8vw,38px);color:var(--gold-2);letter-spacing:1px;
}
.stat b i{font-style:normal;font-size:.5em;color:rgba(255,255,255,.5);margin-left:4px}
.stat > span{font-size:13px;color:rgba(255,255,255,.5);letter-spacing:2px}

/* ============ Marquee ============ */
.marquee{
  background:var(--navy);border-top:1px solid rgba(201,153,92,.25);
  overflow:hidden;padding:16px 0;
}
.marquee-track{
  display:flex;align-items:center;gap:34px;width:max-content;
  animation:marq 36s linear infinite;
}
.marquee-track span{
  font-size:14px;letter-spacing:4px;color:rgba(255,255,255,.42);white-space:nowrap;
}
.marquee-track i{font-size:9px;color:var(--gold);font-style:normal}
@keyframes marq{to{transform:translateX(-50%)}}

/* ============ Section scaffolding ============ */
.section{position:relative;padding:var(--pad) 0;overflow:hidden}
.section-tint{background:var(--paper-2)}
.section-dark{background:var(--navy-2);color:#fff}

.sec-ghost{
  position:absolute;top:34px;right:-8px;z-index:0;
  font-family:var(--serif);font-size:clamp(70px,11vw,150px);letter-spacing:.05em;
  color:transparent;-webkit-text-stroke:1px rgba(10,22,36,.06);
  user-select:none;pointer-events:none;line-height:1;
}
.ghost-light{-webkit-text-stroke-color:rgba(255,255,255,.05)}

.sec-eyebrow{
  display:flex;align-items:baseline;gap:14px;
  font-size:14px;letter-spacing:4px;color:var(--ink-soft);margin-bottom:22px;
}
.sec-eyebrow b{
  font-family:var(--serif);font-size:30px;font-weight:400;color:var(--gold);
  line-height:1;
}
.sec-eyebrow i{font-style:normal;font-size:11px;letter-spacing:3px;color:#aab3bb;font-family:var(--serif)}
.sec-eyebrow.light{color:rgba(255,255,255,.6)}
.sec-eyebrow.light i{color:rgba(255,255,255,.3)}

.sec-title{
  font-size:clamp(27px,3.2vw,42px);line-height:1.35;font-weight:800;letter-spacing:1.5px;
}
.sec-head{position:relative;z-index:1;margin-bottom:64px}
.sec-head-row{
  display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:end;
}
.sec-lead{
  color:var(--ink-soft);font-size:15.5px;line-height:2;
  padding-left:26px;border-left:1px solid var(--gold);
}
.section-dark .sec-lead,.section-contact .sec-lead{color:rgba(255,255,255,.6)}

/* ============ About ============ */
.about-grid{
  position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;
  gap:clamp(44px,6vw,90px);align-items:center;
}
.about-media{position:relative}
.frame{position:relative}
.frame::before{
  content:"";position:absolute;inset:26px -26px -26px 26px;
  border:1px solid var(--gold-dim);z-index:0;
}
.frame img{position:relative;z-index:1;box-shadow:var(--shadow-lg)}
.about-float{
  position:absolute;z-index:2;right:-20px;top:-26px;
  background:var(--navy);color:#fff;padding:24px 28px;text-align:left;
  border-top:2px solid var(--gold);box-shadow:var(--shadow-lg);
}
.about-float b{display:block;font-family:var(--serif);font-size:26px;color:var(--gold-2);letter-spacing:1px}
.about-float span{display:block;font-size:13px;color:rgba(255,255,255,.75);margin-top:2px}
.about-float em{display:block;font-style:normal;font-size:10px;letter-spacing:3px;color:rgba(255,255,255,.35);margin-top:8px;font-family:var(--serif)}

.about-copy .sec-title{margin-bottom:26px}
.para{color:var(--ink-soft);margin-bottom:16px;font-size:15.5px;line-height:2}
.about-values{
  display:grid;grid-template-columns:1fr 1fr;margin-top:36px;
  border-top:1px solid var(--line);border-left:1px solid var(--line);
}
.val{
  padding:22px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  transition:.3s;
}
.val:hover{background:var(--paper-2)}
.val b{
  display:block;font-size:17px;letter-spacing:2px;margin-bottom:4px;position:relative;padding-left:16px;
}
.val b::before{
  content:"";position:absolute;left:0;top:50%;width:7px;height:7px;
  background:var(--gold);transform:translateY(-50%) rotate(45deg);
}
.val span{font-size:13px;color:var(--ink-soft)}

/* ============ Products: tabs ============ */
.ptabs{
  position:relative;z-index:1;display:flex;gap:6px;margin-bottom:40px;
  overflow-x:auto;padding-bottom:8px;scrollbar-width:none;
  border-bottom:1px solid var(--line);
}
.ptabs::-webkit-scrollbar{display:none}
.ptab{
  position:relative;flex:none;background:none;border:0;cursor:pointer;
  font-family:inherit;font-size:15px;letter-spacing:1.5px;color:var(--ink-soft);
  padding:12px 18px 16px;transition:.25s;white-space:nowrap;
}
.ptab i{
  font-style:normal;font-family:var(--serif);font-size:11px;color:#b9c0c7;
  margin-left:7px;vertical-align:super;
}
.ptab::after{
  content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;
  background:var(--gold);transform:scaleX(0);transition:.3s;transform-origin:left;
}
.ptab:hover{color:var(--ink)}
.ptab.active{color:var(--ink);font-weight:700}
.ptab.active::after{transform:scaleX(1)}
.ptab.active i{color:var(--gold)}

/* ============ Products: cards ============ */
.product-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(3,1fr);gap:26px;
}
.pcard{
  --mx:50%;--my:50%;
  background:#fff;border:1px solid var(--line);cursor:pointer;
  position:relative;overflow:hidden;
  transition:box-shadow .4s,border-color .4s,transform .3s ease-out;
  animation:cardIn .6s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes cardIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.pcard-wide{grid-column:span 3}
.pcard::before{ /* magic-ui style spotlight glow */
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(340px circle at var(--mx) var(--my),rgba(201,153,92,.16),transparent 65%);
}
.pcard:hover{box-shadow:var(--shadow-lg);border-color:rgba(201,153,92,.5)}
.pcard:hover::before{opacity:1}

.pcard-media{
  height:250px;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 46%,#ffffff 0%,#f2f4f6 62%,#e7eaee 100%);
  padding:24px;overflow:hidden;position:relative;border-bottom:1px solid var(--line);
}
.pcard-wide .pcard-media{height:210px}
.pcard-media::before{ /* floor shadow */
  content:"";position:absolute;left:22%;right:22%;bottom:22px;height:14px;
  background:radial-gradient(50% 100% at 50% 50%,rgba(10,22,36,.14),transparent 70%);
}
.pcard-media img{
  max-height:100%;max-width:100%;width:auto;object-fit:contain;
  transition:.55s cubic-bezier(.22,.61,.36,1);
  filter:drop-shadow(0 16px 18px rgba(10,22,36,.22));
}
.pcard:hover .pcard-media img{transform:scale(1.08) translateY(-4px)}

.pcard-body{padding:22px 24px 24px;position:relative;z-index:2}
.pcard-tag{
  display:inline-block;font-size:11.5px;letter-spacing:1.5px;color:var(--gold);
  border:1px solid var(--gold-dim);padding:4px 12px;margin-bottom:12px;
}
.pcard-body h3{font-size:19px;letter-spacing:1px}
.pcard-body p{color:var(--ink-soft);font-size:13.5px;margin-top:2px}
.pcard-more{
  display:inline-flex;align-items:center;gap:6px;margin-top:14px;
  font-size:13px;letter-spacing:2px;color:var(--ink-soft);transition:.3s;
}
.pcard-more i{font-style:normal;transition:.3s}
.pcard:hover .pcard-more{color:var(--gold)}
.pcard:hover .pcard-more i{transform:translateX(5px)}

/* ============ Product modal ============ */
.pmodal{position:fixed;inset:0;z-index:200;display:none}
.pmodal.open{display:block}
.pmodal-backdrop{
  position:absolute;inset:0;background:rgba(6,13,22,.78);backdrop-filter:blur(8px);
  animation:fadeIn .3s both;
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.pmodal-panel{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(1060px,94vw);max-height:88vh;overflow:hidden;
  display:grid;grid-template-columns:.85fr 1.15fr;
  background:#fff;box-shadow:0 60px 140px rgba(0,0,0,.6);
  animation:panelIn .45s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes panelIn{from{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.pmodal-close{
  position:absolute;top:14px;right:14px;z-index:6;width:46px;height:46px;
  background:rgba(6,13,22,.65);border:1px solid rgba(201,153,92,.55);border-radius:50%;
  cursor:pointer;font-size:24px;color:#fff;
  transition:.25s;line-height:1;box-shadow:0 4px 18px rgba(0,0,0,.4);
}
.pmodal-close:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.pmodal-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:44px;height:44px;border:1px solid rgba(255,255,255,.35);background:rgba(6,13,22,.4);
  color:#fff;font-size:22px;cursor:pointer;transition:.25s;line-height:1;
}
.pmodal-nav:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.pm-prev{left:14px}
.pm-next{left:calc(min(1060px,94vw)*.85 - 58px)}

.pmodal-media{
  position:relative;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(420px 420px at 50% 42%,rgba(201,153,92,.16),transparent 68%),
    linear-gradient(160deg,#12273f,#0a1624 75%);
  padding:44px 34px;min-height:420px;overflow:hidden;
}
.pm-spot{
  position:absolute;width:72%;aspect-ratio:1;border-radius:50%;
  border:1px dashed rgba(201,153,92,.3);
  animation:spin 50s linear infinite;
}
.pmodal-media img{
  position:relative;max-height:44vh;max-width:80%;object-fit:contain;
  filter:drop-shadow(0 34px 40px rgba(0,0,0,.55));
  animation:float 7s ease-in-out infinite;
}

.pmodal-body{padding:44px 46px;overflow-y:auto;max-height:88vh}
.pm-cat{
  font-family:var(--serif);font-size:11px;letter-spacing:3px;color:var(--gold);
  text-transform:uppercase;
}
.pm-model{font-size:30px;letter-spacing:1px;margin-top:10px;line-height:1.25}
.pm-name{color:var(--ink-soft);font-size:14.5px;letter-spacing:1px;margin-top:2px}

.pm-features{list-style:none;margin:22px 0 6px}
.pm-features li{
  position:relative;padding:7px 0 7px 22px;font-size:14px;color:#3c4752;line-height:1.8;
}
.pm-features li::before{
  content:"";position:absolute;left:2px;top:16px;width:7px;height:7px;
  background:var(--gold);transform:rotate(45deg);
}
.pm-specs{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:16px;
}
.pm-spec{background:#fafbfc;padding:12px 16px}
.pm-spec b{display:block;font-size:11.5px;letter-spacing:2px;color:var(--ink-soft);font-weight:600}
.pm-spec span{font-size:14px;color:var(--ink);letter-spacing:.5px}

.pm-table{margin-top:22px}
.pm-table h4{
  font-size:15px;letter-spacing:2px;margin-bottom:12px;position:relative;padding-left:14px;
}
.pm-table h4::before{
  content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--gold);
}
.pm-table-scroll{overflow-x:auto;margin-bottom:14px}
.pm-table table{
  width:100%;border-collapse:collapse;font-size:12.5px;line-height:1.6;min-width:520px;
}
.pm-table th{
  background:var(--navy);color:#fff;font-weight:500;letter-spacing:1px;
  padding:9px 12px;text-align:left;white-space:nowrap;
}
.pm-table td{padding:9px 12px;border:1px solid var(--line);color:#3c4752}
.pm-table tr:nth-child(even) td{background:#fafbfc}
.pm-table td:first-child{font-family:var(--serif);color:var(--gold);font-weight:700;white-space:nowrap}
.pm-note{font-size:12px;color:#98a1aa;letter-spacing:.5px}

.pm-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}
.btn-line-dark{border-color:rgba(10,22,36,.3);color:var(--ink)}
.btn-line-dark:hover{border-color:var(--gold);color:var(--gold)}
.btn-back{
  background:none;border:0;color:var(--ink-soft);letter-spacing:2px;
  padding-left:0;padding-right:0;
}
.btn-back:hover{color:var(--gold)}
@media(max-width:640px){
  .pm-actions{flex-direction:column;align-items:stretch}
  .pm-actions .btn{width:100%;justify-content:center}
}

/* ============ Gallery ============ */
.gallery{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}
.g-item{position:relative;overflow:hidden;height:250px;margin:0}
.g-item.g-wide{grid-column:span 2}
.g-item img{width:100%;height:100%;object-fit:cover;transition:.7s cubic-bezier(.22,.61,.36,1);filter:saturate(.92)}
.g-item:hover img{transform:scale(1.07);filter:saturate(1.05)}
.g-item::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(185deg,transparent 55%,rgba(6,14,24,.88));
  transition:.4s;
}
.g-item figcaption{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:baseline;gap:12px;
  padding:18px 20px;color:#fff;font-size:14.5px;letter-spacing:2px;
}
.g-item figcaption b{
  font-family:var(--serif);font-weight:400;font-size:13px;color:var(--gold-2);
}
.g-item::before{
  content:"";position:absolute;inset:12px;z-index:2;
  border:1px solid rgba(255,255,255,.0);transition:.4s;pointer-events:none;
}
.g-item:hover::before{border-color:rgba(201,153,92,.5)}

/* ============ Honor ============ */
.honor-wall{
  position:relative;z-index:1;margin:0 0 26px;overflow:hidden;
  border:1px solid var(--line);
}
.honor-wall img{width:100%;max-height:440px;object-fit:cover;object-position:center}
.honor-wall figcaption{
  position:absolute;left:0;bottom:0;right:0;
  padding:16px 24px;font-size:13px;letter-spacing:3px;color:#fff;
  background:linear-gradient(transparent,rgba(6,13,22,.85));
}

.honor-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line);
}
.honor-card{
  padding:44px 36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  position:relative;transition:.35s;background:#fff;
}
.honor-card:hover{background:var(--navy);transform:none}
.honor-card i{
  font-style:normal;font-family:var(--serif);font-size:14px;color:var(--gold);
  display:block;margin-bottom:18px;transition:.35s;
}
.honor-card b{
  display:block;font-family:var(--serif);font-size:30px;font-weight:400;
  letter-spacing:1px;color:var(--ink);transition:.35s;
}
.honor-card span{display:block;margin-top:6px;font-size:14px;color:var(--ink-soft);letter-spacing:1px;transition:.35s}
.honor-card:hover b{color:var(--gold-2)}
.honor-card:hover span{color:rgba(255,255,255,.7)}

/* ============ Contact ============ */
.section-contact{
  background:
    radial-gradient(800px 500px at 85% 20%,rgba(201,153,92,.08),transparent 60%),
    linear-gradient(165deg,#0e1f33,#0a1624 70%);
  color:#fff;
}
.contact-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(44px,6vw,90px);align-items:center;
}
.contact-info .sec-title{margin-bottom:22px}
.contact-list{list-style:none;margin-top:38px}
.contact-list li{
  display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:baseline;
  padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1);
}
.contact-list li:first-child{border-top:1px solid rgba(255,255,255,.1)}
.contact-list b{font-size:13.5px;letter-spacing:3px;color:var(--gold-2);font-weight:600}
.contact-list span{color:rgba(255,255,255,.78);font-size:15px}
.contact-list a:hover{color:var(--gold-2)}

.contact-form{
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(6px);padding:clamp(28px,4vw,46px);
}
.contact-form h3{
  font-size:20px;letter-spacing:3px;margin-bottom:26px;display:flex;align-items:baseline;gap:14px;
}
.contact-form h3 i{font-style:normal;font-family:var(--serif);font-size:11px;letter-spacing:3px;color:rgba(255,255,255,.35)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field input,.field textarea{
  width:100%;padding:14px 18px;font-size:15px;font-family:inherit;color:#fff;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);
  transition:.25s;letter-spacing:1px;
}
.field ::placeholder{color:rgba(255,255,255,.4)}
.field input:focus,.field textarea:focus{
  outline:none;border-color:var(--gold);background:rgba(201,153,92,.06);
}
.field textarea{resize:vertical}
.form-hint{margin-top:14px;font-size:13.5px;color:var(--gold-2);min-height:20px;text-align:center;letter-spacing:1px}

/* ============ Footer ============ */
.site-footer{background:#060d16;color:rgba(255,255,255,.6)}
.footer-inner{
  display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;
  padding:52px 0 44px;
}
.footer-brand{display:flex;align-items:center;gap:18px}
.footer-logo{
  width:54px;height:54px;object-fit:contain;flex:none;
  background:#fff;padding:6px;border-radius:4px;
}
.footer-brand strong{
  display:block;font-family:var(--serif);font-size:26px;letter-spacing:6px;color:var(--gold-2);
}
.footer-brand b{display:block;color:#fff;font-size:15px;letter-spacing:2px;margin-top:8px;font-weight:500}
.footer-brand span{display:block;font-size:11px;color:rgba(255,255,255,.3);letter-spacing:2px;margin-top:4px}
.footer-nav{display:flex;gap:30px;flex-wrap:wrap}
.footer-nav a{font-size:14px;letter-spacing:2px;transition:.25s}
.footer-nav a:hover{color:var(--gold-2)}
.footer-bar{border-top:1px solid rgba(255,255,255,.07)}
.fb-inner{
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
  padding:20px 0;font-size:12.5px;color:rgba(255,255,255,.32);letter-spacing:1.5px;
}

/* ============ To top ============ */
.to-top{
  position:fixed;right:26px;bottom:26px;z-index:90;width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:var(--navy);color:var(--gold-2);border:1px solid var(--gold-dim);
  font-size:18px;opacity:0;visibility:hidden;transform:translateY(12px);transition:.35s;
}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--gold);color:var(--navy)}

/* ============ Reveal ============ */
.reveal{opacity:0;transform:translateY(36px);transition:.9s cubic-bezier(.22,.61,.36,1)}
.reveal.in{opacity:1;transform:none}
.product-grid .reveal:nth-child(2),.honor-grid .reveal:nth-child(2){transition-delay:.08s}
.product-grid .reveal:nth-child(3),.honor-grid .reveal:nth-child(3){transition-delay:.16s}
.product-grid .reveal:nth-child(5),.honor-grid .reveal:nth-child(5){transition-delay:.08s}
.product-grid .reveal:nth-child(6),.honor-grid .reveal:nth-child(6){transition-delay:.16s}

/* ============ Responsive ============ */
@media(max-width:1080px){
  .hero-grid{grid-template-columns:1fr;min-height:0;padding:140px 0 70px;gap:60px}
  .hero-stage{height:480px}
  .hero-ghost{top:30%}
  .sec-head-row{grid-template-columns:1fr;gap:22px;align-items:start}
  .about-grid,.contact-grid{grid-template-columns:1fr}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .pcard-wide{grid-column:span 2}
  .pmodal.open{
    display:flex;
    align-items:flex-start;
    justify-content:center;
    overflow:hidden;
    padding:12px 0;
  }
  .pmodal-backdrop{position:fixed}
  .pmodal-panel{
    position:relative;left:auto;top:auto;transform:none;
    grid-template-columns:1fr;width:min(680px,94vw);
    max-height:calc(100dvh - 24px);min-height:0;margin:0 auto;
    overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
    touch-action:pan-y;animation:none;
  }
  .pmodal-close{position:sticky;top:10px;right:10px;margin-left:auto;margin-bottom:-46px}
  .pmodal-media{min-height:260px;padding:34px 22px 24px}
  .pmodal-media img{max-height:30vh}
  .pmodal-body{max-height:none;overflow:visible;padding:30px 26px 36px}
  .pm-prev{left:10px}
  .pm-next{left:auto;right:10px}
  .pmodal-nav{top:132px;transform:none}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .honor-grid{grid-template-columns:repeat(2,1fr)}
  .about-media{max-width:560px}
  .about-float{right:0}
}
@media(max-width:640px){
  .main-nav{
    position:fixed;top:83px;left:0;right:0;flex-direction:column;align-items:stretch;
    background:rgba(8,17,28,.98);padding:16px 22px 22px;gap:2px;
    transform:translateY(-130%);transition:.4s;border-bottom:1px solid rgba(201,153,92,.3);
  }
  .main-nav.open{transform:none}
  .main-nav a{padding:13px 8px;border-bottom:1px solid rgba(255,255,255,.06)}
  .main-nav a::after{display:none}
  .main-nav .nav-cta{margin:14px 0 0;text-align:center;justify-content:center;display:flex}
  .nav-toggle{display:flex}
  .nav-toggle.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .nav-toggle.open span:nth-child(2){opacity:0}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

  .hero-grid{padding-top:120px}
  .hero-stage{height:420px}
  .stage-chip{padding:9px 13px}
  .stage-chip b{font-size:13px}
  .chip-2{bottom:8%}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(odd)::before{display:none}
  .stat:last-child{grid-column:span 2}


  .pmodal-panel{width:96vw;max-height:calc(100dvh - 16px)}
  .pmodal-media{min-height:auto;padding:22px 16px 16px}
  .pmodal-media img{width:auto;max-width:82%;max-height:34vh;object-fit:contain}
  .pm-spot{width:86%}
  .pm-table-scroll{overflow:visible;margin-bottom:16px}
  .pm-table table{display:block;width:100%;min-width:0;border-collapse:separate;font-size:12.5px}
  .pm-table thead{display:none}
  .pm-table tbody{display:block}
  .pm-table tr{display:block;margin-bottom:12px;border:1px solid var(--line);background:#fff}
  .pm-table td{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:start;border:0;border-bottom:1px solid var(--line);padding:10px 12px;white-space:normal;word-break:break-word}
  .pm-table td:last-child{border-bottom:0}
  .pm-table td::before{content:attr(data-label);font-weight:700;color:var(--ink-soft);letter-spacing:1px}
  .pm-table td:first-child{font-family:inherit;color:#3c4752;white-space:normal}
  .pm-table td:first-child::before{color:var(--gold)}
  .product-grid,.gallery,.honor-grid,.about-values,.f-row{grid-template-columns:1fr}
  .g-item.g-wide{grid-column:span 1}
  .pcard-wide{grid-column:span 1}
  .pm-specs{grid-template-columns:1fr}
  .footer-brand{align-items:flex-start}
  .frame::before{inset:14px -12px -14px 14px}
  .about-float{top:auto;bottom:-20px;right:8px;padding:16px 20px}
  .about-float b{font-size:20px}
  .contact-list li{grid-template-columns:1fr;gap:4px;padding:14px 0}
  .footer-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:380px){
  .brand-text strong{font-size:16px;letter-spacing:2px}
  .brand-text em{letter-spacing:1.5px}
  .brand{gap:9px}
  .brand-mark svg{width:32px;height:32px}
  .btn{padding:13px 22px;letter-spacing:2px}
  .hero-eyebrow{letter-spacing:3px}
  .hero-eyebrow i{width:32px}
  .stat b{font-size:22px}
  .footer-brand strong{font-size:20px;letter-spacing:4px}
}
